ABAP Select data from SAP table ISSR_OUT_DE_INNOVAT_C 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 ISSR_OUT_DE_INNOVAT_C 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 ISSR_OUT_DE_INNOVAT_C. 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 ISSR_OUT_DE_INNOVAT_C 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_ISSR_OUT_DE_INNOVAT_C TYPE STANDARD TABLE OF ISSR_OUT_DE_INNOVAT_C,
      WA_ISSR_OUT_DE_INNOVAT_C TYPE ISSR_OUT_DE_INNOVAT_C,
      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: <ISSR_OUT_DE_INNOVAT_C> TYPE ISSR_OUT_DE_INNOVAT_C.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM ISSR_OUT_DE_INNOVAT_C
*  INTO TABLE @DATA(IT_ISSR_OUT_DE_INNOVAT_C2).
*--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_ISSR_OUT_DE_INNOVAT_C INDEX 1 INTO DATA(WA_ISSR_OUT_DE_INNOVAT_C2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_ISSR_OUT_DE_INNOVAT_C ASSIGNING <ISSR_OUT_DE_INNOVAT_C>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<ISSR_OUT_DE_INNOVAT_C>-COUNTRY_VAR = 1.
<ISSR_OUT_DE_INNOVAT_C>-LISTTYP = 1.
<ISSR_OUT_DE_INNOVAT_C>-TABLE_TYPE = 1.
<ISSR_OUT_DE_INNOVAT_C>-POSTING_TYPE = 1.
<ISSR_OUT_DE_INNOVAT_C>-BUKRS = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_ISSR_OUT_DE_INNOVAT_C-KONTL_3, sy-vline,
WA_ISSR_OUT_DE_INNOVAT_C-BEGDA, sy-vline,
WA_ISSR_OUT_DE_INNOVAT_C-ENDDA, sy-vline,
WA_ISSR_OUT_DE_INNOVAT_C-RACCT, sy-vline,
WA_ISSR_OUT_DE_INNOVAT_C-RSPARTE, sy-vline,
WA_ISSR_OUT_DE_INNOVAT_C-RSTOCKBAV, sy-vline.
ENDLOOP. *Add any further fields from structure WA_ISSR_OUT_DE_INNOVAT_C 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_ISSR_OUT_DE_INNOVAT_C 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_ISSR_OUT_DE_INNOVAT_C INTO WA_ISSR_OUT_DE_INNOVAT_C. *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 RACCT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_ISSR_OUT_DE_INNOVAT_C-RACCT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISSR_OUT_DE_INNOVAT_C-RACCT.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit AC172, internal->external for field TSL CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_ISSR_OUT_DE_INNOVAT_C-TSL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISSR_OUT_DE_INNOVAT_C-TSL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC172, internal->external for field HSL CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_ISSR_OUT_DE_INNOVAT_C-HSL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISSR_OUT_DE_INNOVAT_C-HSL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC172, internal->external for field KSL CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_ISSR_OUT_DE_INNOVAT_C-KSL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISSR_OUT_DE_INNOVAT_C-KSL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC172, internal->external for field NWBTR_3 CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_ISSR_OUT_DE_INNOVAT_C-NWBTR_3 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISSR_OUT_DE_INNOVAT_C-NWBTR_3.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC172, internal->external for field TSL_B CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_ISSR_OUT_DE_INNOVAT_C-TSL_B IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISSR_OUT_DE_INNOVAT_C-TSL_B.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC172, internal->external for field HSL_B CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_ISSR_OUT_DE_INNOVAT_C-HSL_B IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISSR_OUT_DE_INNOVAT_C-HSL_B.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC172, internal->external for field KSL_B CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_ISSR_OUT_DE_INNOVAT_C-KSL_B IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISSR_OUT_DE_INNOVAT_C-KSL_B.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC172, internal->external for field NWBTR_3_B CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_ISSR_OUT_DE_INNOVAT_C-NWBTR_3_B IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISSR_OUT_DE_INNOVAT_C-NWBTR_3_B.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC172, internal->external for field ANRWERT CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_ISSR_OUT_DE_INNOVAT_C-ANRWERT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISSR_OUT_DE_INNOVAT_C-ANRWERT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC172, internal->external for field VERKEHRSW CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_ISSR_OUT_DE_INNOVAT_C-VERKEHRSW IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISSR_OUT_DE_INNOVAT_C-VERKEHRSW.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC172, internal->external for field MARKET_VALUE CALL FUNCTION 'CONVERSION_EXIT_AC172_OUTPUT' EXPORTING input = WA_ISSR_OUT_DE_INNOVAT_C-MARKET_VALUE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_ISSR_OUT_DE_INNOVAT_C-MARKET_VALUE.
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_ISSR_OUT_DE_INNOVAT_C_STR,
COUNTRY_VAR TYPE STRING,
LISTTYP TYPE STRING,
TABLE_TYPE TYPE STRING,
POSTING_TYPE TYPE STRING,
BUKRS TYPE STRING,
KONTL_3 TYPE STRING,
BEGDA TYPE STRING,
ENDDA TYPE STRING,
RACCT TYPE STRING,
RSPARTE TYPE STRING,
RSTOCKBAV TYPE STRING,
RSTOCKFA TYPE STRING,
RDV TYPE STRING,
RDVUA TYPE STRING,
RRANTYP TYPE STRING,
RASSET_NR TYPE STRING,
RPARTNER TYPE STRING,
RPARTNER_QUOTE TYPE STRING,
RSEC_ACCOUNT TYPE STRING,
PRODUCT_CAT TYPE STRING,
RPRODUCT_TYPE TYPE STRING,
RFLOWTYPE TYPE STRING,
ABS54AVAG TYPE STRING,
PRIMANOTA TYPE STRING,
NW101 TYPE STRING,
NW600 TYPE STRING,
NW102 TYPE STRING,
NW201 TYPE STRING,
NW670_3 TYPE STRING,
NW671_3 TYPE STRING,
R59710_1 TYPE STRING,
R59710_2 TYPE STRING,
R59710_3 TYPE STRING,
R59710_4 TYPE STRING,
OUT_PRIMANOTA TYPE STRING,
LEGAL_HOLDER TYPE STRING,
GRP_M1 TYPE STRING,
ISSR_COMP_RE TYPE STRING,
DEAL_PRIMANOTA TYPE STRING,
DEAL_PRIM_ADD TYPE STRING,
RSTOCKBAV_RE TYPE STRING,
RSTOCKFA_RE TYPE STRING,
COUNTRY TYPE STRING,
TSL TYPE STRING,
HSL TYPE STRING,
KSL TYPE STRING,
MSL TYPE STRING,
NWBTR_3 TYPE STRING,
TSL_B TYPE STRING,
HSL_B TYPE STRING,
KSL_B TYPE STRING,
MSL_B TYPE STRING,
NWBTR_3_B TYPE STRING,
MFT_GUID_3 TYPE STRING,
MW_GUID TYPE STRING,
IDENTNRH TYPE STRING,
ANRWERT TYPE STRING,
ANRWERTWHR TYPE STRING,
VERKEHRSW TYPE STRING,
VERKEHRSWWHR TYPE STRING,
GENAKTZ TYPE STRING,
GENDAT TYPE STRING,
ANRWERTDAT TYPE STRING,
ANRWERTAKTZ TYPE STRING,
AUFBLAND TYPE STRING,
AUFBWORT TYPE STRING,
FLG_SECONDARY TYPE STRING,
DURCHR_FONDS TYPE STRING,
FLG_INVESTMENT TYPE STRING,
ASSET_TYPE TYPE STRING,
VALUE_01 TYPE STRING,
VALUE_02 TYPE STRING,
VALUE_03 TYPE STRING,
VALUE_04 TYPE STRING,
VALUE_05 TYPE STRING,
VALUE_06 TYPE STRING,
RBUKRS TYPE STRING,
MARKET_VALUE TYPE STRING,
RVAL_AREA TYPE STRING,
ACQUISITION_DATE TYPE STRING,
DATUM TYPE STRING,
RTCUR TYPE STRING,END OF T_EKKO_STR. DATA: WA_ISSR_OUT_DE_INNOVAT_C_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_ISSR_OUT_DE_INNOVAT_C_STR-COUNTRY_VAR sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-LISTTYP sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-TABLE_TYPE sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-POSTING_TYPE sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-BUKRS sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-KONTL_3 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-BEGDA sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-ENDDA sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RACCT sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RSPARTE sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RSTOCKBAV sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RSTOCKFA sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RDV sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RDVUA sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RRANTYP sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RASSET_NR sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RPARTNER sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RPARTNER_QUOTE sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RSEC_ACCOUNT sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-PRODUCT_CAT sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RPRODUCT_TYPE sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RFLOWTYPE sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-ABS54AVAG sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-PRIMANOTA sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-NW101 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-NW600 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-NW102 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-NW201 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-NW670_3 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-NW671_3 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-R59710_1 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-R59710_2 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-R59710_3 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-R59710_4 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-OUT_PRIMANOTA sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-LEGAL_HOLDER sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-GRP_M1 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-ISSR_COMP_RE sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-DEAL_PRIMANOTA sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-DEAL_PRIM_ADD sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RSTOCKBAV_RE sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RSTOCKFA_RE sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-COUNTRY sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-TSL sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-HSL sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-KSL sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-MSL sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-NWBTR_3 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-TSL_B sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-HSL_B sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-KSL_B sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-MSL_B sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-NWBTR_3_B sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-MFT_GUID_3 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-MW_GUID sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-IDENTNRH sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-ANRWERT sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-ANRWERTWHR sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-VERKEHRSW sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-VERKEHRSWWHR sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-GENAKTZ sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-GENDAT sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-ANRWERTDAT sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-ANRWERTAKTZ sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-AUFBLAND sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-AUFBWORT sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-FLG_SECONDARY sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-DURCHR_FONDS sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-FLG_INVESTMENT sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-ASSET_TYPE sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-VALUE_01 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-VALUE_02 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-VALUE_03 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-VALUE_04 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-VALUE_05 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-VALUE_06 sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RBUKRS sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-MARKET_VALUE sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RVAL_AREA sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-ACQUISITION_DATE sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-DATUM sy-vline
WA_ISSR_OUT_DE_INNOVAT_C_STR-RTCUR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.