Skip to content

Inconsistent processing of JCL INCLUDE and PROC files with lowercase filenames #632

Description

@ian-burnett

Development environment used

  • Z Open Editor version: 6.6.1
  • Editor Platform
    • Visual Studio Code
    • Red Hat OpenShift Dev Spaces
    • Eclipse Che
  • Editor Platform Version:
Version: 1.133.0 (Universal)
Commit: a5b500951314efd502d07465bd138dfbd714a960
Date: 2026-08-11T22:14:08Z
Electron: 42.8.0
ElectronBuildId: 14845705
Chromium: 148.0.7778.280
Node.js: 24.18.0
V8: 14.8.178.38-electron.0
@github/copilot: 1.0.79-6
@github/copilot-sdk: 1.0.9
OS: a5b500951314efd502d07465bd138dfbd714a960
  • Operating System (on which VS Code runs such as Windows 11 24H2, otherwise name and version of platform such as OpenShift v4.16): MacOS 26.6.1
  • Java Version (when using VS Code or Theia, execute java -version and paste the details here):
openjdk version "25.0.3" 2026-04-21 LTS
IBM Semeru Runtime Open Edition 25.0.3.0 (build 25.0.3+9-LTS)
Eclipse OpenJ9 VM 25.0.3.0 (build 25.0.3+9-openj9-0.59.0, JRE 25 Mac OS X aarch64-64-Bit 20260421_222 (JIT enabled, AOT enabled)
OpenJ9   - c53b6b93f4
OMR      - 6426f03fa
JCL      - e4aaece3226 based on jdk-25.0.3+9)
  • Related to RSE API?
    • RSE API Plugin version:
    • Zowe CLI version:
    • Node.js version:
  • Logs attached (see the documentation for how to get them): yes/no

Problem Description

I have the following file structure in a project, with all files having lowercase filenames:

jcl-demo
  +- jcl/
  |   +- #r760.jcl
  |   +- myjob.jcl
  +- proclib/
  |   +- allstats.jcl
  +- zapp.yaml

Contents of zapp.yaml:


name: jcl-demo
version: 1.0.0

propertyGroups:
  - name: jcl-includes
    language: jcl
    libraries:
      - name: jcllib
        type: local
        locations:
          - "jcl"
  - name: jcl-proclibs
    language: jcl
    libraries:
      - name: proclib
        type: local
        locations:
          - "proclib"

Contents of myjob.jcl (which is where I see the problem):

//MYJOB    JOB 1,MSGCLASS=A,REGION=0M,CLASS=A,MEMLIMIT=2G
//*
// INCLUDE MEMBER=#r760
// INCLUDE MEMBER=#R760
//*
// EXEC PROC=allstats
// EXEC PROC=ALLSTATS
//

Contents of remaining files are not relevant here.

Observed behavior

Where zopeneditor.enforceCaseSensitiveIncludeFileNames = false:

  • INCLUDE with lowercase is correctly linked (Cmd+click will open the file)
  • INCLUDE with uppercase is marked as error ("Unable to find INCLUDE group #R760.")
  • PROC with lowercase is not linked, but has no error
  • PROC with uppercase is correctly linked (Cmd+click will open the file)

Where zopeneditor.enforceCaseSensitiveIncludeFileNames = true:

  • INCLUDE with lowercase is correctly linked (Cmd+click will open the file)
  • INCLUDE with uppercase is marked as error ("Unable to find INCLUDE group #R760.")
  • PROC with lowercase is correctly linked (Cmd+click will open the file)
  • PROC with uppercase is not linked, but has no error

Expected behavior

Where zopeneditor.enforceCaseSensitiveIncludeFileNames = false:

  • INCLUDE with lowercase shows error due to lowercase characters in JCL
  • INCLUDE with uppercase is linked (Cmd+click will open the file)
  • PROC with lowercase shows error due to lowercase characters in JCL
  • PROC with uppercase is linked (Cmd+click will open the file)

Where zopeneditor.enforceCaseSensitiveIncludeFileNames = true:

  • INCLUDE with lowercase shows error due to lowercase characters in JCL
  • INCLUDE with uppercase is marked as unable to find INCLUDE file #R760
  • PROC with lowercase shows error due to lowercase characters in JCL
  • PROC with uppercase is marked as unable to find PROCLIB file ALLSTATS

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions