728x90
반응형
프로그램 호출시 새창으로 호출하기.
호출할 프로그램의 초기화면이 단일값(PARAMETER)면 CALL TRANSACTION,
다중값(SELECT-OPTIONS)이면 SUBMIT을 사용하여 호출한다.
기존 SUBMIT으로 호출했던 프로그램을,
New session으로 불러와달라는 요청이 있다.
기존:
RANGES: LR_POSID FOR PRPS-POSID.
CLEAR: LR_POSID, LR_POSID[].
LR_POSID = 'IEQ'.
LR_POSID-LOW = 전달할 값.
APPEND LR_POSID. CLEAR LR_POSID.
SUBMIT 프로그램명
WITH P_POSID IN LR_POSID AND RETURN.
ABAP4_CALL_TRANSACTION 사용
먼저 호출할 프로그램 화면 파라미터에 메모리아이디를 부여한다.
SELECT-OPTIONS: p_posid FOR prps-posid MEMORY ID 메모리아이디.
그리고 기존 프로그램에 아래로직을 추가하는데,
이때 PARID 에는 호출할 프로그램의 파라미터 이름을 넣는것이 아닌, 파라미터에 부여한 MEMORY ID 이름을 넣어주는거다.
DATA : LT_SPA TYPE TABLE OF RFC_SPAGPA.
LT_SPA = VALUE #( ( PARID = 메모리아이디 PARVAL = 전달할 값 ) ).
CALL FUNCTION 'ABAP4_CALL_TRANSACTION'
STARTING NEW TASK '티코드' "OR 'NEW'
DESTINATION 'NONE'
EXPORTING
TCODE = 티코드
SKIP_SCREEN = GC_X
TABLES
SPAGPA_TAB = LT_SPA
EXCEPTIONS
COMMUNICATION_FAILURE = 1
SYSTEM_FAILURE = 2
OTHERS = 3.
IF SY-SUBRC NE 0.
MESSAGE ID SY-MSGID TYPE GC_S NUMBER SY-MSGNO
DISPLAY LIKE GC_E
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
728x90
반응형
'ABAP' 카테고리의 다른 글
실행가능 프로그램에서 실행버튼 없애기 (0) | 2023.03.01 |
---|---|
ON CHAIN-REQUEST (0) | 2023.03.01 |
ALV cell edit/color (0) | 2023.03.01 |
BDC Program Logic (0) | 2023.03.01 |
MESSAGE (0) | 2023.03.01 |
댓글