Modernization Hub

Hyphen

-
Enhanced Definition

In IBM z/OS mainframe systems, the hyphen, also known as a dash, is a significant special character (`X'60'` in EBCDIC) used for various purposes, including line continuation in JCL and COBOL, as an arithmetic operator, a delimiter, and as part of naming conventions. Its interpretation is highly context-dependent, dictating how instructions, data elements, or names are processed.

Key Characteristics

    • EBCDIC Representation: The hyphen has an EBCDIC hexadecimal value of X'60', which is distinct from its ASCII counterpart (X'2D').
    • JCL Continuation: A primary function in JCL is to indicate that a parameter list or statement continues on the subsequent line, typically placed in column 72.
    • COBOL String Continuation: Used to break long string literals across multiple lines in COBOL source code.
    • Arithmetic Operator: In COBOL and other programming languages, it serves as the subtraction operator.
    • Data Field Sign: In COBOL PICTURE clauses, it can define the display of a signed numeric field (e.g., -ZZZ,ZZ9.99).
    • Naming Convention Component: Frequently used in dataset names, member names, or variable names to separate logical components for readability (e.g., PROD.APP.MASTER-FILE).

Use Cases

    • JCL Parameter Continuation: Extending a long PARM string or DCB parameters across multiple lines in a DD statement.
    jcl
    //STEP01 EXEC PGM=MYPROG,PARM='INPUT-DATA-SET-
    //             NAME,PROCESS-TYPE=FULL'
    //MYDD   DD DSN=PROD.APP.DATA,DISP=SHR,
    //          DCB=(RECFM=FB,LRECL=80,BLKSIZE=0-
    //             ,DSORG=PS)
    • COBOL String Literal Continuation: Breaking a lengthy literal into manageable parts for source code readability.
    cobol
    MOVE 'THIS IS A VERY LONG TEXT STRING THAT NEEDS TO BE-
    'CONTINUED ON THE NEXT LINE FOR READABILITY.' TO WS-MESSAGE.
    • COBOL Signed Numeric Display: Formatting numeric output to include a leading sign for negative values.
    cobol
    05 WS-AMOUNT        PIC S9(7)V92 COMP-3.
    05 WS-DISPLAY-AMT   PIC -ZZZ,ZZ9.99.
    • Dataset Naming: Structuring hierarchical dataset names to improve organization and identification, such as DEV.PROJECTX.COBOL-SRC.PDS.
    • Utility Control Statements: Used within control statements for utilities like SORT or IDCAMS as part of parameters or flags.

Related Concepts

The hyphen's usage is fundamental to JCL syntax, enabling the construction of complex job streams. In COBOL programming, it's essential for both data manipulation (subtraction, signed numbers) and source code formatting (string continuation). Its EBCDIC representation is a core aspect of character encoding on z/OS, impacting data integrity and interoperability. It also plays a role in dataset management by influencing naming conventions and the organization of data within the z/OS hierarchical file system.

Best Practices:
  • JCL Continuation Placement: For JCL, place the hyphen in column 72, and ensure the continued line starts in column 16 for EXEC and DD statements to maintain readability and standard practice.
  • EBCDIC Awareness: When exchanging data with non-mainframe systems, be aware of the EBCDIC X'60' representation of the hyphen to prevent character translation issues.
  • Avoid in DDNAMEs: Do not use hyphens in DDNAMEs as they are not permitted and will result in JCL errors. Stick to alphanumeric characters and @, #, $.
  • Consistent Naming: Establish and adhere to consistent naming conventions that utilize hyphens for clarity in dataset

Related Vendors

IBM

646 products

Trax Softworks

3 products

Related Categories

Operating System

154 products

Browse and Edit

64 products