Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

spool

former_member841898
Participant
0 Likes
2,426

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

22 REPLIES 22
Read only

Former Member
0 Likes
2,361

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

Read only

former_member195698
Active Contributor
0 Likes
2,361

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.

Read only

0 Likes
2,361

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

Read only

0 Likes
2,361

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.

Read only

0 Likes
2,361

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

Read only

0 Likes
2,361

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

Read only

0 Likes
2,361

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

Read only

0 Likes
2,361

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

Read only

0 Likes
2,361

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

Read only

0 Likes
2,361

hi nishant,

i think i have to use submit to spool in submit statement,

is it so?

regards

pankaj

Read only

0 Likes
2,361

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

Read only

Former Member
0 Likes
2,361

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

Read only

0 Likes
2,361

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

Read only

0 Likes
2,361

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.

Read only

0 Likes
2,361

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

Read only

0 Likes
2,361

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

Read only

Former Member
0 Likes
2,361

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

Read only

0 Likes
2,361

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

Read only

0 Likes
2,361

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

Read only

Former Member
0 Likes
2,361

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*

Read only

0 Likes
2,361

hi srrejit sir,

i wnt all the things to be done thru program and not using tcode sm36

regards

pankaj

Read only

Former Member
0 Likes
2,361

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