ABAP Select data from SAP table REXC_CH_AJR_COND_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 REXC_CH_AJR_COND_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 REXC_CH_AJR_COND_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 REXC_CH_AJR_COND_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_REXC_CH_AJR_COND_C TYPE STANDARD TABLE OF REXC_CH_AJR_COND_C,
      WA_REXC_CH_AJR_COND_C TYPE REXC_CH_AJR_COND_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: <REXC_CH_AJR_COND_C> TYPE REXC_CH_AJR_COND_C.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM REXC_CH_AJR_COND_C
*  INTO TABLE @DATA(IT_REXC_CH_AJR_COND_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_REXC_CH_AJR_COND_C INDEX 1 INTO DATA(WA_REXC_CH_AJR_COND_C2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_REXC_CH_AJR_COND_C ASSIGNING <REXC_CH_AJR_COND_C>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<REXC_CH_AJR_COND_C>-CONDTYPESORT = 1.
<REXC_CH_AJR_COND_C>-OBJNR_O = 1.
<REXC_CH_AJR_COND_C>-OBJTYPECALC_O = 1.
<REXC_CH_AJR_COND_C>-XLOBJTYPE_O = 1.
<REXC_CH_AJR_COND_C>-OBJTXTCALC_O = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_REXC_CH_AJR_COND_C-CONDTYPE_O, sy-vline,
WA_REXC_CH_AJR_COND_C-CONDVALIDFROM_O, sy-vline,
WA_REXC_CH_AJR_COND_C-CONDVALIDTO_O, sy-vline,
WA_REXC_CH_AJR_COND_C-UNIQUECOND_O, sy-vline,
WA_REXC_CH_AJR_COND_C-INFOCOND_O, sy-vline,
WA_REXC_CH_AJR_COND_C-CALCRULE_O, sy-vline.
ENDLOOP. *Add any further fields from structure WA_REXC_CH_AJR_COND_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_REXC_CH_AJR_COND_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_REXC_CH_AJR_COND_C INTO WA_REXC_CH_AJR_COND_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 CONDTYPE_O CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_REXC_CH_AJR_COND_C-CONDTYPE_O IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REXC_CH_AJR_COND_C-CONDTYPE_O.
WRITE:/ 'New Value:', ld_input.

*Conversion exit REDAT, internal->external for field CONDVALIDTO_O CALL FUNCTION 'CONVERSION_EXIT_REDAT_OUTPUT' EXPORTING input = WA_REXC_CH_AJR_COND_C-CONDVALIDTO_O IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REXC_CH_AJR_COND_C-CONDVALIDTO_O.
WRITE:/ 'New Value:', ld_input.

*Conversion exit REDAT, internal->external for field VALUEVALIDTO_O CALL FUNCTION 'CONVERSION_EXIT_REDAT_OUTPUT' EXPORTING input = WA_REXC_CH_AJR_COND_C-VALUEVALIDTO_O IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REXC_CH_AJR_COND_C-VALUEVALIDTO_O.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit REDAT, internal->external for field CONDVALIDTO_N CALL FUNCTION 'CONVERSION_EXIT_REDAT_OUTPUT' EXPORTING input = WA_REXC_CH_AJR_COND_C-CONDVALIDTO_N IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REXC_CH_AJR_COND_C-CONDVALIDTO_N.
WRITE:/ 'New Value:', ld_input.

*Conversion exit REDAT, internal->external for field VALUEVALIDTO_N CALL FUNCTION 'CONVERSION_EXIT_REDAT_OUTPUT' EXPORTING input = WA_REXC_CH_AJR_COND_C-VALUEVALIDTO_N IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REXC_CH_AJR_COND_C-VALUEVALIDTO_N.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field PARTNER_N CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_REXC_CH_AJR_COND_C-PARTNER_N IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REXC_CH_AJR_COND_C-PARTNER_N.
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_REXC_CH_AJR_COND_C_STR,
CONDTYPESORT TYPE STRING,
OBJNR_O TYPE STRING,
OBJTYPECALC_O TYPE STRING,
XLOBJTYPE_O TYPE STRING,
OBJTXTCALC_O TYPE STRING,
CONDTYPE_O TYPE STRING,
CONDVALIDFROM_O TYPE STRING,
CONDVALIDTO_O TYPE STRING,
UNIQUECOND_O TYPE STRING,
INFOCOND_O TYPE STRING,
CALCRULE_O TYPE STRING,
XCONDITION_O TYPE STRING,
FREQUENCY_O TYPE STRING,
FREQUENCYUNIT_O TYPE STRING,
XFREQUENCYUNIT_O TYPE STRING,
CONDVALUEREFER_O TYPE STRING,
XCONDVALUEREFER_O TYPE STRING,
CONDGUID_O TYPE STRING,
CALCGUID_O TYPE STRING,
VALUEVALIDFROM_O TYPE STRING,
VALUEVALIDTO_O TYPE STRING,
CALCVALUE_O TYPE STRING,
CALCNUMBER_O TYPE STRING,
PARTNER_O TYPE STRING,
PARTNEROBJNR_O TYPE STRING,
DUEDATE_O TYPE STRING,
CONDVALUE_O TYPE STRING,
TAXVALUE_O TYPE STRING,
CONDVALUENET_O TYPE STRING,
CONDVALUEGROSS_O TYPE STRING,
CONDCURR_O TYPE STRING,
XDATERANGE_O TYPE STRING,
CUKY2ND_O TYPE STRING,
CONDVALUE_2ND_O TYPE STRING,
TAXVALUE_2ND_O TYPE STRING,
CONDVALUENET_2ND_O TYPE STRING,
CONDVALUEGROSS_2ND_O TYPE STRING,
OBJNR_N TYPE STRING,
OBJTYPECALC_N TYPE STRING,
XLOBJTYPE_N TYPE STRING,
OBJTXTCALC_N TYPE STRING,
CONDTYPE_N TYPE STRING,
CONDVALIDFROM_N TYPE STRING,
CONDVALIDTO_N TYPE STRING,
UNIQUECOND_N TYPE STRING,
INFOCOND_N TYPE STRING,
CALCRULE_N TYPE STRING,
XCONDITION_N TYPE STRING,
FREQUENCY_N TYPE STRING,
FREQUENCYUNIT_N TYPE STRING,
XFREQUENCYUNIT_N TYPE STRING,
CONDVALUEREFER_N TYPE STRING,
XCONDVALUEREFER_N TYPE STRING,
CONDGUID_N TYPE STRING,
CALCGUID_N TYPE STRING,
VALUEVALIDFROM_N TYPE STRING,
VALUEVALIDTO_N TYPE STRING,
CALCVALUE_N TYPE STRING,
CALCNUMBER_N TYPE STRING,
PARTNER_N TYPE STRING,
PARTNEROBJNR_N TYPE STRING,
DUEDATE_N TYPE STRING,
CONDVALUE_N TYPE STRING,
TAXVALUE_N TYPE STRING,
CONDVALUENET_N TYPE STRING,
CONDVALUEGROSS_N TYPE STRING,
CONDCURR_N TYPE STRING,
XDATERANGE_N TYPE STRING,
CUKY2ND_N TYPE STRING,
CONDVALUE_2ND_N TYPE STRING,
TAXVALUE_2ND_N TYPE STRING,
CONDVALUENET_2ND_N TYPE STRING,
CONDVALUEGROSS_2ND_N TYPE STRING,
CONDCHANGED TYPE STRING,END OF T_EKKO_STR. DATA: WA_REXC_CH_AJR_COND_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_REXC_CH_AJR_COND_C_STR-CONDTYPESORT sy-vline
WA_REXC_CH_AJR_COND_C_STR-OBJNR_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-OBJTYPECALC_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-XLOBJTYPE_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-OBJTXTCALC_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDTYPE_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALIDFROM_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALIDTO_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-UNIQUECOND_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-INFOCOND_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CALCRULE_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-XCONDITION_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-FREQUENCY_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-FREQUENCYUNIT_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-XFREQUENCYUNIT_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALUEREFER_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-XCONDVALUEREFER_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDGUID_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CALCGUID_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-VALUEVALIDFROM_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-VALUEVALIDTO_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CALCVALUE_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CALCNUMBER_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-PARTNER_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-PARTNEROBJNR_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-DUEDATE_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALUE_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-TAXVALUE_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALUENET_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALUEGROSS_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDCURR_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-XDATERANGE_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CUKY2ND_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALUE_2ND_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-TAXVALUE_2ND_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALUENET_2ND_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALUEGROSS_2ND_O sy-vline
WA_REXC_CH_AJR_COND_C_STR-OBJNR_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-OBJTYPECALC_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-XLOBJTYPE_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-OBJTXTCALC_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDTYPE_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALIDFROM_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALIDTO_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-UNIQUECOND_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-INFOCOND_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CALCRULE_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-XCONDITION_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-FREQUENCY_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-FREQUENCYUNIT_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-XFREQUENCYUNIT_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALUEREFER_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-XCONDVALUEREFER_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDGUID_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CALCGUID_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-VALUEVALIDFROM_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-VALUEVALIDTO_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CALCVALUE_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CALCNUMBER_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-PARTNER_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-PARTNEROBJNR_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-DUEDATE_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALUE_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-TAXVALUE_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALUENET_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALUEGROSS_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDCURR_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-XDATERANGE_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CUKY2ND_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALUE_2ND_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-TAXVALUE_2ND_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALUENET_2ND_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDVALUEGROSS_2ND_N sy-vline
WA_REXC_CH_AJR_COND_C_STR-CONDCHANGED sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.