DEFINE __CALC_DATE_INTERVAL.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
DATE = &1
DAYS = &2
MONTHS = '00'
SIGNUM = '+' "'+' add, '-' subtract
YEARS = '00'
IMPORTING
CALC_DATE = &3.
END-OF-DEFINITION.
프로그램을 보다보니 이런게 있는데
&1 &2 이런 것들이 정확이 무엇을 의미하는 건가요?
그리고
__CALC_DATE_INTERVAL 는 그냥 언더바로 임의로 시작한 변수인가요 아니면
언더바로 시작하면 뭔가 다른게 있는 건가요?
LOOP AT LT_LABST.
IF LT_LABST-MEINS = 'EA'.
__CALC_CONV_MATER_UNIT LT_LABST-MATNR LT_LABST-MEINS CH_UNIT
LT_LABST-LABST LT_LABST-LABST.
LT_LABST-MEINS = 'CS'.
MODIFY LT_LABST.
ENDIF.
ENDLOOP.
그리고 붉은 색으로 칠한 부분은 특별한 명령어 없이 나열되어 있어서 무슨 역할은 하는전지 잘 모르겠습니다.
주변에 물어보면 무시당할 꺼 같아서 여기에 여쭤봐요.
아시면 좀 말씀해주세요!!
댓글 6
-
피노키오
2009.10.15 00:05
-
요요
2009.10.15 00:41
반복되는 코딩을 간소하기 위하여 사용하는 것으로 Web In Abap 님이 말씀하신 macro 입니다.
&1 는 연결문자열 위치를 나타내고 1 ~ 9 까지 사용가능하며 숫자는 매크로에 정의된 문자열 순서와
일치합니다. '__' 언더바는 별의미 없습니다. 그냥 매크로구나 라는 것을 표기하기 위한 프로그래머의
의지 표현으로만 인식하시면 될 것 같네요.
-
쿵푸ㅋ
2009.10.15 01:51
매크로군요!!
-
숟가락맨
2009.10.15 02:59
f1 검색해서 보면 영어라 보기 힘들지만...예제 같은거 나올텐데...먼저 f1 검색을 활용해 보심이..^^ -
SAMBATIME
2009.10.15 19:01
아 그렇군요 모두들 정말 감사드립니다.
-
마이크타이슨
2009.10.20 22:49
performance 측면에서는
subroutine > function module 인데요, macro 는 어떤가요?
메크로 입니다.
FORM 처럼 정의 해서 사용 하구요 &1, &2 요건 첫번째 Parameter, 두번째 Parameter를 의미합니다.
__CALC_DATE_ITERVAL 은 메크로 이고 뒤에 들어가는거는 날짜 같은데요.
안에서 하는 일은 단순히 Function을 호출 하네요...&3에는 결과 값을 받고요.
메크로는 속도가 빠르지만 제약이 있습니다. ^ ^