ABAP Select data from SAP table P34_1721_DATA 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 P34_1721_DATA 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 P34_1721_DATA. 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 P34_1721_DATA 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_P34_1721_DATA TYPE STANDARD TABLE OF P34_1721_DATA,
      WA_P34_1721_DATA TYPE P34_1721_DATA,
      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: <P34_1721_DATA> TYPE P34_1721_DATA.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM P34_1721_DATA
*  INTO TABLE @DATA(IT_P34_1721_DATA2).
*--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_P34_1721_DATA INDEX 1 INTO DATA(WA_P34_1721_DATA2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_P34_1721_DATA ASSIGNING <P34_1721_DATA>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<P34_1721_DATA>-TAX_PERIOD = 1.
<P34_1721_DATA>-TAX_PERIOD_MM = 1.
<P34_1721_DATA>-TAX_PERIOD_YYYY = 1.
<P34_1721_DATA>-SPT_NORMAL = 1.
<P34_1721_DATA>-SPT_CORRECT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_P34_1721_DATA-COMP_TAXID, sy-vline,
WA_P34_1721_DATA-COMP_NAME, sy-vline,
WA_P34_1721_DATA-COMP_ADDRESS, sy-vline,
WA_P34_1721_DATA-COMP_ADDRESS1, sy-vline,
WA_P34_1721_DATA-COMP_PHONE, sy-vline,
WA_P34_1721_DATA-COMP_EMAIL, sy-vline.
ENDLOOP. *Add any further fields from structure WA_P34_1721_DATA 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_P34_1721_DATA 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_P34_1721_DATA INTO WA_P34_1721_DATA. *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_P34_1721_DATA_STR,
TAX_PERIOD TYPE STRING,
TAX_PERIOD_MM TYPE STRING,
TAX_PERIOD_YYYY TYPE STRING,
SPT_NORMAL TYPE STRING,
SPT_CORRECT TYPE STRING,
COMP_TAXID TYPE STRING,
COMP_NAME TYPE STRING,
COMP_ADDRESS TYPE STRING,
COMP_ADDRESS1 TYPE STRING,
COMP_PHONE TYPE STRING,
COMP_EMAIL TYPE STRING,
B01NUM_EMP TYPE STRING,
B01TOTAL_GROSS TYPE STRING,
B01TAX_OWED TYPE STRING,
B02NUM_EMP TYPE STRING,
B02TOTAL_GROSS TYPE STRING,
B02TAX_OWED TYPE STRING,
B03NUM_EMP TYPE STRING,
B03TOTAL_GROSS TYPE STRING,
B03TAX_OWED TYPE STRING,
B4ANUM_EMP TYPE STRING,
B4ATOTAL_GROSS TYPE STRING,
B4ATAX_OWED TYPE STRING,
B4BNUM_EMP TYPE STRING,
B4BTOTAL_GROSS TYPE STRING,
B4BTAX_OWED TYPE STRING,
B4CNUM_EMP TYPE STRING,
B4CTOTAL_GROSS TYPE STRING,
B4CTAX_OWED TYPE STRING,
B4DNUM_EMP TYPE STRING,
B4DTOTAL_GROSS TYPE STRING,
B4DTAX_OWED TYPE STRING,
B4ENUM_EMP TYPE STRING,
B4ETOTAL_GROSS TYPE STRING,
B4ETAX_OWED TYPE STRING,
B4FNUM_EMP TYPE STRING,
B4FTOTAL_GROSS TYPE STRING,
B4FTAX_OWED TYPE STRING,
B05NUM_EMP TYPE STRING,
B05TOTAL_GROSS TYPE STRING,
B05TAX_OWED TYPE STRING,
B06NUM_EMP TYPE STRING,
B06TOTAL_GROSS TYPE STRING,
B06TAX_OWED TYPE STRING,
B07NUM_EMP TYPE STRING,
B07TOTAL_GROSS TYPE STRING,
B07TAX_OWED TYPE STRING,
B08NUM_EMP TYPE STRING,
B08TOTAL_GROSS TYPE STRING,
B08TAX_OWED TYPE STRING,
B09NUM_EMP TYPE STRING,
B09TOTAL_GROSS TYPE STRING,
B09TAX_OWED TYPE STRING,
B10NUM_EMP TYPE STRING,
B10TOTAL_GROSS TYPE STRING,
B10TAX_OWED TYPE STRING,
B11NUM_EMP TYPE STRING,
B11TOTAL_GROSS TYPE STRING,
B11TAX_OWED TYPE STRING,
B12INCOME_TAX TYPE STRING,
B13MONTH01 TYPE STRING,
B13MONTH02 TYPE STRING,
B13MONTH03 TYPE STRING,
B13MONTH04 TYPE STRING,
B13MONTH05 TYPE STRING,
B13MONTH06 TYPE STRING,
B13MONTH07 TYPE STRING,
B13MONTH08 TYPE STRING,
B13MONTH09 TYPE STRING,
B13MONTH10 TYPE STRING,
B13MONTH11 TYPE STRING,
B13MONTH12 TYPE STRING,
B13YEAR TYPE STRING,
B13OVERPD_TAX TYPE STRING,
B14TOTAL_TAX TYPE STRING,
B15SHORT_TAX TYPE STRING,
B16CORRECT_TAX TYPE STRING,
B17CORRECD_TAX TYPE STRING,
B18_MM TYPE STRING,
B18_YYYY TYPE STRING,
COMP1_TAXID TYPE STRING,
C01NUM_EMP TYPE STRING,
C01TOTAL_GROSS TYPE STRING,
C01TAX_OWED TYPE STRING,
C02NUM_EMP TYPE STRING,
C02TOTAL_GROSS TYPE STRING,
C02TAX_OWED TYPE STRING,
C03NUM_EMP TYPE STRING,
C03TOTAL_GROSS TYPE STRING,
C03TAX_OWED TYPE STRING,
C04NUM_EMP TYPE STRING,
C04TOTAL_GROSS TYPE STRING,
C04TAX_OWED TYPE STRING,
C05NUM_EMP TYPE STRING,
C05TOTAL_GROSS TYPE STRING,
C05TAX_OWED TYPE STRING,
SIGN_COMP TYPE STRING,
SIGN_PROXY TYPE STRING,
SIGN_TAXID TYPE STRING,
SIGN_TAXID1 TYPE STRING,
SIGN_TAXID2 TYPE STRING,
SIGN_TAXID3 TYPE STRING,
SIGN_NAME TYPE STRING,
GDATE TYPE STRING,
GDATE_DD TYPE STRING,
GDATE_MM TYPE STRING,
GDATE_YY TYPE STRING,
SIGN_PLACE TYPE STRING,END OF T_EKKO_STR. DATA: WA_P34_1721_DATA_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_P34_1721_DATA_STR-TAX_PERIOD sy-vline
WA_P34_1721_DATA_STR-TAX_PERIOD_MM sy-vline
WA_P34_1721_DATA_STR-TAX_PERIOD_YYYY sy-vline
WA_P34_1721_DATA_STR-SPT_NORMAL sy-vline
WA_P34_1721_DATA_STR-SPT_CORRECT sy-vline
WA_P34_1721_DATA_STR-COMP_TAXID sy-vline
WA_P34_1721_DATA_STR-COMP_NAME sy-vline
WA_P34_1721_DATA_STR-COMP_ADDRESS sy-vline
WA_P34_1721_DATA_STR-COMP_ADDRESS1 sy-vline
WA_P34_1721_DATA_STR-COMP_PHONE sy-vline
WA_P34_1721_DATA_STR-COMP_EMAIL sy-vline
WA_P34_1721_DATA_STR-B01NUM_EMP sy-vline
WA_P34_1721_DATA_STR-B01TOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-B01TAX_OWED sy-vline
WA_P34_1721_DATA_STR-B02NUM_EMP sy-vline
WA_P34_1721_DATA_STR-B02TOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-B02TAX_OWED sy-vline
WA_P34_1721_DATA_STR-B03NUM_EMP sy-vline
WA_P34_1721_DATA_STR-B03TOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-B03TAX_OWED sy-vline
WA_P34_1721_DATA_STR-B4ANUM_EMP sy-vline
WA_P34_1721_DATA_STR-B4ATOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-B4ATAX_OWED sy-vline
WA_P34_1721_DATA_STR-B4BNUM_EMP sy-vline
WA_P34_1721_DATA_STR-B4BTOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-B4BTAX_OWED sy-vline
WA_P34_1721_DATA_STR-B4CNUM_EMP sy-vline
WA_P34_1721_DATA_STR-B4CTOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-B4CTAX_OWED sy-vline
WA_P34_1721_DATA_STR-B4DNUM_EMP sy-vline
WA_P34_1721_DATA_STR-B4DTOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-B4DTAX_OWED sy-vline
WA_P34_1721_DATA_STR-B4ENUM_EMP sy-vline
WA_P34_1721_DATA_STR-B4ETOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-B4ETAX_OWED sy-vline
WA_P34_1721_DATA_STR-B4FNUM_EMP sy-vline
WA_P34_1721_DATA_STR-B4FTOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-B4FTAX_OWED sy-vline
WA_P34_1721_DATA_STR-B05NUM_EMP sy-vline
WA_P34_1721_DATA_STR-B05TOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-B05TAX_OWED sy-vline
WA_P34_1721_DATA_STR-B06NUM_EMP sy-vline
WA_P34_1721_DATA_STR-B06TOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-B06TAX_OWED sy-vline
WA_P34_1721_DATA_STR-B07NUM_EMP sy-vline
WA_P34_1721_DATA_STR-B07TOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-B07TAX_OWED sy-vline
WA_P34_1721_DATA_STR-B08NUM_EMP sy-vline
WA_P34_1721_DATA_STR-B08TOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-B08TAX_OWED sy-vline
WA_P34_1721_DATA_STR-B09NUM_EMP sy-vline
WA_P34_1721_DATA_STR-B09TOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-B09TAX_OWED sy-vline
WA_P34_1721_DATA_STR-B10NUM_EMP sy-vline
WA_P34_1721_DATA_STR-B10TOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-B10TAX_OWED sy-vline
WA_P34_1721_DATA_STR-B11NUM_EMP sy-vline
WA_P34_1721_DATA_STR-B11TOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-B11TAX_OWED sy-vline
WA_P34_1721_DATA_STR-B12INCOME_TAX sy-vline
WA_P34_1721_DATA_STR-B13MONTH01 sy-vline
WA_P34_1721_DATA_STR-B13MONTH02 sy-vline
WA_P34_1721_DATA_STR-B13MONTH03 sy-vline
WA_P34_1721_DATA_STR-B13MONTH04 sy-vline
WA_P34_1721_DATA_STR-B13MONTH05 sy-vline
WA_P34_1721_DATA_STR-B13MONTH06 sy-vline
WA_P34_1721_DATA_STR-B13MONTH07 sy-vline
WA_P34_1721_DATA_STR-B13MONTH08 sy-vline
WA_P34_1721_DATA_STR-B13MONTH09 sy-vline
WA_P34_1721_DATA_STR-B13MONTH10 sy-vline
WA_P34_1721_DATA_STR-B13MONTH11 sy-vline
WA_P34_1721_DATA_STR-B13MONTH12 sy-vline
WA_P34_1721_DATA_STR-B13YEAR sy-vline
WA_P34_1721_DATA_STR-B13OVERPD_TAX sy-vline
WA_P34_1721_DATA_STR-B14TOTAL_TAX sy-vline
WA_P34_1721_DATA_STR-B15SHORT_TAX sy-vline
WA_P34_1721_DATA_STR-B16CORRECT_TAX sy-vline
WA_P34_1721_DATA_STR-B17CORRECD_TAX sy-vline
WA_P34_1721_DATA_STR-B18_MM sy-vline
WA_P34_1721_DATA_STR-B18_YYYY sy-vline
WA_P34_1721_DATA_STR-COMP1_TAXID sy-vline
WA_P34_1721_DATA_STR-C01NUM_EMP sy-vline
WA_P34_1721_DATA_STR-C01TOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-C01TAX_OWED sy-vline
WA_P34_1721_DATA_STR-C02NUM_EMP sy-vline
WA_P34_1721_DATA_STR-C02TOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-C02TAX_OWED sy-vline
WA_P34_1721_DATA_STR-C03NUM_EMP sy-vline
WA_P34_1721_DATA_STR-C03TOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-C03TAX_OWED sy-vline
WA_P34_1721_DATA_STR-C04NUM_EMP sy-vline
WA_P34_1721_DATA_STR-C04TOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-C04TAX_OWED sy-vline
WA_P34_1721_DATA_STR-C05NUM_EMP sy-vline
WA_P34_1721_DATA_STR-C05TOTAL_GROSS sy-vline
WA_P34_1721_DATA_STR-C05TAX_OWED sy-vline
WA_P34_1721_DATA_STR-SIGN_COMP sy-vline
WA_P34_1721_DATA_STR-SIGN_PROXY sy-vline
WA_P34_1721_DATA_STR-SIGN_TAXID sy-vline
WA_P34_1721_DATA_STR-SIGN_TAXID1 sy-vline
WA_P34_1721_DATA_STR-SIGN_TAXID2 sy-vline
WA_P34_1721_DATA_STR-SIGN_TAXID3 sy-vline
WA_P34_1721_DATA_STR-SIGN_NAME sy-vline
WA_P34_1721_DATA_STR-GDATE sy-vline
WA_P34_1721_DATA_STR-GDATE_DD sy-vline
WA_P34_1721_DATA_STR-GDATE_MM sy-vline
WA_P34_1721_DATA_STR-GDATE_YY sy-vline
WA_P34_1721_DATA_STR-SIGN_PLACE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.