直接上代碼:
REPORT ZCALL.
DATA GV_NUM1 TYPE I VALUE 10.
DATA GV_NUM2 TYPE I VALUE 10.
WRITE:/ '引用調(diào)用前:',GV_NUM1,GV_NUM2.
PERFORM ADD_NUM_R USING GV_NUM1 CHANGING GV_NUM2.
WRITE:/ '引用調(diào)用后:',GV_NUM1,GV_NUM2.
WRITE:/ '值調(diào)用前:',GV_NUM1,GV_NUM2.
PERFORM ADD_NUM_V USING GV_NUM1 CHANGING GV_NUM2.
WRITE:/ '值調(diào)用后:',GV_NUM1,GV_NUM2.
*&---------------------------------------------------------------------*
*& Form ADD_NUM_R
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ADD_NUM_R USING P_NUM1
CHANGING P_NUM2 .
P_NUM1 = P_NUM1 + 1.
P_NUM2 = P_NUM2 + 1.
ENDFORM. " ADD_NUM
*&---------------------------------------------------------------------*
*& Form ADD_NUM_V
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->p1 text
* <--p2 text
*----------------------------------------------------------------------*
FORM ADD_NUM_V USING VALUE(P_NUM1)
CHANGING VALUE(P_NUM2).
P_NUM1 = P_NUM1 + 1.
P_NUM2 = P_NUM2 + 1.
ENDFORM. " ADD_NUM_V
執(zhí)行結(jié)果:
從結(jié)果可以看出,引用傳遞時USING和CHANGING沒什么區(qū)別,而值傳遞時CHANGING后的值會改變。