On Sun, 27 Dec 2009 08:56:34 +0000, Sam Siegel wrote: >Were splitting hairs here. The original question related specifically to >batch processing. (I took this to mean JCL/Converter/Interpreter.) The >information from the link is related to tso and the tso call facility. > There is no ASIS facility within a C/C++ program. > ... even as there's no CAPS facility in JCL.
It's important that these hairs be split. The programmer must be able to tell whether his data is being munged by ISPF, JCL, TSO, LE, or ??? something else. The document at: >> http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/cbcug170/11.3.2 makes much mention of TSO, CALL, ASIS, etc. Yet it led me to believe it was describing operation of LE -- that's the title of the document. Better it should contain a cross reference to the TSO RM so the programmer could read the description in its intuitive context. However, in http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ikj4c590/1.10.3 I read: 1.10.3 "z/OS V1R10.0 TSO/E Command Reference" ASIS | CAPS ASIS prevents translation of a parameter list to uppercase characters. Use ASIS for programs that accept mixed case characters in a parameter list; the CALL command will not alter the parameters in any way when the ASIS option is specified. The phrase "will not alter the parameters in any way" is pretty emphatic. (We must infer a reasonable exception for doubled apostrophes, etc. But that happens at a different layer.) In fact, an experiment with a non-LE utility shows that TSO CALL *(ASMA90) 'SYSPARM(ALLCAPS)' ASIS passes the entirely uppercase PARM to the program in uppercase. If the conversion to lowercase is performed it must be done by another component. LE? C/C++? I haven't the resources to perform that experiment. >A C/C++ program will recieve parms as passed (subject to the PLIST(OS|HOST) >setting) and will not change the case of the passed parameters. In fact you >can send hex values (except x'00') in a parm from JCL by turing HEX ON. > More conflation of environments. In fact: o I can send any character value in a parm from JCL without ever turning HEX ON. HEX, like CAPS, is not a JCL facility, and belongs in a discussion of some component other than JCL. o I can pass the the value of the x'00' character in a parm from JCL. Some other component (LE? C/C++ again?) may not accept it. >With the information you have provided we can see that the TSO has different >rules for parm processing that JCL. Neither the TSO or JCL rules apply to >program to program calls. > ... which is the reason we should be clear about which component we are discussing. -- gil ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html