Characteristic derived Update Rules

Hi guys,
I have to make the update rules for a DSO.
Among characteristics there is one that should by derived from the master data table of another characteristic. Even more, this attribute is time-dependent.
So, let's say for characteristic zstatus  I:
<li>checked the Master Data Attribute of</li>
<li>selected the deriving characteristic zdoc</li>
<li>clicked the Time Dependency button</li>
<li>checked the End radio button</li>
<li>selected 0CALDAY from the Frm match code button</li>
<li>Closed all modal windows and activated the update rules</li>
After both, master data bearing characteristics and transaction data were uploaded, the results were far from what I expected to be, as you can see below:
<li>zdoc Master data</li>
Comp Code     BP     Ref. no     Valid-to             Valid-from            Document_date     Net_duedate     Status
RO20     90000724     342342     11.11.2008     01.01.1000     21.11.2008     20.9.2007     
RO20     90000724     342342     20.11.2008     12.11.2008     21.11.2008     20.9.2007                  1
RO20     90000724     342342     31.12.9999     21.11.2008     21.11.2008     20.9.2007                  2
<li>Transaction data [ DSO ]</li>
Comp Code     BP     Ref. no     Document date     Status     Document Type     Amount     0CALDAY
RO20     90000724     342342     5.9.2007                                 X            119,00     5.9.2007
RO20     90000724     342342     5.9.2007                 1             I            119,00     21.11.2008
RO20     90000724     342342     5.9.2007                 1            X            119,00     21.11.2008
Well, I expected the Status column in the DSO table [ the bolded column to get the value 2 after deriving the zdoc characteristic on 0CALDAY, during data loading process, however, it takes the value 1 in turn.
I'm not sure, I'm clear in my explanations...if  there is someone who understood my pain, and tell me what's wrong with my update rules I would appreciate.
Kind Regards!

After updating the data, did you perform a hierarchy/attribute change run or "activate" the master data for your lookup object?  Also, check in the "Q" table of the master date lookup object, all of those records should be in the table and active.
Brian

Similar Messages

  • Update rules mapping

    Hi Friends,
    I have ZSTCSDF coming from transfer structure now I need to map this field with InfoCube field ZCUSTOMER.
    ZSTCSDF is using ZCUSTOMER as a reference characteristic.
    If it is an attribute then I can map that in update rules but it is reference characteristic instead.
    Can anyone suggest me what to do in this?
    Thanks,
    John.

    Hi Friend,
    I already have ZSTCSDF this field. This gfield is using 0CUSTOMER as reference characteristic.
    So, I have ZSTCSDF in communication structure.
    my question is can I map ZSTCSDF and 0CUSTOMER one to one in update rules characteristics.
    by referenceing source characteristic in update rules mapping options.
    Thanks,
    John.

  • Update Rules - Characteristic - cannot accept changes

    Hello,
    I have a strange issue when I work with Update Rules (I know, old method, no my fault, customer has a solution like this). I need to assign the characteristic, so I open the rule details tab, I select the characteristic and click "method" button. The pop up "change source" appears. Not the matter I select, constant, routine or whatever, when I accept it and when I go back to the rule details tab again, I cannot go further. When I want to accept all of the changes, the pop up with "change source" appears again and again. There is only a possibility to cancel the changes. Did you see something like this before?
    A.

    Hello,
    The solution was to use the program SAP_FACTVIEWS_RECREATE to recreate the views.
    A.

  • Will Characteristic Derivation in KEPM using Plan Method COPY

    Dear All,
    While performing Planning using KEPM transaction with Plan Method Copy. Characteristic Derivation is not working.
    System Construction
    We have put a derivation step in KEDR that needs to populate a Custom Characteristic WWXXX with a certain value. The Condition for this step is PLIKZ(plan\actual) indicator should be equall to 1.
    We are copying Actual data to plan using the Plan Method COPY.The Custom Characteristic is not updated while posting actual data. However we want it to be updated while planning, hence the derivation rule. However, it is not getting update.
    Note: In COPA Plan Version "Check Derivation" is selected. and We have tested in KE21S it was working fine
    Thanks & Regards
    Surya

    Hi,
    it is copy/paste.
    "Move" can be used if you want just a sequence "345" from a characteristic "123456" by using the "detail" button in the step definition.
    If you want to remove the characeristic from a field, make a "clear" step.
    Best regards, Christian

  • Error while transporting update rule.

    Hi experts
    I am trying to transport one update rule to production..
    But it is ending with error code 8 n it is giving me following error :
          Errors when activating update rule XXX
          IC=0PP_DS03 IS=0CO_OM_OPA_6 error when checking update rules
    Kindly tell me what need to be done now.
    Regards
    Swati

    Hi  Swati,
    Before transporting the update rule, in the present scenario, you have to transport the infosource which contains the corresponding "0recordmode".
    Whenever you transport anything into the quality or production, the list should be as followed in the given manner : 
    Seq No     Objects in Request
    1     Package(DEVC), InfoArea(AREA), Application Component(APCO)
    2     Function Modules
    3     Keyfigure Catalog(IOBC), Keyfigures(IOBJ), Units(IOBJ)
    4     Characteristic Catalog(IOBC), Characteristic Infoobjects(IOBJ)
    5     Infosources (ISCS, ISTD, ISMP, ISTS, ISFS, ROUT) and
                    Generic Data Sources(DataSrce Active Version(OSOA), ISMP, ISTS,DataSourceReplica (ISFS) 
                    and Tables (TABL)
    6     Infoproviders(ODS(ODSO), Cube(CUBE), Infoset(ISET))
    7     Update Rules(UPDR, ROUT)
    8     Infopackages(ISIP)
    9     Queries(ELEM)
    10     Webtemplates(TMPL, BLTM, BPTM)
    Just transport all your things in the above sequence, and it will be done successfully.
    Also, remember  there should not be any data in the corresponding infoprovider while you transfer the update rule, else it will fail.
    Hope it helps,
    Regards,
    Neha.

  • Calculations in Update rules/Start routine/End Routine

    Hi Friends,
    I have loaded data to a DSO and i have three fields in to it. Lets say Filed1, Filed2 and Field3. Field1 and Field2 are being populated through an update rule in transformation. Aggregation type for these two fields are "Summation".
    Now, after the transformation executed, the Field1 and Field2 are filled with values. I want to calculate the value of Field3 as follows:
    Field3 = Field1 - Field2
    Can anyone tell me where can i do this calculation? I know we can do this in End routine and in Query  but i want to know if there is any other place i can do this calculation in transformation? In try to do this calculation in the update rule for Field3 in transformation, i dont see Field1 and Field2 as these are not source fields. I can not write formula also because we can write formula only on source fields not the data target fields.
    Your help will be appreciated in terms of points.
    Thanks,
    manmit

    Hi,
    in the start routine in the global section define the two fields:
    data: g_amount1 type /bic/oi<your keyfigure name>,
    g_amount2 type /bic/oi<your keyfigure name>.
    in the routines to your 2 keyfigures store the result in that fields too.
    routine for field1.
    g_amount1 = result.
    routine for field2.
    g_amount2 = result.
    and in the routine to field3
    result = g_amount1 - g_amount2." or whatever calculation/derivation has to be done.
    kind regards
    Siggi
    Message was edited by:
            Siegfried Szameitat

  • Error in characteristic derivation at the level of the invoice item when re

    We are implementing the SAP project for just one small private medical Center which includes mainly outpatient cases in different medical Clinics (different departments in the same medical center) .For example: Radiology center/department, cardiology center Obstetrics center and so on.
    We have defined each center/department as a different profit center.
    Some of departments are subdivided to several medical organizational units; each unit represents a different cost center at the same profit center/department.
    A case-based order (internal CO orders relating to a patientu2019s case) is created in the background when the patient is admitted
    The same patient can get services from few organizational units (in ISH)/cost centers at the same visit/case and that's why it is important to collect revenue and costs at the same case based order. The revenue is posted to the case base order by using billing in the ISH module and the costs by internal activity allocation.
    We have assigned IS-H services to activity types in Controlling; the services transfer to the case based order. CO-relevant services are posted from IS-H to cost centers in CO and within internal activity allocation, allocate them to the case-based order.
    For example:
    X ray service assigned to Technician minutes activity type.
    Each X Ray service takes 20 minutes of  Technician (Qty Cnv Facto=20 MIN)
    The service transfer is preformed automatically at final billing.
    We have implemented Case Costing Level 2 in order to analyze case costs in CO-PA.
    We want to have the ability to derive the profitability analysis characteristics at the level of a line item in the case, for example: we want to define a service or the preformed organizational unit as a characteristic in PA.
    We are not sure what the best feasible solution for this requirement is.
    We investigated few alternatives: 
    1.     We have defined the case based order as real order with a settlement rule to a profitability segment. Revenue and Costs are posted to the cased based order and then settled to the profitability analysis. We eliminated this alternative because we didn't find any way to distribute revenue and case costs to PA between the different "line item characteristics" (for example: different services in the case).
    2.     After eliminating the first alternative we tried to change the solution.
    We have dealt with revenue and costs separately.
    1.     Revenue: In the "configure revenue accounting" We flagged the Post to Prof.Segment checkbox, the patient billing module attempts to determine a profitability segment in CO for each invoice item and to post the revenue to it. The system determines the profitability segment using the characteristics of the patient and case data we defined.
    We are using ISH_CHARACTERISTIC_* functions for characteristic derivation but we couldn't derive user defined characteristics which are defined at the level of the invoice item. (For example: billable service in the case or preformed organizational unit for each service.).We didn't succeed to it by using the ISH_CHARACTERISTIC_* functions.
    2.     Costs:
    We tried to posts case costs (internal activity allocation) directly to profitability analysis, this way we hope to have the ability to derive characteristic of the line item.
    We know that when we use transaction: KB21N for internal activity allocation and we define two receivers, internal order and profitability segment- In case the order will be statistical the true posting will be to profitability analysis segment.
    Therefore we have defined the case based order as statistical order.
    We want to intervene in the automatic creation of account assignment lines by enhancement NHCO0001 IS-H: Create account asgmt. line during CO transfer.
    The transfer program creates for CO-relevant services account assignment lines for Assignment rules.
    But-We didn't find any way to do it, because the profitability segment object is missing in enhancement NHCO0001.
    As an alternative we tried to use User-Exit in the profitability analysis valuation (transaction: ke4u) but also with no success. (Enhancement COPA0002).
    Could you Please advice what to do,I didn't succeed in my ideas and investigations.
    Thanks
    Yael Jacobi
    Controlling Consultant

    HI Claudius
    Thanks for your answer, I will try to discuss it again with my customer to understand weather he really needs/wants a profitability analysis on service level.
    I processed also an inquiry within the Service Remote Consulting according , I will let you know their answer as well.
    I have additional issue to discuss with you , please let me know wheatear you can help me.
    There are internal service sales between different departments in the same medical center. For example: Radiology center/department sells X-rays services for the cardiology center. We need the ability to sell a service to a different department in a different price than to an external payer/customer/insurance provider.
    Is it possible to implement profit center transfer prices along with the ISH_CO integration?,
    How is it getting along with the posting of internal activity allocation when services transfer to Controlling?
    At standard the costs are allocated (by means of internal activity allocation) between profit centers. The responsible cost center (assigned to the performing organization unit) is credited and the case based order (which is assigned to different profit center) is debited.
    Is it possible to implement transfer prices in case the performing organizational units are connected to the same profit center? (because some of departments are subdivided to several medical organizational units; and each unit represents a different cost center at the same profit center/department).
    Do you recommend defining a different profit center also for each sub-department?
    Do you have any other proposed solution for this issue?.
    Thanks,
    Yael

  • Error in ODS Update Rules.

    Hi,
    We have an abap routine in an ODS Update rules to get FISC YEAR (type NUMC 4) with a field FISCPER(numc 7) from a table. This routine worked fine. But now we moved the abap routine to cmod program in r/3, and when I am doing a direct mapping of fiscper to fiscyear,  I am getting this error message 'Fiscal year variant missing for time conversion of characteristic 0FISCYEAR'.  I already did a direct mapping of Fiscal year variant in the update rules.
    Am I missing some thing here?
    Thanks!

    Yes, I am getting fiscvar as V6 from cmod program in r/3, and did a direct mapping in update rules.

  • "Old" update rule from ODS not working

    Hi Gurus,
    I need to set up the "old" fashioned update rule to load data from an ODS1 to another ODS2.
    The thing is that I need to set up an update rule because I need to implement a Return Table Routine that is not supported (as far as I know) by the new Transformation/DTP.
    When I select option (through the right mouse click over ODS1)  "Other Options" - "Create Update Rule" it takes me out of the RSA1 and leaves me in the main menu making it impossible to create a new update rule.
    The strange thing is that I have this working from and ODS to an InfoCube.....
    Suggestions, a workaround??
    Andrea.

    Hi Jerry,
    Just to confirm that this is not working. The tys_TG_1 structure only shows me the target infoprovider structure. Check that in the how to, to be able to derive employee first you need to assign eache source_filed to the result_field leaving employee blank.
    I need to have in the same place, the source_field structure (source infoprovider field structure) and the result_field structure (target infoprovider structure). That is what the "old" return table gives me as in the same place I can have the communication_structure (source infoprovider field structure) with the return_table structure (target infoprovider structure). 
    Just to understand, in the source infoprovider I have 12 Key Figures (1 for each period) and I have to split each incoming record to 12 records. If I work only with the result_field structure tys_TG_1 and the result_package tyt_TG_1 I'm not able the see those 12 KF.
    So... return table functionality is not fully supported by BW 7 as far as I know.
    Any other ideas why I'm not able to create the old Update Rules from an ODS?
    Regards,
    Andrea.

  • How to access basic cube data as part of update rule routine?

    Dear colleagues:
    I am developing a routine as part of the update rule to define a characteristic value to feed an infocube. However, I need to peek up a data that is available on another infoprovider, in this case a basic cube.
    So far, I have done that by peeking up data form ODS as part of the update routine, but this is the first time I need to peek up a data from a basic cube.
    <b>Does that works the same way as ODS?</b>
    Best regards
    Waldemar

    Hi Krzysztof Konitz:
    I have posted an inquire about getting that from the PSA. By mistake I have posted that once before your reply and another after that. Then I red you reply.
    However, you replay solved the problem.
    Best regards
    Waldemar

  • Can routine replace "master data attribute of" update rule for performance?

    Hi all,
    We are working on CRM-BW data modeling, We have to look up agent master data for agent level and position for each transaction data. So now we are using "Master data attribute of" update rule. Can we use routine instead of "Master data Attribute of" ? Will it improve the loading performance? Since we have to load 1 lack transaction records , where as we have 20,000 agent details in agent master data.My understanding is, for each record in data package the system has to go to master data table and bring the agent details & store in cubes. Say one agent created 10 transactions, then this option "master data attribute of" will read the agent master data 10 times even though we are going to pull same details for all 10 transactions from master data. if we use routine, we can pull the agent details& storing in internal table removing all duplicates and in update routine we can read the internal table.
    Will this way improve performance?
    let me know if you need further info?
    Thanks in advance.
    Arun Thangaraj

    Hi,
    your thinking is absolutely right!
    I don't recommend to use the standard attribute derivation since it will perform a SELECT to the database for EACH record.
    Better implement a sorted table in your start routine; fill it with SELECT <fields> FROM <master_data_table> FOR ALL ENTRIES OF datapak WHERE OBJVERS = 'A' etc...
    In your routine perform a READ itab ... BINARY SEARCH.... I believe that you won't be able to go faster...
    hope this helps...
    Olivier.

  • "Master data attr. of" un change source of update rule.

    hi,
    What is the importance of following in "change source" (characteristics) in update rules.
    1. master data attr. of
    2.initial value
    3. Source chars
    4. constant
    When and why these are used.
    Thanks in advance.
    Regards,
    Avneet

    Hi Avneet,
    Lets say Material group is an attribute of 0MATERIAL. You cube contains Material and also Material Group as a separate characteristic (not as navigational attr) becasue you want to store the value of material group as it was during the time the transaction happened.
    But here you transactional data coming from the source brings Material values, not values of Material Group. So in the update rule for Material Group, you can specify "Master data attribute of" 0MATERIAL. What the system will do is take the value of 0MATERIAL on this record and populate Material Group taking the value that is present in Material Master data.
    So if Material = M100 and Material Group is MG01 in master data, it will supply MG01 to Material Group char in the cube.
    Hope this helps...

  • Update rule on master data attribute

    Hi
    In my cube, I have a master data object  0COMP_CODE, which has attribute 0COMPANY.
    Additionally, in the same cube, there's:
    Master data object 0CUST_GROUP, which has attribute ZBUSPART
    Master data object 0CO_AREA, which also has attribute ZBUSPART
    I need to fill a characteristic ZTAXCODE (not a master data object) in the cube, with the following logic:
    If 0COMPANY is between 1 and 30, populate ZTAXCODE with value of ZBUSPART from 0CUST_GROUP
    If 0COMPANY is between 31-9999999, populate ZTAXCODE with value of ZBUS_PART from 0CO_AREA
    I guess this will have to be done in the update rule.  Right now I have 0COMP_CODE in the communication structure. How should the code be written to populate ZTAXCODE, with value of ZBUSPART, based on the value of the attribute of 0COMP_CODE - 0COMPANY?
    Any help with getting me started here would be appreciated...
    Thanks
    Marty

    In the start routine.
    First, for all data package select company code, cust_group and zbuspart from cust_group and store it in the internal table.
    Second for all data package select company code, co_area and zbuspart  from co_area and store it in the second internal table.
    Third for all data package select company and company code from comp_code and store it in the third internal table.
    Now in the update rule routine.
    read the third table and get the company for the company code and if the value which comes from this company is between 31 and 9999999 then read from second internal table otherwise read from the first internal table and update the result.
    hope that is clear.
    thanks.
    Wond

  • Database access in update rules

    Hi all,
          I am planning to write an ABAP routine for a update rule. Now I want to know whether I can find out some data from some tables. These data are a part of my master data.
          Let me explain; I have a field in the communication structure called BookID and two dimensions in the cube called BookID and AuthorName. Now both these dimensions are characteristic infoobjects with some master data already uploaded.
          I have to write a update rule routine, where I'll fetch the AuthorName from the BookID. AuthorName is an attribute of BookID.
          Can you tell me if this is possible? If yes, then which are the database tables I need to look at? Also, some code examples will really help.
          If it's not possible, please suggest some way to do it. Currently I have AuthorName as "Master data attrib. of" BookID. But still it doesn't update the records. New records are being created with only BookID. No AuthorName.
          Please help.
    Thanks,
    Satyajit.

    hi,
    are you going to update AuthorName in master data BookID or AuthorName in the cube ? do the AuthorName set as 'navigational' attribute of BookID ?
    Both are possible for update.
    Master data has 3 tables (beside other table) : text, attribute and hierarhy.
    For master data that's not time-dependent, attribute are stored in /bi0/p[infoobject name] - without 0, e.g infoobject 0customer has /bi0/pcustomer table for attribute. for our own created infoobject it's stored in /biC/p[infoobject name], e.g ZCUSTOMER has /bic/pZcustomer table.
    For update in infocube, if you didn't set it as navigational attribute, you may use Update Method 'Master data attrib. of'.
    sample code :
    data : it_data_package like DATA_PACKAGE occurs 0 with header line,
           begin of it_authorname occurs 0,
              /bic/zbookid like /bic/pzbookid-/bic/zbookid,
           end of it_authorname,
           l_tabix like sy-tabix.
    tables : /bic/pzbookid.
    select /bic/zbookid
    from /bic/pzbookid
    into corresponding fields of table it_authorname
    for all entries in data_package
    where /bic/zbookid = data_package-/bic/zauthorname.
    loop at DATA_PACKAGE.
    endloop.

  • Update rule logic

    I am looking at an update rule to a DSO which also consists of start routine logic.
    In the update rule a status object is derived using logic.
    In the start routine there is some logic specific to the status object the details are as follows
    Start Routine Logic (have not included definition of variables)
    ls_c-status     = <ls_c>-/bic/zstatus.
    Logic in info object in the start routine
    DATA:
    l_status   TYPE  /bic/zstatus.
    SELECT /BIC/Zstatus
      INTO l_status
        FROM /BIC/AZDSOLookup
        WHERE
          /BIC/ZKey_Field = COMM_STRUCTURE-/bic/zkey_field.
    ENDSELECT.
    RESULT = l_status.
    CLEAR l_status.
    The routine in the info object is making no reference to the variables defined in the start routine.  Is that correct?
    Thanks

    Hi Edwin,
    I think you are right I need to place in Global area/start routine I will post another question with details of requirements
    Thanks

Maybe you are looking for