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: August 16, 2003 01:12 PM Saturday; Rod Welch

SDS record for prior date add new function from diary.

1...Summary/Objective
2...Create a Diary Record in Diary Summary
3...000006 Macro 97 Enter Modify Diary Summary to Open Specified Record

ACTION ITEMS.................. Click here to comment!

1...Moving forward, will eventually revise this scheme so the
2...Sent an email to Morris asking if there is a way to dig out

CONTACTS 

SUBJECTS
Prior date, add diary, Shift F6

0403 -
0403 -    ..
0404 - Summary/Objective
0405 -
040501 - Follow up ref SDS 1 0000.
040502 -
040503 - Developed new feature to create a diary record for a prior date in the
040504 - Diary Summary, to supplement current system of calling a menu command.
040505 - Drawback is that a record created from the Diary Summary will not have
040506 - any history, and so everything has to be started from scratch.
040507 -
040508 -
040509 -
040510 -
040511 -
040512 -
040514 -  ..
0406 -
0407 -
0408 - Planning
0409 -
040901 - Create a Diary Record in Diary Summary
040902 -
040903 - Want to consider enabling the user to create a diary for a prior date
040904 - from the diary rather than from the Schedule, based on work reported
040905 - for 901111. ref SDS 1 0001
040907 -  ..
040908 - This conflicts somewhat with the scheme to encourage work through the
040909 - schedule so that there is a planning component to doing the work.
040911 -  ..
040912 - The advantage is saving time and ease of learning.
040914 -  ..
040915 - Creating a diary for a prior date in the Schedule results in revising
040916 - the Schedule structure which presents a learning curve issue, there is
040917 - also increased chance of inadvertant error from performing several
040918 - steps....
040919 -
040920 -      1.  Open menu.
040921 -      2.  Select Diary menu.
040922 -      3.  Select Diary for Prior Date.
040923 -      4.  Screen appears indicating an error rather than a task.
040924 -      5.  Read the screen to get instructions
040925 -      6.  Press Enter to execute instructions
040926 -      7.  Schedule appears and the format is changed inviting error.
040927 -      8.  Manually type the date in standard format, inviting error.
040928 -      9.  Press Tab inviting error - press wrong key, hold tab, etc.
040929 -     10.  Manually type day of the week inviting error.
040930 -     11.  Move cursor to the line for entering time and description.
040931 -     12.  Press F7 to move the cursor to the time field
040932 -     13.  Manually type the time of the task.
040933 -     14.  Press Tab to move the cursor to the description field
040934 -     15.  Type the description.
040935 -     16.  Press Enter to open the new task and start to work.
040936 -     17.  Shut down and start SDS to archive the new record.
040938 -  ..
040939 - This last step takes a minute or so, and takes much longer on slower
040940 - machines.  With the schedule in prior date mode, the use of the
040941 - Schedule is at least delicate, more susceptible to user getting lost
040942 - and causing format problems.
040944 -  ..
040945 - May be able to compress some of this as follows...
040946 -
040947 -      1.  Press F3 to open Diary summary.
040948 -
040949 -      2.  Click to move cursor to a date where a prior date diary is
040950 -          needed.  (see also para 3c)
040952 -           ..
040953 -      3.  Move cursor to the time field and enter the time for the new
040954 -          diary record. User has three (3) options....
040955 -
040956 -          a.  Press F6 to repeat the line, then enter the
040957 -              specification.
040958 -
040959 -          b.  Don't bother with repeating the line, just type over the
040960 -              existing specification.
040962 -               ..
040963 -          c.  The code reads the time field and when the Enter or
040964 -              double click occurs, that time is posted to the time
040965 -              field beginning in column 171.  After entering the time
040966 -              beginning in column 2, the user can then press the End
040967 -              key.  This jumps the cursor to the end of the record
040968 -              spec.  Move the cursor to the date field and enter any
040969 -              date desired for a prior record.  It is not necessary to
040970 -              enter the time again.  Then press F7, just hold it down
040971 -              while the screen scrolls right to restore offset 0, the
040972 -              normal condition where you see the task description.
040973 -              Press Enter and you can create a diary for a prior
040974 -              record.
040976 -               ..
040977 -              Moving forward, will eventually revise this scheme so the
040978 -              system gets the recor spec from the date in the header
040979 -              and gets the user ID from the system, then the User will
040980 -              be able to specify a date without scrolling the screen.
040981 -              As things stand, we again out of compiler space, so it
040982 -              will take a day to fix that, then this new scheme can be
040983 -              implementd.  For now, this is a smoother system.
040984 -              Actually, may be able to bypass compiled code for Enter
040985 -              and do all with a macro file.
040987 -           ..
040988 -      4.  Type the description over the existing description.
040990 -           ..
040991 -      5.  Press Enter and start work.
040992 -
040994 -  ..
040995 - Advantages....
040996 -
040997 -      1.  May be more intuitive to create a diary record in the Diary
040998 -          Summary, rather than in the Schedule.
040999 -
041000 -      2.  Fewer steps save time and reduce errors.
041002 -           ..
041003 -      3.  Schedule screen is not changed, thereby reducing the chance
041004 -          of errors due to loss of orientation.
041006 -           ..
041007 -      4.  Schedule does not need to be archived saving several
041008 -          minutes.
041009 -
041011 -  ..
041012 - Disadvantages
041013 -
041014 -      1.  Records created from the Diary Summary will have no history
041015 -          nor other references, so everything has to be developed as
041016 -          needed.
041018 -           ..
041019 -          This is mitigated with SDS tools that make linking fast and
041020 -          easy, so that when another record is linked, then references
041021 -          in it can be linked quickly and easily, essentially as a
041022 -          matter of volition.
041024 -           ..
041025 -          The existing system can be used when this feature is
041026 -          important.
041027 -
041029 -  ..
041030 - Currently, a diary for a prior date is launched from the Schedule with
041031 - the code in 05110, ref OF 3 LV7M, after performing the steps listed
041032 - above. ref SDS 0 SM9P
041034 -  ..
041035 - When Enter is pressed in a Diary and there is no record, the code
041036 - calls an error message.  This message can be eliminated and instead
041037 - provide an option for opening a diary record for a prior date.
041039 -  ..
041040 - If we open a blank record, then the code for deleting a record could
041041 - be used to delete the pointers as well, if the user chooses to do
041042 - that.
041044 -  ..
041045 - This might be a stronger solution than is currently available from
041046 - using the menu in the Diary summary.
041048 -  ..
041049 - The code that executes Enter is...
041050 -
041051 -                      macro 97
041052 -
041053 - ...in 000006. ref OF 4 2936
041055 -  ..
041056 - Trying debug at line 1070, ref OF 4 JR9M,
041057 -
041059 -  ..
0411 -
0412 -
0413 - Progress
0414 -
041401 - 000006  Macro 97 Enter Modify Diary Summary to Open Specified Record
041402 -
041403 - Developed following code to enable the user to press F6 to simply
041404 - enter a time and a new description, and
041405 -
041406 - Line 1110, ref OF 4 1T6M, -label othr
041407 -
041408 -    -if @47 != 51 -goto ndsdct in 000006
041409 -    loc_cur 0 2
041410 -    strcnt 1 4
041411 -    -label ndsdct
041412 -
041413 -        Try adding code to read the time field, with idea that the
041414 -        user will use F6 to repeat tha line for a date, and then enter
041415 -        the time that is desired, along with a description.
041416 -
041418 -  ..
041419 - Line 1160, ref OF 4 F77H, -label ndsdct in 0000006 about 50 lines
041420 - below.
041421 -
041422 -    -if @47 != 51 -goto ndsmop
041423 -    loc_cur 0 8
041424 -    -if @1 < 1000 ic 48
041425 -    -if @1 < 100 ic 48
041426 -    -if @1 < 10 ic 48
041427 -    inscnt 1 0
041428 -    -label ndsmop
041429 -
041430 -        Enter the time from column 2 created by the User.
041431 -
041433 -  ..
041434 - Line 1270, ref OF 4 RL8O, -label purGJ in 000006 about 50 lines below
041435 -
041436 -    macro 99
041437 -
041438 -        No change in the code, but this calls macro 99 to open the
041439 -        record.
041440 -
041442 -  ..
041443 - Line 1020, ref OF 4 GR3I, -label n_FlE in 000006
041444 -
041445 -    -label n_FlE
041446 -    @c:\sd\03\0509 #30
041447 -    purge c:\sd\03\0509
041448 -    errormsg Hit "Enter" key NOW!
041449 -
041450 -        The current code in macro 99 calls macro file 0509 when a blank
041451 -        record is opened, and returns an error message.
041453 -         ..
041454 -        Want to revise this to now call instead new macro file 05091.
041455 -
041457 -  ..
041458 - Line 50, ref OF 2 S65K, in 05091
041459 -
041460 -    g h:\sd\05\02\0203051
041461 -    top
041462 -    immed d
041463 -    immed a
041464 -
041465 -        The code in macro 99 has opened a file and determined it is
041466 -        blank, per above. ref SDS 0 FS4L  Read in the template for a
041467 -        new SDS record.  Delete the top line, and then add a new line
041468 -        to maintain the structure and provide a blank line to enter the
041469 -        date and other record diagnostics.
041471 -     ..
041472 -    macro 91
041473 -    macro 71
041474 -    -if @3 > 50 -if @3 <= 99 ins_text "19"
041475 -    -if @3 < 51 ins_text "20"
041476 -    rel_cur 0 2
041477 -    -if @3 < 10 ic 48
041478 -    inscnt 3 0
041479 -
041480 -        First task is to build the date, so read the globals taken by
041481 -        macro 99 to open the record from the Diary Summary, per above.
041482 -        ref SDS 0 EV4L  Macro 71 in 000004 enters the standard month
041483 -        and day format for the date.  We have to build a four year date
041484 -        by entering 19 or 20.  Then use counter 3 to enter the last two
041485 -        numerals.  It is rigged to work correctly until 2050, which
041486 -        hopefully is enough time to re-write SDS.
041487 -
041489 -  ..
041490 - Line 70, ref OF 2 578J, in 05091
041491 -
041492 -    rel_cur 0 10
041493 -    -if @6 < 12 ic 65
041494 -    -if @6 > 11 ic 80
041495 -    ic 77
041496 -    -if @6 > 12 subcnt 6 12
041497 -
041498 -        Move the cursor to the AM/PM field, and enter an A or a P for
041499 -        After midnight and after noon.
041501 -     ..
041502 -    rel_cur 0 -11
041503 -    -if @6 < 10 ic 48
041504 -    inscnt 6 0
041505 -    ic 58
041506 -    -if @7 < 10 ic 48
041507 -    inscnt 7 0
041508 -    ic 58
041509 -    -if @8 < 10 ic 48
041510 -    inscnt 8 0
041511 -
041512 -        Move the cursor back to the end of the date, and enter the time
041513 -        for hour, minute and seconds that identifies and SDS record for
041514 -        an individual.
041515 -
041517 -  ..
041518 - Line 80, ref OF 2 N44F, in 05091
041519 -
041520 -    loc_cur 0 36
041521 -    ins_text /DIARY     /
041522 -    markcur 11
041523 -
041524 -        Move the cursor to the record type field and enter diary.  Mark
041525 -        this new file for easy return during configuration.
041526 -
041527 -
041529 -  ..
041530 - Line 120, ref OF 2 F66O, in 05091
041531 -
041532 -    e diary
041533 -    loc_cur 0 8
041534 -    macro 20
041535 -    immed /
041536 -    loc_cur 3 0
041537 -    z 8 30
041538 -    errorcnt 0 0
041539 -    l- /Schedule and Diary Sum/
041540 -    macro 97
041541 -
041542 -        Return to the diary file.  Move cursor to column 8 where the
041543 -        description will be read, and save this condition to restore
041544 -        after opening the Schedule and Diary Summary.  Place the cursor
041545 -        line at the current location, screen line 3, move the cursor to
041546 -        that line and do a reverse search for Schedule and Diary Sum to
041547 -        place it one the current line, so we open it.  Call macro 97 to
041548 -        open the Schedule and Diary Summary to get the day of the week
041549 -        and the user's name, under following rationale....
041551 -         ..
041552 -        We need to get the day of the week and the user's name.  This
041553 -        is conveniently located in other records for the same date.  To
041554 -        reduce impact on memory, use the Schedule and Diary Summary
041555 -        record, because it is always a small record and is generally at
041556 -        the top of the list.  Sometimes this is not the case.  For
041557 -        example, if a new task is created for date on which no prior
041558 -        records have been created.  Another situation might arise where
041559 -        the Schedule and Diary Summary is out of order, which occurs
041560 -        when a diary for a pior date is created under the present
041561 -        system.  In that case, unless the user manually adjusts the
041562 -        date for this task in the Schedule and opens the SAA record
041563 -        after creating a diary for a prior date, then the Schedule and
041564 -        Diary Summary record will not be at the top of thet list of
041565 -        diary records for a particular date.  Decided to make a command
041566 -        decision and use the 1st Schedule and Diary Summary located
041567 -        above the line where the user enters the spec for a prior date
041568 -        record.  At most this will post the wrong day of the week by a
041569 -        day or two, and will always get the correct user's name.  The
041570 -        day of the week is only informational, and is not used for any
041571 -        processing, so at most this will be a slight error, and can be
041572 -        corrected manually, if it turns out to be an issue.
041574 -         ..
041575 -        Of course, where a user specifies a different date for a prior
041576 -        date record using the procedure in para 3c, above, ref SDS 0
041577 -        HV4K, then there is only a 1 chance in 7 that the day of the
041578 -        week will be correct.
041579 -
041580 -            Sent an email to Morris asking if there is a way to dig out
041581 -            the day of the week based on knowing the date.  We have the
041582 -            datecnt command that returns a day of the week for the
041583 -            current date, but we need to know the day of the week for a
041584 -            particular date.
041585 -
041586 -
041588 -  ..
041589 - Line 130, ref OF 2 HM4G, in 05091
041590 -
041591 -    markcur 13
041592 -    tl 0
041593 -    top
041594 -    loc_cur 3 51
041595 -    setcnt 86 1
041596 -    macro 1182
041597 -
041598 -        Mark this file so we can come back to get the filename spec to
041599 -        purge the file.  Turn titles off, probably isn't really needed.
041600 -        top command sets up to get diagnostics from the top line.  Move
041601 -        the cursor to the day of the week field, and read the day.
041602 -
041604 -  ..
041605 - Line 140, ref OF 2 GO6F, in 05091
041606 -
041607 -    aw
041608 -    setcur 111 0
041609 -    subcnt 111 6
041610 -    setgbl 111 @111
041611 -    of 10
041612 -    setcnt 86 180
041613 -    macro 1182
041614 -
041615 -        Jump cursor to the user's name.  of 10 command provides some
041616 -        spave for macro 1182 to read the end of the user's name, which
041617 -        is near the edge of the screen.  Capture in counter 111 column
041618 -        where user's name begins in Schedule and Diary Summary and
041619 -        reduce this by 6 to account for fact that Schedule and Diary
041620 -        Summary is offset 7 and setcur command is one less than screen
041621 -        value, and SDS records are not offset.  Move column location of
041622 -        user's name to global for transfer to the new record.  Read
041623 -        user's name beginning with counter 180 to avoid overwriting day
041624 -        of the week, captured in the prior step.
041625 -
041626 -
041627 -
041628 -
041629 -
041630 -
041631 -
041632 -
041633 -
041634 -
041635 -
041636 -
041637 -
041638 -
041639 -
041640 -
041641 -
041642 -
041643 -
041644 -
041645 -
041646 -
041647 -
041648 -
041649 -
041650 -
041651 -
041652 -
041653 -
041654 -
041655 -
041656 -
041657 -
041658 -
041659 -
041660 -
041661 -
041662 -
041663 -
041664 -
041665 -
041666 -
0417 -

SUBJECTS
Shift F6 Switch Words to Front of Description Field

050301 -  ..
050302 -
050303 -
050304 -
050305 -
050306 -
050307 -
050308 -
050309 -
050310 -
050311 -
050312 -
050313 -
050314 -
050315 -
050316 -
0504 -