|
Hello James, While there are a number of spaces related to SEU in QTEMP the ability to recover the source from the last edit session is due to a copy being placed in a *MSCSP space (type 19 subtype EE) referenced via the QEDITSPACES *MSCSP space in the QRECOVERY library. View the following in a small fixed-pitch font. Open a file from one job using SEU and then __from another job__ issue: DMPSYSOBJ OBJ(QRECOVERY) CONTEXT(QSYS) OBJTYPE(*LIB) examine the spooled file created and you'll see something like the following: 5769SS1 V4R4M0 059921 AS/400 DUMP 003265/QSECOFR/QPADEV0003 16/04/00 13:15:54 PAGE 1 DMPSYSOBJ PARAMETERS OBJ- QRECOVERY CONTEXT- QSYS OBJTYPE- *LIB OBJECT TYPE- CONTEXT *LIB NAME- QRECOVERY TYPE- 04 SUBTYPE- 01 LIBRARY- MACHINE CONTEXT CREATION- 03/02/00 18:18:52 SIZE- 0000007000 OWNER- QSYS TYPE- 08 SUBTYPE- 01 ATTRIBUTES- 0000 ADDRESS- 0746F64193 000000 CONTEXT- 000000 00FFF000 00000630 0401D8D9 C5C3D6E5 C5D9E840 40404040 40404040 40404040 * 0 QRECOVERY -------Stuff deleted ------------------------- OBJECTS- 07 01 QDBJRN0028 1509705511 000000 -------Stuff deleted ------------------------- 19 EE QEDITSPACES 233FF9E433 000000 19 EE QSDASPACES 1E3BEA4B49 000000 PRIMARY ASSOCIATED SPACE- -------Stuff deleted ------------------------- The QEDITSPACES space is what we want so issue the following command to see it: DMPSYSOBJ OBJ(QEDITSPACES) CONTEXT(QRECOVERY) examine the spooled file created and you'll see something like the following: 5769SS1 V4R4M0 059921 AS/400 DUMP 003265/QSECOFR/QPADEV0003 16/04/00 13:18:33 PAGE 1 DMPSYSOBJ PARAMETERS OBJ- QEDITSPACES CONTEXT- QRECOVERY TYPE- *ALL SUBTYPE-*ALL OBJECT TYPE- SPACE *MSCSP NAME- QEDITSPACES TYPE- 19 SUBTYPE- EE LIBRARY- QRECOVERY TYPE- 04 SUBTYPE- 01 CREATION- 11/04/00 09 1:53 SIZE- 0000005000 OWNER- QSECOFR TYPE- 08 SUBTYPE- 01 ATTRIBUTES- 0800 ADDRESS- 233FF9E433 000000 SPACE ATTRIBUTES- 000000 00FFF000 00000074 19EED8C5 C4C9E3E2 D7C1C3C5 E2404040 40404040 40404040 * 0 È ÓQEDITSPACES * 000020 40404040 40404040 E0000000 00000000 00004000 00110000 00000000 00000000 * \ * 000040 00000000 00000000 0746F641 93000400 00000000 00000000 00000000 00000000 * ã6 l * 000060 00000000 00000000 00000000 00000000 00FFF000 * 0 * SPACE- 000000 00000000 00000000 E5F4D9F4 D4F00000 00000000 00000000 0CCAB226 AA001900 * V4R4M0 ¥ ¡ * 000020 C9D5E2E3 C1D3D34B 7C7C7C7C D9C5C1C4 D4C54040 40C9D9D7 C7E5F1D3 C9C240F0 *INSTALL.@@@@README IRPGV1LIB 0* 000040 F0F1F0F7 F0F0F3F2 F6F4F0F0 F0F4F1F6 00000000 00000000 00000000 00000000 *0107003264000416 * 000060 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * * LINES 000080 TO 00321F SAME AS ABOVE 003220 00010000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * * 003240 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * * LINES 003260 TO 003FFF SAME AS ABOVE .POINTERS- 000010 SYP 19 EE INSTALL.@@@@README 0000 0000 *MSCSP OIR DATA- NONE END OF DUMP * * * * * E N D O F L I S T I N G * * * * * What we care about here is the pointer to the space with the data. The space is not in a context so cannot be addressed by name. Issue the following command to get at it: DMPSYSOBJ OBJ(QEDITSPACES) CONTEXT(QRECOVERY) TYPE(19) SUBTYPE(EE) OFFSET(10) examine the spooled file created and you'll see something like the following: 5769SS1 V4R4M0 059921 AS/400 DUMP 003265/QSECOFR/QPADEV0003 16/04/00 13:21:42 PAGE 1 DMPSYSOBJ PARAMETERS OBJ- QEDITSPACES CONTEXT- QRECOVERY TYPE- 19 SUBTYPE-EE OFFSET- 000010 BASE OBJECTS- EQ IDENTIFICATION ADDRESS OFFSET TO CHAIN POINTER 01 19 EE QEDITSPACES 04 01 QRECOVERY 233FF9E433 000000 00000010 OBJECT TYPE- SPACE *MSCSP NAME- INSTALL.@@@@README TYPE- 19 SUBTYPE- EE CREATION- 16/04/00 13:15:01 SIZE- 0000009000 OWNER- QSECOFR TYPE- 08 SUBTYPE- 01 ATTRIBUTES- 0800 ADDRESS- 0CCAB226AA 000000 OBJECT LOCKED END OF DUMP * * * * * E N D O F L I S T I N G * * * * * Oops, the object is locked so we can't dump it. Never mind, kill the original job with the SEU editor open -- close the emulator window, switch off the terminal, or issue an ENDJOB command. Now dump the object: DMPSYSOBJ OBJ(QEDITSPACES) CONTEXT(QRECOVERY) TYPE(19) SUBTYPE(EE) OFFSET(10) examine the spooled file created and you'll see something like the following: 5769SS1 V4R4M0 059921 AS/400 DUMP 003265/QSECOFR/QPADEV0003 16/04/00 13:22:41 PAGE 1 DMPSYSOBJ PARAMETERS OBJ- QEDITSPACES CONTEXT- QRECOVERY TYPE- 19 SUBTYPE-EE OFFSET- 000010 BASE OBJECTS- SEQ IDENTIFICATION ADDRESS OFFSET TO CHAIN POINTER 01 19 EE QEDITSPACES 04 01 QRECOVERY 233FF9E433 000000 00000010 OBJECT TYPE- SPACE *MSCSP NAME- INSTALL.@@@@README TYPE- 19 SUBTYPE- EE CREATION- 16/04/00 13:15:01 SIZE- 0000009000 OWNER- QSECOFR TYPE- 08 SUBTYPE- 01 ATTRIBUTES- 0800 ADDRESS- 0CCAB226AA 000000 SPACE ATTRIBUTES- 000000 00FFF000 00000074 19EEC9D5 E2E3C1D3 D34B7C7C 7C7CD9C5 C1C4D4C5 40404040 * 0 È ÓINSTALL.@@@@README * 000020 40404040 40404040 C0000000 00000000 00008000 00110000 00000000 00000000 * { * 000040 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * * 000060 00000000 00000000 00000000 00000000 00FFF000 * 0 * SPACE- 000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * * 000020 00800000 6C001400 5CE3E7E3 40404040 40404000 000000F0 F0F0F1F7 F0F0F0F0 * % *TXT 000170000* 000040 F0F0F0F0 F0F0F0F0 F0F0F0F0 F0F0F0F0 00005C08 00000000 00000000 03FFFF00 *0000000000000000 * * 000060 00000000 00000000 000000F0 F0F0F0F0 F0000000 00000040 40404040 40404040 * 000000 * 000080 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * * 0000A0 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * * 0000C0 40404040 404040FF FF001300 00000000 00000000 000000F9 F9F9F9F9 F9000000 * 999999 * 0000E0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * * 000100 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * * 000120 00000000 00000000 00000000 00000000 00000000 04000100 00000000 00000000 * * 000140 000000F0 F0F0F1F0 F0F0F0F0 F0F0F0C9 95A2A381 939381A3 89969540 D596A385 * 000100000000Installation Note* 000160 A27A4040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 *s: * 000180 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404000 * * -------Stuff deleted ------------------------- 000780 40404040 40404000 13001100 00000000 00000000 000000F0 F0F1F6F0 F0F0F0F0 * 001600000* 0007A0 F0F0F0A2 88837C86 93A882A8 95898788 A34B8396 944B81A4 40404040 40404040 *000shc@flybynight.com.au * 0007C0 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * * 0007E0 40404040 40404040 40404040 40404040 40404000 02001200 00000000 00000000 * * 000800 000000F0 F0F1F7F0 F0F0F0F0 F0F0F040 40404040 40404040 40404040 40404040 * 001700000000 * 000820 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * * 000840 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404000 * * 000860 00000000 00010000 00110000 00000000 00000000 00000000 00000000 00000000 * * 000880 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * * LINES 0008A0 TO 007FFF SAME AS ABOVE .POINTERS- NONE END OF DUMP * * * * * E N D O F L I S T I N G * * * * * So now you know how to find the spaces using system supplied tools. You should be able to create an MI or ILE C program that can access the space. If it runs within the SEU job you won't have object lock problems. However we need to know if the space is in the system or user domain. So we fire up SST and using the address of the object (0CCAB226AA 000000) we dump it and see: SEGMENT HEADER (YYSGHDR) TYPE 0001 SIZE 0048 NEWFLAGS 00 FLAGS 80 DOMAIN 8000 OBJECT 0CCAB226AA 000000 SPACE 0CCAB226AA 001000 Oh dear, DOMAIN is x'8000', which means System Domain so unless you know how to give your programs the System State attribute you can't access this space at security levels above 30. Rats, darn! heeheeheeheee .... Regards, Simon Coulter. «»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«» «» FlyByNight Software AS/400 Technical Specialists «» «» Eclipse the competition - run your business on an IBM AS/400. «» «» «» «» Phone: +61 3 9419 0175 Mobile: +61 0411 091 400 «» «» Fax: +61 3 9419 0175 mailto: shc@flybynight.com.au «» «» «» «» Windoze should not be open at Warp speed. «» «»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«» //--- forwarded letter ------------------------------------------------------- > X-Mailer: Mozilla 4.7 [en] (WinNT; I) > Date: Sat, 15 Apr 2000 09:41:46 -0700 > From: "James W. Kilgore" <eMail@James-W-Kilgore.com> > To: MIDRANGE-L@midrange.com > Reply-To: MIDRANGE-L@midrange.com > Subject: Where does SEU store Work In Progress > > I'm curious about the objects being in QTEMP. Have you ever been using > SEU from a remote connection (or local for that matter) and have your > session die? > > >From my understanding, the contents of QTEMP is hosed once a job is > ended. Yet for some reason, I can log on the next day and attempt to > edit the same member and up pops a screen asking if I want to recover > the previous edit session. And sure enough, everything up to the last > time I pressed ENTER is there. > > Maybe SEU is smart enough to perform a MOVOBJ of the work files before > QTEMP is destroyed. > > Tim McCarthy wrote: > > > > Dave, you're on your own - never done this before. However I do know > > that SEU creates a number of objects in QTEMP. For each instance of SEU > > you start it creates a permanent misc space (19 EE) with a name > > something like QSU_WSUCOM____xxxxxxx. This seems to act as some sort of > > an index and contains the line numbers currently in the window. You also > > get a temporary space called QSEU2_CMDLxx. Then there are a number of > > other MSCSP spaces created on certain events. How these spaces are laid > > out and what they contain I have no idea. You can access them in MI but > > may run into level 40 issues. Use DMPSYSOBJ with a hex offset of 40 to > > see everything in your QTEMP. +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.