ABAP Select data from SAP table GHO_S_SP_NETOBJ_CRT_REF 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 GHO_S_SP_NETOBJ_CRT_REF 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 GHO_S_SP_NETOBJ_CRT_REF. 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 GHO_S_SP_NETOBJ_CRT_REF 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_GHO_S_SP_NETOBJ_CRT_REF TYPE STANDARD TABLE OF GHO_S_SP_NETOBJ_CRT_REF,
      WA_GHO_S_SP_NETOBJ_CRT_REF TYPE GHO_S_SP_NETOBJ_CRT_REF,
      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: <GHO_S_SP_NETOBJ_CRT_REF> TYPE GHO_S_SP_NETOBJ_CRT_REF.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM GHO_S_SP_NETOBJ_CRT_REF
*  INTO TABLE @DATA(IT_GHO_S_SP_NETOBJ_CRT_REF2).
*--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_GHO_S_SP_NETOBJ_CRT_REF INDEX 1 INTO DATA(WA_GHO_S_SP_NETOBJ_CRT_REF2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_GHO_S_SP_NETOBJ_CRT_REF ASSIGNING <GHO_S_SP_NETOBJ_CRT_REF>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<GHO_S_SP_NETOBJ_CRT_REF>-GHO_NETOBJ_TYPE = 1.
<GHO_S_SP_NETOBJ_CRT_REF>-TPLNR = 1.
<GHO_S_SP_NETOBJ_CRT_REF>-GHO_NETOBJ_ID = 1.
<GHO_S_SP_NETOBJ_CRT_REF>-DESCR = 1.
<GHO_S_SP_NETOBJ_CRT_REF>-TPLCP = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_GHO_S_SP_NETOBJ_CRT_REF-GHO_CPOVERVIEW, sy-vline,
WA_GHO_S_SP_NETOBJ_CRT_REF-GHO_CPEXTERNALID, sy-vline,
WA_GHO_S_SP_NETOBJ_CRT_REF-GHO_CPSYSID, sy-vline,
WA_GHO_S_SP_NETOBJ_CRT_REF-GHO_CPLIFECYCLE, sy-vline,
WA_GHO_S_SP_NETOBJ_CRT_REF-GHO_CPGEO, sy-vline,
WA_GHO_S_SP_NETOBJ_CRT_REF-GHO_CPWC, sy-vline.
ENDLOOP. *Add any further fields from structure WA_GHO_S_SP_NETOBJ_CRT_REF 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_GHO_S_SP_NETOBJ_CRT_REF 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_GHO_S_SP_NETOBJ_CRT_REF INTO WA_GHO_S_SP_NETOBJ_CRT_REF. *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 TPLNR, internal->external for field TPLNR CALL FUNCTION 'CONVERSION_EXIT_TPLNR_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP_WELL CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_WELL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_WELL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP_WC CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_WC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_WC.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP_MTR CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_MTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_MTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP_TANK CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_TANK IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_TANK.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP_SEP CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_SEP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_SEP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP_DEH CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_DEH IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_DEH.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP_HT CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_HT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_HT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP_CMP CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_CMP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_CMP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP_PN CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_PN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_PN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP_PMP CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_PMP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_PMP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP_TB CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_TB IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_TB.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP_FLAR CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_FLAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_FLAR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP_PIPE CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_PIPE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_PIPE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP_MFOLD CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_MFOLD IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_MFOLD.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP_CLSTR CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_CLSTR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_CLSTR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GHONO, internal->external for field TPLCP_GEN CALL FUNCTION 'CONVERSION_EXIT_GHONO_OUTPUT' EXPORTING input = WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_GEN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_GHO_S_SP_NETOBJ_CRT_REF-TPLCP_GEN.
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_GHO_S_SP_NETOBJ_CRT_REF_STR,
GHO_NETOBJ_TYPE TYPE STRING,
TPLNR TYPE STRING,
GHO_NETOBJ_ID TYPE STRING,
DESCR TYPE STRING,
TPLCP TYPE STRING,
GHO_CPOVERVIEW TYPE STRING,
GHO_CPEXTERNALID TYPE STRING,
GHO_CPSYSID TYPE STRING,
GHO_CPLIFECYCLE TYPE STRING,
GHO_CPGEO TYPE STRING,
GHO_CPWC TYPE STRING,
GHO_CPPLANNING TYPE STRING,
GHO_CPLFEC TYPE STRING,
GHO_CPOWN TYPE STRING,
GHO_CPORG TYPE STRING,
UPO_DATED_ATTR TYPE STRING,
TPLCP_WELL TYPE STRING,
TPLCP_WC TYPE STRING,
TPLCP_MTR TYPE STRING,
TPLCP_TANK TYPE STRING,
TPLCP_SEP TYPE STRING,
TPLCP_DEH TYPE STRING,
TPLCP_HT TYPE STRING,
TPLCP_CMP TYPE STRING,
TPLCP_PN TYPE STRING,
TPLCP_PMP TYPE STRING,
TPLCP_TB TYPE STRING,
TPLCP_FLAR TYPE STRING,
TPLCP_PIPE TYPE STRING,
TPLCP_MFOLD TYPE STRING,
TPLCP_CLSTR TYPE STRING,
TPLCP_GEN TYPE STRING,END OF T_EKKO_STR. DATA: WA_GHO_S_SP_NETOBJ_CRT_REF_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_GHO_S_SP_NETOBJ_CRT_REF_STR-GHO_NETOBJ_TYPE sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLNR sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-GHO_NETOBJ_ID sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-DESCR sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-GHO_CPOVERVIEW sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-GHO_CPEXTERNALID sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-GHO_CPSYSID sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-GHO_CPLIFECYCLE sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-GHO_CPGEO sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-GHO_CPWC sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-GHO_CPPLANNING sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-GHO_CPLFEC sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-GHO_CPOWN sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-GHO_CPORG sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-UPO_DATED_ATTR sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP_WELL sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP_WC sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP_MTR sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP_TANK sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP_SEP sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP_DEH sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP_HT sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP_CMP sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP_PN sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP_PMP sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP_TB sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP_FLAR sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP_PIPE sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP_MFOLD sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP_CLSTR sy-vline
WA_GHO_S_SP_NETOBJ_CRT_REF_STR-TPLCP_GEN sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.