Upgrading from UC4: Operations Manager to UC4 Automation Engine V9 - :STOP MSG, JOBG (groups), CINT,

Document ID : KB000088984
Last Modified Date : 14/04/2018
Show Technical Document Details
Issue:
Upgrading from UC4: Operations Manager to UC4 Automation Engine V9 - :STOP MSG, JOBG (groups), CINT,
Resolution:
Detailed Description and Symptoms

When updating from an earlier version of Automic:Operations Manager to Automic Automation Engine V9, there are a number of script statements and object attributes that are no longer supported.  All of these are outlined in the V9 documentation under Modification Archive, Modifications in Version 9.00A, Release Notes Version 9.00A. 

The following information includes SQL statements that will help find instances of these objects that need to be changed in order to be more prepared for an upgrade. 

These may not retrieve all information necessary, but should retrieve most of it. 
Modifying the objects returned by these SQL statements is not a function that can be done from the backend and must be done from the GUI.

Automic does not recommend running SQL statements against a live production database.  Instead, we suggest that these are run against a database that mirrors a production database.

If you require a dedicated resource to make these changes, please contact Automic Support who can then get you in touch with our Global Support Organization (GSO) group to dedicate a remote or on-site visit.  GSO consulting may require a fee.


Solution
:STOP MSG

In Automic Automation Engine V9, the script element :STOP in combination with the stop mode "MSG" can only be used for the error numbers 50-59. If you execute it using a different number, the script aborts and an error message is output that informs about the fact that the error number is not valid. The following SQL statement will retrieve a list of all objects with a :STOP MSG, showing their Name, Type, and Client, as well as the ot_type (0=normal Script, 1=Preprocessing Script 2=Postprocessing Script, 3=inheritable Postscript), the line number in the process tab, and the content to look for.  This should help in finding these lines before an upgrade.

select oh_name, oh_otype, oh_client, ot_type, ot_lnr, ot_content from OH, ot where OT_OH_Idnr = OH_Idnr and OT_Content like '%STOP% MSG%'


Group (JOBG) objects with Execution of "Automatically (queue)"

If before you had a JOBG (Group) object that was set to Execution of "Automatically (queue)", this will be removed as this option has been removed.  Any jobs using this group will automatically be moved to the Client Queue object in V9.  The following SQL statement will provide a list of all group objects that use Execution with "Automatically (queue)".  If no rows are returned, this does not affect the system.
select oh_idnr, oh_name, oh_client, OGA_Perm from OH, OGA where OH_Idnr = OGA_OH_Idnr and OGA_Perm = 1;

If the above returns rows, then the following will return what the object name, client, and JOBG for objects that use the group objects from above:

select oh_name, oh_otype, oh_client, JBA_StartType
from oh, jba
where oh_idnr = JBA_oh_idnr and JBA_StartType in
 (select oh_name
  from OH, OGA
  where OH_Idnr = OGA_OH_Idnr and OGA_Perm = 1);

One way to deal with these if you'd like them to be in a specific queue is to export them from the original system, import them into V9, use a transport case to export them again, and use the db change utility with the attribute QUEUE to change them from the CLIENT_QUEUE to a specific QUEUE.


CINT and CSTR script functions

The functions CINT and CSTR no longer work.  These must be changed to :CONVERT (see V9 documentation).  The following SQL statement will retrieve a list of all objects with a CINT or CSTR function, showing their Name, Type, and Client, as well as the ot_type (0=normal Script, 1=Preprocessing Script 2=Postprocessing Script, 3=inheritable Postscript), the line number in the process tab, and the content to look for:

select oh_name, oh_otype, oh_client, ot_type, ot_lnr, ot_content from OH, ot where OT_OH_Idnr = OH_Idnr and (OT_Content like '%CINT%' OR OT_Content like '%CSTR%');


:PUT_VAR command with commas

In versions before V9, it was possible to use a PUT_VAR statement that put a variable value with commas in it and did not require the value to be within quotation marks.  An example of this is below:
:PUT_VAR VARA.EXAMPLE, "VK", A,B,C,D
In V9, the value must be in quotation marks due to the multiple values now allowed, so the above would need to be changed to:
:PUT_VAR VARA.EXAMPLE, "VK", "A,B,C,D"
Below is a SQL statement that will retrieve a list of all objects with a Process tab that uses a PUT_VAR to update a variable value with commas in it without using quotation marks.

select oh_name, oh_otype, oh_client, ot_type, ot_lnr, ot_content
from OH, ot
where OT_OH_Idnr = OH_Idnr and
OT_Content like '%PUT_VAR%,%,%,%' and OH_OType <> 'XREQ'
and OT_Content not like '%PUT_VAR%,%,%"%"%'
and OT_Content not like '%PUT_VAR%,%,%''%''%';