On 3 March 2015 at 09:33, Donald Likens <[email protected]> wrote:
> INITPPI  CALL  (15),(INITSUB,@CEXPTJL,@SRVRTNS,RUNTMOPT,TOKEN)

You aren't checking that the INITSUB call worked. If you don't have a
PIPI environment, all bets are off when you try to use it.

> *C  CALL SDKREAD
> *        CALL  (15),(CALLSUB,SDKREADI,TOKEN,SDKBUFA,
> *              SUBRETC,SUBRSNC,SUBFBC)   INVOKE CEEPIPI ROUTINE

You have commented out the CALL from the example in the book, and
replaced it with your own setup and BASR. That's OK, of course, but
I'm not sure you have mapped it the same way. Why not use the CALL as
supplied in the example, and modify it to suit?

>          LA    R1,PRINTA
>          ST    R1,SDKREADM
>          LA    R1,SDKREADP
>          L     R15,PPRTNPTR       GET ADDRESS OF CEEPIPI ROUTINE
>          BASR  R14,R15

If you want to stick to this scheme, you need to verify that it
exactly matches the example in the basic parts. It's easy to get a
level of indirection off or an offset wrong.

If you want some more eyeballs on this, I'd suggest you keep your code
as close as you can to the example. Not too many people are motivated
to go through code that has been carelessly edited looking for typos
and such, particularly when you don't post the complete program.

FWIW, I have in the distant past compiled and tested the example from
the book, and it worked fine. I then modified it slightly so use the
CALLSUBA method, and that worked too. So if you (as has already been
suggested) build the example without change, and then work from there,
you may have better luck.

Tony H.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to