ABAP Select data from SAP table P0279 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 P0279 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 P0279. 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 P0279 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_P0279 TYPE STANDARD TABLE OF P0279,
      WA_P0279 TYPE P0279,
      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: <P0279> TYPE P0279.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM P0279
*  INTO TABLE @DATA(IT_P02792).
*--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_P0279 INDEX 1 INTO DATA(WA_P02792).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_P0279-ENDDA, sy-vline,
WA_P0279-BEGDA, sy-vline,
WA_P0279-SEQNR, sy-vline,
WA_P0279-AEDTM, sy-vline,
WA_P0279-UNAME, sy-vline,
WA_P0279-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_P0279 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_P0279 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_P0279 INTO WA_P0279. *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_P0279_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,
KASSE TYPE STRING,
WAERS TYPE STRING,
VAE01 TYPE STRING,
VAM01 TYPE STRING,
VTY01 TYPE STRING,
VAE02 TYPE STRING,
VAM02 TYPE STRING,
VTY02 TYPE STRING,
VAE03 TYPE STRING,
VAM03 TYPE STRING,
VTY03 TYPE STRING,
VAE04 TYPE STRING,
VAM04 TYPE STRING,
VTY04 TYPE STRING,
VAE05 TYPE STRING,
VAM05 TYPE STRING,
VTY05 TYPE STRING,
VAE06 TYPE STRING,
VAM06 TYPE STRING,
VTY06 TYPE STRING,
VAE07 TYPE STRING,
VAM07 TYPE STRING,
VTY07 TYPE STRING,
VAE08 TYPE STRING,
VAM08 TYPE STRING,
VTY08 TYPE STRING,
VAE09 TYPE STRING,
VAM09 TYPE STRING,
VTY09 TYPE STRING,
VAE10 TYPE STRING,
VAM10 TYPE STRING,
VTY10 TYPE STRING,
VAE11 TYPE STRING,
VAM11 TYPE STRING,
VTY11 TYPE STRING,
VAE12 TYPE STRING,
VAM12 TYPE STRING,
VTY12 TYPE STRING,
VAE13 TYPE STRING,
VAM13 TYPE STRING,
VTY13 TYPE STRING,
VAE14 TYPE STRING,
VAM14 TYPE STRING,
VTY14 TYPE STRING,
VAE15 TYPE STRING,
VAM15 TYPE STRING,
VTY15 TYPE STRING,
VAE16 TYPE STRING,
VAM16 TYPE STRING,
VTY16 TYPE STRING,
VAE17 TYPE STRING,
VAM17 TYPE STRING,
VTY17 TYPE STRING,
VAE18 TYPE STRING,
VAM18 TYPE STRING,
VTY18 TYPE STRING,
VAE19 TYPE STRING,
VAM19 TYPE STRING,
VTY19 TYPE STRING,
VAE20 TYPE STRING,
VAM20 TYPE STRING,
VTY20 TYPE STRING,
VAE21 TYPE STRING,
VAM21 TYPE STRING,
VTY21 TYPE STRING,
VAE22 TYPE STRING,
VAM22 TYPE STRING,
VTY22 TYPE STRING,
VAE23 TYPE STRING,
VAM23 TYPE STRING,
VTY23 TYPE STRING,
VAE24 TYPE STRING,
VAM24 TYPE STRING,
VTY24 TYPE STRING,
VAE25 TYPE STRING,
VAM25 TYPE STRING,
VTY25 TYPE STRING,
VAE26 TYPE STRING,
VAM26 TYPE STRING,
VTY26 TYPE STRING,
VAE27 TYPE STRING,
VAM27 TYPE STRING,
VTY27 TYPE STRING,
VAE28 TYPE STRING,
VAM28 TYPE STRING,
VTY28 TYPE STRING,
VAE29 TYPE STRING,
VAM29 TYPE STRING,
VTY29 TYPE STRING,
VAE30 TYPE STRING,
VAM30 TYPE STRING,
VTY30 TYPE STRING,END OF T_EKKO_STR. DATA: WA_P0279_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_P0279_STR-PERNR sy-vline
WA_P0279_STR-INFTY sy-vline
WA_P0279_STR-SUBTY sy-vline
WA_P0279_STR-OBJPS sy-vline
WA_P0279_STR-SPRPS sy-vline
WA_P0279_STR-ENDDA sy-vline
WA_P0279_STR-BEGDA sy-vline
WA_P0279_STR-SEQNR sy-vline
WA_P0279_STR-AEDTM sy-vline
WA_P0279_STR-UNAME sy-vline
WA_P0279_STR-HISTO sy-vline
WA_P0279_STR-ITXEX sy-vline
WA_P0279_STR-REFEX sy-vline
WA_P0279_STR-ORDEX sy-vline
WA_P0279_STR-ITBLD sy-vline
WA_P0279_STR-PREAS sy-vline
WA_P0279_STR-FLAG1 sy-vline
WA_P0279_STR-FLAG2 sy-vline
WA_P0279_STR-FLAG3 sy-vline
WA_P0279_STR-FLAG4 sy-vline
WA_P0279_STR-RESE1 sy-vline
WA_P0279_STR-RESE2 sy-vline
WA_P0279_STR-GRPVL sy-vline
WA_P0279_STR-KASSE sy-vline
WA_P0279_STR-WAERS sy-vline
WA_P0279_STR-VAE01 sy-vline
WA_P0279_STR-VAM01 sy-vline
WA_P0279_STR-VTY01 sy-vline
WA_P0279_STR-VAE02 sy-vline
WA_P0279_STR-VAM02 sy-vline
WA_P0279_STR-VTY02 sy-vline
WA_P0279_STR-VAE03 sy-vline
WA_P0279_STR-VAM03 sy-vline
WA_P0279_STR-VTY03 sy-vline
WA_P0279_STR-VAE04 sy-vline
WA_P0279_STR-VAM04 sy-vline
WA_P0279_STR-VTY04 sy-vline
WA_P0279_STR-VAE05 sy-vline
WA_P0279_STR-VAM05 sy-vline
WA_P0279_STR-VTY05 sy-vline
WA_P0279_STR-VAE06 sy-vline
WA_P0279_STR-VAM06 sy-vline
WA_P0279_STR-VTY06 sy-vline
WA_P0279_STR-VAE07 sy-vline
WA_P0279_STR-VAM07 sy-vline
WA_P0279_STR-VTY07 sy-vline
WA_P0279_STR-VAE08 sy-vline
WA_P0279_STR-VAM08 sy-vline
WA_P0279_STR-VTY08 sy-vline
WA_P0279_STR-VAE09 sy-vline
WA_P0279_STR-VAM09 sy-vline
WA_P0279_STR-VTY09 sy-vline
WA_P0279_STR-VAE10 sy-vline
WA_P0279_STR-VAM10 sy-vline
WA_P0279_STR-VTY10 sy-vline
WA_P0279_STR-VAE11 sy-vline
WA_P0279_STR-VAM11 sy-vline
WA_P0279_STR-VTY11 sy-vline
WA_P0279_STR-VAE12 sy-vline
WA_P0279_STR-VAM12 sy-vline
WA_P0279_STR-VTY12 sy-vline
WA_P0279_STR-VAE13 sy-vline
WA_P0279_STR-VAM13 sy-vline
WA_P0279_STR-VTY13 sy-vline
WA_P0279_STR-VAE14 sy-vline
WA_P0279_STR-VAM14 sy-vline
WA_P0279_STR-VTY14 sy-vline
WA_P0279_STR-VAE15 sy-vline
WA_P0279_STR-VAM15 sy-vline
WA_P0279_STR-VTY15 sy-vline
WA_P0279_STR-VAE16 sy-vline
WA_P0279_STR-VAM16 sy-vline
WA_P0279_STR-VTY16 sy-vline
WA_P0279_STR-VAE17 sy-vline
WA_P0279_STR-VAM17 sy-vline
WA_P0279_STR-VTY17 sy-vline
WA_P0279_STR-VAE18 sy-vline
WA_P0279_STR-VAM18 sy-vline
WA_P0279_STR-VTY18 sy-vline
WA_P0279_STR-VAE19 sy-vline
WA_P0279_STR-VAM19 sy-vline
WA_P0279_STR-VTY19 sy-vline
WA_P0279_STR-VAE20 sy-vline
WA_P0279_STR-VAM20 sy-vline
WA_P0279_STR-VTY20 sy-vline
WA_P0279_STR-VAE21 sy-vline
WA_P0279_STR-VAM21 sy-vline
WA_P0279_STR-VTY21 sy-vline
WA_P0279_STR-VAE22 sy-vline
WA_P0279_STR-VAM22 sy-vline
WA_P0279_STR-VTY22 sy-vline
WA_P0279_STR-VAE23 sy-vline
WA_P0279_STR-VAM23 sy-vline
WA_P0279_STR-VTY23 sy-vline
WA_P0279_STR-VAE24 sy-vline
WA_P0279_STR-VAM24 sy-vline
WA_P0279_STR-VTY24 sy-vline
WA_P0279_STR-VAE25 sy-vline
WA_P0279_STR-VAM25 sy-vline
WA_P0279_STR-VTY25 sy-vline
WA_P0279_STR-VAE26 sy-vline
WA_P0279_STR-VAM26 sy-vline
WA_P0279_STR-VTY26 sy-vline
WA_P0279_STR-VAE27 sy-vline
WA_P0279_STR-VAM27 sy-vline
WA_P0279_STR-VTY27 sy-vline
WA_P0279_STR-VAE28 sy-vline
WA_P0279_STR-VAM28 sy-vline
WA_P0279_STR-VTY28 sy-vline
WA_P0279_STR-VAE29 sy-vline
WA_P0279_STR-VAM29 sy-vline
WA_P0279_STR-VTY29 sy-vline
WA_P0279_STR-VAE30 sy-vline
WA_P0279_STR-VAM30 sy-vline
WA_P0279_STR-VTY30 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.