No RETURNCODE 0 allowed in update routines in transfer mode

Hi,
After Applying a RETURNCODE = 4 to one characteristic in my update routine i get the following message:
No RETURNCODE <> 0 allowed in update routines in transfer mode
Message no. RSAU492
It seems that i doesn't allow me to modify a certain characteristic in my target ODS.
Any suggestions?
BR,
Xibi

Hi,
could it be this problem (as described in an OSS note) ?
"Symptom
Various errors occur when you load reporting point data from CRM with the DataSource 0CRM_UT_POD_ATTR and update the data in BW:
1. Insufficient data is delivered, and all fields are empty except for the external reporting point name (EXT_UI_BW).
2. The restriction according to the external reporting point name (EXT_UI_BW) in the BW scheduler has no effect.
3. The update in BW to the InfoObject 0UCCRMPOD terminates with the error message RSAU-492 (Return code <> 0 is invalid in overwrite MODE in update routines).
Other terms
Sales, commercial and industrial customers, IS-U-CRM integration, IS-U, quotation controlling, quotation planning
Reason and Prerequisites
There is an error in the extractor. In addition, the selection according to EXT_UI_BW cannot be supported in the InfoPackage for technical reasons. The case was not caught when the texts for 0UCCRMPOD were updated because the texts for 0UC_POD (IS-U reporting point) had not yet been loaded from IS-U.
Solution
The error is eliminated in CRM 4.0 Support Package 05 and BI Content Add-On 3.20 Support Package 11 or BI Content Add-on 3.30 Support Package 04  or BI Content Add-On 3.51 Support Package 01.
Correction instructions for the CRM section are attached."
/manfred

Similar Messages

  • Which is better transfer routine or update routine???

    HI ALL,
    I have read some documents, but I didnt get the real concept.
    Can any one explain in detail as to how do we decide where to write the code i.e a start routine or transfer routine or update routine...and which one is better  for a given scenario..
    with example?

    My scenario is like this:
    master data InfoObject for e.g. Z_MATERIAL1 with 10 fields as attributes. It has two Source Systems feeding it; SAP and a flat file from a system called Product Catalog (PCAT).
    The PCAT data is generally more reliable, hence, if a material XYZ comes from PCAT then PCAT is the owner of the material. SAP should not be able to update five critical fields of that material if PCAT owns the material.
    For e.g. the below values comes from PCAT and Master data is updated.
    PCAT
    Material Group Type Price Curr Unit Prod Desc. Lang Class
    XYZ      ABC   BRU  10.00 USD  PC  Inh   To    EN   001
    When the data comes from SAP R/3, it should not update anything other than the last 4 fields.
    SAP
    Material Group Type Price Curr Unit Prod Desc. Lang Class
    XYZ      ABC    BRU 20.00 USD  BOX  In   The    DE   003
    Finally the data in the Master Data Object should be as below.
    Material Group Type Price Curr Unit Prod Desc. Lang Class
    XYZ      ABC   BRU 10.00  USD  PC  In    The    DE   003
    where do i write the code...i have written this in start routine of transfer rules...i want to know the performance issues...

  • How to identify transfer and update routines are applied to my ods/ cubes?

    hi all,
    how to identify transfer nor update routines are been applied to my ods/ cube?
    regds
    hari

    You need to go through the update Rule and Transfer Rule mapping and if you see any routine then there is a routine. Only manual process and also that is not too bad to go through them.
    thanks.
    Wond

  • BI : Write BW 3.5 Transfer/Update routine to BI 7.0 Transformation routine

    Hi Gurus,
    I have 3.5 tranfer/ update routines. can anybody please tell me how to write the same routines in BI 7.0. I guess there are some syntax changes. For example below is the 3.5 update routine. Kindly advise me the steps or way of  how to write the same routine in BI 7.0.
    FORM compute_data_field
      TABLES   MONITOR STRUCTURE RSMONITOR "user defined monitoring
      USING    COMM_STRUCTURE LIKE /BIC/CS2LIS_02_ITM
               RECORD_NO LIKE SY-TABIX
               RECORD_ALL LIKE SY-TABIX
               SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
      CHANGING RESULT LIKE /BI0/APUR_O0100-NETPRICE
               RETURNCODE LIKE SY-SUBRC "Do not use!
               ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update
    Thanks & regards ,
    M.S
    Edited by: M.S on Oct 26, 2009 12:10 PM

    Hi ,
    solved on my own. Thankyou very much..
    thanks & regards,
    M.S
    Edited by: M.S on Oct 27, 2009 6:57 AM
    Edited by: M.S on Oct 27, 2009 6:59 AM

  • Hi pls give me any one update routine, transfer routine scenarios

    hi pls give me any one update routine, transfer routine scenarios for to telling interviews (easy scenario for interviews)

    Hi Venkat,
    Pls chk this nice paper:
    How To… Routines within Transformations
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/6090a621-c170-2910-c1ab-d9203321ee19
    Pls chk this links for samples & Examples:
    http://help.sap.com/saphelp_nw04s/helpdata/en/e3/732c42be6fde2ce10000000a1550b0/content.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/43/c3963dfbde4dede10000000a422035/content.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/43/bcdb7801344defe10000000a422035/content.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/43/bcdc6001344defe10000000a422035/frameset.htm
    Hope this helps,
    Regards
    CSM Reddy

  • Diff bet transfer and update routine

    Hi experts,
    can u plz.. clearly explain me.. the diff bet transfer and updatwe routine.. with scenario... i just want to know.. abt... it.. i went thru.. help.. but... not got clearly...
    *points fully assured*
    Regards
    Rekha

    Both the do the same.
    Trnsfer routine will perform the required transformation in the transfer rules while the update routine will do the same in the update rules.
    The purpose of these routines is when you wish to transform the incoming records by performing some checks and validations before the data get into the data targets.
    A realtime example will be:
    You bring in profit cemtre transaction data and for each profit centre record you wish to check if it has value type indicator. The business rule is if there is no such indicator, either reject the record or tag a value of 10.
    Since this is to be checked for each record, we do it in the transfer routine or in update routine.
    Also, you would have heard of start routine; if  a logic is to be applied on the whole data package, then you do it in start routine.
    In 7.0, all these things got replaced bu start routine, expert routine and end routine.
    Ravi Thothadri

  • Is difference between update routine,start routine and transfer routine

    Hi All,
    What is difference between transfer routine and update routine.

    Hi Venkat,
    Routine is a set of ABAP code which is used to select a record or transform the field value at the time of loading the data.
    Types of routines:
    Tranfer Routines in Transfer Rules:
    Start Routines in Transfer Rules:
    Update Routines in Update Rules:
    Start Routines in Update Rules:
    Transfer/Update routine:
    It's the set of ABAP code used in Transfer/Update rules. Transfer/Update routine is used to change the value of a particular field/object at the time of loading data.
    Ex: Populate the amount/discount field by using Price and Quantity based on the given conditions.
    Start Routine:
    Start routine can be used in both Transfer Rules and Update Rules. Start routine is used to determine whether to load a particular record or not.
    Ex: From the data related to the year 2005, we can select only the records which belong to a particular month or fiscal period.
    Ultimately Transfer/Update routines are to update the value of a particular field. Start routines are used to select entire record.
    You can get more details about routines at :
    Routines
    ROUTINES
    Routines and Examples
    Start Routines
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/60cecb1d-0a01-0010-8289-b14fd99062fa
    take a look this doc for abap used in bw
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/4493c4a6-0301-0010-62a2-efd6ded61e04
    ABAP book that always mentioned :
    http://cma.zdnet.com/book/abap/
    assign points if useful ***
    Regards
    CSM Reddy

  • Diff between Start ,transfer,update routines

    hi
    Plz tell me what is the difference between Start routine,transfer routine and update routine. Send me some real time examples.I would be very glad.
    Regards
    Ajay

    Hi!
    it is simple all of them are small program used in ETL process while loading in to BW.
        <b>Start routine:-</b> is used in Transfer rules and update rules, this abap code is  executed before starting the load and used in scenarios where we want to perform some operations on all the data example deleting some records before processing records in Update rules or transfer rules.
    <b>Update routine:-</b> abap code used in update rules to transform or finding some field. ex:- may be you want to retrieve the field data from some data base tables based on the other data present in the infosource
    <b>Transfer Routine:-</b> similar to the update routine but used in transfer rules.
    with regards
    ashwin
    <i>PS n: Assigning point to the helpful answers is the way of saying thanks in SDN.  you can assign points by clicking on the appropriate radio button displayed next to the answers for your question. yellow for 2, green for 6 points(2)and blue for 10 points and to close the question and marked as problem solved. closing the threads which has a solution will help the members to deal with open issues with out wasting time on problems which has a solution and also to the people who encounter the same porblem in future. This is just to give you information as you are a new user.</i>

  • How to create monitor entries from an update routine?

    Hi,
    Does anyone try to create monitor entries in ABAP routine in update rules?
    I have How-to guide "How to... Create monitor entries from an update routine". I applied code from it.
    RETURNCODE = 1.
    MONITOR-MSGID = 'RSM'.
    MONITOR-MSGTY = 'W'. *** I also tried MONITOR-MSGTY = 'E'
    MONITOR-MSGNO = '799'.
    MONITOR-MSGV1 = 'My message '.
    MONITOR-MSGV2 = COMM_STRUCTURE-<MY_FIELD>.
    append MONITOR.
    EXIT.
    But it doesn't work. I don't see new lines on Details tab in AWB Monitor.
    What's wrong?
    BW 3.0B

    Hi, hope you had a good weekend.
    I tried with MSGTY = 'I' and I didn't get any errors or warnings at load.
    In the monitor, on the detail tab, I find hidden under:
    Processing (data packet)
    -> Data Package x
       -> Transfer rules
          -> Data records for package x
             -> Record 0:
             -> Record 0:
             -> Record 0:
    When I select "Display Message(s)" from the dropdown-menu on one of these "Record 0:" lines, I get to see
    my message text: S:RSM:000 test1 test2
    1) how can I change the text that appears in the monitor tree ("Record 0:") ?
    2) The status of these nodes is always a green led (also with MSGTY = 'W')... shouldn't it be a yellow triangle?
    Like this it is hell to find your warnings/information messages.
    3) I cannot find my monitor messages with transaction SLG1... should I be able to find them there?
    Kind regards,
    Edwin

  • Canu2019t u201Ccommentu201D lines in Update Routine although in Change mode

    Hi,
    There is an update rule between a datasource (2LIS_02_SCL) and ODS1 that I need to modify. When I double click on it, instead of seeing the old update rule that I am used to, showing the list of the fields I get some graphics with the links between fields in one group to the other.
    The u201CRule groupu201D is set to u201CStandard Groupu201D.
    I double click on the link between the fields of interest and changed u201CRule Typeu201D to u201CRoutineu201D and changed it to the change mode for changes.
    I have an INCLUDE program from another project which performs the same tasks that I am trying to implement.
    At a location where it states u201Cu2026insert your code here u2026u201D, I am able to bring in the lines from the other routine which does the desired job.
    1.
    The problem at this moment is that I canu2019t get COMMENT on all the previous codes which were in there. I tried deleting, and that also fails. As a result, I am getting errors.
    Any help on this?
    2.
    Is that the right place to modify the routine?
    3.
    What is the difference between between between this approach of modifying update routines compare to the old one?
    Thanks

    Hi,
    thanks so far:
    I did exactly what you described. When I got to where to insert my code, I see that the system by default has METHODS, with declaration etc.
    I want to ignore all those and simple insert the following. Donu2019t I need to comment on all the existing information that I do not need:
    e.g. when I inserted the code below, and performed a u201Cchecku2019, it failed at a line (TYPE RSODSOCHECKONLY READ-ONLY,) which existed originally in the default code which read. I though I should be able to comment those out, but the system is not allowing me:
    Attributs
        DATA:
          p_check_master_data_exist
                TYPE RSODSOCHECKONLY READ-ONLY,
    *--my insert begins--
    INCLUDE MY_UPDTE_RULE.
    $$ end of global - insert your declaration only before this line   -
    FORM Calc_Data
      TABLES   MONITOR STRUCTURE RSMONITOR "user defined monitoring
      USING    COMM_STRUCTURE LIKE /BIC/CS2LIS_02_SCL
               RECORD_NO LIKE SY-TABIX
               RECORD_ALL LIKE SY-TABIX
               SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
      CHANGING RESULT LIKE /BI0/V0PUR_C01T-GR_QTY
               RETURNCODE LIKE SY-SUBRC
               ABORT LIKE SY-SUBRC.
    $$ begin of routine - insert your code only below this line        -
    fill the internal table "MONITOR", to make monitor entries
    IF ( COMM_STRUCTURE-u2026u2026.
        perFORM ZZZZZZZ
           USING    COMM_STRUCTURE-u2026u2026
           u2026u2026
           u2026u2026
           CHANGING RESULT.
    if the returncode is not equal zero, the result will not be updated
        RETURNCODE = 0.
    else.
        RETURNCODE = 4.
    endif.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    $$ end of routine - insert your code only before this line         -
    ENDFORM.
    *--end of my code--
    Thanks

  • Update Routine to populate 0VENDOR from either of the 2 data source fields

    Hi,
    I have a requirement to write an update routine for 0VENDOR based on the below logic :
    Create routines to populated BW Info Object u201CVendoru201D (0VENDOR) based on the following logic:
    IF field u201CVendoru201D (ITM_VENDOR_ID) is populated from data source 0BBP_SC_TD_1, THEN populate 0VENDOR with that value
    ELSE IF u201CPreferred Vendoru201D (ITM_PROPVEN_ID) is populated from data source 0BBP_SC_TD_1, THEN populate 0VENDOR with that value
    ELSE IF neither u201CVendoru201D (ITM_VENDOR_ID) or u201CPreferred Vendoru201D (ITM_PROPVEN_ID) are populated from data source 0BBP_SC_TD_1, then 0VENDOR = NULL
    Can anyone help me in converting this logic into ABAP routine.
    Thanks,
    Suchitra

    Hi Suchitra,
    In the Transfer Rules ... You will be mapping each field then the mapping field click on the button with Triangle then you can see the which type you want.
    Then select the routine and select the datasource fields (don't forget to select the both fields VENDOR and PROPITM)...
    Then give a name to routine ...
    and in the code just change the COMM_STRUCTURE to TRANSFER_STRUCTURE.
    Then you can get this .... done..
    Regards,
    Ravi Kanth

  • Update routine to populate value for field ZDOCCATG(Document category)

    Hi Experts,
       I need to populate  data for field ZDOCCATG(Document Category) based on the value of the below  two fields,
    1. 0deb_cre_lc(Debit / credit Amount)
    2. 0ac_doc_typ(Belegart)
    The logic is as follows:
    if 0deb_cre_lc > '0'.
         if 0ac_doc_typ == 'dz'.
          ZDOCCATG = Disputes.
         else
      ZDOCCATG = Invoices.
       end If.
    else
    if 0ac_doc_typ < '0'.
    ZDOCCATG = Credits.
    end if.
    I need to write the update routine to get the values assigned for Document category based on these two fields. When i open the routine for the field ZDOCCATG, i can see the below screen:
    PROGRAM UPDATE_ROUTINE.
    $$ begin of global - insert your declaration only below this line  -
    TABLES: ...
    DATA:   ...
    $$ end of global - insert your declaration only before this line   -
    FORM compute_data_field
      TABLES   MONITOR STRUCTURE RSMONITOR "user defined monitoring
      USING    COMM_STRUCTURE LIKE /BIC/CS80FIAR_O03 - (Communication structure)
               RECORD_NO LIKE SY-TABIX
               RECORD_ALL LIKE SY-TABIX
               SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
      CHANGING RESULT LIKE /BIC/AZOARFSCM00-/BIC/ZDOCCATG
               RETURNCODE LIKE SY-SUBRC "Do not use!
               ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update
    $$ begin of routine - insert your code only below this line        -
    fill the internal table "MONITOR", to make monitor entries
    result value of the routine
      RESULT = .
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    $$ end of routine - insert your code only before this line         -
    ENDFORM.
    Please let me know the code to be inserted (based on the logic mentioned above) in the above screen . Thanks
    Regards,
    Kavitha Jagannath

    Hi Kavitha,
          Supposing the technical name of fields is /bic/0deb_cre_lc and /bic/0ac_doc_typ use the code below at the marked position.
    PROGRAM UPDATE_ROUTINE.
    $$ begin of global - insert your declaration only below this line -
    TABLES: ...
    DATA: ...
    $$ end of global - insert your declaration only before this line -
    FORM compute_data_field
    TABLES MONITOR STRUCTURE RSMONITOR "user defined monitoring
    USING COMM_STRUCTURE LIKE /BIC/CS80FIAR_O03 - (Communication structure)
    RECORD_NO LIKE SY-TABIX
    RECORD_ALL LIKE SY-TABIX
    SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
    CHANGING RESULT LIKE /BIC/AZOARFSCM00-/BIC/ZDOCCATG
    RETURNCODE LIKE SY-SUBRC "Do not use!
    ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update
    $$ begin of routine - insert your code only below this line -
    fill the internal table "MONITOR", to make monitor entries
    result value of the routine                 
    <----- Paste the code below as shown here --->
    if comm_structure-/bic/0deb_cre_lc > 0.
      if comm_structure-/bic/0ac_doc_typ == 'DZ'.
       result = 'DISPUTES'.
      else
       result = 'INVOICES'.
      endIf.
    elseif comm_structure-/bic/0deb_cre_lc < 0.
      result = 'CREDITS'.
    end if.
    <----
    >
    if abort is not equal zero, the update process will be canceled
    ABORT = 0.
    $$ end of routine - insert your code only before this line -
    ENDFORM.
    Regards:
    Jitendra
    Edited by: Jitendra Gupta on Oct 15, 2009 3:05 PM

  • Update routine for 0proc_unit conversion

    Hi all,
    My infoobject 0OPR_ACTWRK uses 0PROC_UNIT for units. It holds data in days and in hours. When I load it to a cube, I want to convert all values to working hours.
    I figured out that I have to use an update routine in my update rules. A lot of forum threads about unit conversion mention the function module UNIT_CONVERSION_SIMPLE. Can I use this function for my problem? Or should I use a different function module?
    This will be my first ABAP code, so can anyone help me and tell me what I have to fill in exactle in the routine format below?
    $$ begin of routine - insert your code only below this line        -
    fill the internal table "MONITOR", to make monitor entries
    result value of the routine
      RESULT = .
    result value of the unit
      UNIT = .
    if the returncode is not equal zero, the result will not be updated
      RETURNCODE = 0.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    $$ end of routine - insert your code only before this line         -
    Thanks in advance!
    Regards, Pieter

    Dear Pieter,
    I am not infront of the system..
    the following surely will give error.. :).. so post back here.. so that me or someone else will reply you..
    So let us start witht he following coding in the 'Start routine'.
    LOOP AT DATA_PACKAGE.
    IF DATA_PACKAGE-UNIT= 'DAY'.
       DATA_PACKAGE-opr_pldwrk = DATA_PACKAGE-opr_pldwrk * 8.
    ELSE.
    Do nothing.
    ENDIF.
    MODIFY DATA_PACKAGE.
    ENDLOOP.
    Regards,
    Hari
    Message was edited by: Hari Kiran Y
    Message was edited by: Hari Kiran Y

  • Update Routine ABAP question

    Hi,
    I am updating data between two ODS objects using some update routines. I would like to write the following routine (in pseudo code):
    ++++++++++++++++++++++++++++++++++++++++++++++++++++
    Check if the characteristic i am updating is not null
    IF COMM_STRUCTURE-field1 = 'value1'     AND
             COMM_STRUCTURE-field2 = 'value2'.
    RESULT COMM_STRUCTURE-field3.
    ELSE.
    Don't update anything
    END IF
    +++++++++++++++++++++++++++++++++++++++++++++++++++
    My questions:
    1. How i tell the routine not to update anything (as specified in the pseudo code)?
    2. How i can check that the characteristic i woul like to update is not null?
    3. What is the preferred debug method in case i do not use the PSA?
    BR,
    Xibi

    Thanks Siggi for your prompt and helpful answer. There are however some fundamental things which are not fully clear to me (BTW, where i can find some good documentation on ABAP for BW??):
    > Hi,
    >
    > 1. How i tell the routine not to update anything (as
    > specified in the pseudo code)?
    >
    > set the returncode to a value <> 0.
    I wrote the following:
    returncode = 1.
    Consequently the updated failed. Maybe i am doing something wrong but my intention is not to have the whole thing fail, but rather skip the update for some records.
    > 2. How i can check that the characteristic i woul
    > like to update is not null?
    >
    > if not comm_structure-<fieldname> is initial.
    The problem is that the characteristic i am trying to update is not contained in the source ODS but only in the target one. Will "if not comm_structure-<fieldname> is initial" still work in this case?
    >
    > 3. What is the preferred debug method in case i do
    > not use the PSA?
    >
    > Without psa, you need to add a endless loop:
    > statics: st_flag type c value '0'.
    >
    > while st_flag = '0'.
    > break-point.
    > endwhile.
    >
    >
    > Hope this helps!
    >
    > regards
    >
    > Siggi

  • Converting Tx Routines and Update Routines in to Tranformation in 2004's

    Hi,
    I have to get all the data from the existing BW 3.5 system in to the BI 7.0 system.
    While the conversion process if I choose to create the transformation instead and installing the update rules and tranfer rules and migrating those to the tranformations.
    Here I have three similiar questions:
    i. So, if I copy the transfer routines in to the Transformation, then do I have to change any ABAP Code?  Is there any syntax changes that have to be take care off.
    ii. If I copy the Update routines in to the Transformation, then do I have to change any ABAP Code?  Is there any syntax changes that have to be take care off.
    iii. If I copy the Start routines in to the Transformation, then do I have to change any ABAP Code?  Is there any syntax changes that have to be take care off.
    I appreciate your help.  Thanks!

    1) TRAN_STRUCTURE to SOURCE_FIELDS
    2) COMM_STRUCTURE to SOURCE_FIELDS
    3) DATA_PACKAGE to SOURCE_PACKAGE
    http://help.sap.com/saphelp_nw04s/helpdata/en/44/bd9b5be97c112ce10000000a11466f/content.htm

Maybe you are looking for

  • Problem in Segment Builder

    Hello all, I´m using a BW cube as a Datasource for segment builder. Everything goes well but when we try to create attribute list we only see the technical name of fields and we should see the description. Could anyone help me? Thanks in advance. Car

  • Sound from one speaker

    I only get sound playback in one speaker when playing a short recording thru QT Player 7, and QT Player. The video is recored on a go pro hero 2, using a radio shack #274-397 3.5mm stereo male to 2.5mm stereo female adapter and a Drift audio external

  • Problem calling function in FireFox

    Anything wrong with this code? It works for IE but FireFox throws: "thisMovie("Untitled-2").playF is not a function" error      function thisMovie(movieName) {          if (navigator.appName.indexOf("Microsoft") != -1) {              return window[mo

  • Algorithm for EBS

    HI all, We are using F110 and DMEE for payment file generation. For reverse file we are using EBS multicash format. In F110 zp document is posted. My confusion is, in EBS  what posting rule should be used. and what algorithm should be adopted in conf

  • What does this error mean in idoc_apapter

    Hi, Im getting this error while doing a flat file to an idoc scenario. <SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_WRONG_INTF</SAP:Code> <SAP:Stack>Unable to interpret IDoc interface MI_ZPURCHASEORDER01_Inb</SAP:Stack> Can anyone explain me what to do. T