04-19-2007 3:00 PM
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...
04-19-2007 3:03 PM
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.
04-19-2007 3:03 PM
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.
04-19-2007 3:03 PM
Hi,
If you shceduled any normal report in background spool will automatically generated, no need to do anything.
sudheer.A
04-19-2007 3:05 PM
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.