Discussion:
MPF exit MPF2REXX
(too old to reply)
Tony Thigpen
2018-01-10 16:40:46 UTC
Permalink
I have something strange happening using the MPF exit MPF2REXX.

We are trying to trap when specific subsystems shutdown during the day
shift. I am intercepting the IEF404I message, examining it for the job
name, then if the job name matches a table, I send a message.

If the exit is driven by a test job I submit, then everything works as
expected. But when the exit is driven by the shutdown of a started task,
I get a failure message on the consoe:

MPFTREXX INVOKED
MPFTREXX AXREXX RC 0000000C RSN 041E0C0F RTN: IEF404I
MPFTREXX DIAG1 47F0C024 DIAG2 D4D7C6E3 DIAG3 D9C5E7E7 DIAG4 40F0F161

Also, I have the trace output turned on. The trace file is built when
when the the exit is driven by a submitted job terminating. But, the
trace file is not written to, or even cleared, when the exit is driven
by the shutdown of a started task.
--
Tony Thigpen

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
ITschak Mugzach
2018-01-10 16:57:51 UTC
Permalink
System rexx is complex ;-( the cmplete list of return ode are here:
https://www.ibm.com/support/knowledgecenter/en/
SSLTBW_2.1.0/com.ibm.zos.v2r1.ieaa100/axrexxmac.htm
ITschak

​The four leftmost characters from the reason code 0c0f
C xxxx0C0F *Equate Symbol:* AXRBadIWMECREA

*Meaning:* A bad return code was returned from IWMECREA. The return code
and reason codes from IWMESQRY and the return and reason codes from
IWMECREA are placed in AXRDIAG1, AXRDIAG2, AXRDIAG3 and AXRDIAG4
respectively of the RexxDiag parameter.

*Action:* Inspect the return and reason codes from IWMESQRY and IWMECREA by
looking it up in the z/OS MVS Programming: Workload Management Services
<https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.ieaw200/toc.htm?view=kc>.
If the problem cannot be resolved, contact IBM Service.

Post by Tony Thigpen
I have something strange happening using the MPF exit MPF2REXX.
We are trying to trap when specific subsystems shutdown during the day
shift. I am intercepting the IEF404I message, examining it for the job
name, then if the job name matches a table, I send a message.
If the exit is driven by a test job I submit, then everything works as
expected. But when the exit is driven by the shutdown of a started task, I
MPFTREXX INVOKED
MPFTREXX AXREXX RC 0000000C RSN 041E0C0F RTN: IEF404I
MPFTREXX DIAG1 47F0C024 DIAG2 D4D7C6E3 DIAG3 D9C5E7E7 DIAG4 40F0F161
Also, I have the trace output turned on. The trace file is built when when
the the exit is driven by a submitted job terminating. But, the trace file
is not written to, or even cleared, when the exit is driven by the shutdown
of a started task.
--
Tony Thigpen
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
--
ITschak Mugzach
*|** IronSphere Platform* *|* *Information Security Contiguous Monitoring
for Legacy **| *

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Tony Thigpen
2018-01-10 17:17:06 UTC
Permalink
Yet, the DIAG1-4 values don't look like valid information. They look
like code.

Tony Thigpen
Post by ITschak Mugzach
https://www.ibm.com/support/knowledgecenter/en/
SSLTBW_2.1.0/com.ibm.zos.v2r1.ieaa100/axrexxmac.htm
ITschak
​The four leftmost characters from the reason code 0c0f
C xxxx0C0F *Equate Symbol:* AXRBadIWMECREA
*Meaning:* A bad return code was returned from IWMECREA. The return code
and reason codes from IWMESQRY and the return and reason codes from
IWMECREA are placed in AXRDIAG1, AXRDIAG2, AXRDIAG3 and AXRDIAG4
respectively of the RexxDiag parameter.
*Action:* Inspect the return and reason codes from IWMESQRY and IWMECREA by
looking it up in the z/OS MVS Programming: Workload Management Services
<https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.ieaw200/toc.htm?view=kc>.
If the problem cannot be resolved, contact IBM Service.

Post by Tony Thigpen
I have something strange happening using the MPF exit MPF2REXX.
We are trying to trap when specific subsystems shutdown during the day
shift. I am intercepting the IEF404I message, examining it for the job
name, then if the job name matches a table, I send a message.
If the exit is driven by a test job I submit, then everything works as
expected. But when the exit is driven by the shutdown of a started task, I
MPFTREXX INVOKED
MPFTREXX AXREXX RC 0000000C RSN 041E0C0F RTN: IEF404I
MPFTREXX DIAG1 47F0C024 DIAG2 D4D7C6E3 DIAG3 D9C5E7E7 DIAG4 40F0F161
Also, I have the trace output turned on. The trace file is built when when
the the exit is driven by a submitted job terminating. But, the trace file
is not written to, or even cleared, when the exit is driven by the shutdown
of a started task.
--
Tony Thigpen
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
ITschak Mugzach
2018-01-10 17:26:30 UTC
Permalink
That's correct. it is branch around constant, which is you MPFREXX module
namee. It's your own rexx, isn't it? Just enter trace all at the beginning
of the code you think that is malfunctioning. the output will be printed on
the console. you can always start the exec from the consoe as well (f
axr,exec_name ief404i jobname1

ITschak
Yet, the DIAG1-4 values don't look like valid information. They look like
code.
Tony Thigpen
Post by ITschak Mugzach
https://www.ibm.com/support/knowledgecenter/en/
SSLTBW_2.1.0/com.ibm.zos.v2r1.ieaa100/axrexxmac.htm
ITschak
​The four leftmost characters from the reason code 0c0f
C xxxx0C0F *Equate Symbol:* AXRBadIWMECREA
*Meaning:* A bad return code was returned from IWMECREA. The return code
and reason codes from IWMESQRY and the return and reason codes from
IWMECREA are placed in AXRDIAG1, AXRDIAG2, AXRDIAG3 and AXRDIAG4
respectively of the RexxDiag parameter.
*Action:* Inspect the return and reason codes from IWMESQRY and IWMECREA by
looking it up in the z/OS MVS Programming: Workload Management Services
<https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/co
m.ibm.zos.v2r1.ieaw200/toc.htm?view=kc>.
If the problem cannot be resolved, contact IBM Service.

I have something strange happening using the MPF exit MPF2REXX.
Post by Tony Thigpen
We are trying to trap when specific subsystems shutdown during the day
shift. I am intercepting the IEF404I message, examining it for the job
name, then if the job name matches a table, I send a message.
If the exit is driven by a test job I submit, then everything works as
expected. But when the exit is driven by the shutdown of a started task, I
MPFTREXX INVOKED
MPFTREXX AXREXX RC 0000000C RSN 041E0C0F RTN: IEF404I
MPFTREXX DIAG1 47F0C024 DIAG2 D4D7C6E3 DIAG3 D9C5E7E7 DIAG4 40F0F161
Also, I have the trace output turned on. The trace file is built when when
the the exit is driven by a submitted job terminating. But, the trace file
is not written to, or even cleared, when the exit is driven by the shutdown
of a started task.
--
Tony Thigpen
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
--
ITschak Mugzach
*|** IronSphere Platform* *|* *Information Security Contiguous Monitoring
for Legacy **| *

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Dana Mitchell
2018-01-10 17:36:31 UTC
Permalink
Tony,

I ran in to that same problem back when I was implementing this program. At the time I opened a PMR asking what was going on. I don't remember the exact details, but that particular environment wasn't valid to create and call a System REXX. At the time I had inserted code to test for it, the test is still in my copy, although I have a branch around it as I think I decided against using it for some reason, don't remember exactly why..

BNZ MinorLine Yes-> Go process minor line

* Check for valid environment @DM10222010

B EnvOK **** Don't check Environment ****

USING PSA,R0 Point to PSA @DM10222010
L R6,PSAAOLD Point to Current ASCB @DM10222010
USING ASCB,R6 Use pointer to ASCB @DM10222010
L R6,ASCBOUCB Point to OUCB @DM10222010
Drop R6 Reg is now pointing to ***@DM10222010
USING OUCB,R6 Tell assembler @DM10222010
CLI OUCBIAC,x'00' Is OUCBIAC>0? @DM10222010
BH EnvOK Yes-> Continue @DM10222010
WTO 'MPF2REXX Invalid environment for System REXX'
B Return @DM10222010
Drop R6 @DM10222010

* Getmain workarea


Dana
Post by Tony Thigpen
I have something strange happening using the MPF exit MPF2REXX.
We are trying to trap when specific subsystems shutdown during the day
shift. I am intercepting the IEF404I message, examining it for the job
name, then if the job name matches a table, I send a message.
MPFTREXX INVOKED
MPFTREXX AXREXX RC 0000000C RSN 041E0C0F RTN: IEF404I
MPFTREXX DIAG1 47F0C024 DIAG2 D4D7C6E3 DIAG3 D9C5E7E7 DIAG4 40F0F161
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
ITschak Mugzach
2018-01-10 17:44:12 UTC
Permalink
It look like the way it work is synchronous. You can use AXR modify command
with the related msg text. the only thing you need is to ensure the correct
identity that allows to enter the command using MGCRE. This is what I have
done... at the time i did... If I recall correctly, the exit get control
under the user address space, not the console address space, so you may
need to switch identities and some time must create one, because the msg
was produced by an address space which sRTED BEFORE RACF.

ITschak
Post by Dana Mitchell
Tony,
I ran in to that same problem back when I was implementing this program.
At the time I opened a PMR asking what was going on. I don't remember the
exact details, but that particular environment wasn't valid to create and
call a System REXX. At the time I had inserted code to test for it, the
test is still in my copy, although I have a branch around it as I think I
decided against using it for some reason, don't remember exactly why..
BNZ MinorLine Yes-> Go process minor line
B EnvOK **** Don't check Environment ****
WTO 'MPF2REXX Invalid environment for System REXX'
* Getmain workarea
Dana
Post by Tony Thigpen
I have something strange happening using the MPF exit MPF2REXX.
We are trying to trap when specific subsystems shutdown during the day
shift. I am intercepting the IEF404I message, examining it for the job
name, then if the job name matches a table, I send a message.
MPFTREXX INVOKED
MPFTREXX AXREXX RC 0000000C RSN 041E0C0F RTN: IEF404I
MPFTREXX DIAG1 47F0C024 DIAG2 D4D7C6E3 DIAG3 D9C5E7E7 DIAG4 40F0F161
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
--
ITschak Mugzach
*|** IronSphere Platform* *|* *Information Security Contiguous Monitoring
for Legacy **| *

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Tony Thigpen
2018-01-10 19:26:19 UTC
Permalink
I reactivated the environment check and now I get the Invalid
environment message.

So, what is OUCBIAC = x'00' telling us?

Tony Thigpen
Post by Dana Mitchell
Tony,
I ran in to that same problem back when I was implementing this program. At the time I opened a PMR asking what was going on. I don't remember the exact details, but that particular environment wasn't valid to create and call a System REXX. At the time I had inserted code to test for it, the test is still in my copy, although I have a branch around it as I think I decided against using it for some reason, don't remember exactly why..
BNZ MinorLine Yes-> Go process minor line
B EnvOK **** Don't check Environment ****
WTO 'MPF2REXX Invalid environment for System REXX'
* Getmain workarea
Dana
Post by Tony Thigpen
I have something strange happening using the MPF exit MPF2REXX.
We are trying to trap when specific subsystems shutdown during the day
shift. I am intercepting the IEF404I message, examining it for the job
name, then if the job name matches a table, I send a message.
MPFTREXX INVOKED
MPFTREXX AXREXX RC 0000000C RSN 041E0C0F RTN: IEF404I
MPFTREXX DIAG1 47F0C024 DIAG2 D4D7C6E3 DIAG3 D9C5E7E7 DIAG4 40F0F161
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Dana Mitchell
2018-01-10 20:16:11 UTC
Permalink
Post by Tony Thigpen
So, what is OUCBIAC = x'00' telling us?
It's been so long, I don't recall, but I think it was suggested by the L2 dude I was talking with about it as a way to verify the environment before setting up.

Dana

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Loading...