Knowledge Base > Message Number Change

Message Number Changes

The following pages contain detailed information on the impact of the change of message number digits introduced in Automation EngineThis component drives an Automation Engine system and consists of different types of server processes. v10.0.5 and the available solutions or workarounds.

Message Number changed from 7 to 8 digits

What was changed

The length of message numbers has changed with Version 11.1 from 7 to 8 digits.
For example:   
V10.0:  U0003488 Server 'WP' was started as instance '1'.
V11.1:  U00003488 Server 'WP' was started as instance '1'. 

Why this change

The change was introduced with an enhancement to enable an independent releaseReleases combine a set of activities and a set of packages as well as other release artifacts under a timeline (a plan including milestones and phases), which can be planned, baselined and tracked. cycle for API.

The enhancement deals with custom contents which is presumably not developed by Automic. Such objects contain messages and captions.
All language dependent texts (messages and captions) are maintained at a central location.
In order
to be able to distinguish between custom and Automic messages and captions the number of digits was increased to 8. 

Details

Table: Possible impact on customers and solutions

No.

What

Solution

1

Filter objects

Filter objects are intended to scan for string patterns and might break.


Filter example:

Filter objects must be adapted. The objects can be found by simply searching them with the GUI search feature or
on databaseA database is an organized collection of data including relevant data structures. level, by submitting a query such as:

 

select OH_Client, OH_Name, OFC_SrcName, OFC_FilterText
from OH, OFC
where OH_Idnr = OFC_OH_Idnr
and OH_DeleteFlag = 0
and OFC_FilterText like '%U[0-9][0-9][0-9][0-9][0-9][0-9][0-9]%'

The SQL above queries exactly for the pattern "Unnnnnnn". If there are other patterns such as "Unn*", the query
must be changed accordingly.

Example result of the query:

OH_Client

OH_Name

OFC_SrcName

OFC_FilterText

50

FILTER.OUTPUT.NEW.1

LOG

U0003488

The query found the filter objectAutomation Engine controlled activities and processes are structured in the form of objects. See also: Task shown left.

2

Pre-Process/Process/Post-Process tabs of executable objects:

:SET &hnd = PREP_PROCESS_REPORT(,,ACT)
:PROCESS &hnd
:  SET &line GET_PROCESS_LINE(&HND)
:  IF STR_FIND(&line,"U2004943"<> 0
:   MODIFY_STATE RETCODE 50
:  ENDIF
:ENDPROCESS

The scriptA particular Automation Engine object type. on the left contains an STR_FIND() functionPre-defined run book template in the Automation Engine. One single step only, e.g. Start Windows Service, Copy file,… to find a message number with pattern "Unnnnnnn".

To find all scripts with the same pattern, the following SQL can be used:

select OH_Client, OH_Name, OT_Lnr, OT_Content
from OH, OT
where OH_Idnr = OT_OH_Idnr
and OT_Content like '%U[0-9][0-9][0-9][0-9][0-9][0-9][0-9]%'
and OH_DeleteFlag = 0

The SQL above queries exactly for the pattern "Unnnnnnn". If there are other patterns such as "Unn*", the query
must be changed accordingly.

Example result of the query:

OH_Client

OH_Name

OT_Lnr

OT_Content

50

SAP.06.20.JOBS.DISTRIBUTE

1

:SET &hnd PREP_PROCESS_REPORT(,,ACT,'*U2004943*','Col=delimiter',"delimiter=@;@")

50

R3_GET_JOBS

5

:  IF STR_FIND(&line,"U2004943"<> 0

50

JS.SAP.BDC.CHECK

1

:SET &hnd PREP_PROCESS_REPORT(,,ACT,'*U2004943*','Col=delimiter',"delimiter=@;@")

50

INCLUDE_JOB_SAP_ALL_POST_SCRIPT

67

:     IF &MSGID# 'U2004005'

50

UC4TST.INC0314902.SCRIPT.GAR_##STATUS_1900##.SCRI

9

:SET &hnd# PREP_PROCESS_REPORT(,&RUNID_EVENT#,"ACT","*U0020206*Test string*")

The query found the object shown on the left.

 

3

Custom Application Programs

Custom applicationAn application is a software which helps a user to fulfill specific tasks. In the context of ARA see also: Application entity. programs, which parse log files of Automic components, must be adopted.
Although the uc4.jar is not affected by any incompatible change, application programs must be checked for reportA report provides more detailed information about a task's execution or a component. scans. 

4

Call API for SAP ABAP
The ABAP call API returns the message in a String:

  call function 'UC4' destination 'UC4DSP'
        exporting client = p_clint
                 trcflg = '0'
                 userabtl = p_abtei
                 username = p_usern
                 userpass = p_passw
                 queue = p_queue
        importing msg = o_msg
                  run = o_run
       tables    script = uc4_script
        exceptions
                  logon_failed = 1
                  others = 99.

o_msg would contain "Unnnnnnnn ..." (new format)

If an ABAP program uses the call API, they must be checked on how they deal with the returned string.

5

Call API for Java 
The Java Call API returns the message number as String

String msg = uc4.activateScript(":stop msg,50,\"Hello World\"");
System.out.println(msg);

Output:

U00000050 Hello World (new format)

If such clientA closed environment within an Automation Engine system where you can create and run objects. A client name consists of a 4-digit number that must be indicated when a user logs on to the Automation Engine system. Users and their rights are also defined in clients. A particular Automation Engine object type. programs are in place, they must be checked on how they deal with the returned string.

Additional impact on customers running components of different Versions

Be aware that to change everything to the new message format "Unnnnnnnn" requires all components to be from Version 11.1.
Although the old message format and the new message format never can be mixed within one report or within one log file, it might happen that old components are in place and create output in the former format.


Example:  

Running an SAP agentA program that enables the de-centralized execution of processes (such as deployments) on target systems (computers or business solutions) or a service that provides connectivity to a target system (such as for databases or middleware). An agent is also an object type in the Automation Engine. [Formerly called "Executor."] See also: host V10 against Automation Engine V11.1 would cause 2 different logs:

Activation Log (NEW format - created from the Engine)
2015-08-19 10:42:29 - U00020206 Variable 'LINK#' was stored with value 'http://www.uc4.com'.

 

Agent Log (OLD format - created from the agent)

2015-08-19 10:42:29 - U2000005 Job 'JOBS.SAP.01' with RunID '5124035' started.
2015-08-19 10:42:29 - U2004018 The job was successfully interpreted.
2015-08-19 10:42:29 R3_ACTIVATE_REPORT REPORT="RSPO0041",COVERPAGE="YES",VARIANT="STANDARD",ABORTED="NO"
2015-08-19 10:42:29 - U2004024 SAP job 'XBP_TEST_1' with number '10422000' was created successfully.
2015-08-19 10:42:29 - U2004020 ABAP Program 'RSPO0041' was scheduled with variant 'STANDARD' .
2015-08-19 10:42:29 - U2004005 SAP job 'XBP_TEST_1' with number '10422000' was released.
2015-08-19 10:42:29 - U2004073 SAP job 'XBP_TEST_1' with number '10422000' is now active.
2015-08-19 10:42:30 - U2004027 SAP job 'XBP_TEST_1' with number '10422000' ended normally.
2015-08-19 10:42:30 - U2004026 Job script ended normally.

Hence in such cases please consider the following procedures:

If old and new versionsAn application version holds zero or more deployment packages and may have dependencies to zero or more application versions of the same (or to different) applications are in place at the same time, the sripts/filters need to be changed, so that they distinguish between versions of the data source.

  1. Distinguish in a Filter object (Filter tab): Apply an OR combination such as


  1. Distinguish in scripts: Based on the agent version

Scripts can distinguish between agent versions thus:

  1. Pull the agent listShows entities in a grid view with a query such as this:

select oh_name, host_htyp_hw, host_htyp_sw, host_hostAttrType, host_version, host_hostroles from oh, host
where oh_otype = 'HOST'
and oh_deleteflag = 0
and oh_idnr = host_oh_idnr

  1. Push the list of agents to a static Variable object with a script such as:

:SET &hnd# = PREP_PROCESS_VAR('VARA.SQLI.HOST')
:PROCESS &hnd#
SET &host#=GET_PROCESS_LINE(&hnd#,1)
:  SET &version#=GET_PROCESS_LINE(&hnd#,6)
:  PUT_VAR'VARA.STATIC.HOST',&host#,&version#
:ENDPROCESS

  1. Grab the version of an agent with GET_VAR in order to be able to distinguish:

:SET &hostname# = GET_ATT('HOST')
:SET &version# = GET_VAR('VARA.STATIC.HOST','&hostname#')
:IF &version# = ' '
:...

 

 

 

 

 


Automic Documentation - Tutorials - Automic Blog - Resources - Training & Services - Automic YouTube Channel - Download Center - Support

Copyright © 2016 Automic Software GmbH