ABAP Select data from SAP table PBE_FORM_CTXBTEXT 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 PBE_FORM_CTXBTEXT 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 PBE_FORM_CTXBTEXT. 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 PBE_FORM_CTXBTEXT 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_PBE_FORM_CTXBTEXT TYPE STANDARD TABLE OF PBE_FORM_CTXBTEXT,
      WA_PBE_FORM_CTXBTEXT TYPE PBE_FORM_CTXBTEXT,
      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: <PBE_FORM_CTXBTEXT> TYPE PBE_FORM_CTXBTEXT.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PBE_FORM_CTXBTEXT
*  INTO TABLE @DATA(IT_PBE_FORM_CTXBTEXT2).
*--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_PBE_FORM_CTXBTEXT INDEX 1 INTO DATA(WA_PBE_FORM_CTXBTEXT2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PBE_FORM_CTXBTEXT ASSIGNING <PBE_FORM_CTXBTEXT>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PBE_FORM_CTXBTEXT>-TEXT_Q52 = 1.
<PBE_FORM_CTXBTEXT>-TEXT_R06 = 1.
<PBE_FORM_CTXBTEXT>-TEXT_R01 = 1.
<PBE_FORM_CTXBTEXT>-TEXT_R04 = 1.
<PBE_FORM_CTXBTEXT>-TEXT_R09 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PBE_FORM_CTXBTEXT-TEXT_R30, sy-vline,
WA_PBE_FORM_CTXBTEXT-TEXT_Q09, sy-vline,
WA_PBE_FORM_CTXBTEXT-TEXT_R61, sy-vline,
WA_PBE_FORM_CTXBTEXT-TEXT_R66, sy-vline,
WA_PBE_FORM_CTXBTEXT-TEXT_R69, sy-vline,
WA_PBE_FORM_CTXBTEXT-TEXT_R74, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PBE_FORM_CTXBTEXT 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_PBE_FORM_CTXBTEXT 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_PBE_FORM_CTXBTEXT INTO WA_PBE_FORM_CTXBTEXT. *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_PBE_FORM_CTXBTEXT_STR,
TEXT_Q52 TYPE STRING,
TEXT_R06 TYPE STRING,
TEXT_R01 TYPE STRING,
TEXT_R04 TYPE STRING,
TEXT_R09 TYPE STRING,
TEXT_R30 TYPE STRING,
TEXT_Q09 TYPE STRING,
TEXT_R61 TYPE STRING,
TEXT_R66 TYPE STRING,
TEXT_R69 TYPE STRING,
TEXT_R74 TYPE STRING,
TEXT_R62 TYPE STRING,
TEXT_R67 TYPE STRING,
TEXT_R70 TYPE STRING,
TEXT_R63 TYPE STRING,
TEXT_R68 TYPE STRING,
TEXT_R71 TYPE STRING,
TEXT_R75 TYPE STRING,
TEXT_R77 TYPE STRING,
TEXT_R64 TYPE STRING,
TEXT_R72 TYPE STRING,
TEXT_R65 TYPE STRING,
TEXT_R73 TYPE STRING,
TEXT_R03 TYPE STRING,
TEXT_R50 TYPE STRING,
TEXT_R78 TYPE STRING,
TEXT_R82 TYPE STRING,
TEXT_R86 TYPE STRING,
TEXT_R91 TYPE STRING,
TEXT_R79 TYPE STRING,
TEXT_R83 TYPE STRING,
TEXT_R87 TYPE STRING,
TEXT_R80 TYPE STRING,
TEXT_R88 TYPE STRING,
TEXT_R93 TYPE STRING,
TEXT_R81 TYPE STRING,
TEXT_R94 TYPE STRING,
TEXT_R95 TYPE STRING,
TEXT_R96 TYPE STRING,
TEXT_R10 TYPE STRING,
TEXT_R51 TYPE STRING,
TEXT_R57 TYPE STRING,
TEXT_Q20 TYPE STRING,
TEXT_Q24 TYPE STRING,
TEXT_Q31 TYPE STRING,
TEXT_Q40 TYPE STRING,
TEXT_Q21 TYPE STRING,
TEXT_Q25 TYPE STRING,
TEXT_Q32 TYPE STRING,
TEXT_Q35 TYPE STRING,
TEXT_Q41 TYPE STRING,
TEXT_Q46 TYPE STRING,
TEXT_Q22 TYPE STRING,
TEXT_Q26 TYPE STRING,
TEXT_Q33 TYPE STRING,
TEXT_Q36 TYPE STRING,
TEXT_Q42 TYPE STRING,
TEXT_Q47 TYPE STRING,
TEXT_Q23 TYPE STRING,
TEXT_Q37 TYPE STRING,
TEXT_Q43 TYPE STRING,
TEXT_Q38 TYPE STRING,
TEXT_Q44 TYPE STRING,
TEXT_Q39 TYPE STRING,
TEXT_Q45 TYPE STRING,
TEXT_Q34 TYPE STRING,
TEXT_R53 TYPE STRING,
TEXT_R54 TYPE STRING,
TEXT_R58 TYPE STRING,
TEXT_R98 TYPE STRING,
TEXT_Q01 TYPE STRING,
TEXT_Q04 TYPE STRING,
TEXT_Q07 TYPE STRING,
TEXT_Q08 TYPE STRING,
TEXT_R60 TYPE STRING,
TEXT_R99 TYPE STRING,
TEXT_Q02 TYPE STRING,
TEXT_Q05 TYPE STRING,
TEXT_R40 TYPE STRING,
TEXT_R41 TYPE STRING,
TEXT_Q14 TYPE STRING,
TEXT_R02 TYPE STRING,
TEXT_R07 TYPE STRING,
TEXT_R44 TYPE STRING,
TEXT_Q12 TYPE STRING,
TEXT_Q03 TYPE STRING,
TEXT_Q06 TYPE STRING,
TEXT_Q15 TYPE STRING,
TEXT_Q48 TYPE STRING,
TEXT_R56 TYPE STRING,
TEXT_R52 TYPE STRING,
TEXT_R55 TYPE STRING,
TEXT_7T1 TYPE STRING,
TEXT_7T6 TYPE STRING,
TEXT_7T2 TYPE STRING,
TEXT_7T4 TYPE STRING,
TEXT_7T7 TYPE STRING,
TEXT_R92 TYPE STRING,
TEXT_7T3 TYPE STRING,
TEXT_7T5 TYPE STRING,
TEXT_7T9 TYPE STRING,
TEXT_7T8 TYPE STRING,
TEXT_R13 TYPE STRING,
TEXT_R21 TYPE STRING,
TEXT_Q10 TYPE STRING,
TEXT_R16 TYPE STRING,
TEXT_R11 TYPE STRING,
TEXT_R59 TYPE STRING,
TEXT_R14 TYPE STRING,
TEXT_R22 TYPE STRING,
TEXT_R25 TYPE STRING,
TEXT_R12 TYPE STRING,
TEXT_R15 TYPE STRING,
TEXT_R23 TYPE STRING,
TEXT_R26 TYPE STRING,
TEXT_R32 TYPE STRING,
TEXT_R18 TYPE STRING,
TEXT_R17 TYPE STRING,
TEXT_R48 TYPE STRING,
TEXT_R28 TYPE STRING,
TEXT_R34 TYPE STRING,
TEXT_R19 TYPE STRING,
TEXT_R08 TYPE STRING,
TEXT_R05 TYPE STRING,
TEXT_R31 TYPE STRING,
TEXT_R90 TYPE STRING,
TEXT_Q51 TYPE STRING,END OF T_EKKO_STR. DATA: WA_PBE_FORM_CTXBTEXT_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_PBE_FORM_CTXBTEXT_STR-TEXT_Q52 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R06 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R01 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R04 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R09 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R30 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q09 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R61 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R66 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R69 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R74 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R62 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R67 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R70 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R63 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R68 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R71 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R75 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R77 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R64 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R72 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R65 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R73 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R03 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R50 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R78 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R82 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R86 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R91 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R79 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R83 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R87 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R80 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R88 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R93 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R81 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R94 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R95 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R96 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R10 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R51 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R57 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q20 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q24 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q31 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q40 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q21 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q25 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q32 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q35 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q41 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q46 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q22 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q26 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q33 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q36 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q42 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q47 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q23 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q37 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q43 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q38 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q44 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q39 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q45 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q34 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R53 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R54 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R58 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R98 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q01 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q04 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q07 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q08 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R60 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R99 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q02 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q05 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R40 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R41 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q14 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R02 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R07 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R44 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q12 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q03 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q06 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q15 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q48 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R56 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R52 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R55 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_7T1 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_7T6 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_7T2 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_7T4 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_7T7 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R92 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_7T3 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_7T5 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_7T9 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_7T8 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R13 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R21 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q10 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R16 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R11 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R59 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R14 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R22 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R25 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R12 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R15 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R23 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R26 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R32 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R18 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R17 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R48 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R28 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R34 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R19 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R08 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R05 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R31 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_R90 sy-vline
WA_PBE_FORM_CTXBTEXT_STR-TEXT_Q51 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.