ERP/SAP/R/3

ABAP Pameter : Using & Changing

파란실버라이트 2011. 4. 20. 15:23

  DATA: a1    TYPE DECIMALS VALUE '1.1',
      a2    TYPE VALUE 'A',
      a3    TYPE VALUE '3.3',
      a4    TYPE spfli-carrid.


PERFORM subr USING a1 a2 a3 a4.
WRITE : / 'USING   구문 이용 : ', a1, a2, a3, a4.

*호출하는 구문에서 USING과 CHANING은 아무런 기능적이 차이가 없다.
PERFORM subr CHANGING a1 a2 a3 a4.
WRITE : / 'CHANGING 구문이용 : ', a1, a2, a3, a4.

PERFORM subr USING a1 a2 a3 CHANGING a4.
WRITE : / 'USING 과 CHANGING : ', a1, a2, a3, a4.


FORM subr USING
      value(f1) TYPE " Using value() 구문을 사용한 파라미터는 call by value
      value(f2) TYPE " Using value() 구문을 사용한 파라미터는 call by value
      f3        LIKE a3 " call by reference
      CHANGING  value(f4) TYPE spfli-carrid. " subroutine이 성공적으로 종료했을 때 call by reference

  f1 = 1.
  f2 = 2.
  f3 = 3.
  f4 = 4.

ENDFORM.         


결과 화면 :  PERFORM문의 모두 같은 결과를 반환 한다. Call by Refernce 일 때만 값이 변경


 출처 : EASY ABAP 책