Application Development 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: 

how to extract o/p data from list _to_asci and put inside my current internal table?

Former Member
0 Kudos

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.

2 REPLIES 2

nabheetscn
Active Contributor
0 Kudos

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.

Former Member
0 Kudos

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