ABAP Select data from SAP table FKKR_S_CHECK_BASIC_MI_ORDER 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 FKKR_S_CHECK_BASIC_MI_ORDER 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 FKKR_S_CHECK_BASIC_MI_ORDER. 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 FKKR_S_CHECK_BASIC_MI_ORDER 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_FKKR_S_CHECK_BASIC_MI_ORDER TYPE STANDARD TABLE OF FKKR_S_CHECK_BASIC_MI_ORDER, WA_FKKR_S_CHECK_BASIC_MI_ORDER TYPE FKKR_S_CHECK_BASIC_MI_ORDER, 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: <FKKR_S_CHECK_BASIC_MI_ORDER> TYPE FKKR_S_CHECK_BASIC_MI_ORDER. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_FKKR_S_CHECK_BASIC_MI_ORDER. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM FKKR_S_CHECK_BASIC_MI_ORDER INTO TABLE IT_FKKR_S_CHECK_BASIC_MI_ORDER. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM FKKR_S_CHECK_BASIC_MI_ORDER * INTO TABLE @DATA(IT_FKKR_S_CHECK_BASIC_MI_ORDER2). *--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_FKKR_S_CHECK_BASIC_MI_ORDER INDEX 1 INTO DATA(WA_FKKR_S_CHECK_BASIC_MI_ORDER2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_FKKR_S_CHECK_BASIC_MI_ORDER ASSIGNING <FKKR_S_CHECK_BASIC_MI_ORDER>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<FKKR_S_CHECK_BASIC_MI_ORDER>-SRCDOC_COMP = 1.
<FKKR_S_CHECK_BASIC_MI_ORDER>-SRCDOC_LOGSYS = 1.
<FKKR_S_CHECK_BASIC_MI_ORDER>-SRCDOC_TYPE = 1.
<FKKR_S_CHECK_BASIC_MI_ORDER>-SRCDOC_ID = 1.
<FKKR_S_CHECK_BASIC_MI_ORDER>-TIMESTAMP_UTC = 1.
ENDLOOP. LOOP AT IT_FKKR_S_CHECK_BASIC_MI_ORDER INTO WA_FKKR_S_CHECK_BASIC_MI_ORDER. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_FKKR_S_CHECK_BASIC_MI_ORDER-HEADER_ID, sy-vline,
WA_FKKR_S_CHECK_BASIC_MI_ORDER-ITEM_ID, sy-vline,
WA_FKKR_S_CHECK_BASIC_MI_ORDER-KEYPP, sy-vline,
WA_FKKR_S_CHECK_BASIC_MI_ORDER-RAIC_TYPE, sy-vline,
WA_FKKR_S_CHECK_BASIC_MI_ORDER-RAIC, sy-vline,
WA_FKKR_S_CHECK_BASIC_MI_ORDER-STATUS, sy-vline.
ENDLOOP. *Add any further fields from structure WA_FKKR_S_CHECK_BASIC_MI_ORDER 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_FKKR_S_CHECK_BASIC_MI_ORDER 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_FKKR_S_CHECK_BASIC_MI_ORDER INTO WA_FKKR_S_CHECK_BASIC_MI_ORDER. *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 SRCDOC_LOGSYS CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FKKR_S_CHECK_BASIC_MI_ORDER-SRCDOC_LOGSYS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FKKR_S_CHECK_BASIC_MI_ORDER-SRCDOC_LOGSYS.
WRITE:/ 'New Value:', ld_input.
*Conversion exit TSTLC, internal->external for field TIMESTAMP_UTC CALL FUNCTION 'CONVERSION_EXIT_TSTLC_OUTPUT' EXPORTING input = WA_FKKR_S_CHECK_BASIC_MI_ORDER-TIMESTAMP_UTC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FKKR_S_CHECK_BASIC_MI_ORDER-TIMESTAMP_UTC.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field HEADER_ID CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FKKR_S_CHECK_BASIC_MI_ORDER-HEADER_ID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FKKR_S_CHECK_BASIC_MI_ORDER-HEADER_ID.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field ITEM_ID CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FKKR_S_CHECK_BASIC_MI_ORDER-ITEM_ID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FKKR_S_CHECK_BASIC_MI_ORDER-ITEM_ID.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field QUANTITY_UNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_FKKR_S_CHECK_BASIC_MI_ORDER-QUANTITY_UNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FKKR_S_CHECK_BASIC_MI_ORDER-QUANTITY_UNIT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field KUNNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FKKR_S_CHECK_BASIC_MI_ORDER-KUNNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FKKR_S_CHECK_BASIC_MI_ORDER-KUNNR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field PARTNER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FKKR_S_CHECK_BASIC_MI_ORDER-PARTNER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FKKR_S_CHECK_BASIC_MI_ORDER-PARTNER.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field PRCTR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FKKR_S_CHECK_BASIC_MI_ORDER-PRCTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FKKR_S_CHECK_BASIC_MI_ORDER-PRCTR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field RECEIV_ACCOUNT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FKKR_S_CHECK_BASIC_MI_ORDER-RECEIV_ACCOUNT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FKKR_S_CHECK_BASIC_MI_ORDER-RECEIV_ACCOUNT.
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_FKKR_S_CHECK_BASIC_MI_ORDER_STR,
SRCDOC_COMP TYPE STRING,
SRCDOC_LOGSYS TYPE STRING,
SRCDOC_TYPE TYPE STRING,
SRCDOC_ID TYPE STRING,
TIMESTAMP_UTC TYPE STRING,
HEADER_ID TYPE STRING,
ITEM_ID TYPE STRING,
KEYPP TYPE STRING,
RAIC_TYPE TYPE STRING,
RAIC TYPE STRING,
STATUS TYPE STRING,
CHHIST TYPE STRING,
BUKRS TYPE STRING,
QUANTITY TYPE STRING,
QUANTITY_UNIT TYPE STRING,
INITIAL_LOAD TYPE STRING,
LOG_HANDLE TYPE STRING,
MIG_PACKAGE TYPE STRING,
DELETION_IND TYPE STRING,
REFERENCE_TYPE TYPE STRING,
REFERENCE_ID TYPE STRING,
KUNNR TYPE STRING,
PARTNER TYPE STRING,
WAERS TYPE STRING,
HWAER TYPE STRING,
HWAE2 TYPE STRING,
HWAE3 TYPE STRING,
GSBER TYPE STRING,
PRCTR TYPE STRING,
SEGMENT TYPE STRING,
FKBER TYPE STRING,
START_DATE TYPE STRING,
END_DATE TYPE STRING,
PREDOC_COMP TYPE STRING,
PREDOC_LOGSYS TYPE STRING,
PREDOC_TYPE TYPE STRING,
PREDOC_ID TYPE STRING,
HIERARCHY_ROOT TYPE STRING,
HILDOC_COMP TYPE STRING,
HILDOC_LOGSYS TYPE STRING,
HILDOC_TYPE TYPE STRING,
HILDOC_ID TYPE STRING,
BILREL TYPE STRING,
DELREL TYPE STRING,
BILL_PLAN_TYPE TYPE STRING,
SALES_ORG TYPE STRING,
XPREDOC TYPE STRING,
RECEIV_ACCOUNT TYPE STRING,
INCEPTION_DATE TYPE STRING,
VALUE_RELEVANT TYPE STRING,
BILLING_PLAN_INV TYPE STRING,
X_ESTIMATED_QUAN TYPE STRING,
XRECACC_DET TYPE STRING,
XACCASS_DET TYPE STRING,
XNEGATIVE_ITEM TYPE STRING,
RAI_ERROR TYPE STRING,
EARLIEST_DATE TYPE STRING,END OF T_EKKO_STR. DATA: WA_FKKR_S_CHECK_BASIC_MI_ORDER_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_FKKR_S_CHECK_BASIC_MI_ORDER_STR-SRCDOC_COMP sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-SRCDOC_LOGSYS sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-SRCDOC_TYPE sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-SRCDOC_ID sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-TIMESTAMP_UTC sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-HEADER_ID sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-ITEM_ID sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-KEYPP sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-RAIC_TYPE sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-RAIC sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-STATUS sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-CHHIST sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-BUKRS sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-QUANTITY sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-QUANTITY_UNIT sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-INITIAL_LOAD sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-LOG_HANDLE sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-MIG_PACKAGE sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-DELETION_IND sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-REFERENCE_TYPE sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-REFERENCE_ID sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-KUNNR sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-PARTNER sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-WAERS sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-HWAER sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-HWAE2 sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-HWAE3 sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-GSBER sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-PRCTR sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-SEGMENT sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-FKBER sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-START_DATE sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-END_DATE sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-PREDOC_COMP sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-PREDOC_LOGSYS sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-PREDOC_TYPE sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-PREDOC_ID sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-HIERARCHY_ROOT sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-HILDOC_COMP sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-HILDOC_LOGSYS sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-HILDOC_TYPE sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-HILDOC_ID sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-BILREL sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-DELREL sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-BILL_PLAN_TYPE sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-SALES_ORG sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-XPREDOC sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-RECEIV_ACCOUNT sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-INCEPTION_DATE sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-VALUE_RELEVANT sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-BILLING_PLAN_INV sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-X_ESTIMATED_QUAN sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-XRECACC_DET sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-XACCASS_DET sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-XNEGATIVE_ITEM sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-RAI_ERROR sy-vline
WA_FKKR_S_CHECK_BASIC_MI_ORDER_STR-EARLIEST_DATE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.