Does anyone know how to do this, I think this is accomplished using pointers but I can't remember exactly how, example code would be really helpful...but of course all help much appreciated
this is on z/OS, using Assembler(don't know the version) and Cobol (Enterprise Z/OS) where a third party software, specifically a BMC product written in assembler is attempting to LINK to a cobol program as a submodule in batch from one of its exits. The cobol program has been written to accept the linkage parms purely as we would cobol to cobol i.e. as a block of data. This isn't working, the call to the cobol module is takign a couple of minutes to complete and we are getting very little info back. I need to know how the cobol program should be attempting to reference the data created by the assembler program in a DSECT and if anyone knows how the assembler program should be invoking the cobol(is LINK OK??). All help much appreciated.
I suspect you may have some issues related to LE here. Unless the calling program is running in an LE environment, it has to specifically setup the LE environment before calling any COBOL code that relies on LE (as I think all of the currently supported compilers do). If it doesn't, you'll have to write an Assembler stub to do that before invoking your COBOL program.
Thanks for the responses so far, am leaving for the day, but to answer Marc and 3gm, yes there have been displays put into the cobol pgm but unfortnately its not my module, its not even under our teams control so I can't mess about with it too much, as far as I know its reaching the cobol module. Sorry to be vague but I've never had to know how to do this before and sort of got roped into this issue out of my own interest...Also I agree with the thought that there might be some LE issues but supposedly this had been checked out and the environment is set up but obviously we now have to check again. As for the BMC documentation well erm...I was trying to avoid wading through sleep inducing paper but it seems destined to be my job tomorrow...Have remembered a bit more about how I thought this should be done and shouldn't we have pointers in the linkage which reference the assembler dsect and from there reference the data...could be embarrassingly wrong??? Anyway thanks again for the help so far.
If your Assembler program is *NOT* "LE-conforming" that I don't know what to do or ssuggest. Assuming that it IS LE-conforming, then the place to start for information on passing information between assembler and COBOL is in the LE "ILC" manual. specifically, look at:
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.