Re: Simple newbie file tailoring question

2008-05-01 Thread David L. Hempstead
On Wed, 30 Apr 2008 11:54:37 -0500, David Eisenberg 
[EMAIL PROTECTED] wrote:

Is there a way to prevent the truncation, so that my application always
receives a full eight-byte value, preferably blank-padded?

Bill Wilkie's program approach is the ideal; that being stated, here is how you 
would do it:

REXX:
   address ISPEXEC
   VGET (ZUSER) SHARED
retc = rc
parm = substr(zuser,1,8,' ')

CLIST:
ISPEXEC VGET (ZUSER) SHARED
SET RC=LASTCC
SET PARM=SUBSTR(1:8,STR(ZUSER   ))   /* Seven trailing blanks.


The SKELS would look like
...PARM='PARM'


Regards,
David L. Hempstead
Sr. Software Engineer
CA, MF Storage Mgmt

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Simple newbie file tailoring question

2008-04-30 Thread David Eisenberg
Anyone,

I'm working with a skeleton that generates an EXEC statement that looks like 
this:

//STEP1 EXEC PGM=MYPROG,REGION=4M,PARM='ZUSER'

I wish to pass the value in ZUSER to MYPROG, but I see that if the TSO userid 
is  8 characters long, the trailing blanks from the ZUSER variable are 
truncated, and are not being passed to my assembler application. I.e., if the 
userid is USER1, I get a 5-byte parm string instead of an 8-byte parm string 
padded with blanks (or nulls, or anything).

Is there a way to prevent the truncation, so that my application always 
receives a full eight-byte value, preferably blank-padded?

Thank you!

David

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: Simple newbie file tailoring question

2008-04-30 Thread Bill Wilkie
David:
 
When you pick up the length of the parm field, make sure it's not zero and if 
not, decrement it by one and execute the MVC to save it in your initialized 
area:
 
LR1,0(,R1)
LH  R2, 0(,r1) 
LTRR2,R2
BZ NOPARM
BCTR  R2,R0
EX R2,SAVEPRM
B   ...
SAVEPRM  MVC   MYPARM(0),2(r1)
MPARM  DCcl8' '  Initially 8 bytes of blanks
 
Bill Date: Wed, 30 Apr 2008 11:54:37 -0500 From: [EMAIL PROTECTED] Subject: 
Simple newbie file tailoring question To: IBM-MAIN@BAMA.UA.EDU  Anyone,  
I'm working with a skeleton that generates an EXEC statement that looks like  
this:  //STEP1 EXEC PGM=MYPROG,REGION=4M,PARM='ZUSER'  I wish to pass the 
value in ZUSER to MYPROG, but I see that if the TSO userid  is  8 characters 
long, the trailing blanks from the ZUSER variable are  truncated, and are not 
being passed to my assembler application. I.e., if the  userid is USER1, I 
get a 5-byte parm string instead of an 8-byte parm string  padded with blanks 
(or nulls, or anything).  Is there a way to prevent the truncation, so that 
my application always  receives a full eight-byte value, preferably 
blank-padded?  Thank you!  David  
-- For 
IBM-MAIN subscribe / signoff / archive access instructions, send email to 
[EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at 
http://bama.ua.edu/archives/ibm-main.html 
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: Simple newbie file tailoring question

2008-04-30 Thread Steve Comstock

David Eisenberg wrote:

Anyone,

I'm working with a skeleton that generates an EXEC statement that looks like 
this:


//STEP1 EXEC PGM=MYPROG,REGION=4M,PARM='ZUSER'

I wish to pass the value in ZUSER to MYPROG, but I see that if the TSO userid 
is  8 characters long, the trailing blanks from the ZUSER variable are 
truncated, and are not being passed to my assembler application. I.e., if the 
userid is USER1, I get a 5-byte parm string instead of an 8-byte parm string 
padded with blanks (or nulls, or anything).


Is there a way to prevent the truncation, so that my application always 
receives a full eight-byte value, preferably blank-padded?


Thank you!

David


If you are z/OS 1.8 or later, you can use the extended
built-in function LEFT, like:

)SEL MYUSER=LEFT(ZUSER,8)

then use MYUSER in your skeleton

Might be simpler just to do the work in your Assembler program, though.

ad

We offer a robust, full, rich course in Dialog Manager:
five fun-filled, thrill-packed days. Details here:

  http://www.trainersfriend.com/TSO_Clist_REXX_Dialog_Mgr/a810descrpt.htm

/ad


Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.

303-393-8716
http://www.trainersfriend.com

  z/OS Application development made easier
* Our classes include
   + How things work
   + Programming examples with realistic applications
   + Starter / skeleton code
   + Complete working programs
   + Useful utilities and subroutines
   + Tips and techniques

== Check out the Trainer's Friend Store to purchase z/OS  ==
== application developer toolkits. Sample code in four==
== programming languages, JCL to Assemble or compile, ==
== bind and test. ==
==   http://www.trainersfriend.com/TTFStore/index.html==



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: Simple newbie file tailoring question

2008-04-30 Thread David Eisenberg
If you are z/OS 1.8 or later

Naturally, we are at z/OS 1.7.

This is the sort of thing I was looking for, however. For the time being, I'll 
just 
accept the truncated PARM= and deal with it in the application (as per Bill 
Wilkie's earlier post).

Thanks, gentlemen.

David

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: Simple newbie file tailoring question

2008-04-30 Thread McKown, John
 -Original Message-
 From: IBM Mainframe Discussion List 
 [mailto:[EMAIL PROTECTED] On Behalf Of David Eisenberg
 Sent: Wednesday, April 30, 2008 12:29 PM
 To: IBM-MAIN@BAMA.UA.EDU
 Subject: Re: Simple newbie file tailoring question
 
 If you are z/OS 1.8 or later
 
 Naturally, we are at z/OS 1.7.
 
 This is the sort of thing I was looking for, however. For the 
 time being, I'll just 
 accept the truncated PARM= and deal with it in the 
 application (as per Bill 
 Wilkie's earlier post).
 
 Thanks, gentlemen.
 
 David

Why not just append blanks to the end of the PARM yourself?

//STEP1 EXEC PGM=MYPROG,REGION=4M,PARM='ZUSER'

You can then just ignore the extras. This only works if you are only
interested in the ZUSER as your example showed. If you have other parms
at fixed offsets, then this won't work.

--
John McKown
Senior Systems Programmer
HealthMarkets
Keeping the Promise of Affordable Coverage
Administrative Services Group
Information Technology

The information contained in this e-mail message may be privileged
and/or confidential.  It is for intended addressee(s) only.  If you are
not the intended recipient, you are hereby notified that any disclosure,
reproduction, distribution or other use of this communication is
strictly prohibited and could, in certain circumstances, be a criminal
offense.  If you have received this e-mail in error, please notify the
sender by reply and delete this message without copying or disclosing
it.  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: Simple newbie file tailoring question

2008-04-30 Thread David Eisenberg
If you have other parms at fixed offsets, then this won't work.

I don't have other parms right now, but I would like to reserve the right to do 
so going forward. That's why I was hoping to force the length of the PARM 
string to 8.

David

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: Simple newbie file tailoring question

2008-04-30 Thread Frank Merlenbach
you could possibly use alternate tabbing (note the exclamation point) in 
your skeleton: 

)TBA 49 
//STEP1 EXEC PGM=MYPROG,REGION=4M,PARM='ZUSER!' 


Thanks,
Frank Merlenbach
[EMAIL PROTECTED]

IBM Mainframe Discussion List IBM-MAIN@BAMA.UA.EDU wrote on 04/30/2008 
11:54:37 AM:

 Anyone,
 
 I'm working with a skeleton that generates an EXEC statement that looks 
like 
 this:
 
 //STEP1 EXEC PGM=MYPROG,REGION=4M,PARM='ZUSER'
 
 I wish to pass the value in ZUSER to MYPROG, but I see that if the TSO 
userid 
 is  8 characters long, the trailing blanks from the ZUSER variable are 
 truncated, and are not being passed to my assembler application. I.e., 
if the 
 userid is USER1, I get a 5-byte parm string instead of an 8-byte 
 parm string 
 padded with blanks (or nulls, or anything).
 
 Is there a way to prevent the truncation, so that my application always 
 receives a full eight-byte value, preferably blank-padded?
 
 Thank you!
 
 David
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html
 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html