Thank you! It turns out if I change the DD name, that the RDJFCB succeeds. What
I have done is insert the following code after testing that the RDJFCB succeeds:
IF CLC,JFCBDSNM,EQ,UNIX
XR R15,R15 Set return code = 0
XR R0,R0 Set reason code = 0
ASMLEAVE , Leave the structure
ENDIF
UNIX DC CL44'...PATH=.SPECIFIED...'
Where the DC is placed down in the constants area. This works very well for me.
--
John McKown
Systems Engineer IV
IT
Administrative Services Group
HealthMarkets(r)
9151 Boulevard 26 * N. Richland Hills * TX 76010
(817) 255-3225 phone *
[email protected] * www.HealthMarkets.com
Confidentiality Notice: This e-mail message may contain confidential or
proprietary information. If you are not the intended recipient, please contact
the sender by reply e-mail and destroy all copies of the original message.
HealthMarkets(r) is the brand name for products underwritten and issued by the
insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance
Company(r), Mid-West National Life Insurance Company of TennesseeSM and The
MEGA Life and Health Insurance Company.SM
> -----Original Message-----
> From: IBM Mainframe Assembler List
> [mailto:[email protected]] On Behalf Of Edward Jaffe
> Sent: Tuesday, February 21, 2012 1:08 PM
> To: [email protected]
> Subject: Re: FLOWASM observation
>
> On 2/21/2012 8:52 AM, McKown, John wrote:
> > I keep my HLASM source in z/OS UNIX files. "Just because I
> want to.". This works well for me. The only problem that I've
> run into is when I edit with "vi" (yes, I get what I
> deserve). ISPF edit "knows" that if I replace "ABCD" with
> "EF", it should only move the non-blank characters
> immediately to the right of the "ABCD" left. vi doesn't do
> this. This is really disruptive of continuation characters in
> column 72. So, looked at FLOWASM. Wonderfully, one thing it
> allows is continuation of a statement without the
> continuation character in column 72! So I thought it would be
> wonder to use and remove all the characters from column 72.
> Unfortunately, FLOWASM uses RDJFCB on the DCB which describe
> the input dataset. This RDJFCB gets an RC of 4 when the input
> is a UNIX file.<sigh>. It appears that the RDJFCB is really
> only used to pass back the DSN and volume of the input
> dataset to the assembler.
>
> John,
>
> In studying the FLOWASM code, I see the only reason there is
> an OPEN at all in
> routine FLOW_SrcOpen is to handle long, variable-length
> records. If your records
> are all <= 80 characters in length (which I assume they must
> be since you're not
> currently a FLOWASM user), then it should be OK to let the
> assembler perform the
> OPEN and READs for us.
>
> I would change the following code from this:
>
> DO , Do for OPEN processing
> LA R2,FLOWDCB Point to the DCB
> MVC FLOWMACW(FLOWRDFML),FLOWRDFM Copy model RDJFCB macro
> RDJFCB ((2)), Read the JFCB
> MF=(E,FLOWMACW) (same)
> IF LTR,R15,R15,NZ If non-zero return code
> LA R15,AXPCBAD Indicate OPEN failed
> XR R0,R0 Set reason code = 0
> ASMLEAVE , Leave the structure
> ENDIF , EndIf
>
> to this (only one line changed. See '<== HERE' comment):
>
> DO , Do for OPEN processing
> LA R2,FLOWDCB Point to the DCB
> MVC FLOWMACW(FLOWRDFML),FLOWRDFM Copy model RDJFCB macro
> RDJFCB ((2)), Read the JFCB
> MF=(E,FLOWMACW) (same)
> IF LTR,R15,R15,NZ If non-zero return code
> XR R15,R15 Set return code = 0 <== HERE!
> XR R0,R0 Set reason code = 0
> ASMLEAVE , Leave the structure
> ENDIF , EndIf
>
> I believe this change will instruct the assembler to fall
> back to its own
> internal OPEN and READ processing for SYSIN (or whatever DD
> you're using) which,
> as you know, contains support for z/OS UNIX files.
>
> Regards,
>
> --
> Edward E Jaffe
> Phoenix Software International, Inc
> 831 Parkview Drive North
> El Segundo, CA 90245
> 310-338-0400 x318
> [email protected]
> http://www.phoenixsoftware.com/
>
>