01-21-2014 9:23 AM
Hi Gurus,
I have a problem can anyone share ideas
I have fetched output data from RFITEMAR by using list_from_memory and list_to_asci and now the out put is present in internal table "writes" and this is in string format my problem is how to fetch those data and put in my internal table.
my sample code is as below
DATA: listobj LIKE abaplist OCCURS 0 WITH HEADER LINE.
DATA: writes LIKE listzeile OCCURS 0 WITH HEADER LINE.
TYPES: BEGIN OF st_out,
END OF
START-OF-SELECTION.
SUBMIT rfitemar
EXPORTING LIST TO MEMORY AND RETURN.
REFRESH listobj.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = listobj
EXCEPTIONS
not_found = 1.
IF sy-subrc <> 0.
ENDIF.
REFRESH writes.
CALL FUNCTION 'LIST_TO_ASCI'
TABLES
listasci = writes
listobject = listobj
EXCEPTIONS
empty_list = 1.
IF sy-subrc <> 0.
WRITE: / 'LIST_TO_ASCI error'(098).
ENDIF.
data:g_tabix type n.
IF writes IS NOT INITIAL. "i have to delete 1-11 lines from internal table"
DELETE writes INDEX 1.
DELETE writes INDEX 1.
DELETE writes INDEX 1.
DESCRIBE TABLE writes LINES g_tabix.
ENDIF.
01-21-2014 9:42 AM
You can loop at WRITES from 12 and append it to internal table. GWA_DATA is of type string,GWA_DELIV is my target table
LOOP AT gt_data INTO gwa_data FROM 4 TO gv_lines.
gwa_deliv-zls_vbeln = gwa_data+1(10).
gwa_deliv-kunnr = gwa_data+14(10).
gwa_deliv-name_we = gwa_data+25(35).
CONCATENATE gwa_data+67(4) gwa_data+64(2) gwa_data+61(2) INTO gwa_deliv-kodat .
CONCATENATE gwa_data+78(4) gwa_data+75(2) gwa_data+72(2) INTO gwa_deliv-tddat .
CONCATENATE gwa_data+89(4) gwa_data+86(2) gwa_data+83(2) INTO gwa_deliv-wadat .
CONCATENATE gwa_data+100(4) gwa_data+97(2) gwa_data+94(2) INTO gwa_deliv-lfdat .
APPEND gwa_deliv TO gt_deliv.
ENDLOOP.
01-21-2014 10:03 AM
Hi,
Instead of using 'LIST_TO_ASCII', try the following code
FIELD-SYMBOLS <lt_ar_data> TYPE ANY TABLE.
DATA lr_ar_data TYPE REF TO data.
FIELD-SYMBOLS <lt_ar_data> TYPE ANY TABLE.
DATA lr_ar_data TYPE REF TO data.
cl_salv_bs_runtime_info=>set(
EXPORTING display = abap_false
metadata = abap_false
data = abap_true ).
* Submit FBL5N Type Reporter
SUBMIT rsitempar
WITH SELECTION-TABLE lt_selscreen
AND RETURN.
TRY.
cl_salv_bs_runtime_info=>get_data_ref(
IMPORTING r_data = lr_pay_data ).
ASSIGN lr_pay_data->* TO <lt_pay_data>.
CATCH cx_salv_bs_sc_runtime_info.
MESSAGE `Unable to retrieve ALV data` TYPE 'E'.
ENDTRY.
cl_salv_bs_runtime_info=>clear_all( ).
Also refer the following thread
Regards,
DPM