Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Early on in this document you can read:
Quote: |
Calling Conventions
BPXWDYN is designed to be called from REXX, but may also be called by any program. Three parameter list forms are supported.
REXX External Function Parameter List
This parameter list allows REXX programs to call the BPXWDYN programs as a function or subroutine. They must be called with a single string parameter:
if BPXWDYN("alloc dd(sysin) da('my.dataset') shr")<>0 then
call allocfailed
Conventional MVS Variable Length Parameter String
This is the same parameter list as is generated by ADDRESS LINKMVS with one parameter and JCL with EXEC PGM=,PARM=. This parameter list form is simple to use by any program. Note that this is a single item variable length parameter list. The high bit is on in the parameter address word and length is a half word.
Figure 1.
*-*------------------*
R1-->|1| parm string addr *---*
*-*------------------* |
*-----------------------*
| *-------*---------------------*
*---->| length| parameter string |
*---*---*---------------------*
|
Now, I can only conclude that one of three possibilities occurred:
1. You did not read the material you were referred to. "Guru"s read documentation, especially when told it can solve their problem.
2. You read this document but did not comprehend it. Since this is basic, elementary Assembler coding conventions, not comprehending this material is not a good indicator for a "Guru".
3. You read this document, comprehended it, but did not follow the coding conventions. A "Guru" would not ignore coding conventions and then complain about the quality of the documentation. Coding conventions may sound optional but they are not -- you disregard them at the peril of your program. Your program problems were entirely caused by your not following the requirements of the called subroutine. |
|