View previous topic :: View next topic
|
Author |
Message |
Nandananilchintala
New User
Joined: 25 Mar 2009 Posts: 19 Location: Hyderabad
|
|
|
|
Hi,
Im a beginner in REXX and tried to code a macro. But when i tried to code it, im getting the follwoing error. Please help.
Abnormal completion of the READ Data Management macro.
IN16608 ,LOGONNL ,C068,D,SYSEXEC ,READ ,WRNG.LEN.RECORD,0000019E00080D,BPAM.
*** |
|
Back to top |
|
|
Nandananilchintala
New User
Joined: 25 Mar 2009 Posts: 19 Location: Hyderabad
|
|
|
|
Sry!!..a small error in my query....
actually im getting that error when trying to run that macro, not while trying to code it |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8796 Location: Welsh Wales
|
|
|
|
Where are you trying to code the macro
What are the dataset attributes of the library where you try to code
Do you get the error when coding or executing
Were there any message codes issued with the error, e.g. IKJxxxx -if so post them
We are not mind readers ! |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
Nandan,
are you running your macro in Foreground (interactively) or Background (batch)? |
|
Back to top |
|
|
Nandananilchintala
New User
Joined: 25 Mar 2009 Posts: 19 Location: Hyderabad
|
|
|
|
Im trying to code my macro in a HLQ.personalid.REXX library.
I have concatinated the above library to SYSEXEC also.
the libaray attributes are - FB, rec length is 80.
my macro actually reads 8 chars at cursor position(the read characters is the name of a module) and the tries to open that module in browse mode.
below is the code.
Code: |
"ISREDIT MACRO"
"ISREDIT (ROW,COL) = CURSOR"
"ISREDIT (DATA) = LINE" .ZCSR
MEMBER1 = SUBSTR(DATA,COL,8)
LEN1 = LENGTH(MEMBER1)
MEMBER2 = STRIP(MEMBER1)
LEN2 = LENGTH(MEMBER2)
VAR4 = SUBSTR(MEMBER2,4,1)
VAR7 = SUBSTR(MEMBER2,7,1)
IF LEN1 <> LEN2 THEN DO
IF VAR7 = 'M' THEN MODUL = 'PLISQL'
ELSE MODUL = 'PROCLIB'
END
IF MODUL = 'PLISQL' THEN
DO
DDN = 'RCBR033.SHIPPED.PLISQL('||MEMBER2||')'
ADDRESS ISPEXEC "BROWSE DATASET('"DDN"')"
END
IF MODUL = 'PROCLIB' THEN SAY 'PROCPROC'
|
I'm getting this error while executing. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10886 Location: italy
|
|
|
|
please post the complete dataset attributes
and make sure that, apart the blksize, the dcb attributes in the concatenation are the same |
|
Back to top |
|
|
Nandananilchintala
New User
Joined: 25 Mar 2009 Posts: 19 Location: Hyderabad
|
|
|
|
Initially , i didnt give any validations and just read the characters at the cursor and opened the member in browse mode, it went fine( im able to open the submodule in browse mode). Then i added code for validationd. then it is nor working fine.
below are the complete attributes of my PDS , where i have written my macro.
General Data Current Allocation
Management class . . : NMMB3ND Allocated tracks . : 32
Storage class . . . : SNMN Allocated extents . : 2
Volume serial . . . : ASP001 Maximum dir. blocks : 10
Device type . . . . : 3390
Data class . . . . . : **None**
Organization . . . : PO Current Utilization
Record format . . . : FB Used tracks . . . . : 31
Record length . . . : 80 Used extents . . . : 2
Block size . . . . : 27920 Used dir. blocks . : 6
1st extent tracks . : 6 Number of members . : 31
Secondary tracks . : 26
Data set name type : PDS
Creation date . . . : 2009/01/07 Referenced date . . : 2009/03/26
Expiration date . . : ***None*** |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10886 Location: italy
|
|
|
|
do other macros rexx scripts work from the same dataset ?? |
|
Back to top |
|
|
Nandananilchintala
New User
Joined: 25 Mar 2009 Posts: 19 Location: Hyderabad
|
|
|
|
Yes, ..even the same macro worked as i said, without all those 'IF statements' |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10886 Location: italy
|
|
|
|
maybe during Your editing sessions the library has acquired a secondary extent
and it is not reflected in the sysexec dd control blocks
logoff, logon and see what happens |
|
Back to top |
|
|
Nandananilchintala
New User
Joined: 25 Mar 2009 Posts: 19 Location: Hyderabad
|
|
|
|
Hi,
I have removed some members from the library in which i have written the present macro code( in order ot reduce the size of the library).
But even then im facing the same error. |
|
Back to top |
|
|
ofer71
Global Moderator
Joined: 27 Dec 2005 Posts: 2358 Location: Israel
|
|
|
|
How about COMPRESSing the PDS?
O. |
|
Back to top |
|
|
Nandananilchintala
New User
Joined: 25 Mar 2009 Posts: 19 Location: Hyderabad
|
|
|
|
I tried that option also.....but of no use |
|
Back to top |
|
|
lohithegde
New User
Joined: 18 May 2008 Posts: 31 Location: Chennai
|
|
|
|
Hi friend ..can you try below code it is working fine without any error...
Code: |
"ISREDIT MACRO"
"ISREDIT (ROW,COL) = CURSOR"
"ISREDIT (DATA) = LINE" .ZCSR
MEMBER1 = SUBSTR(DATA,COL,8)
LEN1 = LENGTH(MEMBER1)
MEMBER2 = STRIP(MEMBER1)
LEN2 = LENGTH(MEMBER2)
VAR4 = SUBSTR(MEMBER2,4,1)
VAR7 = SUBSTR(MEMBER2,7,1)
IF LEN1 <> LEN2 THEN
DO
IF VAR7 = 'M' THEN
DO
MODUL = 'PLISQL'
END
ELSE
DO
MODUL = 'PROCLIB'
END
END
IF MODUL = 'PLISQL' THEN
DO
DDN = 'RCBR033.SHIPPED.PLISQL('||MEMBER2||')'
ADDRESS ISPEXEC "BROWSE DATASET('"DDN"')"
END
IF MODUL = 'PROCLIB' THEN
DO
SAY 'PROCPROC'
END |
|
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10886 Location: italy
|
|
|
|
the issue is not about the macro syntax,
is about a read error on the PDS containing the macro
since Your system is different, the history(changes/updates) of your library is different
there is a little chance that You might experience the same behavior |
|
Back to top |
|
|
Nandananilchintala
New User
Joined: 25 Mar 2009 Posts: 19 Location: Hyderabad
|
|
|
|
Hi Lohit,
I tried your code also....
but getting the same error..... |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10886 Location: italy
|
|
|
|
keep repeating,
it is not an issue with the code, it is an issue with PDS itself,
somehow got clobbered
if the dataset is permanently allocated to Your TSO session...
1) logoff
... ask Your support to
2) allocate a new dataset
3) try to copy the old one into the new one
4) rename the old one to something meaningful to keep it arounfd for a while
5) rename the new to the old one
6) logon and test
if the dataset is not permanently allocated
You can try steps 2,3,4,5 by Yourself
notice... it looks like Your pds has a lot of traffic,
ask Your support on how to allocate it as a PDSE,
or if that is not posible make the allocation larger |
|
Back to top |
|
|
Nandananilchintala
New User
Joined: 25 Mar 2009 Posts: 19 Location: Hyderabad
|
|
|
|
Yes...I have issued the command, 'TSO ISRDDN'...i observed the following
all my project related macros are in the PDS which have different record format. They have VB as record format....the libaray in which i have written my macro have FB....
now i allocated a new PDS with VB as record format , but now im getting some other error..it is saying
Code: |
INVALID COMMAND NAME SYNTAX
1 *-* /*REXX*/
00010000
+++ RC(-3) +++
***
|
I think, it is not recognising the rexx code, |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10886 Location: italy
|
|
|
|
use NUMBER OFF |
|
Back to top |
|
|
Nandananilchintala
New User
Joined: 25 Mar 2009 Posts: 19 Location: Hyderabad
|
|
|
|
Thank you Enrico!!!!
What u said has worked for me....
as i said earlier my PDS has different attributes...now i changed them and it is working fine..... |
|
Back to top |
|
|
|