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

SUBMIT ......WITH SELECTION-TABLE

Former Member
0 Likes
2,807

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,295

Can you show how did you populate the seltab ?

4 REPLIES 4
Read only

Former Member
0 Likes
1,295

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

Read only

Former Member
0 Likes
1,296

Can you show how did you populate the seltab ?

Read only

0 Likes
1,295

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.

Read only

Former Member
0 Likes
1,295

I just used alpha routine for AUFNR so that leading zeros are appended and placed in seltab, it worked!!

Thanks for your responses.