ABAP Select data from SAP table CEMTRRDNGDOCTP 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 CEMTRRDNGDOCTP 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 CEMTRRDNGDOCTP. 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 CEMTRRDNGDOCTP 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_CEMTRRDNGDOCTP TYPE STANDARD TABLE OF CEMTRRDNGDOCTP,
      WA_CEMTRRDNGDOCTP TYPE CEMTRRDNGDOCTP,
      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: <CEMTRRDNGDOCTP> TYPE CEMTRRDNGDOCTP.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM CEMTRRDNGDOCTP
*  INTO TABLE @DATA(IT_CEMTRRDNGDOCTP2).
*--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_CEMTRRDNGDOCTP INDEX 1 INTO DATA(WA_CEMTRRDNGDOCTP2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_CEMTRRDNGDOCTP ASSIGNING <CEMTRRDNGDOCTP>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<CEMTRRDNGDOCTP>-MANDT = 1.
<CEMTRRDNGDOCTP>-METERREADINGDOCUMENT = 1.
<CEMTRRDNGDOCTP>-SCHEDULEDMETERREADINGDATE = 1.
<CEMTRRDNGDOCTP>-UTILITIESDEVICE = 1.
<CEMTRRDNGDOCTP>-METERREADINGREASON = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_CEMTRRDNGDOCTP-SCHEDULEDUTILITIESBILLINGDATE, sy-vline,
WA_CEMTRRDNGDOCTP-DIVISION, sy-vline,
WA_CEMTRRDNGDOCTP-UTILSDEVICECATEGORYDESCRIPTION, sy-vline,
WA_CEMTRRDNGDOCTP-UTILITIESDEVICECATEGORY, sy-vline,
WA_CEMTRRDNGDOCTP-UTILITIESREGISTER, sy-vline,
WA_CEMTRRDNGDOCTP-UTILITIESREGISTERTYPENAME, sy-vline.
ENDLOOP. *Add any further fields from structure WA_CEMTRRDNGDOCTP 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_CEMTRRDNGDOCTP 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_CEMTRRDNGDOCTP INTO WA_CEMTRRDNGDOCTP. *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 METERREADINGDOCUMENT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_CEMTRRDNGDOCTP-METERREADINGDOCUMENT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEMTRRDNGDOCTP-METERREADINGDOCUMENT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GERNR, internal->external for field UTILITIESDEVICE CALL FUNCTION 'CONVERSION_EXIT_GERNR_OUTPUT' EXPORTING input = WA_CEMTRRDNGDOCTP-UTILITIESDEVICE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEMTRRDNGDOCTP-UTILITIESDEVICE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit MATN1, internal->external for field UTILITIESDEVICECATEGORY CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_CEMTRRDNGDOCTP-UTILITIESDEVICECATEGORY IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEMTRRDNGDOCTP-UTILITIESDEVICECATEGORY.
WRITE:/ 'New Value:', ld_input.

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

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

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

*Conversion exit CUNIT, internal->external for field METERREADINGMEASUREMENTUNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_CEMTRRDNGDOCTP-METERREADINGMEASUREMENTUNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEMTRRDNGDOCTP-METERREADINGMEASUREMENTUNIT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit BPMAP, internal->external for field BUSINESSPARTNER CALL FUNCTION 'CONVERSION_EXIT_BPMAP_OUTPUT' EXPORTING input = WA_CEMTRRDNGDOCTP-BUSINESSPARTNER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEMTRRDNGDOCTP-BUSINESSPARTNER.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit ALPHA, internal->external for field BPEMBUSINESSPROCESSCODE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_CEMTRRDNGDOCTP-BPEMBUSINESSPROCESSCODE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_CEMTRRDNGDOCTP-BPEMBUSINESSPROCESSCODE.
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_CEMTRRDNGDOCTP_STR,
MANDT TYPE STRING,
METERREADINGDOCUMENT TYPE STRING,
SCHEDULEDMETERREADINGDATE TYPE STRING,
UTILITIESDEVICE TYPE STRING,
METERREADINGREASON TYPE STRING,
SCHEDULEDUTILITIESBILLINGDATE TYPE STRING,
DIVISION TYPE STRING,
UTILSDEVICECATEGORYDESCRIPTION TYPE STRING,
UTILITIESDEVICECATEGORY TYPE STRING,
UTILITIESREGISTER TYPE STRING,
UTILITIESREGISTERTYPENAME TYPE STRING,
METERREADINGUNIT TYPE STRING,
UTILITIESPREMISE TYPE STRING,
ADDRESSID TYPE STRING,
UTILSPOSTALADDRESSFORMATTED TYPE STRING,
UTILITIESINSTALLATION TYPE STRING,
METERREADINGRESULTVALUE TYPE STRING,
METERREADINGSTATUS TYPE STRING,
METERREADINGDATE TYPE STRING,
METERREADINGTIME TYPE STRING,
METERREADINGRESULTDIFFERENCE TYPE STRING,
METERREADINGMEASUREMENTUNIT TYPE STRING,
UTILSBILLINGFACTOR TYPE STRING,
METERREADINGCONSUMPTIONACTUAL TYPE STRING,
METERREADINGCONSUMPTIONEXPD TYPE STRING,
METERREADINGORIGINESTIMATION TYPE STRING,
METERREADINGESTIMATEDVALUE TYPE STRING,
METERREADINGTYPE TYPE STRING,
METERREADER TYPE STRING,
METERREADERNOTECODE TYPE STRING,
UTILITIESPORTION TYPE STRING,
INDEPMTRRDNGVALIDATIONCHK TYPE STRING,
DEPDNTMTRRDNGVALIDATIONCHK TYPE STRING,
UTILITIESRATECATEGORY TYPE STRING,
METERREADINGRSNSCHEDULEDDATE TYPE STRING,
BUSINESSPARTNERNAME TYPE STRING,
BUSINESSPARTNER TYPE STRING,
UTILITIESMOVEINDATE TYPE STRING,
METERREADINGDATESDIFFERENCE TYPE STRING,
MTRRDNGDOCHASMLTPLRSN TYPE STRING,
MTRRDNGDOCHASMLTPLINST TYPE STRING,
MTRRDNGDOCHASMLTPLMTRRDNGUNIT TYPE STRING,
EQUIPMENT TYPE STRING,
METERREADINGCONSUMPTION TYPE STRING,
MTRRDNGVALDTNINFOCNSMPNVALEXPD TYPE STRING,
UTILSMCHNLRNGRELCONFIDENCEVAL TYPE STRING,
MTRRDNGVALDTNINFOCNSMPNACTL TYPE STRING,
MTRRDNGVALDTNINFOCNSMPNEXPD TYPE STRING,
MTRREADINGVALDTNINFODCMLS TYPE STRING,
METERRDNGORIGINESTIMATIONVALUE TYPE STRING,
METERRDNGVALIDATIONCURRENTVAL TYPE STRING,
MTRRDNGVALIDATIONEXPECTEDVALUE TYPE STRING,
METERRDNGVALIDATIONLOWERLIMIT TYPE STRING,
METERRDNGVALIDATIONUPPERLIMIT TYPE STRING,
MTRRDNGVALDTNINFOCHKRSLTVALUE TYPE STRING,
MTRRDNGVALDTNINFOCHKRSLTDESC TYPE STRING,
NMBROFUTILSREGDIGITSPREDCMLS TYPE STRING,
NMBROFUTILSREGDIGITSDCMLS TYPE STRING,
METERREADINGDATECRITICALITY TYPE STRING,
METERREADINGCATEGORY TYPE STRING,
BPEMCASE TYPE STRING,
BPEMCASECURRENTPROCESSOR TYPE STRING,
USERDESCRIPTION TYPE STRING,
BPEMCASECATEGORY TYPE STRING,
BPEMCASEPREVIOUSPROCESSOR TYPE STRING,
LASTCHANGEDBYUSERDESCRIPTION TYPE STRING,
BPEMBUSINESSPROCESSCODE TYPE STRING,
BPEMCASEFORWARDINGREASON TYPE STRING,
BPEMCASECREATIONDATE TYPE STRING,
BPEMCASEDUEDATE TYPE STRING,
BPEMCASEORIGINALDATE TYPE STRING,
BPEMCASEPRIORITY TYPE STRING,
BPEMCASESTATUS TYPE STRING,
BPEMCASEISEXISTING TYPE STRING,END OF T_EKKO_STR. DATA: WA_CEMTRRDNGDOCTP_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_CEMTRRDNGDOCTP_STR-MANDT sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGDOCUMENT sy-vline
WA_CEMTRRDNGDOCTP_STR-SCHEDULEDMETERREADINGDATE sy-vline
WA_CEMTRRDNGDOCTP_STR-UTILITIESDEVICE sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGREASON sy-vline
WA_CEMTRRDNGDOCTP_STR-SCHEDULEDUTILITIESBILLINGDATE sy-vline
WA_CEMTRRDNGDOCTP_STR-DIVISION sy-vline
WA_CEMTRRDNGDOCTP_STR-UTILSDEVICECATEGORYDESCRIPTION sy-vline
WA_CEMTRRDNGDOCTP_STR-UTILITIESDEVICECATEGORY sy-vline
WA_CEMTRRDNGDOCTP_STR-UTILITIESREGISTER sy-vline
WA_CEMTRRDNGDOCTP_STR-UTILITIESREGISTERTYPENAME sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGUNIT sy-vline
WA_CEMTRRDNGDOCTP_STR-UTILITIESPREMISE sy-vline
WA_CEMTRRDNGDOCTP_STR-ADDRESSID sy-vline
WA_CEMTRRDNGDOCTP_STR-UTILSPOSTALADDRESSFORMATTED sy-vline
WA_CEMTRRDNGDOCTP_STR-UTILITIESINSTALLATION sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGRESULTVALUE sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGSTATUS sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGDATE sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGTIME sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGRESULTDIFFERENCE sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGMEASUREMENTUNIT sy-vline
WA_CEMTRRDNGDOCTP_STR-UTILSBILLINGFACTOR sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGCONSUMPTIONACTUAL sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGCONSUMPTIONEXPD sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGORIGINESTIMATION sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGESTIMATEDVALUE sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGTYPE sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADER sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADERNOTECODE sy-vline
WA_CEMTRRDNGDOCTP_STR-UTILITIESPORTION sy-vline
WA_CEMTRRDNGDOCTP_STR-INDEPMTRRDNGVALIDATIONCHK sy-vline
WA_CEMTRRDNGDOCTP_STR-DEPDNTMTRRDNGVALIDATIONCHK sy-vline
WA_CEMTRRDNGDOCTP_STR-UTILITIESRATECATEGORY sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGRSNSCHEDULEDDATE sy-vline
WA_CEMTRRDNGDOCTP_STR-BUSINESSPARTNERNAME sy-vline
WA_CEMTRRDNGDOCTP_STR-BUSINESSPARTNER sy-vline
WA_CEMTRRDNGDOCTP_STR-UTILITIESMOVEINDATE sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGDATESDIFFERENCE sy-vline
WA_CEMTRRDNGDOCTP_STR-MTRRDNGDOCHASMLTPLRSN sy-vline
WA_CEMTRRDNGDOCTP_STR-MTRRDNGDOCHASMLTPLINST sy-vline
WA_CEMTRRDNGDOCTP_STR-MTRRDNGDOCHASMLTPLMTRRDNGUNIT sy-vline
WA_CEMTRRDNGDOCTP_STR-EQUIPMENT sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGCONSUMPTION sy-vline
WA_CEMTRRDNGDOCTP_STR-MTRRDNGVALDTNINFOCNSMPNVALEXPD sy-vline
WA_CEMTRRDNGDOCTP_STR-UTILSMCHNLRNGRELCONFIDENCEVAL sy-vline
WA_CEMTRRDNGDOCTP_STR-MTRRDNGVALDTNINFOCNSMPNACTL sy-vline
WA_CEMTRRDNGDOCTP_STR-MTRRDNGVALDTNINFOCNSMPNEXPD sy-vline
WA_CEMTRRDNGDOCTP_STR-MTRREADINGVALDTNINFODCMLS sy-vline
WA_CEMTRRDNGDOCTP_STR-METERRDNGORIGINESTIMATIONVALUE sy-vline
WA_CEMTRRDNGDOCTP_STR-METERRDNGVALIDATIONCURRENTVAL sy-vline
WA_CEMTRRDNGDOCTP_STR-MTRRDNGVALIDATIONEXPECTEDVALUE sy-vline
WA_CEMTRRDNGDOCTP_STR-METERRDNGVALIDATIONLOWERLIMIT sy-vline
WA_CEMTRRDNGDOCTP_STR-METERRDNGVALIDATIONUPPERLIMIT sy-vline
WA_CEMTRRDNGDOCTP_STR-MTRRDNGVALDTNINFOCHKRSLTVALUE sy-vline
WA_CEMTRRDNGDOCTP_STR-MTRRDNGVALDTNINFOCHKRSLTDESC sy-vline
WA_CEMTRRDNGDOCTP_STR-NMBROFUTILSREGDIGITSPREDCMLS sy-vline
WA_CEMTRRDNGDOCTP_STR-NMBROFUTILSREGDIGITSDCMLS sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGDATECRITICALITY sy-vline
WA_CEMTRRDNGDOCTP_STR-METERREADINGCATEGORY sy-vline
WA_CEMTRRDNGDOCTP_STR-BPEMCASE sy-vline
WA_CEMTRRDNGDOCTP_STR-BPEMCASECURRENTPROCESSOR sy-vline
WA_CEMTRRDNGDOCTP_STR-USERDESCRIPTION sy-vline
WA_CEMTRRDNGDOCTP_STR-BPEMCASECATEGORY sy-vline
WA_CEMTRRDNGDOCTP_STR-BPEMCASEPREVIOUSPROCESSOR sy-vline
WA_CEMTRRDNGDOCTP_STR-LASTCHANGEDBYUSERDESCRIPTION sy-vline
WA_CEMTRRDNGDOCTP_STR-BPEMBUSINESSPROCESSCODE sy-vline
WA_CEMTRRDNGDOCTP_STR-BPEMCASEFORWARDINGREASON sy-vline
WA_CEMTRRDNGDOCTP_STR-BPEMCASECREATIONDATE sy-vline
WA_CEMTRRDNGDOCTP_STR-BPEMCASEDUEDATE sy-vline
WA_CEMTRRDNGDOCTP_STR-BPEMCASEORIGINALDATE sy-vline
WA_CEMTRRDNGDOCTP_STR-BPEMCASEPRIORITY sy-vline
WA_CEMTRRDNGDOCTP_STR-BPEMCASESTATUS sy-vline
WA_CEMTRRDNGDOCTP_STR-BPEMCASEISEXISTING sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.