ABAP Select data from SAP table IPPKANBANCC 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 IPPKANBANCC 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 IPPKANBANCC. 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 IPPKANBANCC 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_IPPKANBANCC TYPE STANDARD TABLE OF IPPKANBANCC,
      WA_IPPKANBANCC TYPE IPPKANBANCC,
      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: <IPPKANBANCC> TYPE IPPKANBANCC.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM IPPKANBANCC
*  INTO TABLE @DATA(IT_IPPKANBANCC2).
*--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_IPPKANBANCC INDEX 1 INTO DATA(WA_IPPKANBANCC2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_IPPKANBANCC ASSIGNING <IPPKANBANCC>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<IPPKANBANCC>-MANDT = 1.
<IPPKANBANCC>-KANBANCONTROLCYCLE = 1.
<IPPKANBANCC>-KANBANCONTROLCYCLECATEGORY = 1.
<IPPKANBANCC>-PRODUCT = 1.
<IPPKANBANCC>-PLANT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_IPPKANBANCC-PRODUCTIONVERSION, sy-vline,
WA_IPPKANBANCC-PRODUCTIONSUPPLYAREA, sy-vline,
WA_IPPKANBANCC-SUPPLYSOURCERESPONSIBLEPERSON, sy-vline,
WA_IPPKANBANCC-STORAGELOCATION, sy-vline,
WA_IPPKANBANCC-STORINGPOSITIONNAME, sy-vline,
WA_IPPKANBANCC-KANBANCONTAINERDELIVERYADDRESS, sy-vline.
ENDLOOP. *Add any further fields from structure WA_IPPKANBANCC 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_IPPKANBANCC 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_IPPKANBANCC INTO WA_IPPKANBANCC. *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 KANBANCONTROLCYCLE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_IPPKANBANCC-KANBANCONTROLCYCLE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IPPKANBANCC-KANBANCONTROLCYCLE.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

*Conversion exit NUMCV, internal->external for field BACKFLUSHREPORTINGPOINT CALL FUNCTION 'CONVERSION_EXIT_NUMCV_OUTPUT' EXPORTING input = WA_IPPKANBANCC-BACKFLUSHREPORTINGPOINT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_IPPKANBANCC-BACKFLUSHREPORTINGPOINT.
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_IPPKANBANCC_STR,
MANDT TYPE STRING,
KANBANCONTROLCYCLE TYPE STRING,
KANBANCONTROLCYCLECATEGORY TYPE STRING,
PRODUCT TYPE STRING,
PLANT TYPE STRING,
PRODUCTIONVERSION TYPE STRING,
PRODUCTIONSUPPLYAREA TYPE STRING,
SUPPLYSOURCERESPONSIBLEPERSON TYPE STRING,
STORAGELOCATION TYPE STRING,
STORINGPOSITIONNAME TYPE STRING,
KANBANCONTAINERDELIVERYADDRESS TYPE STRING,
PRODUCTCOSTCOLLECTOR TYPE STRING,
SUPPLIER TYPE STRING,
PURCHASINGORGANIZATION TYPE STRING,
PURCHASEOUTLINEAGREEMENT TYPE STRING,
PURCHASEOUTLINEAGREEMENTITEM TYPE STRING,
WAREHOUSE TYPE STRING,
STORAGETYPE TYPE STRING,
STORAGEBIN TYPE STRING,
BASEUNIT TYPE STRING,
KANBANCONTAINERQUANTITYINBSUNT TYPE STRING,
NUMBEROFKANBANCONTAINERS TYPE STRING,
MAXNROFEMPTYKANBANCONTAINERS TYPE STRING,
INHOUSEPRODUCTIONREPLNMTSTRGY TYPE STRING,
MATERIALSTAGING TYPE STRING,
DESTINATIONBINISDYNAMIC TYPE STRING,
EXTPROCUREMENTREPLNMTSTRGY TYPE STRING,
STOCKTRANSFERREPLNMTSTRATEGY TYPE STRING,
REPLNMTISCTRLDBYSUPPLYSOURCE TYPE STRING,
KANBANCONTAINERPACKGGPRODUCT TYPE STRING,
SEPARATEGRISNEEDEDIFSETTOFULL TYPE STRING,
COSTCENTER TYPE STRING,
SUPPLYSOURCEPLANT TYPE STRING,
KANBANCONTAINERSTATUSSEQUENCE TYPE STRING,
KANBANCTNREPLNMTTRIGGERLOGIC TYPE STRING,
KNBNCTNREPLNMTTRGGRQTYINBSUNT TYPE STRING,
KANBANCONTAINERCALCULATIONTYPE TYPE STRING,
KANBANCTNCALCSAFETYFACTOR TYPE STRING,
KANBANCTNCALCULATIONCONSTANT TYPE STRING,
KANBANCTNROUNDINGQTYINBSUNT TYPE STRING,
FIXEDKANBANCONTAINERQTYINBSUNT TYPE STRING,
KANBANCONTAINERCALCPROFILE TYPE STRING,
REPLNMTLEADTIMEINWORKDAYS TYPE STRING,
REPLNMTLEADTIMEINHOURSANDMINS TYPE STRING,
SALESSCHEDULINGAGREEMENT TYPE STRING,
SALESSCHEDULINGAGREEMENTITEM TYPE STRING,
SOURCEPRODUCTIONSUPPLYAREA TYPE STRING,
JITCALLPROFILE TYPE STRING,
PACKINGINSTRUCTION TYPE STRING,
NUMBEROFLOADCARRIERS TYPE STRING,
BACKFLUSHREPORTINGPOINT TYPE STRING,
KANBANCTRLCYCLELIFECYCLESTATUS TYPE STRING,
CREATIONDATE TYPE STRING,
RELEASEDATE TYPE STRING,
LOCKDATE TYPE STRING,
PULLINTERVALINWORKDAYS TYPE STRING,
PULLINTERVALINHOURSANDMINUTES TYPE STRING,
KANBANCTNREFILLTIMEINDAYS TYPE STRING,
KANBANCTNREFILLTMEINHRSANDMINS TYPE STRING,
KANBANCTNWAITTIMEINDAYS TYPE STRING,
KANBANCTNWAITTIMEINHRSANDMINS TYPE STRING,
KANBANCTNTRANSPORTTIMEINDAYS TYPE STRING,
KNBNCTNTRANSPTTMEINHRSANDMINS TYPE STRING,
KNBNCTNCALCRQMTBUFFERINPERCENT TYPE STRING,
KNBNCTNCALCSUPPLYSRCEBUFINPCT TYPE STRING,
NROFKANBANCTNSFLAGGEDTOUNLOCK TYPE STRING,
NROFWAITINGKNBNCTNSBFRREPLNMT TYPE STRING,
KANBANCTRLCYCREPLNMTTRIGGERGRP TYPE STRING,
PLANNINGWORKCENTER TYPE STRING,
PRODUCTIONORDERSARECOMBINED TYPE STRING,
DESTINATIONSTORAGEBIN TYPE STRING,
SOURCESTORAGEBIN TYPE STRING,
WAREHOUSEPROCESSTYPE TYPE STRING,
KANBANCARDPRINTCONTROL TYPE STRING,
PRODNSUPPLYSPOOLOUTPUTDEVICE TYPE STRING,
KANBANCARDPRINTQUEUE TYPE STRING,
CONTROLCYCLEPRINTQUEUE TYPE STRING,
KANBANCARDFORMTEMPLATE TYPE STRING,
CONTROLCYCLESAPSCRIPTFORM TYPE STRING,
CONTROLCYCLEPRINTFORMTEMPLATE TYPE STRING,
LASTCHANGEDATETIME TYPE STRING,END OF T_EKKO_STR. DATA: WA_IPPKANBANCC_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_IPPKANBANCC_STR-MANDT sy-vline
WA_IPPKANBANCC_STR-KANBANCONTROLCYCLE sy-vline
WA_IPPKANBANCC_STR-KANBANCONTROLCYCLECATEGORY sy-vline
WA_IPPKANBANCC_STR-PRODUCT sy-vline
WA_IPPKANBANCC_STR-PLANT sy-vline
WA_IPPKANBANCC_STR-PRODUCTIONVERSION sy-vline
WA_IPPKANBANCC_STR-PRODUCTIONSUPPLYAREA sy-vline
WA_IPPKANBANCC_STR-SUPPLYSOURCERESPONSIBLEPERSON sy-vline
WA_IPPKANBANCC_STR-STORAGELOCATION sy-vline
WA_IPPKANBANCC_STR-STORINGPOSITIONNAME sy-vline
WA_IPPKANBANCC_STR-KANBANCONTAINERDELIVERYADDRESS sy-vline
WA_IPPKANBANCC_STR-PRODUCTCOSTCOLLECTOR sy-vline
WA_IPPKANBANCC_STR-SUPPLIER sy-vline
WA_IPPKANBANCC_STR-PURCHASINGORGANIZATION sy-vline
WA_IPPKANBANCC_STR-PURCHASEOUTLINEAGREEMENT sy-vline
WA_IPPKANBANCC_STR-PURCHASEOUTLINEAGREEMENTITEM sy-vline
WA_IPPKANBANCC_STR-WAREHOUSE sy-vline
WA_IPPKANBANCC_STR-STORAGETYPE sy-vline
WA_IPPKANBANCC_STR-STORAGEBIN sy-vline
WA_IPPKANBANCC_STR-BASEUNIT sy-vline
WA_IPPKANBANCC_STR-KANBANCONTAINERQUANTITYINBSUNT sy-vline
WA_IPPKANBANCC_STR-NUMBEROFKANBANCONTAINERS sy-vline
WA_IPPKANBANCC_STR-MAXNROFEMPTYKANBANCONTAINERS sy-vline
WA_IPPKANBANCC_STR-INHOUSEPRODUCTIONREPLNMTSTRGY sy-vline
WA_IPPKANBANCC_STR-MATERIALSTAGING sy-vline
WA_IPPKANBANCC_STR-DESTINATIONBINISDYNAMIC sy-vline
WA_IPPKANBANCC_STR-EXTPROCUREMENTREPLNMTSTRGY sy-vline
WA_IPPKANBANCC_STR-STOCKTRANSFERREPLNMTSTRATEGY sy-vline
WA_IPPKANBANCC_STR-REPLNMTISCTRLDBYSUPPLYSOURCE sy-vline
WA_IPPKANBANCC_STR-KANBANCONTAINERPACKGGPRODUCT sy-vline
WA_IPPKANBANCC_STR-SEPARATEGRISNEEDEDIFSETTOFULL sy-vline
WA_IPPKANBANCC_STR-COSTCENTER sy-vline
WA_IPPKANBANCC_STR-SUPPLYSOURCEPLANT sy-vline
WA_IPPKANBANCC_STR-KANBANCONTAINERSTATUSSEQUENCE sy-vline
WA_IPPKANBANCC_STR-KANBANCTNREPLNMTTRIGGERLOGIC sy-vline
WA_IPPKANBANCC_STR-KNBNCTNREPLNMTTRGGRQTYINBSUNT sy-vline
WA_IPPKANBANCC_STR-KANBANCONTAINERCALCULATIONTYPE sy-vline
WA_IPPKANBANCC_STR-KANBANCTNCALCSAFETYFACTOR sy-vline
WA_IPPKANBANCC_STR-KANBANCTNCALCULATIONCONSTANT sy-vline
WA_IPPKANBANCC_STR-KANBANCTNROUNDINGQTYINBSUNT sy-vline
WA_IPPKANBANCC_STR-FIXEDKANBANCONTAINERQTYINBSUNT sy-vline
WA_IPPKANBANCC_STR-KANBANCONTAINERCALCPROFILE sy-vline
WA_IPPKANBANCC_STR-REPLNMTLEADTIMEINWORKDAYS sy-vline
WA_IPPKANBANCC_STR-REPLNMTLEADTIMEINHOURSANDMINS sy-vline
WA_IPPKANBANCC_STR-SALESSCHEDULINGAGREEMENT sy-vline
WA_IPPKANBANCC_STR-SALESSCHEDULINGAGREEMENTITEM sy-vline
WA_IPPKANBANCC_STR-SOURCEPRODUCTIONSUPPLYAREA sy-vline
WA_IPPKANBANCC_STR-JITCALLPROFILE sy-vline
WA_IPPKANBANCC_STR-PACKINGINSTRUCTION sy-vline
WA_IPPKANBANCC_STR-NUMBEROFLOADCARRIERS sy-vline
WA_IPPKANBANCC_STR-BACKFLUSHREPORTINGPOINT sy-vline
WA_IPPKANBANCC_STR-KANBANCTRLCYCLELIFECYCLESTATUS sy-vline
WA_IPPKANBANCC_STR-CREATIONDATE sy-vline
WA_IPPKANBANCC_STR-RELEASEDATE sy-vline
WA_IPPKANBANCC_STR-LOCKDATE sy-vline
WA_IPPKANBANCC_STR-PULLINTERVALINWORKDAYS sy-vline
WA_IPPKANBANCC_STR-PULLINTERVALINHOURSANDMINUTES sy-vline
WA_IPPKANBANCC_STR-KANBANCTNREFILLTIMEINDAYS sy-vline
WA_IPPKANBANCC_STR-KANBANCTNREFILLTMEINHRSANDMINS sy-vline
WA_IPPKANBANCC_STR-KANBANCTNWAITTIMEINDAYS sy-vline
WA_IPPKANBANCC_STR-KANBANCTNWAITTIMEINHRSANDMINS sy-vline
WA_IPPKANBANCC_STR-KANBANCTNTRANSPORTTIMEINDAYS sy-vline
WA_IPPKANBANCC_STR-KNBNCTNTRANSPTTMEINHRSANDMINS sy-vline
WA_IPPKANBANCC_STR-KNBNCTNCALCRQMTBUFFERINPERCENT sy-vline
WA_IPPKANBANCC_STR-KNBNCTNCALCSUPPLYSRCEBUFINPCT sy-vline
WA_IPPKANBANCC_STR-NROFKANBANCTNSFLAGGEDTOUNLOCK sy-vline
WA_IPPKANBANCC_STR-NROFWAITINGKNBNCTNSBFRREPLNMT sy-vline
WA_IPPKANBANCC_STR-KANBANCTRLCYCREPLNMTTRIGGERGRP sy-vline
WA_IPPKANBANCC_STR-PLANNINGWORKCENTER sy-vline
WA_IPPKANBANCC_STR-PRODUCTIONORDERSARECOMBINED sy-vline
WA_IPPKANBANCC_STR-DESTINATIONSTORAGEBIN sy-vline
WA_IPPKANBANCC_STR-SOURCESTORAGEBIN sy-vline
WA_IPPKANBANCC_STR-WAREHOUSEPROCESSTYPE sy-vline
WA_IPPKANBANCC_STR-KANBANCARDPRINTCONTROL sy-vline
WA_IPPKANBANCC_STR-PRODNSUPPLYSPOOLOUTPUTDEVICE sy-vline
WA_IPPKANBANCC_STR-KANBANCARDPRINTQUEUE sy-vline
WA_IPPKANBANCC_STR-CONTROLCYCLEPRINTQUEUE sy-vline
WA_IPPKANBANCC_STR-KANBANCARDFORMTEMPLATE sy-vline
WA_IPPKANBANCC_STR-CONTROLCYCLESAPSCRIPTFORM sy-vline
WA_IPPKANBANCC_STR-CONTROLCYCLEPRINTFORMTEMPLATE sy-vline
WA_IPPKANBANCC_STR-LASTCHANGEDATETIME sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.