ABAP Select data from SAP table RECE_ASSET_CLEAR_RECON 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 RECE_ASSET_CLEAR_RECON 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 RECE_ASSET_CLEAR_RECON. 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 RECE_ASSET_CLEAR_RECON 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_RECE_ASSET_CLEAR_RECON TYPE STANDARD TABLE OF RECE_ASSET_CLEAR_RECON,
      WA_RECE_ASSET_CLEAR_RECON TYPE RECE_ASSET_CLEAR_RECON,
      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: <RECE_ASSET_CLEAR_RECON> TYPE RECE_ASSET_CLEAR_RECON.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RECE_ASSET_CLEAR_RECON
*  INTO TABLE @DATA(IT_RECE_ASSET_CLEAR_RECON2).
*--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_RECE_ASSET_CLEAR_RECON INDEX 1 INTO DATA(WA_RECE_ASSET_CLEAR_RECON2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RECE_ASSET_CLEAR_RECON ASSIGNING <RECE_ASSET_CLEAR_RECON>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RECE_ASSET_CLEAR_RECON>-ASS_CLR_ACC = 1.
<RECE_ASSET_CLEAR_RECON>-ACCPRINCIPLE = 1.
<RECE_ASSET_CLEAR_RECON>-LDGRP = 1.
<RECE_ASSET_CLEAR_RECON>-IDENTCN = 1.
<RECE_ASSET_CLEAR_RECON>-IDENTASSET = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RECE_ASSET_CLEAR_RECON-INTRENO, sy-vline,
WA_RECE_ASSET_CLEAR_RECON-TERMNO, sy-vline,
WA_RECE_ASSET_CLEAR_RECON-CERULE, sy-vline,
WA_RECE_ASSET_CLEAR_RECON-CFGUID, sy-vline,
WA_RECE_ASSET_CLEAR_RECON-DUEDATE, sy-vline,
WA_RECE_ASSET_CLEAR_RECON-PROCESSID, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RECE_ASSET_CLEAR_RECON 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_RECE_ASSET_CLEAR_RECON 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_RECE_ASSET_CLEAR_RECON INTO WA_RECE_ASSET_CLEAR_RECON. *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 ASS_CLR_ACC CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RECE_ASSET_CLEAR_RECON-ASS_CLR_ACC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RECE_ASSET_CLEAR_RECON-ASS_CLR_ACC.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

*Conversion exit GJAHR, internal->external for field FISCAL_YEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_RECE_ASSET_CLEAR_RECON-FISCAL_YEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RECE_ASSET_CLEAR_RECON-FISCAL_YEAR.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

*Conversion exit AU132, internal->external for field AMT_LOCAL_CUR3 CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_RECE_ASSET_CLEAR_RECON-AMT_LOCAL_CUR3 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RECE_ASSET_CLEAR_RECON-AMT_LOCAL_CUR3.
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_RECE_ASSET_CLEAR_RECON_STR,
ASS_CLR_ACC TYPE STRING,
ACCPRINCIPLE TYPE STRING,
LDGRP TYPE STRING,
IDENTCN TYPE STRING,
IDENTASSET TYPE STRING,
INTRENO TYPE STRING,
TERMNO TYPE STRING,
CERULE TYPE STRING,
CFGUID TYPE STRING,
DUEDATE TYPE STRING,
PROCESSID TYPE STRING,
PSTNGPROCEDURE TYPE STRING,
REFDOCID TYPE STRING,
BUKRS TYPE STRING,
PRCTR TYPE STRING,
FLG_ASSET_MIGRATED TYPE STRING,
FLG_REDUCTION TYPE STRING,
FLG_EXPLAINABLE TYPE STRING,
ACC_DOC_NO TYPE STRING,
AST_ACC_DOC_NO TYPE STRING,
BUZEI TYPE STRING,
FISCAL_YEAR TYPE STRING,
DOC_DATE TYPE STRING,
POSTING_DATE TYPE STRING,
AMT_DOC_CUR TYPE STRING,
DOC_CUR TYPE STRING,
KURSF TYPE STRING,
AMT_LOCAL_CUR TYPE STRING,
LOCAL_CUR TYPE STRING,
KURS2 TYPE STRING,
BASW2 TYPE STRING,
UMRD2 TYPE STRING,
AMT_LOCAL_CUR2 TYPE STRING,
LOCAL_CUR2 TYPE STRING,
KURS3 TYPE STRING,
BASW3 TYPE STRING,
UMRD3 TYPE STRING,
AMT_LOCAL_CUR3 TYPE STRING,
LOCAL_CUR3 TYPE STRING,
STYLETAB TYPE STRING,
COLORTAB TYPE STRING,END OF T_EKKO_STR. DATA: WA_RECE_ASSET_CLEAR_RECON_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_RECE_ASSET_CLEAR_RECON_STR-ASS_CLR_ACC sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-ACCPRINCIPLE sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-LDGRP sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-IDENTCN sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-IDENTASSET sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-INTRENO sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-TERMNO sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-CERULE sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-CFGUID sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-DUEDATE sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-PROCESSID sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-PSTNGPROCEDURE sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-REFDOCID sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-BUKRS sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-PRCTR sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-FLG_ASSET_MIGRATED sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-FLG_REDUCTION sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-FLG_EXPLAINABLE sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-ACC_DOC_NO sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-AST_ACC_DOC_NO sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-BUZEI sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-FISCAL_YEAR sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-DOC_DATE sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-POSTING_DATE sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-AMT_DOC_CUR sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-DOC_CUR sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-KURSF sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-AMT_LOCAL_CUR sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-LOCAL_CUR sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-KURS2 sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-BASW2 sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-UMRD2 sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-AMT_LOCAL_CUR2 sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-LOCAL_CUR2 sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-KURS3 sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-BASW3 sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-UMRD3 sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-AMT_LOCAL_CUR3 sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-LOCAL_CUR3 sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-STYLETAB sy-vline
WA_RECE_ASSET_CLEAR_RECON_STR-COLORTAB sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.