ABAP Select data from SAP table CIFIMODOBJ 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 CIFIMODOBJ 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 CIFIMODOBJ. 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 CIFIMODOBJ 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_CIFIMODOBJ TYPE STANDARD TABLE OF CIFIMODOBJ,
      WA_CIFIMODOBJ TYPE CIFIMODOBJ,
      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: <CIFIMODOBJ> TYPE CIFIMODOBJ.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM CIFIMODOBJ
*  INTO TABLE @DATA(IT_CIFIMODOBJ2).
*--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_CIFIMODOBJ INDEX 1 INTO DATA(WA_CIFIMODOBJ2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_CIFIMODOBJ ASSIGNING <CIFIMODOBJ>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<CIFIMODOBJ>-ATPCHECK = 1.
<CIFIMODOBJ>-ATPCUST = 1.
<CIFIMODOBJ>-PRODALLOC = 1.
<CIFIMODOBJ>-PRODALLCUS = 1.
<CIFIMODOBJ>-PLANTMAT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_CIFIMODOBJ-PLANT, sy-vline,
WA_CIFIMODOBJ-CUSTOMER, sy-vline,
WA_CIFIMODOBJ-VENDOR, sy-vline,
WA_CIFIMODOBJ-WORKCENTER, sy-vline,
WA_CIFIMODOBJ-PPM, sy-vline,
WA_CIFIMODOBJ-CUSTORD, sy-vline.
ENDLOOP. *Add any further fields from structure WA_CIFIMODOBJ 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_CIFIMODOBJ 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_CIFIMODOBJ INTO WA_CIFIMODOBJ. *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.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_CIFIMODOBJ_STR,
ATPCHECK TYPE STRING,
ATPCUST TYPE STRING,
PRODALLOC TYPE STRING,
PRODALLCUS TYPE STRING,
PLANTMAT TYPE STRING,
PLANT TYPE STRING,
CUSTOMER TYPE STRING,
VENDOR TYPE STRING,
WORKCENTER TYPE STRING,
PPM TYPE STRING,
CUSTORD TYPE STRING,
PURCHORD TYPE STRING,
PRODORD TYPE STRING,
PLANORD TYPE STRING,
RESERV TYPE STRING,
PLINDREQ TYPE STRING,
STOCKS TYPE STRING,
CUSTSTOCK TYPE STRING,
CUSTSPSTK TYPE STRING,
VENDSPSTK TYPE STRING,
PROJSTOCK TYPE STRING,
TRANSTOCK TYPE STRING,
CLASSCHARS TYPE STRING,
CONSUMPT TYPE STRING,
IPPERTO TYPE STRING,
MATBOM TYPE STRING,
PRODCAMP TYPE STRING,
PLANTABLE TYPE STRING,
PLANMAT TYPE STRING,
MRPAREA TYPE STRING,
MRPMAT TYPE STRING,
PROMOTION TYPE STRING,
SUPPLYAREA TYPE STRING,
SHIPMENT TYPE STRING,
SCHEDAGREE TYPE STRING,
CONTRACT TYPE STRING,
INFORECORD TYPE STRING,
ECMNUMBER TYPE STRING,
SLC_MAT TYPE STRING,
SLV_VEN TYPE STRING,
IPPE TYPE STRING,
RESOURCES TYPE STRING,
RPM TYPE STRING,
SDS TYPE STRING,
FFFCL TYPE STRING,
FFF_DEPMAT TYPE STRING,
SUPERSESS TYPE STRING,
EXT_PLANT TYPE STRING,
ADDCHARACT TYPE STRING,
QLOT TYPE STRING,
BTC TYPE STRING,
FCC TYPE STRING,
VMIC TYPE STRING,
NETWRK TYPE STRING,
PMORD TYPE STRING,
PMASGN TYPE STRING,
NZASGN TYPE STRING,
SELDATE TYPE STRING,
CFGS_DEF TYPE STRING,
CFGS_CDP TYPE STRING,
CFGS_VC TYPE STRING,
CFGS_CFLCT TYPE STRING,
STG TYPE STRING,
VSTEL TYPE STRING,
FESR TYPE STRING,
SSD TYPE STRING,
VCLP TYPE STRING,
AMPL TYPE STRING,
FUNCLOC TYPE STRING,
EQUIPMENT TYPE STRING,
PACK TYPE STRING,
ABPDDP TYPE STRING,
ABPCOV TYPE STRING,END OF T_EKKO_STR. DATA: WA_CIFIMODOBJ_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_CIFIMODOBJ_STR-ATPCHECK sy-vline
WA_CIFIMODOBJ_STR-ATPCUST sy-vline
WA_CIFIMODOBJ_STR-PRODALLOC sy-vline
WA_CIFIMODOBJ_STR-PRODALLCUS sy-vline
WA_CIFIMODOBJ_STR-PLANTMAT sy-vline
WA_CIFIMODOBJ_STR-PLANT sy-vline
WA_CIFIMODOBJ_STR-CUSTOMER sy-vline
WA_CIFIMODOBJ_STR-VENDOR sy-vline
WA_CIFIMODOBJ_STR-WORKCENTER sy-vline
WA_CIFIMODOBJ_STR-PPM sy-vline
WA_CIFIMODOBJ_STR-CUSTORD sy-vline
WA_CIFIMODOBJ_STR-PURCHORD sy-vline
WA_CIFIMODOBJ_STR-PRODORD sy-vline
WA_CIFIMODOBJ_STR-PLANORD sy-vline
WA_CIFIMODOBJ_STR-RESERV sy-vline
WA_CIFIMODOBJ_STR-PLINDREQ sy-vline
WA_CIFIMODOBJ_STR-STOCKS sy-vline
WA_CIFIMODOBJ_STR-CUSTSTOCK sy-vline
WA_CIFIMODOBJ_STR-CUSTSPSTK sy-vline
WA_CIFIMODOBJ_STR-VENDSPSTK sy-vline
WA_CIFIMODOBJ_STR-PROJSTOCK sy-vline
WA_CIFIMODOBJ_STR-TRANSTOCK sy-vline
WA_CIFIMODOBJ_STR-CLASSCHARS sy-vline
WA_CIFIMODOBJ_STR-CONSUMPT sy-vline
WA_CIFIMODOBJ_STR-IPPERTO sy-vline
WA_CIFIMODOBJ_STR-MATBOM sy-vline
WA_CIFIMODOBJ_STR-PRODCAMP sy-vline
WA_CIFIMODOBJ_STR-PLANTABLE sy-vline
WA_CIFIMODOBJ_STR-PLANMAT sy-vline
WA_CIFIMODOBJ_STR-MRPAREA sy-vline
WA_CIFIMODOBJ_STR-MRPMAT sy-vline
WA_CIFIMODOBJ_STR-PROMOTION sy-vline
WA_CIFIMODOBJ_STR-SUPPLYAREA sy-vline
WA_CIFIMODOBJ_STR-SHIPMENT sy-vline
WA_CIFIMODOBJ_STR-SCHEDAGREE sy-vline
WA_CIFIMODOBJ_STR-CONTRACT sy-vline
WA_CIFIMODOBJ_STR-INFORECORD sy-vline
WA_CIFIMODOBJ_STR-ECMNUMBER sy-vline
WA_CIFIMODOBJ_STR-SLC_MAT sy-vline
WA_CIFIMODOBJ_STR-SLV_VEN sy-vline
WA_CIFIMODOBJ_STR-IPPE sy-vline
WA_CIFIMODOBJ_STR-RESOURCES sy-vline
WA_CIFIMODOBJ_STR-RPM sy-vline
WA_CIFIMODOBJ_STR-SDS sy-vline
WA_CIFIMODOBJ_STR-FFFCL sy-vline
WA_CIFIMODOBJ_STR-FFF_DEPMAT sy-vline
WA_CIFIMODOBJ_STR-SUPERSESS sy-vline
WA_CIFIMODOBJ_STR-EXT_PLANT sy-vline
WA_CIFIMODOBJ_STR-ADDCHARACT sy-vline
WA_CIFIMODOBJ_STR-QLOT sy-vline
WA_CIFIMODOBJ_STR-BTC sy-vline
WA_CIFIMODOBJ_STR-FCC sy-vline
WA_CIFIMODOBJ_STR-VMIC sy-vline
WA_CIFIMODOBJ_STR-NETWRK sy-vline
WA_CIFIMODOBJ_STR-PMORD sy-vline
WA_CIFIMODOBJ_STR-PMASGN sy-vline
WA_CIFIMODOBJ_STR-NZASGN sy-vline
WA_CIFIMODOBJ_STR-SELDATE sy-vline
WA_CIFIMODOBJ_STR-CFGS_DEF sy-vline
WA_CIFIMODOBJ_STR-CFGS_CDP sy-vline
WA_CIFIMODOBJ_STR-CFGS_VC sy-vline
WA_CIFIMODOBJ_STR-CFGS_CFLCT sy-vline
WA_CIFIMODOBJ_STR-STG sy-vline
WA_CIFIMODOBJ_STR-VSTEL sy-vline
WA_CIFIMODOBJ_STR-FESR sy-vline
WA_CIFIMODOBJ_STR-SSD sy-vline
WA_CIFIMODOBJ_STR-VCLP sy-vline
WA_CIFIMODOBJ_STR-AMPL sy-vline
WA_CIFIMODOBJ_STR-FUNCLOC sy-vline
WA_CIFIMODOBJ_STR-EQUIPMENT sy-vline
WA_CIFIMODOBJ_STR-PACK sy-vline
WA_CIFIMODOBJ_STR-ABPDDP sy-vline
WA_CIFIMODOBJ_STR-ABPCOV sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.