codefori / vscode-ibmi

🌍 IBM i development extension for VS Code
https://codefori.github.io/docs/#/
MIT License
279 stars 93 forks source link

CPYTOIMPF #2200

Closed zzmand closed 1 month ago

zzmand commented 1 month ago

Hi, we have multiple LPARs. On every LPAR there is a library called ADMSYS on top of system part of system library list. This library contains command CPYTOIMPF which uses reduced list of parameters and Code for IBM i doesn't like it. It's same situation on all LPAR's. But actually we have problem connecting to only one LPAR. The attached picture shows a comparison of 2 logs. Both profiles have same settings but only one is using CPYTOIMPF. Is there a possibility to set somewhere in configuration QSYS2/CPYTOIMPF to be used by Code for IBM i. Or some settings which will communicate with LPAR without CPYTOIMPF command?


Context Version
Code for IBM i version 2.12.0
Visual Studio Code version 1.91.1
Operating System win32_x64
Active extensions ``` CL (vscode-clle): 1.1.7 COBOL (cobol): 10.7.23 Code for IBM i Walkthroughs (vscode-ibmi-walkthroughs): 0.5.0 Configuration Editing (configuration-editing): 1.0.0 Db2 for IBM i (vscode-db2i): 1.0.0 Emmet (emmet): 1.0.0 Error Lens (errorlens): 3.20.0 Extension Authoring (extension-editing): 1.0.0 Git (git): 1.0.0 Git Base (git-base): 1.0.0 GitHub (github): 0.0.1 IBM i Debug (ibmidebug): 2.0.1 IBM i Notebooks (vscode-ibmi-notebooks): 0.0.6 JSON Language Features (json-language-features): 1.0.0 Markdown Language Features (markdown-language-features): 1.0.0 Markdown Math (markdown-math): 1.0.0 Merge Conflict (merge-conflict): 1.0.0 Node Debug Auto-attach (debug-auto-launch): 1.0.0 TODO Highlight (vscode-todo-highlight): 1.0.5 TypeScript and JavaScript Language Features (typescript-language-features): 1.0.0 ```

Remote system |Setting|Value| |-|-| |IBM i OS|n/a| |Tech Refresh|n/a| |CCSID Origin|65535| |Runtime CCSID|-2| |Default CCSID|?| |SQL|Disabled |Source dates|Disabled ### Enabled features |/QOpenSys/pkgs/bin|/usr/bin|/QSYS.lib/ILEDITOR.lib|/QSYS.LIB|/QIBM/ProdData/IBMiDebugService/bin| |-|-|-|-|-| |bash|attr|GETNEWLIBL.PGM|QZDFMDB2.PGM|startDebugService.sh| |chsh|iconv|||| |find|setccsid|||| |grep|tar|||| |ls||||| |md5sum||||| |sort||||| |stat|||||
Shell env ```bash BUILDLIB=ADMDEVXXX CURLIB=ADMDEVXXX HOME=/home/XXXXXX HOST=IBMS1 LIBLS=QTEMP QGPL TAATOOL ICBSUTIL ADMLIB LOGIN=xxxxxxx LOGNAME=xxxxxxx MAIL=/var/spool/mail/xxxxxxx OLDPWD=/home/xxxxxxx PATH=/QOpenSys/pkgs/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin PWD=/home/HLPAXXX SHELL=/QOpenSys/pkgs/bin/bash SHLVL=1 SSH_CLIENT=10.53.122.42 55667 22 SSH_CONNECTION=10.53.122.42 55667 10.50.5.110 22 TZ=-1,M3.5.0,M10.5.0/03:00:00 USER=hlpatod USERNAME=hlpatod WORKDIR=/home/HLPAXXX _=/QOpenSys/pkgs/bin/env ```
Variants ```json { "american": "#@$", "local": "#@$" } ```
Errors ```json [ { "command": "/QOpenSys/usr/bin/qsh", "code": 1, "stderr": "CPF2111: Library ILEDITOR already exists.\nCPC2206: Ownership of object QZSHSYSTEM in QTEMP type *USRSPC changed.", "cwd": "/home/HLPAXXX" } ] ```

cpytoimpf

zzmand commented 1 month ago

cpytoimpf

worksofliam commented 1 month ago

I believe we have had requests before to make the command location configurable, but it was decided before that doing this work for 1% of our user base was not worth it. I believe we'd apply that logic here.

Though, I do think we need to go through the codebase and ensure that we use a fully qualified path for system commands - e.g. prepending QSYS/ where applicable to command calls.

cc @codefori/core

sebjulliand commented 1 month ago

Agreed @worksofliam. I'm in favor of qualifying the system commands with QSYS/ where applicable too.