Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

How to replace CSACDTA in Assembler program

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> PL/I & Assembler
View previous topic :: :: View next topic  
Author Message
Badiger

New User


Joined: 18 Feb 2010
Posts: 3
Location: bangalore

PostPosted: Thu Feb 18, 2010 6:56 pm    Post subject: What is the replacement for CSACDTA
Reply with quote

Hi ,

I have come accross an assembler routine which uses CSACDTA macro . But the CICS version being used is 6.5 and this macro is no longer being supported . Can some one please advice on how the following assebmler program can be amended to address the CSA address.

DFHAFCD TYPE=LOCATE,CB=AFCB,REG=4 ADDRESS CICS AFCB
L R4,8(R4) GET CSA ADDRESS FROM HERE
L R5,CSACDTA (TCA) R5=ADDR WITHIN CSACDTA

Thank You
Back to top
View user's profile Send private message

Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2502
Location: Atlanta, Georgia, USA

PostPosted: Thu Feb 18, 2010 7:13 pm    Post subject: Reply to: CICS Statements in Assembler Macros
Reply with quote

Welcome to the world of Threadsafe. Beginning with CICS/TS 3.1, this label was renamed to CSAQRTCA and with that, an accompanying comment in the CSA DSECT -

"DO NOT USE: Non threadsafe. -> TCA of current task. Only valid when on QR TCB"

Subsequently, with TS 3.2, this label (data) became Fetch Protected and with that, an "ASRD" abend will be raised when you try to address it.

I have a solution, but it took me a while to put it together and I'd rather not give it away.

Bill
Back to top
View user's profile Send private message
Badiger

New User


Joined: 18 Feb 2010
Posts: 3
Location: bangalore

PostPosted: Fri Feb 19, 2010 2:14 pm    Post subject: What is the replacement for CSACDTA
Reply with quote

Hello Bill, I appreciate that you have spend a considerable time and effort finding the solution to this but it would be quite helpful if you could share it with me.
Thanks in advance.
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2502
Location: Atlanta, Georgia, USA

PostPosted: Fri Feb 19, 2010 4:34 pm    Post subject: Reply to: How to replace CSACDTA in Assembler program
Reply with quote

This is one of those unique times when I am selling my services. Like I said, I will not just give this away.

Your shop can submit a figure to me (in $USD) via Private Messaging.

I make no apologies to be reimbursed for my time and effort.

Bill
Back to top
View user's profile Send private message
thanoozm

New User


Joined: 23 May 2007
Posts: 26
Location: hyderabad

PostPosted: Mon Feb 22, 2010 5:15 pm    Post subject:
Reply with quote

Hi,

Below link will help for going forward. As davised don't use CSACDTA or CSAQRTCA.

http://www-01.ibm.com/support/docview.wss?uid=swg21264616
(fixed)

thanks
thanooz.
Back to top
View user's profile Send private message
Badiger

New User


Joined: 18 Feb 2010
Posts: 3
Location: bangalore

PostPosted: Tue Feb 23, 2010 9:32 am    Post subject:
Reply with quote

Yes , Usage of DFHKERN is the solution for getting rid of CSACDTA or CSAQRTCA.

I have now used DFHKERN in my code and is working fine.

DFHKERN FUNCTION=INQUIRE_TASK,TCAADDRESS=R5,STACK_AVAIL=NO

Thanks thanooz the link you provided gives the same solution.
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2502
Location: Atlanta, Georgia, USA

PostPosted: Tue Feb 23, 2010 5:52 pm    Post subject: Reply to: How to replace CSACDTA in Assembler program
Reply with quote

Yes, you have it right. Until 6-7 years ago, IBM never posted the "real" solution (but they were warning folks beforehand), so traversing control blocks was the only way. DFHKERN TYPE=INQUIRE_TASK does all of this for you.

You probably don't need the CSA DSECT anymore in your source, if all you had needed was the TCA-label address.

The following are required -

Code:

         DFHAFCD TYPE=DSECT        AFCB-DSECT
         DFHKERN TYPE=PROCESSOWN   GENERATE DSECTS FOR 'INQUIRE_TASK'


Bill
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> PL/I & Assembler All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Writing a file using online program grvtomar PL/I & Assembler 3 Fri Jun 30, 2017 1:06 pm
No new posts pre-compiler for program in an HFS Pedro DB2 0 Fri Jun 23, 2017 11:13 pm
No new posts Compiling program in endeavor for tra... RALAKKAL Compuware & Other Tools 4 Mon Jun 05, 2017 8:27 pm
No new posts COBOL DB2 program - zIIP eligible vasanthz COBOL Programming 7 Wed May 31, 2017 5:12 am
No new posts DB2 Program abending without giving a... rahulgarg14 DB2 7 Mon May 29, 2017 8:10 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us