ABAP Select data from SAP table T77WWW_TEAAD 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 T77WWW_TEAAD 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 T77WWW_TEAAD. 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 T77WWW_TEAAD 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_T77WWW_TEAAD TYPE STANDARD TABLE OF T77WWW_TEAAD,
      WA_T77WWW_TEAAD TYPE T77WWW_TEAAD,
      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: <T77WWW_TEAAD> TYPE T77WWW_TEAAD.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM T77WWW_TEAAD
*  INTO TABLE @DATA(IT_T77WWW_TEAAD2).
*--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_T77WWW_TEAAD INDEX 1 INTO DATA(WA_T77WWW_TEAAD2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_T77WWW_TEAAD ASSIGNING <T77WWW_TEAAD>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<T77WWW_TEAAD>-MANDT = 1.
<T77WWW_TEAAD>-SRTFD = 1.
<T77WWW_TEAAD>-EARQN = 1.
<T77WWW_TEAAD>-PERNR = 1.
<T77WWW_TEAAD>-MOLGA = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_T77WWW_TEAAD-EASTP, sy-vline,
WA_T77WWW_TEAAD-EAGST, sy-vline,
WA_T77WWW_TEAAD-EAIBR, sy-vline,
WA_T77WWW_TEAAD-EAIBU, sy-vline,
WA_T77WWW_TEAAD-EAIOD, sy-vline,
WA_T77WWW_TEAAD-EAIOT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_T77WWW_TEAAD 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_T77WWW_TEAAD 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_T77WWW_TEAAD INTO WA_T77WWW_TEAAD. *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.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_T77WWW_TEAAD_STR,
MANDT TYPE STRING,
SRTFD TYPE STRING,
EARQN TYPE STRING,
PERNR TYPE STRING,
MOLGA TYPE STRING,
EASTP TYPE STRING,
EAGST TYPE STRING,
EAIBR TYPE STRING,
EAIBU TYPE STRING,
EAIOD TYPE STRING,
EAIOT TYPE STRING,
R_MASSN TYPE STRING,
R_MASSG TYPE STRING,
R_EADRN TYPE STRING,
R_EARDT TYPE STRING,
A_MASSN TYPE STRING,
A_MASSG TYPE STRING,
A_EADRN TYPE STRING,
A_EARDT TYPE STRING,
EAPDL TYPE STRING,
EAPHE TYPE STRING,
EAPHR TYPE STRING,
EAPOD TYPE STRING,
EAPOT TYPE STRING,
EAPHD TYPE STRING,
EAUOD TYPE STRING,
EAUOT TYPE STRING,
EALKR TYPE STRING,
EAKOD TYPE STRING,
EAKOT TYPE STRING,
EALKD TYPE STRING,
EAROD TYPE STRING,
EAROT TYPE STRING,
EARJR TYPE STRING,
EAWDE TYPE STRING,
EAWDR TYPE STRING,
EALBR TYPE STRING,
EALBU TYPE STRING,
EALOD TYPE STRING,
EALOT TYPE STRING,
EASRC TYPE STRING,
EAWID TYPE STRING,
EEI_EAWID TYPE STRING,
HEI_EAWID TYPE STRING,
ORGEH TYPE STRING,
EAMGR TYPE STRING,
EAHRM TYPE STRING,
EAAKY TYPE STRING,
EARKY TYPE STRING,
EAEFN TYPE STRING,
EAMFN TYPE STRING,
EAHFN TYPE STRING,
EAEFG TYPE STRING,
EAT50 TYPE STRING,
X_EAT50 TYPE STRING,END OF T_EKKO_STR. DATA: WA_T77WWW_TEAAD_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_T77WWW_TEAAD_STR-MANDT sy-vline
WA_T77WWW_TEAAD_STR-SRTFD sy-vline
WA_T77WWW_TEAAD_STR-EARQN sy-vline
WA_T77WWW_TEAAD_STR-PERNR sy-vline
WA_T77WWW_TEAAD_STR-MOLGA sy-vline
WA_T77WWW_TEAAD_STR-EASTP sy-vline
WA_T77WWW_TEAAD_STR-EAGST sy-vline
WA_T77WWW_TEAAD_STR-EAIBR sy-vline
WA_T77WWW_TEAAD_STR-EAIBU sy-vline
WA_T77WWW_TEAAD_STR-EAIOD sy-vline
WA_T77WWW_TEAAD_STR-EAIOT sy-vline
WA_T77WWW_TEAAD_STR-R_MASSN sy-vline
WA_T77WWW_TEAAD_STR-R_MASSG sy-vline
WA_T77WWW_TEAAD_STR-R_EADRN sy-vline
WA_T77WWW_TEAAD_STR-R_EARDT sy-vline
WA_T77WWW_TEAAD_STR-A_MASSN sy-vline
WA_T77WWW_TEAAD_STR-A_MASSG sy-vline
WA_T77WWW_TEAAD_STR-A_EADRN sy-vline
WA_T77WWW_TEAAD_STR-A_EARDT sy-vline
WA_T77WWW_TEAAD_STR-EAPDL sy-vline
WA_T77WWW_TEAAD_STR-EAPHE sy-vline
WA_T77WWW_TEAAD_STR-EAPHR sy-vline
WA_T77WWW_TEAAD_STR-EAPOD sy-vline
WA_T77WWW_TEAAD_STR-EAPOT sy-vline
WA_T77WWW_TEAAD_STR-EAPHD sy-vline
WA_T77WWW_TEAAD_STR-EAUOD sy-vline
WA_T77WWW_TEAAD_STR-EAUOT sy-vline
WA_T77WWW_TEAAD_STR-EALKR sy-vline
WA_T77WWW_TEAAD_STR-EAKOD sy-vline
WA_T77WWW_TEAAD_STR-EAKOT sy-vline
WA_T77WWW_TEAAD_STR-EALKD sy-vline
WA_T77WWW_TEAAD_STR-EAROD sy-vline
WA_T77WWW_TEAAD_STR-EAROT sy-vline
WA_T77WWW_TEAAD_STR-EARJR sy-vline
WA_T77WWW_TEAAD_STR-EAWDE sy-vline
WA_T77WWW_TEAAD_STR-EAWDR sy-vline
WA_T77WWW_TEAAD_STR-EALBR sy-vline
WA_T77WWW_TEAAD_STR-EALBU sy-vline
WA_T77WWW_TEAAD_STR-EALOD sy-vline
WA_T77WWW_TEAAD_STR-EALOT sy-vline
WA_T77WWW_TEAAD_STR-EASRC sy-vline
WA_T77WWW_TEAAD_STR-EAWID sy-vline
WA_T77WWW_TEAAD_STR-EEI_EAWID sy-vline
WA_T77WWW_TEAAD_STR-HEI_EAWID sy-vline
WA_T77WWW_TEAAD_STR-ORGEH sy-vline
WA_T77WWW_TEAAD_STR-EAMGR sy-vline
WA_T77WWW_TEAAD_STR-EAHRM sy-vline
WA_T77WWW_TEAAD_STR-EAAKY sy-vline
WA_T77WWW_TEAAD_STR-EARKY sy-vline
WA_T77WWW_TEAAD_STR-EAEFN sy-vline
WA_T77WWW_TEAAD_STR-EAMFN sy-vline
WA_T77WWW_TEAAD_STR-EAHFN sy-vline
WA_T77WWW_TEAAD_STR-EAEFG sy-vline
WA_T77WWW_TEAAD_STR-EAT50 sy-vline
WA_T77WWW_TEAAD_STR-X_EAT50 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.