On 3/18/2011 3:46 PM, Phil Smith wrote:
Well, adding ALIASES(ALL) seems to be the answer.
Now to solve the original problem, which is much nastier
(involving long, mixed-case names...)
Thanks.
--
...phsiii
Phil Smith III
[email protected]
Voltage Security, Inc.
www.voltage.com
(703) 476-4511 (home office)
(703) 568-6662 (cell)
Well, of course you've got to compile with PGMNAME(LONGMIXED);
this requires all program name references to be quoted. To take
your original example:
process pgmname(longmixed) <==
Identification Division.
Program-ID. "DCALLEE". <===
Environment Division.
Configuration Section.
Data Division.
Working-Storage Section.
Procedure Division.
Display "DCALLEE got called".
goback.
Entry "CALL2222".
Display "CALL2222 got called".
GOBACK.
End Program "DCALLEE".
PROCESS DYNAM NODLL pgmname(longmixed) <==
Identification Division.
Program-ID. "DCALLER".
Environment Division.
Configuration Section.
Data Division.
Working-Storage Section.
77 pgm Pic X(8).
Procedure Division.
move "DCALLEE " to pgm.
call pgm.
move "CALL2222" to pgm.
call pgm.
Stop Run .
End Program "DCALLER".
Next, for names longer than 8 characters, you really
need to bind into a PDSE not a PDS (you may be able
to futz around with the pre-linker and a PDS, but don't
do it).
And even so, I don't believe you can be successful
with working with long or case sensitive subroutine
names or entry points unless you use DLL support.
(Well, if you run under the shell and the module
is stored in the HFS/zFS, you could use a call to
bpx1lod to load the program, then do a call to the
loaded program; that would probably work.)
Good luck.
<ad>
Several of our courses might be of help to you here:
"Cross Program Communication in z/OS" - 3 days
Discusses writing calling and called programs in any
of Assembler, COBOL, PL/I, or C; how data elements and
structures are defined; how data is passed and recieved,
including passing by reference, by content, and by data;
handling variable numbers of parameters; shared external
data; the program binder; alternate entry points; and
more. Check out:
http://www.trainersfriend.com/Language_Environment_courses/m520descr.htm
"Creating and Using DLLs in z/OS" - 1 day
Discusses DLL linkages in Assembler, COBOL, PL/I, and C
and both implicit and explicit DLL linkages. Details:
http://www.trainersfriend.com/Language_Environment_courses/m525descr.htm
"Developing Applications for z/OS UNIX" - 3 days
Discusses working with files and consoles from Assembler,
COBOL, PL/I, and C using native language features (as
available) as well as calling C functions and z/OS UNIX
kernel functions; assembling or compiling and binding
under the shell; make and makefiles; more. See:
http://www.trainersfriend.com/UNIX_and_Web_courses/u520descr.htm
</ad>
--
Kind regards,
-Steve Comstock
The Trainer's Friend, Inc.
303-393-8716
http://www.trainersfriend.com
* To get a good Return on your Investment, first make an investment!
+ Training your people is an excellent investment
* Try our new tool for calculating your Return On Investment
for training dollars at
http://www.trainersfriend.com/ROI/roi.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