Listing forms, filters and escalations by using the Like Operator Object Identifier utility
Use the LIKE Operator Object Identifier and Repair Utility to locate and report or repair the Run If qualifications in forms, filters and escalations where the LIKE operator is used without a wildcard.
The wildcard symbols are interpreted as wildcards only when they are used with the LIKE operator. Otherwise, they are interpreted literally. Conversely, when the LIKE operator is used without the wildcards, the LIKE operator functions like an Equal To (=) operator. This utility provides you with the list of objects and repairs the Run If qualifications. As a part of post-deployment tasks, you must use this utility to check and correct those objects. Otherwise, you might lose your customizations or experience breaking of business logic.
The utility scans the Run If qualifications in all filters and escalations. It will also locate the application form fields that have qualifications in them using an input file that describes the form, qualification field, target form field needed to locate and parse the qualification.
For example, a Run If qualification in a filter may look like this:
This utility will identify this filter and optionally repair the qualification to this:
Before you begin
- Make sure that you navigate to the artools directory and then set the JAVA_HOME path to <Java_Installation_directory>\Java\<jre version> in the Command prompt.
- Make sure you log on to BMC Communities and download the objectswithoutwildcardinlike.zip file on your system.
To run the utility
- Navigate to the directory where you have downloaded the objectswithoutwildcardinlike.zip file and then extract the ZIP file.
At a command prompt, run the utility by using the following command:
For example:objectswithoutwildcardinlike.bat -u Demo -p "" -x server -t portnumber -f "C:\WildcardOutput" -i "C:\AppFormInput.txt" -b "C:\WildcardBackup"(Windows) Run the objectswithoutwildcardinlike.bat file.
(Linux) Run the objectswithoutwildcardinlike.sh file.
Parameters used
The following table describes the parameters that you can use with this utility:
Parameter | Description |
---|---|
-u | Specify the user name that identifies the user account for the AR System server. |
-p | Specify the password for the user account. If the user account has no password, use -p "". |
-a | Specify the name of the external authentication string or Windows NT domain. This is related to the Login window's Authentication field. See Authentication String Alias introduction. |
-x | Specify the name of the server to connect to. |
-t | Specify the TCP port number to connect to. If the port number is unknown, use -t 0. |
-timeout | Specify the timeout period for connecting to the server. You can specify Normal, Long, and XLong seconds after which the timeout occurs. Use the following format to specify the timeout values: -timeout Normal:Long:XLong |
-f | Specify the location to create the file containing the list of objects with or without wildcards in the LIKE operator. |
-i | Specify the input file containing application form information to locate Run-If qualifications. |
-b | Specify the location to create files containing backup definitions and data in case utility updates need to be reversed. |
-s | Specify the Supression option:
|
Example
Action | Example code | |
---|---|---|
1 | To review all filter, escalation, and application form qualifiers without doing any repair and without generating any backup files | objectswithoutwildcardinlike.bat -u Demo -p "" -x yourserver -t portnumber -f "C:\WildcardOutput" -i "C:\AppFormInput.txt" -s mf |
2 | To review all filter, escalation, and application form qualifiers without doing any repair and getting a backup of any filter/escalation objects and entry data fields noted as needing modification | objectswithoutwildcardinlike.bat -u Demo -p "" -x yourserver -t portnumber -f "C:\WildcardOutput" -i "C:\AppFormInput.txt" -b "C:\WildcardBackup" -s mf |
3 | To review all filter, escalation, and application form qualifiers repairing all the qualifications and getting a backup of any filter/escalation objects and entry data fields before they are modified | objectswithoutwildcardinlike.bat -u Demo -p "" -x yourserver -t portnumber -f "C:\WildcardOutput" -i "C:\AppFormInput.txt" -b "C:\WildcardBackup" |
4 | To review all filter and escalation qualifiers repairing all the qualifications without a backup | objectswithoutwildcardinlike.bat -u Demo -p "" -x yourserver -t portnumber -f "C:\WildcardOutput" |
Output
The utility generates two output files in the directory that you provided in the -f parameter.:
- objectswithoutwildcard.txt - This file contains list of objects and form/fields with LIKE operator that did not have wildcards.
- objectswithwildcard.txt - This file contains list of objects and form/fields with LIKE operator that already had wildcards.
Backup files
The utility creates two different types of backup files if the -b parameter is specified:
- FilterEscalationBackup.def - This file contains all the filter and escalation objects that are identified as 'modification needed' with a snapshot taken before they are modified.
- A series of .arx data files - one for each application form entry that is identified as 'modification needed' with a snapshot taken before it is modified.
For example, a file called TestForm_666666_000000000000101.arx containing the data for field 666666 on form TestForm for entry 000000000000101. Any characters in the form name that are illegal in file names will be converted to underscores (_).
Restoring the changes
In the event an update that was made by the utility is not wanted, you might import a chosen filter or escalation (or import all of them) found in the FilterEscalationBackup.def file. This will restore the objects to their state before the update. You might also restore any application form data on an individual entry/field basis by using the Import Tool to import the ARX file for each qualifier that was changed. This will restore the entry data value to its state before the update.
Note that the backup directory is not cleaned by the utility, so a file like FilterEscalationBackup.def will be replaced if it exists, but various application form ARX files may pre-exist and remain if they are not replaced by a subsequent run of the utility. Careful management of the directory is needed to avoid confusion regarding which files are generated by a new run. Use File timestamps to determine which files were generated by a given run of the utility.