ABAP Select data from SAP table BANKUS1_BF 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 BANKUS1_BF 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 BANKUS1_BF. 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 BANKUS1_BF 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_BANKUS1_BF TYPE STANDARD TABLE OF BANKUS1_BF,
      WA_BANKUS1_BF TYPE BANKUS1_BF,
      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: <BANKUS1_BF> TYPE BANKUS1_BF.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM BANKUS1_BF
*  INTO TABLE @DATA(IT_BANKUS1_BF2).
*--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_BANKUS1_BF INDEX 1 INTO DATA(WA_BANKUS1_BF2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_BANKUS1_BF ASSIGNING <BANKUS1_BF>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<BANKUS1_BF>-FILE_KEY = 1.
<BANKUS1_BF>-DATE_UPD = 1.
<BANKUS1_BF>-TYPE_INST_CODE = 1.
<BANKUS1_BF>-HEAD_OFFICE = 1.
<BANKUS1_BF>-ROUTING_NO = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_BANKUS1_BF-ROUTING_NO2, sy-vline,
WA_BANKUS1_BF-BANK_NAME, sy-vline,
WA_BANKUS1_BF-BANK_NAME_SHORT, sy-vline,
WA_BANKUS1_BF-STREET, sy-vline,
WA_BANKUS1_BF-CITY, sy-vline,
WA_BANKUS1_BF-STATE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_BANKUS1_BF 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_BANKUS1_BF 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_BANKUS1_BF INTO WA_BANKUS1_BF. *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_BANKUS1_BF_STR,
FILE_KEY TYPE STRING,
DATE_UPD TYPE STRING,
TYPE_INST_CODE TYPE STRING,
HEAD_OFFICE TYPE STRING,
ROUTING_NO TYPE STRING,
ROUTING_NO2 TYPE STRING,
BANK_NAME TYPE STRING,
BANK_NAME_SHORT TYPE STRING,
STREET TYPE STRING,
CITY TYPE STRING,
STATE TYPE STRING,
ZIPCODE TYPE STRING,
ZIPCODE_4 TYPE STRING,
MAIL TYPE STRING,
MAIL_CITY TYPE STRING,
MAIL_STATE TYPE STRING,
MAIL_ZIPCODE TYPE STRING,
MAIL_ZIPCODE_4 TYPE STRING,
BRANCH TYPE STRING,
ROUTING_NO_HEAD TYPE STRING,
PHONE_NO_AREA TYPE STRING,
PHONE_NO TYPE STRING,
PHONE_NO_EXT TYPE STRING,
FAX_AREA_CODE TYPE STRING,
FAX_NO TYPE STRING,
FAX_EXT TYPE STRING,
HEAD_ASSET TYPE STRING,
FED_RESERVE_CODE TYPE STRING,
DATE_UPDATE TYPE STRING,
HEAD_FILE_KEY TYPE STRING,
FILLER_1 TYPE STRING,
FILLER_2 TYPE STRING,
FILLER_3 TYPE STRING,
EMPL_TAX_ID TYPE STRING,
ACH_FLAG TYPE STRING,
FERERAL_ROUT_NO TYPE STRING,
INST_ID TYPE STRING,
FILLER_4 TYPE STRING,
DATA_UPDATE TYPE STRING,
WIRE_CONT_NAME TYPE STRING,
WIRE_AREA_CODE TYPE STRING,
WIRE_PHONE_NO TYPE STRING,
WIRE_EXT TYPE STRING,
EFT_CONT_NAME TYPE STRING,
EFT_PHONE_AREA TYPE STRING,
EFT_PHONE_NO TYPE STRING,
EFT_EXT TYPE STRING,
EDI_CONT_NAME TYPE STRING,
EDI_AREA_CODE TYPE STRING,
EDI_PHONE TYPE STRING,
EDI_EXT TYPE STRING,
FEDWIRE_F_STATUS TYPE STRING,
FEDWIRE_S_STATUS TYPE STRING,
FEDWIRE_TEL_NAME TYPE STRING,
SWIFT_ADDRESS TYPE STRING,
BIC_ADDRESS TYPE STRING,
FILLER_5 TYPE STRING,
WIRE_TA_CODE TYPE STRING,
FEDWIRE_CORRESP TYPE STRING,
FEDWIRE_CORR_F TYPE STRING,
FEDWIRE_MICR TYPE STRING,
FEDWIRE_ASSET TYPE STRING,
DATE_UPDATE_2 TYPE STRING,
INST_ID_2 TYPE STRING,
FEDWIRE_FILE_KEY TYPE STRING,
FILE_KEY_HEAD TYPE STRING,
FILLER_6 TYPE STRING,
DATE_UPDATED TYPE STRING,
ACH_CONT_NAME TYPE STRING,
ACH_AREA_CODE TYPE STRING,
ACH_PHONE_NO TYPE STRING,
ACH_EXT TYPE STRING,
EDI_CONT_NAME_2 TYPE STRING,
EDI_AREA_CONT TYPE STRING,
EDI_PHONE_NO TYPE STRING,
EDI_EXT_2 TYPE STRING,
RETURN_CONT_NAME TYPE STRING,
RETURN_AREA_CODE TYPE STRING,
RETURN_PHONE TYPE STRING,
RETURN_EXT TYPE STRING,
ACH_RETURN_NAME TYPE STRING,
ACH_RETURN_AREA TYPE STRING,
ACH_RETURN_PHONE TYPE STRING,
ACH_RETURN_EXT TYPE STRING,
ADJ_CONT_NAME TYPE STRING,
ADJ_AREA_CODE TYPE STRING,
ADJ_PHONE TYPE STRING,
ADJ_EXT TYPE STRING,
ACH_ADJ_CONT_NAM TYPE STRING,
ACH_ADJ_AREA_COD TYPE STRING,
ACH_ADJ_PHONE TYPE STRING,
ACH_ADJ_EXT TYPE STRING,
ORIGIN_STATUS TYPE STRING,
RECEIVER_STATUS TYPE STRING,
ACH_MICR_ROUT_NO TYPE STRING,
ACH_PROVIDER TYPE STRING,
ACH_MICR_STATUS TYPE STRING,
CU_PAY_THROUGH TYPE STRING,
CU_PAY_MICR TYPE STRING,
CU_ACCOUNT_NO_ID TYPE STRING,
CU_ID_POS TYPE STRING,
ACH_PAY_THROUGH TYPE STRING,
SAVE_ACCOUNTS TYPE STRING,
CHECK_ACCOUNTS TYPE STRING,
LOCAL_ACH TYPE STRING,
ACH_MEMBER_ID TYPE STRING,
FED_RES_ACH_MICR TYPE STRING,
FEDWIRE_F_STAT TYPE STRING,
EDI_CODE_CASH TYPE STRING,
EDI_CODE_COR_PAY TYPE STRING,
EDI_CODE_EXCH TYPE STRING,
EDI_CODE_CUST TYPE STRING,
PRV_SEC_ACH TYPE STRING,
PRV_SEC_ACH_MICR TYPE STRING,
DATE_UPDATED_3 TYPE STRING,
INST_ID_3 TYPE STRING,
FILLER_7 TYPE STRING,END OF T_EKKO_STR. DATA: WA_BANKUS1_BF_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_BANKUS1_BF_STR-FILE_KEY sy-vline
WA_BANKUS1_BF_STR-DATE_UPD sy-vline
WA_BANKUS1_BF_STR-TYPE_INST_CODE sy-vline
WA_BANKUS1_BF_STR-HEAD_OFFICE sy-vline
WA_BANKUS1_BF_STR-ROUTING_NO sy-vline
WA_BANKUS1_BF_STR-ROUTING_NO2 sy-vline
WA_BANKUS1_BF_STR-BANK_NAME sy-vline
WA_BANKUS1_BF_STR-BANK_NAME_SHORT sy-vline
WA_BANKUS1_BF_STR-STREET sy-vline
WA_BANKUS1_BF_STR-CITY sy-vline
WA_BANKUS1_BF_STR-STATE sy-vline
WA_BANKUS1_BF_STR-ZIPCODE sy-vline
WA_BANKUS1_BF_STR-ZIPCODE_4 sy-vline
WA_BANKUS1_BF_STR-MAIL sy-vline
WA_BANKUS1_BF_STR-MAIL_CITY sy-vline
WA_BANKUS1_BF_STR-MAIL_STATE sy-vline
WA_BANKUS1_BF_STR-MAIL_ZIPCODE sy-vline
WA_BANKUS1_BF_STR-MAIL_ZIPCODE_4 sy-vline
WA_BANKUS1_BF_STR-BRANCH sy-vline
WA_BANKUS1_BF_STR-ROUTING_NO_HEAD sy-vline
WA_BANKUS1_BF_STR-PHONE_NO_AREA sy-vline
WA_BANKUS1_BF_STR-PHONE_NO sy-vline
WA_BANKUS1_BF_STR-PHONE_NO_EXT sy-vline
WA_BANKUS1_BF_STR-FAX_AREA_CODE sy-vline
WA_BANKUS1_BF_STR-FAX_NO sy-vline
WA_BANKUS1_BF_STR-FAX_EXT sy-vline
WA_BANKUS1_BF_STR-HEAD_ASSET sy-vline
WA_BANKUS1_BF_STR-FED_RESERVE_CODE sy-vline
WA_BANKUS1_BF_STR-DATE_UPDATE sy-vline
WA_BANKUS1_BF_STR-HEAD_FILE_KEY sy-vline
WA_BANKUS1_BF_STR-FILLER_1 sy-vline
WA_BANKUS1_BF_STR-FILLER_2 sy-vline
WA_BANKUS1_BF_STR-FILLER_3 sy-vline
WA_BANKUS1_BF_STR-EMPL_TAX_ID sy-vline
WA_BANKUS1_BF_STR-ACH_FLAG sy-vline
WA_BANKUS1_BF_STR-FERERAL_ROUT_NO sy-vline
WA_BANKUS1_BF_STR-INST_ID sy-vline
WA_BANKUS1_BF_STR-FILLER_4 sy-vline
WA_BANKUS1_BF_STR-DATA_UPDATE sy-vline
WA_BANKUS1_BF_STR-WIRE_CONT_NAME sy-vline
WA_BANKUS1_BF_STR-WIRE_AREA_CODE sy-vline
WA_BANKUS1_BF_STR-WIRE_PHONE_NO sy-vline
WA_BANKUS1_BF_STR-WIRE_EXT sy-vline
WA_BANKUS1_BF_STR-EFT_CONT_NAME sy-vline
WA_BANKUS1_BF_STR-EFT_PHONE_AREA sy-vline
WA_BANKUS1_BF_STR-EFT_PHONE_NO sy-vline
WA_BANKUS1_BF_STR-EFT_EXT sy-vline
WA_BANKUS1_BF_STR-EDI_CONT_NAME sy-vline
WA_BANKUS1_BF_STR-EDI_AREA_CODE sy-vline
WA_BANKUS1_BF_STR-EDI_PHONE sy-vline
WA_BANKUS1_BF_STR-EDI_EXT sy-vline
WA_BANKUS1_BF_STR-FEDWIRE_F_STATUS sy-vline
WA_BANKUS1_BF_STR-FEDWIRE_S_STATUS sy-vline
WA_BANKUS1_BF_STR-FEDWIRE_TEL_NAME sy-vline
WA_BANKUS1_BF_STR-SWIFT_ADDRESS sy-vline
WA_BANKUS1_BF_STR-BIC_ADDRESS sy-vline
WA_BANKUS1_BF_STR-FILLER_5 sy-vline
WA_BANKUS1_BF_STR-WIRE_TA_CODE sy-vline
WA_BANKUS1_BF_STR-FEDWIRE_CORRESP sy-vline
WA_BANKUS1_BF_STR-FEDWIRE_CORR_F sy-vline
WA_BANKUS1_BF_STR-FEDWIRE_MICR sy-vline
WA_BANKUS1_BF_STR-FEDWIRE_ASSET sy-vline
WA_BANKUS1_BF_STR-DATE_UPDATE_2 sy-vline
WA_BANKUS1_BF_STR-INST_ID_2 sy-vline
WA_BANKUS1_BF_STR-FEDWIRE_FILE_KEY sy-vline
WA_BANKUS1_BF_STR-FILE_KEY_HEAD sy-vline
WA_BANKUS1_BF_STR-FILLER_6 sy-vline
WA_BANKUS1_BF_STR-DATE_UPDATED sy-vline
WA_BANKUS1_BF_STR-ACH_CONT_NAME sy-vline
WA_BANKUS1_BF_STR-ACH_AREA_CODE sy-vline
WA_BANKUS1_BF_STR-ACH_PHONE_NO sy-vline
WA_BANKUS1_BF_STR-ACH_EXT sy-vline
WA_BANKUS1_BF_STR-EDI_CONT_NAME_2 sy-vline
WA_BANKUS1_BF_STR-EDI_AREA_CONT sy-vline
WA_BANKUS1_BF_STR-EDI_PHONE_NO sy-vline
WA_BANKUS1_BF_STR-EDI_EXT_2 sy-vline
WA_BANKUS1_BF_STR-RETURN_CONT_NAME sy-vline
WA_BANKUS1_BF_STR-RETURN_AREA_CODE sy-vline
WA_BANKUS1_BF_STR-RETURN_PHONE sy-vline
WA_BANKUS1_BF_STR-RETURN_EXT sy-vline
WA_BANKUS1_BF_STR-ACH_RETURN_NAME sy-vline
WA_BANKUS1_BF_STR-ACH_RETURN_AREA sy-vline
WA_BANKUS1_BF_STR-ACH_RETURN_PHONE sy-vline
WA_BANKUS1_BF_STR-ACH_RETURN_EXT sy-vline
WA_BANKUS1_BF_STR-ADJ_CONT_NAME sy-vline
WA_BANKUS1_BF_STR-ADJ_AREA_CODE sy-vline
WA_BANKUS1_BF_STR-ADJ_PHONE sy-vline
WA_BANKUS1_BF_STR-ADJ_EXT sy-vline
WA_BANKUS1_BF_STR-ACH_ADJ_CONT_NAM sy-vline
WA_BANKUS1_BF_STR-ACH_ADJ_AREA_COD sy-vline
WA_BANKUS1_BF_STR-ACH_ADJ_PHONE sy-vline
WA_BANKUS1_BF_STR-ACH_ADJ_EXT sy-vline
WA_BANKUS1_BF_STR-ORIGIN_STATUS sy-vline
WA_BANKUS1_BF_STR-RECEIVER_STATUS sy-vline
WA_BANKUS1_BF_STR-ACH_MICR_ROUT_NO sy-vline
WA_BANKUS1_BF_STR-ACH_PROVIDER sy-vline
WA_BANKUS1_BF_STR-ACH_MICR_STATUS sy-vline
WA_BANKUS1_BF_STR-CU_PAY_THROUGH sy-vline
WA_BANKUS1_BF_STR-CU_PAY_MICR sy-vline
WA_BANKUS1_BF_STR-CU_ACCOUNT_NO_ID sy-vline
WA_BANKUS1_BF_STR-CU_ID_POS sy-vline
WA_BANKUS1_BF_STR-ACH_PAY_THROUGH sy-vline
WA_BANKUS1_BF_STR-SAVE_ACCOUNTS sy-vline
WA_BANKUS1_BF_STR-CHECK_ACCOUNTS sy-vline
WA_BANKUS1_BF_STR-LOCAL_ACH sy-vline
WA_BANKUS1_BF_STR-ACH_MEMBER_ID sy-vline
WA_BANKUS1_BF_STR-FED_RES_ACH_MICR sy-vline
WA_BANKUS1_BF_STR-FEDWIRE_F_STAT sy-vline
WA_BANKUS1_BF_STR-EDI_CODE_CASH sy-vline
WA_BANKUS1_BF_STR-EDI_CODE_COR_PAY sy-vline
WA_BANKUS1_BF_STR-EDI_CODE_EXCH sy-vline
WA_BANKUS1_BF_STR-EDI_CODE_CUST sy-vline
WA_BANKUS1_BF_STR-PRV_SEC_ACH sy-vline
WA_BANKUS1_BF_STR-PRV_SEC_ACH_MICR sy-vline
WA_BANKUS1_BF_STR-DATE_UPDATED_3 sy-vline
WA_BANKUS1_BF_STR-INST_ID_3 sy-vline
WA_BANKUS1_BF_STR-FILLER_7 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.