‎2007 Nov 03 7:27 AM
hi all,
it is sample code,
write:/ 'sap'.
can anyone pls send me a sample code in which i can schedule this program programiticaaly ito a specified time and then the output tocome from spool.
regards
pankaj
‎2007 Nov 04 12:49 PM
Hi Pankaj,
There is no need to write any code to schedule a job and create a spool.
All the output which are displayed using WRITE statment comes to pool when the program is ran in Background mode.
Hope it helps.
Regards,
Amit
‎2007 Nov 04 2:37 PM
1) Either you run this report in Background (You can specify the time at which your report will be scheduled to run). The output will appear in the Spool
2) If you want to use some other report to Run this report in Background, you have to do the following.
a) Use the FM JOB_OPEN
b) Submit the Report passing the details of the JOB number. Submit ...via Job
c) Call the FM JOB_CLOSE.
example
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = l_jobname
IMPORTING
jobcount = l_numero
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
SUBMIT zprueba
AND RETURN
WITH p_tabla = p_tabla
VIA JOB l_jobname NUMBER l_numero.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = l_numero
jobname = l_jobname
strtimmed = 'X' "For Immediate run
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.
‎2007 Nov 05 4:47 AM
hi abhishek
i dont want immediate run but a specific time, how to do it
and how to read from spool. i want the data declaration part also.
pls help
regards
pankaj
‎2007 Nov 05 5:15 AM
Hi
if went to execute job in diffrent time & date u need first schedule job .
goto T-CODE SM 35 give the job name than goto
SM 36 give the job name it will ask for execution date and time there u can specify the date & time according to u need.
reward is usefull...
thanks.
‎2007 Nov 05 5:16 AM
Hey Pankaj,
When using JOB OPEN you can give your start data and start time .
Check the parameters:
FUNCTION job_open.
*"----
""Lokale Schnittstelle:
*" IMPORTING
*" VALUE(DELANFREP) LIKE TBTCJOB-DELANFREP DEFAULT SPACE
*" VALUE(JOBGROUP) LIKE TBTCJOB-JOBGROUP DEFAULT SPACE
*" VALUE(JOBNAME) LIKE TBTCJOB-JOBNAME
<b>*" VALUE(SDLSTRTDT) LIKE TBTCJOB-SDLSTRTDT DEFAULT NO_DATE
*" VALUE(SDLSTRTTM) LIKE TBTCJOB-SDLSTRTTM DEFAULT NO_TIME</b>
*" VALUE(JOBCLASS) LIKE TBTCJOB-JOBCLASS OPTIONAL
*" EXPORTING
*" VALUE(JOBCOUNT) LIKE TBTCJOB-JOBCOUNT
*" CHANGING
*" REFERENCE(RET) TYPE I OPTIONAL
*" EXCEPTIONS
*" CANT_CREATE_JOB
*" INVALID_JOB_DATA
*" JOBNAME_MISSING
Now your problem is solved!
Regards
Nishant
‎2007 Nov 05 5:21 AM
hi nagraj,
as far i know sm35 is used to posses the session created by bdc program. tcode sm36 for job scheduling and sm37 for job overview.
iwant job sch to be done programitically not going to thry these tcodes.
regards
pankaj
‎2007 Nov 05 5:24 AM
hi nishant,
can u give me some sample code for thes.
suppose i have a program whose o/p is 'hello sap'.
how to schedule it and read from spool.
best regards
pankaj
‎2007 Nov 05 5:44 AM
hi,
I am using Abhishek's code
This will schedule it for 9-Nov-2007 at 2:30 PM
Data : L_TAB_TBTC5 TYPE TABLE OF TBTC5.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = l_jobname
<b>SDLSTRTDT = '20071109'
SDLSTRTTM = '143000' </b>
IMPORTING
jobcount = l_numero
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
SUBMIT zprueba
AND RETURN
WITH p_tabla = p_tabla
VIA JOB l_jobname NUMBER l_numero.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = l_numero
jobname = l_jobname
strtimmed = 'X' "For Immediate run
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.
CALL FUNCTION 'BP_JOBLOG_READ'
EXPORTING
CLIENT = SY-MANDT
JOBCOUNT = l_numero
JOBNAME = l_jobname
TABLES
JOBLOGTBL = L_TAB_TBTC5
EXCEPTIONS
CANT_READ_JOBLOG = 1
JOBCOUNT_MISSING = 2
JOBLOG_DOES_NOT_EXIST = 3
JOBLOG_IS_EMPTY = 4
JOBLOG_NAME_MISSING = 5
JOBNAME_MISSING = 6
JOB_DOES_NOT_EXIST = 7
OTHERS = 8.
This will read the Job log in an internal table which you can use for display .
If you want to read spool
You can use FM: RSPO_RETURN_SPOOLJOB
EXPORTING
RQIDENT =l_numero
TABLES
BUFFER = lt_data.
Where lt_data TYPE TABLE OF SOLI.
This will store the spool list in this internal table.
Regards
Nishant
Message was edited by:
Nishant Rustagi
‎2007 Nov 05 5:53 AM
hi nishant,
thanks for ur code, but u have given a specific time and date and kept the immediate parameter checked in fm job_close side by side, morever
i think so fm 'BP_JOBLOG_READ' will read the job log(ie.whether job is created successfully or not) but not the o/p of program (hello sap)which is in spool when a program runs in background mode.
well wishes
pankaj
‎2007 Nov 05 5:57 AM
hi nishant,
i think i have to use submit to spool in submit statement,
is it so?
regards
pankaj
‎2007 Nov 05 5:57 AM
yep you are right sorry for the oversight.
The immediate parameter need not be passed.
And I had just added code for reading spool
Check that.
Regards
Nishant
‎2007 Nov 05 5:59 AM
You have to use it like this :
SUBMIT <program name>
VIA JOB l_jobname
NUMBER l_numero
TO SAP-SPOOL
WITHOUT SPOOL DYNPRO
SPOOL PARAMETERS g_v_params
AND RETURN
USER sy-uname.
Regards
Nishant
‎2007 Nov 05 6:08 AM
hi nishat,
pls tell me one thing again how to declare g_v_params in submit statement and
lt_data ( table soli) which u have given in my program . soon i m sending u the full code , pls check it.
regards
pankaj
‎2007 Nov 05 6:25 AM
Hi,
Like this you can send g_v_params:
data:g_v_params LIKE pri_params. " print parameters
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
DESTINATION = 'LOCL'
LIST_NAME = 'TEST'
LIST_TEXT = 'TEST SPOOL'
IMMEDIATELY = 'X'
LINE_COUNT = '65'
LINE_SIZE = '255'
NO_DIALOG = 'X'
USER = SY-UNAME
IMPORTING
OUT_PARAMETERS = g_v_params
VALID = l_valid.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
‎2007 Nov 05 6:36 AM
hi nishant,
i m sending the full code , it is giving dump and error The "SUBMIT ... TO SAP-SPOOL WITHOUT SPOOL DYNPRO" statement produces unexpected results without the essential("DESTINATION", "IMMEDIATELY", "KEEP IN SPOOL") print parameters.
here foolows the code, pls see it i m scheduling it todays date and time.
&----
*& Report ZSCHDL *
*& *
&----
*& *
*& *
&----
REPORT ZSCHDL no standard page heading. .
DATA: l_jobname LIKE tbtco-jobname VALUE 'JOB2',
l_numero LIKE tbtco-jobcount.
Data : L_TAB_TBTC5 TYPE TABLE OF TBTC5,
lt_data TYPE TABLE OF SOLI.
data:g_v_params LIKE pri_params.
write:/ 'hello sap'.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = l_jobname
SDLSTRTDT = '20071105'
SDLSTRTTM = '129500'
IMPORTING
jobcount = l_numero
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
if sy-subrc <> 0.
write:/ 'job open error'.
else.
write:/ 'job open success'.
endif.
SUBMIT zschdl
VIA JOB l_jobname
NUMBER l_numero
TO SAP-SPOOL
WITHOUT SPOOL DYNPRO
*SPOOL PARAMETERS g_v_params
AND RETURN
USER sy-uname.
if sy-subrc <> 0.
write:/ 'job submit error'.
else.
write:/ 'job submit success'.
endif.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = l_numero
jobname = l_jobname
*strtimmed = 'X' "For Immediate run
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.
if sy-subrc <> 0.
write:/ 'job close error'.
else.
write:/ 'job close success'.
endif.
CALL FUNCTION 'BP_JOBLOG_READ'
EXPORTING
CLIENT = SY-MANDT
JOBCOUNT = l_numero
JOBNAME = l_jobname
TABLES
JOBLOGTBL = L_TAB_TBTC5
EXCEPTIONS
CANT_READ_JOBLOG = 1
JOBCOUNT_MISSING = 2
JOBLOG_DOES_NOT_EXIST = 3
JOBLOG_IS_EMPTY = 4
JOBLOG_NAME_MISSING = 5
JOBNAME_MISSING = 6
JOB_DOES_NOT_EXIST = 7
OTHERS = 8.
if sy-subrc <> 0.
write:/ 'job read error'.
else.
write:/ 'job read success'.
endif.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
DESTINATION = 'LOCL'
LIST_NAME = 'TEST'
LIST_TEXT = 'TEST SPOOL'
IMMEDIATELY = 'X'
LINE_COUNT = '65'
LINE_SIZE = '255'
NO_DIALOG = 'X'
USER = SY-UNAME
IMPORTING
OUT_PARAMETERS = g_v_params.
*VALID = l_valid.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'
EXPORTING
rqident = l_numero
FIRST_LINE = 1
LAST_LINE =
DESIRED_TYPE =
IMPORTING
REAL_TYPE =
SP_LANG =
tables
buffer = lt_data.
BUFFER_PDF =
EXCEPTIONS
NO_SUCH_JOB = 1
JOB_CONTAINS_NO_DATA = 2
SELECTION_EMPTY = 3
NO_PERMISSION = 4
CAN_NOT_ACCESS = 5
READ_ERROR = 6
TYPE_NO_MATCH = 7
OTHERS = 8
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
regards
pankaj
‎2007 Nov 05 6:43 AM
hi nishant,
pls ignore the code given by me, i m sending u the modified one it is giving short dump.
&----
*& Report ZSCHDL *
*& *
&----
*& *
*& *
&----
REPORT ZSCHDL no standard page heading. .
DATA: l_jobname LIKE tbtco-jobname VALUE 'JOB2',
l_numero LIKE tbtco-jobcount.
Data : L_TAB_TBTC5 TYPE TABLE OF TBTC5,
lt_data TYPE TABLE OF SOLI.
data:g_v_params LIKE pri_params.
write:/ 'hello sap'.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = l_jobname
SDLSTRTDT = '20071105'
SDLSTRTTM = '121300'
IMPORTING
jobcount = l_numero
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
if sy-subrc <> 0.
write:/ 'job open error'.
else.
write:/ 'job open success'.
endif.
SUBMIT zschdl
VIA JOB l_jobname
NUMBER l_numero
TO SAP-SPOOL
WITHOUT SPOOL DYNPRO
SPOOL PARAMETERS g_v_params
AND RETURN
USER sy-uname.
if sy-subrc <> 0.
write:/ 'job submit error'.
else.
write:/ 'job submit success'.
endif.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = l_numero
jobname = l_jobname
*strtimmed = 'X' "For Immediate run
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.
if sy-subrc <> 0.
write:/ 'job close error'.
else.
write:/ 'job close success'.
endif.
CALL FUNCTION 'BP_JOBLOG_READ'
EXPORTING
CLIENT = SY-MANDT
JOBCOUNT = l_numero
JOBNAME = l_jobname
TABLES
JOBLOGTBL = L_TAB_TBTC5
EXCEPTIONS
CANT_READ_JOBLOG = 1
JOBCOUNT_MISSING = 2
JOBLOG_DOES_NOT_EXIST = 3
JOBLOG_IS_EMPTY = 4
JOBLOG_NAME_MISSING = 5
JOBNAME_MISSING = 6
JOB_DOES_NOT_EXIST = 7
OTHERS = 8.
if sy-subrc <> 0.
write:/ 'job read error'.
else.
write:/ 'job read success'.
endif.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
DESTINATION = 'LOCL'
LIST_NAME = 'TEST'
LIST_TEXT = 'TEST SPOOL'
IMMEDIATELY = 'X'
LINE_COUNT = '65'
LINE_SIZE = '255'
NO_DIALOG = 'X'
USER = SY-UNAME
IMPORTING
OUT_PARAMETERS = g_v_params.
*VALID = l_valid.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'
EXPORTING
rqident = l_numero
FIRST_LINE = 1
LAST_LINE =
DESIRED_TYPE =
IMPORTING
REAL_TYPE =
SP_LANG =
tables
buffer = lt_data.
BUFFER_PDF =
EXCEPTIONS
NO_SUCH_JOB = 1
JOB_CONTAINS_NO_DATA = 2
SELECTION_EMPTY = 3
NO_PERMISSION = 4
CAN_NOT_ACCESS = 5
READ_ERROR = 6
TYPE_NO_MATCH = 7
OTHERS = 8
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
regards
pankaj
‎2007 Nov 05 6:45 AM
Hi Pankaj,
I have corrected the program but this is not going to give you any output since the time for which you have scheduled before that there is no spool generated. And you are trying to read the spool of a program which is scheduled to be processed at a later time.
So even though the program is working you'll get the spool error.
See the corrected program:
*REPORT ZSCHDL no standard page heading. .
DATA: l_jobname LIKE tbtco-jobname VALUE 'JOB2',
l_numero LIKE tbtco-jobcount.
Data : L_TAB_TBTC5 TYPE TABLE OF TBTC5,
lt_data TYPE TABLE OF SOLI.
data:g_v_params LIKE pri_params.
write:/ 'hello sap'.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = l_jobname
SDLSTRTDT = '20071105'
SDLSTRTTM = '129500'
IMPORTING
jobcount = l_numero
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
if sy-subrc <> 0.
write:/ 'job open error'.
else.
write:/ 'job open success'.
endif.
SUBMIT znis_test
VIA JOB l_jobname
NUMBER l_numero
TO SAP-SPOOL
WITHOUT SPOOL DYNPRO
*SPOOL PARAMETERS g_v_params
AND RETURN
USER sy-uname.
if sy-subrc <> 0.
write:/ 'job submit error'.
else.
write:/ 'job submit success'.
endif.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = l_numero
jobname = l_jobname
*strtimmed = 'X' "For Immediate run
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.
if sy-subrc <> 0.
write:/ 'job close error'.
else.
write:/ 'job close success'.
endif.
CALL FUNCTION 'BP_JOBLOG_READ'
EXPORTING
CLIENT = SY-MANDT
JOBCOUNT = l_numero
JOBNAME = l_jobname
TABLES
JOBLOGTBL = L_TAB_TBTC5
EXCEPTIONS
CANT_READ_JOBLOG = 1
JOBCOUNT_MISSING = 2
JOBLOG_DOES_NOT_EXIST = 3
JOBLOG_IS_EMPTY = 4
JOBLOG_NAME_MISSING = 5
JOBNAME_MISSING = 6
JOB_DOES_NOT_EXIST = 7
OTHERS = 8.
if sy-subrc <> 0.
write:/ 'job read error'.
else.
write:/ 'job read success'.
endif.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
DESTINATION = 'LOCL'
LIST_NAME = 'TEST'
LIST_TEXT = 'TEST SPOOL'
*IMMEDIATELY = 'X'
LINE_COUNT = '65'
LINE_SIZE = '255'
NO_DIALOG = 'X'
USER = SY-UNAME
IMPORTING
OUT_PARAMETERS = g_v_params.
*VALID = l_valid.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
data : spoolnum like TSP01-RQIDENT.
Move l_numero to spoolnum .
CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'
EXPORTING
rqident = spoolnum
FIRST_LINE = 1
LAST_LINE =
DESIRED_TYPE =
IMPORTING
REAL_TYPE =
SP_LANG =
tables
buffer = lt_data.
BUFFER_PDF =
EXCEPTIONS
NO_SUCH_JOB = 1
JOB_CONTAINS_NO_DATA = 2
SELECTION_EMPTY = 3
NO_PERMISSION = 4
CAN_NOT_ACCESS = 5
READ_ERROR = 6
TYPE_NO_MATCH = 7
OTHERS = 8
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Regards
Nishant
‎2007 Nov 05 6:59 AM
hi nishant,
i m sending u the code again in which time is corrected, i know o/p will not produce immeditely when it is scheduled, but it should not produce dump,
the proggram is giving dump saying valid parameter to be passed in fm get_print_parameters.
pls have a look.
&----
*& Report ZSCHDL *
*& *
&----
*& *
*& *
&----
REPORT ZSCHDL no standard page heading. .
DATA: l_jobname LIKE tbtco-jobname VALUE 'JOB2',
l_numero LIKE tbtco-jobcount.
Data : L_TAB_TBTC5 TYPE TABLE OF TBTC5,
lt_data TYPE TABLE OF SOLI.
data:g_v_params LIKE pri_params.
write:/ 'hello sap'.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = l_jobname
SDLSTRTDT = '20071105'
SDLSTRTTM = '123000'
IMPORTING
jobcount = l_numero
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
if sy-subrc <> 0.
write:/ 'job open error'.
else.
write:/ 'job open success'.
endif.
SUBMIT zschdl
VIA JOB l_jobname
NUMBER l_numero
TO SAP-SPOOL
WITHOUT SPOOL DYNPRO
SPOOL PARAMETERS g_v_params
AND RETURN
USER sy-uname.
if sy-subrc <> 0.
write:/ 'job submit error'.
else.
write:/ 'job submit success'.
endif.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = l_numero
jobname = l_jobname
*strtimmed = 'X' "For Immediate run
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.
if sy-subrc <> 0.
write:/ 'job close error'.
else.
write:/ 'job close success'.
endif.
CALL FUNCTION 'BP_JOBLOG_READ'
EXPORTING
CLIENT = SY-MANDT
JOBCOUNT = l_numero
JOBNAME = l_jobname
TABLES
JOBLOGTBL = L_TAB_TBTC5
EXCEPTIONS
CANT_READ_JOBLOG = 1
JOBCOUNT_MISSING = 2
JOBLOG_DOES_NOT_EXIST = 3
JOBLOG_IS_EMPTY = 4
JOBLOG_NAME_MISSING = 5
JOBNAME_MISSING = 6
JOB_DOES_NOT_EXIST = 7
OTHERS = 8.
if sy-subrc <> 0.
write:/ 'job read error'.
else.
write:/ 'job read success'.
endif.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
DESTINATION = 'LOCL'
LIST_NAME = 'TEST'
LIST_TEXT = 'TEST SPOOL'
*IMMEDIATELY = 'X'
LINE_COUNT = '65'
LINE_SIZE = '255'
NO_DIALOG = 'X'
USER = SY-UNAME
IMPORTING
OUT_PARAMETERS = g_v_params.
*VALID = ' '.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
data : spoolnum like TSP01-RQIDENT.
Move l_numero to spoolnum .
CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'
EXPORTING
rqident = spoolnum
FIRST_LINE = 1
LAST_LINE =
DESIRED_TYPE =
IMPORTING
REAL_TYPE =
SP_LANG =
tables
buffer = lt_data.
BUFFER_PDF =
EXCEPTIONS
NO_SUCH_JOB = 1
JOB_CONTAINS_NO_DATA = 2
SELECTION_EMPTY = 3
NO_PERMISSION = 4
CAN_NOT_ACCESS = 5
READ_ERROR = 6
TYPE_NO_MATCH = 7
OTHERS = 8
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
regards
pankaj
‎2007 Nov 05 7:27 AM
hi nishant
i m using the same way but is givin spool no 12,555,800 does not exist
see...............
&----
*& Report ZSCHDL *
*& *
&----
*& *
*& *
&----
REPORT ZSCHDL no standard page heading. .
DATA: l_jobname LIKE tbtco-jobname VALUE 'JOB2',
l_numero LIKE tbtco-jobcount.
Data : L_TAB_TBTC5 TYPE TABLE OF TBTC5,
lt_data TYPE TABLE OF SOLI.
data:g_v_params LIKE pri_params.
write:/ 'hello sap'.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = l_jobname
SDLSTRTDT = '20071105'
SDLSTRTTM = '125700'
IMPORTING
jobcount = l_numero
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
if sy-subrc <> 0.
write:/ 'job open error'.
else.
write:/ 'job open success'.
endif.
SUBMIT zschdl
VIA JOB l_jobname
NUMBER l_numero
TO SAP-SPOOL
WITHOUT SPOOL DYNPRO
*SPOOL PARAMETERS g_v_params
AND RETURN
USER sy-uname.
if sy-subrc <> 0.
write:/ 'job submit error'.
else.
write:/ 'job submit success'.
endif.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = l_numero
jobname = l_jobname
*strtimmed = 'X' "For Immediate run
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.
if sy-subrc <> 0.
write:/ 'job close error'.
else.
write:/ 'job close success'.
endif.
CALL FUNCTION 'BP_JOBLOG_READ'
EXPORTING
CLIENT = SY-MANDT
JOBCOUNT = l_numero
JOBNAME = l_jobname
TABLES
JOBLOGTBL = L_TAB_TBTC5
EXCEPTIONS
CANT_READ_JOBLOG = 1
JOBCOUNT_MISSING = 2
JOBLOG_DOES_NOT_EXIST = 3
JOBLOG_IS_EMPTY = 4
JOBLOG_NAME_MISSING = 5
JOBNAME_MISSING = 6
JOB_DOES_NOT_EXIST = 7
OTHERS = 8.
if sy-subrc <> 0.
write:/ 'job read error'.
else.
write:/ 'job read success'.
endif.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
DESTINATION = 'LOCL'
LINE_COUNT = '65'
LINE_SIZE = '255'
LIST_NAME = 'TEST'
LIST_TEXT = 'TEST SPOOL'
*IMMEDIATELY = 'X'
NO_DIALOG = 'X'
USER = SY-UNAME
IMPORTING
OUT_PARAMETERS = g_v_params.
*VALID = ' '.
IF sy-subrc <> 0.
*MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
write:/ 'error in print'.
else.
write:/ 'print success'.
ENDIF.
data : spoolnum like TSP01-RQIDENT.
Move l_numero to spoolnum .
CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'
EXPORTING
rqident = spoolnum
FIRST_LINE = 1
LAST_LINE =
DESIRED_TYPE =
IMPORTING
REAL_TYPE =
SP_LANG =
tables
buffer = lt_data.
BUFFER_PDF =
EXCEPTIONS
NO_SUCH_JOB = 1
JOB_CONTAINS_NO_DATA = 2
SELECTION_EMPTY = 3
NO_PERMISSION = 4
CAN_NOT_ACCESS = 5
READ_ERROR = 6
TYPE_NO_MATCH = 7
OTHERS = 8
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
regaerds
pankaj
‎2007 Nov 05 6:55 AM
goto SM36, select job wizard from app server , it will take u through a series of predefined steps, there u can schedule job and give start conditions.
Also u can give printer name where u want the print out of spool if generated.
*reward fi helpful*
‎2007 Nov 05 7:02 AM
hi srrejit sir,
i wnt all the things to be done thru program and not using tcode sm36
regards
pankaj
‎2007 Nov 05 7:15 AM
Use this :
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
ARCHIVE_ID = C_CHAR_UNKNOWN
ARCHIVE_INFO = C_CHAR_UNKNOWN
ARCHIVE_MODE = C_CHAR_UNKNOWN
ARCHIVE_TEXT = C_CHAR_UNKNOWN
AR_OBJECT = C_CHAR_UNKNOWN
ARCHIVE_REPORT = C_CHAR_UNKNOWN
AUTHORITY = C_CHAR_UNKNOWN
COPIES = C_NUM3_UNKNOWN
COVER_PAGE = C_CHAR_UNKNOWN
DATA_SET = C_CHAR_UNKNOWN
DEPARTMENT = C_CHAR_UNKNOWN
DESTINATION = 'LOCL'
EXPIRATION = C_NUM1_UNKNOWN
IMMEDIATELY = C_CHAR_UNKNOWN
IN_ARCHIVE_PARAMETERS = ' '
IN_PARAMETERS = ' '
LAYOUT = C_CHAR_UNKNOWN
LINE_COUNT = '65'
LINE_SIZE = '255'
LIST_NAME = 'TEST'
LIST_TEXT = 'TEST SPOOL'
MODE = ' '
NEW_LIST_ID = C_CHAR_UNKNOWN
PROTECT_LIST = C_CHAR_UNKNOWN
NO_DIALOG = 'X'
RECEIVER = C_CHAR_UNKNOWN
RELEASE = C_CHAR_UNKNOWN
REPORT = C_CHAR_UNKNOWN
SAP_COVER_PAGE = C_CHAR_UNKNOWN
HOST_COVER_PAGE = C_CHAR_UNKNOWN
PRIORITY = C_NUM1_UNKNOWN
SAP_OBJECT = C_CHAR_UNKNOWN
TYPE = C_CHAR_UNKNOWN
USER = SY-UNAME
USE_OLD_LAYOUT = ' '
UC_DISPLAY_MODE = C_CHAR_UNKNOWN
DRAFT = C_CHAR_UNKNOWN
ABAP_LIST = ' '
USE_ARCHIVENAME_DEF = ' '
DEFAULT_SPOOL_SIZE = C_CHAR_UNKNOWN
PO_FAX_STORE = ' '
NO_FRAMES = C_CHAR_UNKNOWN
IMPORTING
OUT_ARCHIVE_PARAMETERS =
OUT_PARAMETERS = g_v_params
VALID =
EXCEPTIONS
ARCHIVE_INFO_NOT_FOUND = 1
INVALID_PRINT_PARAMS = 2
INVALID_ARCHIVE_PARAMS = 3
OTHERS = 4
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Regards
Nishant