codefori / codefori/vscode-ibmi
CPYTOIMPF Failure with Code for IBM I
- Dominant language
- TypeScript
- Stars
- 418
- Forks
- 160
- Avg merge
- 4d 19h
- Merged PRs (30d)
- 12
Description
In codeForIBMI project, we have found an issue.
Prerequisite: SQLRPGLE source member
We have historical code that was developed with RDI and ACS with the std 112 rcdlen source file.
We are switching to VS Code.
There are two issues.
1. We use ACS to develop 90% of the SQL before placing it into the Source member.
If there is a new line (without the Carriage Return (CR)) it transforms it into \\ and causes a developer to change the text. This is easy to see and easy to resolve. A fix would be nice.
2. We have tabs for indentation within the source member which came from the same copy/paste from ACS.
***How to Reproduce:
Compile it with no changes. Compile works fine.
Open the src mbr in VS Code. Make a simple non-sql change, even a comment line will do.
Save the src mbr.
This will not save since the tab character is being expanded/replaced when saving and it overflows the length of the source file. CPYTOIMPF failure.
We tried to replace the tab with 2 spaces within VS Code. This looks good on the screen and is able to be saved.
Try to compile it and it will not compile. It appears that if the source line goes over 80 characters, the SQL precompile fails since it is trying to use a temporary work file and truncating the source code.
Within VS Code each dev can set the tab to be different length, 2,3,5 etc. This works great but when the CPYTOIMPF runs, it is not USING the same 2,3,5 but a default value it has determined. We have to do the explicit convert tab to char to get around some of it. Yet that tab is still in the IFS version (not the text editor version).
***Environment Details
IBM iOS V7.4
Code for i Version 2.15.3
***Screenshots


Contributor guide
Assessment
This issue has not been assessed yet.