THE WELCH COMPANY
440 Davis Court #1602
San Francisco, CA 94111-2496
415 781 5700
rodwelch@pacbell.net


S U M M A R Y


DIARY: June 2, 2003 10:52 AM Monday; Rod Welch

Subject error report corrections requested by Gary.

1...Summary/Objective
2...Subject Report Error Recovery Problem Corrected Changed to Alt F8
3...070201 Delete Pointers When Report Shows Out of Sync with Records
4...06112 Subject Report Calls 061121 for Error Message
5...061121 Error Message Assign Function 070201 to Delete Pointers
....Alt F8 Assigned for Deleting Pointers When Record Does Not Exist


..............
Click here to comment!

CONTACTS 
0201 - Boeing                                                                                                                                                             O-00000816 0505
020101 - Mr. Garold L. Johnson
020103 - Modeling and Simulation                                                                                                                                          O-00000816 0505

SUBJECTS
Subject, 06112 Error Messages
Subject Report Error Message Recovery Using Alt F6 Failing
Johnson, Gary Subject Report Error Message Recovery Using Alt F6 Fail
Diary Out of Sync with Diary Summary.
PERL Script Verify Pointers Align with Actual Records Maintenance
Diary Out of Sync with Diary Summary.
Johnson, Gary Diary Out of Sync with Diary Summary.
Johnson, Gary PERL Script Verify Pointers Align with Actual Records M

1610 -
1610 -    ..
1611 - Summary/Objective
1612 -
161201 - Follow up ref SDS 5 0000, ref SDS 4 0000.
161202 -
161203 - Finally made a little progress today, with prompting from Gary, on
161204 - improving the situation when a report returns an error message because
161205 - pointers are out of sync with the actual record. ref SDS 0 VN94
161206 - Changed function key assignment to Alt F8, which is a little easier to
161207 - use. ref SDS 0 M26O  Have considered for a long time eliminating this
161208 - particular error message, because it is frustrating to lose time
161209 - stopping to perform system maintenance, when the immediate goal is to
161210 - get a report on information.  Finally, decided to keep it, so there is
161211 - discipline to maintain pointers in sync.  As long as the spot
161212 - maintenance is fast and easy, this is not too big a problem.
161213 - Hopefully, we got closer to this goal today.  Gary is proposing again
161214 - creating a PERL program to regularly verify pointers are in sync with
161215 - the actual records. ref SDS 0 MM4M
161216 -
161217 -     [On 031101 abandoned the error message system and developed new
161218 -     system that is faster, easier and works better. ref SDS 8 E97K
161219 -
161220 -
161221 -
161223 -  ..
1613 -
1614 -
1615 - Discussion
1616 -
161601 - Subject Report Error Recovery Problem Corrected Changed to Alt F8
161602 -
161603 - Gary called this morning and explained a problem doing a subject
161604 - report.
161605 -
161606 -    His record on 030530................ ref SDS 7 0001
161607 -
161608 - ...and the subject....
161609 -
161610 -                    04 00001 00 SDAV
161611 -
161612 - ...which is Control Field line 06
161614 -  ..
161615 - The function Alt F6 to delete pointers and bring control data base
161616 - into align with the actual records, crashed the program.
161617 -
161618 -     [...below, changed this from Alt F6 to use Alt F8. ref SDS 0 M26O
161620 -  ..
161621 - We reviewed this general problem that occurs when pointers get out of
161622 - sync with the actual records.  On 030426 Gary discussed writing some
161623 - code to perform maintenance that verifyes pointers align with the
161624 - actual records. ref SDS 6 MP68  Essentially this can be done by simply
161625 - rebuilding all the pointer files everyday, but that would take
161626 - forever, especially if there were 5 - 10 - 100 people all using the
161627 - system.
161628 -
161629 -
161631 -  ..
1617 -
1618 -
1619 - Progress
1620 -
162001 - 070201  Delete Pointers When Report Shows Out of Sync with Records
162002 -
162003 - Alt F6 calls c: sd 03 070201 #2
162005 -  ..
162006 - Background on 070201 is reported on 000626. ref SDS 2 0001
162007 -
162008 -    On 000924 improved 070201 for use in a Diary Summary op.
162009 -    ref SDS 3 008Y
162011 -  ..
162012 - Work on file 070201 is reported on 951204. ref SDS 1 CS3W
162013 -
162014 -    The record on 951204 explains general objective....
162015 -
162016 -    We want to conform what is on the disk to what is in the Scheudule.
162017 -    ref SDS 1 CP9N
162018 -
162020 -  ..
162021 - Line 20, ref OF 3 WO7O, -label dponly in 070201
162022 -
162023 -    -if @141 != 2101 -goto nsrep
162024 -
162025 -        Global 141 is set by 06112 when an error occurs assembling a
162026 -        report for a particular spec. ref SDS 0 659M
162028 -     ..
162029 -    loc_cur 16 1
162030 -    of 170
162031 -    macro 891
162032 -    of 0
162033 -    loc_cur 0 34
162034 -    -goto 1wdpfe
162035 -
162036 -        Added this code today to use a different method for deleting
162037 -        pointers, per below. ref SDS 0 K19N
162039 -         ..
162040 -        Previously, the code was opening the target record then running
162041 -        the code that deletes a record, which also deletes pointers.
162042 -        Since the problem to correct is that pointers exist for which
162043 -        there is no record, there is no need to open the record, since
162044 -        the report code returned an error message saying it does not
162045 -        exist.
162047 -         ..
162048 -        The error message created by 061121, per below, ref SDS 0 8Y7F,
162049 -        explains there are some circumstances when a record exists, but
162050 -        the pointers are incorrect some way or another, not really
162051 -        sure, but it seems to happen.  This is corrected by using Enter
162052 -        to open the record and pressing F2 to update the pointers.
162053 -        ref OF 2 8Y4F
162054 -
162055 -
162057 -  ..
162058 - Line 110, ref OF 3 K16F, -label jrdot in 070201
162059 -
162060 -    g D:\sd\08\UUUUU\00\
162061 -
162062 -       This code opens the SDS record for which pointers are to be
162063 -       deleted.
162065 -        ..
162066 -       Today, will modify code to omit this step to delete pointers
162067 -       because it takes too much memory and is not necessary.  We can
162068 -       accomplish the same thing by simply capturing the record string
162069 -       and executing commands on it.  Should not be necessary to open
162070 -       the record.  Did this per above. ref SDS 0 6O8H
162071 -
162073 -  ..
162074 - Line 280, ref OF 3 UA5H, -label lp2 in 070201
162075 -
162076 -    -label lp2
162077 -    l /YYMMDD HHMMSS UUUUU/
162078 -    -if @0 > 0 -goto purg
162079 -    immed d
162080 -    down
162081 -    -goto lp2
162082 -
162083 -        This is the loop that deletes entries in pointer files.
162085 -         ..
162086 -        Seems like we should be able to load this directly without
162087 -        opening the actual SDS record.
162088 -
162090 -  ..
162091 - Line 350, ref OF 3 1N6H, -label delRec in 070201
162092 -
162093 -    getgbl 1 141
162094 -    -if @1 != 2101 -goto xnsrep
162095 -    e 1w
162096 -    beep
162097 -    errormsg  Pointers deleted for this record
162098 -    -goto U_prg
162099 -
162100 -        Added this code to test for error message started from report
162101 -        code, per above. ref SDS 0 6O8H
162102 -
162103 -
162104 -
162106 -  ..
162107 - 06112  Subject Report Calls 061121 for Error Message
162108 -
162109 - Line 30, ref OF 1 HV4G, in 06112
162110 -
162111 -    -goto xx89
162112 -
162113 -       This is where code is called for Enter to open a record listed
162114 -       in an error message, ref SDS 0 S19F, which is assigned in
162115 -       061121, per below. ref SDS 0 RN8M
162116 -
162118 -  ..
162119 - Line 35, ref OF 1 J34L, in 06112
162120 -
162121 -    -goto xx90
162122 -
162123 -       This is where code is called for Enter to open a record listed
162124 -       in an error message, ref SDS 0 574O, which is assigned in
162125 -       061121, per below. ref SDS 0 HR4K
162126 -
162128 -  ..
162129 - Line 250, ref OF 1 S26J, -label xx89 in 06112
162130 -
162131 -    This code calls macro 98 to open an SDS record listed in an error
162132 -    message.
162133 -
162135 -  ..
162136 - Line 270, ref OF 1 588K, -label xx90 in 06112
162137 -
162138 -    macro 13
162139 -    rel_cur 2 0
162140 -    macro 1072
162141 -    -goto xy99
162142 -
162143 -        This code is called by F7 to open the pointer file for the
162144 -        missing record, per above, ref SDS 0 J49H, or record reported
162145 -        missing, per below. ref SDS 0 HR4K  Macro 1072 is in 000006.
162146 -
162147 -
162149 -  ..
162150 - Line 550, ref OF 1 646M, -label cS_wk_a in 06112
162151 -
162152 -    setgbl 141 2101
162153 -    -goto cOErr_$4
162154 -
162155 -       This is the flag that says an error was encountered in a subject
162156 -       report, so that the code to execute 070201 from calling Alt F6
162157 -       is being applied in a report error message screen.  It is
162158 -       brought into the error message file 1w by code in 061121, per
162159 -       below. ref SDS 0 EW5L
162161 -        ..
162162 -       We can use this code in 070201 to fix the process that delete
162163 -       pointers for records that have already been deleted, per above.
162164 -       ref SDS 0 6O8H
162165 -
162167 -  ..
162168 - Line 1200, ref OF 1 U95J, -label cOErr_$4 in 06112
162169 -
162170 -    -label cOErr_$4
162171 -    setcnt 18 1000
162172 -
162174 -  ..
162175 - Line 1770, ref OF 1 QA8G, -label nAItem in 06112
162176 -
162177 -    -label nAItem
162178 -    setcnt 47 22
162179 -    setcnt 140 20522
162180 -    markcur 9
162181 -
162182 -
162183 -
162185 -  ..
162186 - 061121  Error Message Assign Function 070201 to Delete Pointers
162187 -
162188 - Line 110, ref OF 2 FH6K, -label cPe_q in 061121
162189 -
162190 -    -label cPe_q
162191 -    e 1w
162192 -    getgbl 41 41
162193 -
162194 -       Start opening error message screen.
162195 -
162197 -  ..
162198 - Line 120, ref OF 2 FC3M, -label cPe_q
162199 -
162200 -    setcnt 15 777
162201 -
162202 -       Create another flag for subject report in 1w error message
162203 -       file.
162204 -
162206 -  ..
162207 - Line 160, ref OF 2 9A6N, -label cPe_q in 061121
162208 -
162209 -    setcolor 7 0
162210 -
162211 -       Temporarily unplug this for testing with debug, so we can see
162212 -       the commands execute.
162213 -
162214 -
162216 -  ..
162217 - Line 290, ref OF 2 8Y4F, -label cPn_R_fP in 061121
162218 -
162219 -       Modified message to hopefully make instructions more clear and
162220 -       easier to follow.
162221 -
162222 -
162224 -  ..
162225 - Line 340, ref OF 2 EX5H, -label cPn_R_fP in 061121 about 120 lines
162226 - below
162227 -
162228 -    getgbl 141 141
162229 -
162230 -       Get flag set in 06112 when a record does not exist for a
162231 -       particular pointer, per above. ref SDS 0 659M
162232 -
162233 -
162235 -     ..
162236 -    Alt F8 Assigned for Deleting Pointers When Record Does Not Exist
162237 -
162238 -
162239 - Line 420, ref OF 2 M43H, -label cPn_R_fP in 061121 about 200 lines
162240 - below
162241 -
162242 -    pa8 @c:\sd\03\070201 #2
162243 -
162244 -       Changed this assignment, so it is is a little easier to use.
162245 -       Think original idea is to make anything that deletes something a
162246 -       little more awkward to use in order to give people a chance to
162247 -       pause.  Alt F8 is easier and yet still accomplishes the mission.
162249 -        ..
162250 -       This code no longer actually deletes the SDS record, because the
162251 -       only reason to delete pointers is when the record is missing,
162252 -       and the aim is to draw the pointers into alignment with the
162253 -       actual records.
162255 -        ..
162256 -       What we might need is an error message that tells the user to
162257 -       first press Enter to open the record, and only after
162258 -       establishing the record is missing, then delete pointers.
162260 -        ..
162261 -       Actually, anytime an error occurs it means the pointer came up
162262 -       that is out of sync with SDS records.  Even if we delete
162263 -       pointers, if the record still exists, then Enter can open the
162264 -       record and F2 restores the pointers.  Therefore, for now will
162265 -       not create a flag that prevents Alt F8 from deleting pointers
162266 -       until after a user has used Enter to open the record and
162267 -       verified that it is actually missing.
162269 -     ..
162270 -    pfent @q1 #35
162271 -
162272 -       This calls the report screen file 06112 line 35, per above.
162273 -       ref SDS 0 HW8H
162275 -     ..
162276 -    pf7 @q1 #36
162277 -
162278 -       This calls the report screen file 06112 line 36, per above,
162279 -       ref SDS 0 J49H, and executes code in 06112 to open a pointer
162280 -       file, per above, ref SDS 0 574O, but not sure how it knows which
162281 -       pointer file to open.
162283 -        ..
162284 -       I think this is mainly used for opening the 04 pointer file to
162285 -       fix the problem that occurs when a record description 01 line
162286 -       remains after a record has been deleted.  This occurs sometimes
162287 -       for strange reasons, and so having a way to open the 04 pointer
162288 -       file is handy.  Although, at this particular moment not sure why
162289 -       this is more handy than the Alt F8 function to delete all
162290 -       pointers.
162291 -
162292 -
162293 -
162294 -
162295 -
162296 -
162297 -
162298 -
162299 -
162300 -
162301 -
162302 -
162303 -
1624 -
Distribution. . . . See "CONTACTS"