Installed Base(ibase) data for segmentation/maintaining customer marketing

There is a need to use Installed Base(ibase) data for segmentation/maintaining customer marketing attributes e.g. whether customer on active support agreement(yes/no), product line, version no., etc.
So if the ibase data is updated, the changes should flow back to segmentation/marketing attributes of the business partner/
Please help with any approach which can be useful in this scenario.
Edited by: ankitarora on May 4, 2011 12:42 PM

Please find the reply for your query,,,,,these are the related information
LIST OF DATA SOURCE
CRM IBase Transaction Data
0CRM_SRV_IBASE_TRAN
CRM IBase Master Data  
Technical name: 0CRM_SRV_IBASE_ATTR
Installed Base Category - DataSource for Texts  
Technical name: 0CRM_IBTYPE_TXT
Characteristic for IBase or Component - DataSource for Texts   
Technical name: 0CRM_IBFLAG_TXT
GUID of Installed Base/Component - DataSource for Texts  
Technical name: 0CRM_IBAKEY_TXT
IBase Text Component - DataSource for Texts  
Technical name: 0CRM_IBTEXT_TXT
DSO:
CRM Service - Installed Bases and Components  
Technical name: 0CRM_IBCO
QUERYS
Installed Base Analysis by Location  
Technical name: 0CRM_IBCO_Q0101
Installed Base Analysis by Business Partner  
Technical name: 0CRM_IBCO_Q0104
Analysis of Products in Installed Bases  
Technical name: 0CRM_IBCO_Q0102
Analysis of Individual Objects in IBase Components  
Technical name: 0CRM_IBCO_Q0103
More information
http://help.sap.com/saphelp_nw70/helpdata/EN/ef/c4e1edcb84fa4abd6ddd00130de600/frameset.htm
For more information, see the CRM documentation under mySAP Business Suite à mySAP Customer Relationship Management à CRM Enterprise à Analytics à Service Analytics.
Regards
Srini

Similar Messages

  • What is this message: Base Line Date for rule 11 not set ?

    Hello all,
    I am doing some test.
    Cenario:
    I need to create a Scheduling Agreement in transaction: VA41
    The material I am using to create the VA41, I have just created.
    I created in MM01 the views: Basic Datas 1 and 2, Sales View 1,2 and 3 and Account View 1.
    Issue:
    When I am creating the VA41 and I enter the material, the system shows the messages:
    1) Dates from:: Base line date for rule 11 not set
    2) Dates from:: Base line date for rule 9 not set
    *obs: the messages dos not block the creation of VA41. It is a information message.
    Question:
    What that means? What will happen if I do not fix that? What should I do in order to not have more these messages?
    Tks & Rgds,
    Barbara
    Message was edited by:
            Barbara Barbos

    Hi
    Please check whether you have assigned - payment terms both at company code and sales area level
    VVR

  • Setting Payment terms in PO linking to base line date for payables.

    Hi
    can some help me by giving me simple  steps to create  the payment terms which will be captured in PO and payment is made with reference to baseline date.
    Example :
    1. payment in 15 days from the date of GRN posting date. while doing MIRO, the base line date will be proposed 15 days from the date of GRN posting date.
    2. payment in 30 days from the date of GRN posting date. while doing MIRO, the base line date will be proposed 30 days from the date of GRN posting date.
    while doing MIRO, the base line date will be
    rgds
    Raghu

    Hi
    There is no link between GRN posting date and proposed base line date for payment in MIRO. All that you can link is the posting date/ document date in MIRO etc with base line date calculation in invoice.
    Create a new payment term with posting date (the current date will be defaulated as posting date in MIRO always) and with some payment discount terms say after 15 days etc..
    Thanks

  • How to find out last update date for business partner's marketing attribute

    How to find out last update date for business partner's marketing attribute??
    Im freshie for SAP Application and im assigned to find out last update date for marketing attribute changed
    which table is involved??
    Yours kindness will be appreciated
    thanks

    You can take a look at table AUSP as well as CRMD_AUSP_HIST.
    The "changed by" and "changed at" are logged on attribute level, not on attribute value level. When you change one specific value, the system does a "re-insert" of all existing values of this attribute.
    Take a look at the SAP notes 938426 and 966670  these may assit you in resolving the issue.
    Regards,
    William Laverde

  • Shel life experation date for material and customer

    we will need a specify minimum Shelf Life Expiration Date/Production Date for a material and customer.
    example:
    The customer X for  material  Y require 200 days for minimum shelf life expiration. This means we send this material his shelf life expiration have great than 200 days.
    Thanks

    Hi,
    If you are into FMCG industry, you need to maintain BBD (Best before date) also along with SLED & Production Dt.

  • Text data for condition type  & customer po number

    Will there be any text datsrc available for  condition type  & customer po number
    Example I am displaying condition type data & customer po number data in my report
    condition typ    customer po nu
    JASS                        1001
    JEEP                         121

    Hi,
    goto Tx LBWE, application 11, maintain extract structure MC11VA0HR.
    Check if your field is on the right side, you should find at least the following
    MCVBAK  CMFRE release date
    MCVBAK  KTEXT Description
    if they're on the right pane, then you'll have to include them for extraction; depending on if the delta is already initialez or not, if you want past history as well, the procedure might be more less complicated.
    regards
    Olivier.

  • FG stock on a particular date for a specific customer

    Hi all,
    I need to develop one report in which i need FG stock for a particular customer on a particular date. For ex on 5/11/11 what was the FG stock against xyz customer.
    Is there any logic available for this requirement. can you please tell me which tables i should look for?
    Thanks

    FG stock for a particular customer on a particular date.
    Is it Make to Order stock? If it is not, then you may not find the details. If it is MTO, then use t.code MB5B. Using this, you can find stock on particular date.
    Regards,

  • Reg : test data for segment E1EDK02

    Hi all ,
    i need test data for the fields in the segment to be filled .i need to refer to which table .for qualifier ,document ,document item ,date and time to be filled up.thanx in advance ..............

    problem solved .....

  • Use R/3 data for segmentation

    Hello all,
    I have a question concerning the use of R/3 data in the segment builder:
    Is there another way to segment after data of R/3 than using the BI?
    Can you create R/3 Infosets in SAP CRM?
    Or can you only use R/3 data in the segment builder via info cubes of BI?
    Thanks for your help!
    Regards Anne

    Hi Burcu,
    thanks for your answer!
    Are there restricitions for the infosets created in R/3? Do you work with a function modulte to convert BP number to a GUID?
    Do you know if there is any detailed documentation about this topic? (except help.sap.com because it is not very helpful!)
    Because in our system we tried to implement this but it is not working.
    Thanks for your help in advance!
    Regards Anne

  • Install base package dictionary for nokia 5800

    hi all.i have nokia 5800.i download persian package distionary from nokia web site.i tried to install it but it is an error. i get the message " install the base package first " .i serched in nokia web site but didnt fine the base package.how can i fix this problem?
    thanks

    Hello! I've the same problem with you! But i just fixed it Sorry, my mother language isnt english, but i try my best to let you understand what i want to say. Hope you understand my english
    -Check the version of your mobile first -- click *#0000#, see if your version is it 21.0.101? Cuz your mobile need to update to this version 21.0.101 for supporting the dictionary. I think your mobile is in .0.009 version, right? Please bear in mind that the only way to solve the problem ''install the base package first'' , is to update your mobile version to 21.0.101 version! The problem will be solved!
    -Please install the mini disc in your computer and finish the installation. After that you have to restart your computer. Then use the USB cable and connect to your mobile, and click the icon ''Nokia software updater'' which will be shown on the desktop after the disc installation.
    -Just follow the steps to update all relating software. You have nothing to do but just to wait for the updating.
    -When all software are finished installing, it will tell you that your mobile is now updated to version 21.0.101.
    -Then you can install again your dictionary now! Its easy! ^-^
    Hope this could help you!
    Cheers~~
    Chao~

  • 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

  • Installed Base replication

    Hi Experts,
    I would like to replicate an Installed Base from R3 to CRM.
    I 've already read the documentation under SPRO->CRM->Master Data->Installed Base->Replication of Equipment from ECC Customer Service but it did not help me.
    I've also activated the standard implementation CRM_EQUI_LOAD_STDIMP but nothing: in particular, when I start the initial download from t-code R3AS of the object "EQUIPMENT", after few seconds, the load status goes to "Abort".
    Can somebady help me?
    Thanks a lot.
    Best regards,
    Stefano

    Hi,
    thank you for the replay.
    Here my answers:
    - I don't get any BDocs errors in SMW01;
    - there are failed entries neither in SMQ1 nor SMQ2 in CRM;
    - no dump in transaction ST22;
    Do you have any other suggestions?
    Thanks a lot.
    Best regards,
    Stefano

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

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

  • PCUI Installed base -- measuring point exception

    Hi,
    Application: COMM_IBASE ( installed base)
    Path:
    Search for installed base > Select one Installed base> In the tree select one of the attached individual object
    Now Measuring points tab displays.
    Select Measuring point tab -
    > In the drop down select  Measuring point - Ind. Object
    Gives error message
    500 SAP Internal Server Error
    Error message: Basic Customizing in table COMC_IL_UI for structure CRMT_BSP_IL_IOBMP_S_FCAT is missing ( type of termination: ABORT_MESSAGE_STATE )
    Please help me to resolve the same.
    Thanks and Regards,
    Abdul Raheem .S

    Hi Tiest,
    Even I expected the dump.But unforunately there is no dump.
    Vijay,
    I already raised oss message,but most of the times we get quick response in forum.that's what this try.
    Thanks,
    Abdul Raheem .S

Maybe you are looking for

  • Filtering the data in BAPI

    Hi,     we are using bapi_PRODORDCONF_GETDETAIL to fetch some data in a transaction. For this we have to use a condition that it should display records only from plant 1000. for this I'm trying to use genericfilterandsort action filter the results. B

  • New to portal: Setting the column width in portal QBE report

    I'm trying to set different widths to different columns in the QBE report. One of the columns in the report contains long descriptive text. With the default column width the reports runs into many pages and user has to scroll a lot. I would like to s

  • How do I eliminate Want to simplify your Firefox and learn how to remove buttons? Get started!

    I want to eliminate the animation that is on my Mozilla Firefox home page. It has been there since the latest update ( I do like the changes). I thought that once I opened it up and browsed through the new features it would go away and I would have m

  • Fsck error after installation

    Hi Everyone! I installed Arch on my system with three hdds, sda, sdb, and sdc. Arch is installed on sdb with two linux partitions, sdb1 and sdb2. On sda and sdc I use Windows and they are ntfs formatted. I don't want to use those two disks in Arch, s

  • Using new Storage Spaces" re-format

    I gave a HP Compaq model # EN330YT#aba which I loaded the consumer edition of win 8, 64Bit. I added 2 hard drives via SATA ports and successfully used the storage spaces feature to create 1 large storage pool.  This feature worked greats and is easy