Party-Relationships in Installed Base

Hi,
Can anybody highlight on purpose/uses/advantages of setting party relationships in Installed base.
What can be acheived by creating these relationships?
Regards,
Mohammed

hi,
You need to assign partner determination procedure to install base. First define partner determination procedure. Then assign it to your install base category. You can do the same in spro crm> master data> install base.
Now, after assigning pdp to install base category, when you will create install base and click on goto partner, you will get partner whose partner function you have used in partner determination procedure.
Best regards
Pankaj Kumar

Similar Messages

  • Relationship between Install base and functional location

    Hi ,
    I have been trying to establish way to find realtionship between Install base ( in PM module ) and fucntional locations. I have tried everything from Debugging to SQL trace to find out this realtionship but it does not surface. I am talking about the details that one gets in transaction IB52 under Functional Location and equpiment colum.There are function modules which look promising to read IBIN and IBIB tables but they always ask for HANDLE. I have not understood what this HANDLE is and how to use it. IS THERE  WAY TO USE THIS FUNCTION MODULES TO READ IBASE AND ITS ASSOCIATED LINKS ?

    Hi,
    I don't think we can link a functional location to a sales order in standard sap.
    Prase

  • Oracle Install Base -Unable to find Expire relationship button

    Hi Experts,
    I am not able to find "Expire Relationship" button under Configuration Tab while trying to expire parent and child relationship in oracle install base for an intem instance.But for some item instance I am able to find the "Expire Relationship" button under Configuration Tab.
    Can any one please let me know why the "Expire Relationship" button is available for some item and not available for some item instances.
    Thank you.
    Ravi S

    Duplicate post.
    Oracle Install Base -Unable to find Expire relationship button
    Unable to find Expire relationship button

  • Major/Minor Line Relationships in Oracle Service Contracts&Install Base.

    Hi,
    We have come across a scenario where, based on some business validations, Coverage of a Major Line needs to be TERMINATED.
    So, In that case if the Major Line has child lines(Minor) within, then do we need to 'EXPIRE' the 'COMPONENT-OFF' relationship between the Major and its Minor's, which helps in synchronising the data in Service Contracts and the Install Base for that Major Line.
    Any inputs would be of great help.
    Thanks,
    -Santosh.

    yes, please define major and minor terms here. are you referring to model (major) and component (minor) relationship?
    Also if you just remove component-of relationship, you will end up with orphans. is that ok from business perspective?
    ~Amol

  • Install Base - Unable to find "Expire Relationship" button

    Hi Experts,
    I am not able to find "Expire Relationship" button under Configuration Tab while trying to expire parent and child relationship in oracle install base for an intem instance.But for some item instance I am able to find the "Expire Relationship" button under Configuration Tab.
    Can any one please let me know why the "Expire Relationship" button is available for some item and not available for some item instances.
    Thank you.
    Ravi S

    Duplicate post.
    Oracle Install Base -Unable to find Expire relationship button
    Unable to find Expire relationship button

  • Adding a "In Relationship" install base instance to a Repair Order

    Hi,
    When we try to add an install base instance to a Repair Order in Depot Repair, I'm not able to add a line for a unit that has an usage of "In Relationship". I checked the SQL and Depot Repair is not able to add such units.
    We're able to return a unit that has an usage of "In Relationship" from Order Management as well as Service Request. Is there a way this can be done in Depot Repair.
    Any help is very much appreciated.
    Thanks,
    Madan

    I'm not sure the need is as obvious as you suspect.
    The first problem I come to is "which user?". If the Service Request has 10 activities steps, from 10 different users, which of them is the Service Request Completed user? The only way this would be informative would be the rare service requests that have
    no processes and must be handled manually, in which case the real fix is to create processes for these service requests so they don't need to be handled manually.
    As to setting this: there's two big options:
    the way this is set for Incidents is by the form controls. If you were to replicate that behavior, you'll probably want to add a custom control to the form that sets the completed user to the current console if the status has changed to completed during
    that session, which is a lot of real SDK development work.
    Alternatively, you could use a workflow that triggered on the status being changed from anything else to completed, and set this value based on the last user to edit this SR. I'd recommend doing this with a
    custom workflow in PowerShell, but you could use Orchestrator, C# workflows, patrol scripts, etc.

  • CRM 2007 - Installed Base - Sold to Party per Product

    Hi Gurus
    I'm working through Best Practice guide C13 Service Master Data.
    For the Installed Base I'm using, for each product I have on the system I must assign each Business Partner (Sold-to Party) to that product.
    For me this is a Maintenance nightmare, if I have 100 Products and 100 Customers I have 10,000 entries to make.
    Is there a simpler way of completing this?
    We are running a Standalone CRM System
    Many Thanks
    Panduranga

    Did you create IBase for the system from where you create message?
    If so, Did you mention Sold-to Party for that system IBase?
    If not, First create IBase for the system, then assign Sold-to Party for the system IBase.
    To do this use DSWP, Select the solution of the system and choose option "Initial Transfer to IBase" from menu.
    So that solman system will automatically generate IBase for that satellite system. No need to create IBase for the satellite system explicitly by using IB52.
    Once "Initial Transfer to IBase" is done, then go to IB52 and select the IBase of that system as well as client and assign the Sold-to Party by using menu "Go To"->"Partners". It important to assign the Sold-to Party for the working client. i.e. from which client of the satellite system the messages are created.
    Hope this solves your problem.
    If not, Go to SPRO and check the partner determination rule for Sold-to Party. It should be from IBase.
    ^Sanjai

  • Oracle Install Base relationship to Serial Numbers

    OK, so the table CSI_TRANSACTIONS is a listing of transactions within Install Base, right?
    I need to associate a serial number with each. How is this table connected to MTL_SERIAL_NUMBERS?
    If I have an install base transaction_id...how do I get the serial number?
    Any help would be appreciated!

    select a.serial_number from mtl_unit_transactions a,mtl_material_transactions b, csi_transactions c
    where a.transaction_id=b.transaction_id
    and b.transaction_id=c.inv_material_transaction_id
    UNION
    select a.serial_number from mtl_unit_transactions a,mtl_material_transactions b, csi_transactions c,mtl_transaction_lot_numbers d
    where a.transaction_id=d.serial_transaction_id
    and b.transaction_id=d.transaction_id
    and b.transaction_id=c.inv_material_transaction_id;
    Thanks
    Nagamohan

  • Install Base Table relationship

    Hi Expert,
    Could you plz explain me how to relate Install Base tables so that I can able to show data like the component structure and then their corresponding order, contract etc
    thanks

    not answered

  • Error while creating contact through API in Install Base

    Hello
    I am trying to create contacts when creating a install base through API...
    I tried below code as per metalink note# 215456.1 and giving the below error. I checked setup andI have 'Ship To' exists in Instnace Party Account Relationsship setup in the aplication and also I have a party Id 1232890 exist in hz_parties table with party type as 'Person' and I passed contact_ip_id as instance_party_id from CSI_I_PARTIES table for the instance to be update...
    Also, can anybody help me how to purge the error messages before calling the API, suppose if i have 2 records and all two records will error then my second record error getting contatenated with my first error and message count also getting increased(see error message below as message count coming as 2 even though there is only one error)
    SET SERVEROUTPUT ON SIZE 1000000
    DECLARE
    p_instance_rec CSI_DATASTRUCTURES_PUB.INSTANCE_REC;
    p_ext_attrib_values_tbl
    CSI_DATASTRUCTURES_PUB.EXTEND_ATTRIB_VALUES_TBL;
    p_party_tbl CSI_DATASTRUCTURES_PUB.PARTY_TBL;
    p_account_tbl CSI_DATASTRUCTURES_PUB.PARTY_ACCOUNT_TBL;
    p_pricing_attrib_tbl CSI_DATASTRUCTURES_PUB.PRICING_ATTRIBS_TBL;
    p_org_assignments_tbl CSI_DATASTRUCTURES_PUB.ORGANIZATION_UNITS_TBL;
    p_asset_assignment_tbl CSI_DATASTRUCTURES_PUB.INSTANCE_ASSET_TBL;
    p_txn_rec CSI_DATASTRUCTURES_PUB.TRANSACTION_REC;
    x_instance_id_lst CSI_DATASTRUCTURES_PUB.ID_TBL;
    x_return_status VARCHAR2(2000);
    x_msg_count NUMBER;
    x_msg_data VARCHAR2(2000);
    x_msg_index_out NUMBER;
    t_output VARCHAR2(2000);
    t_msg_dummy NUMBER;
    BEGIN
    p_party_tbl(1).instance_party_id := null;
    p_party_tbl(1).instance_id := 1216497;
    p_party_tbl(1).party_source_table := 'HZ_PARTIES';
    p_party_tbl(1).party_id := 1232890;
    p_party_tbl(1).relationship_type_code := 'Ship To';
    p_party_tbl(1).contact_flag := 'Y';
    p_party_tbl(1).contact_ip_id := 1699185;
    x_msg_count := 0;
    p_party_tbl(1).OBJECT_VERSION_NUMBER := 1;
    -- Now call the stored program
    csi_item_instance_pub.update_item_instance(
    1.0,
    'F',
    'F',
    1,
    p_instance_rec,
    p_ext_attrib_values_tbl,
    p_party_tbl,
    p_account_tbl,
    p_pricing_attrib_tbl,
    p_org_assignments_tbl,
    p_asset_assignment_tbl,
    p_txn_rec,
    x_instance_id_lst,
    x_return_status,
    x_msg_count,
    x_msg_data);
    -- Output the results
    if x_msg_count > 0
    then
    for j in 1 .. x_msg_count loop
    fnd_msg_pub.get
    ( j
    , FND_API.G_FALSE
    , x_msg_data
    , t_msg_dummy
    t_output := ( 'Msg'
    || To_Char
    ( j
    || ': '
    || x_msg_data
    dbms_output.put_line
    ( SubStr
    ( t_output
    , 1
    , 255
    end loop;
    end if;
    dbms_output.put_line('x_return_status = '||x_return_status);
    dbms_output.put_line('x_msg_count = '||TO_CHAR(x_msg_count));
    dbms_output.put_line('x_msg_data = '||x_msg_data);
    -- COMMIT;
    END;
    ERROR
    SQL> @p
    Msg1: The Party Relationship Type (Ship To) entered is either invalid or it does
    not exist in the Installed Base Lookups
    Msg2: The Party Relationship Type (Ship To) entered is either invalid or it does
    not exist in the Installed Base Lookups
    x_return_status = E
    x_msg_count = 2
    x_msg_data = The Party Relationship Type (Ship To) entered is either invalid or
    it does not exist in the Installed Base Lookups
    PL/SQL procedure successfully completed.

    Hi
    We are in 11.5.10.2 and I already checked notes which you sent before and setups are fine as the relationship type' Ship to' having 'contacts' enabled in the setup.
    I am also seeing a differernt issue as once I update existing item instnace with the status 'Return for Credit' through API, system is not allowing me to update the extended attributes through front end application manually and I am seeing a note at the end of the screen as 'Note: This item instance cannot be updated. ' and this is only happening when I update the item instance status to 'Returned for Credit' not when I create new item instances with status as 'Created'. Is this intended functionality to restrict update on extended attributes if I change the status of item instnace to 'Return for Credit' ?
    Thanks

  • Install base Open Interface

    Hello All,
    When I was trying to migrate a record into Install base using the interface tables with a party as owner for one instance, I am getting an error message saying "Invalid OWNER Party Account for Party ID <XXXX>". I have entered the party_id , and party_account_id(party_account1_id) in CSI_I_Party_Interface table.
    I am unable to find out why I am getting this error. Can any one please help me with this problem.
    Thank you all,
    Vijay

    Thanks Sandeep! This document is really helpfull!! Can we have the similiar type of document available for 11i becuase the user guide which I have for 11i does not have this information especially sample scripts.
    Thanks!

  • Oracle Install Base Interface Error

    Error: The source item instance 33604, in Subinventory 4131, for Organization 734 in Oracle Install Base does not exist. Please verify that any receipt transations were successful.
    I have checked values by running the following SQL:
    select Instance_ID, location_type_code, location_id, INV_ORGANIZATION_ID, INV_SUBINVENTORY_NAME, instance_status_id
    from csi_item_instances where Serial_Number = '08112025CWDIND'
    INV_ORGANIZATION_ID is 734
    INV_SUBINVENTORY_NAME is 4131
    But still the transaction is stuck with the above error.
    Please help to clear this error.

    Please see if the following docs help.
    Install Base Master Note: CSI_IB_PROJ_RECORD_NOTFOUND [ID 1302069.1]
    Install Base Master Note: CSI_IB_RECORD_NOTFOUND [ID 1302100.1]
    Datafix: How To Correct Errors Due to PO Corrections: "Serialized Item with Status other then In Inventory, Out of Service, Out of Enterprise or In Relationship already exists in Install Base." [ID 376762.1]
    Interorg Transaction Error: The source item instance in Oracle Install Base does not exist [ID 264794.1]
    Internal Sales Order Receipt CSIINTSR Transaction Error: "The source item instance XXX not exist" [ID 786127.1]
    Thanks,
    Hussein

  • Error while updating Instances in Install Base

    Hi Experts,
    I am using the "csi_item_instance_pub.update_item_instance" API to update the
    instance details. when i change the owner party and it's contacts(transfer ownership), I am getting following errors.
    1)Owner account for external parties is mandatory. Please provide a valid Account for the Owner Party - 1221238 for some instance.
    Eventhough i verified the correct party id and it's account id, it shows the same errror.
    2)For some cases, I am getting the error like "The Object Version Number passed does not match with the one existing in Installed Base tables" .
    Any suggestions for the above will be a great help for me .
    Thanks in advance,
    Ravi.
    Edited by: user11291639 on Oct 28, 2009 9:45 PM

    Thanks you,
    By this Note id:395136.1
    Iam unable to find this Set profile 'HZ: Generate Events for DQM Real-Time Synchronization' to No
    with this Note id:278422.1
    We are unable to find this proifle option : HZ: Data Sharing and Security Enabled profile
    we are using applications 11i.
    please help to find this Profile option.
    But with this note id:ID 395136.1
    This is Working.
    Query for HZ: DQM Synchronization Method profile. Set the value to Disable.
    But iam facing proble while uploding data to DFF ,Error--SQL exception occurred during PL/SQL upload.
    Thanks for the Support-
    Sowmya.
    Edited by: user13419037 on Aug 11, 2011 11:53 PM
    Edited by: user13419037 on Aug 12, 2011 12:03 AM
    Edited by: user13419037 on Aug 12, 2011 3:45 AM

  • Issue in updating Install Base Owner account

    Hi,
    I'm using csi_item_instance_pub.update_item_instance API to update ownership and installed at details in Install Base. When I run my script, I do not get any error, but the party account details do not get updated. The owner party gets updated successfully. Even the installation details and operating unit details get updated, but the owner party account and Bill-to and Ship-to do not get updated. I'm posting my code here for details. If anyone could let me know what am I doing wrong, I would really appreciate that.
    TIA,
    Alka.
    DECLARE
      ln_order_num NUMBER;
      lc_p_sno     VARCHAR2(30); -- Variable for printer serial no.
      CURSOR ib_cur IS
        SELECT cii.instance_id
              ,cii.serial_number
              ,cii.inventory_item_id
              ,cii.object_version_number
        FROM csi_item_instances cii
        WHERE cii.instance_id = &instance_id
        ORDER BY 1;
      TYPE ib_rec_tbl_type IS TABLE OF ib_cur%ROWTYPE;
      ib_rec_tbl ib_rec_tbl_type;
      -- Variables needed to call the Item Instance update API
      l_api_version CONSTANT NUMBER := 1.0;
      l_msg_count             NUMBER;
      l_msg_data              VARCHAR2(2000);
      l_msg_index             NUMBER;
      l_instance_id_lst       csi_datastructures_pub.id_tbl;
      l_instance_header_rec   csi_datastructures_pub.instance_header_rec;
      l_party_header_tbl      csi_datastructures_pub.party_header_tbl;
      l_party_acct_header_tbl csi_datastructures_pub.party_account_header_tbl;
      l_org_unit_header_tbl   csi_datastructures_pub.org_units_header_tbl;
      l_instance_rec          csi_datastructures_pub.instance_rec;
      l_party_tbl             csi_datastructures_pub.party_tbl;
      l_account_tbl           csi_datastructures_pub.party_account_tbl;
      l_pricing_attrib_tbl    csi_datastructures_pub.pricing_attribs_tbl;
      l_org_assignments_tbl   csi_datastructures_pub.organization_units_tbl;
      l_asset_assignment_tbl  csi_datastructures_pub.instance_asset_tbl;
      l_ext_attrib_values_tbl csi_datastructures_pub.extend_attrib_values_tbl;
      l_pricing_attribs_tbl   csi_datastructures_pub.pricing_attribs_tbl;
      l_ext_attrib_tbl        csi_datastructures_pub.extend_attrib_values_tbl;
      l_ext_attrib_def_tbl    csi_datastructures_pub.extend_attrib_tbl;
      l_asset_header_tbl      csi_datastructures_pub.instance_asset_header_tbl;
      l_txn_rec               csi_datastructures_pub.transaction_rec;
      l_install_location_id   NUMBER;
      l_return_status         VARCHAR2(5);
      lc_init_msg_lst         VARCHAR2(1) := 'T';
      ln_validation_level     NUMBER;
      lc_error_text           VARCHAR2(4000);
      l_install_location_type_code csi_item_instances.install_location_type_code%TYPE;
      j BINARY_INTEGER := 0;
      l_party_tbl_idx BINARY_INTEGER;
    BEGIN
      --Create a savepoint
      --  SAVEPOINT dcrd_csi_upd_ib_snm;
      OPEN ib_cur;
      FETCH ib_cur BULK COLLECT
        INTO ib_rec_tbl;
      CLOSE ib_cur;
      IF ib_rec_tbl.COUNT > 0
      THEN
        --fnd_file.put_line(fnd_file.log, 'Begin loop');
        dbms_output.put_line('Begin loop');
        FOR i IN ib_rec_tbl.FIRST .. ib_rec_tbl.LAST
        LOOP
          --Set savepoint before processing record.
          --SAVEPOINT dcrd_csi_upd_ib_snm;
          l_instance_header_rec.instance_id := ib_rec_tbl(i).instance_id;
          csi_item_instance_pub.get_item_instance_details(p_api_version => l_api_version
                                                        ,p_commit => fnd_api.g_false
                                                        ,p_init_msg_list => fnd_api.g_false
                                                        ,p_validation_level => fnd_api.g_valid_level_full
                                                        ,p_instance_rec => l_instance_header_rec
                                                        ,p_get_parties => fnd_api.g_true
                                                        ,p_party_header_tbl => l_party_header_tbl
                                                        ,p_get_accounts => fnd_api.g_true
                                                        ,p_account_header_tbl => l_party_acct_header_tbl
                                                        ,p_get_org_assignments => fnd_api.g_true
                                                        ,p_org_header_tbl => l_org_unit_header_tbl
                                                        ,p_get_pricing_attribs => fnd_api.g_false
                                                        ,p_pricing_attrib_tbl =>l_pricing_attribs_tbl
                                                        ,p_get_ext_attribs => fnd_api.g_false
                                                        ,p_ext_attrib_tbl => l_ext_attrib_tbl
                                                        ,p_ext_attrib_def_tbl => l_ext_attrib_def_tbl
                                                        ,p_get_asset_assignments => fnd_api.g_false
                                                        ,p_asset_header_tbl => l_asset_header_tbl
                                                        ,p_resolve_id_columns => fnd_api.g_false
                                                        ,p_time_stamp => SYSDATE
                                                        ,x_return_status => l_return_status
                                                        ,x_msg_count => l_msg_count
                                                        ,x_msg_data => l_msg_data
          lc_error_text := NULL;
          l_instance_rec.instance_id := l_instance_header_rec.instance_id;
          l_instance_rec.install_date := '12-MAR-2008';
          l_instance_rec.install_location_type_code := 'HZ_PARTY_SITES';
          l_instance_rec.install_location_id := 97918;
          l_instance_rec.location_id := 97918;
          l_instance_rec.location_type_code := 'HZ_PARTY_SITES';
          l_instance_rec.object_version_number := l_instance_header_rec.object_version_number;
          l_txn_rec.transaction_id          := fnd_api.g_miss_num;
          l_txn_rec.transaction_date        := SYSDATE;
          l_txn_rec.source_transaction_date := SYSDATE;
          l_txn_rec.transaction_type_id     := 8; --Id for DATA_CORRECTION transaction type
          --Change Owner party details
          FOR i IN l_party_header_tbl.FIRST..l_party_header_tbl.LAST
          LOOP
            IF l_party_header_tbl(i).relationship_type_code = 'OWNER'
            THEN
              l_party_tbl(j).instance_party_id := l_party_header_tbl(i).instance_party_id;
              l_party_tbl(j).relationship_type_code := l_party_header_tbl(i).relationship_type_code;
              l_party_tbl(j).party_id := 210617;
              l_party_tbl(j).contact_flag := 'N';
              l_party_tbl(j).object_version_number := l_party_header_tbl(i).object_version_number;
              l_party_tbl_idx := j;
              j := j + 1;
            END IF;
          END LOOP;
          dbms_output.put_line('l_party_tbl count is '||l_party_tbl.COUNT);
          j := 0;
          dbms_output.put_line('l_party_acct_header_tbl count is '||l_party_acct_header_tbl.COUNT);
          --Change Owner party account details
          FOR i IN l_party_acct_header_tbl.FIRST..l_party_acct_header_tbl.LAST
          LOOP
            IF l_party_acct_header_tbl(i).relationship_type_code = 'OWNER'
            THEN
              l_account_tbl(j).ip_account_id := l_party_acct_header_tbl(i).ip_account_id;
              l_account_tbl(j).instance_party_id := l_party_acct_header_tbl(i).instance_party_id;
              l_account_tbl(j).party_account_id := 61217;
              l_account_tbl(j).object_version_number := l_party_acct_header_tbl(i).object_version_number;
              l_account_tbl(j).bill_to_address := 77370;
              l_account_tbl(j).ship_to_address := 77648;
              l_account_tbl(j).parent_tbl_index := l_party_tbl_idx;
              j := j + 1;
            END IF;
          END LOOP;
          dbms_output.put_line('l_account_tbl count is '||l_account_tbl.COUNT);
          j := 0;
          --Change Operating Unit details
          FOR i IN l_org_unit_header_tbl.FIRST..l_org_unit_header_tbl.LAST
          LOOP
            IF l_org_unit_header_tbl(i).relationship_type_code = 'SOLD_FROM'
            THEN
              l_org_assignments_tbl(j).instance_ou_id := l_org_unit_header_tbl(i).instance_ou_id;
              l_org_assignments_tbl(j).instance_id := l_org_unit_header_tbl(i).instance_id;
              l_org_assignments_tbl(j).relationship_type_code := l_org_unit_header_tbl(i).relationship_type_code;
              l_org_assignments_tbl(j).active_start_date := '12-MAR-2008';
              l_org_assignments_tbl(j).operating_unit_id := 86;
              l_org_assignments_tbl(j).object_version_number := l_org_unit_header_tbl(i).object_version_number;
            END IF;
          END LOOP;
          -- Call instance update API if a serial no. is to be updated
          /*fnd_file.put_line(fnd_file.log
          ,'Updating IB record for IB# ' || ib_rec_tbl(i).instance_id);*/
          dbms_output.put_line('Updating IB record for IB# ' || ib_rec_tbl(i).instance_id);
            csi_item_instance_pub.update_item_instance(p_api_version           => l_api_version
                                                      ,p_commit                => 'F' --Handled outside API
                                                      ,p_init_msg_list         => lc_init_msg_lst
                                                      ,p_validation_level      => ln_validation_level
                                                      ,p_instance_rec          => l_instance_rec
                                                      ,p_ext_attrib_values_tbl => l_ext_attrib_values_tbl --Null
                                                      ,p_party_tbl             => l_party_tbl --Null
                                                      ,p_account_tbl           => l_account_tbl --Null
                                                      ,p_pricing_attrib_tbl    => l_pricing_attrib_tbl --Null
                                                      ,p_org_assignments_tbl   => l_org_assignments_tbl --Null
                                                      ,p_asset_assignment_tbl  => l_asset_assignment_tbl --Null
                                                      ,p_txn_rec               => l_txn_rec
                                                      ,x_instance_id_lst       => l_instance_id_lst
                                                      ,x_return_status         => l_return_status
                                                      ,x_msg_count             => l_msg_count
                                                      ,x_msg_data              => l_msg_data);
            IF l_return_status <> 'S'
            THEN
              /*fnd_file.put_line(fnd_file.log
              , 'Error updating the install base for IB# ' || ib_rec_tbl(i)
               .instance_id);*/
              dbms_output.put_line('Error updating the install base for IB# ' || ib_rec_tbl(i)
                                   .instance_id);
              FOR i IN 1 .. l_msg_count
              LOOP
                fnd_msg_pub.get(p_msg_index     => -1
                               ,p_encoded       => 'F'
                               ,p_data          => l_msg_data
                               ,p_msg_index_out => l_msg_index);
                lc_error_text := lc_error_text || (substr(l_msg_data, 1, 255));
              END LOOP;
              dbms_output.put_line(lc_error_text);
              --Rollback the transaction if error occured.
              --ROLLBACK TO dcrd_csi_upd_ib_snm;
            ELSE
              /*fnd_file.put_line(fnd_file.log
              , 'Install base update successful for IB# ' || ib_rec_tbl(i)
               .instance_id);*/
              dbms_output.put_line('Install base update successful for IB# ' || ib_rec_tbl(i)
                                   .instance_id);
              lc_error_text := 'SUCCESS!';
            END IF;
            --Update the temporary table record status
            --update_status(ib_rec_tbl(i).snm_id, l_return_status, lc_error_text);
        END LOOP;
        --Commit transactions.
        --COMMIT;
      END IF;
    EXCEPTION
      WHEN no_data_found THEN
        --fnd_file.put_line(fnd_file.log, 'No records to process');
        dbms_output.put_line('No records to process');
      WHEN OTHERS THEN
        /*    fnd_file.put_line(fnd_file.log, 'Error in update_ib procedure');
            fnd_file.put_line(fnd_file.log, to_char(SQLCODE) || ' - ' || SQLERRM);
        dbms_output.put_line('Error in update_ib procedure');
        dbms_output.put_line(to_char(SQLCODE) || ' - ' || SQLERRM);
    END;

    I will try the mass edit. Here is my code.
    Thanks,
    Alka.
    DECLARE
      ln_order_num NUMBER;
      lc_p_sno     VARCHAR2(30); -- Variable for printer serial no.
      CURSOR ib_cur IS
        SELECT cii.instance_id
              ,cii.serial_number
              ,cii.inventory_item_id
              ,cii.object_version_number
        FROM csi_item_instances cii
        WHERE cii.instance_id = &instance_id
        ORDER BY 1;
      TYPE ib_rec_tbl_type IS TABLE OF ib_cur%ROWTYPE;
      ib_rec_tbl ib_rec_tbl_type;
      -- Variables needed to call the Item Instance update API
      l_api_version CONSTANT NUMBER := 1.0;
      l_msg_count             NUMBER;
      l_msg_data              VARCHAR2(2000);
      l_msg_index             NUMBER;
      l_instance_id_lst       csi_datastructures_pub.id_tbl;
      l_instance_header_rec   csi_datastructures_pub.instance_header_rec;
      l_party_header_tbl      csi_datastructures_pub.party_header_tbl;
      l_party_acct_header_tbl csi_datastructures_pub.party_account_header_tbl;
      l_org_unit_header_tbl   csi_datastructures_pub.org_units_header_tbl;
      l_instance_rec          csi_datastructures_pub.instance_rec;
      l_party_tbl             csi_datastructures_pub.party_tbl;
      l_account_tbl           csi_datastructures_pub.party_account_tbl;
      l_pricing_attrib_tbl    csi_datastructures_pub.pricing_attribs_tbl;
      l_org_assignments_tbl   csi_datastructures_pub.organization_units_tbl;
      l_asset_assignment_tbl  csi_datastructures_pub.instance_asset_tbl;
      l_ext_attrib_values_tbl csi_datastructures_pub.extend_attrib_values_tbl;
      l_pricing_attribs_tbl   csi_datastructures_pub.pricing_attribs_tbl;
      l_ext_attrib_tbl        csi_datastructures_pub.extend_attrib_values_tbl;
      l_ext_attrib_def_tbl    csi_datastructures_pub.extend_attrib_tbl;
      l_asset_header_tbl      csi_datastructures_pub.instance_asset_header_tbl;
      l_txn_rec               csi_datastructures_pub.transaction_rec;
      l_install_location_id   NUMBER;
      l_return_status         VARCHAR2(5);
      lc_init_msg_lst         VARCHAR2(1) := 'T';
      ln_validation_level     NUMBER;
      lc_error_text           VARCHAR2(4000);
      l_install_location_type_code csi_item_instances.install_location_type_code%TYPE;
      j BINARY_INTEGER := 0;
      l_party_tbl_idx BINARY_INTEGER := 0;
      l_ce_exists BOOLEAN := FALSE;
      ln_contact_ip_id NUMBER;     --contact_ip_id for preferred CE record in csi_i_parties table.
    BEGIN
      --Create a savepoint
      --  SAVEPOINT dcrd_csi_upd_ib_snm;
      OPEN ib_cur;
      FETCH ib_cur BULK COLLECT
        INTO ib_rec_tbl;
      CLOSE ib_cur;
      IF ib_rec_tbl.COUNT > 0
      THEN
        --fnd_file.put_line(fnd_file.log, 'Begin loop');
        dbms_output.put_line('Begin loop');
        FOR ib IN ib_rec_tbl.FIRST .. ib_rec_tbl.LAST
        LOOP
          --Set savepoint before processing record.
          --SAVEPOINT dcrd_csi_upd_ib_snm;
          l_instance_header_rec.instance_id := ib_rec_tbl(ib).instance_id;
          csi_item_instance_pub.get_item_instance_details(p_api_version => l_api_version
                                                        ,p_commit => fnd_api.g_false
                                                        ,p_init_msg_list => fnd_api.g_false
                                                        ,p_validation_level => fnd_api.g_valid_level_full
                                                        ,p_instance_rec => l_instance_header_rec
                                                        ,p_get_parties => fnd_api.g_true
                                                        ,p_party_header_tbl => l_party_header_tbl
                                                        ,p_get_accounts => fnd_api.g_true
                                                        ,p_account_header_tbl => l_party_acct_header_tbl
                                                        ,p_get_org_assignments => fnd_api.g_true
                                                        ,p_org_header_tbl => l_org_unit_header_tbl
                                                        ,p_get_pricing_attribs => fnd_api.g_false
                                                        ,p_pricing_attrib_tbl =>l_pricing_attribs_tbl
                                                        ,p_get_ext_attribs => fnd_api.g_false
                                                        ,p_ext_attrib_tbl => l_ext_attrib_tbl
                                                        ,p_ext_attrib_def_tbl => l_ext_attrib_def_tbl
                                                        ,p_get_asset_assignments => fnd_api.g_false
                                                        ,p_asset_header_tbl => l_asset_header_tbl
                                                        ,p_resolve_id_columns => fnd_api.g_false
                                                        ,p_time_stamp => SYSDATE
                                                        ,x_return_status => l_return_status
                                                        ,x_msg_count => l_msg_count
                                                        ,x_msg_data => l_msg_data
          lc_error_text := NULL;
          l_instance_rec.instance_id := l_instance_header_rec.instance_id;
          l_instance_rec.install_date := '12-MAR-2008';
          l_instance_rec.install_location_type_code := 'HZ_PARTY_SITES';
          l_instance_rec.install_location_id := 97918;
          l_instance_rec.location_id := 97918;
          l_instance_rec.location_type_code := 'HZ_PARTY_SITES';
          l_instance_rec.object_version_number := l_instance_header_rec.object_version_number;
          l_txn_rec.transaction_id          := fnd_api.g_miss_num;
          l_txn_rec.transaction_date        := SYSDATE;
          l_txn_rec.source_transaction_date := SYSDATE;
          l_txn_rec.transaction_type_id     := 8; --Id for DATA_CORRECTION transaction type
          --Change Owner party details
          j := 0;
          FOR i IN l_party_header_tbl.FIRST..l_party_header_tbl.LAST
          LOOP
            IF l_party_header_tbl(i).relationship_type_code = 'OWNER'
            THEN
              l_party_tbl(j).instance_party_id := l_party_header_tbl(i).instance_party_id;
              l_party_tbl(j).instance_id := l_party_header_tbl(i).instance_id;
              l_party_tbl(j).relationship_type_code := l_party_header_tbl(i).relationship_type_code;
              l_party_tbl(j).party_source_table := l_party_header_tbl(i).party_source_table;
              l_party_tbl(j).party_id := 210617;
              l_party_tbl(j).contact_flag := 'N';
              l_party_tbl(j).preferred_flag := NULL;
              l_party_tbl(j).primary_flag := NULL;
              l_party_tbl(j).contact_flag := 'N';
              l_party_tbl(j).object_version_number := l_party_header_tbl(i).object_version_number;
              l_party_tbl_idx := j;
              dbms_output.put_line('index is '||j);
              ln_contact_ip_id := l_party_header_tbl(i).instance_party_id;
              j := j + 1;
            ELSIF l_party_header_tbl(i).relationship_type_code = 'CUSTOMER ENGINEER'
            THEN
              l_ce_exists := TRUE;
              l_party_tbl(j).instance_party_id := l_party_header_tbl(i).instance_party_id;
              l_party_tbl(j).instance_id := l_party_header_tbl(i).instance_id;
              l_party_tbl(j).relationship_type_code := l_party_header_tbl(i).relationship_type_code;
              l_party_tbl(j).party_source_table := 'EMPLOYEE';
              l_party_tbl(j).party_id := 9115;
              l_party_tbl(j).contact_flag := 'N';
              l_party_tbl(j).preferred_flag := 'Y';
              l_party_tbl(j).primary_flag := 'Y';
              l_party_tbl(j).contact_flag := 'Y';
              l_party_tbl(j).contact_ip_id := ln_contact_ip_id;
              l_party_tbl(j).object_version_number := l_party_header_tbl(i).object_version_number;
              l_party_tbl(j).contact_parent_tbl_index := l_party_tbl_idx;
            END IF;
          END LOOP;
          dbms_output.put_line('l_party_tbl count is '||l_party_tbl.COUNT);
          IF NOT l_ce_exists
          THEN
            FOR i IN l_party_header_tbl.FIRST..l_party_header_tbl.LAST
            LOOP
              IF l_party_header_tbl(i).relationship_type_code = 'OWNER'
              THEN
              l_party_tbl(j).instance_party_id := fnd_api.G_MISS_NUM;
              l_party_tbl(j).instance_id := l_party_header_tbl(i).instance_id;
              l_party_tbl(j).party_source_table := 'EMPLOYEE';
              l_party_tbl(j).relationship_type_code := 'CUSTOMER ENGINEER';
              l_party_tbl(j).party_id := 9115;
              l_party_tbl(j).contact_flag := 'N';
              l_party_tbl(j).preferred_flag := 'Y';
              l_party_tbl(j).primary_flag := 'Y';
              l_party_tbl(j).contact_flag := 'Y';
              l_party_tbl(j).contact_ip_id := ln_contact_ip_id;
              l_party_tbl(j).object_version_number := l_party_header_tbl(i).object_version_number;
              l_party_tbl(j).contact_parent_tbl_index := l_party_tbl_idx;
              END IF;
            END LOOP;
          END IF;
          j := 0;
          dbms_output.put_line('l_party_acct_header_tbl count is '||l_party_acct_header_tbl.COUNT);
          --Change Owner party account details
          FOR i IN l_party_acct_header_tbl.FIRST..l_party_acct_header_tbl.LAST
          LOOP
            IF l_party_acct_header_tbl(i).relationship_type_code = 'OWNER'
            THEN
              dbms_output.put_line('Adding account details for ip_account_id '||l_party_acct_header_tbl(i).ip_account_id);
              l_account_tbl(j).ip_account_id := l_party_acct_header_tbl(i).ip_account_id;
              l_account_tbl(j).instance_party_id := l_party_acct_header_tbl(i).instance_party_id;
              l_account_tbl(j).party_account_id := 61217;
              l_account_tbl(j).object_version_number := l_party_acct_header_tbl(i).object_version_number;
              l_account_tbl(j).bill_to_address := 77370;
              l_account_tbl(j).ship_to_address := 77648;
              l_account_tbl(j).parent_tbl_index := 1;--l_party_tbl_idx;
              j := j + 1;
            END IF;
          END LOOP;
          dbms_output.put_line('l_account_tbl count is '||l_account_tbl.COUNT);
          j := 0;
          --Change Operating Unit details
          FOR i IN l_org_unit_header_tbl.FIRST..l_org_unit_header_tbl.LAST
          LOOP
            IF l_org_unit_header_tbl(i).relationship_type_code = 'SOLD_FROM'
            THEN
              l_org_assignments_tbl(j).instance_ou_id := l_org_unit_header_tbl(i).instance_ou_id;
              l_org_assignments_tbl(j).instance_id := l_org_unit_header_tbl(i).instance_id;
              l_org_assignments_tbl(j).relationship_type_code := l_org_unit_header_tbl(i).relationship_type_code;
              l_org_assignments_tbl(j).active_start_date := '12-MAR-2008';
              l_org_assignments_tbl(j).operating_unit_id := 86;
              l_org_assignments_tbl(j).object_version_number := l_org_unit_header_tbl(i).object_version_number;
            END IF;
          END LOOP;
          -- Call instance update API if a serial no. is to be updated
          /*fnd_file.put_line(fnd_file.log
          ,'Updating IB record for IB# ' || ib_rec_tbl(ib).instance_id);*/
          dbms_output.put_line('Updating IB record for IB# ' || ib_rec_tbl(ib).instance_id);
            csi_item_instance_pub.update_item_instance(p_api_version           => l_api_version
                                                      ,p_commit                => 'F' --Handled outside API
                                                      ,p_init_msg_list         => lc_init_msg_lst
                                                      ,p_validation_level      => ln_validation_level
                                                      ,p_instance_rec          => l_instance_rec
                                                      ,p_ext_attrib_values_tbl => l_ext_attrib_values_tbl --Null
                                                      ,p_party_tbl             => l_party_tbl --Null
                                                      ,p_account_tbl           => l_account_tbl --Null
                                                      ,p_pricing_attrib_tbl    => l_pricing_attrib_tbl --Null
                                                      ,p_org_assignments_tbl   => l_org_assignments_tbl --Null
                                                      ,p_asset_assignment_tbl  => l_asset_assignment_tbl --Null
                                                      ,p_txn_rec               => l_txn_rec
                                                      ,x_instance_id_lst       => l_instance_id_lst
                                                      ,x_return_status         => l_return_status
                                                      ,x_msg_count             => l_msg_count
                                                      ,x_msg_data              => l_msg_data);
            IF l_return_status <> 'S'
            THEN
              /*fnd_file.put_line(fnd_file.log
              , 'Error updating the install base for IB# ' || ib_rec_tbl(ib)
               .instance_id);*/
              dbms_output.put_line('Error updating the install base for IB# ' || ib_rec_tbl(ib)
                                   .instance_id);
              FOR i IN 1 .. l_msg_count
              LOOP
                fnd_msg_pub.get(p_msg_index     => -1
                               ,p_encoded       => 'F'
                               ,p_data          => l_msg_data
                               ,p_msg_index_out => l_msg_index);
                lc_error_text := lc_error_text || (substr(l_msg_data, 1, 255));
              END LOOP;
              dbms_output.put_line(lc_error_text);
              --Rollback the transaction if error occured.
              --ROLLBACK TO dcrd_csi_upd_ib_snm;
            ELSE
              /*fnd_file.put_line(fnd_file.log
              , 'Install base update successful for IB# ' || ib_rec_tbl(ib)
               .instance_id);*/
              dbms_output.put_line('Install base update successful for IB# ' || ib_rec_tbl(ib)
                                   .instance_id);
              lc_error_text := 'SUCCESS!';
            END IF;
            --Update the temporary table record status
            --update_status(ib_rec_tbl(i).snm_id, l_return_status, lc_error_text);
        END LOOP;
        --Commit transactions.
        --COMMIT;
      END IF;
    EXCEPTION
      WHEN no_data_found THEN
        --fnd_file.put_line(fnd_file.log, 'No records to process');
        dbms_output.put_line('No records to process');
      WHEN OTHERS THEN
        /*    fnd_file.put_line(fnd_file.log, 'Error in update_ib procedure');
            fnd_file.put_line(fnd_file.log, to_char(SQLCODE) || ' - ' || SQLERRM);
        dbms_output.put_line('Error in update_ib procedure');
        dbms_output.put_line(to_char(SQLCODE) || ' - ' || SQLERRM);
    END;

  • Oracle Install Base - Where to find Queries related to parties and Loaction

    Hi All,
    Did anybody looked in Installed Base module, from where the party and location addresses are coming.
    for example, when we select a party name and select GO button in the create item instance page , we will get some list of parties to select. From there we will select one party name.
    I want in which jsp or java file the Query is located to retrieve all the parties here.
    If anybody worked on this previously please help me.
    Thanks in advance,
    Murali.

    Try putting 'CSI_DEBUG=TRUE&' in the url....right after '.jsp?'
    HTH

Maybe you are looking for