Application Development 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: 

how to set spool title

Former Member
0 Kudos

Hello Experts,

i am scheduling a report in background for execution. in background print parameters i am giving the title. but when background job executes that name didn't appear.

How can i set the title for spool????

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Try this sample code.. This writes your report output to spool and it doesnt print.

CONSTANTS: CX_MARK(1) TYPE C VALUE 'X',

C_ROWS TYPE I VALUE 65,

C_COLS TYPE I VALUE 132,

C_LAY(16) TYPE C VALUE 'X_65_132'.

DATA: VAL(1) TYPE C.

DATA: PRIPAR LIKE PRI_PARAMS.

START-OF-SELECTION.

PERFORM GET_PRINT_PARAM.

NEW-PAGE PRINT ON NEW-SECTION

PARAMETERS PRIPAR NO DIALOG.

PERFORM PRINT_SPOOL.

NEW-PAGE PRINT OFF.

FORM PRINT_SPOOL.

WRITE : / 'this is test spool -- test 7:30'. "<--Write your report output here

ENDFORM.

FORM GET_PRINT_PARAM.

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

  • AUTHORITY = C_CHAR_UNKNOWN

  • COPIES = C_NUM3_UNKNOWN

  • COVER_PAGE = C_CHAR_UNKNOWN

  • DATA_SET = C_CHAR_UNKNOWN

  • DEPARTMENT = C_CHAR_UNKNOWN

  • DESTINATION = C_CHAR_UNKNOWN

  • EXPIRATION = C_NUM1_UNKNOWN

  • IMMEDIATELY = C_CHAR_UNKNOWN

  • IN_ARCHIVE_PARAMETERS = ' '

  • IN_PARAMETERS = ' '

  • LAYOUT = C_CHAR_UNKNOWN

  • LINE_COUNT = C_INT_UNKNOWN

  • LINE_SIZE = C_INT_UNKNOWN

  • LIST_NAME = C_CHAR_UNKNOWN

  • LIST_TEXT = C_CHAR_UNKNOWN

  • MODE = ' '

  • NEW_LIST_ID = C_CHAR_UNKNOWN

NO_DIALOG = CX_MARK

  • RECEIVER = C_CHAR_UNKNOWN

  • RELEASE = C_CHAR_UNKNOWN

  • REPORT = C_CHAR_UNKNOWN

  • SAP_COVER_PAGE = C_CHAR_UNKNOWN

  • SAP_OBJECT = C_CHAR_UNKNOWN

  • TYPE = C_CHAR_UNKNOWN

  • IMPORTING

  • OUT_ARCHIVE_PARAMETERS =

OUT_PARAMETERS = PRIPAR

VALID = VAL

EXCEPTIONS

ARCHIVE_INFO_NOT_FOUND = 1

INVALID_PRINT_PARAMS = 2

INVALID_ARCHIVE_PARAMS = 3

OTHERS = 4.

  • Output device

IF PRIPAR-PDEST IS INITIAL.

PRIPAR-PDEST = 'LOCL'.

ENDIF.

  • Number of copies

PRIPAR-PRCOP = '001'.

*Name of spool request

CONCATENATE SY-CPROG '_' SY-UNAME+0(3) INTO PRIPAR-PLIST.

  • Text for cover sheet

CONCATENATE SY-TITLE SPOOLLOG INTO PRIPAR-PRTXT SEPARATED BY SPACE.

  • Print immediately

PRIPAR-PRIMM = SPACE.

  • Delete after printing

PRIPAR-PRREL = SPACE.

  • new spool request

PRIPAR-PRNEW = CX_MARK.

  • Spool retention period

IF PRIPAR-PEXPI IS INITIAL.

PRIPAR-PEXPI = '8'.

ENDIF.

  • Number of list lines

PRIPAR-LINCT = C_ROWS.

  • Line size of list

PRIPAR-LINSZ = C_COLS.

  • Format

PRIPAR-PAART = C_LAY.

  • Selection cover sheet

PRIPAR-PRBIG = SPACE.

  • SAP cover sheet

PRIPAR-PRSAP = 'D'.

  • Recipient

PRIPAR-PRREC = SY-UNAME.

  • Department on cover sheet

PRIPAR-PRABT = SPACE.

  • Authorization

PRIPAR-PRBER = SPACE.

  • Name of spool dataset

IF PRIPAR-PRDSN IS INITIAL.

PRIPAR-PRDSN = 'LIST1S'.

ENDIF.

  • Type of spool request

IF PRIPAR-PTYPE IS INITIAL.

PRIPAR-PTYPE = 'TEXT'.

  • pripar-ptype = 'OTF'.

ENDIF.

  • Archiving mode

PRIPAR-ARMOD = '1'. "Print only

  • Output footer

PRIPAR-FOOTL = SPACE.

  • Check sum for print and archiving parameters

PERFORM COMPUTE_CHECKSUM USING PRIPAR CHANGING PRIPAR-PRCHK.

ENDFORM. " GET_PRINT_PARAM

----


*& Form COMPUTE_CHECKSUM

----


FORM COMPUTE_CHECKSUM USING P_BUFFER TYPE ANY

CHANGING P_CHECKSUM TYPE I.

FIELD-SYMBOLS <L_FS>.

DATA L_LENGTH TYPE I.

P_CHECKSUM = 0.

DESCRIBE FIELD P_BUFFER LENGTH L_LENGTH.

SUBTRACT 4 FROM L_LENGTH.

ASSIGN P_BUFFER(1) TO <L_FS> TYPE 'X'.

DO L_LENGTH TIMES.

ADD <L_FS> TO P_CHECKSUM.

ASSIGN <L_FS>+1 TO <L_FS>.

ENDDO.

ENDFORM. " COMPUTE_CHECKSUM

Please give me reward points if it is useful...

4 REPLIES 4

Former Member
0 Kudos

Hi,

Do you populate the cover text when defining the print parameters??

Thanks

Naren

Former Member
0 Kudos

Try this sample code.. This writes your report output to spool and it doesnt print.

CONSTANTS: CX_MARK(1) TYPE C VALUE 'X',

C_ROWS TYPE I VALUE 65,

C_COLS TYPE I VALUE 132,

C_LAY(16) TYPE C VALUE 'X_65_132'.

DATA: VAL(1) TYPE C.

DATA: PRIPAR LIKE PRI_PARAMS.

START-OF-SELECTION.

PERFORM GET_PRINT_PARAM.

NEW-PAGE PRINT ON NEW-SECTION

PARAMETERS PRIPAR NO DIALOG.

PERFORM PRINT_SPOOL.

NEW-PAGE PRINT OFF.

FORM PRINT_SPOOL.

WRITE : / 'this is test spool -- test 7:30'. "<--Write your report output here

ENDFORM.

FORM GET_PRINT_PARAM.

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

  • AUTHORITY = C_CHAR_UNKNOWN

  • COPIES = C_NUM3_UNKNOWN

  • COVER_PAGE = C_CHAR_UNKNOWN

  • DATA_SET = C_CHAR_UNKNOWN

  • DEPARTMENT = C_CHAR_UNKNOWN

  • DESTINATION = C_CHAR_UNKNOWN

  • EXPIRATION = C_NUM1_UNKNOWN

  • IMMEDIATELY = C_CHAR_UNKNOWN

  • IN_ARCHIVE_PARAMETERS = ' '

  • IN_PARAMETERS = ' '

  • LAYOUT = C_CHAR_UNKNOWN

  • LINE_COUNT = C_INT_UNKNOWN

  • LINE_SIZE = C_INT_UNKNOWN

  • LIST_NAME = C_CHAR_UNKNOWN

  • LIST_TEXT = C_CHAR_UNKNOWN

  • MODE = ' '

  • NEW_LIST_ID = C_CHAR_UNKNOWN

NO_DIALOG = CX_MARK

  • RECEIVER = C_CHAR_UNKNOWN

  • RELEASE = C_CHAR_UNKNOWN

  • REPORT = C_CHAR_UNKNOWN

  • SAP_COVER_PAGE = C_CHAR_UNKNOWN

  • SAP_OBJECT = C_CHAR_UNKNOWN

  • TYPE = C_CHAR_UNKNOWN

  • IMPORTING

  • OUT_ARCHIVE_PARAMETERS =

OUT_PARAMETERS = PRIPAR

VALID = VAL

EXCEPTIONS

ARCHIVE_INFO_NOT_FOUND = 1

INVALID_PRINT_PARAMS = 2

INVALID_ARCHIVE_PARAMS = 3

OTHERS = 4.

  • Output device

IF PRIPAR-PDEST IS INITIAL.

PRIPAR-PDEST = 'LOCL'.

ENDIF.

  • Number of copies

PRIPAR-PRCOP = '001'.

*Name of spool request

CONCATENATE SY-CPROG '_' SY-UNAME+0(3) INTO PRIPAR-PLIST.

  • Text for cover sheet

CONCATENATE SY-TITLE SPOOLLOG INTO PRIPAR-PRTXT SEPARATED BY SPACE.

  • Print immediately

PRIPAR-PRIMM = SPACE.

  • Delete after printing

PRIPAR-PRREL = SPACE.

  • new spool request

PRIPAR-PRNEW = CX_MARK.

  • Spool retention period

IF PRIPAR-PEXPI IS INITIAL.

PRIPAR-PEXPI = '8'.

ENDIF.

  • Number of list lines

PRIPAR-LINCT = C_ROWS.

  • Line size of list

PRIPAR-LINSZ = C_COLS.

  • Format

PRIPAR-PAART = C_LAY.

  • Selection cover sheet

PRIPAR-PRBIG = SPACE.

  • SAP cover sheet

PRIPAR-PRSAP = 'D'.

  • Recipient

PRIPAR-PRREC = SY-UNAME.

  • Department on cover sheet

PRIPAR-PRABT = SPACE.

  • Authorization

PRIPAR-PRBER = SPACE.

  • Name of spool dataset

IF PRIPAR-PRDSN IS INITIAL.

PRIPAR-PRDSN = 'LIST1S'.

ENDIF.

  • Type of spool request

IF PRIPAR-PTYPE IS INITIAL.

PRIPAR-PTYPE = 'TEXT'.

  • pripar-ptype = 'OTF'.

ENDIF.

  • Archiving mode

PRIPAR-ARMOD = '1'. "Print only

  • Output footer

PRIPAR-FOOTL = SPACE.

  • Check sum for print and archiving parameters

PERFORM COMPUTE_CHECKSUM USING PRIPAR CHANGING PRIPAR-PRCHK.

ENDFORM. " GET_PRINT_PARAM

----


*& Form COMPUTE_CHECKSUM

----


FORM COMPUTE_CHECKSUM USING P_BUFFER TYPE ANY

CHANGING P_CHECKSUM TYPE I.

FIELD-SYMBOLS <L_FS>.

DATA L_LENGTH TYPE I.

P_CHECKSUM = 0.

DESCRIBE FIELD P_BUFFER LENGTH L_LENGTH.

SUBTRACT 4 FROM L_LENGTH.

ASSIGN P_BUFFER(1) TO <L_FS> TYPE 'X'.

DO L_LENGTH TIMES.

ADD <L_FS> TO P_CHECKSUM.

ASSIGN <L_FS>+1 TO <L_FS>.

ENDDO.

ENDFORM. " COMPUTE_CHECKSUM

Please give me reward points if it is useful...

Former Member
0 Kudos

yes, cover text are populating.

thanks

Saurabh

Former Member
0 Kudos

Hi,

You can try like this :

CALL FUNCTION 'GET_PRINT_PARAMETERS'

EXPORTING

DESTINATION = 'LOCL'

<b>LIST_NAME = 'TEST'

LIST_TEXT = 'TEST SPOOL'</b>

IMMEDIATELY = 'X'

LINE_COUNT = '65'

LINE_SIZE = '255'

  • NO_DIALOG = 'X'

USER = SY-UNAME

IMPORTING

<b>OUT_PARAMETERS = g_v_params</b>

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