Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not all mvs data sets necessarily use the same ccsid #1589

Open
FALLAI-Denis opened this issue Nov 25, 2021 · 2 comments
Open

Not all mvs data sets necessarily use the same ccsid #1589

FALLAI-Denis opened this issue Nov 25, 2021 · 2 comments
Labels
community-upvoted enhancement New feature or request priority-medium Not functioning - next quarter if capacity permits

Comments

@FALLAI-Denis
Copy link

FALLAI-Denis commented Nov 25, 2021

Is your feature request related to a problem? Please describe.

The mvs system does not explicitly manage the ccsid used for data management.
The ccsid is actually inherited from the declaration made at the 3270 emulator.

So it is possible (not always easily) to have mvs data sets that contain data that are encoded with another ccsid:

  • data in UTF8 encoding, more and more frequent, and ISPF/PDF allows (badly) to manage them, (for example JSON data files),
  • data in IBM-037 encoding even if the ccsid of the emulator is defined with another encoding (in my case IBM-1147): case of REXX sources (cf. REXX - Symbols and localization (characters allowed in variable names) ).
  • data in IBM-1047 encoding, (for C/C++ sources, perhaps Java sources).
  • data is IBM-1146 encoding, (vendor tools too British...)

When Zowe Explorer transfers data between the z/OS server and the workstation, it always uses the ccsid declared in the Zowe CLI profile used to connect to the z/OS server. It should make it possible to manage the cases of exceptions which do not follow the ccsid declared in the Zowe CLI profile.

Describe the solution you'd like

Several enhancement could be made to Zowe Explorer.

  1. Associate a CCSID with a mvs data set pattern.

These associations would be described in the User and Workspace settings.
In a Git operating context, (VS Code Workspace is a Git repository), Zowe Explorer could also use the .zosattributes and/or .gitattributes file(s) and exploit the syntax implemented by RocketSoftware in its Git for z/ OS, (attribute zos-working-tree-encoding).

  1. Add an option to the "pull form mainframe with ccsid" context menu.

Upon activation Zowe Explorer should prompt for the ccsid to use, for example ccsid 1208 for file UTF8 encoded.
We could even provide a pull without conversion, (ccsid=0), but not pure binary because it is necessary to keep the management of the end of lines. In this case you have to work on the file with an editor in "hexadecimal dump" mode and not in "text" mode.

In both cases, when pushing (saving) to the z/OS server, you must use the same ccsid as that used for pulling.

Describe alternatives you've considered

Download and upload files in Terminal mode with Zowe CLI interface, without going through Zowe Explorer...

Additional context

This does not apply to USS files which by default use the IBM-1047 encoding, otherwise explicitly declare the encoding used (and Zowe Explorer must take this into account).

@FALLAI-Denis FALLAI-Denis added the enhancement New feature or request label Nov 25, 2021
@github-actions
Copy link

Thank you for raising this issue.
The community has 30 days to upvote 👍 the issue.
If it receives 10 upvotes, we will move it to our backlog. If not, we will close it.

@FALLAI-Denis
Copy link
Author

Confer zowe/zowe-cli#1463

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community-upvoted enhancement New feature or request priority-medium Not functioning - next quarter if capacity permits
Projects
Status: Medium Priority
Development

No branches or pull requests

3 participants