ABAP DO循环 和preform 递归

来源:互联网 发布:话语分析知乎 编辑:程序博客网 时间:2024/06/18 13:19

1.DO循环:

IF  LV_MONAT < 12.
            DO LV_MONAT TIMES VARYING LV_VARY FROM LV_Z-HSL01 NEXT
            LV_Z-HSL02.
              LV_BALA_DATA-BE_AMOUNT LV_BALA_DATA-BE_AMOUNT + LV_VARY.
            ENDDO.

假设lv_monat = 7, 循环次,从一月开始,二月,三月、、、、 到7月,

  期初余额LV_BALA_DATA-BE_AMOUNT= 累加到7月。

2.preform里套preform.
在perform时perform自己是一种递归的行为, 我不知道你懂不懂递归

设计递归算法, 你要明确, 必须要有退出的机制4.

你要实现的功能是不是: 假设input = 3 result = 1 * 2 * 3?5.如果4是的话,代码:

DATA: input TYPE i,     

 init TYPE i,    

  result TYPE i.

input = 5

.init = 1.

PERFORM multiply USING input init result.

WRITE: result. 

 FORM multiply USING value(input) TYPE i          

          value(init) TYPE i                 

   result TYPE i. 

IF init = 1.   

 result = 1. 

 ENDIF. 

result = result * init. 

 init = init + 1. 

 IF init <= input.   

 PERFORM multiply USING input                           init                           result. 

ENDIF.

ENDFORM.


 

 

 

原创粉丝点击