Discussion:
DFHKERN FUNCTION=INQUIRE_TASK,TCAADDRESS=R12
(too old to reply)
Alice Faria
2010-05-24 14:54:45 UTC
Permalink
Hello Listers,

Customer online environment is CICS/VSE 2.3 MANTIS 5.4. I am working on the
migration to CICSTS 1.1.1.
The guy from CINCOM performed the MANTIS migration from 5.4 to 6.1, then we
found out there are some old COBOL programs called by MANTIS to pass TRANSID
and USERID information. Of course these old COBOL programs issue EXEC CICS
ADDRESS CSA to get the TCA address and are not working under CICSTS...
I was sent this small assemble pgm called GETTCA, which would return the TCA
address, but I am having problems to compile this asm pgm under VSE (it was
written to work under zOS). I receive:
218
DFHKERN FUNCTION=INQUIRE_TASK,TCAADDRESS=R12
00005A 58F0 B0B8 000B8 220+ L
15,=A(X'80000000'+A310007C)
00005E 0B0F 221+ BSM 0,15
Change Mode.
00060 222+A310007C EQU *
000060 0000 0000 00000 223+ L
RE,LFDSTASN-DFHLFS(,RD)
** ASMA044E Undefined symbol - LFDSTASN
** ASMA044E Undefined symbol - DFHLFS
** ASMA435I Record 942 in PRD1.BASE(DFHKERN) on volume: DOSRES

Any suggestions? Anyone running MANTIS under CICS/TS out there? Do you know
of a way to pass TRANSID/USERID information using MANTIS code only?

Regards,
Alice
Martin Trübner
2010-05-24 16:05:54 UTC
Permalink
Alice,

If you answer Johns Q - I am sure we can come up with a solution that is
supported.

The macro you are using is not fully supported in VSE. So to reach to
the TCA - the COMRG+AFCB+CSA+TCA-current TCA...but what is the point if
they only need the TASKID (in EIB) and the USERID (EC ASSIGN USERID)?
--
Martin

Pi_cap_CPU - all you ever need around MWLC/SCRT/CMT in z/VSE
more at http://www.picapcpu.de
Alice Faria
2010-05-24 17:13:58 UTC
Permalink
Hi John, Hi Martin!

To be honest I am not sure what needs to be accessed in TCA after the COBOL
program returns control to MANTIS.
All I know is this first COBOL program I am trying to make work is called by
MANTIS SIGNON and basically does this:
EXEC CICS ADDRESS CSA(CSACBAR) END-EXEC.
MOVE CSACDTA TO TCACBAR.
MOVE INTERFACE-AREA-ADDR TO SAACBAR.
MOVE EIBTRNID TO TRNID.
MOVE 'OK ' TO LRETCOD.
EXEC CICS RETURN END-EXEC.
These two fields TCACBAR and SAACBAR are from DFHBLLDS copybook. They
address TCA and SAA, I suppose.
Customer told me these COBOL programs are interfaces to get transid/userid,
but they were written back in 1986 so customer is not really sure. :-/
I thought, it may work if I move the TCA address to TCACBAR field. The other
four MOVE statements would work and, If I am lucky, the SIGNON process would
work.

Here is the original COBOL program. It is quite small:



DATA DIVISION.
WORKING-STORAGE SECTION.
01 TUDO.
02 FILLERS PIC X(18) VALUE 'INIC.WORK-INTERMAN'.
LINKAGE SECTION.
01 DFHBLLDS COPY DFHBLLDS.
02 SAACBAR PIC S9(8) COMP.
01 DFHCSADS COPY DFHCSADS.
01 DFHTCADS COPY DFHTCADS.
02 TWA.
05 INTERFACE-AREA-ADDR PIC S9(8) COMP.
01 DFHSAADS COPY DFHSAADS.
02 INTER-MANTIS.
03 LRETCOD PIC X(8).
03 TRNID PIC X(4).
PROCEDURE DIVISION.
R08-INICIO.
EXEC CICS ADDRESS CSA(CSACBAR) END-EXEC.
MOVE CSACDTA TO TCACBAR.
MOVE INTERFACE-AREA-ADDR TO SAACBAR. <== this INTERFACE-AREA-ADDR
comes from MANTIS
MOVE EIBTRNID TO TRNID.
MOVE 'OK ' TO LRETCOD.
EXEC CICS RETURN END-EXEC.
R08-FIM.



Alice Faria - Especialista de TI
Fone: 11 5575-1778
Cel. : 11 8179-4451
----- Original Message -----
From: "John P. Baker" <***@hfdtechs.com>
To: "VSE Discussion List" <vse-***@Lehigh.EDU>
Sent: Monday, May 24, 2010 12:09 PM
Subject: RE: DFHKERN FUNCTION=INQUIRE_TASK,TCAADDRESS=R12
Post by Martin Trübner
Alice,
What exactly do you need to access in the TCA?
John P. Baker
-----Original Message-----
Alice Faria
Sent: Monday, May 24, 2010 10:54 AM
To: VSE Discussion List
Subject: DFHKERN FUNCTION=INQUIRE_TASK,TCAADDRESS=R12
Hello Listers,
Customer online environment is CICS/VSE 2.3 MANTIS 5.4. I am working on the
migration to CICSTS 1.1.1.
The guy from CINCOM performed the MANTIS migration from 5.4 to 6.1, then we
found out there are some old COBOL programs called by MANTIS to pass TRANSID
and USERID information. Of course these old COBOL programs issue EXEC CICS
ADDRESS CSA to get the TCA address and are not working under CICSTS...
I was sent this small assemble pgm called GETTCA, which would return the TCA
address, but I am having problems to compile this asm pgm under VSE (it was
218
DFHKERN FUNCTION=INQUIRE_TASK,TCAADDRESS=R12
00005A 58F0 B0B8 000B8 220+ L
15,=A(X'80000000'+A310007C)
00005E 0B0F 221+ BSM 0,15
Change Mode.
00060 222+A310007C EQU *
000060 0000 0000 00000 223+ L
RE,LFDSTASN-DFHLFS(,RD)
** ASMA044E Undefined symbol - LFDSTASN
** ASMA044E Undefined symbol - DFHLFS
** ASMA435I Record 942 in PRD1.BASE(DFHKERN) on volume: DOSRES
Any suggestions? Anyone running MANTIS under CICS/TS out there? Do you know
of a way to pass TRANSID/USERID information using MANTIS code only?
Regards,
Alice
Ron Ashley
2010-05-24 17:28:16 UTC
Permalink
This looks like Macro level CICS program which is not supported anymore. It looks like you can take out all that stuff and just put TS setup that Martin showed in earlier answer to your question.

Ronald Ashley
System Programmer
256-535-1269
-----Original Message-----
From: owner-vse-***@Lehigh.EDU [mailto:owner-vse-***@Lehigh.EDU] On Behalf Of Alice Faria
Sent: Monday, May 24, 2010 12:13 PM
To: VSE Discussion List
Subject: Re: DFHKERN FUNCTION=INQUIRE_TASK,TCAADDRESS=R12

Hi John, Hi Martin!

To be honest I am not sure what needs to be accessed in TCA after the COBOL
program returns control to MANTIS.
All I know is this first COBOL program I am trying to make work is called by
MANTIS SIGNON and basically does this:
EXEC CICS ADDRESS CSA(CSACBAR) END-EXEC.
MOVE CSACDTA TO TCACBAR.
MOVE INTERFACE-AREA-ADDR TO SAACBAR.
MOVE EIBTRNID TO TRNID.
MOVE 'OK ' TO LRETCOD.
EXEC CICS RETURN END-EXEC.
These two fields TCACBAR and SAACBAR are from DFHBLLDS copybook. They
address TCA and SAA, I suppose.
Customer told me these COBOL programs are interfaces to get transid/userid,
but they were written back in 1986 so customer is not really sure. :-/
I thought, it may work if I move the TCA address to TCACBAR field. The other
four MOVE statements would work and, If I am lucky, the SIGNON process would
work.

Here is the original COBOL program. It is quite small:



DATA DIVISION.
WORKING-STORAGE SECTION.
01 TUDO.
02 FILLERS PIC X(18) VALUE 'INIC.WORK-INTERMAN'.
LINKAGE SECTION.
01 DFHBLLDS COPY DFHBLLDS.
02 SAACBAR PIC S9(8) COMP.
01 DFHCSADS COPY DFHCSADS.
01 DFHTCADS COPY DFHTCADS.
02 TWA.
05 INTERFACE-AREA-ADDR PIC S9(8) COMP.
01 DFHSAADS COPY DFHSAADS.
02 INTER-MANTIS.
03 LRETCOD PIC X(8).
03 TRNID PIC X(4).
PROCEDURE DIVISION.
R08-INICIO.
EXEC CICS ADDRESS CSA(CSACBAR) END-EXEC.
MOVE CSACDTA TO TCACBAR.
MOVE INTERFACE-AREA-ADDR TO SAACBAR. <== this INTERFACE-AREA-ADDR
comes from MANTIS
MOVE EIBTRNID TO TRNID.
MOVE 'OK ' TO LRETCOD.
EXEC CICS RETURN END-EXEC.
R08-FIM.



Alice Faria - Especialista de TI
Fone: 11 5575-1778
Cel. : 11 8179-4451
----- Original Message -----
From: "John P. Baker" <***@hfdtechs.com>
To: "VSE Discussion List" <vse-***@Lehigh.EDU>
Sent: Monday, May 24, 2010 12:09 PM
Subject: RE: DFHKERN FUNCTION=INQUIRE_TASK,TCAADDRESS=R12
Post by Martin Trübner
Alice,
What exactly do you need to access in the TCA?
John P. Baker
-----Original Message-----
Alice Faria
Sent: Monday, May 24, 2010 10:54 AM
To: VSE Discussion List
Subject: DFHKERN FUNCTION=INQUIRE_TASK,TCAADDRESS=R12
Hello Listers,
Customer online environment is CICS/VSE 2.3 MANTIS 5.4. I am working on the
migration to CICSTS 1.1.1.
The guy from CINCOM performed the MANTIS migration from 5.4 to 6.1, then we
found out there are some old COBOL programs called by MANTIS to pass TRANSID
and USERID information. Of course these old COBOL programs issue EXEC CICS
ADDRESS CSA to get the TCA address and are not working under CICSTS...
I was sent this small assemble pgm called GETTCA, which would return the TCA
address, but I am having problems to compile this asm pgm under VSE (it was
218
DFHKERN FUNCTION=INQUIRE_TASK,TCAADDRESS=R12
00005A 58F0 B0B8 000B8 220+ L
15,=A(X'80000000'+A310007C)
00005E 0B0F 221+ BSM 0,15
Change Mode.
00060 222+A310007C EQU *
000060 0000 0000 00000 223+ L
RE,LFDSTASN-DFHLFS(,RD)
** ASMA044E Undefined symbol - LFDSTASN
** ASMA044E Undefined symbol - DFHLFS
** ASMA435I Record 942 in PRD1.BASE(DFHKERN) on volume: DOSRES
Any suggestions? Anyone running MANTIS under CICS/TS out there? Do you know
of a way to pass TRANSID/USERID information using MANTIS code only?
Regards,
Alice
Please note email address change:
We have upgraded our email server and restructured our email addresses. Please update your contacts list to reflect the new address.
Martin Trübner
2010-05-24 18:34:41 UTC
Permalink
Alice,
Post by Alice Faria
Customer told me these COBOL programs are interfaces to get
transid/userid, but they were written back in 1986 so customer is not
really sure. :-/
But you should be able to read the source (of the callee and the called)
and find out the truth.
Post by Alice Faria
I thought, it may work if I move the TCA address to TCACBAR field. The
other four MOVE statements would work and, If I am lucky, the SIGNON
process would work.
WRONG approach (at least: it never worked in my cases). You need to
understand the whole process and not try to fix it on a level that is no
longer available.

If the programs needs an interface-area that is today passed in the TWA-
give it the interface-area...and if you want, it can still be in a TWA.

No DFHKERN, no smoke(*1), no mirrors(*2)- just plain application
programs.

(*1 *2 could be URM, GLUEs or TRUEs)
--
Martin

Pi_cap_CPU - all you ever need around MWLC/SCRT/CMT in z/VSE
more at http://www.picapcpu.de
i***@winwholesale.com
2010-05-24 19:15:05 UTC
Permalink
Post by Alice Faria
DATA DIVISION.
WORKING-STORAGE SECTION.
01 TUDO.
02 FILLERS PIC X(18) VALUE 'INIC.WORK-INTERMAN'.
LINKAGE SECTION.
01 DFHBLLDS COPY DFHBLLDS.
02 SAACBAR PIC S9(8) COMP.
01 DFHCSADS COPY DFHCSADS.
01 DFHTCADS COPY DFHTCADS.
02 TWA.
05 INTERFACE-AREA-ADDR PIC S9(8) COMP.
01 DFHSAADS COPY DFHSAADS.
02 INTER-MANTIS.
03 LRETCOD PIC X(8).
03 TRNID PIC X(4).
PROCEDURE DIVISION.
R08-INICIO.
EXEC CICS ADDRESS CSA(CSACBAR) END-EXEC.
MOVE CSACDTA TO TCACBAR.
MOVE INTERFACE-AREA-ADDR TO SAACBAR. <== this INTERFACE-AREA-ADDR
comes from MANTIS
MOVE EIBTRNID TO TRNID.
MOVE 'OK ' TO LRETCOD.
EXEC CICS RETURN END-EXEC.
R08-FIM.
Based on that code, MANTIS has acquired a dynamic storage area and
is passing the address of that area as the first four bytes of the TWA.
What is being passed back to MANTIS in that area is a return code and a
transaction id -- no task id or user id. Of course, other such interfaces
may require those two pieces of information -- but this one does not.

So, you don't need the address of the CSA or the TCA. All you
need is the address of the TWA -- which is still supported in
Command-Level coding.

Sincerely,

Dave Clark

WinWholesale Group Services
3110 Kettering Boulevard
Dayton, Ohio 45439 USA
(937) 294-5331



*********************************************************************************************
This email message and any attachments is for use only by the named
addressee(s) and may contain confidential, privileged and/or proprietary
information. If you have received this message in error, please
immediately notify the sender and delete and destroy the message and all
copies. All unauthorized direct or indirect use or disclosure of this
message is strictly prohibited. No right to confidentiality or privilege
is waived or lost by any error in transmission.
*********************************************************************************************
i***@winwholesale.com
2010-05-24 19:45:21 UTC
Permalink
Post by i***@winwholesale.com
Based on that code, MANTIS has acquired a dynamic storage
area and is passing the address of that area as the first four bytes
of the TWA. What is being passed back to MANTIS in that area is a
return code and a transaction id -- no task id or user id. Of
course, other such interfaces may require those two pieces of
information -- but this one does not.
So, you don't need the address of the CSA or the TCA. All
you need is the address of the TWA -- which is still supported in
Command-Level coding.
Now, if that is confusing for your programmers, here is the
COBOL/VSE code to replace that code.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 TUDO.
03 FILLERS PIC X(18) VALUE 'INIC.WORK-INTERMAN'.
LINKAGE SECTION.
01 TWA.
03 INTERFACE-AREA-ADDR POINTER.
01 MANTIS-STORAGE.
03 SAA PIC X(8).
03 INTER-MANTIS.
05 LRETCOD PIC X(8).
05 TRNID PIC X(4).
PROCEDURE DIVISION.
R08-INICIO.
EXEC CICS ADDRESS TWA (ADDRESS OF TWA) END-EXEC.
SET ADDRESS OF MANTIS-STORAGE
TO INTERFACE-AREA-ADDR.
MOVE EIBTRNID TO TRNID.
MOVE 'OK ' TO LRETCOD.
EXEC CICS RETURN END-EXEC.
R08-FIM.

Sincerely,

Dave Clark

WinWholesale Group Services
3110 Kettering Boulevard
Dayton, Ohio 45439 USA
(937) 294-5331



*********************************************************************************************
This email message and any attachments is for use only by the named
addressee(s) and may contain confidential, privileged and/or proprietary
information. If you have received this message in error, please
immediately notify the sender and delete and destroy the message and all
copies. All unauthorized direct or indirect use or disclosure of this
message is strictly prohibited. No right to confidentiality or privilege
is waived or lost by any error in transmission.
*********************************************************************************************
Alice Faria
2010-05-25 18:19:14 UTC
Permalink
Dave,
Thank you so much: the code you sent worked perfectly!
The programmers here do not code COBOL/CICS (just MANTIS and VISUAL AGE),
that is why I was trying to change the code myself.
It would take me a while to change the code (and make it work) according to
the nice explanation you sent previously, because I have never coded a
COBOL/CICS program before.
Thanks to you, now I am able to finally schedule the first general test of
the new environment I have set up.
Alice

----- Original Message -----
From: ***@winwholesale.com
To: VSE Discussion List
Sent: Monday, May 24, 2010 4:44 PM
Subject: Re: DFHKERN FUNCTION=INQUIRE_TASK,TCAADDRESS=R12
Post by i***@winwholesale.com
Based on that code, MANTIS has acquired a dynamic storage
area and is passing the address of that area as the first four bytes
of the TWA. What is being passed back to MANTIS in that area is a
return code and a transaction id -- no task id or user id. Of
course, other such interfaces may require those two pieces of
information -- but this one does not.
So, you don't need the address of the CSA or the TCA. All
you need is the address of the TWA -- which is still supported in
Command-Level coding.
Now, if that is confusing for your programmers, here is the
COBOL/VSE code to replace that code.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 TUDO.
03 FILLERS PIC X(18) VALUE 'INIC.WORK-INTERMAN'.
LINKAGE SECTION.
01 TWA.
03 INTERFACE-AREA-ADDR POINTER.
01 MANTIS-STORAGE.
03 SAA PIC X(8).
03 INTER-MANTIS.
05 LRETCOD PIC X(8).
05 TRNID PIC X(4).
PROCEDURE DIVISION.
R08-INICIO.
EXEC CICS ADDRESS TWA (ADDRESS OF TWA) END-EXEC.
SET ADDRESS OF MANTIS-STORAGE
TO INTERFACE-AREA-ADDR.
MOVE EIBTRNID TO TRNID.
MOVE 'OK ' TO LRETCOD.
EXEC CICS RETURN END-EXEC.
R08-FIM.

Sincerely,

Dave Clark

WinWholesale Group Services
3110 Kettering Boulevard
Dayton, Ohio 45439 USA
(937) 294-5331



*********************************************************************************************
This email message and any attachments is for use only by the named
addressee(s) and may contain confidential, privileged and/or proprietary
information. If you have received this message in error, please immediately
notify the sender and delete and destroy the message and all copies. All
unauthorized direct or indirect use or disclosure of this message is
strictly prohibited. No right to confidentiality or privilege is waived or
lost by any error in transmission.
*********************************************************************************************
Loading...