On 11-Aug-2016 11:52 -0500, Brian Parkins wrote:
Just noticed the following change to the CRTSQLRPGI command at V7.1
The TOSRCFILE parameter defaults have been modified,
from: TOSRCFILE(QTEMP/QSQLTEMP1)
to: TOSRCFILE(QTEMP/*CALC)
Can anyone explain what *CALC means? The Help is - errr - no help at
all. I've checked the IBM Knowledge Centre and no help there either.
That there is consistency is actually a good sign :-) The source for
both is supposed to be derived from the same location.
I_did_ find a mention of what *CALC means for CRTSQLCI,
*CALC
The output source file name will be generated based on the
margins of the source file. The name will be QSQLTxxxxx,
where xxxxx is the width of the source file. If the source
file record length is less than or equal to 92, the name
will be QSQLTEMP.
I get the "gist" - but does this also apply to CRTSQLRPGI as well?
Seems for lack of the addition of a Source Margins (MARGINS)
parameter to that Create SQL ILE RPG Object (CRTSQLRPGI) command, that
their change to enable the new special-value of *CALC was premature; and
reflected in their failure to update the help text with the new
special-value.
The effect for Enter pressed followed by F12=Cancel on each of those
for which 1=Select gets processed from the following command-line
request to SLTCMD CRTSQL* is revealing in that regard:
Select Command
Type options, press Enter.
1=Select
Opt Command Library Text
_ CRTSQLCBL QSYS Create SQL COBOL Program
_ CRTSQLCBLI QSYS Create SQL ILE COBOL Object
1 CRTSQLCI QSYS Create SQL ILE C object
1 CRTSQLCPPI QSYS Create SQL ILE C++ Object
_ CRTSQLPKG QSYS Create SQL Package
_ CRTSQLPLI QSYS Create SQL PL/I Program
_ CRTSQLRPG QSYS Create SQL RPG Program
1 CRTSQLRPGI QSYS Create SQL ILE RPG Object
Parameters or command
===> ??tosrcfile(*calc) ??margins(*n 112) obj(qtemp/"junk")
On the third prompted command, the CRTSQLRPGI, the error is msg
CPD0043 "Keyword MARGINS not valid for this command."; and there is of
course the lack of an error msg CPD0078 "Value '*CALC ' for
parameter TOSRCFILE not a valid name." as would be seen if 1=Select with
the same command-line parameter specifications were performed for the
CRTSQLCBLI.
I would presume and expect that, for the lack of any MARGINS
capability, the effect will remain unchanged from that of past releases,
for the new default of *CALC; meaning, the qualified name
QTEMP/QSQLTEMP1, or the customized\changed default. And if any version
of the command is made available with the MARGINS support, then anyone
taking advantage, will probably /learn/ the effect is similar to what is
documented on those other two commands; supposing, QSQLTEMP1 vs QSQLTEMP
being the only difference in the help text.?
As an Amazon Associate we earn from qualifying purchases.