ABAP Select data from SAP table TIPZB 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 TIPZB 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 TIPZB. 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 TIPZB 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_TIPZB TYPE STANDARD TABLE OF TIPZB,
      WA_TIPZB TYPE TIPZB,
      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: <TIPZB> TYPE TIPZB.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM TIPZB
*  INTO TABLE @DATA(IT_TIPZB2).
*--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_TIPZB INDEX 1 INTO DATA(WA_TIPZB2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_TIPZB ASSIGNING <TIPZB>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<TIPZB>-MANDT = 1.
<TIPZB>-BUKRS = 1.
<TIPZB>-DEF_FEINS = 1.
<TIPZB>-DEF_REINS = 1.
<TIPZB>-DEF_VORZ = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_TIPZB-RA_INSTALL, sy-vline,
WA_TIPZB-VVLEN, sy-vline,
WA_TIPZB-JAUTOMV, sy-vline,
WA_TIPZB-JAUTOGEB, sy-vline,
WA_TIPZB-XTRENNMV, sy-vline,
WA_TIPZB-SDEBAUT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_TIPZB 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_TIPZB 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_TIPZB INTO WA_TIPZB. *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.

*Conversion exit CUNIT, internal->external for field DEF_FEINS CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TIPZB-DEF_FEINS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TIPZB-DEF_FEINS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field DEF_REINS CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TIPZB-DEF_REINS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TIPZB-DEF_REINS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field VVLEN CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TIPZB-VVLEN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TIPZB-VVLEN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field DEF_TFEINS CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_TIPZB-DEF_TFEINS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TIPZB-DEF_TFEINS.
WRITE:/ 'New Value:', ld_input.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_TIPZB_STR,
MANDT TYPE STRING,
BUKRS TYPE STRING,
DEF_FEINS TYPE STRING,
DEF_REINS TYPE STRING,
DEF_VORZ TYPE STRING,
RA_INSTALL TYPE STRING,
VVLEN TYPE STRING,
JAUTOMV TYPE STRING,
JAUTOGEB TYPE STRING,
XTRENNMV TYPE STRING,
SDEBAUT TYPE STRING,
VVJBAV TYPE STRING,
JPOSTNOW TYPE STRING,
JOPTIERT TYPE STRING,
JAEPRUEF TYPE STRING,
BNOVST TYPE STRING,
BVEVST TYPE STRING,
MVKOP TYPE STRING,
ANZSWENR TYPE STRING,
ANZGEBGR TYPE STRING,
ANZSMENR TYPE STRING,
XFILL TYPE STRING,
JAMHIER TYPE STRING,
JVSTBEST TYPE STRING,
JANL1Z1 TYPE STRING,
JANLOBL TYPE STRING,
JKONDMV TYPE STRING,
PKONDMV TYPE STRING,
JBRBEW TYPE STRING,
WERKS TYPE STRING,
OPTABW TYPE STRING,
DPCFLG TYPE STRING,
ZLSCH TYPE STRING,
EQM_INSTAL TYPE STRING,
EIGT_BLART TYPE STRING,
ZBUKRS TYPE STRING,
JEIGTV TYPE STRING,
LZLSCH TYPE STRING,
KZLSCHG TYPE STRING,
KZLSCHL TYPE STRING,
ZEBLART TYPE STRING,
VVMWSKZ0 TYPE STRING,
VVVSTKZ0 TYPE STRING,
EBBLART TYPE STRING,
UNTZLSCH TYPE STRING,
UEBZLSCH TYPE STRING,
UNTZLSPR TYPE STRING,
UEBZLSPR TYPE STRING,
OPTSATZ TYPE STRING,
OPTERM TYPE STRING,
XZUONR TYPE STRING,
KPBLART TYPE STRING,
JCONDDAY TYPE STRING,
TAXUSBLART TYPE STRING,
RPNEW TYPE STRING,
ZEBKUEB TYPE STRING,
JEQM_1Z1 TYPE STRING,
JEQM_WE TYPE STRING,
JEQM_GR TYPE STRING,
JEQM_GE TYPE STRING,
JEQM_ME TYPE STRING,
EQM_TPLKZ TYPE STRING,
EQM_FLTYP TYPE STRING,
JBKBEST TYPE STRING,
EQM_TCODE TYPE STRING,
JEQM_FL TYPE STRING,
JEQM_RA TYPE STRING,
EQM_TPLNR TYPE STRING,
JEQM_1Z1WE TYPE STRING,
JEQM_1Z1GR TYPE STRING,
JEQM_1Z1GE TYPE STRING,
JEQM_1Z1ME TYPE STRING,
EQM_OT_WE TYPE STRING,
EQM_OT_GR TYPE STRING,
EQM_OT_GE TYPE STRING,
EQM_OT_ME TYPE STRING,
JNOTAXCORR TYPE STRING,
EQM_OT_FL TYPE STRING,
EQM_OT_RA TYPE STRING,
JEQM_VFL TYPE STRING,
EQM_OT_VFL TYPE STRING,
EQM_TCODE2 TYPE STRING,
JMANDBUKRS TYPE STRING,
ACCSYSTEM TYPE STRING,
CNDSPOS TYPE STRING,
CNDSTAX TYPE STRING,
DEF_TFEINS TYPE STRING,
FLTGNR TYPE STRING,
REHORMS TYPE STRING,END OF T_EKKO_STR. DATA: WA_TIPZB_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_TIPZB_STR-MANDT sy-vline
WA_TIPZB_STR-BUKRS sy-vline
WA_TIPZB_STR-DEF_FEINS sy-vline
WA_TIPZB_STR-DEF_REINS sy-vline
WA_TIPZB_STR-DEF_VORZ sy-vline
WA_TIPZB_STR-RA_INSTALL sy-vline
WA_TIPZB_STR-VVLEN sy-vline
WA_TIPZB_STR-JAUTOMV sy-vline
WA_TIPZB_STR-JAUTOGEB sy-vline
WA_TIPZB_STR-XTRENNMV sy-vline
WA_TIPZB_STR-SDEBAUT sy-vline
WA_TIPZB_STR-VVJBAV sy-vline
WA_TIPZB_STR-JPOSTNOW sy-vline
WA_TIPZB_STR-JOPTIERT sy-vline
WA_TIPZB_STR-JAEPRUEF sy-vline
WA_TIPZB_STR-BNOVST sy-vline
WA_TIPZB_STR-BVEVST sy-vline
WA_TIPZB_STR-MVKOP sy-vline
WA_TIPZB_STR-ANZSWENR sy-vline
WA_TIPZB_STR-ANZGEBGR sy-vline
WA_TIPZB_STR-ANZSMENR sy-vline
WA_TIPZB_STR-XFILL sy-vline
WA_TIPZB_STR-JAMHIER sy-vline
WA_TIPZB_STR-JVSTBEST sy-vline
WA_TIPZB_STR-JANL1Z1 sy-vline
WA_TIPZB_STR-JANLOBL sy-vline
WA_TIPZB_STR-JKONDMV sy-vline
WA_TIPZB_STR-PKONDMV sy-vline
WA_TIPZB_STR-JBRBEW sy-vline
WA_TIPZB_STR-WERKS sy-vline
WA_TIPZB_STR-OPTABW sy-vline
WA_TIPZB_STR-DPCFLG sy-vline
WA_TIPZB_STR-ZLSCH sy-vline
WA_TIPZB_STR-EQM_INSTAL sy-vline
WA_TIPZB_STR-EIGT_BLART sy-vline
WA_TIPZB_STR-ZBUKRS sy-vline
WA_TIPZB_STR-JEIGTV sy-vline
WA_TIPZB_STR-LZLSCH sy-vline
WA_TIPZB_STR-KZLSCHG sy-vline
WA_TIPZB_STR-KZLSCHL sy-vline
WA_TIPZB_STR-ZEBLART sy-vline
WA_TIPZB_STR-VVMWSKZ0 sy-vline
WA_TIPZB_STR-VVVSTKZ0 sy-vline
WA_TIPZB_STR-EBBLART sy-vline
WA_TIPZB_STR-UNTZLSCH sy-vline
WA_TIPZB_STR-UEBZLSCH sy-vline
WA_TIPZB_STR-UNTZLSPR sy-vline
WA_TIPZB_STR-UEBZLSPR sy-vline
WA_TIPZB_STR-OPTSATZ sy-vline
WA_TIPZB_STR-OPTERM sy-vline
WA_TIPZB_STR-XZUONR sy-vline
WA_TIPZB_STR-KPBLART sy-vline
WA_TIPZB_STR-JCONDDAY sy-vline
WA_TIPZB_STR-TAXUSBLART sy-vline
WA_TIPZB_STR-RPNEW sy-vline
WA_TIPZB_STR-ZEBKUEB sy-vline
WA_TIPZB_STR-JEQM_1Z1 sy-vline
WA_TIPZB_STR-JEQM_WE sy-vline
WA_TIPZB_STR-JEQM_GR sy-vline
WA_TIPZB_STR-JEQM_GE sy-vline
WA_TIPZB_STR-JEQM_ME sy-vline
WA_TIPZB_STR-EQM_TPLKZ sy-vline
WA_TIPZB_STR-EQM_FLTYP sy-vline
WA_TIPZB_STR-JBKBEST sy-vline
WA_TIPZB_STR-EQM_TCODE sy-vline
WA_TIPZB_STR-JEQM_FL sy-vline
WA_TIPZB_STR-JEQM_RA sy-vline
WA_TIPZB_STR-EQM_TPLNR sy-vline
WA_TIPZB_STR-JEQM_1Z1WE sy-vline
WA_TIPZB_STR-JEQM_1Z1GR sy-vline
WA_TIPZB_STR-JEQM_1Z1GE sy-vline
WA_TIPZB_STR-JEQM_1Z1ME sy-vline
WA_TIPZB_STR-EQM_OT_WE sy-vline
WA_TIPZB_STR-EQM_OT_GR sy-vline
WA_TIPZB_STR-EQM_OT_GE sy-vline
WA_TIPZB_STR-EQM_OT_ME sy-vline
WA_TIPZB_STR-JNOTAXCORR sy-vline
WA_TIPZB_STR-EQM_OT_FL sy-vline
WA_TIPZB_STR-EQM_OT_RA sy-vline
WA_TIPZB_STR-JEQM_VFL sy-vline
WA_TIPZB_STR-EQM_OT_VFL sy-vline
WA_TIPZB_STR-EQM_TCODE2 sy-vline
WA_TIPZB_STR-JMANDBUKRS sy-vline
WA_TIPZB_STR-ACCSYSTEM sy-vline
WA_TIPZB_STR-CNDSPOS sy-vline
WA_TIPZB_STR-CNDSTAX sy-vline
WA_TIPZB_STR-DEF_TFEINS sy-vline
WA_TIPZB_STR-FLTGNR sy-vline
WA_TIPZB_STR-REHORMS sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.