ABAP DO循环 和preform 递归

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.


 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值