登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

原来为了你

我的人生就是要一次次的超越

 
 
 

日志

 
 
 
 

子程序  

2011-05-01 17:21:13|  分类: ABAP基础知识 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

*---传值与传引用
1.Call By Value:
datasum   type i value 1,
      num1  
type i value 5.

*---阶乘
perform  factorial using  num1 changing  sum.

write/ num1sum.

form  factorial  using  value(p_num1)  changing  p_sum.
  
while  p_num1 > 1.
    p_sum  
=  p_sum * p_num1.
    p_num1 
p_num1 1.
  
endwhile.
endform.                    "factorial


2.Call By Reference:
datasum   type i value 1,
      num1  
type i value 5.

*---阶乘
perform  factorial using  num1 changing  sum.

write/ num1sum.

form  factorial  using  p_num1  changing  p_sum.
  
while  p_num1 > 1.
    p_sum  
=  p_sum * p_num1.
    p_num1 
p_num1 1.
  
endwhile.
endform.                    "factorial
    
3.Call By Value and Return Result "传入参数值的方式同Call By Value, 但在子程序结束执行时会将传入的参数值复制一份传回给实参
datasum   type i VALUE 0,
      num1  
type i VALUE 100,
      num2  
type i VALUE 200.

*---加法
perform  add  using  num1  num2  changing  sum.

write/ num1num2sum.

form  add  using  p_num1  p_num2  changing  value(p_sum).此处用Value() 与不用不一样滴。。
  p_sum  
=  num1  +  num2.
  
write/ num1num2p_sum.
endform.                    "ADD

*---子程序参数问题
子程序的using参数,如果参数是结构类型的,必须声明结构类型。如:
form frm_call_trigger using p_wmara type mara
                            p_stext 
type short_desc.

endform.

form frm_process_data tables t_001 structure struc01.
endform.                    "frm_process_data

若参数中有tables ,也有using,tables 放在前面。


子程序带range参数

databegin of gt_01 occurs 0,
    sno
(2),
    sname
(20),
  
end of gt_01.

rangesr_sno for gt_01-sno.
r_sno
-sign    'I'.
r_sno
-option  'EQ'.
r_sno
-low     '01'.
append r_sno.

r_sno
-sign    'I'.
r_sno
-option  'EQ'.
r_sno
-low     '02'.
append r_sno.

perform frm_01 tables r_sno[].

*&---------------------------------------------------------------------*
*&      Form  frm_01
*&---------------------------------------------------------------------*
form frm_01 tables p_sno .
  
data len type i.
  
describe table p_sno[] lines len.
endform.                                                    "frm_01

  评论这张
 
阅读(311)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018