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 6, 2004 11:06 PM Monday; Rod Welch

Contacts individual alternate listings not finding person's name.

1...Summary/Objective
2...Enter in Summary to Load Contacts into Files and SDS Records
3...Enter in Record to Load Contacts into Files and SDS Records
4...Open Contact Record and Set Up for Processing
5...Multiple Names in Contact Record Process
6...Find Line Where Name of Individual in Located in the Record

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

1...Testing here to see why this code is needed.

CONTACTS 

SUBJECTS
From To Load Contacts to Secondary Doc Log Fields in SDS Re  rd Wher

0403 -
0403 -    ..
0404 - Summary/Objective
0405 -
040501 - Follow up ref SDS 2 0000.
040502 -
040503 - Improved alternate listing feature by switching the organization name
040504 - for the contact person's name, to maintain associations.  Added
040505 - support for standard contact functions to alternate listings of people
040506 - in organizational contact records.  This increases speed and accuracy
040507 - entering contacts.  SDS enables people to manage organizational
040508 - memory, based on situational awareness by accomplishing common tasks
040509 - when either a person's name or an organization is remembered in the
040510 - current context.  Implementation improved a major part of the Contact
040511 - system design to expand capabilities.  The improvement reduced the
040512 - amount of code and compiler space.
040513 -
040514 -
040516 -  ..
0406 -
0407 -
0408 - Problem
0409 -
040901 - SDS failed entering Millie's letter to Doctor Benz on 041203 by
040902 - looking up the doctor's name using the new feature developed on 041107
040903 - that lists personal contact names in the alphabetical listing for
040904 - organizations.
040906 -  ..
040907 - Investigation shows the code for posting the doc log fields searches
040908 - for the actual name string, rather than the line number in column 104
040909 - after the contact ID of the contact summary listing file.
040911 -  ..
040912 - On 021019 worked on entering contact names from a Contact Summary into
040913 - secondary doc log fields. ref SDS 1 0333
040914 -
040916 -  ..
0410 -
0411 -
0412 - Solution
0413 -
041301 - Change the design to apply the new method of positioning a contact
041302 - record on the line with the person named in the Contact Summary
041303 - selected by the User, developed on 041107, ref SDS 2 OY6H, and mark
041304 - the location to return when the code enters the User's name into the
041305 - Contacts or Doc Log fields of an SDS record, or into a file when
041306 - writing a letter. ref SDS 0 YL4N  Previously, the design read the name
041307 - in the Contact Summary and looked for that name in the Contact record
041308 - to extract the data.  This enabled the user to type in a name in the
041309 - Contact Summary to select data for processing.  The design did not
041310 - work well, because people tend to type in a slightly different name
041311 - from what is listed in the record. Changes on 041007 place all names
041312 - in the Contact record in the Contact summaries, so they can now be
041313 - selected, either by looking up the organization or by looking up the
041314 - individual's name in the Summary list.
041315 -
041316 -
041318 -  ..
0414 -
0415 -
0416 - Progress
0417 -
041701 - Line 450, ref OF 1 8352, -label xx7 in 047041 about 50 lines below
041702 -
041703 -    pfent macro 1305
041704 -
041705 -        Temporarily set
041706 -
041707 -                   pfent @c:\sd\03\000009 #31
041708 -
041709 -        ...to test code and study the op for making adjustments.
041710 -
041712 -  ..
041713 - Line 490, ref OF 1 9X4G, -label xx7 in 047041 about 100 lines below
041714 -
041715 -    pf2 macro 1808
041716 -
041717 -        This code opens a record and finds the contact person line,
041718 -        which is what we to occur with Enter.
041719 -
041720 -
041722 -  ..
041723 - Enter in Summary to Load Contacts into Files and SDS Records
041724 -
041725 - Line 40, ref OF 3 2F5L, -entry 1305 in 000009
041726 -
041727 -    -entry 1305
041728 -
041729 -        This is where Enter code begins for posting doc log fields.
041730 -
041731 -
041732 -
041734 -  ..
041735 - Enter in Record to Load Contacts into Files and SDS Records
041736 -
041737 - Line 150, ref OF 3 VG6I, -entry 1304 in 000009
041738 -
041739 -    -entry 1304
041740 -    macro 1807
041741 -    -exit
041742 -
041743 -        Macro 1807 does the work.
041744 -
041745 -
041747 -  ..
041748 - Line 210, ref OF 3 RW6H, -entry 1807
041749 -
041750 -    -entry 1807
041751 -
041752 -
041753 -
041754 -
041755 -
041757 -  ..
041758 - Line 1110, ref OF 3 0910, -label nSopr in 000009
041759 -
041760 -    -label nSopr
041761 -    -gosub aMSet2p............................... ref SDS 0 YK4M
041762 -
041763 -        This seems to be were progress of the code to open a record,
041764 -        and enter a contact into file or to an SDS record is the same.
041765 -        In both cases the code has read the record ID in the contact
041766 -        summary.
041767 -
041768 -
041770 -  ..
041771 - Line 920, ref OF 3 7S3J, -label aMSet2p in 000009 about 90 lines
041772 - below
041773 -
041774 -    rel_cur 0 4
041775 -    setcnt 86 10
041776 -    macro 1182
041777 -    setcnt 86 1
041778 -
041779 -        Decided against adding code to save globals for the number of
041780 -        the contact person line in the record, so this can be used
041781 -        later after using the counter op for other tasks.
041782 -
041784 -  ..
041785 - Line 1140, ref OF 3 XN6L, -label aMGooD in 000009 about 50 lines
041786 - below.
041787 -
041788 -    getgbl 90 90
041789 -    -if @90 = 1128 -goto DcLogP.................... ref SDS 0 YL5J
041790 -    -if @47 < 3 -goto csopOK....................... ref SDS 0 YL3N
041791 -
041792 -        Code branches here; 90 = 1128 is Doc Log op, and 47 < 3 is a
041793 -        load contact to either a file, or to an SDS record.
041794 -
041795 -
041797 -  ..
041798 - Line 1160, ref OF 3 7Y6H, -label csopOK in 000009
041799 -
041800 -    -label csopOK
041801 -    -gosub setup31
041802 -    ...
041803 -    ...
041804 -    -goto aMrTn_a.............................. ref SDS 0 YL4N
041805 -
041806 -        Code branches to enter contact into an editor file or an SDS
041807 -        record to do some setup, then calls goto aMrTn_a
041808 -
041809 -
041810 -
041812 -  ..
041813 - Open Contact Record and Set Up for Processing
041814 -
041815 - Line 1190, ref OF 3 ZP4L, -label aMrTn_a in 000009
041816 -
041817 -    getgbl 127 127
041818 -    -if @127 != 11 -gosub oPenit
041819 -    setcnt 47 999
041820 -    -if @128 = 2 -goto aoRecrd
041821 -    -gosub ficl.................................. ref SDS 0 YM5J
041822 -    macro 16
041823 -
041824 -        Added code to position the record on the line number for the
041825 -        contact person the User selects in the Contact Summary.
041826 -
041827 -
041828 -
041829 -
041831 -  ..
041832 - Line 1220, ref OF 3 5V9H, -label aoRecrd in 000009
041833 -
041834 -    -label aoRecrd
041835 -    getgbl 90 90
041836 -    getgbl 91 91
041837 -    getgbl 129 129
041838 -    -if @90 != 1128 -goto ndlop.................
041839 -
041840 -        Here is distinct branch fro doc log op to entering a contact
041841 -        into a file or an SDS record.
041842 -
041843 -
041844 -
041846 -  ..
041847 - Multiple Names in Contact Record Process
041848 -
041849 - Line 2030, ref OF 3 5968, -label 127e11 in 000009
041850 -
041851 -    -label 127e11
041852 -    addcnt 153 1
041853 -    -if @153 = 1 top
041854 -    z 9 9
041855 -    setcnt 0 0
041856 -    -label nbagn
041857 -    nb
041858 -    -if @0 > 0 -goto 34wuE
041859 -    loc_cur 0 6
041860 -    chrcnt 1 0
041861 -    -if @1 > 32 -goto nbagn
041862 -    loc_cur 3 9
041863 -    chrcnt 1 0
041864 -    -if @1 = 42 -goto nbagn
041865 -    -if @1 = 45 -goto nbagn
041866 -    -if @1 = 35 -goto nbagn
041867 -    -gosub evLnbr................................ ref SDS 0 OD8M
041868 -
041869 -        This is how the code cycles to process all contact names
041870 -        selected by the User for entry into an SDS record.
041871 -
041872 -
041873 -
041874 -
041876 -  ..
041877 - Line 2050, ref OF 3 3348, -label nmcLn in 000009
041878 -
041879 -    -label nmcLn
041880 -
041881 -        This is the code that uses the name of the contact person in
041882 -        an organization contact record.
041883 -
041884 -
041886 -  ..
041887 - Line 2100, ref OF 3 336N, -label nc501 in 000009
041888 -
041889 -    -label nc501
041890 -    -if @128 = 2 -goto aQd1
041891 -    macro 17
041892 -      ecur 32
041894 -         ..
041895 -        added macro 17 to return to the line in the Contact record
041896 -        where the name of the person selected in the Contact Summary is
041897 -        listed.  Unplug ecur 32 so we do not return to the contact
041898 -        summary to get the name of the individual listed in the
041899 -        summary, and look for that name in the Contact Record.  This is
041900 -        no longer necessary now because the code will pre-position the
041901 -        file based on the contact person's line number ID.
041902 -
041903 -
041904 -
041906 -  ..
041907 - Line 2150, ref OF 3 XK6J, -label evLnbr in 000009
041908 -
041909 -    -label evLnbr
041910 -    pushc
041911 -    loc_cur 0 1
041912 -    setcnt 1 0
041913 -    strcnt 219 2
041914 -    rel_cur 0 2
041915 -    strcnt 220 2
041916 -    rel_cur 0 2
041917 -    strcnt 221 2
041918 -    -if @219 > 0 -if @220 > 0 -if @221 = 0 setcnt 1 1
041919 -    setgbl 219 @219
041920 -    setgbl 220 @220
041921 -    loc_cur 0 1
041922 -    setcnt 86 10
041923 -    macro 1182
041924 -    popc
041925 -    -return
041926 -
041927 -        This is a common subroutine for capturing the line number
041928 -        string where Enter is called for launching a process in a
041929 -        Contact record.  This feature verifies the line the name of an
041930 -        individual, and saves the number of the line in global
041931 -        counters, and also captures the string in the counter macro for
041932 -        entering the string in SDS records, and in reports.
041933 -
041934 -
041936 -  ..
041937 - Line 3100, ref OF 3 L25L, -label DcLogP in 000009
041938 -
041939 -    -label DcLogP
041940 -    ....
041941 -    ....
041942 -    -goto aMrTn_a.............................. ref SDS 0 YL4N
041943 -
041944 -        This is doc log processing that enters values to fields beyond
041945 -        the document subject code in the SDS record. and then gets to a
041946 -        point that calls goto aMrTn_a, which is common to opening a
041947 -        record.
041948 -
041949 -
041950 -
041952 -  ..
041953 - Line 3150, ref OF 3 IY6O, -label xxtty in 000009 about 50 lines below
041954 -
041955 -    macro 1181
041956 -    -if @128 = 4 -gosub cnlni
041957 -
041958 -        Added conditional to process new routine that enters line
041959 -        number of contact name taken from the Contact Summary.
041960 -
041961 -
041963 -  ..
041964 - Line 3220, ref OF 3 216J, -label cnlni in 000009
041965 -
041966 -    -label cnlni
041967 -    rel_cur 0 2
041968 -    setcnt 86 10
041969 -    macro 1181
041970 -    -return
041971 -
041972 -        New subroutine to enter contact line number.
041973 -
041975 -  ..
041976 - Line 3200, ref OF 3 Q36I, -label noTO in 000009
041977 -
041978 -    -label noTO
041979 -    getgbl 91 91
041980 -      rel_cur 0 2
041981 -
041982 -        Disconnect rel_cur 0 2 because this step is now done by the new
041983 -        subroutine per above. ref SDS 0 MP5N
041984 -
041985 -
041987 -  ..
041988 - Line 1220, ref OF 3 5V9H, -label aoRecrd in 000009
041989 -
041990 -    This is where we should be locating the contact name line to enter
041991 -    the doc log field.
041992 -
041993 -
041995 -  ..
041996 - Line 2080, ref OF 3 336N, -label nc501 in 000009 about 50 lines below
041997 -
041998 -    -label nc501
041999 -
042000 -        ecur 32
042001 -        setgbl 70 0
042002 -        loc_cur 0 47
042003 -        chrcnt 10 0
042004 -        -if @10 = 32 -goto n2nms
042005 -
042006 -            Code returns to msg contact summary file to get the
042007 -            person's name and search for the line in the file where
042008 -            this contact is entered.
042010 -             ..
042011 -            Since the code has already captured the contact person's
042012 -            line number, this step is unnecessary.
042013 -
042015 -  ..
042016 - Line 3900, ref OF 3 HY5H, -label ficl in 000009
042017 -
042018 -    -if @0 > 0 -goto aM_n_FnD
042019 -
042020 -        Decided to try eliminating this error message since any line
042021 -        in a Contact Summary can only get there from an actual record.
042022 -        This overlooks that someone will find a way to enter a number
042023 -        manually some way or another, or to delete the line.
042024 -
042026 -  ..
042027 - Line 2060, ref OF 3 XS8J, -label aM_n_FnD in 000009
042028 -
042029 -    Removed this entire section, per above. ref SDS 0 HM3N
042030 -
042031 -
042032 -
042034 -  ..
042035 - Line 3950, ref OF 3 EF6G, -label aMld_Rcd in 000009
042036 -
042037 -    -label aMld_Rcd
042038 -    setgbl 151 21
042039 -    setcnt 151 21
042040 -    -gosub aMSet2p
042041 -    -goto aMSumY
042042 -
042043 -        This code is for F2 to simply open a Contact record from a
042044 -        Summary.  Calls label aMSet2p to capture the contact ID from
042045 -        the Summary listing, similar to the code for entering a Contact
042046 -        to an SDS record or to a file, per above. ref SDS 0 YK5J
042047 -
042048 -
042050 -  ..
042051 - Line 3720, ref OF 3 2017, -label SDSz in 000009
042052 -
042053 -    beep
042054 -    -if @128 = 4 -gosub cNmbr
042055 -    ic 32
042056 -    ic 32
042057 -    macro 1814
042058 -
042059 -        Testing here to see why this code is needed.
042060 -
042061 -
042062 -
042063 -
042064 -
042065 -
042067 -  ..
042068 - Find Line Where Name of Individual in Located in the Record
042069 -
042070 - Follow up ref SDS 2 OY6H.
042071 -
042072 - Line 4070, ref OF 3 RZ9L, -label ficl in 000009
042073 -
042074 -    -label ficl................................ ref SDS 0 YL4N
042075 -
042076 -         New intermediat label for a subroutine called after opening a
042077 -         Contact record to locate the line in the record where a
042078 -         contact is positioned and mark it for use later in processing.
042079 -
042080 -
042081 -
042082 -
042083 -
042084 -
042085 -
042086 -
042087 -
042088 -
042089 -
042090 -
042091 -
042092 -
042093 -
042094 -
042095 -
042096 -
042097 -
042098 -
042099 -
042100 -
042101 -
042102 -
042103 -
042104 -
042105 -
042106 -
042107 -
042108 -
042109 -
042110 -
042111 -
042112 -
042113 -
042114 -
042115 -
042116 -
042117 -
042118 -
042119 -
042120 -
042121 -
042122 -
042123 -
042124 -
042125 -
042126 -
042127 -
042128 -
042129 -
042130 -
042131 -
042132 -
042133 -
042134 -
042135 -
042136 -
042137 -
042138 -
042139 -
042140 -
042141 -
042142 -
042143 -
042144 -
042145 -
042146 -
042147 -
042148 -
042149 -
042150 -
042151 -
042152 -
042153 -
042154 -
0422 -