Start routine error ....,

Hi
i written start routine in transformations. it showing some error. please suggest correct way.
TYPES : begin of fs_pctr,
              profit_ctr type /BIC/PZPRFTCTR-/BIC/ZPRFTCTR,
             end of fs_pctr.
DATA : it_pctr type standard table of fs_pctr,
            wa_pctr like line of it_pctr.
select /BIC/ZPRFTCTR from /BIC/PZPRFTCTR into table it_pctr where objvers  = 'A'.
loop at source_package assigning <source_fields>.
read table it_pctr with key profit_ctr = <source_fields>-/BIC/ZPRFTCTR.
   if sy-subrc ne 0.
    delete source_package.
   endif.
endloop.
Error: E:In the OO context either an INTO or an ASSIGNING specification or the         
addition "TRANSPORTING NO FIELDS" must be used. addition "TRANSPORTING          
NO FIELDS" must be used.
waiting for suggestions.
Regrds
swetha

Hi,
you can work around with the code as below... this would be much faster as you are deleting transaction data based on some master. so looping master is lesser and deleting transaction in that is faster.
Declaration
- internal table is correct but for work area declare as under
data wa_pctr type fs_pctr.
after select statement
loop at it_pctr into wa_Pctr.
delete source_package where /bic/zprftctr = wa_pctr-profit_ctr
endloop.
Hope this helps.
Regards
Raj

Similar Messages

  • Start routine errors while activating transformations 2LIS_13_VDITM

    Hi Friends,
    I have an error while activating transformation for Cube: 0SD_C03
    Transformation Z2LIS_13_VDITM
    The start routine error is like this->
    Start Routine: Syntax error in routine
    Rule (target: 0SUBTOT_1S, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0SUBTOT_2S, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0SUBTOT_3S, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0SUBTOT_4S, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0SUBTOT_5S, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0SUBTOT_6S, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0QUANT_B, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0DOC_ITEMS, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0NET_VAL_S, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0COST_VAL_S, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0GR_WT_KG, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0NT_WT_KG, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0VOLUME_CDM, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0BP_GRP, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0CP_CATEG, group: 01 Standard Group): Syntax error in routine
    S:RSTRAN:552 38 0CRM_PROD 01 Standard Group 0MATERIAL
    Rule (target: 0DEB_CRED, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0PROD_CATEG, group: 01 Standard Group): Syntax error in routine
    Key rule 43 (target field: 0VERSION): Initial update set
    pls guys if some one can suggest me to solve this i would be very greateful
    Bala
    Edited by: bala dondeti on Jun 20, 2011 12:32 PM
    Edited by: bala dondeti on Jun 20, 2011 12:43 PM

    Thanks for the info Umesh,
    Just to be sure - I should simply change "SOURCE_PACKAGE" to "DATA_PACKAGE" in the code of the start routine? "Source_Package" is present in two places in that code:
    METHODS
          start_routine
            IMPORTING
              request                  type rsrequest
              datapackid               type rsdatapid
            EXPORTING
              monitor                  type rstr_ty_t_monitors
            CHANGING
              SOURCE_PACKAGE              type tyt_SC_1
            RAISING
              cx_rsrout_abort.
    and then after that in:
    Migrated update rule call
      Perform routine_9998
      TABLES
        SOURCE_PACKAGE
      CHANGING
        l_abort.
    Or should I revert to the 3.5 version? (as a side note, that Data Source (2LIS_13_VDITM) has been activated in 7.0 version by default, when I replicated data sources in BW).
    Praveen, as to your remarks, I have the datasource 2LIS_13_VDITM (in version 7.0) active, along with the appropriate Infosource. Transformation between the DataSource and InfoSource is active, and only the transformation between the InforSource and the Cube poses problems.
    BR,
    Alek

  • Start routine error - infosource 2LIS_13_VDITM

    Hello,
    During the activation of the standard InfoCube 0SD_C03 (Sales: Overview), I have encountered a problem in a transformation between the infosource 2LIS_13_VDITM and the afrementioned Cube (this transformation has been transferred during the activation of Business Content).
    The transformation is inactive after the installation (other dataflow structures, for other datasources attached to this Cube have been automatically activated). When I try to active it, an error message appers, informing that:
    a) Initial update has been set for some of the key rules (e.g. for target field 0VERSION) - but that is a minor obstacle; the bigger problem is that
    b) there is a syntax error in the start routine for this transformation
    Checking that start routine results with the following error:
    E:In PERFORM or CALL FUNCTION "ROUTINE_9998", the actual parameter
    "SOURCE_PACKAGE" is incompatible with the formal parameter
    "DATA_PACKAGE".
    Since I'm not an ABAPer, that info is a bit vague to me.
    I have tried to find an answer in the forums but with no success. So if anyone could provide a solution this problem or point me to a thread where it has been answered, I would be very grateful.
    I can provide more details should those be needed.
    Best Regards,
    Alek

    Thanks for the info Umesh,
    Just to be sure - I should simply change "SOURCE_PACKAGE" to "DATA_PACKAGE" in the code of the start routine? "Source_Package" is present in two places in that code:
    METHODS
          start_routine
            IMPORTING
              request                  type rsrequest
              datapackid               type rsdatapid
            EXPORTING
              monitor                  type rstr_ty_t_monitors
            CHANGING
              SOURCE_PACKAGE              type tyt_SC_1
            RAISING
              cx_rsrout_abort.
    and then after that in:
    Migrated update rule call
      Perform routine_9998
      TABLES
        SOURCE_PACKAGE
      CHANGING
        l_abort.
    Or should I revert to the 3.5 version? (as a side note, that Data Source (2LIS_13_VDITM) has been activated in 7.0 version by default, when I replicated data sources in BW).
    Praveen, as to your remarks, I have the datasource 2LIS_13_VDITM (in version 7.0) active, along with the appropriate Infosource. Transformation between the DataSource and InfoSource is active, and only the transformation between the InforSource and the Cube poses problems.
    BR,
    Alek

  • 0IC_C03: 2LIS_03_BF Transformation Start Routine Activation error

    Hi all,
    Iam getting activation error (Start Routine) while activating the transformation for the 2LIS_03_BF (Material Movements) data source for 0IC_C03 INFO CUBE. Iam getting an error for the Start Routine  and the error message is as follows:
    + E:In PERFORM or CALL FUNCTION "ROUTINE_9998", the actual parameter "SOURCE_PACKAGE" is incompatible with the formal parameter "DATA_PACKAGE".+
    Scenario: As per my client requirment i have tried to add on info object in to the existing info cube i.e., Movement Type which is an existing field in the info source and the data source and i have tried to map the same in the transformations between the info source and the info cube and activated the transformation. Then iam getting the above said start routine error, so to avoid this i have removed that object i.e., movement type from the info cube and tried to reactivate the transformations still iam getting the same routine error.
    Please suggest me th approach to resolve this issue.
    Regards,
    Prabhakar

    Hi Chandu,
    Please find below is the routine:
    PROGRAM trans_routine.
          CLASS routine DEFINITION
    CLASS lcl_transform DEFINITION.
      PUBLIC SECTION.
    Attributs
        DATA:
          p_check_master_data_exist
                TYPE RSODSOCHECKONLY READ-ONLY,
    *-    Instance for getting request runtime attributs;
        Available information: Refer to methods of
        interface 'if_rsbk_request_admintab_view'
          p_r_request
                TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.
      PRIVATE SECTION.
        TYPE-POOLS: rsd, rstr.
      Rule specific types
        TYPES:
          BEGIN OF tys_SC_1,
         InfoObject: 0STORNO Reversal Indicator.
            STORNO           TYPE /BI0/OISTORNO,
         InfoObject: 0RT_PROMO promotion.
            RT_PROMO           TYPE /BI0/OIRT_PROMO,
         InfoObject: 0VAL_CLASS Valuation  class.
            VAL_CLASS           TYPE /BI0/OIVAL_CLASS,
         InfoObject: 0DOC_DATE Document Date.
            DOC_DATE           TYPE /BI0/OIDOC_DATE,
         InfoObject: 0STOCKTYPE StockType.
            STOCKTYPE           TYPE /BI0/OISTOCKTYPE,
         InfoObject: 0STOCKCAT Stock  Categories.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0PSTNG_DATE Posting date in the document.
            PSTNG_DATE           TYPE /BI0/OIPSTNG_DATE,
         InfoObject: 0COMP_CODE Company Code.
            COMP_CODE           TYPE /BI0/OICOMP_CODE,
         InfoObject: 0BWAPPLNM Application component.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0MOVETYPE movement Type (Inventory Management).
            MOVETYPE           TYPE /BI0/OIMOVETYPE,
         InfoObject: 0STOCKRELEV BW: Relevance to Stock.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0CPPVLC BW: Purchase Value in Local currency.
            CPPVLC           TYPE /BI0/OICPPVLC,
         InfoObject: 0CPSVLC BW: Sales Value in Local currency.
            CPSVLC           TYPE /BI0/OICPSVLC,
         InfoObject: 0CPSTLC BW: Sales Value in Local currency.
            CPSTLC           TYPE /BI0/OICPSTLC,
         InfoObject: 0CPQUABU BW: Amount in base unit of Measure.
            CPQUABU           TYPE /BI0/OICPQUABU,
         InfoObject: 0VAL_TYPE Valuation Type.
            VAL_TYPE           TYPE /BI0/OIVAL_TYPE,
         InfoObject: 0PROCESSKEY BW: Transaction Key.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0BATCH Batch number.
            BATCH           TYPE /BI0/OIBATCH,
         InfoObject: 0MATMREA Reason for Goods Movement.
            MATMREA           TYPE /BI0/OIMATMREA,
         InfoObject: 0BUS_AREA Business Area.
            BUS_AREA           TYPE /BI0/OIBUS_AREA,
         InfoObject: 0COSTCENTER Cost Center.
            COSTCENTER           TYPE /BI0/OICOSTCENTER,
         InfoObject: 0SOLD_TO Sold-to Party.
            SOLD_TO           TYPE /BI0/OISOLD_TO,
         InfoObject: 0WHSE_NUM Warehouse Number / warehouse complex.
            WHSE_NUM           TYPE /BI0/OIWHSE_NUM,
         InfoObject: 0STOR_LOC Storage Location.
            STOR_LOC           TYPE /BI0/OISTOR_LOC,
         InfoObject: 0STRGE_BIN Storage Bin.
            STRGE_BIN           TYPE /BI0/OISTRGE_BIN,
         InfoObject: 0STRGE_TYPE Storage Type.
            STRGE_TYPE           TYPE /BI0/OISTRGE_TYPE,
         InfoObject: 0VENDOR  Vendor.
            VENDOR           TYPE /BI0/OIVENDOR,
         InfoObject: 0MATERIAL Material.
            MATERIAL           TYPE /BI0/OIMATERIAL,
         InfoObject: 0DOC_NUM BW: Document Number.
            DOC_NUM           TYPE /BI0/OIDOC_NUM,
         InfoObject: 0BASE_UOM Base Unit of Measure.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
         InfoObject: 0DOC_YEAR BW: Document Year.
            DOC_YEAR           TYPE /BI0/OIDOC_YEAR,
         InfoObject: 0PROFIT_CTR Profit center.
            PROFIT_CTR           TYPE /BI0/OIPROFIT_CTR,
         InfoObject: 0DCINDIC Debit/Credit Indicator.
            DCINDIC           TYPE /BI0/OIDCINDIC,
         InfoObject: 0LOC_CURRCY Local currency.
            LOC_CURRCY           TYPE /BI0/OILOC_CURRCY,
         InfoObject: 0PLANT Plant.
            PLANT           TYPE /BI0/OIPLANT,
         InfoObject: 0FISCVARNT Fiscal year variant.
            FISCVARNT           TYPE /BI0/OIFISCVARNT,
         InfoObject: 0CPNOITEMS BW: Number of activities.
            CPNOITEMS           TYPE /BI0/OICPNOITEMS,
         InfoObject: 0CO_AREA Controlling Area.
            CO_AREA           TYPE /BI0/OICO_AREA,
         InfoObject: 0DOC_ITEM BW: Document Line Number.
            DOC_ITEM           TYPE /BI0/OIDOC_ITEM,
         InfoObject: 0VALUE_LC Amount in local currency.
            VALUE_LC           TYPE /BI0/OIVALUE_LC,
         InfoObject: 0QUANT_B Quantity in base units of Measure.
            QUANT_B           TYPE /BI0/OIQUANT_B,
         InfoObject: 0MOVE_PLANT Receiving Plant/Issuing Plant.
            MOVE_PLANT           TYPE /BI0/OIMOVE_PLANT,
         InfoObject: 0RECORDMODE BW Delta Process: Update Mode.
            RECORDMODE           TYPE RODMUPDMOD,
         InfoObject: 0RT_RMAPIDA RMA Physical Inventory Date.
            RT_RMAPIDA           TYPE /BI0/OIRT_RMAPIDA,
         InfoObject: 0BWCOUNTER Additional Key Field Revaluation Document
    *Record.
            BWCOUNTER           TYPE /BI0/OIBWCOUNTER,
         InfoObject: 0INDSPECSTK Indicator: Valuation of Special stock.
            INDSPECSTK           TYPE /BI0/OIINDSPECSTK,
         InfoObject: 0GN_R3_SSY Source System for  R/3 Entity.
            GN_R3_SSY           TYPE /BI0/OIGN_R3_SSY,
         InfoObject: 0RT_MOVINV movement Type is Physical Inventory.
            RT_MOVINV           TYPE /BI0/OIRT_MOVINV,
         InfoObject: 0RT_MOVADJ movement Type is Stock Adjustment.
            RT_MOVADJ           TYPE /BI0/OIRT_MOVADJ,
         InfoObject: 0RSL_STMAT Structured  Article.
            RSL_STMAT           TYPE /BI0/OIRSL_STMAT,
         InfoObject: 0RT_MOVRET movement Type is Return.
            RT_MOVRET           TYPE /BI0/OIRT_MOVRET,
         InfoObject: 0RSL_STAUTO Automatically Completed Component.
            RSL_STAUTO           TYPE /BI0/OIRSL_STAUTO,
         InfoObject: 0RT_MOVTRAN movement Type is Stock Transfer.
            RT_MOVTRAN           TYPE /BI0/OIRT_MOVTRAN,
         InfoObject: 0RT_MATPOST Transfer Posting from  Article to Article
            RT_MATPOST           TYPE /BI0/OIRT_MATPOST,
         InfoObject: 0RT_SASTSV Share of Business Volume for Set Sales Val
    *ue in Local crcy.
            RT_SASTSV           TYPE /BI0/OIRT_SASTSV,
         InfoObject: 0RT_SASTST Share of Business Volume for Set with Tax
    *in Local currency.
            RT_SASTST           TYPE /BI0/OIRT_SASTST,
         InfoObject: 0COORDER order number.
            COORDER           TYPE /BI0/OICOORDER,
         InfoObject: 0RMA_LNK RMA Stock Transfer Reference Item.
            RMA_LNK           TYPE /BI0/OIRMA_LNK,
         InfoObject: 0RMA_RFLG RMA Relevance Flag.
            RMA_RFLG           TYPE /BI0/OIRMA_RFLG,
         InfoObject: 0RTHFEES Stock Transfer Fees.
            RTHFEES           TYPE /BI0/OIRTHFEES,
         Field: RECORD.
            RECORD           TYPE RSARECORD,
          END   OF tys_SC_1.
        TYPES:
    tyt_SC_1        TYPE STANDARD TABLE OF tys_SC_1
                            WITH NON-UNIQUE DEFAULT KEY.
    $$ begin of global - insert your declaration only below this line  -
    ... "insert your code here
    $$ end of global - insert your declaration only before this line   -
        METHODS
          start_routine
            IMPORTING
              request                  type rsrequest
              datapackid               type rsdatapid
            EXPORTING
              monitor                  type rstr_ty_t_monitors
            CHANGING
              SOURCE_PACKAGE              type tyt_SC_1
            RAISING
              cx_rsrout_abort.
        METHODS
          inverse_start_routine
            IMPORTING
              i_th_fields_outbound         TYPE rstran_t_field_inv
              i_r_selset_outbound          TYPE REF TO cl_rsmds_set
              i_is_main_selection          TYPE rs_bool
              i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
              i_r_universe_inbound         TYPE REF TO cl_rsmds_universe
            CHANGING
              c_th_fields_inbound          TYPE rstran_t_field_inv
              c_r_selset_inbound           TYPE REF TO cl_rsmds_set
              c_exact                      TYPE rs_bool.
    ENDCLASS.                    "routine DEFINITION
    $$ begin of 2nd part global - insert your code only below this line  *
        TYPES:
          BEGIN OF tys_SC_1_full,
         InfoObject: 0STORNO Stornokennzeichen.
            STORNO           TYPE /BI0/OISTORNO,
         InfoObject: 0RT_PROMO Aktion.
            RT_PROMO           TYPE /BI0/OIRT_PROMO,
         InfoObject: 0VAL_CLASS Bewertungsklasse.
            VAL_CLASS           TYPE /BI0/OIVAL_CLASS,
         InfoObject: 0DOC_DATE Belegdatum.
            DOC_DATE           TYPE /BI0/OIDOC_DATE,
         InfoObject: 0STOCKTYPE Bestandsausprägung.
            STOCKTYPE           TYPE /BI0/OISTOCKTYPE,
         InfoObject: 0STOCKCAT Bestandstypen.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0PSTNG_DATE Buchungsdatum im Beleg.
            PSTNG_DATE           TYPE /BI0/OIPSTNG_DATE,
         InfoObject: 0COMP_CODE Buchungskreis.
            COMP_CODE           TYPE /BI0/OICOMP_CODE,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0MOVETYPE Bewegungsart (Bestandsführung).
            MOVETYPE           TYPE /BI0/OIMOVETYPE,
         InfoObject: 0STOCKRELEV BW: Best.Relevanz.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0CPPVLC BW: Einkaufswert in Hauswährung.
            CPPVLC           TYPE /BI0/OICPPVLC,
         InfoObject: 0CPSVLC BW: Verkaufswert in Hauswährung.
            CPSVLC           TYPE /BI0/OICPSVLC,
         InfoObject: 0CPSTLC BW: VerkWmS Hauswährung.
            CPSTLC           TYPE /BI0/OICPSTLC,
         InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
            CPQUABU           TYPE /BI0/OICPQUABU,
         InfoObject: 0VAL_TYPE Bewertungsart.
            VAL_TYPE           TYPE /BI0/OIVAL_TYPE,
         InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0BATCH Chargennummer.
            BATCH           TYPE /BI0/OIBATCH,
         InfoObject: 0MATMREA Grund für die Warenbewegung.
            MATMREA           TYPE /BI0/OIMATMREA,
         InfoObject: 0BUS_AREA Geschäftsbereich.
            BUS_AREA           TYPE /BI0/OIBUS_AREA,
         InfoObject: 0COSTCENTER Kostenstelle.
            COSTCENTER           TYPE /BI0/OICOSTCENTER,
         InfoObject: 0SOLD_TO Auftraggeber.
            SOLD_TO           TYPE /BI0/OISOLD_TO,
         InfoObject: 0WHSE_NUM Lagernummer/Lagerkomplex.
            WHSE_NUM           TYPE /BI0/OIWHSE_NUM,
         InfoObject: 0STOR_LOC Lagerort.
            STOR_LOC           TYPE /BI0/OISTOR_LOC,
         InfoObject: 0STRGE_BIN Lagerplatz.
            STRGE_BIN           TYPE /BI0/OISTRGE_BIN,
         InfoObject: 0STRGE_TYPE Lagertyp.
            STRGE_TYPE           TYPE /BI0/OISTRGE_TYPE,
         InfoObject: 0VENDOR Lieferant.
            VENDOR           TYPE /BI0/OIVENDOR,
         InfoObject: 0MATERIAL Material.
            MATERIAL           TYPE /BI0/OIMATERIAL,
         InfoObject: 0DOC_NUM BW: Belegnummer.
            DOC_NUM           TYPE /BI0/OIDOC_NUM,
         InfoObject: 0BASE_UOM Basismengeneinheit.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
         InfoObject: 0DOC_YEAR BW: Belegjahr.
            DOC_YEAR           TYPE /BI0/OIDOC_YEAR,
         InfoObject: 0PROFIT_CTR Profit Center.
            PROFIT_CTR           TYPE /BI0/OIPROFIT_CTR,
         InfoObject: 0DCINDIC Soll-/Haben-Kennzeichen.
            DCINDIC           TYPE /BI0/OIDCINDIC,
         InfoObject: 0LOC_CURRCY Hauswährung.
            LOC_CURRCY           TYPE /BI0/OILOC_CURRCY,
         InfoObject: 0PLANT Werk.
            PLANT           TYPE /BI0/OIPLANT,
         InfoObject: 0FISCVARNT Geschäftsjahresvariante.
            FISCVARNT           TYPE /BI0/OIFISCVARNT,
         InfoObject: 0CPNOITEMS BW: Anzahl Vorgänge.
            CPNOITEMS           TYPE /BI0/OICPNOITEMS,
         InfoObject: 0CO_AREA Kostenrechnungskreis.
            CO_AREA           TYPE /BI0/OICO_AREA,
         InfoObject: 0DOC_ITEM BW: Belegpositionsnummer.
            DOC_ITEM           TYPE /BI0/OIDOC_ITEM,
         InfoObject: 0VALUE_LC Betrag in Hauswährung.
            VALUE_LC           TYPE /BI0/OIVALUE_LC,
         InfoObject: 0COORDER Auftragsnummer.
            COORDER           TYPE /BI0/OICOORDER,
         InfoObject: 0QUANT_B Menge in Basismengeneinheiten.
            QUANT_B           TYPE /BI0/OIQUANT_B,
         InfoObject: 0MOVE_PLANT Empfangendes/Abgebendes Werk.
            MOVE_PLANT           TYPE /BI0/OIMOVE_PLANT,
         InfoObject: 0RECORDMODE BW Deltaverfahren: Update Modus.
            RECORDMODE           TYPE RODMUPDMOD,
         InfoObject: 0RT_RMAPIDA RMA Inventurdatum.
            RT_RMAPIDA           TYPE /BI0/OIRT_RMAPIDA,
         InfoObject: 0BWCOUNTER Zusätzliches Schlüsselfeld Umbewertungsbel
    *egsatz.
            BWCOUNTER           TYPE /BI0/OIBWCOUNTER,
         InfoObject: 0INDSPECSTK Kennzeichen Bewertung Sonderbestand.
            INDSPECSTK           TYPE /BI0/OIINDSPECSTK,
         InfoObject: 0GN_R3_SSY Quellsystem der R/3 Entität.
            GN_R3_SSY           TYPE /BI0/OIGN_R3_SSY,
         InfoObject: 0RT_MOVINV Bewegungsart ist Inventur.
            RT_MOVINV           TYPE /BI0/OIRT_MOVINV,
         InfoObject: 0RT_MOVADJ Bewegungsart ist Bestandskorrektur.
            RT_MOVADJ           TYPE /BI0/OIRT_MOVADJ,
         InfoObject: 0RSL_STMAT Strukturierter Artikel.
            RSL_STMAT           TYPE /BI0/OIRSL_STMAT,
         InfoObject: 0RT_MOVRET Bewegungsart ist Retoure.
            RT_MOVRET           TYPE /BI0/OIRT_MOVRET,
         InfoObject: 0RSL_STAUTO Automatisch ergänzte Komponente.
            RSL_STAUTO           TYPE /BI0/OIRSL_STAUTO,
         InfoObject: 0RT_MOVTRAN Bewegungsart ist Umlagerung.
            RT_MOVTRAN           TYPE /BI0/OIRT_MOVTRAN,
         InfoObject: 0RT_MATPOST Umbuchung Artikel an Artikel.
            RT_MATPOST           TYPE /BI0/OIRT_MATPOST,
         InfoObject: 0RT_SASTSV Umsatzanteil am Set Verkaufswert in Hauswä
    *hrung.
            RT_SASTSV           TYPE /BI0/OIRT_SASTSV,
         InfoObject: 0RT_SASTST Umsatzanteil am Set Verkaufswert mit Steue
    *r in Hauswährung.
            RT_SASTST           TYPE /BI0/OIRT_SASTST,
         Field: RECORD.
            RECORD           TYPE RSARECORD,      END   OF tys_SC_1_full.
        TYPES:
    tyt_SC_1_full        TYPE STANDARD TABLE OF tys_SC_1_full
                            WITH NON-UNIQUE DEFAULT KEY.
        TYPES:
          BEGIN OF tys_TG_1_full,
         InfoObject: 0CHNGID Änderungslauf ID.
            CHNGID           TYPE /BI0/OICHNGID,
         InfoObject: 0RECORDTP Satztyp.
            RECORDTP           TYPE /BI0/OIRECORDTP,
         InfoObject: 0REQUID Request ID.
            REQUID           TYPE /BI0/OIREQUID,
         InfoObject: 0CALDAY Kalendertag.
            CALDAY           TYPE /BI0/OICALDAY,
         InfoObject: 0CALMONTH Kalenderjahr / Monat.
            CALMONTH           TYPE /BI0/OICALMONTH,
         InfoObject: 0CALWEEK Kalenderjahr / Woche.
            CALWEEK           TYPE /BI0/OICALWEEK,
         InfoObject: 0CALYEAR Kalenderjahr.
            CALYEAR           TYPE /BI0/OICALYEAR,
         InfoObject: 0MATERIAL Material.
            MATERIAL           TYPE /BI0/OIMATERIAL,
         InfoObject: 0PLANT Werk.
            PLANT           TYPE /BI0/OIPLANT,
         InfoObject: 0STOR_LOC Lagerort.
            STOR_LOC           TYPE /BI0/OISTOR_LOC,
         InfoObject: 0BATCH Chargennummer.
            BATCH           TYPE /BI0/OIBATCH,
         InfoObject: 0STOCKTYPE Bestandsausprägung.
            STOCKTYPE           TYPE /BI0/OISTOCKTYPE,
         InfoObject: 0STOCKCAT Bestandstypen.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0GN_VENDOR Lieferant.
            GN_VENDOR           TYPE /BI0/OIGN_VENDOR,
         InfoObject: 0RECVS_VAL Zugangswert Bewerteter Bestand.
            RECVS_VAL           TYPE /BI0/OIRECVS_VAL,
         InfoObject: 0ISSVS_VAL Abgangswert Bewerteter Bestand.
            ISSVS_VAL           TYPE /BI0/OIISSVS_VAL,
         InfoObject: 0ISSBLOSTCK Abgangsmenge Gesperrter Bestand.
            ISSBLOSTCK           TYPE /BI0/OIISSBLOSTCK,
         InfoObject: 0ISSCNSSTCK Abgangsmenge Konsignationsbestand.
            ISSCNSSTCK           TYPE /BI0/OIISSCNSSTCK,
         InfoObject: 0ISSQMSTCK Abgangsmenge Qualitätsbestand.
            ISSQMSTCK           TYPE /BI0/OIISSQMSTCK,
         InfoObject: 0ISSTRANSST Abgangsmenge Transitbestand.
            ISSTRANSST           TYPE /BI0/OIISSTRANSST,
         InfoObject: 0RECBLOSTCK Zugangsmenge Gesperrter Bestand.
            RECBLOSTCK           TYPE /BI0/OIRECBLOSTCK,
         InfoObject: 0RECCNSSTCK Zugangsmenge Konsignationsbestand.
            RECCNSSTCK           TYPE /BI0/OIRECCNSSTCK,
         InfoObject: 0RECQMSTCK Zugangsmenge Qualitätsbestand.
            RECQMSTCK           TYPE /BI0/OIRECQMSTCK,
         InfoObject: 0RECTRANSST Zugangsmenge Transitbestand.
            RECTRANSST           TYPE /BI0/OIRECTRANSST,
         InfoObject: 0ISSSCRP Abgangsmenge Ausschuss.
            ISSSCRP           TYPE /BI0/OIISSSCRP,
         InfoObject: 0ISSVALSCRP Abgangswert Ausschuss.
            ISSVALSCRP           TYPE /BI0/OIISSVALSCRP,
         InfoObject: 0RECTOTSTCK Zugangsmenge Gesamt Bestand.
            RECTOTSTCK           TYPE /BI0/OIRECTOTSTCK,
         InfoObject: 0ISSTOTSTCK Abgangsmenge Gesamtbestand.
            ISSTOTSTCK           TYPE /BI0/OIISSTOTSTCK,
         InfoObject: 0ISSVALSTCK Abgangsmenge Bewerteter Bestand.
            ISSVALSTCK           TYPE /BI0/OIISSVALSTCK,
         InfoObject: 0RECVALSTCK Zugangsmenge Bewerteter Bestand.
            RECVALSTCK           TYPE /BI0/OIRECVALSTCK,
         InfoObject: 0VENCONCON Verbrauchswerte Lieferantenkonsignationsbe
    *stand.
            VENCONCON           TYPE /BI0/OIVENCONCON,
         InfoObject: 0LOC_CURRCY Hauswährung.
            LOC_CURRCY           TYPE /BI0/OILOC_CURRCY,
         InfoObject: 0BASE_UOM Basismengeneinheit.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
         Field: RECORD Nummer des Datensatzes.
            RECORD           TYPE RSARECORD,
          END   OF tys_TG_1_full.
        TYPES:
          BEGIN OF tys_SC_1__RULE_9,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
            CPQUABU           TYPE /BI0/OICPQUABU,
         InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0STOCKCAT Bestandstypen.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0STOCKRELEV BW: Best.Relevanz.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0STOCKTYPE Bestandsausprägung.
            STOCKTYPE           TYPE /BI0/OISTOCKTYPE,
         InfoObject: 0BASE_UOM Basismengeneinheit.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
          END   OF tys_SC_1__RULE_9.
        TYPES:
          BEGIN OF tys_SC_1__RULE_10,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
            CPQUABU           TYPE /BI0/OICPQUABU,
         InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0STOCKCAT Bestandstypen.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0STOCKRELEV BW: Best.Relevanz.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0STOCKTYPE Bestandsausprägung.
            STOCKTYPE           TYPE /BI0/OISTOCKTYPE,
         InfoObject: 0BASE_UOM Basismengeneinheit.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
          END   OF tys_SC_1__RULE_10.
        TYPES:
          BEGIN OF tys_SC_1__RULE_11,
         InfoObject: 0GN_R3_SSY Quellsystem der R/3 Entität.
            GN_R3_SSY           TYPE /BI0/OIGN_R3_SSY,
         InfoObject: 0STOCKCAT Bestandstypen.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0VENDOR Lieferant.
            VENDOR           TYPE /BI0/OIVENDOR,
          END   OF tys_SC_1__RULE_11.
        TYPES:
          BEGIN OF tys_SC_1__RULE_12,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPPVLC BW: Einkaufswert in Hauswährung.
            CPPVLC           TYPE /BI0/OICPPVLC,
         InfoObject: 0INDSPECSTK Kennzeichen Bewertung Sonderbestand.
            INDSPECSTK           TYPE /BI0/OIINDSPECSTK,
         InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0STOCKCAT Bestandstypen.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0STOCKRELEV BW: Best.Relevanz.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0LOC_CURRCY Hauswährung.
            LOC_CURRCY           TYPE /BI0/OILOC_CURRCY,
          END   OF tys_SC_1__RULE_12.
        TYPES:
          BEGIN OF tys_SC_1__RULE_13,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPPVLC BW: Einkaufswert in Hauswährung.
            CPPVLC           TYPE /BI0/OICPPVLC,
         InfoObject: 0INDSPECSTK Kennzeichen Bewertung Sonderbestand.
            INDSPECSTK           TYPE /BI0/OIINDSPECSTK,
         InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0STOCKCAT Bestandstypen.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0STOCKRELEV BW: Best.Relevanz.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0LOC_CURRCY Hauswährung.
            LOC_CURRCY           TYPE /BI0/OILOC_CURRCY,
          END   OF tys_SC_1__RULE_13.
        TYPES:
          BEGIN OF tys_SC_1__RULE_15,
         InfoObject: 0GN_R3_SSY Quellsystem der R/3 Entität.
            GN_R3_SSY           TYPE /BI0/OIGN_R3_SSY,
         InfoObject: 0STOCKCAT Bestandstypen.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0STOCKTYPE Bestandsausprägung.
            STOCKTYPE           TYPE /BI0/OISTOCKTYPE,
         InfoObject: 0VENDOR Lieferant.
            VENDOR           TYPE /BI0/OIVENDOR,
          END   OF tys_SC_1__RULE_15.
        TYPES:
          BEGIN OF tys_SC_1__RULE_19,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
            CPQUABU           TYPE /BI0/OICPQUABU,
         InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0STOCKRELEV BW: Best.Relevanz.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0BASE_UOM Basismengeneinheit.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
          END   OF tys_SC_1__RULE_19.
        TYPES:
          BEGIN OF tys_SC_1__RULE_20,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
            CPQUABU           TYPE /BI0/OICPQUABU,
         InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0STOCKRELEV BW: Best.Relevanz.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0BASE_UOM Basismengeneinheit.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
          END   OF tys_SC_1__RULE_20.
        TYPES:
          BEGIN OF tys_SC_1__RULE_21,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
            CPQUABU           TYPE /BI0/OICPQUABU,
         InfoObject: 0INDSPECSTK Kennzeichen Bewertung Sonderbestand.
            INDSPECSTK           TYPE /BI0/OIINDSPECSTK,
         InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0STOCKCAT Bestandstypen.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0STOCKRELEV BW: Best.Relevanz.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0BASE_UOM Basismengeneinheit.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
          END   OF tys_SC_1__RULE_21.
        TYPES:
          BEGIN OF tys_SC_1__RULE_22,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
            CPQUABU           TYPE /BI0/OICPQUABU,
         InfoObject: 0INDSPECSTK Kennzeichen Bewertung Sonderbestand.
            INDSPECSTK           TYPE /BI0/OIINDSPECSTK,
         InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0STOCKCAT Bestandstypen.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0STOCKRELEV BW: Best.Relevanz.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0BASE_UOM Basismengeneinheit.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
          END   OF tys_SC_1__RULE_22.
        TYPES:
          BEGIN OF tys_SC_1__RULE_25,
         InfoObject: 0GN_R3_SSY Quellsystem der R/3 Entität.
            GN_R3_SSY           TYPE /BI0/OIGN_R3_SSY,
         InfoObject: 0STOCKCAT Bestandstypen.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0STOCKTYPE Bestandsausprägung.
            STOCKTYPE           TYPE /BI0/OISTOCKTYPE,
         InfoObject: 0VENDOR Lieferant.
            VENDOR           TYPE /BI0/OIVENDOR,
          END   OF tys_SC_1__RULE_25.
        TYPES:
          BEGIN OF tys_SC_1__RULE_31,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPPVLC BW: Einkaufswert in Hauswährung.
            CPPVLC           TYPE /BI0/OICPPVLC,
         InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0STOCKCAT Bestandstypen.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0STOCKRELEV BW: Best.Relevanz.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0LOC_CURRCY Hauswährung.
            LOC_CURRCY           TYPE /BI0/OILOC_CURRCY,
          END   OF tys_SC_1__RULE_31.
        TYPES:
          BEGIN OF tys_SC_1__RULE_37,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
            CPQUABU           TYPE /BI0/OICPQUABU,
         InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0STOCKCAT Bestandstypen.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0STOCKRELEV BW: Best.Relevanz.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0STOCKTYPE Bestandsausprägung.
            STOCKTYPE           TYPE /BI0/OISTOCKTYPE,
         InfoObject: 0BASE_UOM Basismengeneinheit.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
          END   OF tys_SC_1__RULE_37.
        TYPES:
          BEGIN OF tys_SC_1__RULE_38,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
            CPQUABU           TYPE /BI0/OICPQUABU,
         InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0STOCKCAT Bestandstypen.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0STOCKRELEV BW: Best.Relevanz.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0STOCKTYPE Bestandsausprägung.
            STOCKTYPE           TYPE /BI0/OISTOCKTYPE,
         InfoObject: 0BASE_UOM Basismengeneinheit.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
          END   OF tys_SC_1__RULE_38.
        TYPES:
          BEGIN OF tys_SC_1__RULE_39,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
            CPQUABU           TYPE /BI0/OICPQUABU,
         InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0STOCKRELEV BW: Best.Relevanz.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0STOCKTYPE Bestandsausprägung.
            STOCKTYPE           TYPE /BI0/OISTOCKTYPE,
         InfoObject: 0BASE_UOM Basismengeneinheit.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
          END   OF tys_SC_1__RULE_39.
        TYPES:
          BEGIN OF tys_SC_1__RULE_40,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
            CPQUABU           TYPE /BI0/OICPQUABU,
         InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0STOCKCAT Bestandstypen.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0STOCKRELEV BW: Best.Relevanz.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0STOCKTYPE Bestandsausprägung.
            STOCKTYPE           TYPE /BI0/OISTOCKTYPE,
         InfoObject: 0BASE_UOM Basismengeneinheit.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
          END   OF tys_SC_1__RULE_40.
        TYPES:
          BEGIN OF tys_SC_1__RULE_41,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
            CPQUABU           TYPE /BI0/OICPQUABU,
         InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0STOCKCAT Bestandstypen.
            STOCKCAT           TYPE /BI0/OISTOCKCAT,
         InfoObject: 0STOCKRELEV BW: Best.Relevanz.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0STOCKTYPE Bestandsausprägung.
            STOCKTYPE           TYPE /BI0/OISTOCKTYPE,
         InfoObject: 0BASE_UOM Basismengeneinheit.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
          END   OF tys_SC_1__RULE_41.
        TYPES:
          BEGIN OF tys_SC_1__RULE_42,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
            CPQUABU           TYPE /BI0/OICPQUABU,
         InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
            PROCESSKEY           TYPE /BI0/OIPROCESSKEY,
         InfoObject: 0STOCKRELEV BW: Best.Relevanz.
            STOCKRELEV           TYPE /BI0/OISTOCKRELEV,
         InfoObject: 0STOCKTYPE Bestandsausprägung.
            STOCKTYPE           TYPE /BI0/OISTOCKTYPE,
         InfoObject: 0BASE_UOM Basismengeneinheit.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
          END   OF tys_SC_1__RULE_42.
        TYPES:
          BEGIN OF tys_SC_1__RULE_43,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
            CPQUABU           TYPE /BI0/OICPQUABU,
         InfoObject: 0MOVETYPE Bewegungsart (Bestandsführung).
            MOVETYPE           TYPE /BI0/OIMOVETYPE,
         InfoObject: 0BASE_UOM Basismengeneinheit.
            BASE_UOM           TYPE /BI0/OIBASE_UOM,
          END   OF tys_SC_1__RULE_43.
        TYPES:
          BEGIN OF tys_SC_1__RULE_51,
         InfoObject: 0BWAPPLNM Anwendungskomponente.
            BWAPPLNM           TYPE /BI0/OIBWAPPLNM,
         InfoObject: 0CPPVLC BW: Einkaufswert in Hauswährung.
            CPPVLC           TYPE /BI0/OICPPVLC,
         InfoObject: 0MOVETYPE Bewegungsart (Bestandsführung).
            MOVETYPE           TYPE /BI0/OIMOVETYPE,
         InfoObject: 0LOC_CURRCY Hauswährung.
            LOC_CURRCY           TYPE /BI0/OILOC_CURRCY,
          END   OF tys_SC_1__RULE_51.
    Additional types for start routine interface
      TYPES:
        data_package_structure type tys_SC_1_full.
    Additional declaration for update rule interface
      DATA:
        MONITOR       type standard table of rsmonitor  WITH HEADER LINE,
        MONITOR_RECNO type standard table of rsmonitors WITH HEADER LINE,
        RECORD_NO     LIKE SY-TABIX,
        RECORD_ALL    LIKE SY-TABIX,
        SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS.
    global definitions from update rules
    INCLUDE rsbctgn_top.
    INCLUDE rsbctgn_update_rules.
    FORM routine_9998
      TABLES DATA_PACKAGE TYPE tyt_SC_1_full
      CHANGING
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
    see OSS note 571669
      LOOP AT DATA_PACKAGE.
        IF DATA_PACKAGE-stockcat EQ 'V' OR
           DATA_PACKAGE-stocktype EQ 'V'.
          DELETE DATA_PACKAGE.
        ENDIF.
      ENDLOOP.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_9998
    FORM routine_0012
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_9
      CHANGING
        RESULT         TYPE tys_TG_1_full-ISSCNSSTCK
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
    only goods issue is considered
      IF ( COMM_STRUCTURE-processkey EQ '100'   "Other Issues
        OR COMM_STRUCTURE-processkey EQ '101'   "Returns / Vendor
        OR COMM_STRUCTURE-processkey EQ '104'   "Material Transfer
        OR COMM_STRUCTURE-processkey EQ '105'   "Stock Adjustment InvD
        OR COMM_STRUCTURE-processkey EQ '106'   "Stock Adjustment Other
        OR COMM_STRUCTURE-processkey EQ '110' ) "Issue from Stock Transfer
       AND COMM_STRUCTURE-bwapplnm EQ 'MM'
    only movements which are relevant for stock control
       AND COMM_STRUCTURE-stockrelev EQ '1'
       AND COMM_STRUCTURE-cpquabu <> 0.
    only consignment stock is considered
        CASE COMM_STRUCTURE-stockcat.
          WHEN 'K'.
            RESULT = COMM_STRUCTURE-cpquabu.
            RETURNCODE = 0.
          WHEN space.
            IF COMM_STRUCTURE-stocktype CA 'KLM'.
              RESULT = COMM_STRUCTURE-cpquabu.
              RETURNCODE = 0.
            ELSE.
              RETURNCODE = 4.
            ENDIF.
          WHEN OTHERS.
            RETURNCODE = 4.
        ENDCASE.
      ELSE.
    if the returncode is not equal zero, the result will not be updated
        RETURNCODE = 4.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0012
    FORM routine_0014
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_10
      CHANGING
        RESULT         TYPE tys_TG_1_full-RECCNSSTCK
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
    only goods receipt is considered
      IF ( COMM_STRUCTURE-processkey EQ '000'   "Other Receipts
        OR COMM_STRUCTURE-processkey EQ '001'   "Goods Receipt / Vendor
        OR COMM_STRUCTURE-processkey EQ '004'   "Material Transfer
        OR COMM_STRUCTURE-processkey EQ '005'   "Stock Adjustment InvD
        OR COMM_STRUCTURE-processkey EQ '006'   "Stock Adjustment Other
        OR COMM_STRUCTURE-processkey EQ '010' ) "Receipt from Stock Transfer
       AND COMM_STRUCTURE-bwapplnm EQ 'MM'
    only movements which are relevant for stock control
       AND COMM_STRUCTURE-stockrelev EQ '1'
       AND COMM_STRUCTURE-cpquabu <> 0.
    only consignment stock is considered
        CASE COMM_STRUCTURE-stockcat.
          WHEN 'K'.
            RESULT = COMM_STRUCTURE-cpquabu.
            RETURNCODE = 0.
          WHEN space.
            IF COMM_STRUCTURE-stocktype CA 'KLM'.
              RESULT = COMM_STRUCTURE-cpquabu.
              RETURNCODE = 0.
            ELSE.
              RETURNCODE = 4.
            ENDIF.
          WHEN OTHERS.
            RETURNCODE = 4.
        ENDCASE.
      ELSE.
    if the returncode is not equal zero, the result will not be updated
        RETURNCODE = 4.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0014
    FORM routine_0041
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_11
      CHANGING
        RESULT         TYPE tys_TG_1_full-GN_VENDOR
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
    ... determine consolidated key
      IF COMM_STRUCTURE-stockcat EQ 'K'.
        PERFORM  gn_get_global_key TABLES MONITOR
                              USING    COMM_STRUCTURE-gn_r3_ssy
                                       g_c_bwbeoty_r3vendor
                                       COMM_STRUCTURE-vendor
                                       RECORD_NO
                                       RECORD_ALL
                              CHANGING RESULT
                                       ABORT.
    if the returncode is not equal zero, the result will not be updated
      Endif.
      RETURNCODE = 0.
    ENDFORM.                    "routine_0041
    FORM routine_0010
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_12
      CHANGING
        RESULT         TYPE tys_TG_1_full-ISSVS_VAL
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
    only goods issue is considered
      IF ( COMM_STRUCTURE-processkey EQ '100'   "Other Issues
        OR COMM_STRUCTURE-processkey EQ '101'   "Returns / Vendor
        OR COMM_STRUCTURE-processkey EQ '104'   "Material Transfer
        OR COMM_STRUCTURE-processkey EQ '105'   "Stock Adjustment InvD
        OR COMM_STRUCTURE-processkey EQ '106

  • Correct ABAP Logic in Transformations-Start or Field Routine Error

    Hi
    I have written this code in start routine to split the data record into 2 if  bic/zdte_trm is not initial.
    But i am getting below error please correct me where i was wrong
    LOOP AT SOURCE_PACKAGE ASSIGNING <source_fields>.
          IF NOT <source_fields>-/bic/zdte_trm = ' '.
    * append a new record to source_package with this field initialised
            CLEAR wa_source.
            MOVE <source_fields> TO wa_source.
            CLEAR wa_source-/bic/zdte_trm.
            APPEND wa_source TO SOURCE_PACKAGE.
          ENDIF.
        ENDLOOP.
    At a LOOP over an internal table, the table is not allowed to be changed 
      in the loop tail as a whole.                                            
    SORT, MOVE, REFRESH, CLEAR are, for example, not allowed.

    Hi Saurov,
    Thanks for all the help.....
    The code is working fine but
    I got a strange issue while using this code
    DSO Data (Exisiting Data )
    Emp ID---Start Date--End Date
    1-----01/01/2008----
    Data from source system
    Emp ID---Start Date--End Date
    1-----01/01/2008----01/05/2008
    The code is spliting that record into 2 records
    1-----01/01/2008----
    1-----01/01/2008----01/05/2008
    and in source system in can see total 3 records
    1-------01/01/2008   (Exisisting Record)
    1-------01/01/2008   (New)
    1-----01/01/2008----01/05/2008 (New)
    The key fields in DSO is Emp Id and End Date
    Please,please update me how to resolve this issue

  • Start Routine: Syntax error in routine 2LIS_03_BF Transformations

    Hi experts,
    I enhanced the 2lis_03_bf data source, and replicated the data source in bw system, i have mapped the transformations and when i try to activate the transformations it is giving the below error.
    Start Routine: Syntax error in routine
    when i check the start routine it is giving the  below error message.
    E:In PERFORM or CALL FUNCTION "ROUTINE_9998", the actual parameter
    "SOURCE_PACKAGE" is incompatible with the formal parameter
    "DATA_PACKAGE".
    please provide me the solution.
    Regards
    venuscm

    Hi Venu,
    This seems to me like you have earlier migrated the update rules to transformations. We did the same earlier and faced issues whenever we add new fields/infoobjects. The error message was different, if i remember correctly.
    We had to add the new field/infoobject added, to the structure '_ty_s_*****' that exists at the top of the start routine code. This was one disadvantage of migration of rules.

  • Error while transporting Transformation: Syntax error in Start Routine

    Hi Everyone,
    I'm facing a strange problem during transporting one of the Business Content cubes from Dev. to Quality.
    I'd activated the DSO 'Purchase Order Items (0PUR_O01)' and its entire data flow from the 4 datasources 2LIS_02_CGR, 2LIS_02_SCN, 2LIS_02_SGR, and 2LIS_02_ITM from BC. Then I migrated the Transfer/Update rules to transformations and the DataSources to BI7 DataSource. So far so good. The migration was successful and all the objects were activated.
    Now when I transport the same to Quality, the import fails with return code 8 and the error message says:
    'Start of the after-import method RS_TRFN_AFTER_IMPORT for object type(s) TRFN (Activation Mode)'
    'Start Routine: Syntax error in routine'
    I verified that the transformation where the error orrured was the one from InfoSource Z2LIS_02_ITM to DSO 0PUR_O01. I went and checked the start routine and it did indeed have a syntax error:
    'In PERFORM or CALL FUNCTION "ROUTINE_9998", the actual parameter SOURCE_PACKAGE" is incompatible with the formal parameter DATA_PACKAGE". '
    But when I check in the Dev. system, there is no syntax error for the same routine. Later, I tried to transport only the said transformation by re-activating it in Dev, and again I got the same error.
    I have no idea why I'm getting a syntax error in the start routine when there are non in the Dev. system. Also none of the coding is customised, it was only the BC code, migrated to a transformation.
    Any suggestions on the steps I could take to transport the transformation to my quality system?
    Thanks,
    Ram

    Hi Ajay, Shanthi, svu and Ray
    I do indeed have a start routine in my transformation and it was migrated from a 3.x update rule to a BI 7 transformation routine.
    The migration was successful and the Start Routine has NO syntax errors in the start routine in the Dev. system. I only encounter the error while transporting it to the Quality system. I cannot modify the code in the Quality system because it is non-changelable and there is no point in trying to change the code in Dev. because there are no errors over there.
    I've also made sure that I've transported all the necessary objects required by the transformations to quality. The routine does not perform a lookup, it simply deletes some records from the data package based on the processkey value (which is itself present in the data package).

  • Syntax error in start routine

    Dear All,
    I have activated the infocube 0sd_c03 with grouping "in data flow before" and the infocube is activated with datasources
    2LIS_11_VAITM
    2LIS_11_VAHDR
    2LIS_12_VCITM
    2LIS_12_VCHDR
    2LIS_13_VDITM
    2LIS_13_VDHDR in 3.x where as
    TRCS 2LIS_13_VDITM -> CUBE 0SD_C03 in transformation with DTP.
    when I activate the transformation I get error as mentioned below:
    Start Routine: Syntax error in routine and in the start routine when I check the details of the error is
                      E:In PERFORM or CALL FUNCTION "ROUTINE_9998", the actual parameter
                               "SOURCE_PACKAGE" is incompatible with the formal parameter
                                   "DATA_PACKAGE".
    If source pakage is replaced by data package the system message is data_package is not available.
    What do I do to resolve this issue.
    KS

    hi,
    There is a structral diffrence between SOURCE_PACKAGE and DATA_PACKAGE
    so you need to change tys_SC_1_full
    go through the below links for similar problem
    Re: 0IC_C03: 2LIS_03_BF Transformation Start Routine Activation error
    Re: 2LIS_03_BF transformation problem

  • 0IC_C03 Error in start routine when activating

    Hi gurus!
    I have a SAP NetWeaver BI 7.0 patch level 14 installation with business content SAPKIBIIP6 and BASIS patch level 12
    When activating infocube 0IC_C03, the transformation have a start routine that throws the following error:
    E:In PERFORM or CALL FUNCTION "ROUTINE_9998", the actual parameter "SOURCE_PACKAGE" is incompatible with the formal parameter "DATA_PACKAGE".
    The transformation is TRCS 2LIS_03_BF_TR -> CUBE 0IC_C03
    What could be the problem?
    Thanks

    Problem solved!!!
    Verify if the type tys_SC_1_full have exactly the same fields as the type tys_SC_1; if not, copy the tys_SC_1 fields to tys_SC_1_full.
    Regards!!

  • Start Routine code error of Perform routine 9998

    Hi,
    I have install standard and then migrate to 7.0 all the flow of modeling.
    but after loading data in PSA, while activation i will found following problem (error in routine).
    In PERFORM or CALL FUNCTION ROUTINE_9998, the actual parameter SOURCE_PACKAGE is incompatible with the formal parameter DATA_PACKAGE.
    please suggest me.

    PROGRAM trans_routine.
          CLASS routine DEFINITION
    CLASS lcl_transform DEFINITION.
      PUBLIC SECTION.
    Attributs
        DATA:
          p_check_master_data_exist
                TYPE RSODSOCHECKONLY READ-ONLY,
    *-    Instance for getting request runtime attributs;
        Available information: Refer to methods of
        interface 'if_rsbk_request_admintab_view'
          p_r_request
                TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.
      PRIVATE SECTION.
        TYPE-POOLS: rsd, rstr.
      Rule specific types
        TYPES:
          BEGIN OF tys_SC_1,
         InfoObject: 0MPOINT Measuring point.
            MPOINT           TYPE /BI0/OIMPOINT,
         InfoObject: 0MDOC Measurement Document.
            MDOC           TYPE /BI0/OIMDOC,
         InfoObject: 0MPOBJ Object Number of Measuring Point Object.
            MPOBJ           TYPE /BI0/OIMPOBJ,
         InfoObject: 0MPTYP Type of Measuring Point.
            MPTYP           TYPE /BI0/OIMPTYP,
         InfoObject: 0PSORT Position Number of Measuring Point in Object (
    *Sort Field).
            PSORT           TYPE /BI0/OIPSORT,
         InfoObject: 0ASSEMBLY Assembly.
            ASSEMBLY           TYPE /BI0/OIASSEMBLY,
         InfoObject: 0ATINN Internal Characteristic Number.
            ATINN           TYPE /BI0/OIATINN,
         InfoObject: 0MDATE Date of Measurement.
            MDATE           TYPE /BI0/OIMDATE,
         InfoObject: 0TIME Time.
            TIME           TYPE /BI0/OITIME,
         InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
            DESIRSI           TYPE /BI0/OIDESIRSI,
         InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
            TVIND           TYPE /BI0/OITVIND,
         InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
            MRMINI           TYPE /BI0/OIMRMINI,
         InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
    *ing in SI Unit.
            MRMINSI           TYPE /BI0/OIMRMINSI,
         InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
            MRMAXI           TYPE /BI0/OIMRMAXI,
         InfoObject: 0SIUNIT SI unit.
            SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0CJUMPSI Counter Overflow Reading in SI Unit.
            CJUMPSI           TYPE /BI0/OICJUMPSI,
         InfoObject: 0PYEARSI Annual Performance in SI Unit.
            PYEARSI           TYPE /BI0/OIPYEARSI,
         InfoObject: 0CREATED_BY Created By.
            CREATED_BY           TYPE /BI0/OICREATED_BY,
         InfoObject: 0READSI Measured Value/Total Counter Reading in SI Un
    *it.
            READSI           TYPE /BI0/OIREADSI,
         InfoObject: 0READEU Measured Value in Document Entry Unit.
            READEU           TYPE /BI0/OIREADEU,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
            RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0CNTRRSI Counter Reading in SI Unit.
            CNTRRSI           TYPE /BI0/OICNTRRSI,
         InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
            CDIFFSI           TYPE /BI0/OICDIFFSI,
         InfoObject: 0CAT_TYPE Catalog.
            CAT_TYPE           TYPE /BI0/OICAT_TYPE,
         InfoObject: 0CAT_GROUP Code group.
            CAT_GROUP           TYPE /BI0/OICAT_GROUP,
         InfoObject: 0FI_STATUS Processing Status.
            FI_STATUS           TYPE /BI0/OIFI_STATUS,
         InfoObject: 0DIM_ID Dimension Key.
            DIM_ID           TYPE /BI0/OIDIM_ID,
         InfoObject: 0CNTIND Measuring Point is Counter.
            CNTIND           TYPE /BI0/OICNTIND,
         InfoObject: 0EQUIPMENT Equipment Number.
            EQUIPMENT           TYPE /BI0/OIEQUIPMENT,
         InfoObject: 0FUNCT_LOC Functional Location.
            FUNCT_LOC           TYPE /BI0/OIFUNCT_LOC,
         InfoObject: 0CAT_CODE Code.
            CAT_CODE           TYPE /BI0/OICAT_CODE,
         InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
    *ing in SI Unit.
            MRMAXSI           TYPE /BI0/OIMRMAXSI,
         InfoObject: 0DOCAF Measurement Document Included for Associated T
    *ask.
            DOCAF           TYPE /BI0/OIDOCAF,
         InfoObject: 0RECORDMODE BW Delta Process: Update Mode.
            RECORDMODE           TYPE RODMUPDMOD,
         InfoObject: ZSTEXT Object Number Text.
            /BIC/ZSTEXT           TYPE /BIC/OIZSTEXT,
         Field: RECORD.
            RECORD           TYPE RSARECORD,
          END   OF tys_SC_1.
        TYPES:
          tyt_SC_1        TYPE STANDARD TABLE OF tys_SC_1
                            WITH NON-UNIQUE DEFAULT KEY.
    $$ begin of global - insert your declaration only below this line  -
        ... "insert your code here
    $$ end of global - insert your declaration only before this line   -
        METHODS
          start_routine
            IMPORTING
              request                  type rsrequest
              datapackid               type rsdatapid
            EXPORTING
              monitor                  type rstr_ty_t_monitors
            CHANGING
              SOURCE_PACKAGE              type tyt_SC_1
            RAISING
              cx_rsrout_abort.
        METHODS
          inverse_start_routine
            IMPORTING
              i_th_fields_outbound         TYPE rstran_t_field_inv
              i_r_selset_outbound          TYPE REF TO cl_rsmds_set
              i_is_main_selection          TYPE rs_bool
              i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
              i_r_universe_inbound         TYPE REF TO cl_rsmds_universe
            CHANGING
              c_th_fields_inbound          TYPE rstran_t_field_inv
              c_r_selset_inbound           TYPE REF TO cl_rsmds_set
              c_exact                      TYPE rs_bool.
    ENDCLASS.                    "routine DEFINITION
    $$ begin of 2nd part global - insert your code only below this line  *
    TYPES:
      BEGIN OF tys_SC_1_full,
         InfoObject: 0MPOINT Measuring point.
        MPOINT           TYPE /BI0/OIMPOINT,
         InfoObject: 0MDOC Measurement Document.
        MDOC           TYPE /BI0/OIMDOC,
         InfoObject: 0MPOBJ Object Number of Measuring Point Object.
        MPOBJ           TYPE /BI0/OIMPOBJ,
         InfoObject: 0MPTYP Type of Measuring Point.
        MPTYP           TYPE /BI0/OIMPTYP,
         InfoObject: 0PSORT Position Number of Measuring Point in Object (
    *Sort Field).
        PSORT           TYPE /BI0/OIPSORT,
         InfoObject: 0ASSEMBLY Assembly.
        ASSEMBLY           TYPE /BI0/OIASSEMBLY,
         InfoObject: 0ATINN Internal Characteristic Number.
        ATINN           TYPE /BI0/OIATINN,
         InfoObject: 0MDATE Date of Measurement.
        MDATE           TYPE /BI0/OIMDATE,
         InfoObject: 0TIME Time.
        TIME           TYPE /BI0/OITIME,
         InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
        DESIRSI           TYPE /BI0/OIDESIRSI,
         InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
        TVIND           TYPE /BI0/OITVIND,
         InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
        MRMINI           TYPE /BI0/OIMRMINI,
         InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
    *ing in SI Unit.
        MRMINSI           TYPE /BI0/OIMRMINSI,
         InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
        MRMAXI           TYPE /BI0/OIMRMAXI,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0CJUMPSI Counter Overflow Reading in SI Unit.
        CJUMPSI           TYPE /BI0/OICJUMPSI,
         InfoObject: 0PYEARSI Annual Performance in SI Unit.
        PYEARSI           TYPE /BI0/OIPYEARSI,
         InfoObject: 0CREATED_BY Created By.
        CREATED_BY           TYPE /BI0/OICREATED_BY,
         InfoObject: 0READSI Measured Value/Total Counter Reading in SI Un
    *it.
        READSI           TYPE /BI0/OIREADSI,
         InfoObject: 0READEU Measured Value in Document Entry Unit.
        READEU           TYPE /BI0/OIREADEU,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0CNTRRSI Counter Reading in SI Unit.
        CNTRRSI           TYPE /BI0/OICNTRRSI,
         InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
        CDIFFSI           TYPE /BI0/OICDIFFSI,
         InfoObject: 0CAT_TYPE Catalog.
        CAT_TYPE           TYPE /BI0/OICAT_TYPE,
         InfoObject: 0CAT_GROUP Code group.
        CAT_GROUP           TYPE /BI0/OICAT_GROUP,
         InfoObject: 0FI_STATUS Processing Status.
        FI_STATUS           TYPE /BI0/OIFI_STATUS,
         InfoObject: 0DIM_ID Dimension Key.
        DIM_ID           TYPE /BI0/OIDIM_ID,
         InfoObject: 0CNTIND Measuring Point is Counter.
        CNTIND           TYPE /BI0/OICNTIND,
         InfoObject: 0EQUIPMENT Equipment Number.
        EQUIPMENT           TYPE /BI0/OIEQUIPMENT,
         InfoObject: 0FUNCT_LOC Functional Location.
        FUNCT_LOC           TYPE /BI0/OIFUNCT_LOC,
         InfoObject: 0CAT_CODE Code.
        CAT_CODE           TYPE /BI0/OICAT_CODE,
         InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
    *ing in SI Unit.
        MRMAXSI           TYPE /BI0/OIMRMAXSI,
         InfoObject: 0DOCAF Measurement Document Included for Associated T
    *ask.
        DOCAF           TYPE /BI0/OIDOCAF,
         InfoObject: 0RECORDMODE BW Delta Process: Record Mode.
        RECORDMODE           TYPE RODMUPDMOD,
         Field: RECNO Data record number.
        RECNO           TYPE RSARECORD,
      END   OF tys_SC_1_full.
    TYPES:
      tyt_SC_1_full        TYPE STANDARD TABLE OF tys_SC_1_full
                        WITH NON-UNIQUE DEFAULT KEY.
    TYPES:
      BEGIN OF tys_TG_1_full,
         Field: SID Master data ID.
        SID           TYPE RSSID,
         Field: DATAPAKID Data packet number.
        DATAPAKID           TYPE RSDATAPID,
         Field: RECORD Data record number.
        RECORD           TYPE RSARECORD,
         InfoObject: 0MPOINT Measuring point.
        MPOINT           TYPE /BI0/OIMPOINT,
         InfoObject: 0MDOC Measurement Document.
        MDOC           TYPE /BI0/OIMDOC,
         InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
    *ing in SI Unit.
        MRMINSI           TYPE /BI0/OIMRMINSI,
         InfoObject: 0FI_STATUS Processing Status.
        FI_STATUS           TYPE /BI0/OIFI_STATUS,
         InfoObject: 0DIM_ID Dimension Key.
        DIM_ID           TYPE /BI0/OIDIM_ID,
         InfoObject: 0CNTIND Measuring Point is Counter.
        CNTIND           TYPE /BI0/OICNTIND,
         InfoObject: 0EQUIPMENT Equipment Number.
        EQUIPMENT           TYPE /BI0/OIEQUIPMENT,
         InfoObject: 0FUNCT_LOC Functional Location.
        FUNCT_LOC           TYPE /BI0/OIFUNCT_LOC,
         InfoObject: 0CAT_CODE Code.
        CAT_CODE           TYPE /BI0/OICAT_CODE,
         InfoObject: 0CAT_TYPE Catalog.
        CAT_TYPE           TYPE /BI0/OICAT_TYPE,
         InfoObject: 0CAT_GROUP Code group.
        CAT_GROUP           TYPE /BI0/OICAT_GROUP,
         InfoObject: 0CREATED_BY Created By.
        CREATED_BY           TYPE /BI0/OICREATED_BY,
         InfoObject: 0MPOBJ Object Number of Measuring Point Object.
        MPOBJ           TYPE /BI0/OIMPOBJ,
         InfoObject: 0READEU Measured Value in Document Entry Unit.
        READEU           TYPE /BI0/OIREADEU,
         InfoObject: 0CJUMPSI Counter Overflow Reading in SI Unit.
        CJUMPSI           TYPE /BI0/OICJUMPSI,
         InfoObject: 0PYEARSI Annual Performance in SI Unit.
        PYEARSI           TYPE /BI0/OIPYEARSI,
         InfoObject: 0PSORT Position Number of Measuring Point in Object (
    *Sort Field).
        PSORT           TYPE /BI0/OIPSORT,
         InfoObject: 0ASSEMBLY Assembly.
        ASSEMBLY           TYPE /BI0/OIASSEMBLY,
         InfoObject: 0ATINN Internal Characteristic Number.
        ATINN           TYPE /BI0/OIATINN,
         InfoObject: 0MDATE Date of Measurement.
        MDATE           TYPE /BI0/OIMDATE,
         InfoObject: 0TIME Time.
        TIME           TYPE /BI0/OITIME,
         InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
        TVIND           TYPE /BI0/OITVIND,
         InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
        MRMINI           TYPE /BI0/OIMRMINI,
         InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
        DESIRSI           TYPE /BI0/OIDESIRSI,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0DESIREU Target Value for Measuring Point in Document
    Entry Unit.
        DESIREU           TYPE /BI0/OIDESIREU,
         InfoObject: 0CNTRRSI Counter Reading in SI Unit.
        CNTRRSI           TYPE /BI0/OICNTRRSI,
         InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
        CDIFFSI           TYPE /BI0/OICDIFFSI,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0MRMINEU Lower Meas. Limit or Min. Total Counter Read
    *ing Document UoM.
        MRMINEU           TYPE /BI0/OIMRMINEU,
         InfoObject: 0MRMAXEU Upper Meas. Limit or Max. Total Counter Read
    *ing in Doc. M.U..
        MRMAXEU           TYPE /BI0/OIMRMAXEU,
         InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
        MRMAXI           TYPE /BI0/OIMRMAXI,
         InfoObject: 0CNTRREU Counter Reading in Document Entry Unit.
        CNTRREU           TYPE /BI0/OICNTRREU,
         InfoObject: 0CDIFFEU Counter Reading Difference in Document Entry
    Unit.
        CDIFFEU           TYPE /BI0/OICDIFFEU,
         InfoObject: 0RECORDMODE BW Delta Process: Record Mode.
        RECORDMODE           TYPE RODMUPDMOD,
         InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
    *ing in SI Unit.
        MRMAXSI           TYPE /BI0/OIMRMAXSI,
         InfoObject: 0READSI Measured Value/Total Counter Reading in SI Un
    *it.
        READSI           TYPE /BI0/OIREADSI,
      END   OF tys_TG_1_full.
    TYPES:
      BEGIN OF tys_SC_1__RULE_34,
         InfoObject: 0DESIRSI Target Value for Measuring Point in SI Unit.
        DESIRSI           TYPE /BI0/OIDESIRSI,
         InfoObject: 0TVIND Target Value for Measuring Point Is Defined.
        TVIND           TYPE /BI0/OITVIND,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_34.
    TYPES:
      BEGIN OF tys_SC_1__RULE_35,
         InfoObject: 0MRMINI Lower Measurement Area Limit Is Defined.
        MRMINI           TYPE /BI0/OIMRMINI,
         InfoObject: 0MRMINSI Lower Meas. Limit or Min. Total Counter Read
    *ing in SI Unit.
        MRMINSI           TYPE /BI0/OIMRMINSI,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_35.
    TYPES:
      BEGIN OF tys_SC_1__RULE_36,
         InfoObject: 0MRMAXI Upper Measurement Area Limit Is Defined.
        MRMAXI           TYPE /BI0/OIMRMAXI,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0MRMAXSI Upper Meas. Limit or Max. Total Counter Read
    *ing in SI Unit.
        MRMAXSI           TYPE /BI0/OIMRMAXSI,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_36.
    TYPES:
      BEGIN OF tys_SC_1__RULE_37,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0CNTRRSI Counter Reading in SI Unit.
        CNTRRSI           TYPE /BI0/OICNTRRSI,
         InfoObject: 0CNTIND Measuring Point is Counter.
        CNTIND           TYPE /BI0/OICNTIND,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_37.
    TYPES:
      BEGIN OF tys_SC_1__RULE_38,
         InfoObject: 0SIUNIT SI unit.
        SIUNIT           TYPE /BI0/OISIUNIT,
         InfoObject: 0RECDU Unit of Measurement for Document Entry.
        RECDU           TYPE /BI0/OIRECDU,
         InfoObject: 0CDIFFSI Counter Reading Difference in SI Unit.
        CDIFFSI           TYPE /BI0/OICDIFFSI,
         InfoObject: 0CNTIND Measuring Point is Counter.
        CNTIND           TYPE /BI0/OICNTIND,
         Field: RECORD.
        RECORD           TYPE RSARECORD,
      END   OF tys_SC_1__RULE_38.
    Additional types for start routine interface
    TYPES:
      data_package_structure type tys_SC_1_full.
    Additional declaration for update rule interface
    DATA:
      MONITOR       type standard table of rsmonitor  WITH HEADER LINE,
      MONITOR_RECNO type standard table of rsmonitors WITH HEADER LINE,
      RECORD_NO     LIKE SY-TABIX,
      RECORD_ALL    LIKE SY-TABIX,
      SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS.
    global definitions from update rules
    TABLES: ...
    DATA:   ...
    *******DATA:  G_T_0EQUIPMENT  TYPE STANDARD TABLE OF /BI0/MEQUIPMENT.
    data: lt_data type ref to data.
    data: ls_data type ref to data.
    field-symbols: <G_T_0EQUIPMENT> type standard table.
    field-symbols: <G_S_0EQUIPMENT> type any.
    field-symbols: <FUNCT_LOC> type any.
    field-symbols: <DATEFROM> type any.
    field-symbols: <DATETO> type any.
    constants: c_tabname type rstlogotab value '/BI0/MEQUIPMENT'.
    *&      Form  routine_9998
          text
         -->DATA_PACKAGE            text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_9998
      TABLES DATA_PACKAGE TYPE tyt_SC_1_full
      CHANGING
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal tables "MONITOR" and/or "MONITOR_RECNO",
    to make monitor entries
    In this start routine missing functional location for
    an equipment is added to a Data Package record, if it is available
    in the master data of the equipment
      create data lt_data type table of (c_tabname).
      assign lt_data->* to <G_T_0EQUIPMENT>.
      create data ls_data type (c_tabname).
      assign ls_data->* to <G_S_0EQUIPMENT>.
      assign component 'FUNCT_LOC' of structure <G_S_0EQUIPMENT> to
    <FUNCT_LOC>.
      assign component 'DATE_FROM' of structure <G_S_0EQUIPMENT> to
    <DATEFROM>.
      assign component 'DATE_TO' of structure <G_S_0EQUIPMENT> to
    <DATETO>.
      CALL FUNCTION 'RSAU_READ_MASTER_DATA'
        EXPORTING
          I_IOBJNM                = '0EQUIPMENT'
          I_FLG_WHOLE_TABLE       = 'X'
        IMPORTING
          E_TABLE                 = <G_T_0EQUIPMENT>
        EXCEPTIONS
          READ_ERROR              = 1
          NO_SUCH_ATTRIBUTE       = 2
          WRONG_IMPORT_PARAMETERS = 3
          CHAVL_NOT_FOUND         = 4
          OTHERS                  = 5.
      CASE SY-SUBRC.
        WHEN 0.
          LOOP AT <G_T_0EQUIPMENT> INTO <G_S_0EQUIPMENT>.
            IF <FUNCT_LOC> IS INITIAL.
              DELETE <G_T_0EQUIPMENT>.
            ENDIF.
    master data collected and condensed
          ENDLOOP.
          LOOP AT DATA_PACKAGE.
            IF ( DATA_PACKAGE-FUNCT_LOC IS INITIAL ) AND
               ( DATA_PACKAGE-EQUIPMENT IS NOT INITIAL ).
              READ TABLE <G_T_0EQUIPMENT> WITH KEY
                ('EQUIPMENT') = DATA_PACKAGE-EQUIPMENT INTO <G_S_0EQUIPMENT>
              IF SY-SUBRC = 0.
                IF ( DATA_PACKAGE-MDATE >= <DATEFROM> )
                   AND ( DATA_PACKAGE-MDATE <= <DATETO> ).
    record for equipment exists and valid
                  DATA_PACKAGE-FUNCT_LOC = <FUNCT_LOC>.
                  MODIFY DATA_PACKAGE.
                ENDIF.
              ENDIF.
            ENDIF.
          ENDLOOP.
        WHEN 4.
    master data is not (yet) loaded
        WHEN OTHERS.
    problem occured, output as warning
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
      ENDCASE.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_9998
    *&      Form  routine_0001
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0001
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_34
      CHANGING
        RESULT         TYPE tys_TG_1_full-DESIREU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-TVIND = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-DESIRSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0001
    *&      Form  routine_0002
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0002
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_35
      CHANGING
        RESULT         TYPE tys_TG_1_full-MRMINEU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-MRMINI = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-MRMINSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0002
    *&      Form  routine_0003
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0003
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_36
      CHANGING
        RESULT         TYPE tys_TG_1_full-MRMAXEU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-MRMAXI = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-MRMAXSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0003
    *&      Form  routine_0004
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0004
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_37
      CHANGING
        RESULT         TYPE tys_TG_1_full-CNTRREU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-CNTIND = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-CNTRRSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0004
    *&      Form  routine_0005
          text
         -->COMM_STRUCTURE          text
         -->RESULT                  text
         -->RETURNCODE              text
         -->ABORT                   text
         -->RAISING                 text
         -->CX_SY_ARITHMETIC_ERROR  text
         -->CX_SY_CONVERSION_ERROR  text
    FORM routine_0005
      USING
        COMM_STRUCTURE type tys_SC_1__RULE_38
      CHANGING
        RESULT         TYPE tys_TG_1_full-CDIFFEU
        RETURNCODE     LIKE sy-subrc
        ABORT          LIKE sy-subrc
      RAISING
        cx_sy_arithmetic_error
        cx_sy_conversion_error.
    init variables
    fill the internal table "MONITOR", to make monitor entries
      CLEAR RESULT.
      IF COMM_STRUCTURE-CNTIND = 'X'.
        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
          EXPORTING
            INPUT                      = COMM_STRUCTURE-CDIFFSI
            NO_TYPE_CHECK              = 'X'
      ROUND_SIGN                 = ' '
            UNIT_IN                    = COMM_STRUCTURE-SIUNIT
            UNIT_OUT                   = COMM_STRUCTURE-RECDU
          IMPORTING
      ADD_CONST                  =
      DECIMALS                   =
      DENOMINATOR                =
      NUMERATOR                  =
            OUTPUT                     = RESULT
       EXCEPTIONS
         CONVERSION_NOT_FOUND       = 1
         DIVISION_BY_ZERO           = 2
         INPUT_INVALID              = 3
         OUTPUT_INVALID             = 4
         OVERFLOW                   = 5
         TYPE_INVALID               = 6
         UNITS_MISSING              = 7
         UNIT_IN_NOT_FOUND          = 8
         UNIT_OUT_NOT_FOUND         = 9
         OTHERS                     = 10
        IF SY-SUBRC <> 0.
          MONITOR-MSGID = SY-MSGID.
          MONITOR-MSGTY = 'W'.
          MONITOR-MSGNO = SY-MSGNO.
          MONITOR-MSGV1 = SY-MSGV1.
          MONITOR-MSGV2 = SY-MSGV2.
          MONITOR-MSGV3 = SY-MSGV3.
          MONITOR-MSGV4 = SY-MSGV4.
          APPEND MONITOR.
        ENDIF.
      ENDIF.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    ENDFORM.                    "routine_0005
    TYPES: BEGIN OF TY_/BI0/PMPOINT,
          MPOINT      TYPE /BI0/PMPOINT-MPOINT,
       MRNGU     TYPE /BI0/PMPOINT-MRNGU,
    END of TY_/BI0/PMPOINT.
    DATA: /BI0/PMPOINT_TEMP TYPE STANDARD TABLE OF
    TY_/BI0/PMPOINT,
          W_/BI0/PMPOINT_TEMP like line of /BI0/PMPOINT_TEMP.
    $$ end of 2nd part global - insert your code only before this line   *
          CLASS routine IMPLEMENTATION
    CLASS lcl_transform IMPLEMENTATION.
          Method start_routine
          Calculation of source package via start routine
      <-> source package
      METHOD start_routine.
    *=== Segments ===
        FIELD-SYMBOLS:
          <SOURCE_FIELDS>    TYPE tys_SC_1.
        DATA:
          MONITOR_REC     TYPE rstmonitor.
    *$*$ begin of routine - insert your code only below this line        *-*
        Data:
          l_subrc          type sy-tabix,
          l_abort          type sy-tabix,
          ls_monitor       TYPE rsmonitor,
          ls_monitor_recno TYPE rsmonitors.
        REFRESH:
          MONITOR,
          MONITOR_RECNO.
    Runtime attributs
        SOURCE_SYSTEM  = p_r_request->get_logsys( ).
    Migrated update rule call
        Perform routine_9998
        TABLES
          SOURCE_PACKAGE
        CHANGING
          l_abort.
    *-- Convert Messages in Transformation format
        LOOP AT MONITOR_RECNO INTO ls_monitor_recno.
          move-CORRESPONDING ls_monitor_recno to MONITOR_REC.
          append monitor_rec to MONITOR.
        ENDLOOP.
        LOOP AT MONITOR INTO ls_monitor.
          move-CORRESPONDING ls_monitor to MONITOR_REC.
          append monitor_rec to MONITOR.
        ENDLOOP.
        IF l_abort <> 0.
          RAISE EXCEPTION TYPE CX_RSROUT_ABORT.
        ENDIF.
    $$ end of routine - insert your code only before this line         -
      ENDMETHOD.                    "start_routine
          Method inverse_start_routine
          This subroutine needs to be implemented only for direct access
          (for better performance) and for the Report/Report Interface
          (drill through).
          The inverse routine should transform a projection and
          a selection for the target to a projection and a selection
          for the source, respectively.
          If the implementation remains empty all fields are filled and
          all values are selected.
      METHOD inverse_start_routine.
    $$ begin of inverse routine - insert your code only below this line-
        ... "insert your code here
    $$ end of inverse routine - insert your code only before this line -
      ENDMETHOD.                    "inverse_start_routine
    ENDCLASS.                    "routine IMPLEMENTATION

  • Syntax error in Start Routine routine 9998 in transformation

    Hi Guyz,
    I am getting the below error while doinf the syntax check in start routine in one of the transformation in BW production after the failed TR movement
    E:In PERFORM or CALL FUNCTION "ROUTINE_9998", the actual parameter
    "SOURCE_PACKAGE" is incompatible with the formal parameter
    "DATA_PACKAGE".
    but for the same transformation in quality its showing  no syntax errors found.
    its an odd behaviour.
    please guide with ur expertise.
    cheerz,
    raps.

    Hi,
    Check the note 1052648. it says that:
    Start routine:
               In the start routine, all the fields from the source are always available.
    During the migration, a type '_ty_t_SC_1_full' is generated in '2nd part global'. Since Note 1325124, this type has been adjusted when the field list is changed. In the past, a change to the field list caused syntax errors of the type:
    For update rules:
                        E: For PERFORM or CALL FUNCTION "ROUTINE_9998", the actual parameter "SOURCE_PACKAGE" is not compatible with the formal parameter "DATA_PACKAGE".
    For transfer rules:
                        E:For PERFORM or CALL FUNCTION "STARTROUTINE", the actual parameter "SOURCE_PACKAGE" is not compatible with the formal parameter "DATAPAK".
               If this error continues to occur, go to the solution section to correct it.
               Solution:
               This error should now be automatically corrected with Note 1325124. Access the incorrect start routine in change mode. The type '_ty_s_SC_1_full' is then automatically adjusted to the source structure. If this does not work, you should use the tool 'RSTRAN_MIGRATION_CHECK' (described in Note 1369395) to check and possibly repair the transformation in question.
               If this error still occurs, you can correct it manually as follows:
               Copy the field list of the type     '_ty_s_SC_1' from the 'private section' of the CLASS lcl_transform DEFINITION (you can find this when you scroll up in the routine editor of the start routine) to the type '_ty_s_SC_1_full' of '2nd part global'.
    Regards,
    Anil Kumar Sharma .P

  • Error in start routine

    Hello All,
    I am trying to activate a couple transformations for cubes in purchasing. I am getting the error in start routine. I checked the start routine.
    E:In PERFORM or CALL FUNCTION "ROUTINE_9998", the actual parameter
    "SOURCE_PACKAGE" is incompatible with the formal parameter
    "DATA_PACKAGE"
    I did see a couple threads in sdn regarding this. But wanted to make sure if those thing sapplyin my case. I am new to SAP BW hence want to make sure before touching the code.
    Can someone help me resolve this soon?
    Thanks,
    Dee.

    Hello Rakesh,
    METHODS
          start_routine
            IMPORTING
              request                  type rsrequest
              datapackid               type rsdatapid
            EXPORTING
              monitor                  type rstr_ty_t_monitors
            CHANGING
              SOURCE_PACKAGE              type tyt_SC_1
            RAISING
              cx_rsrout_abort.
        METHODS
          inverse_start_routine
            IMPORTING
              i_th_fields_outbound         TYPE rstran_t_field_inv
              i_r_selset_outbound          TYPE REF TO cl_rsmds_set
              i_is_main_selection          TYPE rs_bool
              i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
              i_r_universe_inbound         TYPE REF TO cl_rsmds_universe
            CHANGING
              c_th_fields_inbound          TYPE rstran_t_field_inv
              c_r_selset_inbound           TYPE REF TO cl_rsmds_set
              c_exact                      TYPE rs_bool.
    ENDCLASS.                    "routine DEFINITION
    $$ begin of 2nd part global - insert your code only below this line  *
    *The above part is in gray and i cannot change it.
      MONITOR_RECNO.
    Runtime attributs
        SOURCE_SYSTEM  = p_r_request->get_logsys( ).
    Migrated update rule call
      Perform routine_9998
      TABLES
        SOURCE_PACKAGE
      CHANGING
        l_abort.
    *-- Convert Messages in Transformation format
        LOOP AT MONITOR_RECNO INTO ls_monitor_recno.
          move-CORRESPONDING ls_monitor_recno to MONITOR_REC.
          append monitor_rec to MONITOR.
        ENDLOOP.
        LOOP AT MONITOR INTO ls_monitor.
          move-CORRESPONDING ls_monitor to MONITOR_REC.
          append monitor_rec to MONITOR.
        ENDLOOP.
        IF l_abort <> 0.
          RAISE EXCEPTION TYPE CX_RSROUT_ABORT.
        ENDIF.
    I dont know abap..can you please guide me with this

  • Data Source 0HR_PA_0 Syntax Error in the start routine while activating

    Hi All,
    I have migrated the Business content for the data source 0HR_PA_0
    While activating the transformation-2 there is errors like:
    Start Routine: Syntax error in routine
    Rule (target: 0HDCNT_LAST, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0AGE_KYF, group: 01 Standard Group): Syntax error in routine
    .................... etc
    I need help to resolve this issue.
    Thanks & Regards,
    Savitha

    Hello Jurgita,
    When Data Source was migrated the codes related to COMM_STRUCTURE was missing in the start routinue.
    Following codes (in bold) with regard to COMM_STRUCTURE added and then got activated
    4.     *--
    5.         COMM_STRUCTURE   type tys_sc_1__rule_25,
    6.         l_subrc          type sy-tabix,
    7.         l_abort          type sy-tabix,
    8.         ls_monitor       TYPE rsmonitor,
    9.         ls_monitor_recno TYPE rsmonitors.
    10.     
    11.       REFRESH:
    12.         MONITOR.
    13.     
    14.     * Runtime attributs
    15.         SOURCE_SYSTEM  = p_r_request->get_logsys( ).
    16.         move-corresponding SOURCE_FIELDS to COMM_STRUCTURE.
    17.     
    18.     *  Migrated update rule call
    19.       Perform routine_0011
    20.       using
    21.         COMM_STRUCTURE
    22.       CHANGING
    Regards,
    Savitha
    Edited by: Savitha  Ravi on Jun 19, 2009 6:34 AM

  • Transformation Start Routine

    Hi,
         I have installed the infocubes (0PS_C08, 0PS_C081) from the Business content but I can't activate any of the transformations because of a problem in the start routine.
    the message of the error:
         ----> E:A line of "GT_SOURCE" and "<SOURCE_FIELDS>" are not mutually
         convertible. In a Unicode program, "GT_SOURCE" must have the same
         structure layout as "<SOURCE_FIELDS>", irrespective of the length of a.
    Does anyone have any idea how to solve the problem?
    Best Regards,

    Hi,
           In fact generally this error should occur when you migrate a flow from 3.x to 7.x, but in my case this problem showed just after the business content installation ( I didn't migrate the flow it is a 7.X standard flow).
         I have checked the start routine, and no field is missing. <Source_Fields> and GT_SOURCE did have the same structure but their fields weren't put in the same order, so when I used the APPEND command it generated this error.
    I've put the fields in the same order and the transformation could be activated which resolved the problem.
    Thank you.

  • Start Routine on Transformations

    Hi Friends
    I've Start routine on transfer rules with internal table and it was working fine.
    Now I'm trying to define the internal table with occurs 0 but it's throwing error saying occurs not support in new version.
    How can we define an internal table in start routine of transformations in BI7?
    The code as follows for internal table.
    data: begin of it_ord occurs 0,
    AUFNR(000012) TYPE C,
    ZZARBPL(000008) TYPE C,
    WERKS(000004) TYPE C,
    end of it_ord.
    Regards,
    Chandu.

    Hi
    I've defined as follows
        types: begin of it_ord ,
                AUFNR(000012) TYPE C,
                ARBPL(000008) TYPE C,
                WERKS(000004) TYPE C,
              end of it_ord.
        data: temp_tabix like sy-tabix,
              is_datapak type tys_SC_1.
        data it_ordt type table of it_ord .
    It's throwing error saying it_ort is a table with no header line and therefore has no component called aufnr.
    If I define with header line then header line not supported.
    What could be the problem?
    I've changed like you said but it's giving the following error.
    E:"IT_WA" is not a table with header line.
    Regards,
    Chandu.
    Edited by: Chandu on Feb 18, 2009 8:44 AM

Maybe you are looking for

  • Macbook pro 13' 2011 external diaplay fuzzy font

    Hi, I connected the mbp thru displayport-vga to my DELL SP2208WFP and the font of the applications on DELL monitor is fuzzy. I use native resolution for the monitor and also tried font smoothing through terminal commands but nothing works. Similar pr

  • Protecting some of the form fields

    I have set up auto-populating of form fields in an Acrobat Pro 9.0 form. A selection from a drop down (a company name) auto-populates the address, phone number fields, etc. How can I lock or protect the address and phone fields so that someone can't

  • Multiple copies with different footer text --sapscripts

    Hello I have a requirement where in i need to print multiple copies( customer, company, etc). On each copy different footer text is to be printed. Can anyone help me out. Thankyou helpful posts will be rewarded.

  • Restore my DB with the control files.

    I needed to re-install my Windows 2000, so I lost my Oracle, so I have only my data files, I'd like to know if I can get my Data on it.

  • How does firefox know it should use specific client certificate with a URL?

    I am trying to determine how Firefox, or any browser for that matter knows which client SSL certificates it should prompt the user for when an authentication attempt occurs.