Installed Base interface

I am working on Installed Base interface. My client is having data in Excel sheet. I need to interface these data into Oracle Service tables. Any one worked in Installed base interface. How it works?
Thanks,
Diana

Guru Shinde where are you? I need some help.
Please give me your email address. I will contact you if i do not get help shortly.
thanks,

Similar Messages

  • 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

  • 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!

  • Need to know How Install Base Items gets Interfaced when an Item is Shipped

    Hi,
    I am creating a sales order with Install Base item. When we book and Ship the Order the Item comes to Install base with the Serial Number.
    Please let me know if there is any workflow or the process which is doing this.
    There is some Standard Process or link between Shiiping and Install base. Please explain this. I have checked the Order Header and line workflow for the Item type and i could'nt find any function which is doing this.
    Thanks and Regards,
    Ragni Gupta

    Thanks a lot for the Info as i was Searching the Line workflow for Install Base Functions. :)
    I am New to Install Base.. I got to know that We are Using SFM to push the Details to Install base
    What are these Xnp_Msgs tables.. Please give more Info On these
    I did some R&D and found Below Tables for Install Base
    csi_t_transaction_lines
    CSI_ITEM_INSTANCES
    csi_t_txn_line_details
    Is there any Other Important Base tables or Interfaces for Install Base. Thanks a lot for your help..
    Please suggest any Documents which will explain these Integration between the Modules so that i can understand the data flow
    Thanks and Regards,
    Ragni Gupta
    Edited by: Ragni^^1234 on May 10, 2013 8:23 AM

  • Oracle Install Base API question

    Hi...I need help. I am writing an extension to the Service Fulfillment Manager (SFM) Transactions
    Here is a functional background:
    For all SFM message types, SFM exposes the PL/SQL code in the iMessage studio. iMessage studio is an Oracle EBS Application tool. The PL/SQL for the following message types will be modified:
    ·     Sales Order Shipment - CSISOSHP
    ·     Miscellaneous Receipt - CSIMSRCV
    ·     Receipt into Inventory – CSIPOINV
    The processing logic for each of these transaction types contains a call to an Installed Base package and stores the return status in a variable. For PO Receipt and SO Issue transactions referencing serial numbers prefixed by the Vertical Bar (‘|’) character this call will be bypassed and a successful status placed in the return status variable.
    For PO Receipt and Miscellaneous Receipt transactions referencing serial numbers not prefixed by the Vertical Bar (‘|’) character, the processing logic will be extended to extract the IUID value from the serial numbers table in the Oracle Inventory module (MTL_SERIAL_NUMBERS) and call the public IB Application Programming Interface (API) (CSI_ITEM_INSTANCE_PUB.UPDATE_ITEM_INSTANCE) to update the associated IB instance with the IUID.
    OK, so Question #1:
    I get all I need to do is bypass the code in 2 instances if a bar is found at the beginning of the serial number.. And I can do that. But where is this serial number? I assume it is stored in MTL_SERIAL_NUMBERS but how do I get it?
    The code doesn't have it stored as a variable, and it doesn't seem to have the IB record either. Is there a foreign key? Anyone have imessage studio and can look into that?
    Question #2:
    To update the IB record with the serial number I need to make a call to the below procedure. The thing is, it seems to require the IB instance record. Again, I don't have that cause the code is creating it! Is there some way to get that created record back and pass it into the update procedure?
    PROCEDURE update_item_instance
    p_api_version IN NUMBER
    ,p_commit IN VARCHAR2
    ,p_init_msg_list IN VARCHAR2
    ,p_validation_level IN NUMBER
    ,p_instance_rec IN csi_datastructures_pub.instance_rec
    ,p_ext_attrib_values_tbl IN OUT NOCOPY csi_datastructures_pub.extend_attrib_values_tbl
    ,p_party_tbl IN OUT NOCOPY csi_datastructures_pub.party_tbl
    ,p_account_tbl IN OUT NOCOPY csi_datastructures_pub.party_account_tbl
    ,p_pricing_attrib_tbl IN OUT NOCOPY csi_datastructures_pub.pricing_attribs_tbl
    ,p_org_assignments_tbl IN OUT NOCOPY csi_datastructures_pub.organization_units_tbl
    ,p_asset_assignment_tbl IN OUT NOCOPY csi_datastructures_pub.instance_asset_tbl
    ,p_txn_rec IN OUT NOCOPY csi_datastructures_pub.transaction_rec
    ,x_instance_id_lst OUT NOCOPY csi_datastructures_pub.id_tbl
    ,x_return_status OUT NOCOPY VARCHAR2
    ,x_msg_count OUT NOCOPY NUMBER
    ,x_msg_data OUT NOCOPY VARCHAR2
    Thanks for any and all help in advance!

    OK! I found the instance id!
    But when trying to get the IB record, the API fails. Can someone take a look at this...what's wrong?
    msg_data from API call =
    MSG DATA FND FND_AS_UNEXPECTED_ERROR N PKG_NAME CSI_ITEM_INSTANCE_PUB N PROCEDURE_NAME GET_ITEM_INSTANCE_DETAILS N ERROR_TEXT ORA-01008: not all variables bound
    PROCEDURE populate_iuid(
    p_transaction_id IN NUMBER
    IS
    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_return_status VARCHAR2(2000) ;
    l_instance_id NUMBER := 0 ;
    l_serial_number VARCHAR2(30);
    l_inventory_item_id NUMBER := 0 ;
    l_iuid VARCHAR2(150);
    CURSOR c_get_serial_numbers( p_transaction_id NUMBER ) IS
    SELECT inventory_item_id, serial_number, attribute1
    FROM mtl_unit_transactions
    WHERE transaction_id = p_transaction_id;
    BEGIN
    -- GET THE SERIAL NUMBER AND INVENTORY ITEM ID BY USING THE TRANSACTION ID
    FOR rec IN c_get_serial_numbers( p_transaction_id ) LOOP
    l_inventory_item_id := rec.inventory_item_id;
    l_serial_number := rec.serial_number;
    l_iuid := rec.attribute1;
    -- GET THE INSTANCE ID BY USING THE SERIAL NUMBER AND INVENTORY ITEM ID
    SELECT instance_id
    INTO l_instance_id
    FROM csi_item_instances
    WHERE inventory_item_id = l_inventory_item_id
    AND serial_number = l_serial_number;
    -- RETRIEVE THE INSTANCE RECORD TO BE UPDATED
    l_instance_rec.instance_id := l_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
    );

  • Install base API error Material Transaction errored prior to the current tr

    All,
    I wrote a script to update the install base installed date using API - csi_item_instance_pub.update_item_instance.
    Script updated many successfully, but, for many I am getting following error:
    You have Material Transaction_id (12169418) errored Prior to the Current Transaction. You need to process that first.
    You have Material Transaction_id (12020011) errored Prior to the Current Transaction. You need to process that first.
    I tried to reprocess using API again, but, it does update.
    Does any one encountered this before ? What's causing this issue and resolution for same ? Is there any data issue, if so where ?
    Thanks much

    Nagmohan,
    Thanks for quick update...
    I found that progam you mentioned 'Install Base Error Correction and Synchronization Program' and ran that with options Show instances - Y, Mode - C, Force all data fix - Y.
    I don't see any change what so ever in the csi_txn_errors. Though, I didn't ran the update API program.
    For testing purposes, I took one inventory_item_id from the csi_txn_errors table to see how many errors it got.
    Inventory_item_id = 304076
    Found there are 123 rows for this items. processed_flag D-20 ; E-103 ;
    I am enclosing few of data from the table here.
    I understand from you that we need to clean these errors by some means, so, we need to look at each one in sequential order, then, try to resolve that to get to next one and so on until all the errors cleared. Also, is that business users needs to do something over here to fix these errors ? Or each one have it's own resolution ?
    Why did Install Base error correction program did not fix the issues ? Is the program expected to fix the error by correcting the issue internally ?
    Thanks much,
    TRANSACTION_ERROR_ID MESSAGE_ID ERROR_TEXT PROCESSED_FLAG CREATION_DATE
    1 12224 10818 Transaction prior to freeze_date in install parameter D 10/6/2007 8:10:40 PM
    2 12227 10822 Transaction prior to freeze_date in install parameter D 10/6/2007 8:10:40 PM
    3 12229 10828 Transaction prior to freeze_date in install parameter D 10/6/2007 8:10:40 PM
    4 12230 10832 Serial control is now inappropriate for this txn. Knocking this D 10/6/2007 8:10:40 PM
    5 12225 10820 Transaction prior to freeze_date in install parameter D 10/6/2007 8:10:40 PM
    6 12226 10824 Transaction prior to freeze_date in install parameter D 10/6/2007 8:10:40 PM
    7 12228 10826 Transaction prior to freeze_date in install parameter D 10/6/2007 8:10:40 PM
    8 12231 10830 Serial control is now inappropriate for this txn. Knocking this D 10/6/2007 8:10:40 PM
    9 12950 12718 Transaction prior to freeze_date in install parameter D 10/6/2007 8:11:23 PM
    10 12952 12722 Transaction prior to freeze_date in install parameter D 10/6/2007 8:11:24 PM
    11 12954 12726 Serial control is now inappropriate for this txn. Knocking this D 10/6/2007 8:11:24 PM
    12 12947 12710 Transaction prior to freeze_date in install parameter D 10/6/2007 8:11:23 PM
    13 12948 12714 Transaction prior to freeze_date in install parameter D 10/6/2007 8:11:23 PM
    14 12949 12716 Transaction prior to freeze_date in install parameter D 10/6/2007 8:11:23 PM
    15 12951 12720 Transaction prior to freeze_date in install parameter D 10/6/2007 8:11:24 PM
    16 12953 12724 Transaction prior to freeze_date in install parameter D 10/6/2007 8:11:24 PM
    17 13574 14556 Transaction prior to freeze_date in install parameter D 10/6/2007 8:11:58 PM
    18 13575 14560 Transaction prior to freeze_date in install parameter D 10/6/2007 8:11:58 PM
    19 13573 14554 Transaction prior to freeze_date in install parameter D 10/6/2007 8:11:58 PM
    20 13576 14562 Serial control is now inappropriate for this txn. Knocking this D 10/6/2007 8:11:58 PM
    21 144067 34168 Either sub type has change owner code as "E" ,so the external party_id: (47598 ) E 12/6/2007 7:02:11 PM
    22 144133 34396 This customer item instance is currently in an Internal location INVENTORY and it is an Invalid location for the type of transaction being processed. E 12/8/2007 7:23:16 AM
    23 145027 34578 You have Material Transaction_id (4844377) errored Prior to the Current Transaction. You need to process that first. E 12/10/2007 12:04:35 PM
    24 168201 41858 You have Material Transaction_id (6048616) errored Prior to the Current Transaction. You need to process that first. E 1/30/2008 4:31:33 PM
    25 168195 41840 You have Material Transaction_id (4869894) errored Prior to the Current Transaction. You need to process that first. E 1/30/2008 4:18:43 PM
    26 169223 42238 You have Material Transaction_id (6048754) errored Prior to the Current Transaction. You need to process that first. E 2/1/2008 2:17:01 PM
    27 169211 42162 You have Material Transaction_id (6048616) errored Prior to the Current Transaction. You need to process that first. E 2/1/2008 8:52:50 AM
    28 170277 42680 You have Material Transaction_id (6072810) errored Prior to the Current Transaction. You need to process that first. E 2/5/2008 3:27:28 PM
    29 190286 46872 You have Material Transaction_id (6075528) errored Prior to the Current Transaction. You need to process that first. E 3/6/2008 6:43:27 AM
    30 190288 46876 The source item instance 304076, in Subinventory STAGE, for Organization 193 in Oracle Install Base does not exist. Please verify that any receipt transations were successful. (ITEM=304076) E 3/6/2008 6:49:20 AM
    31 207309 50410 You have Material Transaction_id (6635323) errored Prior to the Current Transaction. You need to process that first. E 3/28/2008 11:12:24 AM
    32 209320 51074 You have Material Transaction_id (7279930) errored Prior to the Current Transaction. You need to process that first. E 4/1/2008 11:44:27 AM
    33 241414 57434 You have Material Transaction_id (6151851) errored Prior to the Current Transaction. You need to process that first. E 5/12/2008 4:05:12 PM
    34 241435 57484 No instance is found for the inventory location attributes E 5/12/2008 7:01:04 PM
    35 242428 57654 No instance is found for the inventory location attributes E 5/13/2008 7:00:39 PM
    36 242419 57602 You have Material Transaction_id (7332482) errored Prior to the Current Transaction. You need to process that first. E 5/13/2008 2:44:11 PM
    37 244522 58180 You have Material Transaction_id (8291855) errored Prior to the Current Transaction. You need to process that first. E 5/15/2008 7:00:52 PM
    38 244499 58102 You have Material Transaction_id (6151851) errored Prior to the Current Transaction. You need to process that first. E 5/15/2008 1:42:11 PM
    39 247465 60310 The source item instance 304076, in Subinventory UCORE, for Organization 193 in Oracle Install Base does not exist. Please verify that any receipt transations were successful. E 5/30/2008 10:48:36 AM
    40 266432 81460 Invalid Instance Id Provided. The Item Instance ID (537385) provided is Either Expired or it does not exist in Installed Base Tables. E 9/19/2008 7:01:26 PM
    41 275056 87920 "You have encountered an unexpected error in Call_to_Contracts, with error ORA-01403: no data found.
    " E 10/22/2008 7:01:39 PM
    42 275055 87918 "You have encountered an unexpected error in Call_to_Contracts, with error ORA-01403: no data found.
    " E 10/22/2008 7:01:36 PM
    43 276087 89296 "You have encountered an unexpected error in Call_to_Contracts, with error ORA-01403: no data found.
    " E 10/30/2008 7:01:21 PM
    44 276135 89564 "You have encountered an unexpected error in Call_to_Contracts, with error ORA-01403: no data found.
    " E 10/31/2008 7:01:38 PM
    45 276153 89618 "You have encountered an unexpected error in Call_to_Contracts, with error ORA-01403: no data found.
    " E 11/3/2008 8:45:52 AM
    46 276155 89622 You have Material Transaction_id (12743392) errored Prior to the Current Transaction. You need to process that first. E 11/3/2008 8:48:13 AM
    47 276179 89690 "You have encountered an unexpected error in Call_to_Contracts, with error ORA-01403: no data found.
    " E 11/3/2008 9:31:46 AM
    48 276223 89868 You have Material Transaction_id (12743411) errored Prior to the Current Transaction. You need to process that first. E 11/3/2008 1:45:18 PM
    49 276205 89772 You have Material Transaction_id (12743982) errored Prior to the Current Transaction. You need to process that first. E 11/3/2008 11:32:40 AM
    50 276180 89694 You have Material Transaction_id (12743974) errored Prior to the Current Transaction. You need to process that first. E 11/3/2008 9:32:23 AM
    51 276318 90432 "You have encountered an unexpected error in Call_to_Contracts, with error ORA-01403: no data found.
    " E 11/5/2008 2:51:48 PM
    52 276370 90758 No instance is found for the inventory location attributes E 11/6/2008 7:01:02 PM
    53 276360 90686 You have Material Transaction_id (12744871) errored Prior to the Current Transaction. You need to process that first. E 11/6/2008 2:05:38 PM

  • Populating the configurator from install base!!

    HI All
    We have a requirement of
    Referencing the current product configuration from the Install Base and then populating it in Oracle Configurature , If any feature code is not populated due to any reason ,then we need to show those reason in the report .
    Do we have any stabdard API or concurrent program to this ??
    Or any program which does some part of the above requirement !??
    Pls help
    thanks
    naveen

    hi,
    To get one service customer created one order in CRM system (say A) and this order is came down to our system(say B) and we send it further to another system(say c). we got ok response from system whome we send the order i.e. (C), so in our system (B)we close the order.
    But unfortunately this order is failed in System C so we need to cancell this order. We cancelled the Order in system A but in our system(B) order is close so it is not possible to cancelled this order so we need to remove this item instance form install base.

  • How to track Service Item in Install Base

    Hi,
    How to track a Service Item in Install Base. If I'm right, when we define the item as Service Item in Inventory, Install Base Trackable cannot be enableed...
    Scenario:
    Customer is doing some services to its customer which has a contract for 1 Year. So we are creating service as Service Item in Inventory and then we create a contract for this service item.
    How do we track this in Install Base?
    Please help
    Thanks & Regards,
    Pavithara R.

    Hi,
    A service item by definition need not be tracked in IB. The service may be provided on a machine or asset which will be tracked in IB. Since service item is not a tangiable item, it is not IB trackable.
    Kindly explain the business scenario to track the service item in IB.
    Regards

  • 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

  • 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

  • Automatic creation of installed base?

    Dear all,
    We are using CRM 5.0
    We are creating BOM for material in R3.
    Line :10 --> Header level item
    Line : 20 --> Parent item 1
    Line : 30 --> Parent item 2.
    Now as per standard When we are doing the delivery of any item in R3, A Installed base is created in CRM (Based on Delivery).
    But we are using BOM so line item 20 and 30 is attached to header item 10.
    and when we are creating delivery, three different installed base are creating.
    Actually i want One Installed base of item 10 and Attached item 20 & 30 becomes a component
    How can i do?
    Pls reply. I will reward the points
    Regards
    Jayesh

    Hi Jayesh,
    Use any of the following FM:
    IB_COM1_CHANGE_IBASE_ONLY  
    IB_COM2_CHANGE_IBASE_ONLY  
    IB_COM2_CREATE_IBASE       
    IB_COM_CREATE_IBASE_INITIAL
    Best Regards,
    Pratik Patel
    <b>Reward with Points!</b>

  • How to create an Installed base from the sales order

    Dear Friends,
    could any one let me know the process of creating an Installed base with the below process.
    Once a sales order is created in SD, an istalled base need to be created in CRM system with reference to sales order.
    There are around 50 final products and approximately 2000(BOM)components for each product exists. but the client wants to maintain only few components
    like 100 to 200 components in Installed base.
    In CRM system, can we maintain Installed base Template with that 100 or 200 components. If yes, how do we assign the Individual objects(Serial numbers) to each component.
    Regards,
    Ven

    Hi Ajay
    there can be two possibilities
    Option 1. Create Install base in CRM while creating Sales order in ECC using RFC CRM_IBASE_CREATE. Make some reference  of sales order in the Ibase. later when you move equipments to CRM then you can attach these equipments to Ibase (Already created in Thru RFC)in Badi CRM_EQUI_LOAD(This BAdi is called while moving equipments from ECC to CRM).
    Option 2. Don't create Ibase at the creation of Sales order. but while creating Equipment just add some indiacator in the equipment to know which sale sorder this equipments belongs.
    and once these equipments moves to CRM. Using the BADI CRM_EQUI_LOAD you can club all the equipments(of same sales order) under one ibase.
    Regards
    Naresh

  • 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;

  • How to link Sales Order with Service Contract and then with Install Base?

    Hi Friends,
    1) I would like to know the integeration process from sales order to Service Contract and then with Install Base.
    2) I couldn't see anything enabled in Service Tab in Order Lines, its grayed out. Is there any set up/profile option to get it enabled?
    3) How can we create AR invoice from Service Contract?
    Please let me know if anyone has idea on this.
    Thanks in Adavance,
    Vara

    Dear Sid,
    Thanks for your promt response.
    Let me explain you what I did.
    1) I have booked a Bill Only sales order which has one order line, mentioned it as Service Item and provided the same details in Service Tab in Order lines. Now Line status is "Fulfilled"
    2) Then Submitted Workflow Back Ground Process for OM Order Lines and it has created an AR Invoice and closed the line
    3) And then submitted "Service Contracts Order Capture Integration Program" from SErvice Contracts Responsibility and it completed normal.
    4) Now I went in to Launch Contracts Window and queried with the sales order but couldn't see any contract created
    5) Then I went in to Reprocess Order Window and found this order shows an error message as "Referenced Product not present in the Installed Base", then I tried to reprocessed it, but the same error message again.
    Here I have few doubts:
    1) Are the AR invoice and Service Contract Billing Invoices same?
    2) In above scenario AR Invoice has been created, I would like to do the billing from SErvice Contracts and need to create an Invoice in AR? how can I do that?
    because as you explained in one of my questions earlier, A Single Invoice can be created for the whole duration of the contract. I want to do that and trying for the same.
    3) Regarding the above error message, how can I resolve it and create the service contract against that Order?
    Thank you so much for your helpful answers.
    Regards,
    Vara

  • Parent and Child relation in Install Base R12

    Hi,
    Could you let me know the query for, when i pass Instace_ID I should get Parent_Instance details,Child_Instance details along with parent part_numbers and child part_numbers.
    I tried using below query, but I m missing child details and child part_numbers, any suggestions.
    select distinct
    ciip.instance_id parent_instance_id,
    ciic.instance_id child_instance_id,
    ciip.instance_number parent_instance_number,
    ciic.instance_number child_instance_number,
    msip.segment1 parent_part_number,
    msic.segment1 child_part_number,
    ciip.serial_number parent_serial_number,
    ciic.serial_number child_serial_number,
    msip.description parent_part_description,
    msic.description child_part_description,
    ciip.active_start_date,
    ciip.active_end_date,
    ciip.location_id,
    ciip.install_date,
    ciip.install_location_id
    from
    csi_item_instances ciip,
    csi_ii_relationships cir,
    csi_item_instances ciic,
    mtl_system_items_b msip,
    mtl_system_items_b msic
    where 1=1
    and ciip.serial_number = 'ABN656'
    and ciip.instance_id = cir.object_id
    and ciic.instance_id = cir.subject_id
    and ciip.inventory_item_id = msip.inventory_item_id
    and ciic.inventory_item_id = msic.inventory_item_id
    --and ciip.instance_id=46725
    order by ciip.instance_id,ciip.instance_number;
    Thanks.

    Did you check if the serial ABN656 is the parent and has child components under it? Check the below query for the same. Additionally you can also navigate to Oracle Installed Base Agent User responsibility, search for ABN656, click on the record, navigate to Configuration tab and see if this serial has any child components.
    select *
    from csi_ii_relationships cir
    ,csi_item_instances cii
    where cii.serial_number = 'ABN656'
    and cii.instance_id = cir.object_id
    Thanks
    Shree

Maybe you are looking for

  • IPhone 3GS iOS 4.1 Update No Custom Ringtones

    Hi Everyone! I just upgraded my iPhone 3GS to iOS 4.1 and now I can no longer set customized ringtones for individual users. At first, my phone had lost all my contacts (which are synced to an Exchange server). When I restored my contacts I noticed t

  • MacBook Air won't turn on :( please help me !

    A few weeks ago I dropped my Macbook air on tiles (not from a very high distance at all) and the next day when I turned it on it worked fine. Then after a few days it randomly shut down twice so I shut it down for a few hours and after that it worked

  • No pen pressure sensitivity in CS3

    I am running both Photoshop versions CS2 and CS3 on a Macbook Pro with Leopard 10.5.6 installed. I have downloaded the latest Wacom driver for use with my Intuos2 tablet. Running CS2 the pen's pressure sensitivity is working fine. Running CS3 however

  • External Drives Won't Mount with SIIG Fire WIre 800 PCI Card

    I can't get any drive to mount using this card. It's the SIIG FW 800 3 port PCI card. I've also got the SIIG FW 400 and I think a Belkin 5 port usb PCI card. I've removed the other cards leaving just the 800. I've moved them all around into different

  • How to compile a .xsd in runtime?

    hi, is there a way to compile .xsd schemes by calling the xjc in a java application? (not exec())