Raising cx_rsrout_abort exception in Start Routine of Transformations

Hello Abap OO Gurus:
This is likely a very simple question but I'm brand new to Abap OO and despite reading and searching, I cannot convert some old abap code used in the start routine of business content in BW to be used in the Transformation start routine in SAP BI.
My Start Routine inside a BI 7.0 transformation rule has a method declared like this:
<b>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.</b>
The Exception "cx_rsrout_abort" has replaced what used to be a simple ABORT data field. The <u>old code I want to replace was just "abort = 1'.</u>
But now it seems like I have to use TRY... ENDTRY statement to raise Exception "cx_rsrout_abort". I am inside the abap code of the Method "start routine"
METHOD start_routine.
*=== Segments ===
Could some kind soul educate me as to how to raise the Exception "cx_rsrout_abort" inside the Method start routine?
thanks in advance, David

Tx HDev:
we are almost there...  I have that PDF but never got thru to the rest of the Appendix B as my project is just too crazy...
When try what Appenix B suggest..
<u>"raise exception type CX_RSROUT_SKIP_RECORD."</u>
I get the following Warning msg which makes sense...
<b>"W:The exception CX_RSROUT_SKIP_RECORD is neither caught nor is it
declared in the RAISING clause of "START_ROUTINE".</b>
The METHOD statement in the start routine never declares another exception other than cx_rsrout_abort as seen below:
    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.
Maybe NW2004s has a bug here... I'm hoping that a SAP Developer reads this posting and can enlighten us all... otherwise I'll have to post a OSS msg
So the mystery is still how to do
"raise exception type CX_RSROUT_ABORT" and make this equal to ABORT = 1
which makes the start routine skip a record
tx again,  David

Similar Messages

  • 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

  • Raise exception in Start Routine

    Hi,
    In my start routine of the update rules, I would like to raise an exception when an entry is not found in the master data...
    like this,
    SELECT Y FROM TABLEX
    where X = A.
    IF SY-SUBRC NOT 0.
    Raise Exception "Value X not maintained in TABLEX.
    If you can provide me an example on how to do it, that would be great...
    Thanks
    Gova

    Hi Gova,
    you might even be able to use one of 2 standard features to solve your problem:
    1.) use referential integrity check in the transfer rules
    2.) use the check of existing master data (in the InfoPackage)
    You find detailed description of both features in the standard documentation of the BW system.
        Cheers
          Andreas

  • Declaration in start routine in transformations

    Hi guru's
    What is the difference between first and second global declaration in the start routine of a transformation?
    First: $$ begin of global - insert your declaration only below this line  -
    Second: $$ begin of 2nd part global - insert your code only below this line  *
    Kind regards
    Erik

    Hi Shambhu
    We usually write out code in the section:
    $$ begin of routine - insert your code only below this line        -
    What is the difference between writing the code in
    $$ begin of 2nd part global - insert your code only below this line  *
    and
    $$ begin of routine - insert your code only below this line        - ?
    Kind regards
    Erik

  • Get the request id from a PSA in start routine in transformation

    Hello All,
    I need to get the request id of the PSA (source_package) during the start routine or field routine and then use it to look up the Date when requested was created using the table RSREQDONE.
    I'm extracting data from ECC, and then I load the data from the Datasource, then I use DTP/Transformation to load data into a ODSO.
    <removed>
    Thanks Guys,
    JMelo
    Edited by: Arun Varadarajan on Feb 6, 2009 12:09 PM

    Hi John,
    its pretty simple to read data from a Info-cube.
    Use the Function Module :RSDRI_INFOPROV_READ".
    You can pass the name of fields and filters which you want to read from the cube.
    Hope this wil help.

  • Start Routine in Transformations

    Hi,
    For my reporting purpose i need to Transfer data from Cube to DSO
    I need a start routine for the following requirment when transfering data from Cube to DSO
    The Key fields in DSO are Location & Emp_ID and Date fields are ZAP_DTE (DATS)
    CUBE-->DSO
    While doing the transfer...i need to compare Emp and his ZAP_DTE AND need to transfer only if AP_DTE for that EMP is greater than the exisisting one else ignore the record
    As i new to BW please update with the routine
    Thanks

    Hi Shambhu
    We usually write out code in the section:
    $$ begin of routine - insert your code only below this line        -
    What is the difference between writing the code in
    $$ begin of 2nd part global - insert your code only below this line  *
    and
    $$ begin of routine - insert your code only below this line        - ?
    Kind regards
    Erik

  • Start routine in transformation

    Hi,
        I need to read master data in a start routine only once.If I write a select statement in the start routine , the select is executed for every data package.I want the select to be executed only once and data can be used by all data packages.I tried keeping the code in the global section of the start routine class and that didn't help either.
       Any ideas.
    Thanks in advance

    Hi Siva,
    Then..Use Static Internal table...
    Structured Static Internal Table Definition
    - STATICS itab TYPE tabtype [WITH HEADER LINE].
    - STATICS itab TYPE tabkind OF linetype
    [WITH [UNIQUE|NON-UNIQUE] keydef]
    [INITIAL SIZE n] [WITH HEADER LINE]. 
    - STATICS itab LIKE tabkind OF lineobj
    [WITH [UNIQUE|NON-UNIQUE] keydef]
    [INITIAL SIZE n] [WITH HEADER LINE].
    - STATICS itab TYPE linetype OCCURS n [WITH HEADER LINE].
    - STATICS itab LIKE lineobj OCCURS n [WITH HEADER LINE].
    - STATICS: BEGIN OF itab OCCURS n,
    END OF itab [VALID BETWEEN f1 AND f2].
    STATICS itab TYPE RANGE OF type.
    STATICS itab LIKE RANGE OF f
    @@@@@@@@@@@@@22
    Logic: make flag variable as static variable in global area.
    First data package...
    IF flag EQ ' '.
    Read Master data table and put in STATIC internal TABLE.
    So the next time(next data package)..not read from master data table
    flag = 'X'.
    ENDif.
    LOOP DATA_PACKAGE.
    ENDLOOP.
    @@@@@@@@@@@@2
    Regards,
    San!
    Message was edited by:
            Sandeep Khatri(San!)

  • How to write the start routine in the transformations ?

    Hi Experts,
    I am working on BI 7, As I want to write a start routine in transformations of 0FIGL_O02 DSO, to allow the GL accounts with cost center data. Already there is a delete statement please find.
    *DELETE SOURCE_PACKAGE where BAL_FLAG = 'X'. I had made comment to allow the G/L accounts. since I have some GL Accounts which does'nt have the cost center data, so in this case I have to write a ABAP code to allow this G/L accounts with cost center data.
    So Let me know if anyone can help me how to write the ABAP code in the start routine.
    Thanks
    sekhar

    Hi Experts,
    I am working on BI 7, As I want to write a start routine in transformations of 0FIGL_O02 DSO, to allow the GL accounts with cost center data. Already there is a delete statement please find.
    *DELETE SOURCE_PACKAGE where BAL_FLAG = 'X'. I had made comment to allow the G/L accounts. since I have some GL Accounts which does'nt have the cost center data, so in this case I have to write a ABAP code to allow this G/L accounts with cost center data.
    So Let me know if anyone can help me how to write the ABAP code in the start routine.
    Thanks
    sekhar

  • Start Routine to load flat file - how to track filename in transformation

    Hi,
    Could you please help me to write a start routine to bring data from a flat file with a file name week45_c1_pri_2006, where the wekk name week-- changes per week. how to track the filename in the routine and how in data transfer process knows to load data from each flat file.
    Message was edited by:
            Anima M

    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'
          <b>p_r_request
                TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.</b>
    <i>The bold area above where you get the requestid, here I am stuck.
    The below code does not bring the correct requestid of PSA</i>
    CALL METHOD P_R_REQUEST->GET_REQUID30
          RECEIVING
            R_REQUID30 = IREQUID.
        CALL METHOD P_R_REQUEST->GET_REQUID
          RECEIVING
            R_REQUID = IREQUID.
        SELECT FILENAME INTO IFILENAME FROM rsseldone WHERE rnr =  IREQUID  AND lnr = '        1'.
    Hope this can give a better picture where I am currently stuck not able to get the PSA request id in the <b>start routine of transformation</b> to read the data and filename from there.
    Thanks alot
    Anima

  • Identify the last data package in start routine

    Hi Everyone
    We have a start routine in transformations. We require to do some special processing in the start routine only when the last data package is executing. How can we determine in the start routine that current package is last one or not ? Any pointers in this direction are appreciated.

    Hi,
    You can get packet Id from datapackid in start routine and end routine. But I'm not so sure how to identify the last packet ID, alternatively you can store this packet id in some where else and read the same value in End routine if your logic(processing) permits to do this in End routine instead of Start routine.
    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.
    hope it helps...
    regards.
    Raju

  • Start Routine

    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.

    Change your code like the one below
    TYPES : begin of it_ord ,
    AUFNR(000012) TYPE C,
    ARBPL(000008) TYPE C,
    WERKS(000004) TYPE C,
    end of it_ord.
    DATA : temp_tabix TYPE sy-tabix,
    is_datapak TYPE tys_SC_1.
    DATA : it_ordt TYPE STANDARD TABLE of it_ord ,
    it_ordtt_wa TYPE it_ord.
    This should solve your problem.

  • How to write a start routine in the trasnformations ?

    Hi Experts,
    I am working on BI 7, As I want to write a start routine in transformations of 0FIGL_O02 DSO, to allow the GL accounts with cost center data. Already there is a delete statement please find.
    *DELETE SOURCE_PACKAGE where BAL_FLAG = 'X'. I had made comment to allow the G/L accounts. since I have some GL Accounts which does'nt have the cost center data, so in this case I have to write a ABAP code to allow this G/L accounts with cost center data.
    So Let me know if anyone can help me how to write the ABAP code in the start routine.
    Thanks
    sekhar

    Hi,
                Yopu can write the below lines of code adn try
        SORT source_package BY Receive nr  Type ASCENDING.
        DELETE ADJACENT DUPLICATES FROM source_package COMPARING Receive nr  Type.
    But you should make sure which record of the either rows need to deleted
    i.e in
    F9001;LU;J001;662;
    F9001;LU;J002;662
    You need to decide to eliminate 1st or 2nd one.(depends on your requirement)

  • 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

  • 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

  • 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

Maybe you are looking for