ABAP Select data from SAP table P0147 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 P0147 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 P0147. 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 P0147 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_P0147 TYPE STANDARD TABLE OF P0147,
      WA_P0147 TYPE P0147,
      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: <P0147> TYPE P0147.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM P0147
*  INTO TABLE @DATA(IT_P01472).
*--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_P0147 INDEX 1 INTO DATA(WA_P01472).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_P0147 ASSIGNING <P0147>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<P0147>-PERNR = 1.
<P0147>-INFTY = 1.
<P0147>-SUBTY = 1.
<P0147>-OBJPS = 1.
<P0147>-SPRPS = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_P0147-ENDDA, sy-vline,
WA_P0147-BEGDA, sy-vline,
WA_P0147-SEQNR, sy-vline,
WA_P0147-AEDTM, sy-vline,
WA_P0147-UNAME, sy-vline,
WA_P0147-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_P0147 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_P0147 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_P0147 INTO WA_P0147. *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_P0147_STR,
PERNR TYPE STRING,
INFTY TYPE STRING,
SUBTY TYPE STRING,
OBJPS TYPE STRING,
SPRPS TYPE STRING,
ENDDA TYPE STRING,
BEGDA TYPE STRING,
SEQNR TYPE STRING,
AEDTM TYPE STRING,
UNAME TYPE STRING,
HISTO TYPE STRING,
ITXEX TYPE STRING,
REFEX TYPE STRING,
ORDEX TYPE STRING,
ITBLD TYPE STRING,
PREAS TYPE STRING,
FLAG1 TYPE STRING,
FLAG2 TYPE STRING,
FLAG3 TYPE STRING,
FLAG4 TYPE STRING,
RESE1 TYPE STRING,
RESE2 TYPE STRING,
GRPVL TYPE STRING,
APPTY TYPE STRING,
APPID TYPE STRING,
EVNM1 TYPE STRING,
EVDT1 TYPE STRING,
EVNM2 TYPE STRING,
EVDT2 TYPE STRING,
EVNMF TYPE STRING,
EVDTF TYPE STRING,
PSREG TYPE STRING,
DFGRP TYPE STRING,
PSCHG TYPE STRING,
DFLVL TYPE STRING,
APRT1 TYPE STRING,
APPT1 TYPE STRING,
APRT2 TYPE STRING,
APPT2 TYPE STRING,
APRTF TYPE STRING,
APPTF TYPE STRING,
APF0A TYPE STRING,
APD0A TYPE STRING,
APR0A TYPE STRING,
APP0A TYPE STRING,
APF0B TYPE STRING,
APD0B TYPE STRING,
APR0B TYPE STRING,
APP0B TYPE STRING,
APF0C TYPE STRING,
APD0C TYPE STRING,
APR0C TYPE STRING,
APP0C TYPE STRING,
APF0D TYPE STRING,
APD0D TYPE STRING,
APR0D TYPE STRING,
APP0D TYPE STRING,
APF0E TYPE STRING,
APD0E TYPE STRING,
APR0E TYPE STRING,
APP0E TYPE STRING,
APF0F TYPE STRING,
APD0F TYPE STRING,
APR0F TYPE STRING,
APP0F TYPE STRING,
APF01 TYPE STRING,
APD01 TYPE STRING,
APR01 TYPE STRING,
APP01 TYPE STRING,
APF02 TYPE STRING,
APD02 TYPE STRING,
APR02 TYPE STRING,
APP02 TYPE STRING,
APF03 TYPE STRING,
APD03 TYPE STRING,
APR03 TYPE STRING,
APP03 TYPE STRING,
APF04 TYPE STRING,
APD04 TYPE STRING,
APR04 TYPE STRING,
APP04 TYPE STRING,
APF05 TYPE STRING,
APD05 TYPE STRING,
APR05 TYPE STRING,
APP05 TYPE STRING,
APF06 TYPE STRING,
APD06 TYPE STRING,
APR06 TYPE STRING,
APP06 TYPE STRING,
APF07 TYPE STRING,
APD07 TYPE STRING,
APR07 TYPE STRING,
APP07 TYPE STRING,
APF08 TYPE STRING,
APD08 TYPE STRING,
APR08 TYPE STRING,
APP08 TYPE STRING,
APF09 TYPE STRING,
APD09 TYPE STRING,
APR09 TYPE STRING,
APP09 TYPE STRING,
APF10 TYPE STRING,
APD10 TYPE STRING,
APR10 TYPE STRING,
APP10 TYPE STRING,
APF11 TYPE STRING,
APD11 TYPE STRING,
APR11 TYPE STRING,
APP11 TYPE STRING,
APF12 TYPE STRING,
APD12 TYPE STRING,
APR12 TYPE STRING,
APP12 TYPE STRING,
APF13 TYPE STRING,
APD13 TYPE STRING,
APR13 TYPE STRING,
APP13 TYPE STRING,
APF14 TYPE STRING,
APD14 TYPE STRING,
APR14 TYPE STRING,
APP14 TYPE STRING,
APF15 TYPE STRING,
APD15 TYPE STRING,
APR15 TYPE STRING,
APP15 TYPE STRING,
APF16 TYPE STRING,
APD16 TYPE STRING,
APR16 TYPE STRING,
APP16 TYPE STRING,
APF17 TYPE STRING,
APD17 TYPE STRING,
APR17 TYPE STRING,
APP17 TYPE STRING,
APF18 TYPE STRING,
APD18 TYPE STRING,
APR18 TYPE STRING,
APP18 TYPE STRING,
APF19 TYPE STRING,
APD19 TYPE STRING,
APR19 TYPE STRING,
APP19 TYPE STRING,
APF20 TYPE STRING,
APD20 TYPE STRING,
APR20 TYPE STRING,
APP20 TYPE STRING,
APF21 TYPE STRING,
APD21 TYPE STRING,
APR21 TYPE STRING,
APP21 TYPE STRING,
APF22 TYPE STRING,
APD22 TYPE STRING,
APR22 TYPE STRING,
APP22 TYPE STRING,
APF23 TYPE STRING,
APD23 TYPE STRING,
APR23 TYPE STRING,
APP23 TYPE STRING,
APF24 TYPE STRING,
APD24 TYPE STRING,
APR24 TYPE STRING,
APP24 TYPE STRING,
APF25 TYPE STRING,
APD25 TYPE STRING,
APR25 TYPE STRING,
APP25 TYPE STRING,
APF26 TYPE STRING,
APD26 TYPE STRING,
APR26 TYPE STRING,
APP26 TYPE STRING,
APF27 TYPE STRING,
APD27 TYPE STRING,
APR27 TYPE STRING,
APP27 TYPE STRING,
APF28 TYPE STRING,
APD28 TYPE STRING,
APR28 TYPE STRING,
APP28 TYPE STRING,
APF29 TYPE STRING,
APD29 TYPE STRING,
APR29 TYPE STRING,
APP29 TYPE STRING,
APF30 TYPE STRING,
APD30 TYPE STRING,
APR30 TYPE STRING,
APP30 TYPE STRING,
APF31 TYPE STRING,
APD31 TYPE STRING,
APR31 TYPE STRING,
APP31 TYPE STRING,
APF32 TYPE STRING,
APD32 TYPE STRING,
APR32 TYPE STRING,
APP32 TYPE STRING,
APF33 TYPE STRING,
APD33 TYPE STRING,
APR33 TYPE STRING,
APP33 TYPE STRING,
APF34 TYPE STRING,
APD34 TYPE STRING,
APR34 TYPE STRING,
APP34 TYPE STRING,
APF35 TYPE STRING,
APD35 TYPE STRING,
APR35 TYPE STRING,
APP35 TYPE STRING,
APF36 TYPE STRING,
APD36 TYPE STRING,
APR36 TYPE STRING,
APP36 TYPE STRING,
APF37 TYPE STRING,
APD37 TYPE STRING,
APR37 TYPE STRING,
APP37 TYPE STRING,
APF38 TYPE STRING,
APD38 TYPE STRING,
APR38 TYPE STRING,
APP38 TYPE STRING,
APF39 TYPE STRING,
APD39 TYPE STRING,
APR39 TYPE STRING,
APP39 TYPE STRING,
APF40 TYPE STRING,
APD40 TYPE STRING,
APR40 TYPE STRING,
APP40 TYPE STRING,
KTRAT TYPE STRING,END OF T_EKKO_STR. DATA: WA_P0147_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_P0147_STR-PERNR sy-vline
WA_P0147_STR-INFTY sy-vline
WA_P0147_STR-SUBTY sy-vline
WA_P0147_STR-OBJPS sy-vline
WA_P0147_STR-SPRPS sy-vline
WA_P0147_STR-ENDDA sy-vline
WA_P0147_STR-BEGDA sy-vline
WA_P0147_STR-SEQNR sy-vline
WA_P0147_STR-AEDTM sy-vline
WA_P0147_STR-UNAME sy-vline
WA_P0147_STR-HISTO sy-vline
WA_P0147_STR-ITXEX sy-vline
WA_P0147_STR-REFEX sy-vline
WA_P0147_STR-ORDEX sy-vline
WA_P0147_STR-ITBLD sy-vline
WA_P0147_STR-PREAS sy-vline
WA_P0147_STR-FLAG1 sy-vline
WA_P0147_STR-FLAG2 sy-vline
WA_P0147_STR-FLAG3 sy-vline
WA_P0147_STR-FLAG4 sy-vline
WA_P0147_STR-RESE1 sy-vline
WA_P0147_STR-RESE2 sy-vline
WA_P0147_STR-GRPVL sy-vline
WA_P0147_STR-APPTY sy-vline
WA_P0147_STR-APPID sy-vline
WA_P0147_STR-EVNM1 sy-vline
WA_P0147_STR-EVDT1 sy-vline
WA_P0147_STR-EVNM2 sy-vline
WA_P0147_STR-EVDT2 sy-vline
WA_P0147_STR-EVNMF sy-vline
WA_P0147_STR-EVDTF sy-vline
WA_P0147_STR-PSREG sy-vline
WA_P0147_STR-DFGRP sy-vline
WA_P0147_STR-PSCHG sy-vline
WA_P0147_STR-DFLVL sy-vline
WA_P0147_STR-APRT1 sy-vline
WA_P0147_STR-APPT1 sy-vline
WA_P0147_STR-APRT2 sy-vline
WA_P0147_STR-APPT2 sy-vline
WA_P0147_STR-APRTF sy-vline
WA_P0147_STR-APPTF sy-vline
WA_P0147_STR-APF0A sy-vline
WA_P0147_STR-APD0A sy-vline
WA_P0147_STR-APR0A sy-vline
WA_P0147_STR-APP0A sy-vline
WA_P0147_STR-APF0B sy-vline
WA_P0147_STR-APD0B sy-vline
WA_P0147_STR-APR0B sy-vline
WA_P0147_STR-APP0B sy-vline
WA_P0147_STR-APF0C sy-vline
WA_P0147_STR-APD0C sy-vline
WA_P0147_STR-APR0C sy-vline
WA_P0147_STR-APP0C sy-vline
WA_P0147_STR-APF0D sy-vline
WA_P0147_STR-APD0D sy-vline
WA_P0147_STR-APR0D sy-vline
WA_P0147_STR-APP0D sy-vline
WA_P0147_STR-APF0E sy-vline
WA_P0147_STR-APD0E sy-vline
WA_P0147_STR-APR0E sy-vline
WA_P0147_STR-APP0E sy-vline
WA_P0147_STR-APF0F sy-vline
WA_P0147_STR-APD0F sy-vline
WA_P0147_STR-APR0F sy-vline
WA_P0147_STR-APP0F sy-vline
WA_P0147_STR-APF01 sy-vline
WA_P0147_STR-APD01 sy-vline
WA_P0147_STR-APR01 sy-vline
WA_P0147_STR-APP01 sy-vline
WA_P0147_STR-APF02 sy-vline
WA_P0147_STR-APD02 sy-vline
WA_P0147_STR-APR02 sy-vline
WA_P0147_STR-APP02 sy-vline
WA_P0147_STR-APF03 sy-vline
WA_P0147_STR-APD03 sy-vline
WA_P0147_STR-APR03 sy-vline
WA_P0147_STR-APP03 sy-vline
WA_P0147_STR-APF04 sy-vline
WA_P0147_STR-APD04 sy-vline
WA_P0147_STR-APR04 sy-vline
WA_P0147_STR-APP04 sy-vline
WA_P0147_STR-APF05 sy-vline
WA_P0147_STR-APD05 sy-vline
WA_P0147_STR-APR05 sy-vline
WA_P0147_STR-APP05 sy-vline
WA_P0147_STR-APF06 sy-vline
WA_P0147_STR-APD06 sy-vline
WA_P0147_STR-APR06 sy-vline
WA_P0147_STR-APP06 sy-vline
WA_P0147_STR-APF07 sy-vline
WA_P0147_STR-APD07 sy-vline
WA_P0147_STR-APR07 sy-vline
WA_P0147_STR-APP07 sy-vline
WA_P0147_STR-APF08 sy-vline
WA_P0147_STR-APD08 sy-vline
WA_P0147_STR-APR08 sy-vline
WA_P0147_STR-APP08 sy-vline
WA_P0147_STR-APF09 sy-vline
WA_P0147_STR-APD09 sy-vline
WA_P0147_STR-APR09 sy-vline
WA_P0147_STR-APP09 sy-vline
WA_P0147_STR-APF10 sy-vline
WA_P0147_STR-APD10 sy-vline
WA_P0147_STR-APR10 sy-vline
WA_P0147_STR-APP10 sy-vline
WA_P0147_STR-APF11 sy-vline
WA_P0147_STR-APD11 sy-vline
WA_P0147_STR-APR11 sy-vline
WA_P0147_STR-APP11 sy-vline
WA_P0147_STR-APF12 sy-vline
WA_P0147_STR-APD12 sy-vline
WA_P0147_STR-APR12 sy-vline
WA_P0147_STR-APP12 sy-vline
WA_P0147_STR-APF13 sy-vline
WA_P0147_STR-APD13 sy-vline
WA_P0147_STR-APR13 sy-vline
WA_P0147_STR-APP13 sy-vline
WA_P0147_STR-APF14 sy-vline
WA_P0147_STR-APD14 sy-vline
WA_P0147_STR-APR14 sy-vline
WA_P0147_STR-APP14 sy-vline
WA_P0147_STR-APF15 sy-vline
WA_P0147_STR-APD15 sy-vline
WA_P0147_STR-APR15 sy-vline
WA_P0147_STR-APP15 sy-vline
WA_P0147_STR-APF16 sy-vline
WA_P0147_STR-APD16 sy-vline
WA_P0147_STR-APR16 sy-vline
WA_P0147_STR-APP16 sy-vline
WA_P0147_STR-APF17 sy-vline
WA_P0147_STR-APD17 sy-vline
WA_P0147_STR-APR17 sy-vline
WA_P0147_STR-APP17 sy-vline
WA_P0147_STR-APF18 sy-vline
WA_P0147_STR-APD18 sy-vline
WA_P0147_STR-APR18 sy-vline
WA_P0147_STR-APP18 sy-vline
WA_P0147_STR-APF19 sy-vline
WA_P0147_STR-APD19 sy-vline
WA_P0147_STR-APR19 sy-vline
WA_P0147_STR-APP19 sy-vline
WA_P0147_STR-APF20 sy-vline
WA_P0147_STR-APD20 sy-vline
WA_P0147_STR-APR20 sy-vline
WA_P0147_STR-APP20 sy-vline
WA_P0147_STR-APF21 sy-vline
WA_P0147_STR-APD21 sy-vline
WA_P0147_STR-APR21 sy-vline
WA_P0147_STR-APP21 sy-vline
WA_P0147_STR-APF22 sy-vline
WA_P0147_STR-APD22 sy-vline
WA_P0147_STR-APR22 sy-vline
WA_P0147_STR-APP22 sy-vline
WA_P0147_STR-APF23 sy-vline
WA_P0147_STR-APD23 sy-vline
WA_P0147_STR-APR23 sy-vline
WA_P0147_STR-APP23 sy-vline
WA_P0147_STR-APF24 sy-vline
WA_P0147_STR-APD24 sy-vline
WA_P0147_STR-APR24 sy-vline
WA_P0147_STR-APP24 sy-vline
WA_P0147_STR-APF25 sy-vline
WA_P0147_STR-APD25 sy-vline
WA_P0147_STR-APR25 sy-vline
WA_P0147_STR-APP25 sy-vline
WA_P0147_STR-APF26 sy-vline
WA_P0147_STR-APD26 sy-vline
WA_P0147_STR-APR26 sy-vline
WA_P0147_STR-APP26 sy-vline
WA_P0147_STR-APF27 sy-vline
WA_P0147_STR-APD27 sy-vline
WA_P0147_STR-APR27 sy-vline
WA_P0147_STR-APP27 sy-vline
WA_P0147_STR-APF28 sy-vline
WA_P0147_STR-APD28 sy-vline
WA_P0147_STR-APR28 sy-vline
WA_P0147_STR-APP28 sy-vline
WA_P0147_STR-APF29 sy-vline
WA_P0147_STR-APD29 sy-vline
WA_P0147_STR-APR29 sy-vline
WA_P0147_STR-APP29 sy-vline
WA_P0147_STR-APF30 sy-vline
WA_P0147_STR-APD30 sy-vline
WA_P0147_STR-APR30 sy-vline
WA_P0147_STR-APP30 sy-vline
WA_P0147_STR-APF31 sy-vline
WA_P0147_STR-APD31 sy-vline
WA_P0147_STR-APR31 sy-vline
WA_P0147_STR-APP31 sy-vline
WA_P0147_STR-APF32 sy-vline
WA_P0147_STR-APD32 sy-vline
WA_P0147_STR-APR32 sy-vline
WA_P0147_STR-APP32 sy-vline
WA_P0147_STR-APF33 sy-vline
WA_P0147_STR-APD33 sy-vline
WA_P0147_STR-APR33 sy-vline
WA_P0147_STR-APP33 sy-vline
WA_P0147_STR-APF34 sy-vline
WA_P0147_STR-APD34 sy-vline
WA_P0147_STR-APR34 sy-vline
WA_P0147_STR-APP34 sy-vline
WA_P0147_STR-APF35 sy-vline
WA_P0147_STR-APD35 sy-vline
WA_P0147_STR-APR35 sy-vline
WA_P0147_STR-APP35 sy-vline
WA_P0147_STR-APF36 sy-vline
WA_P0147_STR-APD36 sy-vline
WA_P0147_STR-APR36 sy-vline
WA_P0147_STR-APP36 sy-vline
WA_P0147_STR-APF37 sy-vline
WA_P0147_STR-APD37 sy-vline
WA_P0147_STR-APR37 sy-vline
WA_P0147_STR-APP37 sy-vline
WA_P0147_STR-APF38 sy-vline
WA_P0147_STR-APD38 sy-vline
WA_P0147_STR-APR38 sy-vline
WA_P0147_STR-APP38 sy-vline
WA_P0147_STR-APF39 sy-vline
WA_P0147_STR-APD39 sy-vline
WA_P0147_STR-APR39 sy-vline
WA_P0147_STR-APP39 sy-vline
WA_P0147_STR-APF40 sy-vline
WA_P0147_STR-APD40 sy-vline
WA_P0147_STR-APR40 sy-vline
WA_P0147_STR-APP40 sy-vline
WA_P0147_STR-KTRAT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.