mercoledì 18 novembre 2009

Sottomettere RSNAST00 e ottenere N° spool

DATA: v_jobgroup LIKE  tbtcjob-jobgroup.
DATA: v_jobname LIKE tbtcjob-jobname.
DATA: v_jobcount LIKE tbtcjob-jobcount.
DATA: v_status TYPE tbtco-status.
DATA: v_spool TYPE tbtcp-listident.
RANGES: r_kappl FOR nast-kappl,
r_objky FOR nast-objky,
r_kschl FOR nast-kschl,
r_nacha FOR nast-nacha.


MOVE: '1209770006' TO r_objky-low,
'EQ' TO r_objky-option,
'I' TO r_objky-sign.
APPEND r_objky.

MOVE: 'ZADC' TO r_kschl-low,
'EQ' TO r_kschl-option,
'I' TO r_kschl-sign.

APPEND r_kschl.

MOVE: '1' TO r_nacha-low,
'EQ' TO r_nacha-option,
'I' TO r_nacha-sign.

APPEND r_nacha.



MOVE: 'V3' TO r_kappl-low,
'EQ' TO r_kappl-option,
'I' TO r_kappl-sign.

APPEND r_kappl.




v_jobgroup = 'Test'.
v_jobname = sy-repid.

CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobgroup = v_jobgroup
jobname = v_jobname
IMPORTING
jobcount = v_jobcount
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.



SUBMIT rsnast00
VIA JOB v_jobname
NUMBER v_jobcount
WITH s_kappl IN r_kappl
WITH s_objky IN r_objky
WITH s_kschl IN r_kschl
WITH s_nacha IN r_nacha " '1'
WITH p_again = vstato
AND RETURN.



*Close job to start immediately
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = v_jobcount
jobname = v_jobname
strtimmed = 'X'
EXCEPTIONS
cant_start_immediate = 1
invalid_startdate = 2
jobname_missing = 3
job_close_failed = 4
job_nosteps = 5
job_notex = 6
lock_failed = 7
OTHERS = 8.

* Check the status.
DO.
SELECT SINGLE status FROM tbtco
INTO v_status
WHERE jobname = v_jobname
AND jobcount = v_jobcount.

IF sy-subrc = 0 AND v_status = 'F'.
EXIT.
ENDIF.

ENDDO.

* Get the spool
SELECT SINGLE listident FROM tbtcp
INTO v_spool
WHERE jobname = v_jobname
AND jobcount = v_jobcount.

WRITE: / v_spool.

Nessun commento:

Posta un commento