Installed Base Installation Rules

Hello All
Does any one have any documentation on how to set up Installation rules for IBase customizing.
Would appreciate it if someone could share some documentation or tips?
Thanks
M

Hi Maninder,
Installation rules for each installed base category, defining which components may be assigned hierarchically to one another.
To define the installation rules for the installed base category selected. To do this, enter the classes of components in the fields: Upper Class and Lower Class and select the Yes field as appropriate. The example shows you possible options:
For Example:
1)
Install base category: 01
Upper class             : CL_IBASE_CRM_OBJECT
Lower class             : Blank
Yes                        : Not checked
This implies that no components may be assigned at a lower level to a component of type 'Individual Object'.
2)
Install base category: 01
Upper class             : CL_IBASE_CRM_OBJECT
Lower class             : CL_IBASE_CRM_OBJECT
Yes                        : checked
This implies that one component of the same type may be assigned at a lower level to a component of type 'Individual Object'.
The classes which can be assigned can be seen in table T371D
Wish the information is helpful.
Reward with points.
Regards,
Shalini Chauhan

Similar Messages

  • User Status for Installed Base

    Hi All,
    Pls let me know where to maintain user status for installed base. I believe status profile could be assigned to transaction level only but still SAP help says it is possible to maintain in installed base.
    Also let me know is it possible to maintain user status for induvidual objects.
    Regards
    Ram.

    Hi Ram,
    In Spro, under the option "Define Installed Base Category and Installation Rules" you have an option to assign status profile to ibase category.
    In ibase the user status can only be maintained at header level according to standard. Further information available in SPRO documentation.
    Best Regards, Adil

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

  • 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

  • Conversion/Creating Contract from Install Base Information

    Hi All,
    My client has just completed Install base conversion from the legacy system
    (both history and active information).They have also completed sales order conversion for the open orders only from legacy system.They have done the customer conversion,item conversion as well from the legacy system.
    Now the customer wants to create program for running the Contract conversion from Install base.They want to take extract from install base and done some validation and call the contract api to create the contract.
    I am assigned this job,I need some information on this :-
    1. Is it possible to run a extract from install base and though contract api,create the contract (since the billing,invoicing,payment rule is missing).As per client,these values will be defaulted.Also price list information,they want to derive the price based on the item at the run time.
    2. If the first method of getting the extract from install base is considered,which all fields from install base are necessary to create the contracts.
    3.Further to ,if starting from the install base extract,what are the list of validation done before calling the contract api to create the contract headers,lines.
    4. Is it better idea to start the extract from legacy system and do the validation program and then call the contract api to create the contract.
    5. If the first method of getting the extract from legacy is considered,which all fields from install base are necessary to create the contracts.
    6.Further to ,if starting from the legacy extract,what are the list of validation done before calling the contract api to create the contract headers,lines.
    7.I am basically keen to know how this design will work.Any help,support will be highly appreciated.
    Thanks,
    Pooja
    [email protected]

    Ajay,
    I would say to change the business process and adapt new practices in Oracle.I am not sure at what point of time they get the information about the "instance" in their field service system (Booking or Picking).
    When the order is booked we do not choose the serial number (if it is non serial it is even worse), only at the time of pick confirmation we do that if you have setup such serial number control in inventory for the item (unless you are selling airplanes or ships where you know which customer is getting what much in advance).
    If you are feeding them after pick confirmation when the instance information is known (not final yet!), you can institute a business process where unless FS gives the final go for ship confirmation cannot happen (notification based).
    It is not a good idea to update IB (There is no API Support for the instances that are in inventory) that is still in inventory.
    You can place an order line on hold order ship confirmation and before invoicing.
    Let the ship confirmtion update IB and FS (I am not sure why you call it Field Service when they want to touch the machine that is still in Inventory) can come update the instance again after they finish the work using debrief for the service request. There is no harm in that. Once they do this, you can identify the order line that is on hold and release it so that invoicing can happen.
    Ship Confirmation is a system transaction, and does not mean that the physially the product is out yet.!
    Thanks
    Nagamohan

  • Installed Base creation Error

    Hello Gurus,
    I am facing problem for the creation of Installed base. My requirement is to create an Installed Base for a supplied Machine (Header level Material) & to assign the components to it.
    Actually Header Level material will be the supplied product (from Sales Order) while components will be the materials from Producton Order BOM (Make to Order Scenario).
    As I am creating IB from Sales Order/production Order, system giving me following error --
    Pls suggest where what can be wrong?
    regards
    Ravi
    No components of the installation can be determined
    Message no. IB02002
    Diagnosis
    No parts were determined for the parameters entered.
    System Response
    Therefore, no installed base is created.
    Procedure
    Check the parameters entered and then restart the transaction.

    HI
    Thank you for your reply the following is error detail:
    Exception Details.
    oracle.apps.fnd.framework.OAException: java.lang.NullPointerException
    at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:896)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:612)
    etc.......
    I checked metalink but nothing changed .
    your advice please
    best regards

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

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

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

  • Installed bases and service contracts

    Hi,
    Is it possible that:
    1. There are multiple installed bases from the same customer being covered in a SINGLE service contract document (i,e, referencing mulitple I-base objects) for the same type of service.
    Example : 100 installations for the same customer being covered for the 3 free services per year through a SINGLE contract document
    2. Is there a functionality where by all the installed bases for a given customer can be seen location wise under a single tree structure ?
    Thanks,
    Dhaval.

    Hi Dhaval,
    It is possible to do this.
    1. You could add all the objects under the object list assignment block in the contract item. So, here you specify that the service item is available as part of the contract for a set of objects.
    2. In this case, you could create the customer's installed base as the root and add all the installed bases under that customer in a hierarchy, while maintaining the Ibase master data. Else, you could search for Installed Base using the search criteria "Header Using Partner Data". But, this does not show a single tree structure.
    Hope this helps.
    Regards,
    Shwetha

  • Applocker with Windows Installer rules and SCCM 2012

    Hi,
    We have been running Applocker since two years on Windows 7 Enterprise clients with SCCM 2007 as management and distribution tool.
    This setup was working fine until we migrated to SCCM 2012 and started to encounter problems with msi-packages not being able to self-heal when the source was the sccm client cache.
    We have recreated this scenario in a lab environment.
    Our setup is this:
    Windows 2008 R2 (DC)
    Windows 7 Enterprise SP1 (Client)
    Standard user (not admin)
    SCCM 2012 R2 (upgraded from 2007)
    Applocker with these rules:
    Executable Default rules enabled (Enforced)
    Windows Installer Default rules enabled (Enforced)
    Exception for %WINDIR% (where SCCM cache is located)
    Script Default Rules enabled (Enforced)
    Application msi-package with self-heal (omus) and advertised shortcuts
    We install the application from the sccm cache (%windir%\ccmcache) and then trigger a self-heal (user components being copied to the user profile).
    What we see on the client is: Error 1718. File C:\Windows\ccmcache\54\application.msi was rejected by digital signature policy.
    Event log is showing: Event 1008: The installation of
    C:\Windows\ccmcache\54\application.msi
    is not permitted due to an error in software restriction policy processing. The object cannot be trusted.
    It looks like the file cannot be evaluated by Applocker and therefore is not trusted. We get an Access Denied error when testing AppLocker-policy with the following PS-command,
    Get-AppLockerPolicy -Effective | Test-AppLockerPolicy -Path C:\Windows\ccmcache\54\application.msi. This command works fine when accessing files in the cache-folder on a SCCM2007-client.
    For testing purposes we recreated a similar folder structure: C:\Windows\Folder1\Folder2\application.msi where the user has no permissions on Folder2 and read on the other folders and the File.msi.
    This is how the permissions look like in SCCM 2012 (no user permissions on %Windir%\ccmcache). Applocker cannot evaluate the trust-level of application.msi.
    The GPO setting “Bypass traverse checking” is set to everyone.
    As we can see, the permissions are the same on SCCM 2007 client cache (%Windir%\syswow64\ccm\cache) but we do not have this issue there.
    Has anyone got Applocker (with windows installer rules actived) to work with SCCM 2012 and windows installer self-heal?

    More info. I found some people also encounter this same issue, but specific msi, take a look at
    http://social.technet.microsoft.com/Forums/windowsserver/en-US/2ad92754-f01e-410e-97db-7a9bc81586db/msiinstaller-event-1008-when-trying-to-install-3ds-max-2011-after-group-policies-apply-on-domain?forum=winserverGP
    Juke Chou
    TechNet Community Support

  • SCUP Custom Update Installable Rules

    Struggling with the Install Rules logic on an EXE I have published to SCCM, created in SCUP.
    The EXE is a Microsoft Update that is not available as a WSUS update (KB2647753).
    My package needs to be targeted at all 32 Bit Win7 machines which don't already have the update.
    My query looks like this:
    >AND
            >AND
                    >OR
                             Windows Version = Windows 7.
                             Windows Version = Windows 7 SP1.
                       Processor Architecture is x86.
                       NOT: WMI Query 'WMI Query 'select * from WIN32_QuickFixEngineering where HotfixID="KB2647753"
    According to SCCM, this update is not required by any machines at all, which is suspect.
    I found it difficult to understand the way the logic is layed out in SCUP, the nesting is very confusing for someone who doesn't work with Boolean / Logic expression very often. I got the layout for the expression from the end of this article:
    http://blogs.technet.com/b/dominikheinz/archive/2011/10/17/deploying-custom-msu-updates-with-sccm-and-scup.aspx
    I also have one other query. The use of the WIN32_QuickFixEngineering class? I've read elsewhere that SCCM 2007 no longer collects information on this class as the overhead is too large, so is it valid to use it for an Installable rule??

    I had a similar issue after following the steps on that blog link. While the WMI query is correct, make sure that you populate the namespace field (above the wmi query) with root\cimv2.
    Very helpful. Thanks

  • Install base Open Interface

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

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

  • 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

  • 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

  • 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

Maybe you are looking for