Wednesday, November 10, 2021

Repoint References from Original to New Cloned Application

In Maximo projects, we always need to have a custom application that used to be a minimal version of original base application. 

If it is developed at the beginning of the Implementation, then it will be straight forward method for providing access, referring it in Start center, creating reports etc., In case, it was requested after the Original application is used for sometime, then we need to repoint the references from Original to newly cloned application. 

For example, if we clone an Original Application (like WOTRACK) to New Application (C_WOTRACK), there will be a few references like below are need to be updated. 

  •  The User created queries need to be copied to new application

insert into query (app,clausename,owner,description,clause, ispublic,queryid, langcode,intobjectname, priority, isuserlist, notes)  (select  'WOTRACK' as app , clausename, owner , description, clause, ispublic, queryseq.nextval as queryid, langcode, null as intobjectname, null  as priority,  isuserlist, null as notes from maximo.query  where app = 'C_WOTRACK' ) ;

  • Reports need to be migrated to New application
  • The Start center references need to be updated to new application

update layout set queryapp = 'C_WOTRACK' where queryapp = 'WOTRACK' ;

-- layout will repoint the link in the query result set

update faconfig set app = 'C_WOTRACK' where app = 'WOTRACK' ;

-- it will update the favorite application in the layout

update ACTIONSCFG set app = 'YHNKWOTRACK' where app = 'WOTRACK' ;

-- it will update the quick insert links in start center layout

  • Delete the authorization of original application for Users and copy the same access to new application in Security Group

insert into applicationauth (groupname, app, optionname, applicationauthid , conditionnum ) (select groupname , 'C_WOTRACK' as app, optionname, APPLICATIONAUTHSEQ.nextval as applicationauthid, conditionnum  from  maximo.applicationauth where app = 'WOTRACK' and groupname not in  ('MAXADMIN' , 'MAXEVERYONE' , 'MAXDEFLTREG' ,'ANYWHERE_TECHNICIAN', 'ANYWHERE_APPROVER' ,'ANYWHERE_INSPECTOR' ) ) ;

delete from applicationauth where groupname not in  ('MAXADMIN' , 'MAXEVERYONE' , 'MAXDEFLTREG' ,'ANYWHERE_TECHNICIAN', 'ANYWHERE_APPROVER' ,'ANYWHERE_INSPECTOR') and app = 'WOTRACK' ; 

We don't need to modify the maxadmin and other Out of box groups which might affect Integration or other basic functions. 

  • Create a new Object Structure for reporting (similar to REP_WORKORDER) for newly created application. It is needed for creating adhoc report by users
  • Hide the original application from the Users view and position the cloned application in same place as original application. We need to restart the application servers for reflecting this change in Maximo

 update MAXMENU set position = XXXXX , image = 'appimg_wotrack.gif'  where menutype = 'MODULE' and elementtype = 'APP' and moduleapp = 'WO' and keyvalue = 'C_WOTRACK' ;

 -- XXXXX value should be lower than original application position. for example, if WOTRACK position is 11180, then C_WOTRACK is 11175

 update MAXMENU set visible = 0 where menutype = 'MODULE' and elementtype = 'APP' and moduleapp = 'WO' and keyvalue = 'WOTRACK' ;

-- visibility of original application is set 0, so that it wont be displayed in menu lookups and Work order module.