View previous topic :: View next topic
|
Author |
Message |
sankalp-goyal
New User
Joined: 27 Jan 2016 Posts: 5 Location: India
|
|
|
|
I am new to REXX, Below code is working fine for some users but same code gives error for other users :
CODE :
Code: |
DSN2 = 'MY.PS.FILE'
"Alloc F(RDATA) REUS DA('"DSN2"') SHR"
"ExecIO * DiskR RDATA (Stem Lines. Finis "
Count = Lines.0
"DelStack"
"Free FILE(RDATA)" |
Error :
Code: |
*-* "Free FILE(RDATA)"
+++ RC(-2054) +++ |
To add this file is not freed till that user logoff from TSO. This file is available to others only after that user is logged off.
I am not sure if there is something in user profile that is affecting it. Is there a work around to FREE it for all users.
Thanks,
Sankalp.
Coded |
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2454 Location: Hampshire, UK
|
|
|
|
Probably for the same reason as you posted int he IBM Tools forum instead of the Rexx forum. Moving. |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2594 Location: Silicon Valley
|
|
|
|
can you show us a trace?
This does not appear to be the full code... perhaps you have an Address statement that you are not showing us. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10888 Location: italy
|
|
|
|
Quote: |
perhaps you have an Address statement that you are not showing us. |
for privacy reasons quite a few people do not like to post the Address |
|
Back to top |
|
|
Akatsukami
Global Moderator
Joined: 03 Oct 2009 Posts: 1787 Location: Bloomington, IL
|
|
|
|
The -2054 return code from FREE suggests that FREE is ending with a S806 abend, although unless you have changed the default environment I can't think of a non-arcane way that this could happen. If possible, run this in batch using the IKJEFT1A entry point of background TSO, and check the sysout for CS messages |
|
Back to top |
|
|
sankalp-goyal
New User
Joined: 27 Jan 2016 Posts: 5 Location: India
|
|
|
|
Thanks for replying guys!
This is the full code. For testing I copied these 7 lines in a separate PDS member and asked that user to execute it. He is getting the same -2054 error. While all other user can execute it without error.
Code: |
VIEW MY.TOOLS.REXXLIB(TEST) - 01.34 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 /* REXX, Test tool */
000002 DSN2 = 'MY.PS.FILE'
000003 "Alloc F(RDATA) DA('"DSN2"') SHR"
000004 "ExecIO * DiskR RDATA (Stem Lines. Finis"
000005 Count = Lines.0
000006 "DelStack"
000007 "Free FILE(RDATA)"
|
Below is the trace data :
Code: |
3 *-* DSN2 = 'MY.PS.FILE'
>L> "MY.PS.FILE"
4 *-* "Alloc FILE(RDATA) DA('"DSN2"') SHR"
>L> "Alloc FILE(RDATA) DA('"
>V> "MY.PS.FILE"
>O> "Alloc FILE(RDATA) DA('MY.PS.FILE"
>L> "') SHR"
>O> "Alloc FILE(RDATA) DA('MY.PS.FILE') SHR"
DATA SET MY.PS.FILE NOT ALLOCATED, FILE IN USE
+++ RC(12) +++
5 *-* "ExecIO * DiskR RDATA (Stem Lines. Finis)"
>L> "ExecIO * DiskR RDATA (Stem Lines. Finis)"
6 *-* Count = Lines.0
>V> "146"
7 *-* "DelStack"
>L> "DelStack"
8 *-* "Free FILE(RDATA)"
>L> "Free FILE(RDATA)"
+++ RC(-2054) +++ |
This file is not open by anyone but still it is saying file in use.
--------------------------------------------------------------------------------------------
One more strange this is , his start up procedures (that allocates SYSPROC and other things) runs at the time he logoff. For all other user, this runs at the time of logging IN to TSO.
Also when he PF3 from librarian browse module , he gets the same error. This is because browsing a dataset in librarian creates a temporary dataset and deletes this temp dataset when we do PF3. But he gets same -2054.
When we browse a module we get :
Code: |
DATA SET PRD.USER.TEMP.MODULE.LB11111 CREATED.
THE MODULE JUST COPIED IS NOT OUTSTANDING DUE TO "READONLY" SPECIFIED.
*** |
When we PF3 it simply exits without any error. But this user get following error message when he does PF3 from lib-browse :
Code: |
*-* ADDRESS TSO "DELETE" bTSO
+++ RC(-2054) +++
*** |
Coded again |
|
Back to top |
|
|
sankalp-goyal
New User
Joined: 27 Jan 2016 Posts: 5 Location: India
|
|
|
|
I changed his profile to have WTPMSG from NOWTPMSG . Now it is giving the actual error description :
Code: |
IEW4007I FIND FOR MODULE DELETE FAILED BECAUSE DIRECTORY ENTRY IS NOT VALID FOR A LOAD MODULE.
CSV003I REQUESTED MODULE DELETE NOT FOUND
CSV028I ABEND806-04 JOBNAME=USERID STEPNAME=AAATSOV2
IEA995I SYMPTOM DUMP OUTPUT
SYSTEM COMPLETION CODE=806 REASON CODE=00000004
TIME=03.56.21 SEQ=51280 CPU=0000 ASID=00F2
PSW AT TIME OF ERROR 070C1000 815714CE ILC 2 INTC 0D
NO ACTIVE MODULE FOUND
NAME=UNKNOWN
DATA AT PSW 015714C8 - 8400181E 0A0D18FB 180C181D
GR 0: 00001F00 1: 84806000
2: 00000000 3: 00000000
4: 00000000 5: 0096C1F8
6: 000000FF 7: 00000000
8: 7F375150 9: 015719F0
A: 00000000 B: 00000000
C: 00000000 D: 7F375150
E: 84806000 F: 00000004
END OF SYMPTOM DUMP
*-* ADDRESS TSO "DELETE" bTSO
+++ RC(-2054) +++
*** |
Any idea, in which library module DELETE can be found ?
Coded yet again |
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2454 Location: Hampshire, UK
|
|
|
|
Please use the code tags when posting screen "shots", code, data and anything else requiring a fixed pitch font. |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2594 Location: Silicon Valley
|
|
|
|
Code: |
>O> "Alloc FILE(RDATA) DA('MY.PS.FILE') SHR"
DATA SET MY.PS.FILE NOT ALLOCATED, FILE IN USE
|
The message is complaining about file name, RDATA, not about the data set name. The same user already has it allocated. Your earlier example showed ALLOC with REUS, which is what you should have.
All signs point to a setup problem.
Some sites have a command field on the panel when you logon and provide the password. Some sites have the start up procedure executed from the logon proc. If you provide a 'ISPF' command in the command field, it might gets done first, preventing the start up procedure from being executed until ISPF ends.
I would expect DELETE to be in the linklist... available to all TSO users at all times. but perhaps the delay in executing the start up procedure causes it not to be found.
Some questions:
Do you all use the same logon proc?
Do you all specify the same region size? (sometimes, you get an 806 abend when there is no room to load the module).
Is everyone's start up procedure the same? Compare the broken user's start up with one that works. |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2594 Location: Silicon Valley
|
|
|
|
This is probably important:
Code: |
IEW4007I FIND FOR MODULE DELETE FAILED BECAUSE DIRECTORY ENTRY IS NOT VALID FOR A LOAD MODULE. |
I think the user has a steplib with a corrupt directory. Have the user issue TSO ISRDDN, followed by command MEMBER DELETE to find which PDS is corrupt. |
|
Back to top |
|
|
sankalp-goyal
New User
Joined: 27 Jan 2016 Posts: 5 Location: India
|
|
|
|
Thanks you so much for helping!
It was because of one member named DELETE in a PDS which was allocated to SYSEXEC. I found some other members like FREE etc.... also in that PDS. That was preventing the REXX to execute DELETE/FREE. REXX issue is solved now. |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2594 Location: Silicon Valley
|
|
|
|
Lesson learned:
Do not use common command verbs as rexx exec names. |
|
Back to top |
|
|
Willy Jensen
Active Member
Joined: 01 Sep 2015 Posts: 734 Location: Denmark
|
|
|
|
And perhaps another lesson: check after each significant statement. A test of the RC value after the ALLOCATE would have showed that that is where the problem actually was, not with the FREE. |
|
Back to top |
|
|
|