ABAP Select data from SAP table ISU_EABL_STABLE 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 ISU_EABL_STABLE 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 ISU_EABL_STABLE. 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 ISU_EABL_STABLE 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_ISU_EABL_STABLE TYPE STANDARD TABLE OF ISU_EABL_STABLE,
      WA_ISU_EABL_STABLE TYPE ISU_EABL_STABLE,
      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: <ISU_EABL_STABLE> TYPE ISU_EABL_STABLE.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM ISU_EABL_STABLE
*  INTO TABLE @DATA(IT_ISU_EABL_STABLE2).
*--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_ISU_EABL_STABLE INDEX 1 INTO DATA(WA_ISU_EABL_STABLE2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_ISU_EABL_STABLE ASSIGNING <ISU_EABL_STABLE>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<ISU_EABL_STABLE>-MANDT = 1.
<ISU_EABL_STABLE>-ABLBELNR = 1.
<ISU_EABL_STABLE>-GERNR = 1.
<ISU_EABL_STABLE>-EQUNR = 1.
<ISU_EABL_STABLE>-ZWNUMMER = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_ISU_EABL_STABLE-ADAT, sy-vline,
WA_ISU_EABL_STABLE-ATIM, sy-vline,
WA_ISU_EABL_STABLE-V_ZWSTAND, sy-vline,
WA_ISU_EABL_STABLE-N_ZWSTAND, sy-vline,
WA_ISU_EABL_STABLE-V_ZWSTNDAB, sy-vline,
WA_ISU_EABL_STABLE-N_ZWSTNDAB, sy-vline.
ENDLOOP. *Add any further fields from structure WA_ISU_EABL_STABLE 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_ISU_EABL_STABLE 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_ISU_EABL_STABLE INTO WA_ISU_EABL_STABLE. *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 ALPHA, internal->external for field ABLBELNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_ISU_EABL_STABLE-ABLBELNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_EABL_STABLE-ABLBELNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GERNR, internal->external for field GERNR CALL FUNCTION 'CONVERSION_EXIT_GERNR_OUTPUT' EXPORTING input = WA_ISU_EABL_STABLE-GERNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_EABL_STABLE-GERNR.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit HH_MM, internal->external for field ATIM CALL FUNCTION 'CONVERSION_EXIT_HH_MM_OUTPUT' EXPORTING input = WA_ISU_EABL_STABLE-ATIM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_EABL_STABLE-ATIM.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field MASSREAD CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_ISU_EABL_STABLE-MASSREAD IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_EABL_STABLE-MASSREAD.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field MASSBILL CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_ISU_EABL_STABLE-MASSBILL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_EABL_STABLE-MASSBILL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit HH_MM, internal->external for field ATIMMAX CALL FUNCTION 'CONVERSION_EXIT_HH_MM_OUTPUT' EXPORTING input = WA_ISU_EABL_STABLE-ATIMMAX IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_EABL_STABLE-ATIMMAX.
WRITE:/ 'New Value:', ld_input.

*Conversion exit HH_MM, internal->external for field ATIMTATS CALL FUNCTION 'CONVERSION_EXIT_HH_MM_OUTPUT' EXPORTING input = WA_ISU_EABL_STABLE-ATIMTATS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_EABL_STABLE-ATIMTATS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit HH_MM, internal->external for field ATIMERZ CALL FUNCTION 'CONVERSION_EXIT_HH_MM_OUTPUT' EXPORTING input = WA_ISU_EABL_STABLE-ATIMERZ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_EABL_STABLE-ATIMERZ.
WRITE:/ 'New Value:', ld_input.

*Conversion exit HH_MM, internal->external for field ATIMPROG CALL FUNCTION 'CONVERSION_EXIT_HH_MM_OUTPUT' EXPORTING input = WA_ISU_EABL_STABLE-ATIMPROG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_EABL_STABLE-ATIMPROG.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit HH_MM, internal->external for field ATIMREAL CALL FUNCTION 'CONVERSION_EXIT_HH_MM_OUTPUT' EXPORTING input = WA_ISU_EABL_STABLE-ATIMREAL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_EABL_STABLE-ATIMREAL.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit ALPHA, internal->external for field PREV_MRDOC CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_ISU_EABL_STABLE-PREV_MRDOC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISU_EABL_STABLE-PREV_MRDOC.
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_ISU_EABL_STABLE_STR,
MANDT TYPE STRING,
ABLBELNR TYPE STRING,
GERNR TYPE STRING,
EQUNR TYPE STRING,
ZWNUMMER TYPE STRING,
ADAT TYPE STRING,
ATIM TYPE STRING,
V_ZWSTAND TYPE STRING,
N_ZWSTAND TYPE STRING,
V_ZWSTNDAB TYPE STRING,
N_ZWSTNDAB TYPE STRING,
MASSREAD TYPE STRING,
MASSBILL TYPE STRING,
STANZVOR TYPE STRING,
STANZNAC TYPE STRING,
SCHAEVER TYPE STRING,
SCHAEGR TYPE STRING,
AKTIV TYPE STRING,
ADATSOLL TYPE STRING,
ADATMAX TYPE STRING,
ATIMMAX TYPE STRING,
ADATTATS TYPE STRING,
ATIMTATS TYPE STRING,
ADATERZ TYPE STRING,
ATIMERZ TYPE STRING,
ADATPROG TYPE STRING,
ATIMPROG TYPE STRING,
ZUORDDAT TYPE STRING,
THGDATUM TYPE STRING,
PRUEFZAHL TYPE STRING,
BAPERTYP TYPE STRING,
ABLSTAT TYPE STRING,
PRUEFPKT TYPE STRING,
POPCODE TYPE STRING,
PRUEFTYP TYPE STRING,
ABLHINW TYPE STRING,
STABLHW TYPE STRING,
KONTRVRF TYPE STRING,
ABLESART TYPE STRING,
ABLESER TYPE STRING,
NACHERF TYPE STRING,
MDENR TYPE STRING,
MDEUPL TYPE STRING,
E_ZEITVBL TYPE STRING,
E_ZVLZUORD TYPE STRING,
STEUERGRP TYPE STRING,
ARBAUF TYPE STRING,
KSTATUS TYPE STRING,
ERDAT TYPE STRING,
ERNAM TYPE STRING,
AEDAT TYPE STRING,
AENAM TYPE STRING,
ENTRYNUMB TYPE STRING,
ACTOR TYPE STRING,
ISTABLART TYPE STRING,
ABLESTYP TYPE STRING,
E_ZVBL_BEZDAT TYPE STRING,
SM_AUFNR TYPE STRING,
DOC_TYPE TYPE STRING,
ADATREAL TYPE STRING,
ATIMREAL TYPE STRING,
S_ISTABLART TYPE STRING,
S_AKTIV TYPE STRING,
S_ABLSTAT TYPE STRING,
S_V_ZWSTAND TYPE STRING,
S_N_ZWSTAND TYPE STRING,
S_V_ZWSTNDAB TYPE STRING,
S_N_ZWSTNDAB TYPE STRING,
REMOVED TYPE STRING,
BP TYPE STRING,
REM_ABLBELNR TYPE STRING,
REM_ABLESER TYPE STRING,
S_ADATSOLL TYPE STRING,
S_ZVBL_BEZDAT TYPE STRING,
AMS TYPE STRING,
TRANSSTAT TYPE STRING,
TRANSTSTAMP TYPE STRING,
SOURCESYST TYPE STRING,
QNT TYPE STRING,
QDSTAT TYPE STRING,
QDPROC TYPE STRING,
PREV_MRDOC TYPE STRING,END OF T_EKKO_STR. DATA: WA_ISU_EABL_STABLE_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_ISU_EABL_STABLE_STR-MANDT sy-vline
WA_ISU_EABL_STABLE_STR-ABLBELNR sy-vline
WA_ISU_EABL_STABLE_STR-GERNR sy-vline
WA_ISU_EABL_STABLE_STR-EQUNR sy-vline
WA_ISU_EABL_STABLE_STR-ZWNUMMER sy-vline
WA_ISU_EABL_STABLE_STR-ADAT sy-vline
WA_ISU_EABL_STABLE_STR-ATIM sy-vline
WA_ISU_EABL_STABLE_STR-V_ZWSTAND sy-vline
WA_ISU_EABL_STABLE_STR-N_ZWSTAND sy-vline
WA_ISU_EABL_STABLE_STR-V_ZWSTNDAB sy-vline
WA_ISU_EABL_STABLE_STR-N_ZWSTNDAB sy-vline
WA_ISU_EABL_STABLE_STR-MASSREAD sy-vline
WA_ISU_EABL_STABLE_STR-MASSBILL sy-vline
WA_ISU_EABL_STABLE_STR-STANZVOR sy-vline
WA_ISU_EABL_STABLE_STR-STANZNAC sy-vline
WA_ISU_EABL_STABLE_STR-SCHAEVER sy-vline
WA_ISU_EABL_STABLE_STR-SCHAEGR sy-vline
WA_ISU_EABL_STABLE_STR-AKTIV sy-vline
WA_ISU_EABL_STABLE_STR-ADATSOLL sy-vline
WA_ISU_EABL_STABLE_STR-ADATMAX sy-vline
WA_ISU_EABL_STABLE_STR-ATIMMAX sy-vline
WA_ISU_EABL_STABLE_STR-ADATTATS sy-vline
WA_ISU_EABL_STABLE_STR-ATIMTATS sy-vline
WA_ISU_EABL_STABLE_STR-ADATERZ sy-vline
WA_ISU_EABL_STABLE_STR-ATIMERZ sy-vline
WA_ISU_EABL_STABLE_STR-ADATPROG sy-vline
WA_ISU_EABL_STABLE_STR-ATIMPROG sy-vline
WA_ISU_EABL_STABLE_STR-ZUORDDAT sy-vline
WA_ISU_EABL_STABLE_STR-THGDATUM sy-vline
WA_ISU_EABL_STABLE_STR-PRUEFZAHL sy-vline
WA_ISU_EABL_STABLE_STR-BAPERTYP sy-vline
WA_ISU_EABL_STABLE_STR-ABLSTAT sy-vline
WA_ISU_EABL_STABLE_STR-PRUEFPKT sy-vline
WA_ISU_EABL_STABLE_STR-POPCODE sy-vline
WA_ISU_EABL_STABLE_STR-PRUEFTYP sy-vline
WA_ISU_EABL_STABLE_STR-ABLHINW sy-vline
WA_ISU_EABL_STABLE_STR-STABLHW sy-vline
WA_ISU_EABL_STABLE_STR-KONTRVRF sy-vline
WA_ISU_EABL_STABLE_STR-ABLESART sy-vline
WA_ISU_EABL_STABLE_STR-ABLESER sy-vline
WA_ISU_EABL_STABLE_STR-NACHERF sy-vline
WA_ISU_EABL_STABLE_STR-MDENR sy-vline
WA_ISU_EABL_STABLE_STR-MDEUPL sy-vline
WA_ISU_EABL_STABLE_STR-E_ZEITVBL sy-vline
WA_ISU_EABL_STABLE_STR-E_ZVLZUORD sy-vline
WA_ISU_EABL_STABLE_STR-STEUERGRP sy-vline
WA_ISU_EABL_STABLE_STR-ARBAUF sy-vline
WA_ISU_EABL_STABLE_STR-KSTATUS sy-vline
WA_ISU_EABL_STABLE_STR-ERDAT sy-vline
WA_ISU_EABL_STABLE_STR-ERNAM sy-vline
WA_ISU_EABL_STABLE_STR-AEDAT sy-vline
WA_ISU_EABL_STABLE_STR-AENAM sy-vline
WA_ISU_EABL_STABLE_STR-ENTRYNUMB sy-vline
WA_ISU_EABL_STABLE_STR-ACTOR sy-vline
WA_ISU_EABL_STABLE_STR-ISTABLART sy-vline
WA_ISU_EABL_STABLE_STR-ABLESTYP sy-vline
WA_ISU_EABL_STABLE_STR-E_ZVBL_BEZDAT sy-vline
WA_ISU_EABL_STABLE_STR-SM_AUFNR sy-vline
WA_ISU_EABL_STABLE_STR-DOC_TYPE sy-vline
WA_ISU_EABL_STABLE_STR-ADATREAL sy-vline
WA_ISU_EABL_STABLE_STR-ATIMREAL sy-vline
WA_ISU_EABL_STABLE_STR-S_ISTABLART sy-vline
WA_ISU_EABL_STABLE_STR-S_AKTIV sy-vline
WA_ISU_EABL_STABLE_STR-S_ABLSTAT sy-vline
WA_ISU_EABL_STABLE_STR-S_V_ZWSTAND sy-vline
WA_ISU_EABL_STABLE_STR-S_N_ZWSTAND sy-vline
WA_ISU_EABL_STABLE_STR-S_V_ZWSTNDAB sy-vline
WA_ISU_EABL_STABLE_STR-S_N_ZWSTNDAB sy-vline
WA_ISU_EABL_STABLE_STR-REMOVED sy-vline
WA_ISU_EABL_STABLE_STR-BP sy-vline
WA_ISU_EABL_STABLE_STR-REM_ABLBELNR sy-vline
WA_ISU_EABL_STABLE_STR-REM_ABLESER sy-vline
WA_ISU_EABL_STABLE_STR-S_ADATSOLL sy-vline
WA_ISU_EABL_STABLE_STR-S_ZVBL_BEZDAT sy-vline
WA_ISU_EABL_STABLE_STR-AMS sy-vline
WA_ISU_EABL_STABLE_STR-TRANSSTAT sy-vline
WA_ISU_EABL_STABLE_STR-TRANSTSTAMP sy-vline
WA_ISU_EABL_STABLE_STR-SOURCESYST sy-vline
WA_ISU_EABL_STABLE_STR-QNT sy-vline
WA_ISU_EABL_STABLE_STR-QDSTAT sy-vline
WA_ISU_EABL_STABLE_STR-QDPROC sy-vline
WA_ISU_EABL_STABLE_STR-PREV_MRDOC sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.