ABAP Select data from SAP table TB2BE 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 TB2BE 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 TB2BE. 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 TB2BE 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_TB2BE TYPE STANDARD TABLE OF TB2BE,
      WA_TB2BE TYPE TB2BE,
      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: <TB2BE> TYPE TB2BE.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM TB2BE
*  INTO TABLE @DATA(IT_TB2BE2).
*--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_TB2BE INDEX 1 INTO DATA(WA_TB2BE2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_TB2BE ASSIGNING <TB2BE>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<TB2BE>-MANDT = 1.
<TB2BE>-TCTYP = 1.
<TB2BE>-TDTPV = 1.
<TB2BE>-TDTPC = 1.
<TB2BE>-STATGR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_TB2BE-TXTGR, sy-vline,
WA_TB2BE-INCPO, sy-vline,
WA_TB2BE-DEFWAERS, sy-vline,
WA_TB2BE-DEFKURST, sy-vline,
WA_TB2BE-NUMKI, sy-vline,
WA_TB2BE-TCUNCGR, sy-vline.
ENDLOOP. *Add any further fields from structure WA_TB2BE 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_TB2BE 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_TB2BE INTO WA_TB2BE. *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_TB2BE_STR,
MANDT TYPE STRING,
TCTYP TYPE STRING,
TDTPV TYPE STRING,
TDTPC TYPE STRING,
STATGR TYPE STRING,
TXTGR TYPE STRING,
INCPO TYPE STRING,
DEFWAERS TYPE STRING,
DEFKURST TYPE STRING,
NUMKI TYPE STRING,
TCUNCGR TYPE STRING,
TCSACHV TYPE STRING,
GBATCH TYPE STRING,
TCTDID TYPE STRING,
WCHUN TYPE STRING,
WCHQU TYPE STRING,
LIVAR TYPE STRING,
KAPPL_NA TYPE STRING,
KALSMK_MGT TYPE STRING,
KALSMP_MGT TYPE STRING,
TC_URL TYPE STRING,
USE_CASE TYPE STRING,
CEACT TYPE STRING,
PDACT TYPE STRING,
PPROT TYPE STRING,
PUSER TYPE STRING,
PAUSW TYPE STRING,
ATNAM TYPE STRING,
PARTNER_POP_UP TYPE STRING,
TCCAT TYPE STRING,
TKONN_EX_ACT TYPE STRING,
TKONN_EX_CHECK TYPE STRING,
TC_CHANGE_CHECK TYPE STRING,
POFOST TYPE STRING,
BTBSTA_DEF_INCO TYPE STRING,
BTBSTA_DEF TYPE STRING,
FOL_DOC_DIR TYPE STRING,
TC_TYPE_BLOCK TYPE STRING,
PZUGR TYPE STRING,
TCGROUP TYPE STRING,
DELIVDEF TYPE STRING,
PRICE_DEFAULT TYPE STRING,
PARGR TYPE STRING,
CLOSING_RULE TYPE STRING,
WB2_BEZOB TYPE STRING,
ASSO_OFF TYPE STRING,
PRCHGRP TYPE STRING,
BWREL TYPE STRING,
PRICING_TYPE TYPE STRING,
TCVARIANT TYPE STRING,
GTS_RELEVANT TYPE STRING,
EVENT_RELEVANT TYPE STRING,
LIGRU TYPE STRING,
PLANT_CONTROL TYPE STRING,
PURCHASE_PLANT TYPE STRING,
CONTEXT TYPE STRING,
TYPE_USAGE TYPE STRING,
REP_GROUP TYPE STRING,
AR_OBJECT TYPE STRING,
ITEM_HANDLING TYPE STRING,
CHANGE_DOC TYPE STRING,
DOCUMENT_INDEX TYPE STRING,
DOC_INDEX_DELETE TYPE STRING,
PARTNER_HI TYPE STRING,
BATCH_DET_ACT TYPE STRING,
TXZUF TYPE STRING,
SINGLE_ORG_DATA TYPE STRING,
CONSOL_CONTEXT TYPE STRING,
FREEZE_GROUP TYPE STRING,
CALL_OFF_PARTY TYPE STRING,
WRART TYPE STRING,
LFART_C TYPE STRING,
LFART_V TYPE STRING,
LFART TYPE STRING,
SET_VARIANT TYPE STRING,
GTS_CHECK TYPE STRING,
FLOW_DISPLAY TYPE STRING,
FLOW_SIZE TYPE STRING,
RELEASE_LOG TYPE STRING,
PURPOSE TYPE STRING,
ITEM_REL_TYPE TYPE STRING,
LOCK_FOL_DOCS TYPE STRING,
SETTL_PURPOSE TYPE STRING,
BATCH_CLASS TYPE STRING,
PPE_GROUP_CODE TYPE STRING,
DELIVDEF_TYPE TYPE STRING,
TRMRISK_CTRL TYPE STRING,
TIME_CONTROL TYPE STRING,
ITMAC TYPE STRING,END OF T_EKKO_STR. DATA: WA_TB2BE_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_TB2BE_STR-MANDT sy-vline
WA_TB2BE_STR-TCTYP sy-vline
WA_TB2BE_STR-TDTPV sy-vline
WA_TB2BE_STR-TDTPC sy-vline
WA_TB2BE_STR-STATGR sy-vline
WA_TB2BE_STR-TXTGR sy-vline
WA_TB2BE_STR-INCPO sy-vline
WA_TB2BE_STR-DEFWAERS sy-vline
WA_TB2BE_STR-DEFKURST sy-vline
WA_TB2BE_STR-NUMKI sy-vline
WA_TB2BE_STR-TCUNCGR sy-vline
WA_TB2BE_STR-TCSACHV sy-vline
WA_TB2BE_STR-GBATCH sy-vline
WA_TB2BE_STR-TCTDID sy-vline
WA_TB2BE_STR-WCHUN sy-vline
WA_TB2BE_STR-WCHQU sy-vline
WA_TB2BE_STR-LIVAR sy-vline
WA_TB2BE_STR-KAPPL_NA sy-vline
WA_TB2BE_STR-KALSMK_MGT sy-vline
WA_TB2BE_STR-KALSMP_MGT sy-vline
WA_TB2BE_STR-TC_URL sy-vline
WA_TB2BE_STR-USE_CASE sy-vline
WA_TB2BE_STR-CEACT sy-vline
WA_TB2BE_STR-PDACT sy-vline
WA_TB2BE_STR-PPROT sy-vline
WA_TB2BE_STR-PUSER sy-vline
WA_TB2BE_STR-PAUSW sy-vline
WA_TB2BE_STR-ATNAM sy-vline
WA_TB2BE_STR-PARTNER_POP_UP sy-vline
WA_TB2BE_STR-TCCAT sy-vline
WA_TB2BE_STR-TKONN_EX_ACT sy-vline
WA_TB2BE_STR-TKONN_EX_CHECK sy-vline
WA_TB2BE_STR-TC_CHANGE_CHECK sy-vline
WA_TB2BE_STR-POFOST sy-vline
WA_TB2BE_STR-BTBSTA_DEF_INCO sy-vline
WA_TB2BE_STR-BTBSTA_DEF sy-vline
WA_TB2BE_STR-FOL_DOC_DIR sy-vline
WA_TB2BE_STR-TC_TYPE_BLOCK sy-vline
WA_TB2BE_STR-PZUGR sy-vline
WA_TB2BE_STR-TCGROUP sy-vline
WA_TB2BE_STR-DELIVDEF sy-vline
WA_TB2BE_STR-PRICE_DEFAULT sy-vline
WA_TB2BE_STR-PARGR sy-vline
WA_TB2BE_STR-CLOSING_RULE sy-vline
WA_TB2BE_STR-WB2_BEZOB sy-vline
WA_TB2BE_STR-ASSO_OFF sy-vline
WA_TB2BE_STR-PRCHGRP sy-vline
WA_TB2BE_STR-BWREL sy-vline
WA_TB2BE_STR-PRICING_TYPE sy-vline
WA_TB2BE_STR-TCVARIANT sy-vline
WA_TB2BE_STR-GTS_RELEVANT sy-vline
WA_TB2BE_STR-EVENT_RELEVANT sy-vline
WA_TB2BE_STR-LIGRU sy-vline
WA_TB2BE_STR-PLANT_CONTROL sy-vline
WA_TB2BE_STR-PURCHASE_PLANT sy-vline
WA_TB2BE_STR-CONTEXT sy-vline
WA_TB2BE_STR-TYPE_USAGE sy-vline
WA_TB2BE_STR-REP_GROUP sy-vline
WA_TB2BE_STR-AR_OBJECT sy-vline
WA_TB2BE_STR-ITEM_HANDLING sy-vline
WA_TB2BE_STR-CHANGE_DOC sy-vline
WA_TB2BE_STR-DOCUMENT_INDEX sy-vline
WA_TB2BE_STR-DOC_INDEX_DELETE sy-vline
WA_TB2BE_STR-PARTNER_HI sy-vline
WA_TB2BE_STR-BATCH_DET_ACT sy-vline
WA_TB2BE_STR-TXZUF sy-vline
WA_TB2BE_STR-SINGLE_ORG_DATA sy-vline
WA_TB2BE_STR-CONSOL_CONTEXT sy-vline
WA_TB2BE_STR-FREEZE_GROUP sy-vline
WA_TB2BE_STR-CALL_OFF_PARTY sy-vline
WA_TB2BE_STR-WRART sy-vline
WA_TB2BE_STR-LFART_C sy-vline
WA_TB2BE_STR-LFART_V sy-vline
WA_TB2BE_STR-LFART sy-vline
WA_TB2BE_STR-SET_VARIANT sy-vline
WA_TB2BE_STR-GTS_CHECK sy-vline
WA_TB2BE_STR-FLOW_DISPLAY sy-vline
WA_TB2BE_STR-FLOW_SIZE sy-vline
WA_TB2BE_STR-RELEASE_LOG sy-vline
WA_TB2BE_STR-PURPOSE sy-vline
WA_TB2BE_STR-ITEM_REL_TYPE sy-vline
WA_TB2BE_STR-LOCK_FOL_DOCS sy-vline
WA_TB2BE_STR-SETTL_PURPOSE sy-vline
WA_TB2BE_STR-BATCH_CLASS sy-vline
WA_TB2BE_STR-PPE_GROUP_CODE sy-vline
WA_TB2BE_STR-DELIVDEF_TYPE sy-vline
WA_TB2BE_STR-TRMRISK_CTRL sy-vline
WA_TB2BE_STR-TIME_CONTROL sy-vline
WA_TB2BE_STR-ITMAC sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.