-
Notifications
You must be signed in to change notification settings - Fork 106
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
Error listing Source Files Starting with Ñ #2239
Comments
What version are you referring to here? |
2.12.1. |
@rgarciale What is your QCCSID and typical job CCSID or user profile CCSID? |
cc @sebjulliand possibly related to #2215. Going to try and write a test case when I get more info. |
User CCSID is 65535 (*sysval) |
@rgarciale What is the QCCSID? |
65535 |
This comment was marked as abuse.
This comment was marked as abuse.
In Code for IBM i 2.12.1, I cannot create a source file with
Are you able to do this @rgarciale? |
yes I do. /home/BCOINFRGL: /QOpenSys/usr/bin/qsh |
@rgarciale After connecting to the system, are you able to click on the Report an Issue item and then share the contents that appear in this issue? That might help me track down some more information I need. ![]() |
I cannot perform that action because company policies prevent me from generating the report. Sorry for the inconvenience. :-( |
@rgarciale Have you tried changing your userprofile to have CCSID 284 instead of 65535? Does that make a difference? 65535 means no conversion at all - and you need conversion of the character Btw, what is the reason for creating a member with a variant character in the name? These variant characters are causing a lot of problems for IBM i programmers - and it is recommended to avoid using these characters in object names, member name, variable names etc. They were typically used to indicate a special type of variable, member, object, but they are not that useful anymore in the modern world with long RPG variable names, long SQL identifiers etc. |
I will request a change of the CCSID for my user profile to run the test, as I don't have permission to modify the profile myself. Regarding the creation of source files with the character Ñ, it happens because the PDE tool we use for source control creates them this way. :-/ Best regards, and thank you for your help! :-) |
Hi @chrjorgensen, I tried this advice that you provide
The detail:
But this not make any difference for me, the problem it's still happening. Any other idea? :( |
@e1mais Did you |
@chrjorgensen Yes I did. My steps: F1 > dev:Reload window > code4i: Connect and Reload Server settings. I also notice other thing on the tooltip when I hover the Source File name, those are named without Ñ character expand with all the information (Text, Members, Length, and the CCSID with the corresponding 284) but for those Ñ-named Source files the information is: Members: 0, Length works well, and for CCSID is ? I attached you the tooltip info for better understanding |
Right, same problem hete. |
Hello @worksofliam, I was able to replicate the error on PUB400. These are the steps I followed to do so: IBM i: CRTPF FILE(BCOINFRGL1/ÑTEST) RCDLEN(112) FILETYPE(*SRC) MAXMBRS(*NOMAX) ADDPFM FILE(BCOINFRGL1/ÑTEST) MBR(PGM1) SRCTYPE(RPGLE) |
Hello, @worksofliam It seems that the issue is with the cast char for bit data in the IBMContent.ts/getMemberList. However, the problem now is that the authority of the objects isn't changing, and they cannot be edited. I will continue investigating. |
@rgarciale I'd like to check something. Could you connect to your LPAR and click on It will open a new issue template in your browser. Copy and paste the template here, I'd like to see some details about your LPAR. Thanks! |
@sebjulliand. Sure, 👉🏻 Issue text goes here.
Active extensions
Remote system
Enabled features
Shell envBUILDLIB=BCOINFRGL1
CURLIB=BCOINFRGL1
HOME=/home/BCOINFRGL
HOST=PUB400.COM
LIBLS=GAMES400 QTEMP QGPL
LOGIN=bcoinfrgl
LOGNAME=bcoinfrgl
MAIL=/var/spool/mail/bcoinfrgl
OLDPWD=/home/BCOINFRGL
PASE_USRGRP_LIMITED=N
PATH=/QOpenSys/pkgs/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin:/QOpenSys/usr/bin:/usr/bin
PWD=/home/BCOINFRGL
SHELL=/QOpenSys/pkgs/bin/bash
SHLVL=1
SSH_CLIENT=186.26.118.186 35999 2222
SSH_CONNECTION=186.26.118.186 35999 185.113.5.134 2222
TZ=<UTC>0
USER=bcoinfrgl
USERNAME=BCOINFRGL
WORKDIR=/home/BCOINFRGL
_=/QOpenSys/pkgs/bin/env Variants{
"american": "#@$",
"local": "#§$"
} Errors[
{
"command": "/QOpenSys/usr/bin/qsh",
"code": 1,
"stderr": "CPD0012: Characters in qualifier beginning 'ÑRPGLESRC)' not valid.\nCPF0001: Error found on *N command.",
"cwd": "/home/BCOINFRGL"
},
{
"command": "cd \"/QSYS.LIB/BCOINFRGL1.LIB/ÑRPGLESRC.FILE\" && (ls | wc -l)",
"code": 1,
"stderr": "bash: line 1: cd: $'/QSYS.LIB/BCOINFRGL1.LIB/\\303\\221RPGLESRC.FILE': No such file or directory",
"cwd": "/home/BCOINFRGL"
},
{
"command": "/QOpenSys/usr/bin/qsh",
"code": 1,
"stderr": "CPD0012: Characters in qualifier beginning 'ÑTEST) OBJ' not valid.\nCPF0001: Error found on *N command.",
"cwd": "/home/BCOINFRGL"
}
] |
Hello @sebjulliand I managed to get it working. I made the following change, and now I can see the sources and modify them. Obviously, it's not a real fix, but maybe this’ll help fix the issue. And yeah, CCSID is a total pain ;-D |
Hello, @worksofliam @sebjulliand @chrjorgensen I finally found the error. The problem is not exclusive to the "Ñ" character. It happens when there is a character conversion due to the LPAR configuration between variantChars.american and variantChars.locale For example, in PUB400, the "@" character has a conversion: Variants{
"american": "#@$",
"local": "#§$"
} The issue arises when listing the objects using the getObjectList function, as they are listed in local format. However, when retrieving members using getMemberList, the object filter is passed through the sysNameInAmerican function, which causes the members not to be listed correctly. "I created a source that starts with @ in my library." When I view it in VS Code, it appears in the LPAR format. But when trying to retrieve the members, they are processed using the variantChars.american format And it doesn't display anything. To fix the issue, I modified the functions getObjectList and getMemberList so that when listing the members, it does not convert them in american format. And now it works as it should. Can this solution be implemented to fix the problem with character conversion? |
@rgarciale @hn000246 I have a vsix available for testing: #2334 (comment) |
Hi @worksofliam, at the moment I no longer have access to the LPAR :-(, maybe @hn000246 can help us with this one ;-) |
@worksofliam, Great news! I’m going to download it and ask a friend with access to the LPAR where the error occurred to test it ;-) |
@rgarciale Make sure when you test it: you right click on the connection and use 'Connect and Reload'! |
@rgarciale @hn000246 We've shipped a pre-release with a fix, and you can switch to the 'pre-release'. When using the new release, before connecting to your server, please right click on your server and use 'Connect and Reload Server Settings'. ![]() |
@rgarciale @hn000246 Once again, we have shipped a new pre-release: 2.13.8 - please try this out and let me know how it goes. |
@hn000246 Did you switch to the pre-release 2.13.8 and tested that? |
@hn000246 Thank you! I think I have found the issue. I will get back to you soon. |
@hn000246 2.13.15 is now available which has additional fixes. Give it a go and let me know of your findings. |
@hn000246 You need to set the CCSID of your user profile correctly going forward. This has always been a requirement, but now we warn you: https://codefori.github.io/docs/tips/ccsid/ |
@hn000246 I am just looking into it. Thanks! |
@hn000246 Can you please try this: Before connecting to your system, right click on your system and use 'Connect and reload' and then try again? Thanks! |
@hn000246 Can you please share logs after you Connect and Reload Server Settings? |
@hn000246 Any chance you can run this SQL statement and tell me the result? Thanks!
|
@hn000246 How about this?
|
@hn000246 I've just pre-released 2.13.16. Please give that a try and let me know how it goes. |
@hn000246 i need the logs from you please! |
@hn000246 I've just pre-released, can you try 2.13.17? |
@hn000246 I have found the issue. Will let you know when it's ready |
@hn000246 2.13.19 has been pre-released. Please give that a try soon! |
We believe to have solved this issue. You can switch to the pre-release to try the fix. |
Type: Bug
In the new version of Code for i, 2.13.0 when navigating in the Object Browser, it is not possible to view the members of source files that start with the letter Ñ. This issue did not exist in the previous version.
Steps to Replicate the Error:
Update to the latest version of Code for i. 2.13.0
Create a source file that starts with the letter Ñ (from IBM i).
Create a member for the source file (from IBM i).
Create a filter for this source in the VS Code
Attempt to view the members of the source file that starts with Ñ from the Object Browser.
Best regards,
Extension version: 2.13.0
VS Code version: Code 1.92.2 (fee1edb8d6d72a0ddff41e5f71a671c23ed924b9, 2024-08-14T17:29:30.058Z)
OS version: Windows_NT x64 10.0.22631
Modes:
System Info
canvas_oop_rasterization: enabled_on
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled
webnn: disabled_off
The text was updated successfully, but these errors were encountered: