This documentation supports the 20.02 version of Remedy Action Request (AR) System.

To view an earlier version, select the version from the Product version menu.


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 formqualification fieldtarget form field needed to locate and parse the qualification.

For example, a Run If qualification in a filter may look like this:

'Short Description' LIKE "BMC Support"

This utility will identify this filter and optionally repair the qualification to this:

'Short Description' LIKE "%BMC Support%"


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

  1. Navigate to the directory where you have downloaded the objectswithoutwildcardinlike.zip file and then extract the ZIP file.

  2. 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:

ParameterDescription
-uSpecify the user name that identifies the user account for the AR System server.
-pSpecify the password for the user account. If the user account has no password, use -p "".
-aSpecify 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.
-xSpecify the name of the server to connect to.
-tSpecify 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

Important

You must specify all three values even if you want to set one timeout value.
For example, if you want to set the Long timeout value to 400 seconds, use -timeout 120:400:1800.

-fSpecify the location to create the file containing the list of objects with or without wildcards in the LIKE operator.
-iSpecify the input file containing application form information to locate Run-If qualifications.
-bSpecify the location to create files containing backup definitions and data in case utility updates need to be reversed.
-s

Specify the Supression option:

  • m - to suppress metadata updates
  • f - to suppress application form updates
  • mf - to suppress both metadata and application form updates

Example


ActionExample code
1To 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

2To 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 modificationobjectswithoutwildcardinlike.bat -u Demo -p "" -x yourserver -t portnumber -f "C:\WildcardOutput" -i "C:\AppFormInput.txt" -b "C:\WildcardBackup" -s mf
3To 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 modifiedobjectswithoutwildcardinlike.bat -u Demo -p "" -x yourserver -t portnumber -f "C:\WildcardOutput" -i "C:\AppFormInput.txt" -b "C:\WildcardBackup"
4To review all filter and escalation qualifiers repairing all the qualifications without a backupobjectswithoutwildcardinlike.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.


Was this page helpful? Yes No Submitting... Thank you

Comments

  1. Jason Miller

    Looks like an interesting utility. I am not seeing in the documentation why it matters if a LIKE is used without a wildcard. The page that describes the wildcard operator does indicate LIKE is used with a wildcard but it is just kind of glossed over without any detail.

    I imagine many people that develop in Remedy may not understand why this is important. It must be important since there is a tool to find these cases but what are the details and issues these cases cause? It can't be assumed that all people performing Remedy development are developers. Many people have Remedy dropped in their lap and need to learn (Remedy, databases, web applications, web servers, etc.) as they go.

    If this is documented someplace, there should be a link to that page here.

    Sep 27, 2020 11:35
    1. Onkar Telkikar

      Hello Jason,

      Thank you for your feedback on the documentation.

      We have added the following information to this topic:

      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. As a part of post-deployment tasks, you must use this utility and then check and correct those objects. Otherwise, you might lose your customizations or experience breaking of business logic.

      Regards,
      Onkar

      Oct 01, 2020 06:19
      1. Jason Miller

        Thank you very much!

        ...And oh my... I didn't even know all of those details. Is this a newer (9.x Java rewrite) behavior? For years (v4.x to v8.x) I have seen wildcards used with the Equal operator as wells as LIKE operator without a wildcard.

        Oct 01, 2020 09:00
        1. Onkar Telkikar

          Yes, this is a newer behavior that is introduced in version 20.02.

          Thanks,
          Onkar

          Nov 11, 2020 02:34
      1. Stefan Hall

        and who cares about the OOB BMC filters with the wrong usage, such as: SHR:LHP:Svc_CheckGlobalSearchPermssion_SRM

        Jan 04, 2021 08:16
        1. Onkar Telkikar

          Hello Stefan,

          We checked the SHR:LHP:Svc_CheckGlobalSearchPermssion_SRM OOTB filter, which already has a wild card character. Therefore, there's no need for any modification by the Like Operator Object Identifier utility. This utility checks and corrects only those workflows and form field qualifications in which a user hasn't inadvertently used a wild card character for the LIKE operator.

          Thanks,
          Onkar

          Jan 07, 2021 08:16
  2. Peter Ekendahl

    Firstly I would assume that filters in objectswithwildcard.txt does not need to be handled at all? The utility lists 1009 ootb objects...

    Secondly, regarding objectswithoutwildcard.txt, the utility only lists 14 ootb objects. Are we suposed to overlay these and correct them - or are the instructions on this page only meant for custom and overlaid objects?

    Oct 15, 2020 09:36
    1. Onkar Telkikar

      Hello Peter,

      Yes, filters in "objectswithwildcard.txt" do not need to be handled at all.

      The BCT hotfix for ITSM can fix the OOTB filters.

      Thanks,
      Onkar

      Nov 16, 2020 07:43
  3. Scott Skeate

    Is this BCT hotfix after the 20.08 release or any subsequent release? Is it included in 20.08, Included in the on premise patch 2 for 20.02 that came out with 20.08? Or something that needs to be requested from support?

    Jan 07, 2021 11:29
    1. Onkar Telkikar

      Hello Scott,

      Thank you for your comment on the documentation. We are working on your questions.

      Regards,
      Onkar

      Jan 22, 2021 07:14
      1. Onkar Telkikar

        The BCT hotfix is included in the 20.02 Patch 02 of Remedy ITSM Suite (on-premises) and further releases. The BCT hotfix is applied to make your Remedy ITSM applications (which are on version 20.02 or earlier) compatible with Remedy Platform version 20.02.02.

        Thanks,
        Onkar

        Jan 25, 2021 12:14