PSB


The PSB primary command is used to identify the target database name or the PCB of the target database to be processed. Multiple PSB command statements can be specified in a single execution. Keywords that are not specified are reset to their default values.

  1. A static PSB executes using an existing PSB in the PSBLIB.

    The following considerations relate to the PSB command:

    • Any or all of the databases defined within the PSB can be used for each execution.
    • Authorization is granted only for processing options specified on each existing PCB.
    • If included, the PSB command statement applies to all the following command statements until another PSB command statement is supplied.
    • Only one DBNAME or PCB can be specified per command statement.
      • The DBNAME keyword identifies the database to be used within the PSB. For example:

        PSB DBNAME=CUSTPDBD;

        The first PCB with the name of CUSTPDBD is used.

      • The PCB keyword identifies the database PCB number to be used within the PSB. The valid values are 1 - 500. For example:

        PSB PCB=4;

        The fourth database PCB within the PSB is used.

    • The PSB command can be used to identify the cross-reference member and language of the segment layouts.
      image2021-7-29_16-13-18.png
  2. A dynamic PSB is a non-existing PSB that is generated behind the scene to access the requested database

    The following considerations relate to a dynamic PSB:

    • Only one database can be accessed in a given execution when a dynamic PSB is used.
    • Authorization is granted for all processing options for each segment of the database.
    • The PCB must be 1 if specified and the DBNAME, if supplied, must match the name in the JCL. The database name is supplied in the PARM field in the JCL execute card (PARM Field).
    • The PSB primary command can be used to identify the cross-reference member and language of the segment layout.

image2021-7-29_16-13-59.png


DBNAME

Defines the database to be used within the PSB. The first PCB with the requested database name is used. Must match the name specified in the JCL if used with a dynamic PSB.

PCB

Defines the database PCB number to be used within a static PSB. Must be 1 if used with a dynamic PSB

LANGUAGE

Defines the application language of the segment layout cross-reference.

The following considerations relate to the LANGUAGE keyword:

  • Language is ignored when XREF=NONE.
  • Only one LANGUAGE keyword can be specified per PSB command.

XREF

Defines the name of the cross reference member that contains a list of the segment layout names for each segment in the database. Only one XREF keyword can be specified per PSB command.

  • mbrname Defines the PDS member that contains a list of segment layout copylib members.
  • NO/NONE Indicates that no cross reference is to be used. Sets the default print format to SPRINT.

XREF=NONE must be specified when using the DBDNAME parameter.

Examples

The following PSB command statement uses a static PSB that references the customer database and a PL/I segment layout.

TYPE RUN;
PSB  PCB=2 XREF=CUSTXRF1 LANG=PLI;

The following PSB statement uses a static PSB. The first PCB in the PSB that references the CUSTPDBD database will be used to process the command statements. Because the XREF and LANGUAGE keywords are not included, the cross-reference defaults to the database name and the language defaults to COBOL.

TYPE RUN;
PSB  DBNAME=CUSTPDBD;

The following PSB statement uses a dynamic PSB. Because there is only one database, the PSB statement is not necessary to select the database but it can be used to specify the XREF member and the language of the XREF member.

TYPE RUN;
PSB  XREF=NONE;

Related topics

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*