USER-EIXT 을 사용하다 보면 트랜잭션 후속 작업이 필요할 경우가 있다.
예를 들자면 생성된 전표번호를 사용하여 후속 작업을 할 경우이다.
이미 생성될 전표번호를 갖고 있는 트랜잭션도 있지만,
그렇지 않은 트랜잭션의 경우에는 다음과 같이 레포트를 예약 걸어서 사용하면,
약간의 시간 텀은 있지만 후속 작업을 수행 할 수 있다.
아래 예는 검사로트생성 후 로트번호를 Z33QMR013 이라는 프로그램에서 후속 작업 하도록 한다.
물론 아래 FUNCTION 은 로트가 생성되는 시점의 BADI나 EXIT 에서 호출 되게 된다.
FUNCTION Z33QMF_CREATE_JOB_INSP_LOT01 .
*"----------------------------------------------------------------------
*"*"Local interface:
*"----------------------------------------------------------------------
*Z33QMR013
TABLES: TBTCJOB, RALDB, TRDIR.
DATA: REPID LIKE SY-REPID.
DATA: RELEASED LIKE BTCH0000-CHAR1.
raldb-report = 'Z33QMR013'.
tbtcjob-authcknam = sy-uname.
tbtcjob-jobname = raldb-report.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = tbtcjob-jobname
IMPORTING
jobcount = tbtcjob-jobcount
EXCEPTIONS
OTHERS = 01.
IF sy-subrc = 0.
** IF print_para_specified = space.
repid = raldb-report.
CALL FUNCTION 'JOB_SUBMIT'
EXPORTING
authcknam = tbtcjob-authcknam
jobcount = tbtcjob-jobcount
jobname = tbtcjob-jobname
report = repid
variant = raldb-variant
EXCEPTIONS
OTHERS = 01.
** ELSE.
** repid = raldb-report.
** CALL FUNCTION 'JOB_SUBMIT'
** EXPORTING,
** priparams = print_para
** arcparams = archive_para
** authcknam = tbtcjob-authcknam
** jobcount = tbtcjob-jobcount
** jobname = tbtcjob-jobname
** report = repid
** variant = raldb-variant
** EXCEPTIONS
** OTHERS = 01.
** ENDIF.
IF sy-subrc = 0.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobname = tbtcjob-jobname
jobcount = tbtcjob-jobcount
strtimmed = 'X'
IMPORTING
JOB_WAS_RELEASED = RELEASED
EXCEPTIONS
OTHERS = 01.
ENDIF.
ENDIF.
ENDFUNCTION.
'ABAP 물타기 > Report' 카테고리의 다른 글
longtext display clear (0) | 2011.10.25 |
---|---|
동적 테이블 필드 활용 function (0) | 2011.10.17 |
음수 부호 앞으로 이동(move minus mark) (0) | 2011.09.19 |
진행상태 Function (SAPGUI_PROGRESS_INDICATOR) (0) | 2011.09.16 |
NEWLINE (CL_ABAP_CHAR_UTILITIES=>NEWLINE) (0) | 2011.09.05 |