CALL TRANSACTION으로 다른 프로그램을 호출하여 프로세스를 처리 중, 중간에 종료되어버리는 현상이 발생하였다. 이유는 모르겠지만 COMMIT WORK 이후 다음 단계를 진행하지 않고 바로 종료되었다. 원인 파악을 못하던 중 혹시나 하는 마음에 CALL TRANSACTION에서 F1키를 눌러 도움말을 호출하였는데 눈에 띄는 옵션을 발견했다.
RACOMMIT | Selection as to whether the COMMIT WORK statement terminates batch input processing or not. Values: " " (COMMIT WORK terminates processing), "X" ( COMMIT WORK does not terminate processing). |
COMMIT WORK 구문에서 프로세스를 종료시켜 버린다는 무시무시한 옵션이 숨어있었다. 보통 CALL TRANSACTION 구문 사용 시 옵션을 사용해봤자 대부분 DISMODE나 UPMODE만 주로 사용했었는데 이런 옵션이 있었다는걸 새롭게 배우는 시간이었고 역시 언제나 문제 해결은 기본에서 시작되어야 한다고 다시 한번 깨달았다.
아래는 SAP에서 기본으로 제공해주는 CALL TRANSACTIN의 bdc_options에 관한 항목. 마주한 김에 정독해보자.
CALL TRANSACTION - bdc_options
Syntax
... { {[MODE mode] [UPDATE upd]}
| [OPTIONS FROM opt] }
[MESSAGES INTO itab] ... .
... OPTIONS FROM opt
Effect
The OPTIONS addition covers the functions of the MODE and UPDATE additions. It provides further options for controlling batch input processing. The control parameters are specified in an opt structure of the type CTU_PARAMS from the ABAP Dictionary. The CTU_PARAMS structure has the components displayed in the following table:
Component | Meaning |
DISMODE | Processing mode for batch input processing. Values as for the MODE addition. |
UPMODE | Processing mode for batch input processing. Values as for the UPDATE addition. |
CATTMODE | CATT mode for batch input processing. CATT means Computer Aided Testtool. While batch input is mostly used for data transfer, CATT processes are to be viewed as more complex transactions, since they are reusable tests. Values: " " (no CATT mode), "N" (CATT without single screen control), "A" (CATT with single screen control). |
DEFSIZE | Selection as to whether the screens of the called transaction are displayed in the standard screen size. Values "X" (standard size), " " (current size). |
RACOMMIT | Selection as to whether the COMMIT WORK statement terminates batch input processing or not. Values: " " (COMMIT WORK terminates processing), "X" ( COMMIT WORK does not terminate processing). |
NOBINPT | Selection for the symbol field sy-binpt. Values: " " (sy-binpt contains in the called transaction "X"), "X" (sy-binpt contains in the called transaction " "). |
NOBIEND | Selection for the system field sy-binpt. Values: " " (sy-binpt contains "X" after the end of the batch input data in the called transsaction ) "X" (sy-binpt contains " " after the end of the batch input data in the called transaction). |