Installed base for call center?

Hi,
for the CIC implementation where we are going with typical call center functionality where agents handle incoming calls with inquiries and complaints, do we need the installed base? can anyone comment?
we dont have any returns or warranty for our products
we sell them, if there is a prob, we resend the product again and customer can keep both...
thanks,

Hi,
Installed base is basically required to keep track of products installed at customer place.
If you can verywell identify your customer place where product is installed.
for eg.
if you install 100 printers at say XYZ company, but this 100 printers may be installed at different branches of XYZ company, it may be across different cities.
This information you cannot capture for all the 100 printers sold in any of the masterdata.
Thus you can use installed base to keep a track, how may printers installed at what location.
During incoming call u identify the BP i.e XYZ ask for the location or printer serial number (Use Individual objects in CRM) to track the printer.
If you don't have such complex scenario and also you don't need returns or warranty so u can do without installed base.
Best Regards,
Pratik Patel
<b>Reward with points!</b>

Similar Messages

  • No Configuration In Install base for procured Items

    No configuration is build in Install base for Configured Items procured thru PO.
    Problem Description:
    We created a PO for a Configured Item and received into an Org ( setup as serialized at receipt) for stocking purpose. The Entire Configuration is not created in Install base. We expected both the Parent and the child ( which are IB-trackable) to be created in the Install base. But the child is not created in the Install base.
    We set the profile CSI:Explode BOM as "yes" and still it did not help.
    Any ideas
    Regards
    Kumar

    Alka,
    FYI, the error code is as follows...Can you give us the error code?
    Also paste the procedure structure that you are using to call the IB API where you are trying to trap the error.
    Let us see what we can do.
    Thanks
    Nagamohan

  • Software Metering Report - Install base for all metered software programs - Returns 0

    Hi All
    I have an issue with one of the software metering reports, Install base for all metered software programs. when run it returns that the metered software is installed on 0 computers.
    All usage reports seem to work correctly and I can see usage data for the monitored applications. But anything related to install base such as the one listed above and "Computers that have a metered program installed but have not run the program since
    a specific date" either return 0 or are blank.
    Any help will be greatly appreciated

    Hi All
    finally found a fix to the problem. It was very closely related to what Gareth  had mentioned regarding Asset Intelligence. The actual method of detecting if a program is installed is done through Software Inventory
    Under Custom Client Settings i had enabled Software Inventory on client but never setup any rules to gather data. So i created a new rule for all *.exe files and around an hour later the report started to show up clients.
    This blog post also describes the method of setting up software inventory correctly 
    Thanks to all the help and hopefully this will aid anyone else encountering similar problems

  • Our Client gave a requirement to mass update the additional attributes in Install base for instances in Release 11i.

    Hi,
    Our Client gave a requirement to mass update the additional attributes in Install base for instances in Release 11i.
    So I tried the below code to update:
    But getting the error:
    The Object Version Number passed does not match with the one existing in Installed Base tables.
    Can any one please help how to fix it.
    Code:
    declare
    x_instance_rec CSI_DATASTRUCTURES_PUB.INSTANCE_REC;
    p_ext_attrib_values 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;
    p_validation_level NUMBER;
    p_commit VARCHAR2 (5);
    p_init_msg_lst VARCHAR2 (500);
    cursor stg_tab_cur is select instance_id,Safety_line_type from gewind_ib_iea_values;
    TYPE stg_tab IS TABLE OF gewind_ib_iea_values%ROWTYPE INDEX BY BINARY_INTEGER;
      stg_tab_var stg_tab;
      stg_tab_bin_int BINARY_INTEGER;
    BEGIN
    x_instance_rec.instance_id := FND_API.G_MISS_NUM;
    x_instance_rec.object_version_number := FND_API.G_MISS_NUM;
    p_txn_rec.transaction_id := FND_API.G_MISS_NUM;
    p_txn_rec.transaction_date := SYSDATE;
    p_txn_rec.source_transaction_date := SYSDATE;
    p_txn_rec.transaction_type_id := 1;
    stg_tab_bin_int :=0;
    For gewind_ib_iea_values in stg_tab_cur LOOP
    stg_tab_bin_int := stg_tab_bin_int + 1;
    P_ext_attrib_values(stg_tab_bin_int).instance_id :=gewind_ib_iea_values.instance_id;
    P_ext_attrib_values(stg_tab_bin_int).attribute_id := 10023;
    P_ext_attrib_values(stg_tab_bin_int).attribute_value := gewind_ib_iea_values.Safety_line_type;
    dbms_output.put_line(P_ext_attrib_values(stg_tab_bin_int).instance_id);
    dbms_output.put_line(P_ext_attrib_values(stg_tab_bin_int).attribute_value);
    csi_item_instance_pub.update_item_instance(
    1.0,
    p_commit,
    p_init_msg_lst,
    1,
    x_instance_rec,
    p_ext_attrib_values,
    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);
    commit;
    -- 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 loop;
    END;
    Regards,
    Ravichander

    This question is Assumed Answered -- It would be great if you could share the solution with us.
    Thanks,
    Hussein

  • Installed Base by Call Transaction

    Hi!!
    I have the following questions:
    1) Can I do a call transaction to IB51 (enjoy) ?
    2) Exist a BAPI for installed base?
    Thanks to all!!

    Hello Umberto,
    there are two OSS-notes (178473 and 189231) regarding IB51 and Batchinput. Following these notes, you can call IB51 via Call Transaction. But i've never (until Rel.4.7) found a BAPI .
    Regards Wolfgang

  • How to send a Announcements in CRM WebUI for Call center role.

    Hi
    In some cases if we are shutdowing the prodcution server we want to send a group message to all the users in call center.
    How to do this.
    Please suggest.
    Regards
    Hanu M

    Hi,
    in the IC_Webclient and in the CMS-Role you could use broadcast messaging for this.
    your message is displayed on the bottom of the screen as ticker.
    Add in SAPGUI a new favorite
    BSP-Application: BSP_BROADCAST
    Start-Page: abap_broadcast.htm
    Kind regards
    Manfred

  • In-app vs 3rd party service purchases for call center

    Dear Support
    I am creating a service that gives an opportunity for a user to have audio / video consultation with a specialist sitting in my real-world call-center. My service has a web interface as well with the same functionality as the mobile app. 
    To be able to get a consultation user should buy "consultations" from either mobile app or website. Consultations purchased from web should be available in application for the same user and vice versa. So basically mobile application is just an extension of my business.
    Could you please advice should I use in-app or external payment gate in mobile app ?

    aasmbat wrote:
    Dear Support
    My service has a web interface as well with the same functionality as the mobile app. 
    Then an app isn't necessary according to the App Store Review Guidelines
    https://developer.apple.com/appstore/resources/approval/guidelines.html#function ality
    2.12 Apps that are not very useful, unique, are simply web sites bundled as Apps, or do not provide any lasting entertainment value may be rejected.
    The guideline does say "may" but your reason for having an app seems a bit weak.

  • Dynamic Scripting for Call Center Surveys

    Hi All,
    I need to create dynamic scripting for Call Centres. Any idea how dynamic scripting can be done.
    Thanks a lot.
    Amiga

    Hi Raja,
    Basically, there should be a provision to create/modify a transaction and questions based on the response provided. So if a question is asked in a survey and the response is "Yes", the next question should be different to the one for a "No" answer. Similarly there should be a provision to create actions based on responses.
    Hope this makes it a bit clearer.
    Thanks
    Amiga

  • Bapi / F.M. for creation of install base for equipment (CS, not CRM)

    Hi everybody,
      Do you know any bapi / F.M. for the creation of an istall base, with one equipment and several materials?
    Thank you
    Andrea

    Hi everybody,
      Do you know any bapi / F.M. for the creation of an istall base, with one equipment and several materials?
    Thank you
    Andrea

  • Hierarchy Category for Installed Base creation

    Hi All,
    We are implementing service management using CRM 5.0 and R/3. We have created some custom material types in R/3 and downloaded to CRM. In CRM configuration "Assignment per Product Type for application Product" the HierarchyID R3PRODSTY is assigned to Product Type "Material". Now, I want to assign the Object family 0401 to a category to be able to create Installed Base records. I cannot modify the Hierarchy R3PRODSTY since it came from R/3. So I created a new hierarchy "IBase" and assigned the Object family and I assigned this hierarchy to Product Type "Material". With this I am able to create a Ibase but not a product because I changed the assignment. Is there straight forward way to have object family in the Hierarchy “R3PRODSTYP" or to be able to create products and Installed Bases simultaneously? Any Input will be greatly appreciated.
    Thanks,
    Uday.

    Hi Ankit ,
    There is some SAP F1 Help. FROM SPRO
    That may answer your question.
    Activate Partner and Address Inheritance
    Use
    In this activity, you can make the following settings for each installed base category:
    Activate partner and adress inheritance for a specified number of installed base hierarchy levels
    The inheritance of partners and addresses is a logical rather than a physical inheritance.
    Activate calculation of geographical coordinates from address information when address data is created or changed
    Enable changes to an installed base for a validity date that is earlier than the system date.
    Partner assignment or address assignment is used during the search for components to take partner inheritance and address inheritance into account.
    For example, this means that in the interaction center or service processes, all components can be found using the business partner.
    Default Settings
    No standard settings are provided.
    The settings are optional. If you do not enter any data, the function is not used.
    Activities
    To activate partner and adress inheritance, select the PInherit. or AdrInherit. checkbox, respectively, and specify the number of levels in the installed base hierachy that should inherit partners or addresses.
    Note: If want partners or addresses to be inherited by all lower-level components in the hierarchy, enter 0 (zero).
    Regards
    Logu

  • Status profile for  Install base component

    Hi,
    As part of project requirement,we have to maintain status profile at Install base component level.Wwe are maintaining one install base for single customer and all his multiple locations comes under this install base.So,as per client requirement we have to mainatin status at Install base object level.
    As per standard functionality,we can maintain status profile at Install base header in status management>status profile>object type
    But,I could not find how to maintain status profile at Install base component of type object  level.I think we have to do enhancement for it.
    Request expert opinion on this.If its configuration,then how to do this.If its BADI,then what are  details of BADI.If its enhancement,then details of it.
    Thanks in advance
    regards
    Naresh

    Hi,
    You need to add the below Object Types in your user status profile.
    Go into your user status profile and click on the Object Types as highlighted below and then enable the list of object types. Then you will be able to see the status profile in the IBase header.
    Enable these object types for IBase.
    Allowed Object Types
    General Object
    Ibase Header
    Product Master Data
    Regards,
    Siraj

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

  • Installed Base

    pls help on this,
    How we can map installed base for Volvo Buses with al components.(like product,text , installed base,individual object)give me  brief description on this, with all components in Volvo buses.
    pls help me.
    with regards
    sudheer

    <b>
    An individual hierarchy for an actual device, machine or system.
    An IBase can be used to group together all devices of a similar type for each customer.
    EXAMPLE
    All PCs that were sold to a particular customer.
    Real time example :
    What will you  do if customer  does  not know the product information ?
    1.In the BP Search workspace in the application area, you can use the installed base (IBase) search to search by business partner address for product information.
    A customer calls to report a problem with one of the copiers they bought from your company, but does not have the product number. You can enter the company's physical address and the IBase search will find product information about all copiers you have sold this customer that are located at the given address.
    Transaction to create the installed  base :
    IB51 ,IB52 ,IB53 ,IB54 ,IB55 ,IB56 are the transactions for Ibase in CRM.
    If the information is helpful ,  You can appreciate by rewarding</b>

  • 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

Maybe you are looking for

  • Safari 3 crashing when closing tabs

    Hi All, I just did the 10.4.11 update which came with safari 3 and its crashing like crazy. I'm noticing that its crashing every time I attempt to close a tab OR when i attempt to close a browser window ("x"). Here is the crash log: Date/Time: 2007-1

  • Tax calculating checkbox is unselected in MIRO

    Hi, In MIRO with reference to PO , we unfortunately missed to tick calcultate tax indicator and posted . Now we want to capture the tax for that documnent. For this please suggest me, how to capture tax for that already posted document through MIRO.

  • How to automatically link a page to the next page in the next spread

    Hi everyone, I created a master page in which the two pages are linked( text frame on the page). When I apply the master page to the pages, on every same spread, two paged are linked, but not between spread. How do I automatically link the second pag

  • System Fan (90B) Error / HP Pavilion dv7-4060us

    Hi. I have a Pavilion dv7-4060us notebook, Windows 7 Home Premium, 64-bit. I had an overheating problem not too long ago that caused my notebook to shut down on it's own. I bought a cooling pad to help with the overheating, which helped. But now, eve

  • User Group for Authorization Check

    I created a user group called SYSTEM and assigned all our companies system accounts to it. Two examples of additional SYSTEM accounts I added to the SYSTEM user group are: DDIC & SAPBATCH. I did not register this group or apply any special conditions