ABAP Select data from SAP table PRU_T2_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 PRU_T2_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 PRU_T2_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 PRU_T2_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_PRU_T2_DATA TYPE STANDARD TABLE OF PRU_T2_DATA,
      WA_PRU_T2_DATA TYPE PRU_T2_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: <PRU_T2_DATA> TYPE PRU_T2_DATA.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PRU_T2_DATA
*  INTO TABLE @DATA(IT_PRU_T2_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_PRU_T2_DATA INDEX 1 INTO DATA(WA_PRU_T2_DATA2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PRU_T2_DATA ASSIGNING <PRU_T2_DATA>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PRU_T2_DATA>-ABC = 1.
<PRU_T2_DATA>-ORG = 1.
<PRU_T2_DATA>-DSOST = 1.
<PRU_T2_DATA>-PERNR = 1.
<PRU_T2_DATA>-PINN = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PRU_T2_DATA-PPFR, sy-vline,
WA_PRU_T2_DATA-HRAB, sy-vline,
WA_PRU_T2_DATA-VRAB, sy-vline,
WA_PRU_T2_DATA-SEX, sy-vline,
WA_PRU_T2_DATA-FAM, sy-vline,
WA_PRU_T2_DATA-NAME, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PRU_T2_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_PRU_T2_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_PRU_T2_DATA INTO WA_PRU_T2_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_PRU_T2_DATA_STR,
ABC TYPE STRING,
ORG TYPE STRING,
DSOST TYPE STRING,
PERNR TYPE STRING,
PINN TYPE STRING,
PPFR TYPE STRING,
HRAB TYPE STRING,
VRAB TYPE STRING,
SEX TYPE STRING,
FAM TYPE STRING,
NAME TYPE STRING,
MIDLNAME TYPE STRING,
YMAKE TYPE STRING,
MMAKE TYPE STRING,
DMAKE TYPE STRING,
DBORN TYPE STRING,
PLACEBORN TYPE STRING,
PLACEBORN1 TYPE STRING,
PLACEBORN_OKATO TYPE STRING,
GRAGD TYPE STRING,
GRAGD1 TYPE STRING,
FLANG1 TYPE STRING,
FLANG2 TYPE STRING,
LERN65 TYPE STRING,
YOUTWORK TYPE STRING,
MOUTWORK TYPE STRING,
DOUTWORK TYPE STRING,
YORDER TYPE STRING,
MORDER TYPE STRING,
DORDER TYPE STRING,
MPROF TYPE STRING,
C_MPROF TYPE STRING,
SPROF TYPE STRING,
C_SPROF TYPE STRING,
MATRIAL TYPE STRING,
SPASPORT TYPE STRING,
NPASPORT TYPE STRING,
WPASPORT TYPE STRING,
DPASPORT TYPE STRING,
DPASPORT_D TYPE STRING,
DPASPORT_M TYPE STRING,
DPASPORT_Y TYPE STRING,
PHONE TYPE STRING,
CHIEFOK TYPE STRING,
X_CHIEFOK TYPE STRING,
PROM TYPE STRING,
VUS TYPE STRING,
RELEASE TYPE STRING,
MILNAME TYPE STRING,
NORDER TYPE STRING,
C_OKPO TYPE STRING,
NAT_OKIN TYPE STRING,
OB_OKIN TYPE STRING,
O1_OKSO TYPE STRING,
O2_OKSO TYPE STRING,
O3_OKSO TYPE STRING,
OP_OKIN TYPE STRING,
MAT_OKIN TYPE STRING,
CONT_N TYPE STRING,
CONT_D TYPE STRING,
LANGSZ1 TYPE STRING,
LANGSZ2 TYPE STRING,
SZ1_OKIN TYPE STRING,
SZ2_OKIN TYPE STRING,
OBRAZ_SR TYPE STRING,
DPLOUCH1 TYPE STRING,
DPL_S1 TYPE STRING,
DPL_N1 TYPE STRING,
GODOKOUCH1 TYPE STRING,
KVALOUCH1 TYPE STRING,
KVALOUCH11 TYPE STRING,
KVALOUCH12 TYPE STRING,
SPECOUCH1 TYPE STRING,
SPECOUCH11 TYPE STRING,
SPECOUCH12 TYPE STRING,
NAIMOUCH1 TYPE STRING,
NAIMOUCH11 TYPE STRING,
DPLOUCH2 TYPE STRING,
DPL_S2 TYPE STRING,
DPL_N2 TYPE STRING,
GODOKOUCH2 TYPE STRING,
KVALOUCH2 TYPE STRING,
KVALOUCH21 TYPE STRING,
KVALOUCH22 TYPE STRING,
SPECOUCH2 TYPE STRING,
SPECOUCH21 TYPE STRING,
SPECOUCH22 TYPE STRING,
NAIMOUCH2 TYPE STRING,
NAIMOUCH21 TYPE STRING,
DPLOUCH3 TYPE STRING,
GODOKOUCH3 TYPE STRING,
KVALOUCH3 TYPE STRING,
KVALOUCH31 TYPE STRING,
KVALOUCH32 TYPE STRING,
SPECOUCH3 TYPE STRING,
SPECOUCH31 TYPE STRING,
SPECOUCH32 TYPE STRING,
NAIMOUCH3 TYPE STRING,
NAIMOUCH31 TYPE STRING,
C_ST_D TYPE STRING,
C_ST_M TYPE STRING,
C_ST_Y TYPE STRING,
STAG_D1 TYPE STRING,
STAG_M1 TYPE STRING,
STAG_Y1 TYPE STRING,
STAG_D2 TYPE STRING,
STAG_M2 TYPE STRING,
STAG_Y2 TYPE STRING,
STAG_D3 TYPE STRING,
STAG_M3 TYPE STRING,
STAG_Y3 TYPE STRING,
STAG_D4 TYPE STRING,
STAG_M4 TYPE STRING,
STAG_Y4 TYPE STRING,
INDEX1 TYPE STRING,
ADRES1 TYPE STRING,
ADRES11 TYPE STRING,
INDEX2 TYPE STRING,
ADRES2 TYPE STRING,
ADRES21 TYPE STRING,
PASS_D TYPE STRING,
PASS_M TYPE STRING,
PASS_Y TYPE STRING,
KATZAP TYPE STRING,
SOSTAVV TYPE STRING,
VUCH TYPE STRING,
VUCH_1 TYPE STRING,
VUCH_2 TYPE STRING,
VUCH_OFF TYPE STRING,
TOTKADR TYPE STRING,
X_TOTKADR TYPE STRING,
OUTTEXT TYPE STRING,
BORNDATE TYPE STRING,
PDF_NAIMOUCH1 TYPE STRING,
PDF_NAIMOUCH2 TYPE STRING,
PDF_NAIMOUCH3 TYPE STRING,
PDF_KVALOUCH1 TYPE STRING,
PDF_KVALOUCH2 TYPE STRING,
PDF_KVALOUCH3 TYPE STRING,
PDF_SPECOUCH1 TYPE STRING,
PDF_SPECOUCH2 TYPE STRING,
PDF_SPECOUCH3 TYPE STRING,
PDF_TOTKADR TYPE STRING,
PDF_OUTTEXT TYPE STRING,
PDF_ADDRESS1 TYPE STRING,
PDF_ADDRESS2 TYPE STRING,
LOOPKEY TYPE STRING,
LOOPKEYUP TYPE STRING,
UPPERLOOP TYPE STRING,
UPPERSTEP TYPE STRING,END OF T_EKKO_STR. DATA: WA_PRU_T2_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_PRU_T2_DATA_STR-ABC sy-vline
WA_PRU_T2_DATA_STR-ORG sy-vline
WA_PRU_T2_DATA_STR-DSOST sy-vline
WA_PRU_T2_DATA_STR-PERNR sy-vline
WA_PRU_T2_DATA_STR-PINN sy-vline
WA_PRU_T2_DATA_STR-PPFR sy-vline
WA_PRU_T2_DATA_STR-HRAB sy-vline
WA_PRU_T2_DATA_STR-VRAB sy-vline
WA_PRU_T2_DATA_STR-SEX sy-vline
WA_PRU_T2_DATA_STR-FAM sy-vline
WA_PRU_T2_DATA_STR-NAME sy-vline
WA_PRU_T2_DATA_STR-MIDLNAME sy-vline
WA_PRU_T2_DATA_STR-YMAKE sy-vline
WA_PRU_T2_DATA_STR-MMAKE sy-vline
WA_PRU_T2_DATA_STR-DMAKE sy-vline
WA_PRU_T2_DATA_STR-DBORN sy-vline
WA_PRU_T2_DATA_STR-PLACEBORN sy-vline
WA_PRU_T2_DATA_STR-PLACEBORN1 sy-vline
WA_PRU_T2_DATA_STR-PLACEBORN_OKATO sy-vline
WA_PRU_T2_DATA_STR-GRAGD sy-vline
WA_PRU_T2_DATA_STR-GRAGD1 sy-vline
WA_PRU_T2_DATA_STR-FLANG1 sy-vline
WA_PRU_T2_DATA_STR-FLANG2 sy-vline
WA_PRU_T2_DATA_STR-LERN65 sy-vline
WA_PRU_T2_DATA_STR-YOUTWORK sy-vline
WA_PRU_T2_DATA_STR-MOUTWORK sy-vline
WA_PRU_T2_DATA_STR-DOUTWORK sy-vline
WA_PRU_T2_DATA_STR-YORDER sy-vline
WA_PRU_T2_DATA_STR-MORDER sy-vline
WA_PRU_T2_DATA_STR-DORDER sy-vline
WA_PRU_T2_DATA_STR-MPROF sy-vline
WA_PRU_T2_DATA_STR-C_MPROF sy-vline
WA_PRU_T2_DATA_STR-SPROF sy-vline
WA_PRU_T2_DATA_STR-C_SPROF sy-vline
WA_PRU_T2_DATA_STR-MATRIAL sy-vline
WA_PRU_T2_DATA_STR-SPASPORT sy-vline
WA_PRU_T2_DATA_STR-NPASPORT sy-vline
WA_PRU_T2_DATA_STR-WPASPORT sy-vline
WA_PRU_T2_DATA_STR-DPASPORT sy-vline
WA_PRU_T2_DATA_STR-DPASPORT_D sy-vline
WA_PRU_T2_DATA_STR-DPASPORT_M sy-vline
WA_PRU_T2_DATA_STR-DPASPORT_Y sy-vline
WA_PRU_T2_DATA_STR-PHONE sy-vline
WA_PRU_T2_DATA_STR-CHIEFOK sy-vline
WA_PRU_T2_DATA_STR-X_CHIEFOK sy-vline
WA_PRU_T2_DATA_STR-PROM sy-vline
WA_PRU_T2_DATA_STR-VUS sy-vline
WA_PRU_T2_DATA_STR-RELEASE sy-vline
WA_PRU_T2_DATA_STR-MILNAME sy-vline
WA_PRU_T2_DATA_STR-NORDER sy-vline
WA_PRU_T2_DATA_STR-C_OKPO sy-vline
WA_PRU_T2_DATA_STR-NAT_OKIN sy-vline
WA_PRU_T2_DATA_STR-OB_OKIN sy-vline
WA_PRU_T2_DATA_STR-O1_OKSO sy-vline
WA_PRU_T2_DATA_STR-O2_OKSO sy-vline
WA_PRU_T2_DATA_STR-O3_OKSO sy-vline
WA_PRU_T2_DATA_STR-OP_OKIN sy-vline
WA_PRU_T2_DATA_STR-MAT_OKIN sy-vline
WA_PRU_T2_DATA_STR-CONT_N sy-vline
WA_PRU_T2_DATA_STR-CONT_D sy-vline
WA_PRU_T2_DATA_STR-LANGSZ1 sy-vline
WA_PRU_T2_DATA_STR-LANGSZ2 sy-vline
WA_PRU_T2_DATA_STR-SZ1_OKIN sy-vline
WA_PRU_T2_DATA_STR-SZ2_OKIN sy-vline
WA_PRU_T2_DATA_STR-OBRAZ_SR sy-vline
WA_PRU_T2_DATA_STR-DPLOUCH1 sy-vline
WA_PRU_T2_DATA_STR-DPL_S1 sy-vline
WA_PRU_T2_DATA_STR-DPL_N1 sy-vline
WA_PRU_T2_DATA_STR-GODOKOUCH1 sy-vline
WA_PRU_T2_DATA_STR-KVALOUCH1 sy-vline
WA_PRU_T2_DATA_STR-KVALOUCH11 sy-vline
WA_PRU_T2_DATA_STR-KVALOUCH12 sy-vline
WA_PRU_T2_DATA_STR-SPECOUCH1 sy-vline
WA_PRU_T2_DATA_STR-SPECOUCH11 sy-vline
WA_PRU_T2_DATA_STR-SPECOUCH12 sy-vline
WA_PRU_T2_DATA_STR-NAIMOUCH1 sy-vline
WA_PRU_T2_DATA_STR-NAIMOUCH11 sy-vline
WA_PRU_T2_DATA_STR-DPLOUCH2 sy-vline
WA_PRU_T2_DATA_STR-DPL_S2 sy-vline
WA_PRU_T2_DATA_STR-DPL_N2 sy-vline
WA_PRU_T2_DATA_STR-GODOKOUCH2 sy-vline
WA_PRU_T2_DATA_STR-KVALOUCH2 sy-vline
WA_PRU_T2_DATA_STR-KVALOUCH21 sy-vline
WA_PRU_T2_DATA_STR-KVALOUCH22 sy-vline
WA_PRU_T2_DATA_STR-SPECOUCH2 sy-vline
WA_PRU_T2_DATA_STR-SPECOUCH21 sy-vline
WA_PRU_T2_DATA_STR-SPECOUCH22 sy-vline
WA_PRU_T2_DATA_STR-NAIMOUCH2 sy-vline
WA_PRU_T2_DATA_STR-NAIMOUCH21 sy-vline
WA_PRU_T2_DATA_STR-DPLOUCH3 sy-vline
WA_PRU_T2_DATA_STR-GODOKOUCH3 sy-vline
WA_PRU_T2_DATA_STR-KVALOUCH3 sy-vline
WA_PRU_T2_DATA_STR-KVALOUCH31 sy-vline
WA_PRU_T2_DATA_STR-KVALOUCH32 sy-vline
WA_PRU_T2_DATA_STR-SPECOUCH3 sy-vline
WA_PRU_T2_DATA_STR-SPECOUCH31 sy-vline
WA_PRU_T2_DATA_STR-SPECOUCH32 sy-vline
WA_PRU_T2_DATA_STR-NAIMOUCH3 sy-vline
WA_PRU_T2_DATA_STR-NAIMOUCH31 sy-vline
WA_PRU_T2_DATA_STR-C_ST_D sy-vline
WA_PRU_T2_DATA_STR-C_ST_M sy-vline
WA_PRU_T2_DATA_STR-C_ST_Y sy-vline
WA_PRU_T2_DATA_STR-STAG_D1 sy-vline
WA_PRU_T2_DATA_STR-STAG_M1 sy-vline
WA_PRU_T2_DATA_STR-STAG_Y1 sy-vline
WA_PRU_T2_DATA_STR-STAG_D2 sy-vline
WA_PRU_T2_DATA_STR-STAG_M2 sy-vline
WA_PRU_T2_DATA_STR-STAG_Y2 sy-vline
WA_PRU_T2_DATA_STR-STAG_D3 sy-vline
WA_PRU_T2_DATA_STR-STAG_M3 sy-vline
WA_PRU_T2_DATA_STR-STAG_Y3 sy-vline
WA_PRU_T2_DATA_STR-STAG_D4 sy-vline
WA_PRU_T2_DATA_STR-STAG_M4 sy-vline
WA_PRU_T2_DATA_STR-STAG_Y4 sy-vline
WA_PRU_T2_DATA_STR-INDEX1 sy-vline
WA_PRU_T2_DATA_STR-ADRES1 sy-vline
WA_PRU_T2_DATA_STR-ADRES11 sy-vline
WA_PRU_T2_DATA_STR-INDEX2 sy-vline
WA_PRU_T2_DATA_STR-ADRES2 sy-vline
WA_PRU_T2_DATA_STR-ADRES21 sy-vline
WA_PRU_T2_DATA_STR-PASS_D sy-vline
WA_PRU_T2_DATA_STR-PASS_M sy-vline
WA_PRU_T2_DATA_STR-PASS_Y sy-vline
WA_PRU_T2_DATA_STR-KATZAP sy-vline
WA_PRU_T2_DATA_STR-SOSTAVV sy-vline
WA_PRU_T2_DATA_STR-VUCH sy-vline
WA_PRU_T2_DATA_STR-VUCH_1 sy-vline
WA_PRU_T2_DATA_STR-VUCH_2 sy-vline
WA_PRU_T2_DATA_STR-VUCH_OFF sy-vline
WA_PRU_T2_DATA_STR-TOTKADR sy-vline
WA_PRU_T2_DATA_STR-X_TOTKADR sy-vline
WA_PRU_T2_DATA_STR-OUTTEXT sy-vline
WA_PRU_T2_DATA_STR-BORNDATE sy-vline
WA_PRU_T2_DATA_STR-PDF_NAIMOUCH1 sy-vline
WA_PRU_T2_DATA_STR-PDF_NAIMOUCH2 sy-vline
WA_PRU_T2_DATA_STR-PDF_NAIMOUCH3 sy-vline
WA_PRU_T2_DATA_STR-PDF_KVALOUCH1 sy-vline
WA_PRU_T2_DATA_STR-PDF_KVALOUCH2 sy-vline
WA_PRU_T2_DATA_STR-PDF_KVALOUCH3 sy-vline
WA_PRU_T2_DATA_STR-PDF_SPECOUCH1 sy-vline
WA_PRU_T2_DATA_STR-PDF_SPECOUCH2 sy-vline
WA_PRU_T2_DATA_STR-PDF_SPECOUCH3 sy-vline
WA_PRU_T2_DATA_STR-PDF_TOTKADR sy-vline
WA_PRU_T2_DATA_STR-PDF_OUTTEXT sy-vline
WA_PRU_T2_DATA_STR-PDF_ADDRESS1 sy-vline
WA_PRU_T2_DATA_STR-PDF_ADDRESS2 sy-vline
WA_PRU_T2_DATA_STR-LOOPKEY sy-vline
WA_PRU_T2_DATA_STR-LOOPKEYUP sy-vline
WA_PRU_T2_DATA_STR-UPPERLOOP sy-vline
WA_PRU_T2_DATA_STR-UPPERSTEP sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.