IBM i License program API changes

IBM® i License Program Version/Release/Modification (VRM) format changes in APIs

When dealing with the release information for IBM i Licensed Programs, the ‘V’, the ‘R’, and the ‘M’ represent extraneous information. Each of these values can be implied rather than explicitly stated when stored internally and passed about programmatically. In the current LP architecture, the character ‘V’ is always in position 1 of the six character VvRrMm field. Therefore, explicitly storing or programmatically passing the character ‘V’ when dealing with an IBM i LP is unnecessary. Its existence can be implied as being part of a VvRrMm field. The same statement can be applied to the character ‘R’ and character ‘M’ in the VvRrMm fields. As such, V1R1M0 could be interpreted as being the same as 010100. The first two characters are always the version, the third and fourth characters are always the release, and the fifth and sixth characters are always the modification.

Licensed Program interfaces will be altered to handle both VRM data in the old format with hardcoded 'V', 'R', and 'M' values and also without the user explicitly including the ‘V’, the ‘R’, and the ‘M’. This support is only allowed for products that need to use expanded values for their version, release, or modification. Products that do not build to support the expanded VRM fields will still use the old VvRrMm format with the documented interfaces.

If a function is manipulating an undetermined product ID, or a function could potentially be handling a varying list of products, the code should be capable of handling a VRM format of VvRrMm with the 'V', 'R', and 'M' characters included and a VRM formation of vvrrmm where the 'V', 'R', and 'M' characters are not returned, 100901 (which would represent V10R9M1) for example.

When interrogating the release of one specific product, the VRM information is likely to be of a known format. For example, if a function is looking at information for only 5770WDS, the VRM will be handled as V7R2M0. If a function is retrieving product information for SLIC or the Operating System, the VRM is returned as V7R2M0.

Substringing of the VRM output from the various interfaces might need to be adjusted to handle Licensed Programs that exceed a value of 9 for the version value or release value. It may no longer be safe to assume that the first character is always 'V', the third character is always 'R', and the fifth character is always 'M'.

The following License program APIs are changed for IBM i 7.2:
  • QLPACAGR
  • QLPLPRDS
  • QLPRAGR
  • QSZSPTPR
  • QSZCRTPD
  • QSZCRTPL
  • QSZMPRLS
  • QSZPKGPO
  • QSZRTVPR
  • QSZSLTPR
  • QLZAADDK
  • QLZADDLI
  • QLZAGENK
  • QLZARLS
  • QLZAREQ
  • QLZARTV
  • QLZARTVK