ABAP Select data from SAP table EPIC_V_EBR_HDR 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 EPIC_V_EBR_HDR 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 EPIC_V_EBR_HDR. 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 EPIC_V_EBR_HDR 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_EPIC_V_EBR_HDR TYPE STANDARD TABLE OF EPIC_V_EBR_HDR,
      WA_EPIC_V_EBR_HDR TYPE EPIC_V_EBR_HDR,
      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: <EPIC_V_EBR_HDR> TYPE EPIC_V_EBR_HDR.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM EPIC_V_EBR_HDR
*  INTO TABLE @DATA(IT_EPIC_V_EBR_HDR2).
*--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_EPIC_V_EBR_HDR INDEX 1 INTO DATA(WA_EPIC_V_EBR_HDR2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_EPIC_V_EBR_HDR ASSIGNING <EPIC_V_EBR_HDR>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<EPIC_V_EBR_HDR>-MANDT = 1.
<EPIC_V_EBR_HDR>-EBR_ID = 1.
<EPIC_V_EBR_HDR>-KUKEY = 1.
<EPIC_V_EBR_HDR>-ESNUM = 1.
<EPIC_V_EBR_HDR>-ANWND = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_EPIC_V_EBR_HDR-ABSND, sy-vline,
WA_EPIC_V_EBR_HDR-AZIDT, sy-vline,
WA_EPIC_V_EBR_HDR-EMKEY, sy-vline,
WA_EPIC_V_EBR_HDR-BUKRS, sy-vline,
WA_EPIC_V_EBR_HDR-HBKID, sy-vline,
WA_EPIC_V_EBR_HDR-HKTID, sy-vline.
ENDLOOP. *Add any further fields from structure WA_EPIC_V_EBR_HDR 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_EPIC_V_EBR_HDR 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_EPIC_V_EBR_HDR INTO WA_EPIC_V_EBR_HDR. *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 ALPHA, internal->external for field BELNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EPIC_V_EBR_HDR-BELNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EPIC_V_EBR_HDR-BELNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field AMOUNT CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_EPIC_V_EBR_HDR-AMOUNT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EPIC_V_EBR_HDR-AMOUNT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit EXCRT, internal->external for field EXCH_RATE CALL FUNCTION 'CONVERSION_EXIT_EXCRT_OUTPUT' EXPORTING input = WA_EPIC_V_EBR_HDR-EXCH_RATE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EPIC_V_EBR_HDR-EXCH_RATE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field OTHER_AMOUNT CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_EPIC_V_EBR_HDR-OTHER_AMOUNT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EPIC_V_EBR_HDR-OTHER_AMOUNT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field PRCTR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EPIC_V_EBR_HDR-PRCTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EPIC_V_EBR_HDR-PRCTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field PART_ID CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EPIC_V_EBR_HDR-PART_ID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EPIC_V_EBR_HDR-PART_ID.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field SVKON CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EPIC_V_EBR_HDR-SVKON IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EPIC_V_EBR_HDR-SVKON.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field VBUND CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EPIC_V_EBR_HDR-VBUND IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EPIC_V_EBR_HDR-VBUND.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field LOCAL_AMT CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_EPIC_V_EBR_HDR-LOCAL_AMT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EPIC_V_EBR_HDR-LOCAL_AMT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AU132, internal->external for field BALANCE CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_EPIC_V_EBR_HDR-BALANCE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EPIC_V_EBR_HDR-BALANCE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field CONTRACT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EPIC_V_EBR_HDR-CONTRACT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EPIC_V_EBR_HDR-CONTRACT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field KEYNO CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EPIC_V_EBR_HDR-KEYNO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EPIC_V_EBR_HDR-KEYNO.
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_EPIC_V_EBR_HDR_STR,
MANDT TYPE STRING,
EBR_ID TYPE STRING,
KUKEY TYPE STRING,
ESNUM TYPE STRING,
ANWND TYPE STRING,
ABSND TYPE STRING,
AZIDT TYPE STRING,
EMKEY TYPE STRING,
BUKRS TYPE STRING,
HBKID TYPE STRING,
HKTID TYPE STRING,
BANK_ACCT_NAME TYPE STRING,
BANK_ACCT_NO TYPE STRING,
BANK_BRANCH TYPE STRING,
BANK_NAME TYPE STRING,
BELNR TYPE STRING,
BUDAT TYPE STRING,
BANK_DATE TYPE STRING,
CURRENCY TYPE STRING,
AMOUNT TYPE STRING,
EXCH_RATE TYPE STRING,
TRANSAC_TYPE TYPE STRING,
OTHER_CURRENCY TYPE STRING,
OTHER_AMOUNT TYPE STRING,
POST_TMPL TYPE STRING,
BANK_REMARK TYPE STRING,
PART_BANK_ACCT_NAME TYPE STRING,
KOSTL TYPE STRING,
GSBER TYPE STRING,
PRCTR TYPE STRING,
DIRECTION TYPE STRING,
EBR_USE TYPE STRING,
SUMMARY TYPE STRING,
PART_TYPE TYPE STRING,
PART_ID TYPE STRING,
PART_BANK_ACCT_NO TYPE STRING,
SVBUK TYPE STRING,
SVKOA TYPE STRING,
SVKON TYPE STRING,
SVAVS TYPE STRING,
VALUT TYPE STRING,
ZUONR TYPE STRING,
SGTXT TYPE STRING,
EBR_NO TYPE STRING,
PART_BANK_NAME TYPE STRING,
BANK_TIME TYPE STRING,
SRL_NO TYPE STRING,
VERIFICAT_KEY TYPE STRING,
BANK_TIMESTAMP TYPE STRING,
BANK_TELLER TYPE STRING,
PRINT_TIMES TYPE STRING,
STATUS TYPE STRING,
EBR_DATE TYPE STRING,
SOURCE TYPE STRING,
REFERENCE TYPE STRING,
FAKE_EBR_NO TYPE STRING,
FLOWSCODE TYPE STRING,
VBUND TYPE STRING,
LOCAL_AMT TYPE STRING,
BALANCE TYPE STRING,
CB_LITEMS TYPE STRING,
FDFLG TYPE STRING,
RECONCILE_FLAG TYPE STRING,
RECONCILE_DATE TYPE STRING,
BOE_NUMBER TYPE STRING,
BOE_TYPE TYPE STRING,
BOE_STATUS TYPE STRING,
BOE_NEGOT TYPE STRING,
ZFBDT TYPE STRING,
WDATE TYPE STRING,
WNAME TYPE STRING,
DRAWER_BANK_NUMBER TYPE STRING,
DRAWER_BANK_COUNTRY TYPE STRING,
DRAWER_ACCOUNT TYPE STRING,
DRAWER_BANK TYPE STRING,
WBZOG TYPE STRING,
DRAWEE_ACCOUNT TYPE STRING,
DRAWEE_BANK_NUMBER TYPE STRING,
DRAWEE_BANK_COUNTRY TYPE STRING,
DRAWEE_BANK TYPE STRING,
CONTRACT TYPE STRING,
ACC_BANK_NUMBER TYPE STRING,
ACC_BANK_COUNTRY TYPE STRING,
ACC_BANK TYPE STRING,
WBANK TYPE STRING,
HOLDER_NAME TYPE STRING,
RECEIPT_TYPE TYPE STRING,
KEYNO TYPE STRING,
XREVERSAL TYPE STRING,
BLART TYPE STRING,END OF T_EKKO_STR. DATA: WA_EPIC_V_EBR_HDR_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_EPIC_V_EBR_HDR_STR-MANDT sy-vline
WA_EPIC_V_EBR_HDR_STR-EBR_ID sy-vline
WA_EPIC_V_EBR_HDR_STR-KUKEY sy-vline
WA_EPIC_V_EBR_HDR_STR-ESNUM sy-vline
WA_EPIC_V_EBR_HDR_STR-ANWND sy-vline
WA_EPIC_V_EBR_HDR_STR-ABSND sy-vline
WA_EPIC_V_EBR_HDR_STR-AZIDT sy-vline
WA_EPIC_V_EBR_HDR_STR-EMKEY sy-vline
WA_EPIC_V_EBR_HDR_STR-BUKRS sy-vline
WA_EPIC_V_EBR_HDR_STR-HBKID sy-vline
WA_EPIC_V_EBR_HDR_STR-HKTID sy-vline
WA_EPIC_V_EBR_HDR_STR-BANK_ACCT_NAME sy-vline
WA_EPIC_V_EBR_HDR_STR-BANK_ACCT_NO sy-vline
WA_EPIC_V_EBR_HDR_STR-BANK_BRANCH sy-vline
WA_EPIC_V_EBR_HDR_STR-BANK_NAME sy-vline
WA_EPIC_V_EBR_HDR_STR-BELNR sy-vline
WA_EPIC_V_EBR_HDR_STR-BUDAT sy-vline
WA_EPIC_V_EBR_HDR_STR-BANK_DATE sy-vline
WA_EPIC_V_EBR_HDR_STR-CURRENCY sy-vline
WA_EPIC_V_EBR_HDR_STR-AMOUNT sy-vline
WA_EPIC_V_EBR_HDR_STR-EXCH_RATE sy-vline
WA_EPIC_V_EBR_HDR_STR-TRANSAC_TYPE sy-vline
WA_EPIC_V_EBR_HDR_STR-OTHER_CURRENCY sy-vline
WA_EPIC_V_EBR_HDR_STR-OTHER_AMOUNT sy-vline
WA_EPIC_V_EBR_HDR_STR-POST_TMPL sy-vline
WA_EPIC_V_EBR_HDR_STR-BANK_REMARK sy-vline
WA_EPIC_V_EBR_HDR_STR-PART_BANK_ACCT_NAME sy-vline
WA_EPIC_V_EBR_HDR_STR-KOSTL sy-vline
WA_EPIC_V_EBR_HDR_STR-GSBER sy-vline
WA_EPIC_V_EBR_HDR_STR-PRCTR sy-vline
WA_EPIC_V_EBR_HDR_STR-DIRECTION sy-vline
WA_EPIC_V_EBR_HDR_STR-EBR_USE sy-vline
WA_EPIC_V_EBR_HDR_STR-SUMMARY sy-vline
WA_EPIC_V_EBR_HDR_STR-PART_TYPE sy-vline
WA_EPIC_V_EBR_HDR_STR-PART_ID sy-vline
WA_EPIC_V_EBR_HDR_STR-PART_BANK_ACCT_NO sy-vline
WA_EPIC_V_EBR_HDR_STR-SVBUK sy-vline
WA_EPIC_V_EBR_HDR_STR-SVKOA sy-vline
WA_EPIC_V_EBR_HDR_STR-SVKON sy-vline
WA_EPIC_V_EBR_HDR_STR-SVAVS sy-vline
WA_EPIC_V_EBR_HDR_STR-VALUT sy-vline
WA_EPIC_V_EBR_HDR_STR-ZUONR sy-vline
WA_EPIC_V_EBR_HDR_STR-SGTXT sy-vline
WA_EPIC_V_EBR_HDR_STR-EBR_NO sy-vline
WA_EPIC_V_EBR_HDR_STR-PART_BANK_NAME sy-vline
WA_EPIC_V_EBR_HDR_STR-BANK_TIME sy-vline
WA_EPIC_V_EBR_HDR_STR-SRL_NO sy-vline
WA_EPIC_V_EBR_HDR_STR-VERIFICAT_KEY sy-vline
WA_EPIC_V_EBR_HDR_STR-BANK_TIMESTAMP sy-vline
WA_EPIC_V_EBR_HDR_STR-BANK_TELLER sy-vline
WA_EPIC_V_EBR_HDR_STR-PRINT_TIMES sy-vline
WA_EPIC_V_EBR_HDR_STR-STATUS sy-vline
WA_EPIC_V_EBR_HDR_STR-EBR_DATE sy-vline
WA_EPIC_V_EBR_HDR_STR-SOURCE sy-vline
WA_EPIC_V_EBR_HDR_STR-REFERENCE sy-vline
WA_EPIC_V_EBR_HDR_STR-FAKE_EBR_NO sy-vline
WA_EPIC_V_EBR_HDR_STR-FLOWSCODE sy-vline
WA_EPIC_V_EBR_HDR_STR-VBUND sy-vline
WA_EPIC_V_EBR_HDR_STR-LOCAL_AMT sy-vline
WA_EPIC_V_EBR_HDR_STR-BALANCE sy-vline
WA_EPIC_V_EBR_HDR_STR-CB_LITEMS sy-vline
WA_EPIC_V_EBR_HDR_STR-FDFLG sy-vline
WA_EPIC_V_EBR_HDR_STR-RECONCILE_FLAG sy-vline
WA_EPIC_V_EBR_HDR_STR-RECONCILE_DATE sy-vline
WA_EPIC_V_EBR_HDR_STR-BOE_NUMBER sy-vline
WA_EPIC_V_EBR_HDR_STR-BOE_TYPE sy-vline
WA_EPIC_V_EBR_HDR_STR-BOE_STATUS sy-vline
WA_EPIC_V_EBR_HDR_STR-BOE_NEGOT sy-vline
WA_EPIC_V_EBR_HDR_STR-ZFBDT sy-vline
WA_EPIC_V_EBR_HDR_STR-WDATE sy-vline
WA_EPIC_V_EBR_HDR_STR-WNAME sy-vline
WA_EPIC_V_EBR_HDR_STR-DRAWER_BANK_NUMBER sy-vline
WA_EPIC_V_EBR_HDR_STR-DRAWER_BANK_COUNTRY sy-vline
WA_EPIC_V_EBR_HDR_STR-DRAWER_ACCOUNT sy-vline
WA_EPIC_V_EBR_HDR_STR-DRAWER_BANK sy-vline
WA_EPIC_V_EBR_HDR_STR-WBZOG sy-vline
WA_EPIC_V_EBR_HDR_STR-DRAWEE_ACCOUNT sy-vline
WA_EPIC_V_EBR_HDR_STR-DRAWEE_BANK_NUMBER sy-vline
WA_EPIC_V_EBR_HDR_STR-DRAWEE_BANK_COUNTRY sy-vline
WA_EPIC_V_EBR_HDR_STR-DRAWEE_BANK sy-vline
WA_EPIC_V_EBR_HDR_STR-CONTRACT sy-vline
WA_EPIC_V_EBR_HDR_STR-ACC_BANK_NUMBER sy-vline
WA_EPIC_V_EBR_HDR_STR-ACC_BANK_COUNTRY sy-vline
WA_EPIC_V_EBR_HDR_STR-ACC_BANK sy-vline
WA_EPIC_V_EBR_HDR_STR-WBANK sy-vline
WA_EPIC_V_EBR_HDR_STR-HOLDER_NAME sy-vline
WA_EPIC_V_EBR_HDR_STR-RECEIPT_TYPE sy-vline
WA_EPIC_V_EBR_HDR_STR-KEYNO sy-vline
WA_EPIC_V_EBR_HDR_STR-XREVERSAL sy-vline
WA_EPIC_V_EBR_HDR_STR-BLART sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.