Sie sind auf Seite 1von 15

Using the Install Base Open Interface Program [ID 252674.

1] Modified 07-JUL-2011 Type BULLETIN Status PUBLISHED


Checked for relevance on 11-Apr-2011

Using the Install Base Open Interface Program


IB Open Interface Coding Examples
This document provides a summary of basic points to be followed for successful completion of all open interface transactions along with coding examples. Before proceeding with this example please review the "Using the Open Interface Program" section in the Oracle Install Base User Guide Release 11i Part No. B10683-01 for an overview of the features of the Open Interface Program and the general guidelines and examples given. Disclaimer: This information is provided 'as is' and does not promise to be complete or without error. Please review and edit as needed for your own use. Oracle Corporation is not responsible for any resulting data corruption or loss due to the following information given herein.

Table of Contents
Important Points to Keep in Mind Initial Setup

Example - Creation of Two Instances in Install Base Step1: Load Interface Tables Step2: Run Install Base Open Interface Program Step3: Confirm Records Created Successfully

References

Important Points to Keep in Mind The following are the important points that need to be followed for a successful completion of all open interface transactions: 1. Source_system_name in csi_instance_interface table is a foreign key from the setup table csi_interface_sources. Source_system_name is the name of source system (ex. Oracle Enterpise Manager, Legacy Order Entry System etc.,). 2. Make sure you use the appropriate Transaction_Identifier. Transaction_Identifier should be unique for the same source_system_name. 3. For any type of transaction, there needs to be at least one row in the CSI_INSTANCE_INTERFACE table. 4. The Open Interface processor resolves the ids from different tables from the descriptive values provided in the interface tables and also validates the existence of all the referenced Ids. The Transaction Identifier along with Source_System_Name is used to identify the Set of Instances and Instance-to-Instance Relationships. This set is committed as a single database transaction. 5. User has to make sure that all the referenced entities are populated, before the execution of Open Interface program. (Example: inventory_item exists in mtl_system_items, party exists in the respective party tables, order line exists in the order entry tables etc.,).

6. Transaction_identifier in csi_instance_interface table represents a transaction. This column along with source_system_name forms a unique key. Open interface records will be processed as units for commit or rollback. All the records with the same transaction_identifier will be considered to correspond to a single transaction in the source system. Open Interface concurrent program, will update if the instance exists, and otherwise create a new instance. 7. If you desire warranty contracts to be created while using the Open Interface then you must set up your warranty item/coverage as described in the Oracle Service Contracts User Guide and make sure CSI: Contracts Enabled is set to 'Y'. Initial Setup Before using the open interface functionality, the user must complete the mandatory source system details setup. This can be achieved by populating at least one record into the csi_interface_sources table. The following is a sample script that can be used to populate a record into csi_interface_sources table. Script name is csi_setup.sql Declare Begin Insert into csi_interface_sources (SOURCE_SYSTEM_ID , SOURCE_SYSTEM_NAME , SOURCE_DESCRIPTION , SOURCE_LANG , CREATED_BY , CREATION_DATE , LAST_UPDATED_BY , LAST_UPDATE_DATE , LAST_UPDATE_LOGIN) Values (CSI_INTERFACE_SOURCES_S.nextval , 'ENTERPRISE MANAGER' , 'Enterprise Manager' , 'US' , FND_GLOBAL.USER_ID , Sysdate , FND_GLOBAL.USER_ID , Sysdate , FND_GLOBAL.USER_ID ); Commit; Exception When others then Null; End; / Note: Open interface functionality allows populating multiple records into csi_interface_sources table. However, each record must have a unique source system name.

[Back to Top]

Example - Creation of Two Instances in Install Base

The following steps create 2 instances in the Install Base. Each Customer Product instance will have its own owner party and owner account. The steps also include the creation of an instance-to-instance relationship/configuration between the newly created Customer Products Step1: Load the Interface Tables Execute the following script from sqlplus. Script name : Create_interface.sql

SET SERVEROUTPUT ON SIZE 1000000 DECLARE Begin Insert into csi_instance_interface ( INST_INTERFACE_ID ,SOURCE_SYSTEM_NAME ,PARALLEL_WORKER_ID ,REPLACE_FLAG ,TRANSACTION_IDENTIFIER ,SOURCE_TRANSACTION_DATE ,SOURCE_TRANSACTION_TYPE ,INSTANCE_ID ,INSTANCE_NUMBER ,INSTANCE_DESCRIPTION ,EXTERNAL_REFERENCE ,PROCESS_STATUS ,BATCH_NAME ,ERROR_TEXT ,INVENTORY_ITEM_ID ,INV_CONCATENATED_SEGMENTS ,INVENTORY_REVISION ,INV_VLD_ORGANIZATION_ID ,INV_VLD_ORGANIZATION_NAME ,SERIAL_NUMBER ,MFG_SERIAL_NUMBER_FLAG ,LOT_NUMBER ,QUANTITY ,UNIT_OF_MEASURE_CODE ,UNIT_OF_MEASURE ,ACCOUNTING_CLASS_CODE ,INSTANCE_CONDITION_ID ,INSTANCE_CONDITION ,INSTANCE_STATUS_ID ,INSTANCE_STATUS ,CUSTOMER_VIEW_FLAG ,MERCHANT_VIEW_FLAG ,SELLABLE_FLAG ,SYSTEM_ID ,SYSTEM_NUMBER ,INSTANCE_START_DATE ,INSTANCE_END_DATE ,INSTANCE_TYPE_CODE ,LOCATION_TYPE_CODE ,LOCATION_ID ,INV_ORGANIZATION_ID ,INV_ORGANIZATION_CODE ,INV_ORGANIZATION_NAME

,INV_SUBINVENTORY_NAME ,INV_LOCATOR_NUMBER ,INV_LOCATOR_ID ,PROJECT_ID ,PROJECT_NUMBER ,TASK_ID ,TASK_NUMBER ,IN_TRANSIT_ORDER_LINE_ID ,IN_TRANSIT_ORDER_LINE_NUMBER ,WIP_JOB_ID ,WIP_JOB_NAME ,PO_ORDER_LINE_ID ,PO_ORDER_LINE_NUMBER ,OE_ORDER_LINE_ID ,OE_ORDER_LINE_NUMBER ,OE_RMA_LINE_ID ,OE_RMA_LINE_NUMBER ,PO_PO_LINE_ID ,PO_PO_LINE_NUMBER ,OE_PO_NUMBER ,OE_AGREEMENT_ID ,INSTALL_LOCATION_TYPE_CODE ,INSTALL_LOCATION_ID ,INSTALL_DATE ,RETURN_BY_DATE ,ACTUAL_RETURN_DATE ,CONFIG_INST_HDR_ID ,CONFIG_INST_REV_NUM ,CONFIG_INST_ITEM_ID ,CONFIG_VALID_STATUS ,INSTANCE_OU_ID ,OPERATING_UNIT_NAME ,OPERATING_UNIT ,OU_RELATION_TYPE ,OU_START_DATE ,OU_END_DATE ,CREATED_BY ,CREATION_DATE ,LAST_UPDATED_BY ,LAST_UPDATE_DATE ) values (CSI_INSTANCE_INTERFACE_S.NEXTVAL ,'ENTERPRISE MANAGER' ,null ,null ,'100' ,sysdate ,null ,null ,null ,'Instance creation' ,null ,'R' ,null ,null ,null , 'AS72111' ,'A' ,null

,'Vision Operations' ,null ,'N' ,null ,1 ,null ,'Each' ,null ,null ,null ,null ,'CREATED' ,'Y' ,'Y' ,'Y' ,null ,null ,null ,null ,null ,'HZ_PARTY_SITES' ,1020 ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null

,null ,FND_GLOBAL.USER_ID ,sysdate ,FND_GLOBAL.USER_ID ,sysdate );

Insert into csi_i_party_interface ( IP_INTERFACE_ID ,INST_INTERFACE_ID ,PARALLEL_WORKER_ID ,ERROR_TEXT ,PARTY_ID ,PARTY_NUMBER ,INSTANCE_PARTY_ID ,PARTY_NAME ,PARTY_SOURCE_TABLE ,PARTY_RELATIONSHIP_TYPE_CODE ,PARTY_START_DATE ,PARTY_END_DATE ,CONTACT_FLAG ,CONTACT_IP_ID ,CONTACT_PARTY_NUMBER ,CONTACT_PARTY_NAME ,CONTACT_PARTY_ID ,CONTACT_PARTY_REL_TYPE ,IP_ACCOUNT1_ID ,PARTY_ACCOUNT1_NUMBER ,PARTY_ACCOUNT1_ID ,ACCT1_RELATIONSHIP_TYPE_CODE ,PARTY_ACCT1_START_DATE ,PARTY_ACCT1_END_DATE ,BILL_TO_ADDRESS1 ,SHIP_TO_ADDRESS1 ,IP_ACCOUNT2_ID ,PARTY_ACCOUNT2_NUMBER ,PARTY_ACCOUNT2_ID ,ACCT2_RELATIONSHIP_TYPE_CODE ,PARTY_ACCT2_START_DATE ,PARTY_ACCT2_END_DATE ,BILL_TO_ADDRESS2 ,SHIP_TO_ADDRESS2 ,IP_ACCOUNT3_ID ,PARTY_ACCOUNT3_NUMBER ,PARTY_ACCOUNT3_ID ,ACCT3_RELATIONSHIP_TYPE_CODE ,PARTY_ACCT3_START_DATE ,PARTY_ACCT3_END_DATE ,BILL_TO_ADDRESS3 ,SHIP_TO_ADDRESS3 ,CREATED_BY ,CREATION_DATE ,LAST_UPDATED_BY ,LAST_UPDATE_DATE) values ( CSI_I_PARTY_INTERFACE_S.NEXTVAL ,CSI_INSTANCE_INTERFACE_S.currval ,null

,null ,null ,null ,null ,'Imaging Innovations, Inc.' ,'HZ_PARTIES' ,'OWNER' ,null ,null ,'N' ,null ,null ,null ,null ,null ,null ,'1002' ,null ,'OWNER' ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,FND_GLOBAL.USER_ID ,sysdate ,FND_GLOBAL.USER_ID ,sysdate );

Insert into csi_instance_interface ( INST_INTERFACE_ID ,SOURCE_SYSTEM_NAME ,PARALLEL_WORKER_ID ,REPLACE_FLAG ,TRANSACTION_IDENTIFIER ,SOURCE_TRANSACTION_DATE ,SOURCE_TRANSACTION_TYPE ,INSTANCE_ID ,INSTANCE_NUMBER ,INSTANCE_DESCRIPTION ,EXTERNAL_REFERENCE ,PROCESS_STATUS ,BATCH_NAME

,ERROR_TEXT ,INVENTORY_ITEM_ID ,INV_CONCATENATED_SEGMENTS ,INVENTORY_REVISION ,INV_VLD_ORGANIZATION_ID ,INV_VLD_ORGANIZATION_NAME ,SERIAL_NUMBER ,MFG_SERIAL_NUMBER_FLAG ,LOT_NUMBER ,QUANTITY ,UNIT_OF_MEASURE_CODE ,UNIT_OF_MEASURE ,ACCOUNTING_CLASS_CODE ,INSTANCE_CONDITION_ID ,INSTANCE_CONDITION ,INSTANCE_STATUS_ID ,INSTANCE_STATUS ,CUSTOMER_VIEW_FLAG ,MERCHANT_VIEW_FLAG ,SELLABLE_FLAG ,SYSTEM_ID ,SYSTEM_NUMBER ,INSTANCE_START_DATE ,INSTANCE_END_DATE ,INSTANCE_TYPE_CODE ,LOCATION_TYPE_CODE ,LOCATION_ID ,INV_ORGANIZATION_ID ,INV_ORGANIZATION_CODE ,INV_ORGANIZATION_NAME ,INV_SUBINVENTORY_NAME ,INV_LOCATOR_NUMBER ,INV_LOCATOR_ID ,PROJECT_ID ,PROJECT_NUMBER ,TASK_ID ,TASK_NUMBER ,IN_TRANSIT_ORDER_LINE_ID ,IN_TRANSIT_ORDER_LINE_NUMBER ,WIP_JOB_ID ,WIP_JOB_NAME ,PO_ORDER_LINE_ID ,PO_ORDER_LINE_NUMBER ,OE_ORDER_LINE_ID ,OE_ORDER_LINE_NUMBER ,OE_RMA_LINE_ID ,OE_RMA_LINE_NUMBER ,PO_PO_LINE_ID ,PO_PO_LINE_NUMBER ,OE_PO_NUMBER ,OE_AGREEMENT_ID ,INSTALL_LOCATION_TYPE_CODE ,INSTALL_LOCATION_ID ,INSTALL_DATE ,RETURN_BY_DATE ,ACTUAL_RETURN_DATE ,CONFIG_INST_HDR_ID ,CONFIG_INST_REV_NUM ,CONFIG_INST_ITEM_ID ,CONFIG_VALID_STATUS

,INSTANCE_OU_ID ,OPERATING_UNIT_NAME ,OPERATING_UNIT ,OU_RELATION_TYPE ,OU_START_DATE ,OU_END_DATE ,CREATED_BY ,CREATION_DATE ,LAST_UPDATED_BY ,LAST_UPDATE_DATE ) values (CSI_INSTANCE_INTERFACE_S.NEXTVAL ,'ENTERPRISE MANAGER' ,null ,null ,'100' ,sysdate ,null ,null ,null ,'Instance creation' ,null ,'R' ,null ,null ,null , 'AS72111' ,'A' ,null ,'Vision Operations' ,null ,'N' ,null ,1 ,null ,'Each' ,null ,null ,null ,null ,'CREATED' ,'Y' ,'Y' ,'Y' ,null ,null ,null ,null ,null ,'HZ_PARTY_SITES' ,1020 ,null ,null ,null ,null ,null ,null ,null ,null

,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,FND_GLOBAL.USER_ID ,sysdate ,FND_GLOBAL.USER_ID ,sysdate );

Insert into csi_i_party_interface ( IP_INTERFACE_ID ,INST_INTERFACE_ID ,PARALLEL_WORKER_ID ,ERROR_TEXT ,PARTY_ID ,PARTY_NUMBER ,INSTANCE_PARTY_ID ,PARTY_NAME ,PARTY_SOURCE_TABLE ,PARTY_RELATIONSHIP_TYPE_CODE ,PARTY_START_DATE ,PARTY_END_DATE ,CONTACT_FLAG ,CONTACT_IP_ID ,CONTACT_PARTY_NUMBER ,CONTACT_PARTY_NAME ,CONTACT_PARTY_ID ,CONTACT_PARTY_REL_TYPE ,IP_ACCOUNT1_ID ,PARTY_ACCOUNT1_NUMBER

,PARTY_ACCOUNT1_ID ,ACCT1_RELATIONSHIP_TYPE_CODE ,PARTY_ACCT1_START_DATE ,PARTY_ACCT1_END_DATE ,BILL_TO_ADDRESS1 ,SHIP_TO_ADDRESS1 ,IP_ACCOUNT2_ID ,PARTY_ACCOUNT2_NUMBER ,PARTY_ACCOUNT2_ID ,ACCT2_RELATIONSHIP_TYPE_CODE ,PARTY_ACCT2_START_DATE ,PARTY_ACCT2_END_DATE ,BILL_TO_ADDRESS2 ,SHIP_TO_ADDRESS2 ,IP_ACCOUNT3_ID ,PARTY_ACCOUNT3_NUMBER ,PARTY_ACCOUNT3_ID ,ACCT3_RELATIONSHIP_TYPE_CODE ,PARTY_ACCT3_START_DATE ,PARTY_ACCT3_END_DATE ,BILL_TO_ADDRESS3 ,SHIP_TO_ADDRESS3 ,CREATED_BY ,CREATION_DATE ,LAST_UPDATED_BY ,LAST_UPDATE_DATE) values ( CSI_I_PARTY_INTERFACE_S.NEXTVAL ,CSI_INSTANCE_INTERFACE_S.currval ,null ,null ,null ,null ,null ,'Imaging Innovations, Inc.' ,'HZ_PARTIES' ,'OWNER' ,null ,null ,'N' ,null ,null ,null ,null ,null ,null ,'1002' ,null ,'OWNER' ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null

,null ,null ,null ,null ,null ,null ,null ,null ,null ,FND_GLOBAL.USER_ID ,sysdate ,FND_GLOBAL.USER_ID ,sysdate ); Insert into csi_ii_relation_interface (rel_interface_id ,parallel_worker_id ,subject_interface_id ,object_interface_id ,relationship_type_code ,relationship_start_date ,relationship_end_date ,position_reference ,display_order ,mandatory_flag ,relationship_direction ,error_text ,context ,attribute1 ,attribute2 ,attribute3 ,attribute4 ,attribute5 ,attribute6 ,attribute7 ,attribute8 ,attribute9 ,attribute10 ,attribute11 ,attribute12 ,attribute13 ,attribute14 ,attribute15 ,created_by ,creation_date ,last_updated_by ,last_update_date ,last_update_login) values (CSI_II_RELATION_INTERFACE_S.nextval ,null ,CSI_INSTANCE_INTERFACE_S.currval ,CSI_INSTANCE_INTERFACE_S.currval-1 ,'COMPONENT-OF' ,SYSDATE ,null ,null ,null ,null

,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,FND_GLOBAL.USER_ID ,sysdate ,FND_GLOBAL.USER_ID ,sysdate ,null); Insert into csi_iea_value_interface (ieav_interface_id ,inst_interface_id ,parallel_worker_id ,error_text ,attribute_id ,inv_concatenated_segments ,inventory_item_id ,master_organization_id ,master_organization_name ,item_category_conc_seg ,item_category_id ,attribute_code ,attribute_name ,attribute_level ,attribute_category ,attribute_value ,attribute_value_id ,ieav_start_date ,ieav_end_date ,created_by ,creation_date ,last_updated_by ,last_update_date ,last_update_login) Values (CSI_IEA_VALUE_INTERFACE_S.nextval ,CSI_INSTANCE_INTERFACE_S.currval-1 ,null ,null ,null ,'AS72111' ,null ,null ,'Vision Operations' ,null

,null ,'ADAPTER_NAME' ,null ,'ITEM' ,null ,'NETWORK_ADAPTER' ,null ,null ,null ,FND_GLOBAL.USER_ID ,sysdate ,FND_GLOBAL.USER_ID ,sysdate ,null); commit; Exception When others Then Null; End; / After execution of the create_interface.sql script confirm the appropriate records were inserted into the csi_instance_interface, csi_i_party_interface, csi_iea_value_interface and csi_ii_relation_interface tables. [Back to Top]

Step2: Run Install Base Open Interface Program Logon to Oracle applications. 1) Select Oracle Installed Base Admin responsibility. 2) Go to Others. 3) Click on Requests. Run Install Base Open Interface concurrent program by entering values in the mandatory parameters, Source System Name and Resolve Oracle IDs. (In this case Source System Name is Enterprise Manager and Resolve Oracle IDs should be set to 'Yes').

Verify the concurrent program completed successfully by clicking on the View Log button from View Request screen. The Customer Product numbers should be listed in this Log file.

[Back to Top]

Step3: Confirm Records Created Successfully As a result of the successful completion of the IB Open Interface concurrent program the Install Base tables should now be populated. There should be no errors in the Open Interface Error Details form

and your new Customer Products should exist in View Customer Products. You can view then by searching on the Customer Product number (Instance number) found in the Install Base Interface Log file. You can also view the relationship by choosing the Configuration link. [Back to Top]

References Oracle Install Base User Guide Release 11.5.9, Part B10683-01 <131739.1> How to Identify Party and Customer Account Id's When Creating Item Instance <397721.1>

Das könnte Ihnen auch gefallen