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: 

Report output to spool

Former Member
0 Kudos

Hi, I want to pass an internal to the spool as an report output, but I dont want to pop-up any information box as it is going to be scheduled as a background job. Is there any function module for that. Please advice. Thanks...

1 ACCEPTED SOLUTION

Former Member
0 Kudos

u can do this way...

loop at itab.

write:/ itab-field1, itab-field2.

endloop.

when u run program in background, when it encounters write statement, it is automatically written to the spool.

3 REPLIES 3

Former Member
0 Kudos

u can do this way...

loop at itab.

write:/ itab-field1, itab-field2.

endloop.

when u run program in background, when it encounters write statement, it is automatically written to the spool.

Former Member
0 Kudos

Hi,

If you shceduled any normal report in background spool will automatically generated, no need to do anything.

sudheer.A

Former Member
0 Kudos

HI,

Use this sample code

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. "<--By this addition, it doesnt show popup.
PERFORM PRINT_SPOOL.
NEW-PAGE PRINT OFF.

FORM PRINT_SPOOL.
  WRITE : / 'this is test spool -- test 7:30'.
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

Regards

Sailaja.