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

Reply via email to