‎2007 Apr 09 10:37 AM
Dear All,
I am using the following statement to send report to spool:
SUBMIT riafvc20 TO SAP-SPOOL
SPOOL PARAMETERS K_PARAMS
WITHOUT SPOOL DYNPRO AND RETURN WITH SELECTION-TABLE seltab.
When I read the contents from the spool, I get the records only pertaining to first record in seltab. Any insights on why this is happening.
Note: seltab is an internal table without a header line.
Thanks in Advance,
Rajesh
‎2007 Apr 09 10:51 AM
‎2007 Apr 09 10:49 AM
Hi rajesh,
Try writing...
SUBMIT riafvc20 TO SAP-SPOOL
SPOOL PARAMETERS K_PARAMS
WITHOUT SPOOL DYNPRO WITH SELECTION-TABLE seltab AND RETURN .
<b>Reward Points if this helps,</b>
Regards,
Tejas
‎2007 Apr 09 10:51 AM
‎2007 Apr 09 11:10 AM
seltab was populated using the following statement.
LOOP AT i_order.
MOVE: 'AUFNR' TO seltab_wa-selname,
'S' TO seltab_wa-kind, " SELECT-OPTION
'I' TO seltab_wa-sign,
'EQ' TO seltab_wa-option,
i_order-aufnr TO seltab_wa-low,
' ' TO seltab_wa-high.
APPEND seltab_wa TO seltab.
ENDLOOP.
Below is the code of the program. Please note that there are 2 submit statements, the first one is working fine, but not the second submit statement.
FUNCTION Z_TEST_REPAIR.
*"----
""Local interface:
*" IMPORTING
*" VALUE(P_AUART) LIKE DIAUFK-AUART
*" TABLES
*" T_OUTPUT STRUCTURE ZLINE
*"----
DATA: i_list LIKE abaplist OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF i_list_conv OCCURS 1,
line(256),
END OF i_list_conv.
DATA : BEGIN OF I_SPOOL OCCURS 0,
RQIDENT LIKE TSP01-RQIDENT,
END OF I_SPOOL.
DATA : I_ACTUAL LIKE SOLI OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF i_order OCCURS 0,
aufnr LIKE aufk-aufnr,
END OF i_order.
DATA: seltab TYPE TABLE OF rsparams,
seltab_wa LIKE LINE OF seltab.
RANGES: r_aufnr FOR aufk-aufnr.
DATA: v_lines TYPE i.
DATA : K_PARAMS LIKE PRI_PARAMS,
V_JOBCOUNT LIKE TBTCM-JOBCOUNT,
V_SPOOL_NO LIKE TSP01-RQIDENT, "SPOOL NO.
V_LIST LIKE PRI_PARAMS-PLIST.
MOVE: 'AUART' TO seltab_wa-selname,
'S' TO seltab_wa-kind, " SELECT-OPTION
'I' TO seltab_wa-sign,
'EQ' TO seltab_wa-option,
p_auart TO seltab_wa-low,
' ' TO seltab_wa-high.
APPEND seltab_wa TO seltab.
MOVE: 'AUART' TO seltab_wa-selname,
'S' TO seltab_wa-kind, " SELECT-OPTION
'I' TO seltab_wa-sign,
'EQ' TO seltab_wa-option,
'Z001' TO seltab_wa-low,
' ' TO seltab_wa-high.
APPEND seltab_wa TO seltab.
CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
IMPORTING
JOBCOUNT = V_JOBCOUNT
EXCEPTIONS
NO_RUNTIME_INFO = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
ENDIF.
CONCATENATE 'ACT' V_JOBCOUNT INTO V_LIST.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
LIST_NAME = V_LIST
NO_DIALOG = 'X'
IMPORTING
OUT_PARAMETERS = K_PARAMS.
SUBMIT riaufk20 TO SAP-SPOOL
SPOOL PARAMETERS K_PARAMS
WITHOUT SPOOL DYNPRO AND RETURN WITH SELECTION-TABLE seltab.
This select neither goes by primary nor any index as we are passing
rq2name which is not a part of primary or any index
SELECT RQIDENT FROM TSP01 INTO TABLE I_SPOOL WHERE RQ2NAME = V_LIST.
IF SY-SUBRC = 0.
SORT I_SPOOL BY RQIDENT DESCENDING.
READ TABLE I_SPOOL INDEX 1.
V_SPOOL_NO = I_SPOOL-RQIDENT.
ENDIF.
CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'
EXPORTING
RQIDENT = V_SPOOL_NO
DESIRED_TYPE = 'RAW'
TABLES
BUFFER = I_ACTUAL
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.
ENDIF.
*====================================================================
DATA: v_text1(20).
LOOP AT I_ACTUAL.
IF sy-tabix GT 3.
SPLIT I_ACTUAL-line AT '|' INTO v_text1 I_ACTUAL-line.
SPLIT I_ACTUAL-line AT '|' INTO v_text1 I_ACTUAL-line.
SPLIT I_ACTUAL-line AT '|' INTO i_order-aufnr I_ACTUAL-line.
APPEND i_order.
CLEAR i_order.
ENDIF.
ENDLOOP.
IF NOT I_ORDER[] IS INITIAL.
DESCRIBE TABLE i_order LINES v_lines.
DELETE i_order INDEX v_lines.
ENDIF.
REFRESH seltab.
CLEAR seltab_wa.
REFRESH i_list.
REFRESH i_list_conv.
SORT i_order.
LOOP AT i_order.
MOVE: 'AUFNR' TO seltab_wa-selname,
'S' TO seltab_wa-kind, " SELECT-OPTION
'I' TO seltab_wa-sign,
'EQ' TO seltab_wa-option,
i_order-aufnr TO seltab_wa-low,
' ' TO seltab_wa-high.
APPEND seltab_wa TO seltab.
ENDLOOP.
*========================================================================
Refresh: I_SPOOL, I_ACTUAL.
clear: V_JOBCOUNT, V_LIST, V_SPOOL_NO, K_PARAMS.
CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
IMPORTING
JOBCOUNT = V_JOBCOUNT
EXCEPTIONS
NO_RUNTIME_INFO = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
ENDIF.
CONCATENATE 'ACT' V_JOBCOUNT INTO V_LIST.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
LIST_NAME = V_LIST
NO_DIALOG = 'X'
IMPORTING
OUT_PARAMETERS = K_PARAMS.
*DATA: RANGE_LANGU TYPE RANGE OF aufk-aufnr,
RANGE_LANGU_WA LIKE lINE OF RANGE_LANGU.
LOOP AT i_order.
*
MOVE:
'I' TO RANGE_LANGU_WA-sign,
'EQ' TO RANGE_LANGU_WA-option,
i_order-aufnr TO RANGE_LANGU_WA-low,
' ' TO RANGE_LANGU_WA-high.
*
APPEND RANGE_LANGU_WA TO RANGE_LANGU.
endloop.
SUBMIT riafvc20 TO SAP-SPOOL
SPOOL PARAMETERS K_PARAMS
WITHOUT SPOOL DYNPRO AND RETURN WITH SELECTION-TABLE seltab.
via selection-screen.
This select neither goes by primary nor any index as we are passing
rq2name which is not a part of primary or any index
SELECT RQIDENT FROM TSP01 INTO TABLE I_SPOOL WHERE RQ2NAME = V_LIST.
IF SY-SUBRC = 0.
SORT I_SPOOL BY RQIDENT DESCENDING.
READ TABLE I_SPOOL INDEX 1.
V_SPOOL_NO = I_SPOOL-RQIDENT.
ENDIF.
CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'
EXPORTING
RQIDENT = V_SPOOL_NO
DESIRED_TYPE = 'RAW'
TABLES
BUFFER = I_ACTUAL
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.
ENDIF.
t_output[] = I_ACTUAL[].
ENDFUNCTION.
‎2007 Apr 09 11:34 AM
I just used alpha routine for AUFNR so that leading zeros are appended and placed in seltab, it worked!!
Thanks for your responses.