ABAP Select data from SAP table PB0414 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 PB0414 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 PB0414. 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 PB0414 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_PB0414 TYPE STANDARD TABLE OF PB0414,
      WA_PB0414 TYPE PB0414,
      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: <PB0414> TYPE PB0414.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PB0414
*  INTO TABLE @DATA(IT_PB04142).
*--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_PB0414 INDEX 1 INTO DATA(WA_PB04142).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PB0414-ENDDA, sy-vline,
WA_PB0414-BEGDA, sy-vline,
WA_PB0414-SEQNR, sy-vline,
WA_PB0414-AEDTM, sy-vline,
WA_PB0414-UNAME, sy-vline,
WA_PB0414-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PB0414 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_PB0414 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_PB0414 INTO WA_PB0414. *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_PB0414_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,
SCD01 TYPE STRING,
SID01 TYPE STRING,
SYY01 TYPE STRING,
SMM01 TYPE STRING,
SDD01 TYPE STRING,
SCD02 TYPE STRING,
SID02 TYPE STRING,
SYY02 TYPE STRING,
SMM02 TYPE STRING,
SDD02 TYPE STRING,
SCD03 TYPE STRING,
SID03 TYPE STRING,
SYY03 TYPE STRING,
SMM03 TYPE STRING,
SDD03 TYPE STRING,
SCD04 TYPE STRING,
SID04 TYPE STRING,
SYY04 TYPE STRING,
SMM04 TYPE STRING,
SDD04 TYPE STRING,
SCD05 TYPE STRING,
SID05 TYPE STRING,
SYY05 TYPE STRING,
SMM05 TYPE STRING,
SDD05 TYPE STRING,
SCD06 TYPE STRING,
SID06 TYPE STRING,
SYY06 TYPE STRING,
SMM06 TYPE STRING,
SDD06 TYPE STRING,
SCD07 TYPE STRING,
SID07 TYPE STRING,
SYY07 TYPE STRING,
SMM07 TYPE STRING,
SDD07 TYPE STRING,
SCD08 TYPE STRING,
SID08 TYPE STRING,
SYY08 TYPE STRING,
SMM08 TYPE STRING,
SDD08 TYPE STRING,
SCD09 TYPE STRING,
SID09 TYPE STRING,
SYY09 TYPE STRING,
SMM09 TYPE STRING,
SDD09 TYPE STRING,
SCD10 TYPE STRING,
SID10 TYPE STRING,
SYY10 TYPE STRING,
SMM10 TYPE STRING,
SDD10 TYPE STRING,
SCD11 TYPE STRING,
SID11 TYPE STRING,
SYY11 TYPE STRING,
SMM11 TYPE STRING,
SDD11 TYPE STRING,
SCD12 TYPE STRING,
SID12 TYPE STRING,
SYY12 TYPE STRING,
SMM12 TYPE STRING,
SDD12 TYPE STRING,
SCD13 TYPE STRING,
SID13 TYPE STRING,
SYY13 TYPE STRING,
SMM13 TYPE STRING,
SDD13 TYPE STRING,
SCD14 TYPE STRING,
SID14 TYPE STRING,
SYY14 TYPE STRING,
SMM14 TYPE STRING,
SDD14 TYPE STRING,
SCD15 TYPE STRING,
SID15 TYPE STRING,
SYY15 TYPE STRING,
SMM15 TYPE STRING,
SDD15 TYPE STRING,
SCD16 TYPE STRING,
SID16 TYPE STRING,
SYY16 TYPE STRING,
SMM16 TYPE STRING,
SDD16 TYPE STRING,
SCD17 TYPE STRING,
SID17 TYPE STRING,
SYY17 TYPE STRING,
SMM17 TYPE STRING,
SDD17 TYPE STRING,
SCD18 TYPE STRING,
SID18 TYPE STRING,
SYY18 TYPE STRING,
SMM18 TYPE STRING,
SDD18 TYPE STRING,
SCD19 TYPE STRING,
SID19 TYPE STRING,
SYY19 TYPE STRING,
SMM19 TYPE STRING,
SDD19 TYPE STRING,
SCD20 TYPE STRING,
SID20 TYPE STRING,
SYY20 TYPE STRING,
SMM20 TYPE STRING,
SDD20 TYPE STRING,
PERTX TYPE STRING,
LDPER TYPE STRING,
EVRP6 TYPE STRING,
FLFLG TYPE STRING,
RLDPR TYPE STRING,
FEFLG TYPE STRING,
CHALL TYPE STRING,
FAMAL TYPE STRING,
CHL14 TYPE STRING,
PTURN TYPE STRING,
LEAPE TYPE STRING,
GENLE TYPE STRING,
CHN14 TYPE STRING,
CHDIS TYPE STRING,END OF T_EKKO_STR. DATA: WA_PB0414_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_PB0414_STR-MANDT sy-vline
WA_PB0414_STR-PERNR sy-vline
WA_PB0414_STR-SUBTY sy-vline
WA_PB0414_STR-OBJPS sy-vline
WA_PB0414_STR-SPRPS sy-vline
WA_PB0414_STR-ENDDA sy-vline
WA_PB0414_STR-BEGDA sy-vline
WA_PB0414_STR-SEQNR sy-vline
WA_PB0414_STR-AEDTM sy-vline
WA_PB0414_STR-UNAME sy-vline
WA_PB0414_STR-HISTO sy-vline
WA_PB0414_STR-ITXEX sy-vline
WA_PB0414_STR-REFEX sy-vline
WA_PB0414_STR-ORDEX sy-vline
WA_PB0414_STR-ITBLD sy-vline
WA_PB0414_STR-PREAS sy-vline
WA_PB0414_STR-FLAG1 sy-vline
WA_PB0414_STR-FLAG2 sy-vline
WA_PB0414_STR-FLAG3 sy-vline
WA_PB0414_STR-FLAG4 sy-vline
WA_PB0414_STR-RESE1 sy-vline
WA_PB0414_STR-RESE2 sy-vline
WA_PB0414_STR-GRPVL sy-vline
WA_PB0414_STR-SCD01 sy-vline
WA_PB0414_STR-SID01 sy-vline
WA_PB0414_STR-SYY01 sy-vline
WA_PB0414_STR-SMM01 sy-vline
WA_PB0414_STR-SDD01 sy-vline
WA_PB0414_STR-SCD02 sy-vline
WA_PB0414_STR-SID02 sy-vline
WA_PB0414_STR-SYY02 sy-vline
WA_PB0414_STR-SMM02 sy-vline
WA_PB0414_STR-SDD02 sy-vline
WA_PB0414_STR-SCD03 sy-vline
WA_PB0414_STR-SID03 sy-vline
WA_PB0414_STR-SYY03 sy-vline
WA_PB0414_STR-SMM03 sy-vline
WA_PB0414_STR-SDD03 sy-vline
WA_PB0414_STR-SCD04 sy-vline
WA_PB0414_STR-SID04 sy-vline
WA_PB0414_STR-SYY04 sy-vline
WA_PB0414_STR-SMM04 sy-vline
WA_PB0414_STR-SDD04 sy-vline
WA_PB0414_STR-SCD05 sy-vline
WA_PB0414_STR-SID05 sy-vline
WA_PB0414_STR-SYY05 sy-vline
WA_PB0414_STR-SMM05 sy-vline
WA_PB0414_STR-SDD05 sy-vline
WA_PB0414_STR-SCD06 sy-vline
WA_PB0414_STR-SID06 sy-vline
WA_PB0414_STR-SYY06 sy-vline
WA_PB0414_STR-SMM06 sy-vline
WA_PB0414_STR-SDD06 sy-vline
WA_PB0414_STR-SCD07 sy-vline
WA_PB0414_STR-SID07 sy-vline
WA_PB0414_STR-SYY07 sy-vline
WA_PB0414_STR-SMM07 sy-vline
WA_PB0414_STR-SDD07 sy-vline
WA_PB0414_STR-SCD08 sy-vline
WA_PB0414_STR-SID08 sy-vline
WA_PB0414_STR-SYY08 sy-vline
WA_PB0414_STR-SMM08 sy-vline
WA_PB0414_STR-SDD08 sy-vline
WA_PB0414_STR-SCD09 sy-vline
WA_PB0414_STR-SID09 sy-vline
WA_PB0414_STR-SYY09 sy-vline
WA_PB0414_STR-SMM09 sy-vline
WA_PB0414_STR-SDD09 sy-vline
WA_PB0414_STR-SCD10 sy-vline
WA_PB0414_STR-SID10 sy-vline
WA_PB0414_STR-SYY10 sy-vline
WA_PB0414_STR-SMM10 sy-vline
WA_PB0414_STR-SDD10 sy-vline
WA_PB0414_STR-SCD11 sy-vline
WA_PB0414_STR-SID11 sy-vline
WA_PB0414_STR-SYY11 sy-vline
WA_PB0414_STR-SMM11 sy-vline
WA_PB0414_STR-SDD11 sy-vline
WA_PB0414_STR-SCD12 sy-vline
WA_PB0414_STR-SID12 sy-vline
WA_PB0414_STR-SYY12 sy-vline
WA_PB0414_STR-SMM12 sy-vline
WA_PB0414_STR-SDD12 sy-vline
WA_PB0414_STR-SCD13 sy-vline
WA_PB0414_STR-SID13 sy-vline
WA_PB0414_STR-SYY13 sy-vline
WA_PB0414_STR-SMM13 sy-vline
WA_PB0414_STR-SDD13 sy-vline
WA_PB0414_STR-SCD14 sy-vline
WA_PB0414_STR-SID14 sy-vline
WA_PB0414_STR-SYY14 sy-vline
WA_PB0414_STR-SMM14 sy-vline
WA_PB0414_STR-SDD14 sy-vline
WA_PB0414_STR-SCD15 sy-vline
WA_PB0414_STR-SID15 sy-vline
WA_PB0414_STR-SYY15 sy-vline
WA_PB0414_STR-SMM15 sy-vline
WA_PB0414_STR-SDD15 sy-vline
WA_PB0414_STR-SCD16 sy-vline
WA_PB0414_STR-SID16 sy-vline
WA_PB0414_STR-SYY16 sy-vline
WA_PB0414_STR-SMM16 sy-vline
WA_PB0414_STR-SDD16 sy-vline
WA_PB0414_STR-SCD17 sy-vline
WA_PB0414_STR-SID17 sy-vline
WA_PB0414_STR-SYY17 sy-vline
WA_PB0414_STR-SMM17 sy-vline
WA_PB0414_STR-SDD17 sy-vline
WA_PB0414_STR-SCD18 sy-vline
WA_PB0414_STR-SID18 sy-vline
WA_PB0414_STR-SYY18 sy-vline
WA_PB0414_STR-SMM18 sy-vline
WA_PB0414_STR-SDD18 sy-vline
WA_PB0414_STR-SCD19 sy-vline
WA_PB0414_STR-SID19 sy-vline
WA_PB0414_STR-SYY19 sy-vline
WA_PB0414_STR-SMM19 sy-vline
WA_PB0414_STR-SDD19 sy-vline
WA_PB0414_STR-SCD20 sy-vline
WA_PB0414_STR-SID20 sy-vline
WA_PB0414_STR-SYY20 sy-vline
WA_PB0414_STR-SMM20 sy-vline
WA_PB0414_STR-SDD20 sy-vline
WA_PB0414_STR-PERTX sy-vline
WA_PB0414_STR-LDPER sy-vline
WA_PB0414_STR-EVRP6 sy-vline
WA_PB0414_STR-FLFLG sy-vline
WA_PB0414_STR-RLDPR sy-vline
WA_PB0414_STR-FEFLG sy-vline
WA_PB0414_STR-CHALL sy-vline
WA_PB0414_STR-FAMAL sy-vline
WA_PB0414_STR-CHL14 sy-vline
WA_PB0414_STR-PTURN sy-vline
WA_PB0414_STR-LEAPE sy-vline
WA_PB0414_STR-GENLE sy-vline
WA_PB0414_STR-CHN14 sy-vline
WA_PB0414_STR-CHDIS sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.