Product tagging process

Product tagging is a manual process where you must provide the product name, the vendor, and the location of the programs. The Product Tagging utility uses the same method as the Inquisitor program to scan the programs and records the results in dedicated program members.

The SYSIN file contains the control statements that describe which licensed programs are to be tagged. This file contains the program name, vendor name, product identifier, and product version. The program library which contains the software to be tagged is allocated to the SYSLIB file.

You can have only one set of identifying attributes for each program name. If conflicting attributes are found for one or more program names, the Product Tagging utility issues a message and stops.

Information about all discovered programs relating to the nominated product is compiled into a single object module. This module is written to the scanned library allocated to SYSLIB file or to the program library allocated to the optional HZAREDIR file. Using the HZAREDIR file, you can nominate to keep all tag data separate from licensed program software. The HZAREDIR file data sets must be included in the standard Inquisitor scan processing, even if these data sets contain no other program.

The tag data members created by the Product Tagging utility are recognized by the Inquisitor (by their SSI value) during normal program library scanning. The Inquisitor program extracts the tag data from the member contents and writes it to an output file. The Inquisitor import process uses these program tags to maintain entries for the programs in the local knowledge base. The match engine can then accurately identify the tagged product level, regardless of which library the product is deployed to and which system the data is collected from.

Each time you run the Product Tagging utility, it scans a single library and tags a single software product, or optional feature of a product. For products with multiple program libraries, each library is processed in a separate job or step. To ensure effective software identification by the match engine as it processes each library, use the OPTION statement to differentiate the identification entities between the different libraries of a product. Do not tag distribution libraries.

You can override the default output member name of @HZAPTAG by specifying a TAGMEM statement. All output members from the Product Tagging utility are flagged with an SSI value of X'D7E3C1C7', which is 'PTAG' in EBCDIC.

If there is no preexisting member of the same name, the Product Tagging utility creates a new program member to contain the tag data. If a member exists, the new tag data is added to the existing data that relates to other products or optional features. Any data relating to the same software identified by {VENDOR + PRODUCT + OPTION + VERSION} is replaced. The data relating to each software piece resides in its own control section. Tag data members contain no executable code, and are bound with the only loadable attribute. These data members are bound as reentrant, with a residence mode of ANY, to minimize the impact of being placed in a library which is loaded into the Link Pack Area.

To erase the effects of processing with the Product Tagging utility, delete the tag data members which are identified by their SSI value. If you are using ISPF, employ the SORT SSI member list command.

The software processed when you run the Product Tagging utility has a key of {VENDOR + PRODUCT + OPTION + VERSION}. If non-key data items, such as the values specified in the PPNUM or LICENSED statements are incorrect, you can correct them by fixing the input statement values and rerunning the utility. This action replaces all non-key tag data. However, if a key data item is incorrect, it will not be erased by running the Product Tagging utility with the correct data.

If you are processing libraries that are not dedicated to a single licensed program, use member name masking to prevent tagging programs not related to that product. Some installations place multiple software products in a combined common library. If the products are tagged before they are combined, you must use different tag data member names.