THE WELCH COMPANY
440 Davis Court #1602
San Francisco, CA 94111-2496
415 781 5700


S U M M A R Y


DIARY: August 10, 2001 07:08 PM Friday; Rod Welch

Improve SDS save to maintain subjects in control fields.

1...Summary/Objective
2...000008 Macro 142, Save Function Failed Requires SDS Code Revisions


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

CONTACTS 

SUBJECTS
F2 Save Sort References, Action Items, macro 142, 0702051
Sort Control Field Subjects, 000904
Duplicate Subjects Control Field Remove, 010810

0605 -    ..
0606 - Summary/Objective
0607 -
060701 - Follow up ref SDS 6 0000, ref SDS 4 0001.
060702 -
060703 - Added code today that deletes control field lines that are
060704 - duplicates, and removes any dots at the end of the control field line
060705 - which occur when using cut and paste to transfer a group of subjects
060706 - from the subject index.
060707 -
060708 - When groups of subjects are entered to a Control Filed from the
060709 - Subject Index using cut and paste, there are usually dots at the end
060710 - of the line, and often this results in duplicate entries, because a
060711 - single subject classification can be expressed in multiple ways. It
060712 - is fairly time consuming to manually remove the dots and visually
060713 - identify duplicates and delete them.
060714 -
060715 - An example of a record where this will save time is on 010725.
060716 - ref SDS 5 0001
060717 -
060718 -
060719 -
060720 -
060721 -  ..
0608 -
0609 -
0610 - Progress
0611 -
061101 -  ..
061102 - 000008  Macro 142, Save Function Failed Requires SDS Code Revisions
061103 -
061104 - Follow up ref SDS 3 TS7L.
061105 -
061106 - Line 2400, ref OF 2 FT5K, -entry 142
061107 -
061108 -     Calls 0702051. ref OF 2 1937
061109 -
061110 - We want to improve macro 145 that sorts control fields based on
061111 - subjects.  Macro 145 is called in 0702051. ref OF 1 2G4J
061112 -
061113 -  ..
061114 - On 000904 added feature to sort control fields. ref SDS 2 00R8
061115 -
061116 - Today, will add....
061117 -
061118 -     1.  Remove duplicate subject lines for same function.
061119 -         ..
061120 -     2.  Shear off dots that may be at end of control field.
061121 -
061122 -         This occurs when transferring multiple subjects from SI to an
061123 -         SDS record.
061124 -
061125 -  ..
061126 - Line 2630, ref OF 2 HL5G, -label lprfncX below macro 145,
061127 -
061128 -      This is about where macro 145 starts
061129 -
061130 -      Set zone 53 110 for widest expected range of subject control
061131 -      fields.  zonereps command is used to compare strings to sort and
061132 -      remove duplicates.
061133 -
061134 -      Set flags 201 919 and 202 888 to establish the first operation
061135 -      is to sort control fields.
061136 -
061137 -  ..
061138 - Line 2860, ref OF 2 N77M, -label lp12q
061139 -
061140 -      This seems to be the generic sort operation, so added call based
061141 -      on 201 919 to new subroutine to remove any dots that may be
061142 -      appended to a control field subject line.
061143 -      ..
061144 -      We have to call the subroutine twice.  Once on each line
061145 -      where zonereps is entered, and on each line were repscnt 1 0 is
061146 -      called.
061147 -
061148 -  ..
061149 - Line 2980, ref OF 2 WE9J, -label rrr8
061150 -
061151 -      This is 2nd call to the code that checks for dots, based on 201
061152 -      919, and before repscnt 1 0 is executed.
061153 -
061154 -  ..
061155 - Line 2920, ref OF 2 ZR7L, -label rVDOTS
061156 -
061157 -      Created new subroutine to test for dots at the end of a control
061158 -      field subject, and remove any that are there.
061159 -
061160 -
061161 -  ..
061162 - Line 3010, ref OF 2 OS5O, -label rrr8 about 30 lines below.
061163 -
061164 -      This is checking the next line below.  So if it is the same, we
061165 -      can delete it immediately.
061166 -
061167 -       ..
061168 -      Think need to split the command.....
061169 -
061170 -
061171 -            -if @1 >= 0 -goto lp12q
061172 -
061173 -
061174 -      ...into two commands....
061175 -
061176 -                  If it is not control field op, then if less than or
061177 -                  equal, can do next step.
061178 -
061179 -            -if @201 != 919 -if @1 >= 0 -goto lp12q
061180 -
061181 -                   ..
061182 -                  If this is a control field op, then do next step,
061183 -                  only if other string is greater than the target
061184 -                  string.
061185 -
061186 -            -if @201 = 919 -if @1 > 0 -goto lp12q
061187 -
061188 -                  If control field op, and two strings are identical,
061189 -                  then do subroutine to check for and delete duplicate
061190 -                  line.
061191 -
061192 -            -if @201 = 919 -if @1 = 0 -gosub dlDup
061193 -
061194 -
061195 -  ..
061196 - Line 3080, ref OF 2 TP8M, -label ltst7
061197 -
061198 -      This is where immed t is called to move a line.
061199 -
061200 -      We need new code to identify whether this is a control field op,
061201 -      and if so, then if the moved line is the same string as the
061202 -      target line, then need to evaluate for deleting the line, and if
061203 -      so, then reduce counter 4 by 1 for returning to the initial
061204 -      location.
061205 -
061206 -
061207 -
061208 -
061209 -
061210 -
061211 -
061212 -
061213 -