First of all, we need to have interface/intermediate tables
to import something into Maximo from an external/3rd party database.
Suppose we want to import some inventory data or for instance we try to figure
out with a real example. Let’s assume we need to import data from a legacy
application into Maximo. That legacy application is actually an inventory
issuance system already implemented somewhere, we have to integrate it with New
Maximo Inventory system.
MATRECTRANS tables is actually the main table to
To import data into Maximo, few steps are required to
configure step by step.
1. Object Structure (OS)
2. End Point (EP)
3. Enterprise services (Inbound or to
import data) (ES)
4. Publish Channel (Outbound or export
data, we will not use in this case) (PC)
5. and Combine above all into an
External System (ExS)
6. Generate Interface tables
7. Configure Cron task for Scheduling
(CT)
8. Done. Now insert data into Interface
tables and Maximo will read as per given schedule in CT.
Object Structures (OS)
Go to > Integration > Object
Structures
Filter a record with this name
MXINVISSUE and duplicate it
Name: AQINVISSUEOS
Description: AQ Inventory Issue Object Structure
Support Flat file: yes
Click on Exclude/Include Fields from
Actions Menu
Select desired fields only remaining can
be excluded.
Below mentioned are some of the required
fields to be entered in this scenario.
ACTUALDATE
GLDEBITACCT
ISSUETYPE
ITEMNUM
MATUSETRANSID
QUANTITY
OWNERSYSID
SITEID
SITEID
End Point (EP)
Go to > Integration > End Points
Filter a record with this name
MXIFACETABLE and duplicate it
End Point: AQIFACETABLEEP
Description: AQ Interface Table End Point
Driver: COM.ibm.db2.jdbc.app.DB2Driver (DB2 in my case)
oracle.jdbc.driver.OracleDriver (if oracle)
IsRemote: 0 (if database is remote then 1)
Password: *********
URL = jdbc:db2:// maxserver:50005/maxdb76 (db2 in my case)
jdbc:oracle:thin:@maxserver:50005:maxdb76 (if oracle)
Username: maximo
Enterprise Service (ES)
Goto > Integration > Enterprise
Services, Create new record
Enterprise Service: AQINVISSUEES
Description: AQ Inventory Issue ES
Operation: Sync
Object Structure: AQINVISSUEOS
Interface table: MXIFACE_INVISSUE (Custom name, will be the
name of the table for interfacing)
External System (ExS)
Goto > Integration > External Systems,
Create new record
External System: AQINVISSUEExS
End Point: AQIFACETABLEEP
Enabled?: Yes
Outbound Sequential Queue: jms/maximo/int/queues/sqout
Inbound Sequential Queue: jms/maximo/int/queues/sqin
Inbound Continuous Queue: jms/maximo/int/queues/cqin
And Now go to Enterprise Service Tab and attach newly
created ES named AQINVISSUEES
Enabled: Yes
Use Continuous Queue: Yes
Create Interface Tables (IFT)
Now Click Create Interface tables from Action Menu, a popup
will appear
And hit Create, it will take a minute or two
We will see 3 tables in our database, 2 default interfacing
and 1 our custom table
MXIN_INTER_TRANS
for inbound que
MXOUT_INTER_TRANS
for outbound que
MXIFACE_INVISSUE this
one is our table which is created for actually data from our desired OS
Cron Task (CT)
Go to > System Configuration >
Platform Configuration > Cron Task Setup
filter JMSQSEQCONSUMER,
it must be Active
now again filter this record
IFACETABLECONSUMER, and create a New Cron task Instance within this CT
Instance Name
AQInventoryIFace
Schedule: 30 secodns
Active: Yes
End Point: AQIFACETABLEEP
QUEUETABLE: mxin_inter_trans (default)
Now insert data into newly created tables and watch after
desired scheduled time in MATRECTRANS table.
Test Insert statement is written below for your ease:
1 MXIN_INTER_TRANS table, for inbound ques and
Field
|
Value
|
Additional Comment
|
ACTION
|
Add
|
Must be "Add". "AddChange" is not supported.
|
IFACENAME
|
AQINVISSUEES
|
i.e., the name of the Enterprise Service object.
|
IMPORTMESSAGE
|
NULL
|
Do not set.
|
EXTSYSNAME
|
AQINVISSUEExS
|
i.e., the name of the External System object.
|
TRANSLANGUAGE
|
NULL
|
Do not set.
|
TRANSID
|
<Any unique numeric ID>
|
Must be a unique numeric record ID.
|
2
for MXIFACE_INVISSUE
Field
|
Value
|
Additional Comment
|
ACTUALDATE
|
<Actual datetime value>
|
|
GLDEBITACCT
|
<Any valid GL account>
|
The GL account must exist in Maximo
|
ISSUETO
|
<Any person ID> or NULL
|
The Person ID must exist in Maximo
|
ISSUETYPE
|
ISSUE
|
Must be "ISSUE".
|
ITEMNUM
|
<Any item code>
|
The item code must exist in Maximo.
|
QUANTITY
|
<Actual issue quantity>
|
Any positive value.
|
SITEID
|
<Any site ID>
|
The Site ID must exist in Maximo.
|
SENDERSYSID
|
AQINVISSUEExS
|
i.e., the name of the External System object.
|
STORELOC
|
<Any storeroom name>
|
The storeroom name must exist in Maximo.
|
TRANSID
|
<Any unique numeric ID>
|
Must use the same record ID as defined in the MXIN_INTER_TRANS table.
|
TRANSSEQ
|
1
|
Check your inbound interface queue table (i.e.,
MXIN_INTER_TRANS) for the followings:
If your record is still there and there is no message under
the IMPORTMESSAGE field, check your External System object and your Enterprise
Service object to make sure they are enabled. Also, check the schedule for your
IFACETABLECONSUMER cron task to see how often it is set to run.
If your record is still there and there is a message under
the IMPORTMESSAGE field, read what the message is and then fix it accordingly.
If your record is no longer there, you will need to launch
the Message Reprocessing application to find out what the error is and resolve
it from there.
Reference: http://www.xcentricway.ca/tutorial02.htm
This comment has been removed by the author.
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDelete