ABAP Select data from SAP table TEMP21PG1 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 TEMP21PG1 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 TEMP21PG1. 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 TEMP21PG1 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_TEMP21PG1 TYPE STANDARD TABLE OF TEMP21PG1,
      WA_TEMP21PG1 TYPE TEMP21PG1,
      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: <TEMP21PG1> TYPE TEMP21PG1.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM TEMP21PG1
*  INTO TABLE @DATA(IT_TEMP21PG12).
*--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_TEMP21PG1 INDEX 1 INTO DATA(WA_TEMP21PG12).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_TEMP21PG1 ASSIGNING <TEMP21PG1>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<TEMP21PG1>-PERNR = 1.
<TEMP21PG1>-TYPE = 1.
<TEMP21PG1>-REF_DATE = 1.
<TEMP21PG1>-ER_REFTYPE = 1.
<TEMP21PG1>-ER_REFNUM = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_TEMP21PG1-ER_NAME, sy-vline,
WA_TEMP21PG1-ER_ADRBLOCK, sy-vline,
WA_TEMP21PG1-ER_ADRSTORY, sy-vline,
WA_TEMP21PG1-ER_ADRUNIT, sy-vline,
WA_TEMP21PG1-ER_ADRSTR1, sy-vline,
WA_TEMP21PG1-ER_ADRSTR2, sy-vline.
ENDLOOP. *Add any further fields from structure WA_TEMP21PG1 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_TEMP21PG1 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_TEMP21PG1 INTO WA_TEMP21PG1. *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_TEMP21PG1_STR,
PERNR TYPE STRING,
TYPE TYPE STRING,
REF_DATE TYPE STRING,
ER_REFTYPE TYPE STRING,
ER_REFNUM TYPE STRING,
ER_NAME TYPE STRING,
ER_ADRBLOCK TYPE STRING,
ER_ADRSTORY TYPE STRING,
ER_ADRUNIT TYPE STRING,
ER_ADRSTR1 TYPE STRING,
ER_ADRSTR2 TYPE STRING,
ER_ADRPSTL TYPE STRING,
EE_NAME TYPE STRING,
EE_NRIC TYPE STRING,
EE_PRDATE TYPE STRING,
EE_FIN TYPE STRING,
EE_MALAYIC TYPE STRING,
EE_ADRBLOCK TYPE STRING,
EE_ADRSTORY TYPE STRING,
EE_ADRUNIT TYPE STRING,
EE_ADRSTR1 TYPE STRING,
EE_ADRSTR2 TYPE STRING,
EE_ADRPSTL TYPE STRING,
EE_DOB TYPE STRING,
EE_SEX TYPE STRING,
EE_NATIO TYPE STRING,
EE_MARST TYPE STRING,
EE_PHONE TYPE STRING,
EE_DESIGNATION TYPE STRING,
EE_ARRDATE TYPE STRING,
EE_COMDATE TYPE STRING,
EE_CESDATE TYPE STRING,
EE_DEPDATE TYPE STRING,
EE_RESIGNATION TYPE STRING,
EE_REASONS TYPE STRING,
EE_RSLESSNOTICE TYPE STRING,
EE_DAILYRATED TYPE STRING,
EE_MONTHLYRATED TYPE STRING,
EE_WITHHELDAMT TYPE STRING,
EE_WITHHELDCTS TYPE STRING,
EE_LASTSALARYDT TYPE STRING,
EE_LASTSALARY TYPE STRING,
EE_PERIODFROM TYPE STRING,
EE_PERIODTO TYPE STRING,
EE_CHMON_YES TYPE STRING,
EE_CHMON_NO TYPE STRING,
EE_NOWITHHELDRS TYPE STRING,
EE_WITHHELDBASE TYPE STRING,
EE_BANKNAME TYPE STRING,
EE_BANKCITY TYPE STRING,
EE_NEWERNAME TYPE STRING,
EE_NEWERPHONE TYPE STRING,
SP_EMPLOYED TYPE STRING,
SP_UNEMPLOYED TYPE STRING,
EE_TAXFULLYBORNE TYPE STRING,
EE_TAXPARTIALLYBORNE TYPE STRING,
SP_NAME TYPE STRING,
SP_DOB TYPE STRING,
SP_FIN TYPE STRING,
SP_MARRIAGEDATE TYPE STRING,
SP_NATIO TYPE STRING,
SP_ERNAME TYPE STRING,
SP_ERADDR TYPE STRING,
CH1_NAME TYPE STRING,
CH1_SEX TYPE STRING,
CH1_DOB_DD TYPE STRING,
CH1_DOB_MM TYPE STRING,
CH1_DOB_YY TYPE STRING,
CH1_SCHOOL TYPE STRING,
CH2_NAME TYPE STRING,
CH2_SEX TYPE STRING,
CH2_DOB_DD TYPE STRING,
CH2_DOB_MM TYPE STRING,
CH2_DOB_YY TYPE STRING,
CH2_SCHOOL TYPE STRING,
CH3_NAME TYPE STRING,
CH3_SEX TYPE STRING,
CH3_DOB_DD TYPE STRING,
CH3_DOB_MM TYPE STRING,
CH3_DOB_YY TYPE STRING,
CH3_SCHOOL TYPE STRING,
CH4_NAME TYPE STRING,
CH4_SEX TYPE STRING,
CH4_DOB_DD TYPE STRING,
CH4_DOB_MM TYPE STRING,
CH4_DOB_YY TYPE STRING,
CH4_SCHOOL TYPE STRING,
EE_MAILDT TYPE STRING,
EE_EMAILADR TYPE STRING,
EE_TAXPARTIALLYAMT TYPE STRING,
EE_TAXFIXEDBYEE TYPE STRING,
EE_SNABS TYPE STRING,
EE_SNIMM TYPE STRING,
EE_SNRES TYPE STRING,
EE_SNOTR TYPE STRING,
EE_NWREG TYPE STRING,
EE_NWSAL TYPE STRING,
EE_NWLEV TYPE STRING,
EE_NWOWE TYPE STRING,
EE_NWOTR TYPE STRING,
SP_INCOMEYES TYPE STRING,
SP_INCOMENO TYPE STRING,END OF T_EKKO_STR. DATA: WA_TEMP21PG1_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_TEMP21PG1_STR-PERNR sy-vline
WA_TEMP21PG1_STR-TYPE sy-vline
WA_TEMP21PG1_STR-REF_DATE sy-vline
WA_TEMP21PG1_STR-ER_REFTYPE sy-vline
WA_TEMP21PG1_STR-ER_REFNUM sy-vline
WA_TEMP21PG1_STR-ER_NAME sy-vline
WA_TEMP21PG1_STR-ER_ADRBLOCK sy-vline
WA_TEMP21PG1_STR-ER_ADRSTORY sy-vline
WA_TEMP21PG1_STR-ER_ADRUNIT sy-vline
WA_TEMP21PG1_STR-ER_ADRSTR1 sy-vline
WA_TEMP21PG1_STR-ER_ADRSTR2 sy-vline
WA_TEMP21PG1_STR-ER_ADRPSTL sy-vline
WA_TEMP21PG1_STR-EE_NAME sy-vline
WA_TEMP21PG1_STR-EE_NRIC sy-vline
WA_TEMP21PG1_STR-EE_PRDATE sy-vline
WA_TEMP21PG1_STR-EE_FIN sy-vline
WA_TEMP21PG1_STR-EE_MALAYIC sy-vline
WA_TEMP21PG1_STR-EE_ADRBLOCK sy-vline
WA_TEMP21PG1_STR-EE_ADRSTORY sy-vline
WA_TEMP21PG1_STR-EE_ADRUNIT sy-vline
WA_TEMP21PG1_STR-EE_ADRSTR1 sy-vline
WA_TEMP21PG1_STR-EE_ADRSTR2 sy-vline
WA_TEMP21PG1_STR-EE_ADRPSTL sy-vline
WA_TEMP21PG1_STR-EE_DOB sy-vline
WA_TEMP21PG1_STR-EE_SEX sy-vline
WA_TEMP21PG1_STR-EE_NATIO sy-vline
WA_TEMP21PG1_STR-EE_MARST sy-vline
WA_TEMP21PG1_STR-EE_PHONE sy-vline
WA_TEMP21PG1_STR-EE_DESIGNATION sy-vline
WA_TEMP21PG1_STR-EE_ARRDATE sy-vline
WA_TEMP21PG1_STR-EE_COMDATE sy-vline
WA_TEMP21PG1_STR-EE_CESDATE sy-vline
WA_TEMP21PG1_STR-EE_DEPDATE sy-vline
WA_TEMP21PG1_STR-EE_RESIGNATION sy-vline
WA_TEMP21PG1_STR-EE_REASONS sy-vline
WA_TEMP21PG1_STR-EE_RSLESSNOTICE sy-vline
WA_TEMP21PG1_STR-EE_DAILYRATED sy-vline
WA_TEMP21PG1_STR-EE_MONTHLYRATED sy-vline
WA_TEMP21PG1_STR-EE_WITHHELDAMT sy-vline
WA_TEMP21PG1_STR-EE_WITHHELDCTS sy-vline
WA_TEMP21PG1_STR-EE_LASTSALARYDT sy-vline
WA_TEMP21PG1_STR-EE_LASTSALARY sy-vline
WA_TEMP21PG1_STR-EE_PERIODFROM sy-vline
WA_TEMP21PG1_STR-EE_PERIODTO sy-vline
WA_TEMP21PG1_STR-EE_CHMON_YES sy-vline
WA_TEMP21PG1_STR-EE_CHMON_NO sy-vline
WA_TEMP21PG1_STR-EE_NOWITHHELDRS sy-vline
WA_TEMP21PG1_STR-EE_WITHHELDBASE sy-vline
WA_TEMP21PG1_STR-EE_BANKNAME sy-vline
WA_TEMP21PG1_STR-EE_BANKCITY sy-vline
WA_TEMP21PG1_STR-EE_NEWERNAME sy-vline
WA_TEMP21PG1_STR-EE_NEWERPHONE sy-vline
WA_TEMP21PG1_STR-SP_EMPLOYED sy-vline
WA_TEMP21PG1_STR-SP_UNEMPLOYED sy-vline
WA_TEMP21PG1_STR-EE_TAXFULLYBORNE sy-vline
WA_TEMP21PG1_STR-EE_TAXPARTIALLYBORNE sy-vline
WA_TEMP21PG1_STR-SP_NAME sy-vline
WA_TEMP21PG1_STR-SP_DOB sy-vline
WA_TEMP21PG1_STR-SP_FIN sy-vline
WA_TEMP21PG1_STR-SP_MARRIAGEDATE sy-vline
WA_TEMP21PG1_STR-SP_NATIO sy-vline
WA_TEMP21PG1_STR-SP_ERNAME sy-vline
WA_TEMP21PG1_STR-SP_ERADDR sy-vline
WA_TEMP21PG1_STR-CH1_NAME sy-vline
WA_TEMP21PG1_STR-CH1_SEX sy-vline
WA_TEMP21PG1_STR-CH1_DOB_DD sy-vline
WA_TEMP21PG1_STR-CH1_DOB_MM sy-vline
WA_TEMP21PG1_STR-CH1_DOB_YY sy-vline
WA_TEMP21PG1_STR-CH1_SCHOOL sy-vline
WA_TEMP21PG1_STR-CH2_NAME sy-vline
WA_TEMP21PG1_STR-CH2_SEX sy-vline
WA_TEMP21PG1_STR-CH2_DOB_DD sy-vline
WA_TEMP21PG1_STR-CH2_DOB_MM sy-vline
WA_TEMP21PG1_STR-CH2_DOB_YY sy-vline
WA_TEMP21PG1_STR-CH2_SCHOOL sy-vline
WA_TEMP21PG1_STR-CH3_NAME sy-vline
WA_TEMP21PG1_STR-CH3_SEX sy-vline
WA_TEMP21PG1_STR-CH3_DOB_DD sy-vline
WA_TEMP21PG1_STR-CH3_DOB_MM sy-vline
WA_TEMP21PG1_STR-CH3_DOB_YY sy-vline
WA_TEMP21PG1_STR-CH3_SCHOOL sy-vline
WA_TEMP21PG1_STR-CH4_NAME sy-vline
WA_TEMP21PG1_STR-CH4_SEX sy-vline
WA_TEMP21PG1_STR-CH4_DOB_DD sy-vline
WA_TEMP21PG1_STR-CH4_DOB_MM sy-vline
WA_TEMP21PG1_STR-CH4_DOB_YY sy-vline
WA_TEMP21PG1_STR-CH4_SCHOOL sy-vline
WA_TEMP21PG1_STR-EE_MAILDT sy-vline
WA_TEMP21PG1_STR-EE_EMAILADR sy-vline
WA_TEMP21PG1_STR-EE_TAXPARTIALLYAMT sy-vline
WA_TEMP21PG1_STR-EE_TAXFIXEDBYEE sy-vline
WA_TEMP21PG1_STR-EE_SNABS sy-vline
WA_TEMP21PG1_STR-EE_SNIMM sy-vline
WA_TEMP21PG1_STR-EE_SNRES sy-vline
WA_TEMP21PG1_STR-EE_SNOTR sy-vline
WA_TEMP21PG1_STR-EE_NWREG sy-vline
WA_TEMP21PG1_STR-EE_NWSAL sy-vline
WA_TEMP21PG1_STR-EE_NWLEV sy-vline
WA_TEMP21PG1_STR-EE_NWOWE sy-vline
WA_TEMP21PG1_STR-EE_NWOTR sy-vline
WA_TEMP21PG1_STR-SP_INCOMEYES sy-vline
WA_TEMP21PG1_STR-SP_INCOMENO sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.