ABAP Select data from SAP table PIN_EAST_TRANS_CN 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 PIN_EAST_TRANS_CN 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 PIN_EAST_TRANS_CN. 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 PIN_EAST_TRANS_CN 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_PIN_EAST_TRANS_CN TYPE STANDARD TABLE OF PIN_EAST_TRANS_CN,
      WA_PIN_EAST_TRANS_CN TYPE PIN_EAST_TRANS_CN,
      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: <PIN_EAST_TRANS_CN> TYPE PIN_EAST_TRANS_CN.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PIN_EAST_TRANS_CN
*  INTO TABLE @DATA(IT_PIN_EAST_TRANS_CN2).
*--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_PIN_EAST_TRANS_CN INDEX 1 INTO DATA(WA_PIN_EAST_TRANS_CN2).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PIN_EAST_TRANS_CN-EAIBR, sy-vline,
WA_PIN_EAST_TRANS_CN-EAIBU, sy-vline,
WA_PIN_EAST_TRANS_CN-EAIOD, sy-vline,
WA_PIN_EAST_TRANS_CN-EAIOT, sy-vline,
WA_PIN_EAST_TRANS_CN-R_MASSN, sy-vline,
WA_PIN_EAST_TRANS_CN-R_MASSG, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PIN_EAST_TRANS_CN 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_PIN_EAST_TRANS_CN 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_PIN_EAST_TRANS_CN INTO WA_PIN_EAST_TRANS_CN. *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_PIN_EAST_TRANS_CN_STR,
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,
PERNR_TXT TYPE STRING,
EASTP_TXT TYPE STRING,
EAIBR_TXT TYPE STRING,
EAIBU_TXT TYPE STRING,
EAPHR_TXT TYPE STRING,
EALKR_TXT TYPE STRING,
EARJR_TXT TYPE STRING,
EAWDR_TXT TYPE STRING,
EALBR_TXT TYPE STRING,
EALBU_TXT TYPE STRING,
ORGEH_TXT TYPE STRING,
EAMGR_TXT TYPE STRING,
EAHRM_TXT TYPE STRING,
EAAKY_TXT TYPE STRING,
EARKY_TXT TYPE STRING,
R_MASSN_TXT TYPE STRING,
R_MASSG_TXT TYPE STRING,
R_EADRN_TXT TYPE STRING,
A_MASSN_TXT TYPE STRING,
A_MASSG_TXT TYPE STRING,
A_EADRN_TXT TYPE STRING,
EALKR_VIS TYPE STRING,
EAPHR_VIS TYPE STRING,
EARJR_VIS TYPE STRING,
EAWDR_VIS TYPE STRING,
PERNR_EDT TYPE STRING,
MOLGA_TXT TYPE STRING,
EAGST_TXT TYPE STRING,
EAROW TYPE STRING,
EAROW_TXT TYPE STRING,END OF T_EKKO_STR. DATA: WA_PIN_EAST_TRANS_CN_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_PIN_EAST_TRANS_CN_STR-EARQN sy-vline
WA_PIN_EAST_TRANS_CN_STR-PERNR sy-vline
WA_PIN_EAST_TRANS_CN_STR-MOLGA sy-vline
WA_PIN_EAST_TRANS_CN_STR-EASTP sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAGST sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAIBR sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAIBU sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAIOD sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAIOT sy-vline
WA_PIN_EAST_TRANS_CN_STR-R_MASSN sy-vline
WA_PIN_EAST_TRANS_CN_STR-R_MASSG sy-vline
WA_PIN_EAST_TRANS_CN_STR-R_EADRN sy-vline
WA_PIN_EAST_TRANS_CN_STR-R_EARDT sy-vline
WA_PIN_EAST_TRANS_CN_STR-A_MASSN sy-vline
WA_PIN_EAST_TRANS_CN_STR-A_MASSG sy-vline
WA_PIN_EAST_TRANS_CN_STR-A_EADRN sy-vline
WA_PIN_EAST_TRANS_CN_STR-A_EARDT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAPDL sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAPHE sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAPHR sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAPOD sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAPOT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAPHD sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAUOD sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAUOT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EALKR sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAKOD sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAKOT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EALKD sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAROD sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAROT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EARJR sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAWDE sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAWDR sy-vline
WA_PIN_EAST_TRANS_CN_STR-EALBR sy-vline
WA_PIN_EAST_TRANS_CN_STR-EALBU sy-vline
WA_PIN_EAST_TRANS_CN_STR-EALOD sy-vline
WA_PIN_EAST_TRANS_CN_STR-EALOT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EASRC sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAWID sy-vline
WA_PIN_EAST_TRANS_CN_STR-EEI_EAWID sy-vline
WA_PIN_EAST_TRANS_CN_STR-HEI_EAWID sy-vline
WA_PIN_EAST_TRANS_CN_STR-ORGEH sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAMGR sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAHRM sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAAKY sy-vline
WA_PIN_EAST_TRANS_CN_STR-EARKY sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAEFN sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAMFN sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAHFN sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAEFG sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAT50 sy-vline
WA_PIN_EAST_TRANS_CN_STR-X_EAT50 sy-vline
WA_PIN_EAST_TRANS_CN_STR-PERNR_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EASTP_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAIBR_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAIBU_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAPHR_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EALKR_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EARJR_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAWDR_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EALBR_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EALBU_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-ORGEH_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAMGR_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAHRM_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAAKY_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EARKY_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-R_MASSN_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-R_MASSG_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-R_EADRN_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-A_MASSN_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-A_MASSG_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-A_EADRN_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EALKR_VIS sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAPHR_VIS sy-vline
WA_PIN_EAST_TRANS_CN_STR-EARJR_VIS sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAWDR_VIS sy-vline
WA_PIN_EAST_TRANS_CN_STR-PERNR_EDT sy-vline
WA_PIN_EAST_TRANS_CN_STR-MOLGA_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAGST_TXT sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAROW sy-vline
WA_PIN_EAST_TRANS_CN_STR-EAROW_TXT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.