Pages

Tuesday, February 28, 2012

Deleting integration messaging information from message tracking application

Run the following commands

Delete from MAXINTMSGTRK;
Delete from MAXINTERROR;
Delete from MAXINTERROREXTRACT;
Delete from MAXINTERRORMSG;
Delete from MAXINTMSGTRKDTL;

Tuesday, February 14, 2012

Auto numbering while importing data using MEA / MIF

Normally for application where we have auto numbering enabled to key field, we want this to applicable while creating the data using integration framework as well.
This can be achieved using following steps.
  1. Make sure the auto numbering is set for the keyvalue in the database configuration and Organization application.
  2. For the object structure restirct that attribute from inbound using Inbound Setting Restriction select action. This will make sure that if the record incoming record is existing then it will update the existing else it will create a new record with next values in the sequence for autokeyed attribute

Throw custom error msg on saving record without java customization

There could be scenarios when you want to custom error message based on some condition only while saving record but not while giving values to field.
If it is needed to while entering the values to some fields then this can be achieved using Tabledomain with proper condition and giving msggroup and msgkey values.

There are 2 ways to throw error message while saving the records based on some condition.
  1. Create a new workflow having ur business logic and add the workflow to your application save button using option edit workflow Go buttons for the newly created workflow.
  2. Second way of achieving is using integration framework
    • Create publish channel on the object on which the application is created
    • Create a new processing rule with stop action and give the applicable condition using the Add / Modify condition and then give proper message key value. This message key value should be having message group as iface.
    • Create a rule to skip the record in all conditions so that the interface is used only for throwing the error message
    • Enable the publish channel.
Note: Second option will not work if the Admin mode is turn ON, as in Admin mode all the events will be disabled so the event listener will not work.

Workflow and Escalation migration where clause

--Query to get the Syncronised processnames.

select processrev,processname,mainprocess from maximo.wfrevision  where mainprocess =  'ITDCHGSAVE'  and revision =(select max(revision) from maximo.wfrevision where mainprocess =  'ITDCHGSAVE' ) order by processname for read only

--Communication template used in workflow

select templateid from maximo.commtemplate where templateid in (select templateid from maximo.wfnotification  where (processname,processrev) in (select processname,processrev  from maximo.wfrevision  where mainprocess =  'PMCHGITLV3'  and revision =(select max(revision) from maximo.wfrevision where mainprocess =  'PMCHGITLV3' ) order by processname)) or templateid in (select templateid from maximo.ESCNOTIFICATION where escalation in ('ITDCHGRAUTO','ITDCHAPRGRCOMP'))

--Action and Action groups in the workflow.

select action from maximo.action where action in (select action from maximo.wfaction where (processname,processrev) in (select processname,processrev  from maximo.wfrevision  where mainprocess =  'PMCHGITLV3'  and revision =(select max(revision) from maximo.wfrevision where mainprocess =  'PMCHGITLV3' ) order by processname)) or action in (select action from maximo.ESCREFPOINT where escalation in ('ITDCHGRAUTO','ITDCHAPRGRCOMP'));



--Role from maximo.workflows.

Select maxrole from maximo.maxrole where maxrole in (select sendtovalue from maximo.COMMTMPLTSENDTO where type='ROLE' and templateid in (select templateid from maximo.wfnotification  where (processname,processrev) in (select processname,processrev  from maximo.wfrevision  where mainprocess =  'PMCHGITLV3'  and revision =(select max(revision) from maximo.wfrevision where mainprocess =  'PMCHGITLV3' ) order by processname)) or templateid in (select templateid from maximo.ESCNOTIFICATION where escalation in ('ITDCHGRAUTO','ITDCHAPRGRCOMP'))) or maxrole in (select roleid from maximo.WFASSIGNMENT  where (processname,processrev) in (select processname,processrev  from maximo.wfrevision  where mainprocess =  'PMCHGITLV3'  and revision =(select max(revision) from maximo.wfrevision where mainprocess =  'PMCHGITLV3' ) order by processname));

Monday, February 13, 2012

mos#loaderror after dbconfig or on restart

Such cases arises if the MOS are not properly loaded after the dbconfig.
If u can see log of time of dbconfig and if u find any error like mos#loaderror. 

This error occurs when any persistent attributes is excluded from the integration object or a non-persistent attribute is included in the integration object and during the dbconfig these attributes are removed but the reference of these attributes in maxintobjcols is not removed.
In such cases if u are lucky integration wont work only for that interface,  some times whole integration may not work. 

To remove such error check the attribute for which it is giving such errors and remove them from maxintobjcols table. The biggest funny thing is that at one time u can see only one attribute at a time. If there are many such attributes then it may require many restarts of the server.


Thursday, February 9, 2012

BMXAA7942E - This template is being modified by another user

Problem(Abstract)

The BMXAA7942E error message occurs when attempting to click on the "Modify Existing Template" in Start Center in Maximo 7.5

Symptom

The BMXAA7942E error occurs when clicking on the "Modify Existing Template" in Start Center.

Cause

The BMXAA7942E error occurs when someone attempted to modify a Start Center Template, but failed to cancel or save the modification.
User A logs into Maximo, clicks on Modify Existing Template and as soon as he picks a template from the list, the 'Modifying a Template' flag is on. At this stage, only the "Save Template", "Delete Template" and "Cancel Changes" icons will display at the top of the toolbar.
If User A navigates elsewhere or closes his browser without clicking any of these "Save Template" or "Cancel Changes" buttons.
When User B attempts to click on the "Modify Existing Template" next time for the same template, the "BMXAA7942E - This template is being modified by another user " error message will be displayed.

Diagnosing the problem

In the database, the groupname in the SCConfig table for that template is changed to null.

Resolving the problem

To fix this, simply find the templateid that gets this error, then insert the correct value for the groupname for that template and the problem will be fixed.
For example, do a query in the database as follows.
select groupname from scconfig where sctemplateid=5
or
select * from scconfig where groupname is null
If the groupname is null, give it a value and you should be able to proceed with modifying the Start Center template again.

IBM Support 

Not able to View Error Message in Message Reprocessing Application in Cluster Maximo Instance

When there is any error during import or export in via MIF, normally we should be see the error message and do correction from Message reprocessing application.This is very standard process and runs without any issues in a Single server instance.

In clustered instance the error will not viewable from all application servers if the global directory is not setup properly in Maximo. This global directory should be shared file system which is accessible from all application servers. See Setup globaldir.

If globaldir is not setup properly but still you want to view the message then you need to go to specific in which the message is getting processed, normally this will be either Integration or cron task server in clustered environments



Opening Ports in Linux

Follow below instruction

# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# /etc/init.d/iptables restart


Verify that port is open 

netstat -tulpn | less  

Make sure iptables is allowing port 80 / 110 / 143 connections:
iptables -L -n


 

Friday, February 3, 2012

Changing the language of SystemOut.log without changing the operation system’s locale


. Logon to the Websphere Application Server console.
2. Navigate to Servers --> Application Servers --> <server name> --> Process Definition --> Java Virtual Machine.
3. Add the parameters below in the Generic JVM arguments:
-Duser.language=<language code> -Duser.region=<country code>

For example:
if it is a Chinese environment and you want to display English in the SystemOut.log file, you can set
-Duser.language=en -Duser.region=US