codefori/vscode-ibmi

CPYTOIMPF

zzmand opened this issue · 3 comments

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
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=<CET>-1<CEST>,M3.5.0,M10.5.0/03:00:00
USER=hlpatod
USERNAME=hlpatod
WORKDIR=/home/HLPAXXX
_=/QOpenSys/pkgs/bin/env
Variants
{
  "american": "#@$",
  "local": "#@$"
}
Errors
[
  {
    "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](https://github.com/user-attachments/assets/6e1554f8-dfd7-4c97-b6ac-2938bf90f9c5)

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

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