ABAP Select data from SAP table P0261 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 P0261 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 P0261. 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 P0261 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_P0261 TYPE STANDARD TABLE OF P0261,
      WA_P0261 TYPE P0261,
      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: <P0261> TYPE P0261.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM P0261
*  INTO TABLE @DATA(IT_P02612).
*--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_P0261 INDEX 1 INTO DATA(WA_P02612).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_P0261-ENDDA, sy-vline,
WA_P0261-BEGDA, sy-vline,
WA_P0261-SEQNR, sy-vline,
WA_P0261-AEDTM, sy-vline,
WA_P0261-UNAME, sy-vline,
WA_P0261-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_P0261 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_P0261 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_P0261 INTO WA_P0261. *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_P0261_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,
UAR01 TYPE STRING,
AID01 TYPE STRING,
ANN01 TYPE STRING,
ENT01 TYPE STRING,
ACC01 TYPE STRING,
STA01 TYPE STRING,
UAR02 TYPE STRING,
AID02 TYPE STRING,
ANN02 TYPE STRING,
ENT02 TYPE STRING,
ACC02 TYPE STRING,
STA02 TYPE STRING,
UAR03 TYPE STRING,
AID03 TYPE STRING,
ANN03 TYPE STRING,
ENT03 TYPE STRING,
ACC03 TYPE STRING,
STA03 TYPE STRING,
UAR04 TYPE STRING,
AID04 TYPE STRING,
ANN04 TYPE STRING,
ENT04 TYPE STRING,
ACC04 TYPE STRING,
STA04 TYPE STRING,
UAR05 TYPE STRING,
AID05 TYPE STRING,
ANN05 TYPE STRING,
ENT05 TYPE STRING,
ACC05 TYPE STRING,
STA05 TYPE STRING,
UAR06 TYPE STRING,
AID06 TYPE STRING,
ANN06 TYPE STRING,
ENT06 TYPE STRING,
ACC06 TYPE STRING,
STA06 TYPE STRING,
UAR07 TYPE STRING,
AID07 TYPE STRING,
ANN07 TYPE STRING,
ENT07 TYPE STRING,
ACC07 TYPE STRING,
STA07 TYPE STRING,
UAR08 TYPE STRING,
AID08 TYPE STRING,
ANN08 TYPE STRING,
ENT08 TYPE STRING,
ACC08 TYPE STRING,
STA08 TYPE STRING,
UAR09 TYPE STRING,
AID09 TYPE STRING,
ANN09 TYPE STRING,
ENT09 TYPE STRING,
ACC09 TYPE STRING,
STA09 TYPE STRING,
UAR10 TYPE STRING,
AID10 TYPE STRING,
ANN10 TYPE STRING,
ENT10 TYPE STRING,
ACC10 TYPE STRING,
STA10 TYPE STRING,
UAR11 TYPE STRING,
AID11 TYPE STRING,
ANN11 TYPE STRING,
ENT11 TYPE STRING,
ACC11 TYPE STRING,
STA11 TYPE STRING,
UAR12 TYPE STRING,
AID12 TYPE STRING,
ANN12 TYPE STRING,
ENT12 TYPE STRING,
ACC12 TYPE STRING,
STA12 TYPE STRING,
UAR13 TYPE STRING,
AID13 TYPE STRING,
ANN13 TYPE STRING,
ENT13 TYPE STRING,
ACC13 TYPE STRING,
STA13 TYPE STRING,
UAR14 TYPE STRING,
AID14 TYPE STRING,
ANN14 TYPE STRING,
ENT14 TYPE STRING,
ACC14 TYPE STRING,
STA14 TYPE STRING,
UAR15 TYPE STRING,
AID15 TYPE STRING,
ANN15 TYPE STRING,
ENT15 TYPE STRING,
ACC15 TYPE STRING,
STA15 TYPE STRING,
UAR16 TYPE STRING,
AID16 TYPE STRING,
ANN16 TYPE STRING,
ENT16 TYPE STRING,
ACC16 TYPE STRING,
STA16 TYPE STRING,
UAR17 TYPE STRING,
AID17 TYPE STRING,
ANN17 TYPE STRING,
ENT17 TYPE STRING,
ACC17 TYPE STRING,
STA17 TYPE STRING,
UAR18 TYPE STRING,
AID18 TYPE STRING,
ANN18 TYPE STRING,
ENT18 TYPE STRING,
ACC18 TYPE STRING,
STA18 TYPE STRING,
UAR19 TYPE STRING,
AID19 TYPE STRING,
ANN19 TYPE STRING,
ENT19 TYPE STRING,
ACC19 TYPE STRING,
STA19 TYPE STRING,
UAR20 TYPE STRING,
AID20 TYPE STRING,
ANN20 TYPE STRING,
ENT20 TYPE STRING,
ACC20 TYPE STRING,
STA20 TYPE STRING,END OF T_EKKO_STR. DATA: WA_P0261_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_P0261_STR-PERNR sy-vline
WA_P0261_STR-INFTY sy-vline
WA_P0261_STR-SUBTY sy-vline
WA_P0261_STR-OBJPS sy-vline
WA_P0261_STR-SPRPS sy-vline
WA_P0261_STR-ENDDA sy-vline
WA_P0261_STR-BEGDA sy-vline
WA_P0261_STR-SEQNR sy-vline
WA_P0261_STR-AEDTM sy-vline
WA_P0261_STR-UNAME sy-vline
WA_P0261_STR-HISTO sy-vline
WA_P0261_STR-ITXEX sy-vline
WA_P0261_STR-REFEX sy-vline
WA_P0261_STR-ORDEX sy-vline
WA_P0261_STR-ITBLD sy-vline
WA_P0261_STR-PREAS sy-vline
WA_P0261_STR-FLAG1 sy-vline
WA_P0261_STR-FLAG2 sy-vline
WA_P0261_STR-FLAG3 sy-vline
WA_P0261_STR-FLAG4 sy-vline
WA_P0261_STR-RESE1 sy-vline
WA_P0261_STR-RESE2 sy-vline
WA_P0261_STR-GRPVL sy-vline
WA_P0261_STR-UAR01 sy-vline
WA_P0261_STR-AID01 sy-vline
WA_P0261_STR-ANN01 sy-vline
WA_P0261_STR-ENT01 sy-vline
WA_P0261_STR-ACC01 sy-vline
WA_P0261_STR-STA01 sy-vline
WA_P0261_STR-UAR02 sy-vline
WA_P0261_STR-AID02 sy-vline
WA_P0261_STR-ANN02 sy-vline
WA_P0261_STR-ENT02 sy-vline
WA_P0261_STR-ACC02 sy-vline
WA_P0261_STR-STA02 sy-vline
WA_P0261_STR-UAR03 sy-vline
WA_P0261_STR-AID03 sy-vline
WA_P0261_STR-ANN03 sy-vline
WA_P0261_STR-ENT03 sy-vline
WA_P0261_STR-ACC03 sy-vline
WA_P0261_STR-STA03 sy-vline
WA_P0261_STR-UAR04 sy-vline
WA_P0261_STR-AID04 sy-vline
WA_P0261_STR-ANN04 sy-vline
WA_P0261_STR-ENT04 sy-vline
WA_P0261_STR-ACC04 sy-vline
WA_P0261_STR-STA04 sy-vline
WA_P0261_STR-UAR05 sy-vline
WA_P0261_STR-AID05 sy-vline
WA_P0261_STR-ANN05 sy-vline
WA_P0261_STR-ENT05 sy-vline
WA_P0261_STR-ACC05 sy-vline
WA_P0261_STR-STA05 sy-vline
WA_P0261_STR-UAR06 sy-vline
WA_P0261_STR-AID06 sy-vline
WA_P0261_STR-ANN06 sy-vline
WA_P0261_STR-ENT06 sy-vline
WA_P0261_STR-ACC06 sy-vline
WA_P0261_STR-STA06 sy-vline
WA_P0261_STR-UAR07 sy-vline
WA_P0261_STR-AID07 sy-vline
WA_P0261_STR-ANN07 sy-vline
WA_P0261_STR-ENT07 sy-vline
WA_P0261_STR-ACC07 sy-vline
WA_P0261_STR-STA07 sy-vline
WA_P0261_STR-UAR08 sy-vline
WA_P0261_STR-AID08 sy-vline
WA_P0261_STR-ANN08 sy-vline
WA_P0261_STR-ENT08 sy-vline
WA_P0261_STR-ACC08 sy-vline
WA_P0261_STR-STA08 sy-vline
WA_P0261_STR-UAR09 sy-vline
WA_P0261_STR-AID09 sy-vline
WA_P0261_STR-ANN09 sy-vline
WA_P0261_STR-ENT09 sy-vline
WA_P0261_STR-ACC09 sy-vline
WA_P0261_STR-STA09 sy-vline
WA_P0261_STR-UAR10 sy-vline
WA_P0261_STR-AID10 sy-vline
WA_P0261_STR-ANN10 sy-vline
WA_P0261_STR-ENT10 sy-vline
WA_P0261_STR-ACC10 sy-vline
WA_P0261_STR-STA10 sy-vline
WA_P0261_STR-UAR11 sy-vline
WA_P0261_STR-AID11 sy-vline
WA_P0261_STR-ANN11 sy-vline
WA_P0261_STR-ENT11 sy-vline
WA_P0261_STR-ACC11 sy-vline
WA_P0261_STR-STA11 sy-vline
WA_P0261_STR-UAR12 sy-vline
WA_P0261_STR-AID12 sy-vline
WA_P0261_STR-ANN12 sy-vline
WA_P0261_STR-ENT12 sy-vline
WA_P0261_STR-ACC12 sy-vline
WA_P0261_STR-STA12 sy-vline
WA_P0261_STR-UAR13 sy-vline
WA_P0261_STR-AID13 sy-vline
WA_P0261_STR-ANN13 sy-vline
WA_P0261_STR-ENT13 sy-vline
WA_P0261_STR-ACC13 sy-vline
WA_P0261_STR-STA13 sy-vline
WA_P0261_STR-UAR14 sy-vline
WA_P0261_STR-AID14 sy-vline
WA_P0261_STR-ANN14 sy-vline
WA_P0261_STR-ENT14 sy-vline
WA_P0261_STR-ACC14 sy-vline
WA_P0261_STR-STA14 sy-vline
WA_P0261_STR-UAR15 sy-vline
WA_P0261_STR-AID15 sy-vline
WA_P0261_STR-ANN15 sy-vline
WA_P0261_STR-ENT15 sy-vline
WA_P0261_STR-ACC15 sy-vline
WA_P0261_STR-STA15 sy-vline
WA_P0261_STR-UAR16 sy-vline
WA_P0261_STR-AID16 sy-vline
WA_P0261_STR-ANN16 sy-vline
WA_P0261_STR-ENT16 sy-vline
WA_P0261_STR-ACC16 sy-vline
WA_P0261_STR-STA16 sy-vline
WA_P0261_STR-UAR17 sy-vline
WA_P0261_STR-AID17 sy-vline
WA_P0261_STR-ANN17 sy-vline
WA_P0261_STR-ENT17 sy-vline
WA_P0261_STR-ACC17 sy-vline
WA_P0261_STR-STA17 sy-vline
WA_P0261_STR-UAR18 sy-vline
WA_P0261_STR-AID18 sy-vline
WA_P0261_STR-ANN18 sy-vline
WA_P0261_STR-ENT18 sy-vline
WA_P0261_STR-ACC18 sy-vline
WA_P0261_STR-STA18 sy-vline
WA_P0261_STR-UAR19 sy-vline
WA_P0261_STR-AID19 sy-vline
WA_P0261_STR-ANN19 sy-vline
WA_P0261_STR-ENT19 sy-vline
WA_P0261_STR-ACC19 sy-vline
WA_P0261_STR-STA19 sy-vline
WA_P0261_STR-UAR20 sy-vline
WA_P0261_STR-AID20 sy-vline
WA_P0261_STR-ANN20 sy-vline
WA_P0261_STR-ENT20 sy-vline
WA_P0261_STR-ACC20 sy-vline
WA_P0261_STR-STA20 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.