ABAP Select data from SAP table BOE_S_BUTTON_PRO 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 BOE_S_BUTTON_PRO 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 BOE_S_BUTTON_PRO. 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 BOE_S_BUTTON_PRO 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_BOE_S_BUTTON_PRO TYPE STANDARD TABLE OF BOE_S_BUTTON_PRO,
      WA_BOE_S_BUTTON_PRO TYPE BOE_S_BUTTON_PRO,
      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: <BOE_S_BUTTON_PRO> TYPE BOE_S_BUTTON_PRO.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM BOE_S_BUTTON_PRO
*  INTO TABLE @DATA(IT_BOE_S_BUTTON_PRO2).
*--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_BOE_S_BUTTON_PRO INDEX 1 INTO DATA(WA_BOE_S_BUTTON_PRO2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_BOE_S_BUTTON_PRO ASSIGNING <BOE_S_BUTTON_PRO>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<BOE_S_BUTTON_PRO>-LOCK_PROP = 1.
<BOE_S_BUTTON_PRO>-CREATE_PROP = 1.
<BOE_S_BUTTON_PRO>-HOLD_PROP = 1.
<BOE_S_BUTTON_PRO>-REGISTER_PROP = 1.
<BOE_S_BUTTON_PRO>-COLLECT_PROP = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_BOE_S_BUTTON_PRO-SETTLE_COLLECT_PROP, sy-vline,
WA_BOE_S_BUTTON_PRO-ENDORSE_PROP, sy-vline,
WA_BOE_S_BUTTON_PRO-ENDORSE_REQ_PROP, sy-vline,
WA_BOE_S_BUTTON_PRO-SETTLE_ENDORSE_PROP, sy-vline,
WA_BOE_S_BUTTON_PRO-CUSTODY_PROP, sy-vline,
WA_BOE_S_BUTTON_PRO-CUSTODY_REQ_PROP, sy-vline.
ENDLOOP. *Add any further fields from structure WA_BOE_S_BUTTON_PRO 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_BOE_S_BUTTON_PRO 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_BOE_S_BUTTON_PRO INTO WA_BOE_S_BUTTON_PRO. *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_BOE_S_BUTTON_PRO_STR,
LOCK_PROP TYPE STRING,
CREATE_PROP TYPE STRING,
HOLD_PROP TYPE STRING,
REGISTER_PROP TYPE STRING,
COLLECT_PROP TYPE STRING,
SETTLE_COLLECT_PROP TYPE STRING,
ENDORSE_PROP TYPE STRING,
ENDORSE_REQ_PROP TYPE STRING,
SETTLE_ENDORSE_PROP TYPE STRING,
CUSTODY_PROP TYPE STRING,
CUSTODY_REQ_PROP TYPE STRING,
SETTLE_CUSTODY_PROP TYPE STRING,
CUSTODY_RELEASE_PROP TYPE STRING,
DISCOUNT_PROP TYPE STRING,
DISCOUNT_REQ_PROP TYPE STRING,
SETTLE_DISCOUNT_PROP TYPE STRING,
PLEDGE_PROP TYPE STRING,
PLEDGE_REQ_PROP TYPE STRING,
SETTLE_PLEDGE_PROP TYPE STRING,
PLEDGE_RELEASE_PROP TYPE STRING,
PAY_PROP TYPE STRING,
PAY_REQ_PROP TYPE STRING,
SETTLE_PAYMENT_PROP TYPE STRING,
CLEAR_PROP TYPE STRING,
FPM_SAVE_1_PROP TYPE STRING,
FPM_EDIT_1_PROP TYPE STRING,
FPM_CANCEL_1_PROP TYPE STRING,
CREATE_WITH_REF_PROP TYPE STRING,
BOE_DELETE_PROP TYPE STRING,
BOE_NEW_PROP TYPE STRING,
ATTACHMENTS_PROP TYPE STRING,
VOID_PROP TYPE STRING,
EDIT_PROP TYPE STRING,
BACK_TO_REG_PROP TYPE STRING,
DISCOUNT_APP_PROP TYPE STRING,
DISCOUNT_REJ_PROP TYPE STRING,
PLEDGE_APP_PROP TYPE STRING,
PLEDGE_REJ_PROP TYPE STRING,
ENDORSE_APP_PROP TYPE STRING,
ENDORSE_REJ_PROP TYPE STRING,
PAY_APP_PROP TYPE STRING,
PAY_REJ_PROP TYPE STRING,
PAY_CLEAR_PROP TYPE STRING,
ENDORSE_CLEAR_PROP TYPE STRING,
DISCOUNT_CLEAR_PROP TYPE STRING,
COLLECT_CLEAR_PROP TYPE STRING,
RESET_ENDORSE_TO_REG_PROP TYPE STRING,
USE_PROP TYPE STRING,
POST_PROP TYPE STRING,
DISPLAY_CB_PROP TYPE STRING,
REVERSE_BUDGET_PROP TYPE STRING,
BACK_TO_REG_READY_PROP TYPE STRING,
CONSUME_BUDGET_PROP TYPE STRING,
CLAIM_PROP TYPE STRING,
BANK_ISSUE_RESULT_PROP TYPE STRING,
REVERSE_VOID_PROP TYPE STRING,
BANK_ACCEPT_CREATE_PROP TYPE STRING,
BANK_ACCEPT_COLLECT_PROP TYPE STRING,
BANK_ACCEPT_DISCOUNT_PROP TYPE STRING,
BANK_ACCEPT_ENDORSE_PROP TYPE STRING,
BANK_ACCEPT_PLEDGE_PROP TYPE STRING,
BANK_ACCEPT_PAYMENT_PROP TYPE STRING,
BANK_DECLINE_CREATE_PROP TYPE STRING,
BANK_DECLINE_COLLECT_PROP TYPE STRING,
BANK_DECLINE_DISCOUNT_PROP TYPE STRING,
BANK_DECLINE_ENDORSE_PROP TYPE STRING,
BANK_DECLINE_PLEDGE_PROP TYPE STRING,
BANK_DECLINE_PAYMENT_PROP TYPE STRING,
BANK_RECALL_COLLECT_PROP TYPE STRING,
BANK_RECALL_DISCOUNT_PROP TYPE STRING,
BANK_RECALL_ENDORSE_PROP TYPE STRING,
BANK_RECALL_PLEDGE_PROP TYPE STRING,
BANK_RECALL_CREATE_PROP TYPE STRING,
BANK_ACCPT_RECALL_COLLCET_PROP TYPE STRING,
BANK_ACCPT_RECAL_DISCOUNT_PROP TYPE STRING,
BANK_ACCPT_RECALL_ENDORSE_PROP TYPE STRING,
BANK_ACCPT_RECALL_PLEDGE_PROP TYPE STRING,
BANK_ACCPT_RECALL_CREATE_PROP TYPE STRING,
BANK_DCLN_RECALL_COLLECT_PROP TYPE STRING,
BANK_DCLN_RECALL_DISCOUNT_PROP TYPE STRING,
BANK_DCLN_RECALL_ENDORSE_PROP TYPE STRING,
BANK_DCLN_RECALL_PLEDGE_PROP TYPE STRING,
BANK_DCLN_RECALL_CREATE_PROP TYPE STRING,
QUERY_BANK_STATUS_PROP TYPE STRING,
RESEND_PROP TYPE STRING,
RECALL_EBOE_PROP TYPE STRING,
REFRESH_E_STATUS_PROP TYPE STRING,END OF T_EKKO_STR. DATA: WA_BOE_S_BUTTON_PRO_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_BOE_S_BUTTON_PRO_STR-LOCK_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-CREATE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-HOLD_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-REGISTER_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-COLLECT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-SETTLE_COLLECT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-ENDORSE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-ENDORSE_REQ_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-SETTLE_ENDORSE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-CUSTODY_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-CUSTODY_REQ_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-SETTLE_CUSTODY_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-CUSTODY_RELEASE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-DISCOUNT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-DISCOUNT_REQ_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-SETTLE_DISCOUNT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-PLEDGE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-PLEDGE_REQ_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-SETTLE_PLEDGE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-PLEDGE_RELEASE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-PAY_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-PAY_REQ_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-SETTLE_PAYMENT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-CLEAR_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-FPM_SAVE_1_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-FPM_EDIT_1_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-FPM_CANCEL_1_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-CREATE_WITH_REF_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BOE_DELETE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BOE_NEW_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-ATTACHMENTS_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-VOID_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-EDIT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BACK_TO_REG_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-DISCOUNT_APP_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-DISCOUNT_REJ_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-PLEDGE_APP_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-PLEDGE_REJ_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-ENDORSE_APP_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-ENDORSE_REJ_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-PAY_APP_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-PAY_REJ_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-PAY_CLEAR_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-ENDORSE_CLEAR_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-DISCOUNT_CLEAR_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-COLLECT_CLEAR_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-RESET_ENDORSE_TO_REG_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-USE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-POST_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-DISPLAY_CB_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-REVERSE_BUDGET_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BACK_TO_REG_READY_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-CONSUME_BUDGET_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-CLAIM_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_ISSUE_RESULT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-REVERSE_VOID_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_ACCEPT_CREATE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_ACCEPT_COLLECT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_ACCEPT_DISCOUNT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_ACCEPT_ENDORSE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_ACCEPT_PLEDGE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_ACCEPT_PAYMENT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_DECLINE_CREATE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_DECLINE_COLLECT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_DECLINE_DISCOUNT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_DECLINE_ENDORSE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_DECLINE_PLEDGE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_DECLINE_PAYMENT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_RECALL_COLLECT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_RECALL_DISCOUNT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_RECALL_ENDORSE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_RECALL_PLEDGE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_RECALL_CREATE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_ACCPT_RECALL_COLLCET_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_ACCPT_RECAL_DISCOUNT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_ACCPT_RECALL_ENDORSE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_ACCPT_RECALL_PLEDGE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_ACCPT_RECALL_CREATE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_DCLN_RECALL_COLLECT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_DCLN_RECALL_DISCOUNT_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_DCLN_RECALL_ENDORSE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_DCLN_RECALL_PLEDGE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-BANK_DCLN_RECALL_CREATE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-QUERY_BANK_STATUS_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-RESEND_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-RECALL_EBOE_PROP sy-vline
WA_BOE_S_BUTTON_PRO_STR-REFRESH_E_STATUS_PROP sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.