p.222쪽 예제입니다.
a1 a2는 알겠습니다 근데 a3 a4는 왜 이런 값이 나오는지 잘 모르겠습니다
전체 소스 입니다.
type d가 날짜로 나오는 건 알겠는데 value'3.3'이 왜 000010104 가 나오는지 모르겠습니다
또 a4에서 type spfli-carrid 에서 왜 4라는 값이 나오는 겁니까??
DATA: a1 TYPE p DECIMALS 3 VALUE '1.1',
a2 TYPE c VALUE 'a',
a3 TYPE d VALUE '3.3',
a4 TYPE spfli-carrid.
PERFORM subr USING a1 a2 a3 a4.
WRITE : / 'using :', a1,a2,a3,a4.
PERFORM subr CHANGING a1 a2 a3 a4.
WRITE : / 'chaing :', a1,a2,a3,a4.
PERFORM subr USING a1 a2 a3
CHANGING a4.
WRITE : / 'using and changing :', a1,a2,a3,a4.
*&---------------------------------------------------------------------*
*& Form subr
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->VALUE(F1) text
* -->VALUE(F2) text
* -->F3 text
* -->VALUE(F4) text
*----------------------------------------------------------------------*
FORM subr USING
value(f1) TYPE p
value(f2) TYPE c
f3 LIKE a3
CHANGING value(f4) TYPE spfli-carrid.
f1 = 1.
f2 = 2.
f3 = 3.
f4 = 4.
ENDFORM. "su
댓글 4
-
e-abap
2012.02.03 01:39
-
v.persie
2012.02.03 02:09
다시 질문입니다
f3하고 f4만 값이 변하는 것입니까??
f3 like a3구문에서 a3에서 f3을 덮어 씌우는 거죠??
근데 f1,f2는 값이 변하지 않죠.
-
e-abap
2012.02.03 20:52
form에서 chaing을 사용하면, 값을 변경하게 됩니다.
그런데 form 에서 using p_1 을 사용하고 그냥 변수값을 사용하면, 이 때도 값이 변경됩니다.
form 구문에서 using value(p_1) 이렇게 써야만 값이 변경되지 않습니다.
-
크릉크릉크
2012.07.30 22:39
감사합니다. ^^
1. a3는 type d로 날짜 타입이기때문에 날짜로 변환해서 그런 숫자가 나오는 것입니다.
2. a4가 4가 나오는 것은 subroutine 안에서 4로 값을 변경하기 때문입니다.
FORM subr USING
value(f1) TYPE p
value(f2) TYPE c
f3 LIKE a3
CHANGING value(f4) TYPE spfli-carrid.
f1 = 1.
f2 = 2.
f3 = 3.
f4 = 4.
ENDFORM. "su