ABAP Select data from SAP table PB0836 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 PB0836 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 PB0836. 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 PB0836 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_PB0836 TYPE STANDARD TABLE OF PB0836,
      WA_PB0836 TYPE PB0836,
      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: <PB0836> TYPE PB0836.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PB0836
*  INTO TABLE @DATA(IT_PB08362).
*--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_PB0836 INDEX 1 INTO DATA(WA_PB08362).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PB0836-ENDDA, sy-vline,
WA_PB0836-BEGDA, sy-vline,
WA_PB0836-SEQNR, sy-vline,
WA_PB0836-AEDTM, sy-vline,
WA_PB0836-UNAME, sy-vline,
WA_PB0836-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PB0836 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_PB0836 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_PB0836 INTO WA_PB0836. *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_PB0836_STR,
MANDT TYPE STRING,
PERNR 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,
LOGID TYPE STRING,
WAER2 TYPE STRING,
LGA01 TYPE STRING,
END01 TYPE STRING,
BEG01 TYPE STRING,
CTY01 TYPE STRING,
PER01 TYPE STRING,
DAI01 TYPE STRING,
BET01 TYPE STRING,
VAL01 TYPE STRING,
LGA02 TYPE STRING,
END02 TYPE STRING,
BEG02 TYPE STRING,
CTY02 TYPE STRING,
PER02 TYPE STRING,
DAI02 TYPE STRING,
BET02 TYPE STRING,
VAL02 TYPE STRING,
LGA03 TYPE STRING,
END03 TYPE STRING,
BEG03 TYPE STRING,
CTY03 TYPE STRING,
PER03 TYPE STRING,
DAI03 TYPE STRING,
BET03 TYPE STRING,
VAL03 TYPE STRING,
LGA04 TYPE STRING,
END04 TYPE STRING,
BEG04 TYPE STRING,
CTY04 TYPE STRING,
PER04 TYPE STRING,
DAI04 TYPE STRING,
BET04 TYPE STRING,
VAL04 TYPE STRING,
LGA05 TYPE STRING,
END05 TYPE STRING,
BEG05 TYPE STRING,
CTY05 TYPE STRING,
PER05 TYPE STRING,
DAI05 TYPE STRING,
BET05 TYPE STRING,
VAL05 TYPE STRING,
LGA06 TYPE STRING,
END06 TYPE STRING,
BEG06 TYPE STRING,
CTY06 TYPE STRING,
PER06 TYPE STRING,
DAI06 TYPE STRING,
BET06 TYPE STRING,
VAL06 TYPE STRING,
LGA07 TYPE STRING,
END07 TYPE STRING,
BEG07 TYPE STRING,
CTY07 TYPE STRING,
PER07 TYPE STRING,
DAI07 TYPE STRING,
BET07 TYPE STRING,
VAL07 TYPE STRING,
LGA08 TYPE STRING,
END08 TYPE STRING,
BEG08 TYPE STRING,
CTY08 TYPE STRING,
PER08 TYPE STRING,
DAI08 TYPE STRING,
BET08 TYPE STRING,
VAL08 TYPE STRING,
LGA09 TYPE STRING,
END09 TYPE STRING,
BEG09 TYPE STRING,
CTY09 TYPE STRING,
PER09 TYPE STRING,
DAI09 TYPE STRING,
BET09 TYPE STRING,
VAL09 TYPE STRING,
LGA10 TYPE STRING,
END10 TYPE STRING,
BEG10 TYPE STRING,
CTY10 TYPE STRING,
PER10 TYPE STRING,
DAI10 TYPE STRING,
BET10 TYPE STRING,
VAL10 TYPE STRING,
LGA11 TYPE STRING,
END11 TYPE STRING,
BEG11 TYPE STRING,
CTY11 TYPE STRING,
PER11 TYPE STRING,
DAI11 TYPE STRING,
BET11 TYPE STRING,
VAL11 TYPE STRING,
LGA12 TYPE STRING,
END12 TYPE STRING,
BEG12 TYPE STRING,
CTY12 TYPE STRING,
PER12 TYPE STRING,
DAI12 TYPE STRING,
BET12 TYPE STRING,
VAL12 TYPE STRING,
LGA13 TYPE STRING,
END13 TYPE STRING,
BEG13 TYPE STRING,
CTY13 TYPE STRING,
PER13 TYPE STRING,
DAI13 TYPE STRING,
BET13 TYPE STRING,
VAL13 TYPE STRING,
LGA14 TYPE STRING,
END14 TYPE STRING,
BEG14 TYPE STRING,
CTY14 TYPE STRING,
PER14 TYPE STRING,
DAI14 TYPE STRING,
BET14 TYPE STRING,
VAL14 TYPE STRING,
LGA15 TYPE STRING,
END15 TYPE STRING,
BEG15 TYPE STRING,
CTY15 TYPE STRING,
PER15 TYPE STRING,
DAI15 TYPE STRING,
BET15 TYPE STRING,
VAL15 TYPE STRING,
LGA16 TYPE STRING,
END16 TYPE STRING,
BEG16 TYPE STRING,
CTY16 TYPE STRING,
PER16 TYPE STRING,
DAI16 TYPE STRING,
BET16 TYPE STRING,
VAL16 TYPE STRING,
LGA17 TYPE STRING,
END17 TYPE STRING,
BEG17 TYPE STRING,
CTY17 TYPE STRING,
PER17 TYPE STRING,
DAI17 TYPE STRING,
BET17 TYPE STRING,
VAL17 TYPE STRING,
LGA18 TYPE STRING,
END18 TYPE STRING,
BEG18 TYPE STRING,
CTY18 TYPE STRING,
PER18 TYPE STRING,
DAI18 TYPE STRING,
BET18 TYPE STRING,
VAL18 TYPE STRING,
LGA19 TYPE STRING,
END19 TYPE STRING,
BEG19 TYPE STRING,
CTY19 TYPE STRING,
PER19 TYPE STRING,
DAI19 TYPE STRING,
BET19 TYPE STRING,
VAL19 TYPE STRING,
LGA20 TYPE STRING,
END20 TYPE STRING,
BEG20 TYPE STRING,
CTY20 TYPE STRING,
PER20 TYPE STRING,
DAI20 TYPE STRING,
BET20 TYPE STRING,
VAL20 TYPE STRING,END OF T_EKKO_STR. DATA: WA_PB0836_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_PB0836_STR-MANDT sy-vline
WA_PB0836_STR-PERNR sy-vline
WA_PB0836_STR-SUBTY sy-vline
WA_PB0836_STR-OBJPS sy-vline
WA_PB0836_STR-SPRPS sy-vline
WA_PB0836_STR-ENDDA sy-vline
WA_PB0836_STR-BEGDA sy-vline
WA_PB0836_STR-SEQNR sy-vline
WA_PB0836_STR-AEDTM sy-vline
WA_PB0836_STR-UNAME sy-vline
WA_PB0836_STR-HISTO sy-vline
WA_PB0836_STR-ITXEX sy-vline
WA_PB0836_STR-REFEX sy-vline
WA_PB0836_STR-ORDEX sy-vline
WA_PB0836_STR-ITBLD sy-vline
WA_PB0836_STR-PREAS sy-vline
WA_PB0836_STR-FLAG1 sy-vline
WA_PB0836_STR-FLAG2 sy-vline
WA_PB0836_STR-FLAG3 sy-vline
WA_PB0836_STR-FLAG4 sy-vline
WA_PB0836_STR-RESE1 sy-vline
WA_PB0836_STR-RESE2 sy-vline
WA_PB0836_STR-GRPVL sy-vline
WA_PB0836_STR-LOGID sy-vline
WA_PB0836_STR-WAER2 sy-vline
WA_PB0836_STR-LGA01 sy-vline
WA_PB0836_STR-END01 sy-vline
WA_PB0836_STR-BEG01 sy-vline
WA_PB0836_STR-CTY01 sy-vline
WA_PB0836_STR-PER01 sy-vline
WA_PB0836_STR-DAI01 sy-vline
WA_PB0836_STR-BET01 sy-vline
WA_PB0836_STR-VAL01 sy-vline
WA_PB0836_STR-LGA02 sy-vline
WA_PB0836_STR-END02 sy-vline
WA_PB0836_STR-BEG02 sy-vline
WA_PB0836_STR-CTY02 sy-vline
WA_PB0836_STR-PER02 sy-vline
WA_PB0836_STR-DAI02 sy-vline
WA_PB0836_STR-BET02 sy-vline
WA_PB0836_STR-VAL02 sy-vline
WA_PB0836_STR-LGA03 sy-vline
WA_PB0836_STR-END03 sy-vline
WA_PB0836_STR-BEG03 sy-vline
WA_PB0836_STR-CTY03 sy-vline
WA_PB0836_STR-PER03 sy-vline
WA_PB0836_STR-DAI03 sy-vline
WA_PB0836_STR-BET03 sy-vline
WA_PB0836_STR-VAL03 sy-vline
WA_PB0836_STR-LGA04 sy-vline
WA_PB0836_STR-END04 sy-vline
WA_PB0836_STR-BEG04 sy-vline
WA_PB0836_STR-CTY04 sy-vline
WA_PB0836_STR-PER04 sy-vline
WA_PB0836_STR-DAI04 sy-vline
WA_PB0836_STR-BET04 sy-vline
WA_PB0836_STR-VAL04 sy-vline
WA_PB0836_STR-LGA05 sy-vline
WA_PB0836_STR-END05 sy-vline
WA_PB0836_STR-BEG05 sy-vline
WA_PB0836_STR-CTY05 sy-vline
WA_PB0836_STR-PER05 sy-vline
WA_PB0836_STR-DAI05 sy-vline
WA_PB0836_STR-BET05 sy-vline
WA_PB0836_STR-VAL05 sy-vline
WA_PB0836_STR-LGA06 sy-vline
WA_PB0836_STR-END06 sy-vline
WA_PB0836_STR-BEG06 sy-vline
WA_PB0836_STR-CTY06 sy-vline
WA_PB0836_STR-PER06 sy-vline
WA_PB0836_STR-DAI06 sy-vline
WA_PB0836_STR-BET06 sy-vline
WA_PB0836_STR-VAL06 sy-vline
WA_PB0836_STR-LGA07 sy-vline
WA_PB0836_STR-END07 sy-vline
WA_PB0836_STR-BEG07 sy-vline
WA_PB0836_STR-CTY07 sy-vline
WA_PB0836_STR-PER07 sy-vline
WA_PB0836_STR-DAI07 sy-vline
WA_PB0836_STR-BET07 sy-vline
WA_PB0836_STR-VAL07 sy-vline
WA_PB0836_STR-LGA08 sy-vline
WA_PB0836_STR-END08 sy-vline
WA_PB0836_STR-BEG08 sy-vline
WA_PB0836_STR-CTY08 sy-vline
WA_PB0836_STR-PER08 sy-vline
WA_PB0836_STR-DAI08 sy-vline
WA_PB0836_STR-BET08 sy-vline
WA_PB0836_STR-VAL08 sy-vline
WA_PB0836_STR-LGA09 sy-vline
WA_PB0836_STR-END09 sy-vline
WA_PB0836_STR-BEG09 sy-vline
WA_PB0836_STR-CTY09 sy-vline
WA_PB0836_STR-PER09 sy-vline
WA_PB0836_STR-DAI09 sy-vline
WA_PB0836_STR-BET09 sy-vline
WA_PB0836_STR-VAL09 sy-vline
WA_PB0836_STR-LGA10 sy-vline
WA_PB0836_STR-END10 sy-vline
WA_PB0836_STR-BEG10 sy-vline
WA_PB0836_STR-CTY10 sy-vline
WA_PB0836_STR-PER10 sy-vline
WA_PB0836_STR-DAI10 sy-vline
WA_PB0836_STR-BET10 sy-vline
WA_PB0836_STR-VAL10 sy-vline
WA_PB0836_STR-LGA11 sy-vline
WA_PB0836_STR-END11 sy-vline
WA_PB0836_STR-BEG11 sy-vline
WA_PB0836_STR-CTY11 sy-vline
WA_PB0836_STR-PER11 sy-vline
WA_PB0836_STR-DAI11 sy-vline
WA_PB0836_STR-BET11 sy-vline
WA_PB0836_STR-VAL11 sy-vline
WA_PB0836_STR-LGA12 sy-vline
WA_PB0836_STR-END12 sy-vline
WA_PB0836_STR-BEG12 sy-vline
WA_PB0836_STR-CTY12 sy-vline
WA_PB0836_STR-PER12 sy-vline
WA_PB0836_STR-DAI12 sy-vline
WA_PB0836_STR-BET12 sy-vline
WA_PB0836_STR-VAL12 sy-vline
WA_PB0836_STR-LGA13 sy-vline
WA_PB0836_STR-END13 sy-vline
WA_PB0836_STR-BEG13 sy-vline
WA_PB0836_STR-CTY13 sy-vline
WA_PB0836_STR-PER13 sy-vline
WA_PB0836_STR-DAI13 sy-vline
WA_PB0836_STR-BET13 sy-vline
WA_PB0836_STR-VAL13 sy-vline
WA_PB0836_STR-LGA14 sy-vline
WA_PB0836_STR-END14 sy-vline
WA_PB0836_STR-BEG14 sy-vline
WA_PB0836_STR-CTY14 sy-vline
WA_PB0836_STR-PER14 sy-vline
WA_PB0836_STR-DAI14 sy-vline
WA_PB0836_STR-BET14 sy-vline
WA_PB0836_STR-VAL14 sy-vline
WA_PB0836_STR-LGA15 sy-vline
WA_PB0836_STR-END15 sy-vline
WA_PB0836_STR-BEG15 sy-vline
WA_PB0836_STR-CTY15 sy-vline
WA_PB0836_STR-PER15 sy-vline
WA_PB0836_STR-DAI15 sy-vline
WA_PB0836_STR-BET15 sy-vline
WA_PB0836_STR-VAL15 sy-vline
WA_PB0836_STR-LGA16 sy-vline
WA_PB0836_STR-END16 sy-vline
WA_PB0836_STR-BEG16 sy-vline
WA_PB0836_STR-CTY16 sy-vline
WA_PB0836_STR-PER16 sy-vline
WA_PB0836_STR-DAI16 sy-vline
WA_PB0836_STR-BET16 sy-vline
WA_PB0836_STR-VAL16 sy-vline
WA_PB0836_STR-LGA17 sy-vline
WA_PB0836_STR-END17 sy-vline
WA_PB0836_STR-BEG17 sy-vline
WA_PB0836_STR-CTY17 sy-vline
WA_PB0836_STR-PER17 sy-vline
WA_PB0836_STR-DAI17 sy-vline
WA_PB0836_STR-BET17 sy-vline
WA_PB0836_STR-VAL17 sy-vline
WA_PB0836_STR-LGA18 sy-vline
WA_PB0836_STR-END18 sy-vline
WA_PB0836_STR-BEG18 sy-vline
WA_PB0836_STR-CTY18 sy-vline
WA_PB0836_STR-PER18 sy-vline
WA_PB0836_STR-DAI18 sy-vline
WA_PB0836_STR-BET18 sy-vline
WA_PB0836_STR-VAL18 sy-vline
WA_PB0836_STR-LGA19 sy-vline
WA_PB0836_STR-END19 sy-vline
WA_PB0836_STR-BEG19 sy-vline
WA_PB0836_STR-CTY19 sy-vline
WA_PB0836_STR-PER19 sy-vline
WA_PB0836_STR-DAI19 sy-vline
WA_PB0836_STR-BET19 sy-vline
WA_PB0836_STR-VAL19 sy-vline
WA_PB0836_STR-LGA20 sy-vline
WA_PB0836_STR-END20 sy-vline
WA_PB0836_STR-BEG20 sy-vline
WA_PB0836_STR-CTY20 sy-vline
WA_PB0836_STR-PER20 sy-vline
WA_PB0836_STR-DAI20 sy-vline
WA_PB0836_STR-BET20 sy-vline
WA_PB0836_STR-VAL20 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.