ABAP Select data from SAP table COPTECHOBJ 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 COPTECHOBJ 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 COPTECHOBJ. 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 COPTECHOBJ 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_COPTECHOBJ TYPE STANDARD TABLE OF COPTECHOBJ,
      WA_COPTECHOBJ TYPE COPTECHOBJ,
      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: <COPTECHOBJ> TYPE COPTECHOBJ.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM COPTECHOBJ
*  INTO TABLE @DATA(IT_COPTECHOBJ2).
*--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_COPTECHOBJ INDEX 1 INTO DATA(WA_COPTECHOBJ2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_COPTECHOBJ ASSIGNING <COPTECHOBJ>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<COPTECHOBJ>-MANDT = 1.
<COPTECHOBJ>-TECHOBJISEQUIPORFUNCNLLOC = 1.
<COPTECHOBJ>-TECHNICALOBJECT = 1.
<COPTECHOBJ>-EQUIPMENT = 1.
<COPTECHOBJ>-FUNCTIONALLOCATION = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_COPTECHOBJ-TECHNICALOBJECTLABEL, sy-vline,
WA_COPTECHOBJ-TECHNICALOBJECTDESCRIPTION, sy-vline,
WA_COPTECHOBJ-TECHOBJISEQUIPORFUNCNLLOCDESC, sy-vline,
WA_COPTECHOBJ-TECHNICALOBJECTCATEGORY, sy-vline,
WA_COPTECHOBJ-TECHNICALOBJECTCATEGORYDESC, sy-vline,
WA_COPTECHOBJ-TECHNICALOBJECTTYPE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_COPTECHOBJ 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_COPTECHOBJ 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_COPTECHOBJ INTO WA_COPTECHOBJ. *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 EQUIPMENT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_COPTECHOBJ-EQUIPMENT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_COPTECHOBJ-EQUIPMENT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit TPLNR, internal->external for field FUNCTIONALLOCATION CALL FUNCTION 'CONVERSION_EXIT_TPLNR_OUTPUT' EXPORTING input = WA_COPTECHOBJ-FUNCTIONALLOCATION IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_COPTECHOBJ-FUNCTIONALLOCATION.
WRITE:/ 'New Value:', ld_input.

*Conversion exit TECHO, internal->external for field TECHNICALOBJECTLABEL CALL FUNCTION 'CONVERSION_EXIT_TECHO_OUTPUT' EXPORTING input = WA_COPTECHOBJ-TECHNICALOBJECTLABEL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_COPTECHOBJ-TECHNICALOBJECTLABEL.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit TECHO, internal->external for field SUPERIORTECHNICALOBJECTLABEL CALL FUNCTION 'CONVERSION_EXIT_TECHO_OUTPUT' EXPORTING input = WA_COPTECHOBJ-SUPERIORTECHNICALOBJECTLABEL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_COPTECHOBJ-SUPERIORTECHNICALOBJECTLABEL.
WRITE:/ 'New Value:', ld_input.

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

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

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

*Conversion exit ABPSN, internal->external for field WBSELEMENT CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT' EXPORTING input = WA_COPTECHOBJ-WBSELEMENT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_COPTECHOBJ-WBSELEMENT.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit ALPHA, internal->external for field SETTLEMENTORDER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_COPTECHOBJ-SETTLEMENTORDER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_COPTECHOBJ-SETTLEMENTORDER.
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_COPTECHOBJ_STR,
MANDT TYPE STRING,
TECHOBJISEQUIPORFUNCNLLOC TYPE STRING,
TECHNICALOBJECT TYPE STRING,
EQUIPMENT TYPE STRING,
FUNCTIONALLOCATION TYPE STRING,
TECHNICALOBJECTLABEL TYPE STRING,
TECHNICALOBJECTDESCRIPTION TYPE STRING,
TECHOBJISEQUIPORFUNCNLLOCDESC TYPE STRING,
TECHNICALOBJECTCATEGORY TYPE STRING,
TECHNICALOBJECTCATEGORYDESC TYPE STRING,
TECHNICALOBJECTTYPE TYPE STRING,
TECHNICALOBJECTTYPEDESC TYPE STRING,
ASSETMANUFACTURERNAME TYPE STRING,
MANUFACTURERPARTTYPENAME TYPE STRING,
MANUFACTURERPARTNMBR TYPE STRING,
MANUFACTURERSERIALNUMBER TYPE STRING,
CREATEDBYUSER TYPE STRING,
CREATIONDATE TYPE STRING,
LASTCHANGEDBYUSER TYPE STRING,
LASTCHANGEDATE TYPE STRING,
ISDELETED TYPE STRING,
TECHNICALOBJECTHASLONGTEXT TYPE STRING,
INVENTORYNUMBER TYPE STRING,
GROSSWEIGHT TYPE STRING,
GROSSWEIGHTUNIT TYPE STRING,
SIZEORDIMENSIONTEXT TYPE STRING,
MAINTENANCEPLANNINGPLANT TYPE STRING,
MAINTENANCEPLANNINGPLANTNAME TYPE STRING,
MAINTENANCEPLANNERGROUP TYPE STRING,
MAINTENANCEPLANNERGROUPNAME TYPE STRING,
MAINWORKCENTER TYPE STRING,
MAINWORKCENTERDESCRIPTION TYPE STRING,
MAINWORKCENTERPLANT TYPE STRING,
MAINWORKCENTERPLANTNAME TYPE STRING,
MAINTENANCEPLANT TYPE STRING,
MAINTENANCEPLANTNAME TYPE STRING,
WORKCENTER TYPE STRING,
WORKCENTERTEXT TYPE STRING,
PLANTSECTION TYPE STRING,
PLANTSECTIONPERSONRESPNAME TYPE STRING,
PLANTSECTIONPERSONRESPPHONE TYPE STRING,
ASSETLOCATION TYPE STRING,
LOCATIONNAME TYPE STRING,
ASSETROOM TYPE STRING,
ABCINDICATOR TYPE STRING,
ABCINDICATORDESC TYPE STRING,
BUSINESSPARTNERNAME1 TYPE STRING,
BUSINESSPARTNERNAME2 TYPE STRING,
STREETNAME TYPE STRING,
POSTALCODE TYPE STRING,
CITYNAME TYPE STRING,
HOUSENUMBERSUPPLEMENTTEXT TYPE STRING,
FLOOR TYPE STRING,
ROOMNUMBER TYPE STRING,
FORMOFADDRESS TYPE STRING,
BUILDING TYPE STRING,
MAINTOBJECTFREEDEFINEDATTRIB TYPE STRING,
SUPERIORTECHNICALOBJECT_H TYPE STRING,
SUPERIORTECHNICALOBJECTLABEL TYPE STRING,
SUPERIORTECHNICALOBJECTNAME TYPE STRING,
SUPERIOROBJISEQUIPORFUNCNLLOC TYPE STRING,
TECHNICALOBJECTSORTCODE TYPE STRING,
UICT_TECHNICALOBJECTSORTCODE TYPE STRING,
COMPANYCODE TYPE STRING,
COMPANYCODENAME TYPE STRING,
BUSINESSAREA TYPE STRING,
BUSINESSAREANAME TYPE STRING,
MASTERFIXEDASSET TYPE STRING,
MASTERFIXEDASSETDESCRIPTION TYPE STRING,
FIXEDASSET TYPE STRING,
COSTCENTER TYPE STRING,
COSTCENTERNAME TYPE STRING,
CONTROLLINGAREA TYPE STRING,
CONTROLLINGAREANAME TYPE STRING,
WBSELEMENT TYPE STRING,
WBSDESCRIPTION TYPE STRING,
STANDINGORDERNUMBER TYPE STRING,
STANDINGORDERDESC TYPE STRING,
SETTLEMENTORDER TYPE STRING,
SETTLEMENTORDERDESC TYPE STRING,
CONCATENATEDACTIVEUSERSTSNAME TYPE STRING,
CONCATENATEDACTIVESYSTSTSNAME TYPE STRING,
SALESORGANIZATION TYPE STRING,
DISTRIBUTIONCHANNEL TYPE STRING,
DIVISION TYPE STRING,
SALESOFFICE TYPE STRING,
SALESGROUP TYPE STRING,
TECHOBJISSYNCEDWTHASTINTELNTWK TYPE STRING,
TECHNICALOBJECTTHUMBNAILURL TYPE STRING,
ASSETINTELNTWKOBJECTID TYPE STRING,
AUTHORIZATIONGROUP TYPE STRING,
UICT_MAINTENANCEORDER TYPE STRING,
UICT_MAINTENANCENOTIFICATION TYPE STRING,
UICT_MAINTENANCEITEM TYPE STRING,
UICT_SERVICEORDER TYPE STRING,
TECHOBJECTWITHLEADINGZEROS TYPE STRING,
FUNCTIONALLOCATIONLABELNAME TYPE STRING,
MAINTOBJECTINTERNALID TYPE STRING,
PLANT TYPE STRING,
MAINTOBJECTLOCACCTASSGMTNMBR TYPE STRING,END OF T_EKKO_STR. DATA: WA_COPTECHOBJ_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_COPTECHOBJ_STR-MANDT sy-vline
WA_COPTECHOBJ_STR-TECHOBJISEQUIPORFUNCNLLOC sy-vline
WA_COPTECHOBJ_STR-TECHNICALOBJECT sy-vline
WA_COPTECHOBJ_STR-EQUIPMENT sy-vline
WA_COPTECHOBJ_STR-FUNCTIONALLOCATION sy-vline
WA_COPTECHOBJ_STR-TECHNICALOBJECTLABEL sy-vline
WA_COPTECHOBJ_STR-TECHNICALOBJECTDESCRIPTION sy-vline
WA_COPTECHOBJ_STR-TECHOBJISEQUIPORFUNCNLLOCDESC sy-vline
WA_COPTECHOBJ_STR-TECHNICALOBJECTCATEGORY sy-vline
WA_COPTECHOBJ_STR-TECHNICALOBJECTCATEGORYDESC sy-vline
WA_COPTECHOBJ_STR-TECHNICALOBJECTTYPE sy-vline
WA_COPTECHOBJ_STR-TECHNICALOBJECTTYPEDESC sy-vline
WA_COPTECHOBJ_STR-ASSETMANUFACTURERNAME sy-vline
WA_COPTECHOBJ_STR-MANUFACTURERPARTTYPENAME sy-vline
WA_COPTECHOBJ_STR-MANUFACTURERPARTNMBR sy-vline
WA_COPTECHOBJ_STR-MANUFACTURERSERIALNUMBER sy-vline
WA_COPTECHOBJ_STR-CREATEDBYUSER sy-vline
WA_COPTECHOBJ_STR-CREATIONDATE sy-vline
WA_COPTECHOBJ_STR-LASTCHANGEDBYUSER sy-vline
WA_COPTECHOBJ_STR-LASTCHANGEDATE sy-vline
WA_COPTECHOBJ_STR-ISDELETED sy-vline
WA_COPTECHOBJ_STR-TECHNICALOBJECTHASLONGTEXT sy-vline
WA_COPTECHOBJ_STR-INVENTORYNUMBER sy-vline
WA_COPTECHOBJ_STR-GROSSWEIGHT sy-vline
WA_COPTECHOBJ_STR-GROSSWEIGHTUNIT sy-vline
WA_COPTECHOBJ_STR-SIZEORDIMENSIONTEXT sy-vline
WA_COPTECHOBJ_STR-MAINTENANCEPLANNINGPLANT sy-vline
WA_COPTECHOBJ_STR-MAINTENANCEPLANNINGPLANTNAME sy-vline
WA_COPTECHOBJ_STR-MAINTENANCEPLANNERGROUP sy-vline
WA_COPTECHOBJ_STR-MAINTENANCEPLANNERGROUPNAME sy-vline
WA_COPTECHOBJ_STR-MAINWORKCENTER sy-vline
WA_COPTECHOBJ_STR-MAINWORKCENTERDESCRIPTION sy-vline
WA_COPTECHOBJ_STR-MAINWORKCENTERPLANT sy-vline
WA_COPTECHOBJ_STR-MAINWORKCENTERPLANTNAME sy-vline
WA_COPTECHOBJ_STR-MAINTENANCEPLANT sy-vline
WA_COPTECHOBJ_STR-MAINTENANCEPLANTNAME sy-vline
WA_COPTECHOBJ_STR-WORKCENTER sy-vline
WA_COPTECHOBJ_STR-WORKCENTERTEXT sy-vline
WA_COPTECHOBJ_STR-PLANTSECTION sy-vline
WA_COPTECHOBJ_STR-PLANTSECTIONPERSONRESPNAME sy-vline
WA_COPTECHOBJ_STR-PLANTSECTIONPERSONRESPPHONE sy-vline
WA_COPTECHOBJ_STR-ASSETLOCATION sy-vline
WA_COPTECHOBJ_STR-LOCATIONNAME sy-vline
WA_COPTECHOBJ_STR-ASSETROOM sy-vline
WA_COPTECHOBJ_STR-ABCINDICATOR sy-vline
WA_COPTECHOBJ_STR-ABCINDICATORDESC sy-vline
WA_COPTECHOBJ_STR-BUSINESSPARTNERNAME1 sy-vline
WA_COPTECHOBJ_STR-BUSINESSPARTNERNAME2 sy-vline
WA_COPTECHOBJ_STR-STREETNAME sy-vline
WA_COPTECHOBJ_STR-POSTALCODE sy-vline
WA_COPTECHOBJ_STR-CITYNAME sy-vline
WA_COPTECHOBJ_STR-HOUSENUMBERSUPPLEMENTTEXT sy-vline
WA_COPTECHOBJ_STR-FLOOR sy-vline
WA_COPTECHOBJ_STR-ROOMNUMBER sy-vline
WA_COPTECHOBJ_STR-FORMOFADDRESS sy-vline
WA_COPTECHOBJ_STR-BUILDING sy-vline
WA_COPTECHOBJ_STR-MAINTOBJECTFREEDEFINEDATTRIB sy-vline
WA_COPTECHOBJ_STR-SUPERIORTECHNICALOBJECT_H sy-vline
WA_COPTECHOBJ_STR-SUPERIORTECHNICALOBJECTLABEL sy-vline
WA_COPTECHOBJ_STR-SUPERIORTECHNICALOBJECTNAME sy-vline
WA_COPTECHOBJ_STR-SUPERIOROBJISEQUIPORFUNCNLLOC sy-vline
WA_COPTECHOBJ_STR-TECHNICALOBJECTSORTCODE sy-vline
WA_COPTECHOBJ_STR-UICT_TECHNICALOBJECTSORTCODE sy-vline
WA_COPTECHOBJ_STR-COMPANYCODE sy-vline
WA_COPTECHOBJ_STR-COMPANYCODENAME sy-vline
WA_COPTECHOBJ_STR-BUSINESSAREA sy-vline
WA_COPTECHOBJ_STR-BUSINESSAREANAME sy-vline
WA_COPTECHOBJ_STR-MASTERFIXEDASSET sy-vline
WA_COPTECHOBJ_STR-MASTERFIXEDASSETDESCRIPTION sy-vline
WA_COPTECHOBJ_STR-FIXEDASSET sy-vline
WA_COPTECHOBJ_STR-COSTCENTER sy-vline
WA_COPTECHOBJ_STR-COSTCENTERNAME sy-vline
WA_COPTECHOBJ_STR-CONTROLLINGAREA sy-vline
WA_COPTECHOBJ_STR-CONTROLLINGAREANAME sy-vline
WA_COPTECHOBJ_STR-WBSELEMENT sy-vline
WA_COPTECHOBJ_STR-WBSDESCRIPTION sy-vline
WA_COPTECHOBJ_STR-STANDINGORDERNUMBER sy-vline
WA_COPTECHOBJ_STR-STANDINGORDERDESC sy-vline
WA_COPTECHOBJ_STR-SETTLEMENTORDER sy-vline
WA_COPTECHOBJ_STR-SETTLEMENTORDERDESC sy-vline
WA_COPTECHOBJ_STR-CONCATENATEDACTIVEUSERSTSNAME sy-vline
WA_COPTECHOBJ_STR-CONCATENATEDACTIVESYSTSTSNAME sy-vline
WA_COPTECHOBJ_STR-SALESORGANIZATION sy-vline
WA_COPTECHOBJ_STR-DISTRIBUTIONCHANNEL sy-vline
WA_COPTECHOBJ_STR-DIVISION sy-vline
WA_COPTECHOBJ_STR-SALESOFFICE sy-vline
WA_COPTECHOBJ_STR-SALESGROUP sy-vline
WA_COPTECHOBJ_STR-TECHOBJISSYNCEDWTHASTINTELNTWK sy-vline
WA_COPTECHOBJ_STR-TECHNICALOBJECTTHUMBNAILURL sy-vline
WA_COPTECHOBJ_STR-ASSETINTELNTWKOBJECTID sy-vline
WA_COPTECHOBJ_STR-AUTHORIZATIONGROUP sy-vline
WA_COPTECHOBJ_STR-UICT_MAINTENANCEORDER sy-vline
WA_COPTECHOBJ_STR-UICT_MAINTENANCENOTIFICATION sy-vline
WA_COPTECHOBJ_STR-UICT_MAINTENANCEITEM sy-vline
WA_COPTECHOBJ_STR-UICT_SERVICEORDER sy-vline
WA_COPTECHOBJ_STR-TECHOBJECTWITHLEADINGZEROS sy-vline
WA_COPTECHOBJ_STR-FUNCTIONALLOCATIONLABELNAME sy-vline
WA_COPTECHOBJ_STR-MAINTOBJECTINTERNALID sy-vline
WA_COPTECHOBJ_STR-PLANT sy-vline
WA_COPTECHOBJ_STR-MAINTOBJECTLOCACCTASSGMTNMBR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.