ABAP Select data from SAP table UPARI_YS_SELECTION 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 UPARI_YS_SELECTION 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 UPARI_YS_SELECTION. 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 UPARI_YS_SELECTION 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_UPARI_YS_SELECTION TYPE STANDARD TABLE OF UPARI_YS_SELECTION,
      WA_UPARI_YS_SELECTION TYPE UPARI_YS_SELECTION,
      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: <UPARI_YS_SELECTION> TYPE UPARI_YS_SELECTION.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM UPARI_YS_SELECTION
*  INTO TABLE @DATA(IT_UPARI_YS_SELECTION2).
*--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_UPARI_YS_SELECTION INDEX 1 INTO DATA(WA_UPARI_YS_SELECTION2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_UPARI_YS_SELECTION ASSIGNING <UPARI_YS_SELECTION>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<UPARI_YS_SELECTION>-CDT1 = 1.
<UPARI_YS_SELECTION>-CDT2 = 1.
<UPARI_YS_SELECTION>-CDT3 = 1.
<UPARI_YS_SELECTION>-PROD = 1.
<UPARI_YS_SELECTION>-COLOR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_UPARI_YS_SELECTION-SALESORG, sy-vline,
WA_UPARI_YS_SELECTION-DISTR_CHAN, sy-vline,
WA_UPARI_YS_SELECTION-SEASON, sy-vline,
WA_UPARI_YS_SELECTION-SEASYR, sy-vline,
WA_UPARI_YS_SELECTION-SKUROLL, sy-vline,
WA_UPARI_YS_SELECTION-REREL_PRODUCT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_UPARI_YS_SELECTION 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_UPARI_YS_SELECTION 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_UPARI_YS_SELECTION INTO WA_UPARI_YS_SELECTION. *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 PVERSION CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_UPARI_YS_SELECTION-PVERSION IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_UPARI_YS_SELECTION-PVERSION.
WRITE:/ 'New Value:', ld_input.

*Conversion exit PERI7, internal->external for field LSTPER CALL FUNCTION 'CONVERSION_EXIT_PERI7_OUTPUT' EXPORTING input = WA_UPARI_YS_SELECTION-LSTPER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_UPARI_YS_SELECTION-LSTPER.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field FSH_SEASON_YEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_UPARI_YS_SELECTION-FSH_SEASON_YEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_UPARI_YS_SELECTION-FSH_SEASON_YEAR.
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_UPARI_YS_SELECTION_STR,
CDT1 TYPE STRING,
CDT2 TYPE STRING,
CDT3 TYPE STRING,
PROD TYPE STRING,
COLOR TYPE STRING,
SALESORG TYPE STRING,
DISTR_CHAN TYPE STRING,
SEASON TYPE STRING,
SEASYR TYPE STRING,
SKUROLL TYPE STRING,
REREL_PRODUCT TYPE STRING,
LOCGRP TYPE STRING,
REREL_LOCGRP TYPE STRING,
ASORT TYPE STRING,
REREL_PRDASRT TYPE STRING,
ASRTVRS TYPE STRING,
SELDATE TYPE STRING,
REREL_PRDASRTVO TYPE STRING,
REREL_PRDASRTVM TYPE STRING,
MATGRP TYPE STRING,
MATKL TYPE STRING,
OTB_LEVEL TYPE STRING,
HIEID TYPE STRING,
LOC_CURRCY TYPE STRING,
FISCALPER TYPE STRING,
FISCALPER3 TYPE STRING,
FISCALYEAR TYPE STRING,
FISCALVARANT TYPE STRING,
CALWEEK TYPE STRING,
CALMONTH TYPE STRING,
CALQUARTER TYPE STRING,
CALYEAR TYPE STRING,
CALMONTH2 TYPE STRING,
CALQUART1 TYPE STRING,
PVERSION TYPE STRING,
FASHIONGRADE TYPE STRING,
LSTPER TYPE STRING,
REREL_MDPROP TYPE STRING,
HIE_NODE TYPE STRING,
KEYFIG_ID TYPE STRING,
BUDG_TYPE TYPE STRING,
DATE_FROM TYPE STRING,
CHANM TYPE STRING,
CHANM1 TYPE STRING,
CHANM2 TYPE STRING,
CHANM3 TYPE STRING,
CHANM4 TYPE STRING,
CHANM5 TYPE STRING,
CHANM6 TYPE STRING,
CHANM7 TYPE STRING,
CHANM8 TYPE STRING,
CHANM9 TYPE STRING,
NUM_PROCESS TYPE STRING,
SPLIT_CHANM TYPE STRING,
SERVER_GROUP TYPE STRING,
REL_ASRT_ONLY TYPE STRING,
REL_ASRTVRS_ONLY TYPE STRING,
ASORT_TYPE TYPE STRING,
SITE TYPE STRING,
LATEST_START_DATE TYPE STRING,
REREL_RTLPURPLN TYPE STRING,
PURCH_ORG TYPE STRING,
PUR_GROUP TYPE STRING,
FSH_SEASON TYPE STRING,
FSH_SEASON_YEAR TYPE STRING,
FSH_COLLECTION TYPE STRING,
FSH_THEME TYPE STRING,END OF T_EKKO_STR. DATA: WA_UPARI_YS_SELECTION_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_UPARI_YS_SELECTION_STR-CDT1 sy-vline
WA_UPARI_YS_SELECTION_STR-CDT2 sy-vline
WA_UPARI_YS_SELECTION_STR-CDT3 sy-vline
WA_UPARI_YS_SELECTION_STR-PROD sy-vline
WA_UPARI_YS_SELECTION_STR-COLOR sy-vline
WA_UPARI_YS_SELECTION_STR-SALESORG sy-vline
WA_UPARI_YS_SELECTION_STR-DISTR_CHAN sy-vline
WA_UPARI_YS_SELECTION_STR-SEASON sy-vline
WA_UPARI_YS_SELECTION_STR-SEASYR sy-vline
WA_UPARI_YS_SELECTION_STR-SKUROLL sy-vline
WA_UPARI_YS_SELECTION_STR-REREL_PRODUCT sy-vline
WA_UPARI_YS_SELECTION_STR-LOCGRP sy-vline
WA_UPARI_YS_SELECTION_STR-REREL_LOCGRP sy-vline
WA_UPARI_YS_SELECTION_STR-ASORT sy-vline
WA_UPARI_YS_SELECTION_STR-REREL_PRDASRT sy-vline
WA_UPARI_YS_SELECTION_STR-ASRTVRS sy-vline
WA_UPARI_YS_SELECTION_STR-SELDATE sy-vline
WA_UPARI_YS_SELECTION_STR-REREL_PRDASRTVO sy-vline
WA_UPARI_YS_SELECTION_STR-REREL_PRDASRTVM sy-vline
WA_UPARI_YS_SELECTION_STR-MATGRP sy-vline
WA_UPARI_YS_SELECTION_STR-MATKL sy-vline
WA_UPARI_YS_SELECTION_STR-OTB_LEVEL sy-vline
WA_UPARI_YS_SELECTION_STR-HIEID sy-vline
WA_UPARI_YS_SELECTION_STR-LOC_CURRCY sy-vline
WA_UPARI_YS_SELECTION_STR-FISCALPER sy-vline
WA_UPARI_YS_SELECTION_STR-FISCALPER3 sy-vline
WA_UPARI_YS_SELECTION_STR-FISCALYEAR sy-vline
WA_UPARI_YS_SELECTION_STR-FISCALVARANT sy-vline
WA_UPARI_YS_SELECTION_STR-CALWEEK sy-vline
WA_UPARI_YS_SELECTION_STR-CALMONTH sy-vline
WA_UPARI_YS_SELECTION_STR-CALQUARTER sy-vline
WA_UPARI_YS_SELECTION_STR-CALYEAR sy-vline
WA_UPARI_YS_SELECTION_STR-CALMONTH2 sy-vline
WA_UPARI_YS_SELECTION_STR-CALQUART1 sy-vline
WA_UPARI_YS_SELECTION_STR-PVERSION sy-vline
WA_UPARI_YS_SELECTION_STR-FASHIONGRADE sy-vline
WA_UPARI_YS_SELECTION_STR-LSTPER sy-vline
WA_UPARI_YS_SELECTION_STR-REREL_MDPROP sy-vline
WA_UPARI_YS_SELECTION_STR-HIE_NODE sy-vline
WA_UPARI_YS_SELECTION_STR-KEYFIG_ID sy-vline
WA_UPARI_YS_SELECTION_STR-BUDG_TYPE sy-vline
WA_UPARI_YS_SELECTION_STR-DATE_FROM sy-vline
WA_UPARI_YS_SELECTION_STR-CHANM sy-vline
WA_UPARI_YS_SELECTION_STR-CHANM1 sy-vline
WA_UPARI_YS_SELECTION_STR-CHANM2 sy-vline
WA_UPARI_YS_SELECTION_STR-CHANM3 sy-vline
WA_UPARI_YS_SELECTION_STR-CHANM4 sy-vline
WA_UPARI_YS_SELECTION_STR-CHANM5 sy-vline
WA_UPARI_YS_SELECTION_STR-CHANM6 sy-vline
WA_UPARI_YS_SELECTION_STR-CHANM7 sy-vline
WA_UPARI_YS_SELECTION_STR-CHANM8 sy-vline
WA_UPARI_YS_SELECTION_STR-CHANM9 sy-vline
WA_UPARI_YS_SELECTION_STR-NUM_PROCESS sy-vline
WA_UPARI_YS_SELECTION_STR-SPLIT_CHANM sy-vline
WA_UPARI_YS_SELECTION_STR-SERVER_GROUP sy-vline
WA_UPARI_YS_SELECTION_STR-REL_ASRT_ONLY sy-vline
WA_UPARI_YS_SELECTION_STR-REL_ASRTVRS_ONLY sy-vline
WA_UPARI_YS_SELECTION_STR-ASORT_TYPE sy-vline
WA_UPARI_YS_SELECTION_STR-SITE sy-vline
WA_UPARI_YS_SELECTION_STR-LATEST_START_DATE sy-vline
WA_UPARI_YS_SELECTION_STR-REREL_RTLPURPLN sy-vline
WA_UPARI_YS_SELECTION_STR-PURCH_ORG sy-vline
WA_UPARI_YS_SELECTION_STR-PUR_GROUP sy-vline
WA_UPARI_YS_SELECTION_STR-FSH_SEASON sy-vline
WA_UPARI_YS_SELECTION_STR-FSH_SEASON_YEAR sy-vline
WA_UPARI_YS_SELECTION_STR-FSH_COLLECTION sy-vline
WA_UPARI_YS_SELECTION_STR-FSH_THEME sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.