Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist 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: 2504
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: 2504
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: 2504
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 How to write Rexx program to size and... sreejeshcs CLIST & REXX 14 Thu Oct 12, 2017 7:26 am
No new posts Accessing CICS tran with map from JCL... navdeepaggarwal CICS 5 Tue Oct 03, 2017 6:15 pm
No new posts Assembler Macro Copybook converted to... Ziquilix PL/I & Assembler 4 Tue Sep 26, 2017 3:07 am
No new posts Sr SW Eng-Rocket Software (Assembler,... Kenneth Barton Lasky Mainframe Jobs 0 Fri Aug 25, 2017 12:29 am
No new posts Writing a file using online program grvtomar PL/I & Assembler 3 Fri Jun 30, 2017 1:06 pm

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us