Patch Control Records ($. Records)

<patch control record>

       ┌◄───────────────────────────────────┐
── $. ─┴─┬─────────┬─┬────────────────────┬─┴─┬────────────────┬───────┤
         ├─ SET ───┤ ├─<immediate option>─┤   └─<GUARD option>─┘
         ├─ RESET ─┤ ├─<Boolean option>───┤
         └─ POP ───┘ └─<value option>─────┘

<immediate option>

  ┌◄───────────────────────┐
──┴─┬─<EOF option>───────┬─┴───────────────────────────────────────────┤
    ├─<DISK option>──────┤
    ├─<DISK $ option>────┤
    ├─<FILE option>──────┤
    ├─<PATCHDECK option>─┤
    ├─<INSERT option>────┤
    └─<MOVE option>──────┘

<Boolean option>

  ┌◄──────────────────────┐
──┴─<Boolean option name>─┴────────────────────────────────────────────┤

A Boolean option name is one of the following:

  • BRIEF option

  • COBOL option

  • COBOL74 option

  • COMPARE option

  • COMPILE option

  • CONFLICT option

  • DELETE option

  • DELIMOPT option

  • DUMP option

  • ERRLIST option

  • EXECUTE option

  • JOB option

  • LABEL option

  • LISTD option

  • LISTI option

  • LISTN option

  • LISTP option

  • MARK option

  • MARKBLANK option

  • NDLII option

  • NEW option

  • OUT option

  • PASCAL option

  • RETAIN option

  • RPG option

  • SINGLE option

  • SQUASH option

  • WIDE option

  • WIDECARD option

  • WIDE option

<value option>

──┬─<count option>───┬─────────────────────────────────────────────────┤
  ├─<cycle option>───┤
  ├─<flag option>────┤
  ├─<LABEL option>───┤
  ├─<total option>───┤
  └─<version option>─┘

Explanation

$. records are control records to the PATCH utility that are similar to compiler control records. They are used to control the PATCH utility and are not included in the PATCH file. These records must be in all uppercase letters. The specific record options are described under “Patch Control Record Options” later in this section.

Additional $. records are available if the PATCH utility was compiled with $ SET DEBUG. For an explanation of these additional $.  records, refer to “Debug $. Records” later in this section.

A $. record must have a dollar sign ($) in column 1 and a period (.) in column 2–columns 7 and 8 when the COBOL control option is TRUE. The text can appear in columns 3 through 80 (9 through 80 if $.COBOL or $.COBOL74 is TRUE). Parsing of this text field is terminated by a percent sign (%). Unlike compiler options, no action is taken on options not specifically mentioned.

<immediate option>

Causes the PATCH utility to perform a function independent of the subsequent processing.

<Boolean option>

An option that is either enabled (TRUE) or disabled (FALSE). When enabled, it causes the compiler to apply an associated function to all subsequent processing until the option is disabled.

The keywords SET, RESET, and POP affect the setting of Boolean options in different ways. Each Boolean option has an associated stack in which up to 48 previous values of the option are saved. The management of the current value, along with the stack of previous values of the option, is as follows:

  • If a Boolean option is the object of SET or RESET, the option is enabled or disabled (assigned a current value of TRUE or FALSE), respectively, and the previous value is pushed onto the stack. In other words, the option is assigned a new current value, and the previous values are saved in the stack.

  • If a Boolean option is the object of POP, the current value of the option is discarded, and the previous values are moved up in the stack.

  • If a Boolean option is not the object of an explicit SET, RESET, or POP, it is implicitly enabled (assigned a current value of TRUE), and all previous values saved on the stack for that option are discarded. In addition, the stacks for all other resettable standard Boolean options are discarded, and all such options are assigned a current value of FALSE. In other words, first the current value and all previous values of all resettable standard Boolean options are discarded; then the options appearing on the compiler control record are assigned a current value of TRUE.

<value option>

Nonimmediate options that cause the PATCH utility to store a value associated with a given function.

<guard option>

Has the same characteristics of an immediate option; that is, it performs a function independent of subsequent processing. However, the GUARD option must appear as the last option on the record.