ABAP Select data from SAP table REAJ_STEP_PARAM 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 REAJ_STEP_PARAM 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 REAJ_STEP_PARAM. 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 REAJ_STEP_PARAM 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_REAJ_STEP_PARAM TYPE STANDARD TABLE OF REAJ_STEP_PARAM,
      WA_REAJ_STEP_PARAM TYPE REAJ_STEP_PARAM,
      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: <REAJ_STEP_PARAM> TYPE REAJ_STEP_PARAM.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM REAJ_STEP_PARAM
*  INTO TABLE @DATA(IT_REAJ_STEP_PARAM2).
*--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_REAJ_STEP_PARAM INDEX 1 INTO DATA(WA_REAJ_STEP_PARAM2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_REAJ_STEP_PARAM ASSIGNING <REAJ_STEP_PARAM>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<REAJ_STEP_PARAM>-ADJMVALIDFROM = 1.
<REAJ_STEP_PARAM>-NEXTADJMFROM = 1.
<REAJ_STEP_PARAM>-CNSTATUS = 1.
<REAJ_STEP_PARAM>-ADJMOCCUPYCN = 1.
<REAJ_STEP_PARAM>-ADJMAPPROVALCN = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_REAJ_STEP_PARAM-ADJMNOOCCUPYCN, sy-vline,
WA_REAJ_STEP_PARAM-ADJMNOAPPROVCN, sy-vline,
WA_REAJ_STEP_PARAM-ADJMOCCUPYRO, sy-vline,
WA_REAJ_STEP_PARAM-ADJMDEPOCCRO, sy-vline,
WA_REAJ_STEP_PARAM-ADJMNOOCCUPYRO, sy-vline,
WA_REAJ_STEP_PARAM-ADJMDEPNOCCRO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_REAJ_STEP_PARAM 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_REAJ_STEP_PARAM 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_REAJ_STEP_PARAM INTO WA_REAJ_STEP_PARAM. *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 ADJMREASON CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_REAJ_STEP_PARAM-ADJMREASON IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REAJ_STEP_PARAM-ADJMREASON.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field ADJMRULEDEFAULT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_REAJ_STEP_PARAM-ADJMRULEDEFAULT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REAJ_STEP_PARAM-ADJMRULEDEFAULT.
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_REAJ_STEP_PARAM_STR,
ADJMVALIDFROM TYPE STRING,
NEXTADJMFROM TYPE STRING,
CNSTATUS TYPE STRING,
ADJMOCCUPYCN TYPE STRING,
ADJMAPPROVALCN TYPE STRING,
ADJMNOOCCUPYCN TYPE STRING,
ADJMNOAPPROVCN TYPE STRING,
ADJMOCCUPYRO TYPE STRING,
ADJMDEPOCCRO TYPE STRING,
ADJMNOOCCUPYRO TYPE STRING,
ADJMDEPNOCCRO TYPE STRING,
ADJMAPPROVALTO TYPE STRING,
ADJMDIRECTACTI TYPE STRING,
ADJMDIRECTAPPR TYPE STRING,
ADJMDIRECTDECL TYPE STRING,
ADJMREVEALL TYPE STRING,
ADJMCONDNEW TYPE STRING,
ADJMNOOCCUPYRODATE TYPE STRING,
DUEDATEUP TYPE STRING,
ADJMAPPROVALDATE TYPE STRING,
ADJMDECLINEDATE TYPE STRING,
APPRDIRECTPRINT TYPE STRING,
DOCUDIRECTPRINT TYPE STRING,
ADJMREASON TYPE STRING,
ADJMRULEDEFAULT TYPE STRING,
ADJMANNOUNCETO TYPE STRING,
ANNODIRECTPRINT TYPE STRING,
ADJMDIRECTANNO TYPE STRING,
ADJMANNOUNCEDATE TYPE STRING,
ADJMZEROCOND TYPE STRING,
CNFOLLOW TYPE STRING,
ROCONDPURPOSEEXT TYPE STRING,
ALVBATCH TYPE STRING,
ADJMREVELASTSTEP TYPE STRING,
ADJMDEACTI TYPE STRING,
ADJMCNOBJSEL TYPE STRING,END OF T_EKKO_STR. DATA: WA_REAJ_STEP_PARAM_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_REAJ_STEP_PARAM_STR-ADJMVALIDFROM sy-vline
WA_REAJ_STEP_PARAM_STR-NEXTADJMFROM sy-vline
WA_REAJ_STEP_PARAM_STR-CNSTATUS sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMOCCUPYCN sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMAPPROVALCN sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMNOOCCUPYCN sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMNOAPPROVCN sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMOCCUPYRO sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMDEPOCCRO sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMNOOCCUPYRO sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMDEPNOCCRO sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMAPPROVALTO sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMDIRECTACTI sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMDIRECTAPPR sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMDIRECTDECL sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMREVEALL sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMCONDNEW sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMNOOCCUPYRODATE sy-vline
WA_REAJ_STEP_PARAM_STR-DUEDATEUP sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMAPPROVALDATE sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMDECLINEDATE sy-vline
WA_REAJ_STEP_PARAM_STR-APPRDIRECTPRINT sy-vline
WA_REAJ_STEP_PARAM_STR-DOCUDIRECTPRINT sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMREASON sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMRULEDEFAULT sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMANNOUNCETO sy-vline
WA_REAJ_STEP_PARAM_STR-ANNODIRECTPRINT sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMDIRECTANNO sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMANNOUNCEDATE sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMZEROCOND sy-vline
WA_REAJ_STEP_PARAM_STR-CNFOLLOW sy-vline
WA_REAJ_STEP_PARAM_STR-ROCONDPURPOSEEXT sy-vline
WA_REAJ_STEP_PARAM_STR-ALVBATCH sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMREVELASTSTEP sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMDEACTI sy-vline
WA_REAJ_STEP_PARAM_STR-ADJMCNOBJSEL sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.