View previous topic :: View next topic |
Author |
Message |
dcy Beginner
Joined: 06 Nov 2006 Posts: 2 Topics: 1 Location: Nova Scotia
|
Posted: Mon Nov 06, 2006 10:21 am Post subject: ISPT038 Table structure error |
|
|
Hello,
This is my first post so please bear with me.
We have an ISPF table that is being used for multiple users and jobs. Yes, I already know we shouldn't be doing this but I had nothing to do with the design. I am providing support only and trying hard to convince them to switch to db2.
My ongoing problem is that the system (very small system using REXX programs and clists) is starting to break down; over the last 3 months, we've spent many hours fixing problems with this table.
The current message I'm getting is:
"ISPT038 Table structure error -/-TBCLOSE for table LSC detected an invalid internal table structure."
The statement that was being executed is: "ISPEXEC TBCLOSE LSC"
There have been no changes to programs or clists other than my addition of the following trace statement: "TRACE R".
I looked up this message and it's pretty much telling me to restore the table. Has anyone run across this before?
much appreciated... _________________ - dcy - |
|
Back to top |
|
|
ofer71 Intermediate
Joined: 12 Feb 2003 Posts: 358 Topics: 4 Location: Israel
|
Posted: Mon Nov 06, 2006 4:06 pm Post subject: |
|
|
Do you create this table dynamically in your REXX/CLIST?
Do you use literals for keys/names or variables (for example "TBCREATE LSC KEY(&KEY1)"?
Have you tried to run your application under Dialog Trace (option 7)?
Have you tried to run it with ISPVCALL?
Have you tried TBQUERY for the table's structure?
Good luck
O.
________
Ipad guides
Last edited by ofer71 on Thu Mar 17, 2011 10:53 am; edited 1 time in total |
|
Back to top |
|
|
dcy Beginner
Joined: 06 Nov 2006 Posts: 2 Topics: 1 Location: Nova Scotia
|
Posted: Thu Nov 09, 2006 9:40 am Post subject: |
|
|
1) No the table is not dynamically created. It's actually a PDS (not sure why it was done this way) and the REXX pgm does a TBADD to add more records. The other REXX pgm does a TBPUT to update a value on the table.
2) Here's an example of the code (the table is LSC, others are variable names):
Code: |
DO I=1 TO LSC.0
OCN = SUBSTR(LSC.I,1,4)
PON = SUBSTR(LSC.I,5,16)
VER = SUBSTR(LSC.I,21,2)
RECTYPE = SUBSTR(LSC.I,23,3)
RECID = '***'
IF ( RECTYPE = 101 ) THEN
|
3) No, I haven't used Dialog Trace.
4) No, I haven't used ISPVCALL.
5) No, I haven't tried TBQUERY.
Thanks a bunch for the tips....I'll look into those and see if that points me in the right direction.
_________________ - dcy - |
|
Back to top |
|
|
|
|