ABAP Select data from SAP table FIGLHU_S_DSP into internal table

Get Example source ABAP code based on a different SAP table
  

Below is a number of ABAP code snippets to demonstrate how to select data from SAP FIGLHU_S_DSP table and store it within an internal table, including using the newer @DATA inline declaration methods. It also shows you various ways to process this data using ABAP work area, inline declaration or field symbols including executing all the relevant CONVERSION_EXIT routines specific to FIGLHU_S_DSP. See here for more generic Select statement tips.

Sometimes data within SAP is stored within the database table in a different format to what it is displayed to the user. These input/output conversation FM routines are what translates the data between the two formats.

There is also a full declaration of the FIGLHU_S_DSP table where each field has a char/string type for you to simply copy and paste. This allows you to use processing that is only available to these field types such as the CONCATENATE statement.

DATA: IT_FIGLHU_S_DSP TYPE STANDARD TABLE OF FIGLHU_S_DSP,
      WA_FIGLHU_S_DSP TYPE FIGLHU_S_DSP,
      GD_STR TYPE STRING.

DATA: lo_typedescr type REF TO cl_abap_typedescr.
DATA: lv_fieldname type fieldname.

FIELD-SYMBOLS: <FIELD> TYPE any.
FIELD-SYMBOLS: <FIGLHU_S_DSP> TYPE FIGLHU_S_DSP.

*Process all fields in table header/work area as string values
  PERFORM process_as_string_field_values CHANGING wa_FIGLHU_S_DSP.

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM FIGLHU_S_DSP
  INTO TABLE IT_FIGLHU_S_DSP.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM FIGLHU_S_DSP
*  INTO TABLE @DATA(IT_FIGLHU_S_DSP2).
*--Further methods of using ABAP code to  select data from SAP database tables

*You can also declare the header/work area using the in-line DATA declaration method
READ TABLE IT_FIGLHU_S_DSP INDEX 1 INTO DATA(WA_FIGLHU_S_DSP2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_FIGLHU_S_DSP ASSIGNING <FIGLHU_S_DSP>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<FIGLHU_S_DSP>-AJAHR = 1.
<FIGLHU_S_DSP>-STCEG = 1.
<FIGLHU_S_DSP>-DMSHB = 1.
<FIGLHU_S_DSP>-DMSHV = 1.
<FIGLHU_S_DSP>-LWBAS = 1.
ENDLOOP.

LOOP AT IT_FIGLHU_S_DSP INTO WA_FIGLHU_S_DSP.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_FIGLHU_S_DSP-XEGDR, sy-vline,
WA_FIGLHU_S_DSP-BUKRS, sy-vline,
WA_FIGLHU_S_DSP-COMPANY_NAME1, sy-vline,
WA_FIGLHU_S_DSP-COMPANY_ORT01, sy-vline,
WA_FIGLHU_S_DSP-COMPANY_COUNTRY, sy-vline,
WA_FIGLHU_S_DSP-COMPANY_STCEG, sy-vline.
ENDLOOP. *Add any further fields from structure WA_FIGLHU_S_DSP you want to display... WRITE:/ sy-uline. * Aternatively use generic code to Write field values (and NAME) to screen report DO. ASSIGN COMPONENT sy-index OF STRUCTURE wa_FIGLHU_S_DSP TO <field>. IF sy-subrc <> 0. EXIT. ENDIF. WRITE:/ 'Field Value', <field>, sy-vline. gd_str = <field> . lo_typedescr ?= CL_ABAP_DATADESCR=>DESCRIBE_BY_DATA( <field> ). lv_fieldname = lo_typedescr->GET_RELATIVE_NAME( ). WRITE:/ 'Field Name', lv_fieldname. ENDDO. *Redo loop but convert all fields from internal to out value LOOP AT IT_FIGLHU_S_DSP INTO WA_FIGLHU_S_DSP. *Write horizonal line to screen report. WRITE:/ sy-uline. *Convert all fields to display/output versions using conversion routines PERFORM convert_all_field_values CHANGING wa_EKKO. ENDLOOP. *&---------------------------------------------------------------------* *& Form convert_all_field_values *&---------------------------------------------------------------------* FORM convert_all_field_values CHANGING p_EKKO LIKE wa_EKKO. DATA: ld_input(1000) TYPE c, ld_output(1000) TYPE C.

*Conversion exit GJAHR, internal->external for field AJAHR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_FIGLHU_S_DSP-AJAHR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FIGLHU_S_DSP-AJAHR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field DMSHB CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_FIGLHU_S_DSP-DMSHB IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FIGLHU_S_DSP-DMSHB.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC152, internal->external for field LWBAS CALL FUNCTION 'CONVERSION_EXIT_AC152_OUTPUT' EXPORTING input = WA_FIGLHU_S_DSP-LWBAS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FIGLHU_S_DSP-LWBAS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field DMBTR CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_FIGLHU_S_DSP-DMBTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FIGLHU_S_DSP-DMBTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field HWBAS CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_FIGLHU_S_DSP-HWBAS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FIGLHU_S_DSP-HWBAS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field STBLG CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FIGLHU_S_DSP-STBLG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FIGLHU_S_DSP-STBLG.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field AUGBL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FIGLHU_S_DSP-AUGBL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FIGLHU_S_DSP-AUGBL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field HWSTE CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_FIGLHU_S_DSP-HWSTE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FIGLHU_S_DSP-HWSTE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field FWBAS CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_FIGLHU_S_DSP-FWBAS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FIGLHU_S_DSP-FWBAS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field FWSTE CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_FIGLHU_S_DSP-FWSTE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FIGLHU_S_DSP-FWSTE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field LWSTE CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_FIGLHU_S_DSP-LWSTE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FIGLHU_S_DSP-LWSTE.
WRITE:/ 'New Value:', ld_input.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_FIGLHU_S_DSP_STR,
AJAHR TYPE STRING,
STCEG TYPE STRING,
DMSHB TYPE STRING,
DMSHV TYPE STRING,
LWBAS TYPE STRING,
XEGDR TYPE STRING,
BUKRS TYPE STRING,
COMPANY_NAME1 TYPE STRING,
COMPANY_ORT01 TYPE STRING,
COMPANY_COUNTRY TYPE STRING,
COMPANY_STCEG TYPE STRING,
BP_KUNNR TYPE STRING,
BP_NAME1 TYPE STRING,
BP_NAME2 TYPE STRING,
BP_STREET TYPE STRING,
BP_CITY TYPE STRING,
BP_COUNTRY TYPE STRING,
BP_REGION TYPE STRING,
BP_PO_BOX TYPE STRING,
BELNR TYPE STRING,
BUDAT TYPE STRING,
MLDWAER TYPE STRING,
SHKZG TYPE STRING,
DMBTR TYPE STRING,
HWBAS TYPE STRING,
BKTXT TYPE STRING,
HWAER TYPE STRING,
KOART TYPE STRING,
MWSKZ TYPE STRING,
MWART TYPE STRING,
BLDAT TYPE STRING,
EGMLD TYPE STRING,
STBLG TYPE STRING,
AUGDT TYPE STRING,
AUGBL TYPE STRING,
UMSKS TYPE STRING,
NO_OF_DOCUMENT TYPE STRING,
TRIDEAL TYPE STRING,
VATDATE TYPE STRING,
WAERS TYPE STRING,
XBLNR TYPE STRING,
GROSS_AMT_DOC_CURR TYPE STRING,
HWSTE TYPE STRING,
MONAT TYPE STRING,
FWBAS TYPE STRING,
FWSTE TYPE STRING,
ICL_ISSUEDATE_INV TYPE STRING,
GROSS_AMT_LOCAL_CURR TYPE STRING,
BP_VATID TYPE STRING,
REFERENCE TYPE STRING,
OPBEL TYPE STRING,
VAT_PERF_DATE TYPE STRING,
ISSUED_INVOICE_ID TYPE STRING,
PREVIOUS_INVOICE_ID TYPE STRING,
LWSTE TYPE STRING,
GROSS_AMT_CTRY_CURR TYPE STRING,
SOURCE TYPE STRING,
INVOICE_TYPE TYPE STRING,
OFFICIAL_FORM TYPE STRING,
BP_VATID_COUNT TYPE STRING,
DOCUMENT_COUNT TYPE STRING,
DEDUCT_LWSTE TYPE STRING,
DEDUCT_HWSTE TYPE STRING,
DEDUCT_FWSTE TYPE STRING,
DOC_CURRENCY TYPE STRING,END OF T_EKKO_STR. DATA: WA_FIGLHU_S_DSP_STR type T_EKKO_STR. DATA: ld_text TYPE string. LOOP AT IT_EKKO INTO WA_EKKO. MOVE-CORRESPONDING wa_EKKO TO WA_EKKO_STR. CONCATENATE: sy-vline
WA_FIGLHU_S_DSP_STR-AJAHR sy-vline
WA_FIGLHU_S_DSP_STR-STCEG sy-vline
WA_FIGLHU_S_DSP_STR-DMSHB sy-vline
WA_FIGLHU_S_DSP_STR-DMSHV sy-vline
WA_FIGLHU_S_DSP_STR-LWBAS sy-vline
WA_FIGLHU_S_DSP_STR-XEGDR sy-vline
WA_FIGLHU_S_DSP_STR-BUKRS sy-vline
WA_FIGLHU_S_DSP_STR-COMPANY_NAME1 sy-vline
WA_FIGLHU_S_DSP_STR-COMPANY_ORT01 sy-vline
WA_FIGLHU_S_DSP_STR-COMPANY_COUNTRY sy-vline
WA_FIGLHU_S_DSP_STR-COMPANY_STCEG sy-vline
WA_FIGLHU_S_DSP_STR-BP_KUNNR sy-vline
WA_FIGLHU_S_DSP_STR-BP_NAME1 sy-vline
WA_FIGLHU_S_DSP_STR-BP_NAME2 sy-vline
WA_FIGLHU_S_DSP_STR-BP_STREET sy-vline
WA_FIGLHU_S_DSP_STR-BP_CITY sy-vline
WA_FIGLHU_S_DSP_STR-BP_COUNTRY sy-vline
WA_FIGLHU_S_DSP_STR-BP_REGION sy-vline
WA_FIGLHU_S_DSP_STR-BP_PO_BOX sy-vline
WA_FIGLHU_S_DSP_STR-BELNR sy-vline
WA_FIGLHU_S_DSP_STR-BUDAT sy-vline
WA_FIGLHU_S_DSP_STR-MLDWAER sy-vline
WA_FIGLHU_S_DSP_STR-SHKZG sy-vline
WA_FIGLHU_S_DSP_STR-DMBTR sy-vline
WA_FIGLHU_S_DSP_STR-HWBAS sy-vline
WA_FIGLHU_S_DSP_STR-BKTXT sy-vline
WA_FIGLHU_S_DSP_STR-HWAER sy-vline
WA_FIGLHU_S_DSP_STR-KOART sy-vline
WA_FIGLHU_S_DSP_STR-MWSKZ sy-vline
WA_FIGLHU_S_DSP_STR-MWART sy-vline
WA_FIGLHU_S_DSP_STR-BLDAT sy-vline
WA_FIGLHU_S_DSP_STR-EGMLD sy-vline
WA_FIGLHU_S_DSP_STR-STBLG sy-vline
WA_FIGLHU_S_DSP_STR-AUGDT sy-vline
WA_FIGLHU_S_DSP_STR-AUGBL sy-vline
WA_FIGLHU_S_DSP_STR-UMSKS sy-vline
WA_FIGLHU_S_DSP_STR-NO_OF_DOCUMENT sy-vline
WA_FIGLHU_S_DSP_STR-TRIDEAL sy-vline
WA_FIGLHU_S_DSP_STR-VATDATE sy-vline
WA_FIGLHU_S_DSP_STR-WAERS sy-vline
WA_FIGLHU_S_DSP_STR-XBLNR sy-vline
WA_FIGLHU_S_DSP_STR-GROSS_AMT_DOC_CURR sy-vline
WA_FIGLHU_S_DSP_STR-HWSTE sy-vline
WA_FIGLHU_S_DSP_STR-MONAT sy-vline
WA_FIGLHU_S_DSP_STR-FWBAS sy-vline
WA_FIGLHU_S_DSP_STR-FWSTE sy-vline
WA_FIGLHU_S_DSP_STR-ICL_ISSUEDATE_INV sy-vline
WA_FIGLHU_S_DSP_STR-GROSS_AMT_LOCAL_CURR sy-vline
WA_FIGLHU_S_DSP_STR-BP_VATID sy-vline
WA_FIGLHU_S_DSP_STR-REFERENCE sy-vline
WA_FIGLHU_S_DSP_STR-OPBEL sy-vline
WA_FIGLHU_S_DSP_STR-VAT_PERF_DATE sy-vline
WA_FIGLHU_S_DSP_STR-ISSUED_INVOICE_ID sy-vline
WA_FIGLHU_S_DSP_STR-PREVIOUS_INVOICE_ID sy-vline
WA_FIGLHU_S_DSP_STR-LWSTE sy-vline
WA_FIGLHU_S_DSP_STR-GROSS_AMT_CTRY_CURR sy-vline
WA_FIGLHU_S_DSP_STR-SOURCE sy-vline
WA_FIGLHU_S_DSP_STR-INVOICE_TYPE sy-vline
WA_FIGLHU_S_DSP_STR-OFFICIAL_FORM sy-vline
WA_FIGLHU_S_DSP_STR-BP_VATID_COUNT sy-vline
WA_FIGLHU_S_DSP_STR-DOCUMENT_COUNT sy-vline
WA_FIGLHU_S_DSP_STR-DEDUCT_LWSTE sy-vline
WA_FIGLHU_S_DSP_STR-DEDUCT_HWSTE sy-vline
WA_FIGLHU_S_DSP_STR-DEDUCT_FWSTE sy-vline
WA_FIGLHU_S_DSP_STR-DOC_CURRENCY sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.