2005 Jul 20 5:46 AM
hi
i have created a RFC wherein i submit my report program thru "SUBMIT" command. Pls refer the below code:
DATA: ITHEADER LIKE TABLE OF abaplist WITH HEADER LINE.
submit zrpt_mm_045 EXPORTING LIST TO MEMORY
with s_werks-low = s_werks
with s_mtart-low = s_mtart_low
with s_mtart-high = s_mtart_high
with s_matnr-low = s_matnr_low
with s_matnr-high = s_matnr_high
with s_budat-low = s_budat_low
with s_budat-high = s_budat_high
with s_lgort-low = s_lgort
with rb1 = rb1
with rb2 = rb2
with rb3 = rb3
AND RETURN.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = ITHEADER
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'LIST_TO_ASCI'
EXPORTING
LIST_INDEX = -1
WITH_LINE_BREAK = ' '
TABLES
listasci = ITHEADER
LISTOBJECT =
EXCEPTIONS
EMPTY_LIST = 1
LIST_INDEX_INVALID = 2
OTHERS = 3
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFUNCTION.
In TABLES option of the FM i have declare a table
ITHEADER1 like a structure of some abap dictionary table.
I want to retrieve the desired output into the internal table ITHEADER1 so that i can use that table for EP.
Could you pls tell me how to get the data in readable format, bcos when i run the above code it it giving me run-time errors.
Thanks
2005 Jul 20 5:58 AM
Hi,
When calling 'LIST_TO_ASCI' you should also provide an ITAB for getting the output (input to this FM is LISTOBJECT, and output should be an ITAB for LISTASCI). You are instead providing listobject to listasci field which I think is incorrect.
(You will also need to pass LISTINDEX = -1 which is commented currently). For more, please see the documentation of this FM.
cheers.
2005 Jul 20 6:46 AM
Hi Deepak,
Try it this way:
DATA: BEGIN OF I_LISTKEY OCCURS 0,
ZEILE(256) TYPE C.
DATA: END OF I_LISTKEY.
DATA : i_DUMMY_OUTPUT1 type standard table of DUMMY_OUTPUT1,
w_DUMMY_OUTPUT1 LIKE LINE OF I_DUMMY_OUTPUT1.
where:
TYPES : BEGIN OF DUMMY_OUTPUT1,
ur internal table fields.
END OF DUMMY_OUTPUT1.
Now:
*To Convert the list into an internal table
CALL FUNCTION 'LIST_TO_ASCI'
TABLES
LISTASCI = I_LISTKEY
LISTOBJECT = i_LISTOBJECT
EXCEPTIONS
EMPTY_LIST = 1
LIST_INDEX_INVALID = 2
OTHERS = 3.
CLEAR I_DUMMY_OUTPUT1. REFRESH I_DUMMY_OUTPUT1.
delete i_listkey from 1 to 3.
DESCRIBE TABLE I_LISTKEY LINES LV_LIN.
delete i_listkey index lv_lin.
LOOP AT I_LISTKEY.
SPLIT I_LISTKEY-ZEILE AT '|'
INTO W_DUMMY_OUTPUT1-field1
W_DUMMY_OUTPUT1-field2.
CONDENSE W_DUMMY_OUTPUT1-field1 NO-GAPS.
CONDENSE W_DUMMY_OUTPUT1-field2 NO-GAPS.
append w_dummy_output to i_dummy_output.
MOVE w_dummy_output_field1 TO
w_ur_warea_of_table -field1.
MOVE w_dummy_foutput_field2 TO
w_ur_warea_of_table-field2.
APPEND lw_ur_warea_of_table TO li_ur_itab_of_table .
ENDLOOP.
CALL FUNCTION 'LIST_FREE_MEMORY'
TABLES
LISTOBJECT = i_LISTOBJECT.
CLEAR I_DUMMY_OUTPUT1.
REFRESH I_DUMMY_OUTPUT1.
Once u go into debugg mode u wil understand why we are using the split and condense.
Hope this is how u want it.
Regards,
Anjali.