ABAP Select data from SAP table BAPIP0224L 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 BAPIP0224L 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 BAPIP0224L. 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 BAPIP0224L 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_BAPIP0224L TYPE STANDARD TABLE OF BAPIP0224L,
      WA_BAPIP0224L TYPE BAPIP0224L,
      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: <BAPIP0224L> TYPE BAPIP0224L.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM BAPIP0224L
*  INTO TABLE @DATA(IT_BAPIP0224L2).
*--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_BAPIP0224L INDEX 1 INTO DATA(WA_BAPIP0224L2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_BAPIP0224L ASSIGNING <BAPIP0224L>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<BAPIP0224L>-EMPLOYEENO = 1.
<BAPIP0224L>-SUBTYPE = 1.
<BAPIP0224L>-OBJECTID = 1.
<BAPIP0224L>-LOCKINDIC = 1.
<BAPIP0224L>-VALIDEND = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_BAPIP0224L-VALIDBEGIN, sy-vline,
WA_BAPIP0224L-RECORDNR, sy-vline,
WA_BAPIP0224L-LAST_CHANGED_ON, sy-vline,
WA_BAPIP0224L-LAST_CHANGED_BY, sy-vline,
WA_BAPIP0224L-ADD_TEXT_EXISTS, sy-vline,
WA_BAPIP0224L-REASON_FOR_CHNG, sy-vline.
ENDLOOP. *Add any further fields from structure WA_BAPIP0224L 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_BAPIP0224L 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_BAPIP0224L INTO WA_BAPIP0224L. *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_BAPIP0224L_STR,
EMPLOYEENO TYPE STRING,
SUBTYPE TYPE STRING,
OBJECTID TYPE STRING,
LOCKINDIC TYPE STRING,
VALIDEND TYPE STRING,
VALIDBEGIN TYPE STRING,
RECORDNR TYPE STRING,
LAST_CHANGED_ON TYPE STRING,
LAST_CHANGED_BY TYPE STRING,
ADD_TEXT_EXISTS TYPE STRING,
REASON_FOR_CHNG TYPE STRING,
TAX_AREA TYPE STRING,
NAMEOFTAXAREA TYPE STRING,
STD_JURISDICT TYPE STRING,
METROPOL_AREA TYPE STRING,
BUSINESS_NUMBER TYPE STRING,
GST_NUMBER TYPE STRING,
CURRENCY TYPE STRING,
OPTION_TAX_CALC TYPE STRING,
TAXCREDITAMOUNT TYPE STRING,
CLAIM_CODE TYPE STRING,
NON_INDEX_AMNT TYPE STRING,
ADDITIONAL_TAX TYPE STRING,
ADD_TAX_PERCENT TYPE STRING,
DESIGNATED_AREA TYPE STRING,
DEPEND_UNDER_18 TYPE STRING,
DEPEND_18ORMORE TYPE STRING,
FED_DEDUCTION TYPE STRING,
FED_TAX_CREDIT TYPE STRING,
LAB_SPONS_FUNDS TYPE STRING,
ALIM_MAINT_PAYM TYPE STRING,
LAB_CRED_PROV TYPE STRING,
EST_REMUNERATLC TYPE STRING,
EST_EXPENSES TYPE STRING,
TAXATION_ID_QC TYPE STRING,
QST_NUMBER_QC TYPE STRING,
TOT_CREDITS_QC TYPE STRING,
DEDUCT_CODE_QC TYPE STRING,
ADD_DEDUCT_QCEA TYPE STRING,
OTH_DED_CRT_QC8 TYPE STRING,
OTH_CREDITS_QCE TYPE STRING,
OTH_DEDUCT_QC TYPE STRING,
BASE_YEAR_QCIT TYPE STRING,
GROSSCOM_INC_QC TYPE STRING,
EST_NET_COMM_QC TYPE STRING,
PERC_COMM_QC TYPE STRING,
TAXAUTHORITY01 TYPE STRING,
TAXINDICATOR01 TYPE STRING,
NAMEOFTAXAUTH01 TYPE STRING,
TAXAUTHORITY02 TYPE STRING,
TAXINDICATOR02 TYPE STRING,
NAMEOFTAXAUTH02 TYPE STRING,
TAXAUTHORITY03 TYPE STRING,
TAXINDICATOR03 TYPE STRING,
NAMEOFTAXAUTH03 TYPE STRING,
TAXAUTHORITY04 TYPE STRING,
TAXINDICATOR04 TYPE STRING,
NAMEOFTAXAUTH04 TYPE STRING,
TAXAUTHORITY05 TYPE STRING,
TAXINDICATOR05 TYPE STRING,
NAMEOFTAXAUTH05 TYPE STRING,
TAXAUTHORITY06 TYPE STRING,
TAXINDICATOR06 TYPE STRING,
NAMEOFTAXAUTH06 TYPE STRING,
TAXAUTHORITY07 TYPE STRING,
TAXINDICATOR07 TYPE STRING,
NAMEOFTAXAUTH07 TYPE STRING,
TAXAUTHORITY08 TYPE STRING,
TAXINDICATOR08 TYPE STRING,
NAMEOFTAXAUTH08 TYPE STRING,
TAXAUTHORITY09 TYPE STRING,
TAXINDICATOR09 TYPE STRING,
NAMEOFTAXAUTH09 TYPE STRING,
TAXAUTHORITY10 TYPE STRING,
TAXINDICATOR10 TYPE STRING,
NAMEOFTAXAUTH10 TYPE STRING,
TAXAUTHORITY11 TYPE STRING,
TAXINDICATOR11 TYPE STRING,
NAMEOFTAXAUTH11 TYPE STRING,
TAXAUTHORITY12 TYPE STRING,
TAXINDICATOR12 TYPE STRING,
NAMEOFTAXAUTH12 TYPE STRING,
TAXAUTHORITY13 TYPE STRING,
TAXINDICATOR13 TYPE STRING,
NAMEOFTAXAUTH13 TYPE STRING,
TAXAUTHORITY14 TYPE STRING,
TAXINDICATOR14 TYPE STRING,
NAMEOFTAXAUTH14 TYPE STRING,
TAXAUTHORITY15 TYPE STRING,
TAXINDICATOR15 TYPE STRING,
NAMEOFTAXAUTH15 TYPE STRING,
MARRIED TYPE STRING,
TOT_CREDITS_PROV TYPE STRING,
OTH_CREDITS_PROV TYPE STRING,END OF T_EKKO_STR. DATA: WA_BAPIP0224L_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_BAPIP0224L_STR-EMPLOYEENO sy-vline
WA_BAPIP0224L_STR-SUBTYPE sy-vline
WA_BAPIP0224L_STR-OBJECTID sy-vline
WA_BAPIP0224L_STR-LOCKINDIC sy-vline
WA_BAPIP0224L_STR-VALIDEND sy-vline
WA_BAPIP0224L_STR-VALIDBEGIN sy-vline
WA_BAPIP0224L_STR-RECORDNR sy-vline
WA_BAPIP0224L_STR-LAST_CHANGED_ON sy-vline
WA_BAPIP0224L_STR-LAST_CHANGED_BY sy-vline
WA_BAPIP0224L_STR-ADD_TEXT_EXISTS sy-vline
WA_BAPIP0224L_STR-REASON_FOR_CHNG sy-vline
WA_BAPIP0224L_STR-TAX_AREA sy-vline
WA_BAPIP0224L_STR-NAMEOFTAXAREA sy-vline
WA_BAPIP0224L_STR-STD_JURISDICT sy-vline
WA_BAPIP0224L_STR-METROPOL_AREA sy-vline
WA_BAPIP0224L_STR-BUSINESS_NUMBER sy-vline
WA_BAPIP0224L_STR-GST_NUMBER sy-vline
WA_BAPIP0224L_STR-CURRENCY sy-vline
WA_BAPIP0224L_STR-OPTION_TAX_CALC sy-vline
WA_BAPIP0224L_STR-TAXCREDITAMOUNT sy-vline
WA_BAPIP0224L_STR-CLAIM_CODE sy-vline
WA_BAPIP0224L_STR-NON_INDEX_AMNT sy-vline
WA_BAPIP0224L_STR-ADDITIONAL_TAX sy-vline
WA_BAPIP0224L_STR-ADD_TAX_PERCENT sy-vline
WA_BAPIP0224L_STR-DESIGNATED_AREA sy-vline
WA_BAPIP0224L_STR-DEPEND_UNDER_18 sy-vline
WA_BAPIP0224L_STR-DEPEND_18ORMORE sy-vline
WA_BAPIP0224L_STR-FED_DEDUCTION sy-vline
WA_BAPIP0224L_STR-FED_TAX_CREDIT sy-vline
WA_BAPIP0224L_STR-LAB_SPONS_FUNDS sy-vline
WA_BAPIP0224L_STR-ALIM_MAINT_PAYM sy-vline
WA_BAPIP0224L_STR-LAB_CRED_PROV sy-vline
WA_BAPIP0224L_STR-EST_REMUNERATLC sy-vline
WA_BAPIP0224L_STR-EST_EXPENSES sy-vline
WA_BAPIP0224L_STR-TAXATION_ID_QC sy-vline
WA_BAPIP0224L_STR-QST_NUMBER_QC sy-vline
WA_BAPIP0224L_STR-TOT_CREDITS_QC sy-vline
WA_BAPIP0224L_STR-DEDUCT_CODE_QC sy-vline
WA_BAPIP0224L_STR-ADD_DEDUCT_QCEA sy-vline
WA_BAPIP0224L_STR-OTH_DED_CRT_QC8 sy-vline
WA_BAPIP0224L_STR-OTH_CREDITS_QCE sy-vline
WA_BAPIP0224L_STR-OTH_DEDUCT_QC sy-vline
WA_BAPIP0224L_STR-BASE_YEAR_QCIT sy-vline
WA_BAPIP0224L_STR-GROSSCOM_INC_QC sy-vline
WA_BAPIP0224L_STR-EST_NET_COMM_QC sy-vline
WA_BAPIP0224L_STR-PERC_COMM_QC sy-vline
WA_BAPIP0224L_STR-TAXAUTHORITY01 sy-vline
WA_BAPIP0224L_STR-TAXINDICATOR01 sy-vline
WA_BAPIP0224L_STR-NAMEOFTAXAUTH01 sy-vline
WA_BAPIP0224L_STR-TAXAUTHORITY02 sy-vline
WA_BAPIP0224L_STR-TAXINDICATOR02 sy-vline
WA_BAPIP0224L_STR-NAMEOFTAXAUTH02 sy-vline
WA_BAPIP0224L_STR-TAXAUTHORITY03 sy-vline
WA_BAPIP0224L_STR-TAXINDICATOR03 sy-vline
WA_BAPIP0224L_STR-NAMEOFTAXAUTH03 sy-vline
WA_BAPIP0224L_STR-TAXAUTHORITY04 sy-vline
WA_BAPIP0224L_STR-TAXINDICATOR04 sy-vline
WA_BAPIP0224L_STR-NAMEOFTAXAUTH04 sy-vline
WA_BAPIP0224L_STR-TAXAUTHORITY05 sy-vline
WA_BAPIP0224L_STR-TAXINDICATOR05 sy-vline
WA_BAPIP0224L_STR-NAMEOFTAXAUTH05 sy-vline
WA_BAPIP0224L_STR-TAXAUTHORITY06 sy-vline
WA_BAPIP0224L_STR-TAXINDICATOR06 sy-vline
WA_BAPIP0224L_STR-NAMEOFTAXAUTH06 sy-vline
WA_BAPIP0224L_STR-TAXAUTHORITY07 sy-vline
WA_BAPIP0224L_STR-TAXINDICATOR07 sy-vline
WA_BAPIP0224L_STR-NAMEOFTAXAUTH07 sy-vline
WA_BAPIP0224L_STR-TAXAUTHORITY08 sy-vline
WA_BAPIP0224L_STR-TAXINDICATOR08 sy-vline
WA_BAPIP0224L_STR-NAMEOFTAXAUTH08 sy-vline
WA_BAPIP0224L_STR-TAXAUTHORITY09 sy-vline
WA_BAPIP0224L_STR-TAXINDICATOR09 sy-vline
WA_BAPIP0224L_STR-NAMEOFTAXAUTH09 sy-vline
WA_BAPIP0224L_STR-TAXAUTHORITY10 sy-vline
WA_BAPIP0224L_STR-TAXINDICATOR10 sy-vline
WA_BAPIP0224L_STR-NAMEOFTAXAUTH10 sy-vline
WA_BAPIP0224L_STR-TAXAUTHORITY11 sy-vline
WA_BAPIP0224L_STR-TAXINDICATOR11 sy-vline
WA_BAPIP0224L_STR-NAMEOFTAXAUTH11 sy-vline
WA_BAPIP0224L_STR-TAXAUTHORITY12 sy-vline
WA_BAPIP0224L_STR-TAXINDICATOR12 sy-vline
WA_BAPIP0224L_STR-NAMEOFTAXAUTH12 sy-vline
WA_BAPIP0224L_STR-TAXAUTHORITY13 sy-vline
WA_BAPIP0224L_STR-TAXINDICATOR13 sy-vline
WA_BAPIP0224L_STR-NAMEOFTAXAUTH13 sy-vline
WA_BAPIP0224L_STR-TAXAUTHORITY14 sy-vline
WA_BAPIP0224L_STR-TAXINDICATOR14 sy-vline
WA_BAPIP0224L_STR-NAMEOFTAXAUTH14 sy-vline
WA_BAPIP0224L_STR-TAXAUTHORITY15 sy-vline
WA_BAPIP0224L_STR-TAXINDICATOR15 sy-vline
WA_BAPIP0224L_STR-NAMEOFTAXAUTH15 sy-vline
WA_BAPIP0224L_STR-MARRIED sy-vline
WA_BAPIP0224L_STR-TOT_CREDITS_PROV sy-vline
WA_BAPIP0224L_STR-OTH_CREDITS_PROV sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.