Infopackage name in update rule

Hi everyone,
is there a way within an update rule start routine to find out the technical name of an infopackage where a load originated, maybe via the request number?
Thanks for your ideas,
Tilman

Hi,
try table rsreqdone.
regards
Siggi

Similar Messages

  • Infopackage details in Update Rules

    Hi All.
    I need the InfoPackage name of a data mart in the update rules of the cube being updated by this data mart. There are two InfoPackages for this data mart, both updating the same cube. Depending on which one is being executed, different code will be executed in the update rules of the cube. In the transfer rules the InfoPackage name is available, but not in the update rules as far as I can see.
    Can anybody please help?
    Regards,
    Johan Loock

    Hi Sri,
    Have you tried searching the forum... I think there was a discussion on this not very long ago.
    This is the one I was talking about:
    Re: Update Rule
    Not exactly your scenario, but reading through it may help you.
    Message was edited by: Bhanu Gupta

  • How to change techn. name of update rules

    hi, all,
    is it possible to rename update rules, or, instead, to copy them under another techn. name(complete, not only a row)?
    Can anyone help me?
    best regards
    neven
    Message was edited by: Neven Terziev

    hi Neven,
    it's possible to copy update rules between data targets, but the technical name is generated by system (alpahnumeric). so if you just want the name changed, perhaps you can copy to another target and then copy back by specify the data target in 'template'. or not sure if you can use the data target itself as tempate. can specify more your consideration to change the name ?
    hope this helps.

  • Update rules of  infoobject ( Infopackage flexible)

    Hello, my name is Arkaitz. I have a problem with a update rules of one infoobject. The <b>infopackage is flexible</b>. I use this routine but not charge the new record created.
    $$ begin of routine - insert your code only below this line        -
    DATA: l_s_datapak_line type TRANSFER_STRUCTURE,
           l_s_errorlog TYPE rssm_s_errorlog_int.
      data: i_tabla type table of TRANSFER_STRUCTURE with header line.
      data: i_record type i.
      loop at datapak into l_s_datapak_line.
          move-corresponding l_s_datapak_line to i_tabla.
          append i_tabla.
          clear i_tabla.
        if l_s_datapak_line-fikrs = 'JCYL'.
          move-corresponding l_s_datapak_line to i_tabla.
          i_tabla-fikrs = 'CONS'.
          append i_tabla.
          clear i_tabla.
        endif.
      endloop.
      refresh datapak.
      loop at i_tabla.
        move-corresponding i_tabla to l_s_datapak_line.
        append l_s_datapak_line to datapak.
      endloop.
    abort <> 0 means skip whole data package !!!
      ABORT = 0.
    $$ end of routine - insert your code only before this line         -

    In start routine simple write:
    delete data_package where 0REASON_REJ is not initial.
    This will remove from load all rejected orders.
    Hope it helps.
    Regards

  • Authorization Check for Update Rules Modify during Scheduling of InfoPackag

    Hello Everyone....
    We have recently upgraded our Testing Environment to NW2004s SP10, and the system is currently Non-Changeable and all the other changes have been brought in via transports.
    After SGEN has completed, when I try to open up an existing InfoPackage and click on the "Start" button it gives me the "You have only authorization to display the "InfoProvider" name".
    If it is the load into DSO it complains about Activity 23 not available for the Subobject UPDATERULE of the object S_RS_ODS and if it is an InfoCube it complains about Activity 23 again for the Subobject UPDATERULE of the object S_RS_ICUBE.
    Which doesn't really make sense as the Activity 23 would allow the change to the Update Rules for the InfoProviders.
    Please advice if there is any other Role or Profile which needs to be maintained or a system setting to avoid this Auth Check.
    Also, the same when repeated in the Development environment shows the message "Generating the Update Program" in the status bar below and once that has completed, the extract works fine.
    Please advice......
    Any help would be really appreciated as we are kind of stuck on this issue.
    Thanks
    Dharma.

    Hi,
    You should use transaction ST01 then you can see the objects asked for with the value needed. Also transaction SU53 gives you information about the object you want to use. The new transaction RSECADMIN with the tab analyses gives you information that is not in SU53 and releated to the data selection. If it is an analyses authorization problem add authorization object 0BI_ALL to a role in the autorisation object S_RS_AUTH. I think you can get the information you need this way.
    Bye Jan

  • How to get used InfoPackage name in SAP BW 3.5 in update/ start routine?

    Hello Experts,
    according to the Infopackage (weekly load ord monthly) the update rule should change.
    In BI 7.0 helps the method P_R_REQUEST. Is there any similar for BW 3.5? =Or is there a possiblility to get the request nr in the startroutine with accordant mapping table to InfoPackage?
    Best regards,
    Stephan Wagner

    Hi Experts,
    thank you for your answers. Now, I have got the mapping table InfoPackage/ Request-ID.
    But, how can I get the actual Request ID in the start routine in BW 3.5?
    The tables MONITOR and MONITOR_RECNO don´t store it and they needs to be filled.
    MONITOR_RECNO
    MSGID
    MSGTY
    MSGNO
    MSGV1
    MSGV2
    MSGV3
    MSGV4
    DETLEVEL
    RECNO
    MONITOR
    MSGID
    MSGTY
    MSGNO
    MSGV1
    MSGV2
    MSGV3
    MSGV4
    DETLEVEL
    Best Regards,
    Stephan

  • How to get the PSA name in a Start Routine in the Update Rules of a Cube.

    Hi all.
    I have an InfoSource that loads data directly in an Infocube.
    In the Start Routine of the Update Rules I need to retrieve the PSA table name for that InfoSource, to access it and check some data.
    I can't use the PSA name you seen in the DataFlow because it will change once the update rules are transported to another system.
    Please advice.
    Thanks!!!

    Hi,
    we do it as follows:
    first get the request ID:
    DATA: tp_request(30)   VALUE 'REQUEST'.
    FIELD-SYMBOLS: <wa> TYPE ANY, <tp_req> TYPE ANY, <tp_dtp> TYPE ANY.
    READ TABLE datapak ASSIGNING <wa> INDEX 1.
    IF sy-subrc <> 0. ABORT = 4. ENDIF.
    ASSIGN COMPONENT tp_request  OF STRUCTURE <wa> TO <tp_req>.
    IF sy-subrc <> 0. ABORT = 4. ENDIF.
    requnr = <tp_req>.
    then we get the table with
    SELECT odsname_tech FROM rstsodspart WHERE request = requnr.
    you may need to adjust this code, I've just pasted the relevant parts...
    another way is to get this info from RSTSODS where the different versions are maintained...
    let me know if you need further detail about this stuff...
    hope this helps...
    Olivier.
    Message was edited by:
            Olivier Cora

  • Can't see Update rules and infopackage in the transport connection

    Hello, experts!
    I need to transport newly created (and activated) update rules and infopackage from Dev to QA environment.  When I open transport connection and select infosource, I don't see new update rules and infopackage.  There are few update rules for different source systems in this infosource and I can see all of them in the transport connection except for this new one.
    Your help is appreciated.
    Thanks, Alina.

    in Transport connection please select ur higher level Object say Infocube...and collect data flow before then you will ur Update rules and IP

  • How to determine InfoCube name within the update rule start routine?

    We are attempting to delete all the records where all key figure values are zeroes. We have about 15% of such records and we really don't need them.
    We have yearly InfoCubes. We copy the InfoCube and update rules at the end of every year. So, we don't want to hard code any field names within the update rules.
    If I could determine the target InfoCube name within the update rule start routine, I can find out all the key figures dynamically. But, I don't see a way of finding out the InfoCube name.
    If you would share any ideas, I would really appreciate.
    Thanks.
    Sudhi Karkada.

    Hi Sudhi,
    I dont know if this is what you are looking for.
    if you want to delete a record from being inserted when all the Key figure values are ZERO then you can use a Update Routine for some characteristic in the below way
    If looking for the InfoCube:
    if COMM_STRUCTURE-KF1 = 0 and COMM_STRUCTURE-KF2 AND....
      RETURNCODE = 4.
    else
      RESULT = COMM_STRUCTURE-ChanracteristicObject.
    endif.
    If it is to an ODS / InfoCube in the start routine.
      DELETE DATAPACKAGE where KF1=0 and kf2=0 and .....
    Hope it helps.
    Regards,
    Praveen.
    ENDLOOP.
    Message was edited by: Praveen

  • What is the Relationship between Update Rule and Infopackage/Transfer Rules

    Hello Experts,
    can you help explain these scenarios to me:
    What is the relationship between update rules and infopackges?
    What is the relationship between transfer rules and infopackges?
    What is the relationship between update rules and transfer rules?

    Hello,
    Info-packages trigger the data load into BW system from the source system. An info-package is created for a specific data source and info source combination.
    1) When you trigger the info-package it sends an request to the source system to start the extraction process and this corresponds to the step "Data Request Received" in monitor under details tab. It is the first step.
    2) Then the selections specified in the info-package are transferred to the source system to select the requested data from BW system. Then it is sent back to BW system.
    3) Once it reach BW, it gets into the PSA and then it gets updated into the data target (depends on what settings are made in IP). No rules (Transfer rules / update rules) comes into picture when data is stored in PSA. Only the transfer structure is used to map the BW info-objects with the source system fields.
    4) After data is stored into PSA, the update into the data targets begins. First the transfer rules are applied -> data then flows through the communication structure -> update rules are applied and finally the records gets updated into the data target. 
    The extraction flow is: -
    Source System (DS) -> PSA -> Transfer Rules -> Communication Structure -> Update Rules -> Data target.
    Info-package actually triggers the whole data flow in BW system.
    Hope it gives you a clear picture.
    Thx,
    Soumya

  • Error while Transporting Update Rules.

    hi xperts,
       I am getting Error while Transporting the Update rules,i already transported the INFOCUBE,INFOPACKAGE EVERYTHING.
        Start of the after-import method for object type R3TR ROUT (Delete Mode)
    Errors occurred during post-handling RS_AFTER_IMPORT for ROUT L
    The errors affect the following components:
        BW-WHM (Warehouse Management)
    Is the  error,I didn't change any thing in the Cube or changes to Update rules.
    Can anybody Help me?.
       thanking you,
                                   with regards,
                                   Narendra.

    Hi,
    Are you still facuing the issue ?
    No need to worry about the routines, once you save the update rules if there is any routines in it it will be saved in the same request. If you want to check the routines you can check in the transport connections. Transfer the update rule to the right hand side of the screen and you can see all the routines that belong to the UR.
    If you know the technical names of the routines you can check in the TADIR table.
    Have you transported the info-sources for this update rules ? why not you again capture the info-source and the update rule in a single request and transport again.
    Hope it helps.
    Thanks,
    Soumya

  • How to debug start routines of update rules from ODS to InfoCube

    Dear gurus,
      I have an update rule from ODS to InfoCube. I wrote a start routine in the update rule. Now I want to debug it. I went to monitor and simulate update the data package and only got the prompt "No data exists in the corresponding PSA table". So how can I debug this start routine?
      Thanks in advance.
    Jin Ming

    Jin,
    In order to use PSA between ODS and InfoCube, you may have to use an exclusive InfoPackage and load separately. In that InfoPackage, choose the radio button to use a PSA.
    I think you are currently updating the InfoCube directly without using a separate InfoPackage.
    Look for an InfoSource under DataMarts (search for 8<ODS Technical name>) and create your InfoPackage there.
    Good luck.

  • ABAP assistance - start routine logic in update rule

    I have used an existing update rule and have based my logic around the same.  The purpose of the rule is to look up customer master data and get a subset of customer numbers from the transaction records so that the values for customer number from the transactional data will not be updated if it does not match with existing master data customer numbers.
    The loads are full and we drop the data before we load.
    I have listed the logic below (the number at the front is to be considered as the line number) and a list of open questions that I have thereafter:
    Start routine logic:
    1  DATA: l_index LIKE sy-tabix.
    2  DATA: BEGIN OF ls_customer,
    3        customer TYPE /BI0/OICUSTOMER,
    4        objver TYPE RSOBJVERS,
    5     END OF ls_customer,
    6      lt_customer LIKE TABLE OF ls_customer.
    7  REFRESH: lt_customer.
    8  LOOP AT DATA_PACKAGE.
    all customers from data package
    9    ls_customer-custno = DATA_PACKAGE-custid.
    10  ls_customer-objver = 'A'
    11    APPEND ls_customer TO lt_customer.
    12   ENDLOOP.
    12  SORT lt_customer.
    13  DELETE ADJACENT DUPLICATES FROM lt_customer.
    14   IF NOT lt_customer[] IS INITIAL.
    15    SELECT /BI0/OICUSTOMER RSOBJVERS
    16      FROM /BI0/PCUSTOMER
    17      INTO CORRESPONDING FIELDS OF TABLE lt_customer
    18      FOR ALL ENTRIES IN lt_customer
    19      WHERE ls_customer-custno = DATA_PACKAGE-custid
    20      AND ls_customer-objver = 'A'
    21    SORT lt_customer BY customer ASCENDING                    
    22  ENDIF.
    Questions
    Line
    1 - what is the purpose of this line? What is it that is being declared
    2 - in some code I have seen this line with OCCURS 0 at the end what does this mean with and without the term?
    4 - I am using the Data Element name is this correct or should I use the field name?
    3 - 5 here I declare an internal structure/table is that correct?
    6 - here I declare a work area based on the internal table is that correct?
    7 - What would happen if I avoided using the REFRESH statement?
    8 - 12 - Is this syntactically correct, I am trying to get a set of data which is the customer numbers which match the master data customers and the master data record is án active version and than appendíng to the work area?
    13 - My understanding is this will reduce the number of records in the work area is this correct and needed?
    14 - 22 I am trying to identify my required set of data but feel I am repeating myself, could someone advise?
    Finally what logic would I actually need to write in the key figure object, could I use something like:
    Result = lt_customer.
    Thanks
    Edited by: Niten Shah on Jun 30, 2008 8:06 PM

    1. This line is not required
    2. OCCURS 0 is the OLD way of defining an internal table with that structure.  As it is, it just defines a flat structure.
    3. Data element is usually best
    3-5 Yes
    6. No.  Here you are declaring a table of the type of the flat structure.  Just as the ABAP says!
    7. Nothing.  But by putting this in, you ensure that you know the state of the table (empty) before you start looping through the data package
    8-12. You can tell if it is syntactically correct by pressing Ctrl-F2 when in the editor.  Looks ok.
    13. Ensures your list of customers contains no duplicated.  The code up to this point is building a list of all the unique customers in the data package.
    14-22. Goes to the database and brings back ONLY those customers which are found in the master data.  Looks ok.
    This is a start routine (that's why you've got a data package).  You don't use result.  You should update the datapackage.  But this you haven't done.  Double click on the table name /BIC/PCUSTOMER to get the correct field names.
    So you have to loop through the data package again, and check if the customer in the datapackage is lt_customer.  If it is, fine, otherwise you blank it and report an error, or set an error message or whatever.
    I wouldn't do it like this.  I'd do something like this:
    STATICS: st_customer TYPE HASHED TABLE OF TYPE /bi0/oicustomer
                                  WITH UNIQUE KEY TABLE_LINE.
    * st_customer retains its value between calls, so only populate if empty
    * In one run of the infopackage, this will mean you do only one read of
    * the master data, so very efficient.
    IF st_customer IS INITIAL.
      SELECT customer FROM /BI0/PCUSTOMER
                              INTO TABLE st_customer
                              WHERE objvers EQ 'A'. " Only active values
    ENDIF.
    * Go through data package
    LOOP AT DATA_PACKAGE.
    * Check whether the customer exists.
      READ TABLE st_customer TRANSPORTING NO FIELDS
                  WITH TABLE KEY table_line = DATA_PACKAGE-custid.
      CHECK sy-subrc IS NOT INITIAL.
    * If you get here, the customer isn't valid.  So I'm just setting it blank
      CLEAR DATA_PACKAGE-custid.
      MODIFY DATA_PACKAGE. " Updates the datapackage record
    ENDLOOP.
    Even this is not fully optimised, but it's not bad.
    I strongly suggest that you get yourself sent on the basic ABAP programming course if you're going to do a lot of this.  Otherwise, read the ABAP documentation in the help.sap.com, and, from the editor, get the cursor on each ABAP keyword and press F1 to read the ABAP help.
    matt

  • ?Difference: To create 2 Transfer Rules or 2 Update Rules

    Hi,
    I need to load 2 similar flat files to a single ODS. Only change is that, during the load, in the first file, File1, I want to set a field, FileType, as File1; and during the load of the second file, File2, I want to set FileType, as File2.
    One update rule which loads File1, already exists. I wanted to create the second update rule(for File2), but I encountered problems because I kept receiving a message that the update rule already exists for the ODS.
    I went to the InfoSource tree and under the infoSource for File1, I could see the transfer rule; at this point, I was able to create a second transfer rule where I was able to set the second constant while loading File2, as FileType as File2.
    What is the effect of creating 2 transfer rules for the InfoSource, as against creating 2 update rules for the ODS, which was I originally wanted to do?
    Thanks

    Hi Amanda,
        If both file formats are same, it better to populate File1 or File2 dynamically then a constant. Every time not supposed to create new transfer rules and data soruce for new flat file.
        Instead of constant, write a routine for File Type. Based on file name sinply pass File1 or File2 in routine. Or
        Use function module "BAPI_IPAK_GETDETAIL" to get infopackage details including file name. from flat file name also File type can be derived.
        In this way no need to maintain multiple transfer rules or update rules. Existing flow is enough.
    Hope it Helps
    Srini

  • BW 3.5 update rules for master data

    Hi all,
             I create a dummy report in that report lifnr is charactics and name its att. after  this i create a application component and assign data source and create infopkg   data coming in lifnr and name field properly <b>i assign data source using direct master data update</b> after this i create infocube and assign dim.
    but when i rgt click on infocube and display dataflow it shows only one level and when i open bex and open that it shows no application data found why this happened after creating infocube it is nessory that i creat update rule for this am i right plz send your openion.
    thx

    Hi Ankit,
                  Yoy have to load data to the cube.For that you need update rules.
    Steps to load data to the cube
    1.Replicate the datasource.
    2.Assign Infosource
    3.Create transfer rules
    4.Maintain the update rules to the cube.
    5.Right click on the datasource and schedule an infopackage for it.
    Execute the Infopackage and pull the data to the cube.
    Hope this helps
    Regards
    Karthik

Maybe you are looking for