vscode-ibmi icon indicating copy to clipboard operation
vscode-ibmi copied to clipboard

Unable to save member

Open HenryMiller opened this issue 1 year ago • 8 comments

👉🏻 Hello, I am not able to save a source member. I cleared and then delete ILEDITOR library. I can edit and save same source member from SEU without any problem. It usually happens when I'm connected to AS400 via VPN and then the connection drops. I closed and reopened VS Code but nothing has changed.

Cheers Giovanni

image

⚠️ REMOVE THIS LINE AND ANY SENSITIVE INFORMATION BELOW! ⚠️

Context Version
Code for IBM i version 2.7.0
Visual Studio Code version 1.87.0
Operating System darwin_arm64
Active extensions
Code Coverage for IBM i (code-coverage-ibmi): 0.1.7
Code Runner (code-runner): 0.12.1
Code for IBM i Walkthroughs (vscode-ibmi-walkthroughs): 0.4.0
Db2 for IBM i (vscode-db2i): 0.7.1
ESLint (vscode-eslint): 2.4.4
Emmet (emmet): 1.0.0
Git (git): 1.0.0
Git Base (git-base): 1.0.0
GitHub (github): 0.0.1
GitHub Authentication (github-authentication): 0.0.2
GitLens — Git supercharged (gitlens): 14.8.2
IBM i Notebooks (vscode-ibmi-notebooks): 0.0.6
JSON Language Features (json-language-features): 1.0.0
Jira and Bitbucket (Atlassian Labs) (atlascode): 3.0.10
Live Server (LiveServer): 5.7.9
Merge Conflict (merge-conflict): 1.0.0
Node Debug Auto-attach (debug-auto-launch): 1.0.0
Overtype (overtype): 0.5.0
RPGLE (vscode-rpgle): 0.26.2
Render Line Endings (render-crlf): 1.8.0
TypeScript and JavaScript Language Features (typescript-language-features): 1.0.0
YAML (vscode-yaml): 1.14.0

Remote system
Setting Value
IBM i OS V7R4M0
Tech Refresh 8
CCSID 1144
Default CCSID 1144
SQL Enabled
Source dates Enabled

Enabled features

/QOpenSys/pkgs/bin /usr/bin /QSYS.LIB /QIBM/ProdData/IBMiDebugService/bin
bash attr ILEDITOR.GETNEWLIBL QZDFMDB2.PGM startDebugService.sh
chsh iconv
git setccsid
grep
ls
md5sum
sort
stat
tar
tn5250
Shell env
BUILDLIB=BMS71L_OBJ
CURLIB=BMS71L_OBJ
HOME=/home/hm
HOST=as400
LIBLS=.......
LOGIN=hm
LOGNAME=hm
MAIL=/var/spool/mail/hm
OLDPWD=/home/hm
PATH=/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin
PWD=/home/hm
SHELL=/QOpenSys/pkgs/bin/bash
SHLVL=1
SSH_CLIENT=10.212.134.132 61386 22
SSH_CONNECTION=10.212.134.132 61386 192.168.210.96 22
TZ=<CET>-1<CEST>,M3.5.0,M10.5.0
USER=hm
USERNAME=hm
WORKDIR=/home/hm
_=/QOpenSys/usr/bin/env
Variants
{
  "american": "#@$",
  "local": "��$"
}
Errors
[
  {
    "command": "/QOpenSys/usr/bin/qsh",
    "code": 255,
    "stderr": "CPF2111: La libreria ILEDITOR esiste gi�.",
    "cwd": "/home/hm"
  },
  {
    "command": "/QOpenSys/usr/bin/qsh",
    "code": 255,
    "stderr": "QSYSPRT   *LIBL",
    "cwd": "/home/hm"
  }
]

HenryMiller avatar Feb 29 '24 09:02 HenryMiller

Please share the contents of your Code for IBM i output channel after the error appears.

image

worksofliam avatar Feb 29 '24 13:02 worksofliam

Hello, I attach it.

/home/hm: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')" CREATE OR REPLACE ALIAS ILEDITOR.BMS71L_SRC_QSRC_HSPECSFREE for "BMS71L_SRC"."QSRC"("HSPECSFREE") { "code": 0, "signal": null, "stdout": "DB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.", "stderr": "" }

/home/hm: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')" SELECT LENGTH(srcdta) as LENGTH FROM ILEDITOR.BMS71L_SRC_QSRC_HSPECSFREE limit 1 { "code": 0, "signal": null, "stdout": "DB2>\n ?>\n\nLENGTH \n-----------\n 120\n\n 1 RECORD(S) SELECTED.", "stderr": "" }

/home/hm: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')" select srcdat, rtrim(translate(srcdta, x'2F', x'25')) as srcdta from ILEDITOR.BMS71L_SRC_QSRC_HSPECSFREE { "code": 0, "signal": null, "stdout": "DB2>\n ?>\n\nSRCDAT SRCDTA \n-------- ------------------------------------------------------------------------------------------------------------------------\n 0 **FREE \n 0 Ctl-Opt Option(*Srcstmt : *NodebugIO); \n 0 Ctl-Opt CopyRight('Victoria Computer Services LTD - 2020'); \n 0 Ctl-Opt DecEdit(*Jobrun); \n 0 Ctl-Opt DatEdit(*dmy.); \n 220422 Ctl-Opt AlwNull(*usrctl); \n\n 6 RECORD(S) SELECTED.", "stderr": "" }

/home/hm: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')" CREATE OR REPLACE ALIAS ILEDITOR.BMS71L_SRC_VSCODE_RPGLINT for "BMS71L_SRC"."VSCODE"("RPGLINT") { "code": 0, "signal": null, "stdout": "DB2>\n ?>\nDB20000I THE SQL COMMAND COMPLETED SUCCESSFULLY.", "stderr": "" }

/home/hm: LC_ALL=EN_US.UTF-8 system "call QSYS/QZDFMDB2 PARM('-d' '-i' '-t')" SELECT LENGTH(srcdta) as LENGTH FROM ILEDITOR.BMS71L_SRC_VSCODE_RPGLINT limit 1 { "code": 4, "signal": null, "stdout": "DB2>\n ?>\n\n **** CLI ERROR *****\n SQLSTATE: 42704\nNATIVE ERROR CODE: -204\nRPGLINT in *N di tipo *MEM non trovato.", "stderr": "" }

HenryMiller avatar Feb 29 '24 13:02 HenryMiller

@HenryMiller initial glance at the log is that it looks ok. Are you still getting the error? I am not seeing an error for that file in the log you shared.

worksofliam avatar Feb 29 '24 15:02 worksofliam

Hi Barry, yes, I'm getting same error now. I disconnected from IBM I , closed all Vs Code windows , reopened VS Code , and reconnected to IBM I I presume that issue is related to special characters and only when I edit same source code in SEU and/or VS CODE.

image image

HenryMiller avatar Feb 29 '24 15:02 HenryMiller

@HenryMiller When you get that error, please share your entire output and not just a snippet of it.

worksofliam avatar Feb 29 '24 16:02 worksofliam

Hi Barry, I tried but I was not able to upload due to size limit.

I've created a very small source code and added special characters. I always noted that there 's an error at QSYSPRT *LIBL . error states "position 1 argument of TRANSLATE function not valid".

In this case it's the Italian accent on letter a. I cleared log, tried to save and copied all log data which is attached at the end of this comment.

image `
/home/hm: /usr/bin/setccsid 1208 /tmp/vscodetemp-O_VsK84RVn
{
    "code": 0,
    "signal": null,
    "stdout": "",
    "stderr": ""
}

/home/hm: /QOpenSys/usr/bin/qsh
system  "QSYS/RUNSQLSTM SRCSTMF('/tmp/vscodetemp-O_VsK84RVn') COMMIT(*NONE) NAMING(*SQL)"
{
    "code": 255,
    "signal": null,
    "stdout": "5770SS1 V7R4M0 190621            Esecuzione istruzioni SQL         VSCODETEMP                         29/02/24 18:06:39   PAGE   1\nFile flusso origine......./tmp/vscodetemp-O_VsK84RVn\nRelease destinazione......V7R4M0\nCommit.................*NONE\nDenominazione.............*SQL\nLivello generazione.......10\nFormato data..............*JOB\nSeparatore data...........*JOB\nFormato ora...............*HMS\nSeparatore ora ...........*JOB\nMargine destro............80\nRaccolta predefinita......*NONE\nIndicatore IBM SQL........*NOFLAG\nIndicatore ANS............*NONE\nVirgola decimale..........*JOB\nSequenza di ordinamento...*JOB\nID lingua.................*JOB\nFile di stampa............*LIBL/QSYSPRT\nCCSID file origine........1208\nCCSID lavoro..............1144\nElaborazione istruzioni...*RUN\nPermessa la copia dati....*OPTIMIZE\nConsentito il blocco......*ALLREAD\nRegole SQL................*DB2\nOpzioni risultati decimali:\n  Precisione massima.......31\n  Scala massima...........31\n  Scala divisione minima....0\nAccesso contemporaneo\n  risoluzione..........*DFT\nSensibile a ora sistema.*YES\nMembro origine modificato in 29/02/24  18:06:39\n5770SS1 V7R4M0 190621            Esecuzione istruzioni SQL         VSCODETEMP                         29/02/24 18:06:39   PAGE     2\nRecord  *...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8   SEQNBR  Ultima modifica\n      1 CREATE TABLE QTEMP.NEWMEMBER LIKE \"BMS71L_SRC\".\"QSRC\";\n      2 insert into QTEMP.NEWMEMBER values (1, 950115, translate('     A*===============\n      2 =========================================================*', x'25', x'2F')),(2,\n      2 170422, translate('     A*= $UNMIS   - DS UNITA'' DI MISURA\n      2                   =*', x'25', x'2F')),(3, 950115, translate('     A*============\n      2 ============================================================*', x'25', x'2F')),(\n      2 4, 910723, translate('     A*', x'25', x'2F')),(5, 950114, translate('     A\n      2                                   REF(DIZBAS)', x'25', x'2F')),(6, 950114, trans\n      2 late('     A*', x'25', x'2F')),(7, 170422, translate('     A          R $UNMIS',\n      2  x'25', x'2F')),(8, 950501, translate(UX'002000200020002000200041002000200020002\n      2 00020002000200020002000200020002000200020002000200020002000200020002000200020002\n      2 00020002000200020002000200020002000200020002000200020002000540045005800540028002\n      2 70044005300200055006E00690074FFFD0020006400690020006D006900730075007200610027002\n      2 9', x'25', x'2F')),(9, 920511, translate('     A*', x'25', x'2F')),(10, 950501,\n      2 translate('     A            TQNDIM    R     S         REFFLD(NDIM)', x'25', x'2\n      2 F')),(11, 990413, translate('     A            TQNDEC    R     S         REFFLD(\n      2 NDEC)', x'25', x'2F')),(12, 950115, translate('     A*', x'25', x'2F'));\n      3 CALL QSYS2.QCMDEXC('CLRPFM FILE(BMS71L_SRC/QSRC) MBR($UNMIS)');\n      4 insert into ILEDITOR.BMS71L_SRC_QSRC_$UNMIS (select * from QTEMP.NEWMEMBER);\n                                 * * * * *  F I N E  O R I G I N E  * * * * *\n5770SS1 V7R4M0 190621            Esecuzione istruzioni SQL         VSCODETEMP                         29/02/24 18:06:39   PAGE     3\nRecord  *...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8   SEQNBR  Ultima modifica\nID MES  SEV  RECORD  TESTO\nSQL7950   0       1  Posizione 1 La tabella NEWMEMBER � stata creata in QTEMP.\nSQL0171  30       2  Posizione 1 Argomento 1 della funzione TRANSLATE non\n                     valido.\n                    Riepilogo messaggi\nTotale  Informativo  Avvertenza  Errore  Grave  Terminale\n      2           1                0               0           1          0\nTrovati nell'origine 30 errori gravi\n                               * * * * * F I N E  D E L L A  L I S T A * * * * *",
    "stderr": "QSYSPRT   *LIBL"
}

HenryMiller avatar Feb 29 '24 17:02 HenryMiller

@HenryMiller Thanks! That is a good find. Do you have the 'Show Set Colors' setting enabled in your VS Code settings?

image
Formatted
5770SS1 V7R4M0 190621            Esecuzione istruzioni SQL         VSCODETEMP                         29/02/24 18:06:39   PAGE   1
File flusso origine......./tmp/vscodetemp-O_VsK84RVn
Release destinazione......V7R4M0
Commit.................*NONE
Denominazione.............*SQL
Livello generazione.......10
Formato data..............*JOB
Separatore data...........*JOB
Formato ora...............*HMS
Separatore ora ...........*JOB
Margine destro............80
Raccolta predefinita......*NONE
Indicatore IBM SQL........*NOFLAG
Indicatore ANS............*NONE
Virgola decimale..........*JOB
Sequenza di ordinamento...*JOB
ID lingua.................*JOB
File di stampa............*LIBL/QSYSPRT
CCSID file origine........1208
CCSID lavoro..............1144
Elaborazione istruzioni...*RUN
Permessa la copia dati....*OPTIMIZE
Consentito il blocco......*ALLREAD
Regole SQL................*DB2
Opzioni risultati decimali:
  Precisione massima.......31
  Scala massima...........31
  Scala divisione minima....0
Accesso contemporaneo
  risoluzione..........*DFT
Sensibile a ora sistema.*YES
Membro origine modificato in 29/02/24  18:06:39
5770SS1 V7R4M0 190621            Esecuzione istruzioni SQL         VSCODETEMP                         29/02/24 18:06:39   PAGE     2
Record  *...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8   SEQNBR  Ultima modifica
      1 CREATE TABLE QTEMP.NEWMEMBER LIKE \"BMS71L_SRC\".\"QSRC\";
      2 insert into QTEMP.NEWMEMBER values (1, 950115, translate('     A*===============
      2 =========================================================*', x'25', x'2F')),(2,
      2 170422, translate('     A*= $UNMIS   - DS UNITA'' DI MISURA
      2                   =*', x'25', x'2F')),(3, 950115, translate('     A*============
      2 ============================================================*', x'25', x'2F')),(
        2 4, 910723, translate('     A*', x'25', x'2F')),(5, 950114, translate('     A
      2                                   REF(DIZBAS)', x'25', x'2F')),(6, 950114, trans
      2 late('     A*', x'25', x'2F')),(7, 170422, translate('     A          R $UNMIS',
      2  x'25', x'2F')),(8, 950501, translate(UX'002000200020002000200041002000200020002
      2 00020002000200020002000200020002000200020002000200020002000200020002000200020002
      2 00020002000200020002000200020002000200020002000200020002000540045005800540028002
      2 70044005300200055006E00690074FFFD0020006400690020006D006900730075007200610027002
      2 9', x'25', x'2F')),(9, 920511, translate('     A*', x'25', x'2F')),(10, 950501,
      2 translate('     A            TQNDIM    R     S         REFFLD(NDIM)', x'25', x'2
      2 F')),(11, 990413, translate('     A            TQNDEC    R     S         REFFLD(
        2 NDEC)', x'25', x'2F')),(12, 950115, translate('     A*', x'25', x'2F'));
      3 CALL QSYS2.QCMDEXC('CLRPFM FILE(BMS71L_SRC/QSRC) MBR($UNMIS)');
      4 insert into ILEDITOR.BMS71L_SRC_QSRC_$UNMIS (select * from QTEMP.NEWMEMBER);
                                 * * * * *  F I N E  O R I G I N E  * * * * *
5770SS1 V7R4M0 190621            Esecuzione istruzioni SQL         VSCODETEMP                         29/02/24 18:06:39   PAGE     3
Record  *...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8   SEQNBR  Ultima modifica
ID MES  SEV  RECORD  TESTO
SQL7950   0       1  Posizione 1 La tabella NEWMEMBER � stata creata in QTEMP.
SQL0171  30       2  Posizione 1 Argomento 1 della funzione TRANSLATE non
                     valido.
                    Riepilogo messaggi
Totale  Informativo  Avvertenza  Errore  Grave  Terminale
      2           1                0               0           1          0
Trovati nell'origine 30 errori gravi
                               * * * * * F I N E  D E L L A  L I S T A * * * * *

worksofliam avatar Feb 29 '24 18:02 worksofliam

Hi Barry, Yes, I do have "SHOW SEU COLORS" enabled.

HenryMiller avatar Mar 01 '24 07:03 HenryMiller

@HenryMiller I would recommend turning it off and then attempting to save.

worksofliam avatar May 15 '24 13:05 worksofliam