지금 ALV를 이용하여 프로그램을 작성하고 있습니다.
구분| REQ_NO | SEQ | XXX | XXX |XXX
P | AAAA1234 | 1 | ---
------------------------------------------ |
P | AAAA1235 | 2 | |
----------------------------------------- |
I | AAAA1234 | 1 | | ----> 비활성화
------------------------------------------ |
I | AAAA1235 | 2 | - -|
--------------------------------------------
신규생성 라인 1 --->신규라인은 활성화(SEQ는 신규생성시 무조건 1)
------------------------------------------
신규생성라인에서 필드에 유저가 값으넣고 REQ_NO에는 숫자값만넣고 저장을 눌렀을경우 REQ_NO에는 저장되면서 AAAA가 저절로 붙어야 합니다.
제가 생각한거는
IF ITAB_01-REQ_NO = '맨앞이 숫자인경우' 혹은 'SEQ가 1이고 나머지는 활성화인경우' 퍼폼을 타라 이렇게 할려구하는데
PERFORM.
ENDIF.
IF문 로직을 어떻게 구현할지 잘 모르겠습니다.. 알려주세요..
댓글 5
-
초보아밥퍼
2008.03.28 01:48
-
초보아밥퍼
2008.03.28 02:04
덧붙여 한마디.
여기서 CO는 비교구문이고 F1을 눌러보시면 다 나올겁니당.
위 같은경우 변수의 TYPE이 중요합니다. CHAR로 되있는거 같아서 그냥 한거예요 ^^
-
ABAP짱!
2008.03.28 02:11
초보아밥퍼님 죄송한데 위에 구문에서 CO는 뭘 의미하는건가요?? -
초보아밥퍼
2008.03.28 02:21
co 라는건 비교구문으로 '1234567890' 이 포함되어있으면 참이라는 뜻이죠~
간단히 말하자면 숫자이면.... 을 뜻합니다. 숫자는 0~ 9까지죠 ^^
cn을 하시게되면 반대의미가 됩니다. 포함되어 있지 않으면... 문자죠~
-
ABAP짱!
2008.03.28 03:10
초보아밥퍼님 해결했습니다 언제나 친절히 알려주셔서 감사합니다.
흠 이거같은경우는...
IF ITAB_01-REQ_NO+0(1) CO '1234567890' OR
ITAB_01-REQ = '1'.
ELSE.
PERFORM.
ENDIF.
하면 될거 같은데요. 냠냠