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: December 3, 2003 05:45 AM Wednesday; Rod Welch

SDS improved F2 Save to increase speed and memory.

1...Summary/Objective
2...Good Management Faster Easier Using SDS F2 Save Function
3...References Processed in Fresh Session Successful but Districting
4...Change Original Design Improves Performance
5...Knowledge Management Save Time Organizing Record Accomplished by SDS
6...000008 Macro 142 F2 Save Call 0702051 Memory Segment for Pointers
7...0702051 F2 Save Windows Start Nested Application Reference Pointers
....User Interface Adjustments for Anchors to Restore Original Screen
....Anchors Post Additions to Adjust Screen Position for User Interface
....Time Current Diary Records Posted to 2 Fields to Maintain Status
....Current SDS Record Dot Maintains When Status Changed in Schedule
8...0702053 Improve Tertiary Memory Segment
....Out of Environment Space CMD Called with DOSE to Solve Problem
....Delete Pointer File When Emptied by User Deleting References
....DOS CMD Call 4th Memory Segment to Solve Out of Environment Space


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

CONTACTS 

SUBJECTS
Save F2 SDS Records Out of Memory Updating Reference Pointers Solved
0702051 F2 Save Highlight J Headline Flags Added Automatically by F2
Start 0702051 F2 Save Fix Out of Memory Updating Reference Pointers S
0702051 F2 Save SDS Records Out of Memory Updating Reference Pointers
Reference Pointers Memory Failed F2 Save Updated in 0702051 Solved wi
0702051 Macro 142 Save F2 Slow Screen Loss Stability as a Result Fixi

0808 -
0808 -    ..
0809 - Summary/Objective
0810 -
081001 - Follow up ref SDS 14 EG8G.
081002 -
081003 - Changed original design developed during 1985 - 1987 period that
081004 - updates SDS reference data bases.  This change preserves improved
081005 - memory management for increased program capacity developed last week,
081006 - and increases speed and screen stability to solve problems caused by
081007 - prior improvements.  This increases capacity, speed and stability.
081008 - Later on 040621 added code to call a 4th memory segment for deleting a
081009 - weekly reference data base file, when references deleted from an SDS
081010 - record are the only entries the data base file. ref SDS 0 WX5F
081011 -
081012 -            [On 040705 Gary reported new problem; the new function
081013 -            00903 that applies cmd batch files to open files for other
081014 -            programs is not supported by w98. ref SDS 21 U693
081015 -
081016 -
081017 -
081019 -  ..
0811 -
0812 -
0813 - Evaluation
0814 -
081401 - Good Management Faster Easier Using SDS F2 Save Function
081402 - References Processed in Fresh Session Successful but Districting
081403 -
081404 - Follow up ref SDS 14 XU7L.
081405 -
081406 - Evaluation criteria are reported on 031114....
081407 -
081408 -    1.  Fast and easy to use, hard to cause a failure, with significant
081409 -        increase in performance.
081411 -         ..
081412 -    2.  Existing procedures either remain the same or are improved, so
081413 -        there is minimal learning curve -- things work better with
081414 -        existing skills.
081416 -         ..
081417 -    3.  Memory management improved, shown by fewer crashes and
081418 -        enabling bigger records.
081420 -  ..
081421 - Testing shows speed and screen stability are significantly improved
081422 - relative to performance achieved on 031125, ref SDS 14 HH9N, while
081423 - retaining improvements in memory that increase capacity of the program
081424 - to perform thousands of steps, ref SDS 14 XU7L, for making good
081425 - management fast and easy, noted below. ref SDS 0 MU4N
081426 -
081427 -    Tests were performed by entering temporary datecnt commands in
081428 -    macro 142 before and after calling 0702051, then subtracting the
081429 -    seconds parameter produced by datecnt.
081431 -  ..
081432 - For example testing on c11, which is configured with the old design
081433 - for 0702051 required 2 seconds.  The original design that did not have
081434 - added support for formatting and increased memory, developed on
081435 - 031125, takes 2 seconds to save the large record on 010725.
081436 - ref SDS 7 0001  The new design, also, takes 2 seconds to save the same
081437 - record while performing several more passes through the record to
081438 - perform format checks and adjustments, and to update reference data
081439 - bases, using the Windoes Start command for increasing memory.  The
081440 - objective to maintain a stable screen was largely accomplished.
081441 - Flickering on c13 using a 1.4 GHz processor is eliminated altogether,
081442 - and on c12 which has a 600 MHz processor and a slow data transfer rate
081443 - for disk tasks, the prior severe screen changes are now reduced to a
081444 - slight flicker, less than was occurring with the prior code created on
081445 - 031128 using c13 with a 1.4 GHz processor and much faster disk IO.
081446 -
081447 -     Actually, flickering on c13 is not eliminated.  There seems to be
081448 -     no flickering on some occassions and marked flickering on other
081449 -     occassions.  Not sure why this difference.  Possibly the Windows
081450 -     operating system (OS) must search for available memory segements.
081451 -     and, after the program is used for awhile, it becomes harder to
081452 -     find blocks of contiguous memory, and this leads to delay finding
081453 -     memory locations.
081455 -  ..
081456 - On the downside, there must be some loss of memory capacity, even
081457 - though it remains greatly improved from work on 031125 that led to
081458 - this line of improvements. ref SDS 13 WB5N and ref SDS 14 EG8G
081460 -  ..
081461 - The design on 031128 processed each of the four (4) reference types
081462 - with a separate memory segement called by Windows start command.  The
081463 - new design carries all references into a separate memory segment with
081464 - a single pass.  Thus, taking the record on 010725 for an extreme
081465 - example, it has 612 conrol field lines, which is about 50K.  When the
081466 - weekly pointer file is loaded, it has at least that many control field
081467 - lines that will be replaced by the new ones, and so that is a minimum
081468 - of 100K.  This is well within DOS limits, but if there were other
081469 - records of comparable size in the same weekly file, memory problems
081470 - could occur.  Of course the same situation would occur as well under
081471 - the prior code.  However, the prior code closes the memory segment and
081472 - then opens a new one for each of the other three reference data bases.
081473 - Thus, each pass starts without fragmented memory, whereas under the
081474 - new code all of the reference data bases are processed in a single
081475 - memory segment, and so fragmentation necessarily occurs while
081476 - processing the four (4) data base types.  The advantage under the new
081477 - scheme is that fragmentation in the initial memory segment caused by
081478 - all of the tasks leading up to processing reference data bases (see
081479 - list below, ref SDS 0 JV8G), is avoided by processing references in a
081480 - fresh memory segment.  This solves the problem that occurred on
081481 - 031125, and runs faster with better screen stability than was achieved
081482 - on 031128.
081484 -  ..
081485 - A possible future refinement would be to process control field lines
081486 - separately, since they are the largest data base that present the
081487 - biggest problem for fragementation.  Then open another memory segment
081488 - to process the other reference data bases, since these have far fewer
081489 - lines and so could not cause the process to fail.  This method would
081490 - take more time for the Windows Start command call, which would
081491 - increase the screen flicker problem.  As processing speed increases,
081492 - this will be less of an issue.
081493 -
081494 -
081496 -  ..
0815 -
0816 -
0817 - Background and Planning
0818 -
081801 - Change Original Design Improves Performance
081802 -
081803 - Work on 031128 increased memory for the SDS "save" operations to solve
081804 - problem of failed performance due to inadequate memory capacity,
081805 - reported on 031125. ref SDS 14 EG8G  While the work was successful,
081806 - ref SDS 14 XU7L, user interface was impacted by a noticable delay in
081807 - execution of F2 to save the record, and there is loss of screen
081808 - stability, because the design adopted on 031128 was to use new memory
081809 - segments by calling the Windows Start command for processing the four
081810 - (4) reference types that are maintained in SDS data bases. ref SDS 14
081811 - HH9N  Delay is inevitable from increasing the number of tasks
081812 - performed, so it is unrealistic to expect that doing more tasks will
081813 - not take more time.  The goal today is to increase the speed of
081814 - processing and increase screen stability by revising the design on
081815 - 031125.
081817 -  ..
081818 - The problem reported on 031125 is most noticable on slower systems;
081819 - our computer c12 running at 600 MHz illustrates the scope of the
081820 - problem. ref SDS 14 JC4G
081822 -  ..
081823 - Opportunities to increase speed and stability of the screen.....
081824 -
081825 -    1.  Reduce the size of the processor file to load into memory.
081826 -
081827 -        Smaller processor files take less time to load and run; however
081828 -        the size of files at issue in this case indicates this factor
081829 -        is not significant enough to reduce time appreciably, execpt
081830 -        the 0702051 processor and the original record are loaded
081831 -        multiple times.  If these disk reads and writes can be reduced
081832 -        processing speed might be increased.
081834 -         ..
081835 -    2.  Reduce the number of calls to separate memory segments that
081836 -        process SDS data bases for references.
081838 -         ..
081839 -        The code developed on 031128 uses a somewhat novel design by
081840 -        saving the original record to restore in the original session,
081841 -        after all processing completes; then emptying the content
081842 -        except for, on the 1st pass, the control field reference lines.
081843 -        This group of lines is saved to a temporary filename, say
081844 -        stufqq2.  Content of 0702051 in memory segment 2 is modified to
081845 -        process the reference data base type that correlates to the
081846 -        content in stufqq2, and then saved to the disk in temporary
081847 -        file stufqq1 just saved to the disk.  The Microsoft Start
081848 -        command is then called in a batch file that opens stufqq2 for
081849 -        processing in a 3rd, and fresh, memory segment, by stufqq1
081850 -        beginning at line 3, which directs processing to the few lines
081851 -        of 0702051 content that are saved in stufqq1 for updating the
081852 -        relevant data base.  Once completed, processing quits to close
081853 -        the tertiary memory segment.  Control returns to the 2nd memory
081854 -        level in 0702051, which then performs the same steps for the
081855 -        other three (3) classes of references in SDS records.  This
081856 -        therefore entailed opening and closing a 3rd memory segment
081857 -        four (4) times to save a record.  When all four (4) data bases
081858 -        have been processed, the 2nd memory session closes and control
081859 -        returns to the user in the primary memory level where content
081860 -        of the SDS record is replaced by the content that was processed
081861 -        in the 2nd memory session.
081863 -         ..
081864 -        This process requires reading the SDS record several times with
081865 -        the get command to make separate extractions of data base
081866 -        reference lines, and, also, reading and writing the content of
081867 -        the 0702051 at least 4 times.  Similarly, the reference lines
081868 -        are also read and written multiple times in the separate memory
081869 -        segments.
081871 -         ..
081872 -        This technique solved the prior memory problem, but slowed the
081873 -        save process and caused the screen to lose stability during the
081874 -        four (4) step process.
081875 -
081877 -  ..
081878 - New design changes original concept from 1985...
081879 -
081880 -    1.  Eliminate multiple disk reads and writes of the SDS record and
081881 -        the 0702051 processor content.  Reference lines are assembled
081882 -        once in a single pass in the original SDS record file, and then
081883 -        a 3rd memory segment is called only once to process all
081884 -        reference lines with a new processor that has code which was
081885 -        previously part of 0702051 for updating reference data base
081886 -        files.
081887 -
081888 -              [On 040214 applied similar scheme to improve memory
081889 -              management for 070405 to convert SDS records into HTML,
081890 -              and specifically for a special loop to process links.
081891 -              ref SDS 17 WX5J
081893 -         ..
081894 -    2.  Size of processor 0702051 is reduced by 25%.  Code to process
081895 -        reference lines is in a new macro 0702053 that is less than
081896 -        half the size of 0702051.  Reducing the size of processors and
081897 -        reducing the number of disk reads from 4 down to 1, reduces the
081898 -        total burden on memory and reduces fragmented memory.  This
081899 -        makes loading and using the code faster and more stable with
081900 -        capacity to process more data, thus reducing the frequency of
081901 -        program failure due to memory limits of DOS.
081903 -         ..
081904 -    3.  Screen stability is increased by reducing the number of calls
081905 -        with Windows Start command from four (4) to only one (1).  This
081906 -        takes only a single write to the disk, which reduces the degree
081907 -        of screen distoriation during the F2 save command.
081909 -  ..
081910 - The original design developed between 1985 and 1988 used an
081911 - interesting method of changing commands in order to use a single group
081912 - of code lines to process multiple data bases.  The new design had to
081913 - replace this, but retains the orginal concept of using the code to
081914 - modify itself for efficient processing.
081915 -
081916 -
081917 -
081918 -
081919 -
081920 -
081921 -
0820 -

SUBJECTS
Windows Start 0702051 F2 Save Called by Macro 142 in 000008 Running B
Scope Save F2 for Macro 142 and 0702051
Save F2 Integrates Thousands of Commands for 30 Major Tasks into a Si

1105 -
1106 - Progress
110701 -  ..
110702 - Knowledge Management Save Time Organizing Record Accomplished by SDS
110703 - 000008  Macro 142 F2 Save Call 0702051 Memory Segment for Pointers
110704 -
110705 - Follow up ref SDS 14 EG8G.
110706 -
110707 - Line 1500, ref OF 6 1937, -entry 142
110708 -
110709 -    dose /c c:\sd\01\0702051.bat
110710 -
110711 -       Windows start command is used to expand memory for saving SDS
110712 -       records called in 000008 under macro 142.
110714 -        ..
110715 -       There is no change to this code.
110717 -  ..
110718 - Research on the OHS/DKR project showed that "knowledge management" is
110719 - a lot of hard work using information technology, reported in the
110720 - record for 000307. ref SDS 5 5182  This research aligns with prior
110721 - work on 921205 where Steven Covey found that forming work habits to
110722 - use good management practices, ref SDS 1 2552, consistently is
110723 - difficult. ref SDS 1 4803  Habits of mind that augment intelligence
110724 - are the primary practices that drive management productivity, cited by
110725 - Peter Drucker in an article that recommended applying technology to
110726 - routinize tasks that aid human cognition, reported on 991025.
110727 - ref SDS 4 0785
110728 -
110729 -        [On 20608 knowledge information difference hard for people to
110730 -        understand case study. ref SDS 8 CC6J [On 020608 case study
110731 -        meaning of "knowledge" distinguished from "information, cites
110732 -        philosophy perspective reviewed on 050115, ref SDS 22 SF5K, for
110733 -        grounding practice of "Knowledge Management" that correlates
110734 -        with cognitive science, reviewed 960518, ref SDS 3 GS58,
110735 -        management practices on 000307, ref SDS 5 767G, and physical
110736 -        science, reviewed on 040312, ref SDS 18 YH4G, to explain the
110737 -        power of knowledge for predicting and controlling the future.
110738 -        ref SDS 8 CC6J
110740 -  ..
110741 - SDS "save" operation pressing 1 key executes macro 142 calling 0702051
110742 - that does the following 30 tasks, which entail multiple steps
110743 - processing an SDS record; there are hundreds of thousands of steps to
110744 - reduce time and effort that maintains order in the complexity of daily
110745 - work and enables finding critical details when needed, which people
110746 - normally avoid because doing Knowledge Mangement manually is a lot of
110747 - hard work...
110748 -
110749 -    1.  Flexible shallow outline structure
110750 -        update line numbers and
110751 -        status......................................... ref OF 6 E49L
110753 -         ..
110754 -    2.  Outline and lists updated...................... ref OF 6 RM6M
110756 -         ..
110757 -    3.  Highlights for visibility to aid
110758 -        situational awareness checked,
110759 -        refershed  and added automatically
110760 -        for context.................................... ref OF 1 UZ4M
110762 -         ..
110763 -    4.  Confidentiality status updated................. ref OF 6 1T4N
110765 -         ..
110766 -    5.  Format for flexible structure of Knowledge
110767 -        Space inspected and corrected....
110768 -
110769 -        a.  Transition line numbers above into
110770 -            Control Fields............................. ref OF 1 UW6H
110772 -             ..
110773 -        b.  Transition below Control Fields into
110774 -            narrative; conform structure and spacing
110775 -            to SDS requirements; check and verify
110776 -            double underline for subject
110777 -            descriptions............................... ref OF 1 WS5H
110779 -             ..
110780 -        c.  Summary/Objective check and correct
110781 -            including initial anchor and Follow
110782 -            up line.................................... ref OF 1 IV4F
110784 -             ..
110785 -        d.  Last line in record has correct
110786 -            4 place number structure................... ref OF 1 0B4N
110788 -             ..
110789 -        e.  Blank line below all Follow up
110790 -            lines...................................... ref OF 1 R44K
110792 -         ..
110793 -    6.  References and Control Fields maintained
110794 -        automatically macro 142 calls 0702051
110795 -        which calls macro 145.......................... ref OF 1 2G4J
110796 -
110797 -        a.  References sort............................ ref OF 6 2300
110798 -
110799 -        b.  References verify citations and notify
110800 -            user of errors for correction.............. ref OF 6 5537
110802 -             ..
110803 -        c.  Control Field lines sorted by
110804 -            subject.................................... ref OF 6 YG5J
110806 -             ..
110807 -        d.  Control Field lines duplicates and dots
110808 -            removed.................................... ref OF 6 6U7I
110809 -
110810 -              [On 031207 requirement for this task was
110811 -              eliminated by improvements to context
110812 -              management assigning multiple subject
110813 -              accounts to Control Field. ref SDS 16 7J5N
110815 -         ..
110816 -    7.  Confidential flags checked and
110817 -        notice issued for user action.................. ref OF 1 WH5J
110819 -         ..
110820 -    8.  Schedule Analysis and Adjustments....
110821 -
110822 -        a.  Follow up action items updated............ ref OF 1 EZ7F
110823 -
110824 -        b.  Repetitive dates checked and posted....... ref OF 1 EZ7F
110826 -         ..
110827 -    9.  Doc Log fields checked and notice issued....... ref OF 1 3S8K
110829 -         ..
110830 -   10.  Control Fields sorted and duplicates deleted
110832 -         ..
110833 -   11.  Highlight Multi-line Headlines................. ref OF 1 UZ4M
110835 -         ..
110836 -   12.  Anchors added as needed for granular
110837 -        addressability.
110838 -
110839 -        a.  Underlined headlines....................... ref OF 1 P45J
110840 -
110841 -        b.  Highlighted headlines with j flag.......... ref OF 1 AE3I
110843 -             ..
110844 -        c.  Narrative paragraphs....................... ref OF 1 SD5G
110846 -         ..
110847 -   13.  Anchors check uniqueness and self-correct...... ref OF 1 OX5K
110849 -         ..
110850 -   14.  Reference data bases updated with content
110851 -        from Control Fields............................ ref OF 1 XQ4O
110853 -         ..
110854 -   15.  Write SDS record to disk to save current
110855 -        status of the record........................... ref OF 6 GZ5M
110856 -
110857 -
110858 -
110859 -
110860 -
110861 -
110862 -
1109 -

SUBJECTS
User Interface Improve Situational Awareness Anchors Added During 070

1203 -
120401 -  ..
120402 - 0702051 F2 Save Windows Start Nested Application Reference Pointers
120403 -
120404 - Follow up ref SDS 14 1K3L.
120405 -
120406 - This is where processing begins maintaining control fields and
120407 - references in SDS records after
120409 -  ..
120410 - Changed the following code today from work on 031128 which extracted
120411 - and processed in a separate memory segment each class of reference
120412 - data base. ref SDS 14 1K3L  Instead, the code will collect all control
120413 - criteria into one file by deleting everything else and saving the
120414 - current file to another filename for processing in a new memory
120415 - segment using the Windows Start command.
120416 -
120418 -     ..
120419 -    User Interface Adjustments for Anchors to Restore Original Screen
120420 -    Anchors Post Additions to Adjust Screen Position for User Interface
120421 -
120422 -
120423 - Line 1670, ref OF 1 XQ4O, -label ppntrs in 0702051
120424 -
120425 -    -label ppntrs
120426 -    top
120427 -    loc_cur 0 32
120428 -    -if @272 != 1001 inscnt 71 0
120429 -    save stufq
120430 -
120431 -        The code has made all of the changes necessary to the file
120432 -        shown in the list above, ref SDS 0 JV8G, and so the content is
120433 -        ready to replace content in the main memory segment.  Move to
120434 -        the top of the file; loc_cur 0 32 moves the cursor on the
120435 -        record ID line in front of Diary and Schedule title, and enter
120436 -        from counter 71 the number of lines added to the file that are
120437 -        accumulated when macro 49 adds lines to place anchors on blank
120438 -        lines in SDS records.  The value is saved to file stufq and
120439 -        then read back by macro 142 in 000008.  Macro 142 captures the
120440 -        value and increments counter 65 to restore the relative file
120441 -        position that existed when the User pressed F2 to save the
120442 -        record, because macro 23 uses counter 65 as the line number.
120443 -        save writes the record as revised to the disk in file stufq
120444 -        which is read into the SDS record file in the primary memory
120445 -        segment.
120446 -
120447 -
120449 -  ..
120450 - Line 450, ref OF 1 2G4J, -label sObJ in 0702051 about 50 lines below
120451 -
120452 -    macro 145
120453 -    -if @1 != 119 -goto ok119
120454 -    getscr 12
120455 -    rel_cur 0 1
120456 -    chrcnt 2 0
120457 -    -if @2 > 32 rel_cur 0 1
120458 -    ic 126
120459 -    setcnt 1 897
120460 -    -label coprem
120461 -    of 0
120462 -
120463 -        macro 145 does a bunch of stuff, including reset and verify
120464 -        citations after References are sorted.  One of the steps in
120465 -        macro 145 does a fr command which can offset the screen, and it
120466 -        does an right 5 command that offsets the screen.  If a citation
120467 -        is incorrect, then the code sets an error counter flag and
120468 -        exits from macro 145.  Processing continues above, and if the
120469 -        screen if offset, then the offset needs to be changed to the
120470 -        standard offsett.  of 0 command accomplishes this, so that the
120471 -        error counter is placed in the correct field to be interpreted
120472 -        by macro 142 after 0702051 completes.
120473 -
120474 -
120475 -
120476 -
120477 -
120478 -
120479 -
1205 -

SUBJECTS
User Interface Improve Situational Awareness Anchors Added During 070
Current Diary Maintain Time to Delete Pointers When Switching Back fr
Current Diary Record Maintain Time to Delete Pointers When Switching

1405 -
140601 -     ..
140602 -    Time Current Diary Records Posted to 2 Fields to Maintain Status
140603 -    Current SDS Record Dot Maintains When Status Changed in Schedule
140604 -
140605 -
140606 - Line 1720, ref OF 1 TX4H, -label ppntrs in 0702051 about 60 lines
140607 - below
140608 -
140609 -    -if @272 = 1001 -goto overr...................... ref SDS 0 0F8J
140610 -
140611 -           For Schedule tasks, processing is over because References
140612 -           are not archived, since no activity has occurred yet.
140614 -     ..
140615 -    top
140616 -    -if @271 = 2000 -goto nvMnd1
140617 -
140618 -        Archived Diary records jump over code to configure special
140619 -        "dot" flag for F8 in the Schedule to maintain reference data
140620 -        bases for current diary records.
140622 -     ..
140623 -    macro 85
140624 -    of 98
140625 -    loc_cur 0 1
140626 -    strcnt 26 2
140627 -    rel_cur 0 2
140628 -    strcnt 27 2
140629 -    rel_cur 0 2
140630 -    strcnt 28 2
140631 -
140632 -        macro 85 captures the time from the record ID on line 1 column
140633 -        1 of every SDS record.  Then offset the record and capture the
140634 -        time in special field #1.
140635 -
140636 -              Special Time Field #1       Special Time Field #2
140637 -              hhmmss (prior status)       hhmmss (current status)
140639 -         ..
140640 -        The process is to capture the time from field 2, and move it
140641 -        to field 1 for deleting references from SDS data bases, and to
140642 -        post the actual time of the record in field 2 which will be
140643 -        used in the next level to save references to the data bases.
140645 -         ..
140646 -        This is used by another complementary processor, 0702053, in
140647 -        the next step at another memory segment to open the Schedule
140648 -        and set a flag for managing reference data bases when the User
140649 -        changes the status of a current diary record from diary back to
140650 -        schedule, because when the status is changed a a current SDS
140651 -        record the identification of references changes.  See
140652 -        explanation at 951206. ref SDS 2 MK7L 113315
140654 -         ..
140655 -        Move prior time to another field for processing by 070253
140656 -
140658 -     ..
140659 -    loc_cur 0 10
140660 -    -if @26 < 10 ic 48
140661 -    inscnt 26 0
140662 -
140663 -    -if @27 < 10 ic 48
140664 -    inscnt 27 0
140665 -
140666 -    -if @28 < 10 ic 48
140667 -    inscnt 28 0
140668 -
140670 -                                 ..
140671 -                                Return cursor
140672 -    loc_cur 0 1
140673 -
140674 -             Create flag that time is the same.
140676 -      ..
140677 -                          Enter time of current record to compare for next
140678 -                          save, if the time is different.
140679 -    macro 84
140681 -     ..
140682 -    save stufq
140684 -     ..
140685 -    of 0
140687 -      ..
140688 -
140689 -    -label nvMnd1
140690 -
140691 -
140692 -
140693 -
1407 -

SUBJECTS
Dot Col 6 and Col 15 Changed Method for Identifying in Schedule Curr

1603 -
160401 -  ..
160402 - 0702053  Improve Tertiary Memory Segment
160403 -
160404 - Line 130, ref OF 3 XW41 in 0702053
160405 -
160406 -    The following body of code is to open the Schedule, find the
160407 -    line for the current diary record and place a dot (.) in col
160408 -    6, so that if the status of the record is changed from diary
160409 -    back to Schedule, then the code for F8 in 000008 that is used
160410 -    for setting the status of a task in the Schedule can all
160411 -    macro file 070201 to remove references for the prior current
160412 -    diary record that now no longer exists, from the SDS
160413 -    reference data bases in order that a false report will not
160414 -    occur, as a result of the user changing his mind and deciding
160415 -    not to work on a particular task.  This dot gives people more
160416 -    command and control of the record.
160418 -     ..
160419 -    This complements code above that examines the time for a
160420 -    prior use of the same record and deletes references if the
160421 -    user changed the time.
160422 -
160424 -  ..
160425 - Line 200, ref OF 3 WK4H in 0702053
160426 -
160427 -    Insert a dot for processing by macro 960 in 000005 called
160428 -    by F8 to set status of tasks in the Schedule.  This dot
160429 -    tells the code in 000005 below -label scdul2 at about line
160430 -    2900 to run 070201 #2 for removing references to the
160431 -    current record from the pointer data bases.  This is
160432 -    needed when a current diary record is switched back to a
160433 -    Schedule task.  The pointers are still out there, so
160434 -    070201 #2 removes them.
160435 -
160436 -       [On 040418 added code to 04702 to archive performed diary
160437 -       records based on dot in col 6, rather than col 15. ref SDS 19
160438 -       I46G
160439 -
160440 -
160441 -
160443 -  ..
160444 - Line 510, ref OF 3 XP3F, -label 165g1 in 0702053
160445 -
160446 -    -label 165g1
160447 -    save stufqq1
160448 -
160449 -        After setting up 0702051 to update a weekly Reference pointer
160450 -        data base file, save the settings to temporary file stufqq1 to
160451 -        be called as a processor in a Windows Start memory session.
160452 -
160454 -  ..
160455 - Line 380, ref OF 3 GG9I, -label prnt_c in 0702053 about 60 lines below
160456 -
160457 -    line........................... && *%dl.... ref SDS 0 WX5F
160458 -    loc_cur 4 24
160459 -    macro 92
160460 -    loc_cur 0 30
160461 -    ic 48
160462 -    ic 49
160463 -    loc_cur 4 33
160464 -    -if @3 < 10 ic 48
160465 -    inscnt 3 0
160466 -    loc_cur 0 36
160467 -    -if @2 < 10 ic 48 0
160468 -    inscnt 2 0
160469 -
160470 -        Set up to delete a weekly pointer file, if the content is all
160471 -        deleted when a record is edited and references have been
160472 -        deleted by the User.
160473 -
160474 -
160475 -
160477 -     ..
160478 -    Out of Environment Space CMD Called with DOSE to Solve Problem
160479 -    Delete Pointer File When Emptied by User Deleting References
160480 -    DOS CMD Call 4th Memory Segment to Solve Out of Environment Space
160481 -
160482 -
160483 - Line 650, ref OF 3 TN5K, -label lpd2 in 0702053 about 30 lines below
160484 -
160485 -    immed 6a
160486 -    ins_text !@echo off!
160487 -    rel_cur 1 0
160488 -    ins_text !c:!
160489 -    rel_cur 1 0
160490 -    ins_text !cd\sd\10!
160491 -    rel_cur 1 0
160492 -    ins_text !rem!
160493 -    rel_cur 1 0
160494 -    *%dl........................................ ref SDS 0 1A3O
160495 -    ins_text !del d:\sd\08\uuuuu\01\yy\ww!
160496 -    rel_cur 1 0
160497 -    ins_text !rem!
160498 -    rel_cur 1 0
160499 -    ins_text !exit!
160500 -    save c:\sd\10\stufqq0.cmd
160501 -
160502 -       At this point the code has determined that a data base file has
160503 -       been emptied as a result of deleting references in a record, or
160504 -       deleting an entire record.  Therefore, if there was formerly a
160505 -       data base pointer file, and all of the content is deleted by
160506 -       this operation, then the file must be deleted from the disk.
160507 -       This code builds a Windows 2000 processor, stufqq0.cmd, with a
160508 -       cmd extension, because trying to do this in a batch .bat file
160509 -       that calls a set command returns an error message saying
160510 -
160511 -                  Out of environment space
160513 -        ..
160514 -       The environment does not post to the command line and so the
160515 -       delete command does not run.  The new scheme usng a batch file
160516 -       to call an existing environment to run a cmd op, applies work on
160517 -       031020 to use cmd in stead of bat for opening files with long
160518 -       names that exceed DOS batch (.bat) file limits.  This change was
160519 -       actually made on 040621 to build a cmd processor using the
160520 -       current stufq file in memory, and simply saves it the disk.
160521 -
160522 -            [On 040621 change call in 0702053 to run stufqq0.cmd in
160523 -            batch file 0702053a.bat, as reported here. ref SDS 20 TH45
160525 -             ..
160526 -            [On 040705 Gary reported new problem; the new function
160527 -            00903 that applies cmd batch files to open files for other
160528 -            programs is not supported by w98. ref SDS 21 U693
160530 -     ..
160531 -    dose /c c:\sd\01\0702053a.bat
160532 -
160533 -       Call new batch file that runs stufqq0.cmd to open a new memory
160534 -       segment where the delete file command be executed, per above.
160535 -
160536 -
160538 -  ..
160539 - Line 700, ref OF 3 2T4K, -label dBResto in 0702053
160540 -
160541 -    -label dBResto
160542 -    e stufq
160543 -    -if @0 != 989 save stufqq2
160544 -    setcnt 0 0
160545 -    dose /c c:\sd\01\0702051a.bat
160546 -
160547 -        e stufq returns to SDS record where original content has been
160548 -        saved to the disk, and at this point everything has been
160549 -        deleted in the current memory space for the record except for
160550 -        Reference data base lines.  -if @0 != 989 there are Reference
160551 -        data base lines to process, so save to a different temporary
160552 -        file for processing with dose /c c:\sd\01\0702051a.bat that
160553 -        calls another Windows Start command memory session.  -if @0 =
160554 -        989 the record is not saved.  The new batch file developed
160555 -        today for this op, 0702051a.bat, deletes the temporary data
160556 -        base transfer file each pass, so when the process runs in the
160557 -        next step, if the file is blank, then the process will delete
160558 -        any lines in the data base for this record to conform to the
160559 -        condition that there are no data base lines for this record.
160561 -     ..
160562 -    -goto blnKr
160563 -
160564 -        After processing to update the Reference data base files, jump
160565 -        to process the next data base type.
160566 -
160567 -
160569 -  ..
160570 - Line 530, ref OF 3 ZC9N, -label rfNcS in 0702053
160571 -
160572 -    -label rfNcS
160573 -    errorcnt 0 0
160574 -    bot
160575 -    linecnt 1 0
160576 -    immed /
160577 -
160578 -        This code is moved from 0702051 into 0702053; -label rfNcS is
160579 -        added, otherwise this code remains the same, except now it is
160580 -        run from the 3rd session of memory using a 2nd call to the
160581 -        Windows Start command per above. ref SDS 14 P45T
160582 -
160583 -     -label vbht
160584 -    get D:\sd\08\UUUUU\01\yy\zz
160585 -    loc_cur 3 1
160586 -    -if @0 > 0 up
160587 -    setlen 111 0
160588 -    -if @111 > 0 -goto notBL
160589 -    quit
160590 -
160591 -
160592 -
160594 -  ..
160595 - Line 540, ref OF 3 IO5O, -label emPty in 07030523
160596 -
160597 -    -label emPty.................................. ref SDS 0 5Z4L
160598 -    *%kw
160599 -    g d:\sd\08\UUUUU\tt\yy\01
160600 -    loc_cur 4 1
160601 -    setlen 1 0
160602 -    -if @1 > 0 -goto notBL......................... ref SDS 0 RY4M
160603 -
160604 -        Read in Reference data base file for this pointer type.
160605 -        loc_cur 4 1 puts the cursor on the line below the current line
160606 -        and -if @1 > 0 means that the Reference data base file exists,
160607 -        and so branch to update the file, -goto notBL
160609 -     ..
160610 -    -if @0 != 990 -goto notBL....................... ref SDS 0 RY4M
160611 -
160612 -        setcnt 0 989 is set below when there are no lines for the data
160613 -        base type being processed, ref SDS 0 5Z4L, and so if there is
160614 -        an error on setlen command then counter 0 is incremented and
160615 -        becomes 990.  Therefore, -if @0 != 990 -goto notBL because
160616 -        reference data base lines are in the SDS record to process; but
160617 -        if 0 = 990 then there are no lines from the SDS record to
160618 -        process and there is also no data base file to process, so go
160619 -        do the next reference type.
160621 -     ..
160622 -    setcnt 0 0
160623 -    -goto blnKr.............................. ref SDS 0 RY4L
160624 -
160625 -        Reset flag saying no reference lines exist to prepare for
160626 -        processing the next data base type, and then go do that step of
160627 -        processing next data base type, -goto blnKr ref SDS 0 RY4L
160628 -
160629 -
160631 -  ..
160632 - Line 680, ref OF 3 4590, -label getIt in 0702053
160633 -
160634 -    -label getIt
160635 -    setcnt 0 0
160636 -    setcnt 201 666
160637 -    macro 1451
160638 -
160639 -        setcnt 201 666 creates a flag for macro 1451 to sort the list
160640 -        of references read in with the save operation with the rest of
160641 -        the weekly pointer file, and remove duplicate lines when
160642 -        processing SDS record Reference data bases.
160643 -
160644 -
160645 -
160646 -
160648 -  ..
160649 - Line 690, ref OF 3 2T4K, -label blnKr in 0702053
160650 -
160651 -    -label blnKr
160652 -    -if @165 > 3 -goto dBpurge
160653 -    macro 3
160654 -    g stufqq
160655 -    -if @165 = 2 -goto dBI1-O
160656 -    -if @165 = 3 -goto dB_rcd
160657 -
160658 -        Setup to process SDS record reference data base.  -if @165 > 3
160659 -        then all data base references have been processed, so end the
160660 -        routine -goto dBpurge.  macro 3 empties the current file g
160661 -        stufqq reads back the list of references from the SDS record
160662 -        created by 0702051 in the secondary memory segment.  -if @165 =
160663 -        2 then process contact references -goto dbI1-O, and -if @165 =
160664 -        3 then then process record description -goto dB_rcd.
160665 -
160666 -
160667 -
160668 -
160670 -  ..
160671 - Line 580, ref OF 3 SG9G -label notBL in 0702053
160672 -
160673 -    -label notBL................................... ref SDS 0 IQ8G
160674 -    z 1 20
160675 -    setcnt 0 0
160676 -    *%dr
160677 -    l /                   /
160678 -    -if @0 > 0 -goto getIt
160679 -    down
160680 -    loc_cur 4 1
160681 -    zonereps
160682 -
160683 -        z 1 20 zones record ID field in reference data base file for
160684 -        the locate command.   setcnt 0 0 creates condition to determine
160685 -        when a line exists in the reference data base file for the SDS
160686 -        record being processed.  l /yymmdd ..... / finds a line in the
160687 -        reference data base file that is for the SDS record being
160688 -        saved.  -if @0 > 0 there are no lines in the reference data
160689 -        base file, so proceed, -goto getIt  Otherwise the search find
160690 -        a line for the SDS record being processed, and it is deleted
160691 -        to be replaced by the new content.
160692 -
160693 -
160694 -
160696 -  ..
160697 - Line 740, ref OF 3 T25N, -label blnKr in 0702053
160698 -
160699 -    setcnt 0 0
160700 -    setcnt 2 0
160701 -    z 11 11
160702 -    immed dd
160703 -    l/:/
160704 -    -if @0 > 0 -goto exP........................... ref SDS 0 5Z4L
160705 -    down
160706 -    immed dd
160707 -
160708 -        Code has processed 01 control field pointers, and now looks for
160709 -        a : in column 11 to find external files. -if @0 > 0 -goto exP,
160710 -        ref SDS 0 5Z4L, establishes that no references for documents
160711 -        are listed in the record.
160712 -
160713 -
160714 -
160715 -
160716 -
160718 -  ..
160719 - Line 810, ref OF 3 HX5O, -label exP in 0702053
160720 -
160721 -    -label exP...................................... ref SDS 0 5Z5J
160722 -    immed dd
160723 -    -gosub srydl
160724 -    immed a
160725 -    up
160726 -    setcnt 0 989
160727 -    -goto emPty................................. ref SDS 0 IQ8G
160728 -
160729 -        Code gets here when there are no pointers in the SDS record to
160730 -        process.  Locate command has moved to bottom of the file, so
160731 -        immed dd completes deleting all lines from the file.  The
160732 -        -gosub srydl routine changes locate and get commands to process
160733 -        next reference type.  immed a adds line in case no data is for
160734 -        this record type is in the SDS record, this creates a blank
160735 -        line so locate command will work beginning on line 2 to find
160736 -        entries for this SDS record to remove from the data base file.
160737 -        setcnt 0 989 creates flag telling code that no lines exist in
160738 -        the SDS record for this data type.  Processing then jumps to
160739 -        immediately read in the data base file. -goto emPty,
160740 -        ref SDS 0 IQ8G
160741 -
160742 -
160743 -
160744 -
160745 -
160746 -
160747 -
160748 -
160749 -
160750 -
160751 -
160752 -
160753 -
1608 -