Technical Blog Post
Abstract
How to add new Maximo fields on Oracle Adapter
Body
IBM Maximo Enterprise Adapter 7.6 for Oracle Applications has several scenarios of trade data that contain a great number of information.
If you have questions about what information can be sent by the out of box solution check this document:
http://www.ibm.com/support/knowledgecenter/SSLKYL_7.6.0/com.ibm.meaora.doc_7.6.0/pdf_meaora_map.pdf
But what if you want to work with some information that is not sent by the Adapter? How to add new fields on the Adapter?
On this example I will show you how to add a new field of Maximo and send a field that already exists on Oracle Applications. I am going to use the interface of Labor as example.
- You need to create the new field on Maximo using the application Database Configuration.
On this example I created the field “Testfield” on Labor table.
- Recreate the respective Interface Table.
Go to Integration => External Systems. Open the system OA12.
Click on More Actions => Create Interface Tables.
Check the desired Interface Table them click on Create button.
Observation: This action will delete and recreate the interface table. If you need to keep the data on the interface table you must create a backup of it. One way to do that is checking the field “Rename Existing”, Maximo will rename the existing interface table with all data.
- In SQL Plus, connect as the MAXORA user to the Oracle E-Business Suite database.
Specify the following command to list the parameters that are defined in the setofvar.sql script:
SQL> start Maximo_root\ORACLEAPIS\install\setofvar
This command lists the install parameters that are defined in the setofvar.sql script.
Specify the following command to run the install.sql script:
SQL> start &InstallDir.install
In the Maximo_root\ORACLEAPIS\log\install.out directory, open the install.out file and check the file for any errors.
Observation: If you do not create a new field on Maximo and want to use a field that already exist you can skip this step.
- Open the user exit procedure. On my example the procedure is MOF_USR_LC_SP.
If you do not know what is your User exit procedure check this document:
http://www.ibm.com/support/knowledgecenter/SSLKYL_7.6.0/com.ibm.meaora.doc_7.6.0/pdf_meaora_sag.pdf
Observation: Do not update the Business Logic Procedures. If you do that you will not have support and your changes could be overwritten after you apply a IFIX or fixpack.
A good tip here is to have the User Exit procedures starting with "MOF", as you can see in my example : MOF_USR_LC_SP.
Business Logic procedures start with “API”, like API_LC_SP.
Search for on the User Exit procedure:
/*
* Start user routine
*/
Then you can make your changes after that. On my test I will just send a fixed string using the follow code:
MXLABREC.testfield := 'TESTFIELD STRING';
Compile your code.
- Now you environment is ready. To test if my code is working I will synchronize the Oracle Employees. Follow the steps below:
Login to SQL* Plus, then enter the following commands:
SQL> start c:\MAXIMO\ORACLEAPIS\install\setofvar <Enter>
SQL> start &InstallDir.synclabor <Enter>
When prompted, press Enter.
Enter an Oracle business group ID from the list of IDs displayed on your screen, and then press Enter.
UID
ibm11131183