Package: Report about Modifications
The module searches for modifications of all packages in the client, that have been made after the last build. The last build is identified by the timestamp in the metadata variable or if not found be the timestamp of the last modification of the metadata variable. The results of the analysis are stored in the structured documentation of a given object.
Designation
- Name
- pm.ReportModifications
- Aliases
- ReportModifications
Configuration
- Ausgabe
- Optionen
- Object for structured documentation (
structured-docu
) - If given the information are stored in the structured documentation of the object
- Connection (
structured-docu-connection
) - if given the object for the structured documentation is used in the given connectionMögliche Werte: <TabItem b4A Verbindungen>
- Name of structured documentation (
structured-docu-name
) - Defines the name of the tab of the structured documentation that should be used. If empty the first one is chosen.
- empty structured documentation first (
structured-docu-reset
) - if set the structured documentation of the object is emptied first
- XML Variable (
xml-variable
) - name of the XML variable object used to store the information
- XML Variable Source Connection (
xml-variable-source
) - If given it defines an alternative b4A connection where to find the variable objectMögliche Werte: <TabItem b4A Verbindungen>
- Package (
package
) - Name of the package
- Detaillierte Ausgabe (
detailed-output
) - Ist die detaillierte Ausgabe aktiviert, so werden für die Ausgabe in einer XML-Variable detailliertere Informationen über die Änderungen an den einzelnen Obejkten protokolliert. Auf die Ausgabe in eine strukturierte Dokumentation hat dieser Modus keine Auswirkungen.
- Exclude Packages (
exclude-packages
) - Exclude any package from the report that matches at least one of the given patterns
- Exclude Objects (
exclude-objects
) - Exclude any object from the report that matches at least one of the given patterns
Description
If no package is specified when the module is called, the following information is provided for each installed package that contains changes after the last build. The following attributes are displayed for the package itself:
- Package name
- Version number
- Time of creation of the release
- Time of installation
- Dependency definition
The following data is recorded for the individual modified objects:
- Object name
- Change date
- User
Output format XML variable
The report on the modified b4A packages looks like the XML document in the following example.
<?xml version="1.0" encoding="UTF-8"?>
<best4Automic version="4.4.0">
<pm>
<metadata>
<entry key="Built On" value="2021-02-15 13:59:11"/>
<entry key="Initialized On" value="2021-01-12 16:49:50"/>
<entry key="Installed On" value="2021-02-15 13:59:11"/>
</metadata>
<folder>PACKAGES/BEST4AUTOMIC/B4A.PM</folder>
<modifications>
<object date="2021-02-15 13:59:11"
name="B4A.PM.VARA.METADATA" user="ABUESCHING/BBC"/>
</modifications>
</pm>
</best4Automic>
Within the XML variables used, a separate key is created for each package corresponding to the filter. The XML structure shown is created within the corresponding key for each package with modifications.
Example to determine the modifications. All entries are listed that have an entry in the date attribute.
/best4Automic/pm/modifications/object[@date]
If the option for detailed output is set, b4A tries to find out exactly what has changed in the object based on the last previous version before the release build of the modified objects. The object tag also contains additional information as to whether the object is new or whether it has been modified. The supported attributes per object type are listed below.
*All objects
- Object name
- Title
- Archive term 1
- Archive term 2
*All startable objects
- Active
- Individual attributes
*JOBI
- Process
*JOBF
- Process
- Post-process
- Automatic deactivation
- Deactivate after completion
- Deactivate after x minutes
- AE Priority
- Time zone
- Internal cost center
- Advanced reports
- Generate task at activation time/at runtime
- Attribute dialog on activation
- Queue
- Allow <x> concurrent executions
- Remaining tasks (for simultaneous executions)
- Source settings
- Agent
- Login
- Code
- File
- File attributes
- Target settings
- Agent
- Login
- Code
- File
- File attributes
- Transfer settings
- File format
- Keep original file attributes
- Compression
- File exists
- Delete source file
- Use wildcards
- Abort on first error
- Include subdirectories
- Transfer entire folder structure
*JOBS
- Pre-process
- Process
- Post-process
- Child-Post-Process
- Agent type
- Agent
- Login
- Code table
- Automatic deactivation
- Deactivate after termination
- Deactivate after x minutes
- AE Priority
- Time zone
- Internal cost center
- Advanced reports
- Generate task at activation time/at runtime
- Attribute dialog on activation
- Queue
- Allow <x> concurrent executions
- Remaining tasks (for simultaneous executions)
SCRI
- Process
- Automatic deactivation
- Deactivate after completion
- Deactivate after x minutes
- AE Priority
- Time zone
- Internal cost center
- Advanced reports
- Generate task at activation time/at runtime
- Queue
- Allow <x> concurrent executions
- Remaining tasks (for simultaneous executions)
*JOBG
- Process
- Automatic deactivation
- Deactivate after completion
- Deactivate after x minutes
- Time zone
- Advanced reports
- Generate task at activation time/at runtime
- Queue
- Child tasks queue
- Allow <x> simultaneous executions
*JSCH
- Process
- AE Priority
- Period change
- Period duration
- Time zone
- Extended reports
- Generate task at activation time/at runtime
- Queue
- Allow <x> concurrent executions
- Remaining tasks (for simultaneous executions)
EVNT (DB)
- Process
- Event process
- Automatic deactivation
- Deactivate after completion
- Deactivate after x minutes
- AE Priority
- Time zone
- Internal cost center
- Advanced reports
- Generate task at activation time/at runtime
- Queue
- Allow <x> concurrent executions
- Remaining tasks (for simultaneous executions)
EVNT (TT)
- Process
- Event process
- Automatic deactivation
- Deactivate after completion
- Deactivate after x minutes
- AE Priority
- Time zone
- Internal cost center
- Advanced reports
- Generate task at activation time/at runtime
- Queue
- Allow <x> concurrent executions
- Remaining tasks (for simultaneous executions)
EVNT (FT)
- Process
- Event process
- Automatic deactivation
- Deactivate after completion
- Deactivate after x minutes
- AE Priority
- Time zone
- Internal cost center
- Advanced reports
- Generate task at activation time/at runtime
- Queue
- Allow <x> concurrent executions
- Remaining tasks (for simultaneous executions)
EVNT (CONS)
- Process
- Event process
- Automatic deactivation
- Deactivate after completion
- Deactivate after x minutes
- AE Priority
- Time zone
- Internal cost center
- Advanced reports
- Generate task at activation time/at runtime
- Queue
- Allow <x> concurrent executions
- Remaining tasks (for simultaneous executions)
*CALL
- Process
- Automatic deactivation
- Deactivate after completion
- Deactivate after x minutes
- AE Priority
- Escalate after x minutes
- Escalation object
- Notification priority
- Notification type
- End current notification
- Send additional e-mail
- SNMP link
- Time zone
- Internal cost center
- Extended reports
- Generate task at activation time/at runtime
- Queue
- Allow <x> concurrent executions
- Remaining tasks (for simultaneous executions)
*JOBQ
- Process
- Post-process
- AE Priority
- Time zone
- Internal cost center
- Extended reports
- Generate task at activation time/at runtime
- Queue
- Allow <x> simultaneous executions
*JOBP
- Process
- Automatic deactivation
- Deactivate after completion
- Deactivate after x minutes
- AE Priority
- Inherit AE priority to child tasks
- Assign same agents if tasks are running in the same agent group
- Time zone
- Internal cost center
- Advanced reports
- Generate task at activation time/at runtime
- Queue
- Allow <x> concurrent executions
- Remaining tasks (for simultaneous executions)
JOBP (Foreach)
- Process
- Automatic deactivation
- Deactivate after completion
- Deactivate after x minutes
- AE Priority
- Inherit AE priority to child tasks
- Assign same agents if tasks are running in the same agent group
- Time zone
- Internal cost center
- Advanced reports
- Generate task at activation time/at runtime
- Queue
- Allow <x> concurrent executions
- Remaining tasks (for simultaneous executions)
JOBP (If)
- Process
- Automatic deactivation
- Deactivate after completion
- Deactivate after x minutes
- AE Priority
- Inherit AE priority to child tasks
- Assign same agents if tasks are running in the same agent group
- Time zone
- Internal cost center
- Advanced reports
- Generate task at activation time/at runtime
- Queue
- Allow <x> concurrent executions
- Remaining tasks (for simultaneous executions)
The result with detailed output switched on looks like this.
<?xml version="1.0" encoding="UTF-8"?>
<best4Automic version="4.4.0">
<pm>
<metadata>
<entry key="Built On" value="2021-02-15 13:59:11"/>
<entry key="Initialized On" value="2021-01-12 16:49:50"/>
<entry key="Installed On" value="2021-02-15 13:59:11"/>
</metadata>
<folder>PACKAGES/BEST4AUTOMIC/B4A.DEMO</folder>
<modifications>
<object date="2025-04-03 13:57:25" name="B4A.DEMO.JOBP.AD-HOC-EXECUTION" status="new" user="DEMO/B4A"/>
<object date="2025-04-09 16:41:53" name="B4A.DEMO.JOBF.COPY-SAP-DEFINITION-FILE" status="modified" user="DEMO/B4A">
<old>
<automicObject type="FileTransfer">
<header>
<title/>
<archiveKey1/>
<archiveKey2/>
<active>false</active>
</header>
<process/>
<postProcess/>
<attributes>
<timezone/>
<generateAtRuntime>false</generateAtRuntime>
<queue>CLIENT_QUEUE</queue>
<intAccount/>
<priority>0</priority>
<maxParallel>
<parallelTasks>0</parallelTasks>
</maxParallel>
<attributeDialog>false</attributeDialog>
<deactivateCondition>
<when/>
<type>ALWAYS</type>
<delay>0</delay>
</deactivateCondition>
</attributes>
<settings>
<sourceAgent>B4ABUILD-WIN</sourceAgent>
<destinationAgent>B4L-WEB-UX</destinationAgent>
<sourceLogin>B4A.PM.LOGIN.GIT</sourceLogin>
<destinationLogin>B4A.WEB.LOGIN.REST</destinationLogin>
<sourceFile>SrcFile</sourceFile>
<destinationFile>DstFile</destinationFile>
<sourceCodeTable>EBCDIC_00037</sourceCodeTable>
<destinationCodeTable>BS2000_DEUTSCH</destinationCodeTable>
<compression>DEFAULT</compression>
<wildcards>false</wildcards>
<includeSubDirectories>false</includeSubDirectories>
<eraseSource>false</eraseSource>
<format>TEXT</format>
<fileExistsAction>CANCEL_TRANSFER</fileExistsAction>
<keepFileAttributes>false</keepFileAttributes>
<abortAtFirstError>false</abortAtFirstError>
<transferFolderStructure>false</transferFolderStructure>
</settings>
</automicObject>
</old>
<new>
<automicObject type="FileTransfer">
<header>
<title>Transfers the SAP job definition file from the tomcat server to b4A server</title>
<archiveKey1>some</archiveKey1>
<archiveKey2>thing</archiveKey2>
<active>false</active>
</header>
<process>
<![CDATA[:print something]]>
</process>
<postProcess>
<![CDATA[:print something more
:print and more]]>
</postProcess>
<attributes>
<timezone>TZ.GER</timezone>
<generateAtRuntime>true</generateAtRuntime>
<queue>QUEUE.NEW.1</queue>
<intAccount>foo</intAccount>
<priority>3</priority>
<maxParallel>
<parallelTasks>15</parallelTasks>
</maxParallel>
<attributeDialog>true</attributeDialog>
<deactivateCondition>
<when>
<name>ENDED_EMPTY</name>
<state>0</state>
</when>
<type>AFTER_ERROR_FREE_EXECUTION</type>
<delay>2</delay>
</deactivateCondition>
</attributes>
<settings>
<sourceAgent>SYS.SETTINGS.HOSTG.UNIX</sourceAgent>
<destinationAgent>SYS.SETTINGS.HOSTG.WINDOWS</destinationAgent>
<sourceLogin>SYS.SETTINGS.LOGIN.ALL</sourceLogin>
<destinationLogin>SYS.SETTINGS.LOGIN.ALL</destinationLogin>
<sourceFile>&B4D_SOURCE_FILE_O#</sourceFile>
<destinationFile>&B4D_DEST_FILE_O#</destinationFile>
<sourceCodeTable/>
<destinationCodeTable/>
<compression>YES</compression>
<wildcards>true</wildcards>
<includeSubDirectories>true</includeSubDirectories>
<eraseSource>true</eraseSource>
<format>BINARY</format>
<fileExistsAction>OVERWRITE_FILE</fileExistsAction>
<keepFileAttributes>true</keepFileAttributes>
<abortAtFirstError>true</abortAtFirstError>
<transferFolderStructure>true</transferFolderStructure>
</settings>
</automicObject>
</new>
</object>
</modifications>
</pm>
</best4Automic>