Click here to comment!
1...We need to carefully analyse the code in 0705051 for saving a Contact
2...Gary has commented on how "complicated" the SDS Contacts system seems
3...We could create an option, like Alt F2, to open a record at
CONTACTS
SUBJECTS
F2 Open Contact Record to Person Name Line
Contacts Save F2 List Individuals Everyone Marked by * in Alphabetic
Contacts Improvements Managing Multiple Relationships Individual Emp
Multiple Relationships Individual Employees Listed Alphabetically in
Planning and Concepts
0907 -
0907 - ..
0908 - Summary/Objective
0909 -
090901 - Follow up ref SDS 4 0000, ref SDS 2 XT7A.
090902 -
090903 - Improve method of listing names of people who work for organizations
090904 - in the alphabetical list, and to do this comprehensively and
090905 - automatically, rather than require someone to key in the data twice,
090906 - required by the prior system. When a contact record for an
090907 - organization, the line with the name of the Contact person in the
090908 - organization selected by the User is positioned in the middle of the
090909 - screen. ref SDS 0 OY6H This record also reviews the scope of contact
090910 - records for managing steady state data. ref SDS 0 CR6F
090912 - ..
090913 - We need to carefully analyse the code in 0705051 for saving a Contact
090914 - record.
090915 -
090916 - [On 041206 added functionality and changed code design to
090917 - implement improvements today. ref SDS 12 0001
090918 -
090919 -
090921 - ..
0910 -
0911 -
0912 - Evaluation
0913 -
091301 - Precision Access Automatic Multiple Listings Save Time Money
091302 - Contacts Powerful Data Base Maintained Minimal Time Expertise
091303 -
091304 - Follow up ref SDS 8 6O8S, ref SDS 5 N63H.
091305 -
091306 - This improvement eliminates hundreds of keystrokes and considerable
091307 - time for listing employees of organizations in the alphabetical
091308 - contact list. Adding employees to the alphabetical list for
091309 - organizations reduces the time required to find people to make a call,
091310 - write a letter, report on a meeting, or look up related history. A
091311 - collateral improvement is opening Contact records to the name of the
091312 - person listed in the Summary. Support for precision access saves time
091313 - and money.
091315 - ..
091316 - Applying three (3) criteria shown on 030810, ref SDS 3 VO9K, support
091317 - for Contacts developed today is...
091318 -
091319 - 1. Fast and easy to use, hard to cause a failure, with no loss of
091320 - performance, and no need to update existing records.
091321 - ref SDS 0 VO5T
091323 - ..
091324 - 2. Existing procedures either remain the same or are improved, so
091325 - there is minimal learning curve -- things work better with
091326 - existing skills. ref SDS 0 VP37
091328 - ..
091329 - 3. Memory management is not a factor.
091330 -
091332 - ..
091333 - There are two functions addressed by this change....
091334 -
091335 - 1. F2 in a Contact Summary used to open a Contact record. The
091336 - code now automatically places the name of the person listed in
091337 - the summary in the middle of the visible screen. No additional
091338 - effort is required. This eliminates having to enter employees
091339 - twice to list them in the organization alphabtical lists.
091340 -
091341 - [On 041206 added functionality and changed code design to
091342 - implement improvements today. ref SDS 12 0001
091344 - ..
091345 - Names appear in alphabetical summaries, as follows...
091346 -
091347 - a. Highlighted names appear in individual alphabetical
091348 - summaries.
091349 -
091350 - If you don't want to list a contact person in an
091351 - alphabetical summary, don't highlight the line. The
091352 - type of highlight flag is not relevant.
091354 - ..
091355 - b. Names with "*" in column 9 are listed with the
091356 - organization name. This facilitates selecting a bunch
091357 - of people from same organzation for entry in an SDS
091358 - record to identify who attended meetings.
091360 - ..
091361 - If you don't want to list a contact person with an
091362 - organization listing, then don't put a * on the line in
091363 - column 9.
091365 - ..
091366 - Appearance of the alphabetical lists is improved. Previously,
091367 - when an employee was listed in the alternate name field of a
091368 - Contact record, that person's name appeared along with the name
091369 - of the primary individual in the record. Thus, alphabetical
091370 - contacts might show ..
091371 -
091372 - Smith, Fred 406 224 1243 Fred Smith
091373 - Williams, Brenda 406 224 2538 Fred Smith
091374 - Jones, Tom 406 224 3715 Fred Smith
091375 -
091376 - ...which conveys nothing about relationship with an
091377 - organization.
091379 - ..
091380 - Now this list will look like...
091381 -
091382 - Smith, Fred 406 224 1243 Fabulous Co, Inc
091383 - Williams, Brenda 406 224 2538 World Exports, Inc
091384 - Jones, Tom 406 224 3715 National Travel Co
091385 -
091386 -
091388 - ..
091389 - 2. F2 in a Contact record now maintains an inventory of all
091390 - alphabetical summaries that apply to the record, this includes
091391 - the name of the organization, any alternate names, and all
091392 - employees. When F2 is pressed, all listings for the current
091393 - record are removed from all alphabetical summary files using
091394 - the inventory constructed from the prior save. The program
091395 - then constructs new entries in alphabetical contact files for
091396 - all employees and alternate listings for the organization.
091397 - This procedure allows people to add and remove employees, and
091398 - the alphabetical listings are maintained automatically.
091400 - ..
091401 - Personal contacts have the same support, except there are no
091402 - employees in personal contact records. However, individuals can
091403 - have alternate listings for themselves, and/or relatives at the
091404 - same address, e.g., children. This provides a single
091405 - addressing op for each physical address in the system.
091406 -
091407 -
091408 -
091409 -
091410 -
0915 -
SUBJECTS
Contacts Save F2 List Individuals Everyone Marked by * in A habetic
Contacts Complex Because People Organizations Primary Path for Under
1104 -
1105 - Planning
110601 - ..
110602 - Alphabetical List of People for Organizational Contacts
110603 -
110604 - This continues work on 040615 to list names of individuals who work
110605 - for organizations so that people can find the names in an alphabetical
110606 - list of organizations. ref SDS 4 BX6K
110607 -
110608 - [On 041206 added functionality and changed code design to
110609 - implement improvements today. ref SDS 12 0001
110611 - ..
110612 - Initial planning focuses on using the * character to select names of
110613 - people for alphabetical listing, however, further consideration
110614 - suggests all names should be listed.
110616 - ..
110617 - Another consideration is how to handle situations where people change
110618 - assignments. We need to maintain original assignments in order to
110619 - retain ability to perform research with reporting. How then to give
110620 - user's control listing only current assignments, and not duplicate
110621 - entries past assignments.
110623 - ..
110624 - One solution might be to assign flags to lines with names of people
110625 - who have changed assignments, i.e., moved to different departments. A
110626 - line with no flag, for example, could be omitted from alphabetical
110627 - lists. We could check column 4, and if there is an "s" flag, this
110628 - name would be suppressed. Using "s" fits the method developed to
110629 - suppress lines in SDS records and in documents.
110630 -
110631 -
110633 - ..
110634 - Contacts Simplify Complexity of Relationships People Organizations
110635 -
110636 - Follow up ref SDS 1 4741.
110637 -
110638 - Gary has commented on how "complicated" the SDS Contacts system seems
110639 - to be. This reflects the fact that life is complex. People need
110640 - control of many interdependent factors that influence management
110641 - tasks, explained on 980601. ref SDS 1 4741 Relationships between
110642 - people and organizations vary widely, noted in the record on 0410104,
110643 - ref SDS 6 LD4P, and outlined below. ref SDS 0 CR6F Wide variance of
110644 - many interdependent factors defines complexity, which SDS helps people
110645 - manage in harmony with everything else, by pressing buttons on a
110646 - keyboard rather than shuffling file folders, using contact programs,
110647 - phone books, email, spreadsheets, PDMs, PIMS, and personal memory.
110649 - ..
110650 - However, since most factors only arise occassionally, as previously
110651 - explained on 980601, ref SDS 1 4741, this greatly compounds the
110652 - learning curve, as follows...
110654 - ..
110655 - Say there are 10 functions and 10 fields or 20 total elements for a
110656 - contact record. Only 4 of the 20 elements are needed consistently.
110657 - Another 4 are needed, for a total of 8 each time a contact record is
110658 - opened; however, these other 4 elements occur randomly across the
110659 - remaining 16 elements. If contact records are only used say 4 times a
110660 - month, then 16 of the 20 elements are only used once every 4 months.
110661 - If contacts are only used once every 2 months, then some elements only
110662 - come up every 8 months. Using functions every 4 - 8 months makes them
110663 - hard to learn and remember. Since productivity requires expansive
110664 - control using all of the functions, infrequent use compounds the
110665 - learning curve, which is frustrating. When people get frustrated,
110666 - they give up.
110668 - ..
110669 - One solution is supported by SDS. Not every field in every contact
110670 - record need be used. SDS is helpful by using only a few common
110671 - fields, and this lowers the learning curve, which also reduces
110672 - frustration.
110674 - ..
110675 - "Contacts" seem like a good first target of opportunity to begin
110676 - transition development of a next generation version of SDS,
110677 - implementing plans on 040927. ref SDS 5 RH5Y Maybe a Contacts system
110678 - could be a stand alone product that has hooks needed for SDS. People
110679 - understand "Contacts." There is a natural biological affinity to
110680 - place people first, based on telecon with Woody on 041004. ref SDS 6
110681 - LD4P A few days ago on 041104 Gary's research on TOC found
110682 - attribution to John Boyd for TQM-type concept of organizing work based
110683 - on a trinity of people first, then ideas and things. ref SDS 7 OG6L
110684 - This makes Contacts software a good target of opportuity for a first
110685 - release of SDS software.
110687 - ..
110688 - Similar approach could be done with a Schedule program, then a Diary
110689 - or Journal program. Then something that integrates everything.
110691 - ..
110692 - This provides a development path for transitioning SDS to a Windows
110693 - application.
110694 -
110695 - [On 041111 Gary submitted research showing productivity using
110696 - the Maxthink program was not appreciably improved by developing
110697 - a Windows GUI version. ref SDS 8 H17J
110698 -
110699 -
110700 -
110701 -
1108 -
SUBJECTS
Scope Organizations Contacts System Explanation Fields Application t
Contacts Data Base Common for Everyone but Managed Separately Using
1304 -
130501 - ..
130502 - Scope Contacts System Manages Steady Identification Data
130503 -
130504 - Contacts provide information on identification that remains relatively
130505 - constant for long periods. This concept is applied to two (2)
130506 - distinct, yet related types of contacts: organizations and people...
130507 -
130508 - a. Organizations identification
130509 -
130510 - 1. Look up names with associated ways to contact people by
130511 - telephone, visiting, mail.
130513 - ..
130514 - This requires business number, extension, main number,
130515 - cell phone, mobile phone, and anything else needed to be
130516 - effective contacting people.
130518 - ..
130519 - Program code must quickly and accuratly distinguish between
130520 - context to inform the user for productivity getting things
130521 - done, and protecting confidentiality of others suppressing
130522 - certain contact information when distributing the record to
130523 - others either on the Internet or via private communication.
130525 - ..
130526 - 2. Convey position, authority, expertise, relationahips.
130528 - ..
130529 - 3. Diagnostics track need for continued use, and other
130530 - factors.
130532 - ..
130533 - 4. Business and purpose of organization explains categories
130534 - for use, and enables looking up groups of organizations for
130535 - accomplishing tasks.
130537 - ..
130538 - 5. Comments field enables a narrative on why the organization
130539 - is listed that provides orientation on expending resources
130540 - to maintain a Contact.
130542 - ..
130543 - 6. Maintain Document Log of correspondence in minimal time to
130544 - perform legal duty of notice.
130546 - ..
130547 - 7. Maintain Document Log for finding documents based on author
130548 - addressee.
130550 - ..
130551 - 8. Physical address enables visiting organization.
130553 - ..
130554 - 9. Letterhead address often different from physical address
130555 - needed for correspondence.
130557 - ..
130558 - 10. Mailing address different from letterhead and sometimes
130559 - from physical address, needed fro managing correspondence.
130561 - ..
130562 - 11. Accounts maintained with organizations needed for effective
130563 - communication.
130565 - ..
130566 - 12. SDS letterhead different from mailing address, and also
130567 - different fro letterhead address.
130569 - ..
130570 - 13. Structure of an organization (i.e., company or government
130571 - agency) for addressing correspondence, and entering names
130572 - of individuals who work for an organization into the
130573 - Contact field of SDS records.
130575 - ..
130576 - 14. Address correspondence requires details about individuals
130577 - in an organization contact record.
130578 -
130579 - a. Surname
130580 - b. Complementary and professional title, e.g., MD, Ph.D.
130581 - c. Title of Organization Assignment, e.g., CEO
130582 - d. Salutation greeting format, e.g., Dear Joe or Mr. X
130583 - e. Signature block
130584 - f. Email address
130585 - g. Location Mail Stop
130586 - h. Other fields created as needed
130588 - ..
130589 - 15. Fields for narrative descriptions to explain context and
130590 - clarifications of data fields. Flexibility to write as
130591 - much or as little as needed.
130593 - ..
130594 - 16. Summary of all contacts listed once based on the numerical
130595 - record number assigned in the order that records are
130596 - created.
130598 - ..
130599 - 17. Alphabetical listings for organizations, alternate names of
130600 - organization, including abreviations, and individual
130601 - contact names who work at the organization, with user
130602 - control over whose name appears in the alphabetical list.
130604 - ..
130605 - This form of listing facilitates timely, multiple selection
130606 - of multiple people at an organization who may be involved
130607 - in an event, rather than having to look up each one
130608 - individually available in the next feature.
130610 - ..
130611 - 18. Alphabetical listings of individual contact names
130612 - associated with the organization, so that people can be
130613 - found individually, or by organization.
130614 -
130615 -
130616 -
130617 -
130618 -
130619 -
1307 -
SUBJECTS
Scope Individuals Contacts System Explanation Fields Application to
1403 -
140401 - ..
140402 - Individuals Contacts Manages Details Identification People
140403 -
140404 -
140406 - ..
140407 - b. Individuals identification
140408 -
140409 - These have similar fields for organizations.
140411 - ..
140412 - Verified new code for organization contacts works for individual
140413 - contacts.
140414 -
140415 -
140416 -
140417 -
140418 -
140419 -
140420 -
1405 -
SUBJECTS
Contacts Line Counter Macro 201 Records Failing with Highlight Flag
Contacts Wicked Problems Complex Line Counter Macro 201 Records Fail
1804 -
1805 - Problem
180601 - ..
180602 - Wicked Problems Solved Writing Things Down Linking Things Up
180603 - Counter Fails on Highlighted Individual Contact Name Line
180604 -
180605 - Follow up ref SDS 10 0000.
180606 -
180607 - After getting the new design to run correctly consistently, there is a
180608 - problem with macro 201. The code fails by constructing positions for
180609 - line number level 3 when there is a highlight flag entered, i.e., it
180610 - is ignoring the highlight flag and writing over the character to fill
180611 - in level 3. Solution was eventually found to be very simple,
180612 - ref SDS 0 Y44J, but understanding the problem was difficult,
180613 - illustrating some of the issues Gary raised in a letter received
180614 - yesterday on 041106. ref SDS 10 GY4H
180615 -
180616 - [On 050130 case study yields lessons learned working with Dell to
180617 - solve "wicked problem." ref SDS 13 344G
180619 - ..
180620 - Investigation shows that...
180622 - ..
180623 - 1. If highlight is not added to a line where there is a contact
180624 - person's name entered, then the problem does not occur.
180626 - ..
180627 - 2. The problem does not occur when F2 is used the first time after
180628 - a Contact record is opened. Failure begins with the 2nd use of
180629 - F2, suggesting that counters used by 0705051 cause macro 201 to
180630 - fail.
180632 - ..
180633 - 3. Macro 152 calls macro 163 in 000008 for profile level 4
180634 - assigned to Contacts. ref OF 6 K55M
180636 - ..
180637 - 4. Macro 163 in 000009 assigns F2 to call macro 1803 to save a
180638 - Contact record. ref OF 7 TY3F
180640 - ..
180641 - 5. Macro 1803 in 000009 calls macro 201 to initially maintain the
180642 - line numbers so that content fields defined by line number
180643 - structure are correct for subsequent processing. ref OF 7 166K
180645 - ..
180646 - Macro 1803 performs a number of system diagnostic tasks, e.g.,
180647 - post current user name to show last person who saved the
180648 - record, which involved various counters. Since these other
180649 - tasks have been performed all along, without impact to macro
180650 - 201 that updated line numbers, the operations in these tasks
180651 - that impact counters cannot be material to the current problem.
180653 - ..
180654 - Macro 1803 calls macro file 0705051 to save the Contact record
180655 - after running macro 201. ref OF 7 MV5J
180657 - ..
180658 - 6. Macro 201 in 000000 calls macro 202 to implement line counter
180659 - ops. ref OF 5 898M
180661 - ..
180662 - 7. Macro 202 in 000000 uses counters 71+ for constructing the
180663 - values for line counters. ref OF 5 VQ4I
180665 - ..
180666 - 8. Macro 201 calls code in macro 0 to process line number level
180667 - lv-3. ref OF 5 GX4J It is believed that level 3 is where the
180668 - error may be occurring.
180670 - ..
180671 - 9. -label lv-3 in 000000 calls macro 204 in 000000 to process
180672 - highlight flags. ref OF 5 XV4O
180674 - ..
180675 - This turned out to be the cause of the error, per below, but was not
180676 - evident on first inspection. ref SDS 0 C467
180678 - ..
180679 - 10. Macro 204 calls -if @47 = 4 -goto m304g for processing the
180680 - Contact record line number field. ref OF 5 OO5G
180682 - ..
180683 - 11. -label m304g calls macro 304 in 000000, then exits. ref OF 5
180684 - K75G
180686 - ..
180687 - 12. Macro 304 merely sets colors and exits; the color for the flag
180688 - that is prominently failing today is for the h flag, which is
180689 - not remarkable in any evident way. ref OF 5 H44G
180691 - ..
180692 - 13. -label lv-3 when ops end from macro 304, the code calls -goto
180693 - num_Bc, also, in 000000. ref OF 5 I85M
180694 -
180695 - -label num_Bc generates the num string from column 1, and
180696 - calls a conditional....
180697 -
180698 - -if @24 = 3 -if @19 = 4433 -if @72 > 51 -exit
180699 -
180700 - ...which could be causing the problem, ref OF 5 4Y7G,
180702 - ..
180703 - However, resetting these counters did not solve the problem.
180704 -
180706 - ..
180707 - Seem to have it solved by resetting counters 1 - 24 to 0, but not sure
180708 - which one controls the solution. ref OF 4 YG5H
180710 - ..
180711 - Isolated the problem to counter 5 by running consecutive tests on half
180712 - of the number group. Took about 5 tests, where the macro is
180713 - compressed and run on a test record, in this case using the Intel
180714 - record for Morris.
180716 - ..
180717 - Verified that counter 5 was the problem by adding the command....
180718 -
180719 - setcnt 5 0
180720 -
180721 - ...at the end of macro file 0705051. ref OF 4 X35K This solved the
180722 - problem, and when setcnt 5 0 is disconnected, the problem occurs
180723 - again. Where then does counter 5 occur in macro 201 that maintains
180724 - line numbers for the Contacts System.
180726 - ..
180727 - Did a search using....
180728 -
180729 - l /-if @5 /
180730 -
180731 - ....since if counter 5 is meaningful this typically occurs in a
180732 - conditional that controls something.
180734 - ..
180735 - Found...
180737 - ..
180738 - Line 1000, ref OF 5 GX4J, -label aMlV_2 in 000000
180739 -
180740 - -label aMlV_2
180741 - rel_cur 0 2
180742 - chrcnt 3 0
180743 - -if @3 = 32 -goto mcLP
180744 - -if @3 > 101 -if @3 < 107 -goto kolRit
180745 - -goto lv_3
180746 -
180747 - This command previously read....
180748 -
180749 - -if @3 > 101 -if @5 < 107 -goto kolRit
180750 -
180751 - ...which seems to be an error, because the code should test for
180752 - characters that qualify for system flags, which occur between e
180753 - and k.
180755 - ..
180756 - This part of the code was examined earlier, and considered it
180757 - could be part of the problem, because it is part of highlight
180758 - management, per above. ref SDS 0 038O
180760 - ..
180761 - However, on initial examination, the error substituting @5 for
180762 - @3 was not recognized.
180763 -
180764 -
180765 -
180766 -
180767 -
180768 -
180769 -
180770 -
1808 -
SUBJECTS
0705051 Develop Loop to Create Multiple Listings for a Contact
1903 -
1904 - Progress
190501 - ..
190502 - 0705051 Develop loop to create multiple listings for a Contact
190503 -
190504 - Follow up ref SDS 4 BX6K, ref SDS 2 XT7A.
190505 -
190506 - The most detailed work on F2 calling 0705051 is in the record on
190507 - 980601. ref SDS 1 5376
190509 - ..
190510 - Line 70, ref OF 4 WI8F, in 0705051, about 50 lines below top of file
190511 -
190512 - top
190513 - of 89
190514 - macro 20
190515 - setcnt 86 1
190516 - macro 1182
190517 - loc_cur 0 1
190518 - split
190519 - of 0
190520 - loc_cur 4 1
190521 - immed d
190522 - e c:\sd\03\0705051
190523 - line
190524 - loc_cur 4 5
190525 - split
190526 - setcnt 86 1
190527 - macro 1181
190528 - rel_cur 1 0
190529 - immed d
190530 - ecur 33
190531 -
190532 - Added code to capture from line 1 col 90 prior alphabetical
190533 - listings and post them into 0705051 for removing the current
190534 - record from the files for the alphabetical listings, so that
190535 - when they are restored later in the process, they will replace
190536 - the prior entry.
190537 -
190538 -
190539 -
190540 -
190541 -
190543 - ..
190544 - Line 100, ref OF 4 SY4O, -label indvLN in 0705051
190545 -
190546 -
190547 -
190549 - ..
190550 - Remove Prior Names from Alphabetical Contact Files
190551 -
190552 - Line 110, ref OF 4 6R6K, in 0705051 about 100 lines below
190553 -
190554 - ecur 33
190555 - macro 1814
190556 - setgbl 9 0
190557 - e c:\sd\03\0705051
190558 - loc_cur 5 60
190559 - macro 1181
190560 - loc_cur 0 30
190561 - getgbl 128 128
190562 - -if @128 = 2 ic 51
190563 - -if @128 = 4 ic 50
190564 - loc_cur 12 59
190565 - macro 1181
190566 - loc_cur 6 26
190567 - -if @128 = 2 ic 51
190568 - -if @128 = 4 ic 50
190569 -
190570 - ecur 33 returns to Contact record, macro 1814 reads the record
190571 - ID using macro 1182, setglb 9 0 ensures the string is only 8
190572 - characters. e c:\sd\03\0705051 opens the save command macro
190573 - file to post the record ID in dose commands loc_cur 5 60
190574 - positions to post record ID to dose command that removes names
190575 - from alphabetical files. loc_cur 0 30 positions to enter the
190576 - record type for either individual or organization. loc_cur 12
190577 - 59 positions to enter record ID to dose command that removes
190578 - content for the current record from the User file for
190579 - repetitive dates. loc_cur 6 26 positions to enter record
190580 - type to the command that copies the new processed file to the
190581 - actual alphabetical file.
190582 -
190584 - ..
190585 - Line 160, ref OF 4 K17I, -label lpacfn in 0705051
190586 -
190587 - loc_cur 4 4
190588 - -label lpacfn
190589 - rel_cur 0 1
190590 - chrcnt 1 0
190591 - -if @1 = 32 -goto alcnp
190592 - subcnt 1 64
190593 - loc_cur 5 38
190594 - -if @1 < 10 ic 48
190595 - inscnt 1 0
190596 - loc_cur 6 34
190597 - -if @1 < 10 ic 48
190598 - inscnt 1 0
190599 - -gosub dlclfs
190600 - -goto lpacfn
190601 - -label alcnp
190602 -
190603 - This is a new loop to remove entries from all alphabetical
190604 - files for all the names in the Contact record by processing the
190605 - string of letters entered by the code above, ref SDS 0 SZ4J,
190606 - Each char is read, and when a blank space is encountered the op
190607 - is over. Subroutine -gosub lpacfn calls dose commands that
190608 - remove entries from alphabetical files, and copies the new file
190609 - back to the alphabetical filename, so it is ready to add the
190610 - actual content of the record.
190611 -
190613 - ..
190614 - Line 120, ref OF 4 5950, -label orgzO
190615 -
190616 -
190618 - ..
190619 - Line 180, ref OF 4 TU9H, -label orgzO in 0705051
190620 -
190621 - rel_cur 1 0
190622 - immed 99d
190623 - save tjff
190624 -
190625 - Added save tjff to easily get the orgz name. This may turn
190626 - out to be unnecessary.
190627 -
190628 -
190629 -
190631 - ..
190632 - Line 340, ref OF 4 5623, -label lpa in 0705051
190633 -
190634 - -label lpa
190635 - z 9 9
190636 - l /*/
190637 - -if @0 > 0 -goto jm1
190638 -
190639 - Code is doing a loop placing all contact names in file tjf for
190640 - processing the organiztion contact.
190642 - ..
190643 - At this point, if all contact names identified with a * have
190644 - been posted, then file tjf can be used to create process each
190645 - individual person's name in the organization contact list.
190646 -
190647 -
190649 - ..
190650 - Summaries Update Alphabetical Lists
190651 -
190652 - Line 720, ref OF 4 2284, -label dKaAaz in 0705051
190653 -
190654 - -label dKaAaz
190655 - e tjf
190656 - bot
190657 - loc_cur 0 47
190658 - chrcnt 1 0
190659 - linecnt 57 0
190660 - -if @57 > 1 -if @1 = 32 immed d
190661 -
190662 -
190664 - ..
190665 - Repetitive Dates Update
190666 -
190667 - Line 790, ref OF 4 558M, -label again in 0705051
190668 -
190669 - -label again
190670 - l /#/
190671 - -if @0 > 0 -goto ecit
190672 - addcnt 50 1
190673 -
190674 - This is where processing of repetitive dates occurs and ends.
190675 -
190676 -
190677 -
190678 -
190680 - ..
190681 - Line 850, ref OF 4 V44N, -label jmpv3 in 0705051
190682 -
190683 - -label jmpv3
190684 - e c:\sd\03\0705051
190685 - getgbl 128 128
190686 - line 420.....................&& doSe/
190687 -
190688 - Want to change this to the new format; requires changing a lot
190689 - of loc_cur calls.
190691 - ..
190692 - Should make this a batch file.
190693 -
190694 -
190696 - ..
190697 - Remove Prior Entries All Alphabetical Lists for This Record
190698 -
190699 - Line 1100, ref OF 4 LP6J, -label dlclfs in 0705051
190700 -
190701 - -label dlclfs
190702 - dose/cs i 256 cr;m h:\sd\09\0t\00000\nn;o tj;ex fi 81 88 ="nnnnnnnn";k 1 1;g>nul
190703 - dose/c copy tj h:\sd\09\0t\00000\nn >nul
190704 - -return
190705 -
190706 - This is a subroutine that deletes existing entries in an
190707 - alphabetical listing.
190708 -
190709 -
190711 - ..
190712 - Line 1120, ref OF 4 4055, -label nxtLx in 0705051
190713 -
190714 - -label nxtLx
190715 - up
190716 - loc_cur 0 4
190717 - chrcnt 1 0
190718 - -if @1 = 49 -if @128 = 2 -goto ovrN
190719 - loc_cur 0 10
190720 -
190721 - Code is processing alternate organization name listings, and
190722 - so is scrolling up until it reaches a 1 in col 4 that says the
190723 - next field has been reached.
190724 -
190725 -
190727 - ..
190728 - Alphabetical List Individual Contact Names for Organizations
190729 - Individual Contact Names Process for Organizational Alphabetical List
190730 -
190731 - Line 1150, ref OF 4 K16G, -label nxtLx in 0705051 about 50 lines
190732 - below
190733 -
190734 - setcnt 114 1
190735 - e tjf
190736 - secnt 114 1
190737 - macro 3
190738 - g tjff 1 1
190739 - top
190740 -
190741 - Adding new code to process each contact name for looking up in
190742 - the alphabetical list.
190743 -
190745 - ..
190746 - Line 1290, ref OF 4 SW4M, -label nxtLx in 0705051 about 90 lines
190747 - below
190748 -
190749 - top
190750 - loc_cur 0 2
190751 - setcnt 86 1
190752 - setcnt 87 0
190753 - setcnt 80 1000
190754 - setcnt 81 25
190755 - macro 1182
190756 - loc_cur 0 1
190757 - ins_text /
190758 - loc_cur 0 47
190759 - macro 1181
190760 - ecur 33
190761 - loc_cur 3 1
190762 - z 4 4
190763 - l / /
190764 - l /1/
190765 - down
190766 -
190767 - This code finds the top of the record where individual contact
190768 - names are entered.
190769 -
190771 - ..
190772 - Line 1310, ref OF 4 116I, -label ecnal in 0705051
190773 -
190774 - -label ecnal
190775 - z 6 6
190776 - errorcnt 0 0
190777 - -label 2cnL
190778 - l / /
190779 - -if @0 = 0 -goto pcntl
190780 - top
190781 - setcnt 0 0
190782 - -goto ovrN
190783 -
190784 - Loop starts here to process all individual contact names in
190785 - the record. Looks for a blank in col 6 as a method to find
190786 - these field levels.
190787 -
190788 -
190790 - ..
190791 - Line 1350, ref OF 4 UL6F, -label pcntl in 0705051 about 40 lines
190792 - below
190793 -
190794 - z 14 34
190795 - setcnt 0 0
190796 - fr /FirstNa/
190797 - -if @0 > 0 -goto nfnf
190798 - loc_cur 3 1
190799 - -goto 2cnL
190800 -
190801 - Verify the field name is not there, and if so, cycle back to
190802 - top of loop and look for another name field.
190803 -
190804 -
190806 - ..
190807 - Delete Prior Individuals from Organizational Alphabetical Listing
190808 -
190809 - This new design and support for entering individual names in the
190810 - alphabetical list of organizations requires maintaining the lists.
190812 - ..
190813 - How does the system know to maintain a list when the user
190814 - deletes lines in the file.
190815 -
190816 - a. When a record is opened for editing, create an inventory in
190817 - each record listing the letters that require maintenance
190818 - if the record is saved.
190820 - ..
190821 - Actually, I am inclined to feel this can be done just as
190822 - well by using 0705051 save op to maintain the list. In
190823 - order for anything to be deleted, it must be first be
190824 - saved, so when F2 is called it can capture the current
190825 - inventory to maintain the alphabetical lists, and then it
190826 - can update the list to reflect any editing during the
190827 - session.
190829 - ..
190830 - b. Use the 0002 line because it is always available; begin on
190831 - column 32.
190833 - ..
190834 - Decided instead to use 00 line col 90, which is off page.
190836 - ..
190837 - c. Convert the letters to the appropriate file number
190838 - correlated to each letter, so that 0705051 can immedicatly
190839 - maintain the list.
190841 - ..
190842 - d. When the record is saved, capture the string of contact
190843 - letter files from the 00 line into the 0705051 macro file,
190844 - and enter this in 0705051 macro file above the code that
190845 - removes entries from the alphabetical letter files.
190847 - ..
190848 - Use the string transferred into 0705051 from the record on
190849 - line 00 to delete all entries for the record in the files
190850 - identified by the list.
190852 - ..
190853 - Process all alphabetical lists, and post the letter values
190854 - to the 00 line on col 90 for the next time a record is
190855 - saved.
190856 -
190857 -
190859 - ..
190860 - Line 490, ref OF 2 9X4G, -label xx7 in 0470410 about 50 lines below
190861 -
190862 - pf2 macro 1808
190863 -
190864 - This is where F2 opens Contacts records. Considered modifying
190865 - the code for F2 to inventory the contact files to be updated
190866 - when a record is saved, but decided against this. ref SDS 0
190867 - LH6M
190869 - ..
190870 - Decided to add capability that when a Contact record is opened
190871 - with F2, the record is positioned with the name of the person
190872 - in the list is moved to the visible portion of the screen.
190873 - This saves time for example switching letterheads.
190874 -
190875 -
190877 - ..
190878 - Line 80, ref OF 7 2783, -entry 1808 in 0000009
190879 -
190880 - -entry 1808
190881 - -gosub aMld_Rcd
190882 -
190883 - F2 runs macro 1808 in 000009 based on assignment in the Contact
190884 - Summary file profile 047041 to open a Contact record. Per
190885 - above, decided against using this code. ref SDS 0 9X3L
190887 - ..
190888 - To get macro 1808 to find a contact person's name, add code to
190889 - run the routine under -label jmPPit, per below. ref SDS 0 OY6H
190890 - We need this code to capture the contact person's ID line
190891 - number, see below, ref SDS 0 OY5M, and it needs to setgbl 157
190892 - 777 This is accomplished under -label aMSet2p in 000009 see
190893 - below. ref SDS 0 OY4K
190894 -
190896 - ..
190897 - Line 840, ref OF 7 3521, -label aMSet2p in 000009 about 20 lines
190898 - below
190899 -
190900 - -label aMSet2p............................ ref SDS 0 W88M
190901 - -if @47 = 41 setgbl 157 777
190902 -
190903 - Added code to setgbl 157 777 when op starts in Contact Summary
190904 - file, per above. ref SDS 0 Z69O
190905 -
190907 - ..
190908 - Line 910, ref OF 7 MH5J, -label aMSet2p in 000009 about 150 lines
190909 - below
190910 -
190911 - -label aMSet2p............................ ref SDS 0 W88M
190912 -
190913 - of 80
190914 - loc_cur 0 1
190915 - setcnt 86 1
190916 - macro 1182
190917 - rel_cur 0 5
190918 - setcnt 86 10
190919 - macro 1182
190920 -
190921 - This is the code that reads record ID to open a contact
190922 - record. Acced code to capture line number for the contact
190923 - person, per planning above. ref SDS 0 Z69O
190924 -
190925 -
190927 - ..
190928 - Line 3880, ref OF 7 6587, -label aMld_Rcd in 000009
190929 -
190930 - -label aMld_Rcd
190931 - setgbl 151 21
190932 - setcnt 151 21
190933 - -gosub aMSet2p.......................... ref SDS 0 OY4K
190934 - -goto aMSumY
190935 -
190936 - This is a flag that identifies when a contact record is opened
190937 - from a Summary file.
190938 -
190940 - ..
190941 - Line 4300, ref OF 7 0892, -label aMSDSt in 000009
190942 -
190943 - -label aMSDSt
190944 -
190945 - This is where the code from macro 1303 winds up to open a
190946 - contact record listed in an SDS record, and find a particular
190947 - person's name, per above. ref SDS 0 W88M
190948 -
190949 -
190951 - ..
190952 - Line 3980, ref OF 7 RZ9L, -label jmPPit in 000009
190953 -
190954 - -label jmPPit
190955 - setcnt 0 0
190956 - getgbl 1 157
190957 - setgbl 157 0
190958 - getgbl 10 10
190959 - -if @10 < 33 setcnt 1 0
190960 - -if @1 != 777 -goto nofSdS
190961 - macro 52
190962 - ic 108
190963 - ic 47
190964 - setcnt 86 10
190965 - macro 1181
190966 - ic 47
190967 - ecur 33
190968 - z 1 4
190969 - @0w7j
190970 - down 10
190971 - loc_cur 13 10
190972 -
190973 - This is the actual code that jumps a Contact record to a
190974 - specified person's name ID line. Looks like if macro 1808 has
190975 - setgbl 157 777 the code will do the trick. ref SDS 0 9X5O
190976 - Added code getgbl 10 10 and -if @10 < 33 setcnt 1 0 which
190977 - together verify that a line number is entered for a contact
190978 - person, and if not, the code will not attempt to look for a
190979 - person, but will simply open the record.
190981 - ..
190982 - We could create an option, like Alt F2, to open a record at
190983 - the top, rather than at a Contact person's name.
190984 -
190986 - ..
190987 - Line 4370, ref OF 7 6261, -label aMdzQ in 000009
190988 -
190989 - -label aMdzQ
190990 -
190991 - of 170
190992 - loc_cur 0 1
190993 - chrcnt 1 0
190994 - rel_cur 0 2
190995 - -if @1 = 73 setgbl 128 2
190996 - -if @1 = 79 setgbl 128 4
190997 - -if @1 = 79 setgbl 157 777
190998 - -goto aMmfy
190999 -
191000 - The code is in an SDS record and getting ready to read the
191001 - contact ID from col 170. Initially determines the contact
191002 - record type. The work today involves only organization
191003 - contact records.
191004 -
191006 - ..
191007 - Line 900, ref OF 6 2638, -label oCon in 000008
191008 -
191009 - -label oCon
191010 - setcnt 1 3000
191011 - macro 1302
191012 - -exit
191013 -
191014 - There is no work here today. This research shows macro 1303 is
191015 - used to open a Contact record to an individual's name. We can
191016 - use the same code to position a record when the record is
191017 - opened from a summary, per above. ref SDS 0 W88N
191018 -
191019 -
191021 - ..
191022 - Line 4090, ref OF 7 8604, -label oPenit in 000009
191023 -
191024 - -label oPenit
191025 - e 0w9k
191026 - macro 301
191027 - ins_text/e H:\SD\09\0T\00\00\00\nn /
191028 - loc_cur 0 13
191029 -
191030 - When F2 is called in a Contact Summary file it runs macro 1808
191031 - which runs this code for opening a Contact record selected by
191032 - the user. Per above, decided against using this code.
191033 - ref SDS 0 9X3L
191034 -
191035 -
191036 -
191038 - ..
191039 - Line 4180, ref OF 7 5L6J, -label modrec in 0000009
191040 -
191041 - -label modrec
191042 - setcnt 2 231
191043 - loc_cur 4 10
191044 - -label acsllp
191045 -
191046 - This is where record diagnostics are modified, and so it is a
191047 - good place to consider the new op of inventorying the record.
191048 - We can create a flag to jump out of this when not not opening
191049 - a record for editing.
191051 - ..
191052 - The new design added into 0705051 that saves a record, may no
191053 - longer need the code that manages counter 231, per above.
191054 - ref SDS 0 SZ4J Therefore, may be able to eliminate code where
191055 - counter 231 is applied by counter 172. ref SDS 0 LH8L
191056 -
191057 -
191059 - ..
191060 - Line 4290, ref OF 7 -label GA4G, noEtnr in 000009
191061 -
191062 - -label GA4G
191063 - -if @151 != 20 save
191064 - @c:\sd\03\0705052................ decided not to add this.
191065 - -return
191066 -
191067 - Added call to new macro file 0705052 to complement save
191068 - function 0705051, and this maintains inventory for updating
191069 - alphabetical files. Finally decided against this method, per
191070 - above, ref SDS 0 9X3L, and so wound up not created a new macro
191071 - file 0705052.
191072 -
191073 -
191074 -
191076 - ..
191077 - Report on Contacts PA9
191078 -
191079 - Line 30, ref OF 1 3010, in 044011
191080 -
191082 - ..
191083 - Line 1100, ref OF 1 3B5G, -label cSumS in 044011
191084 -
191085 - -label cSumS
191086 - @Q1 #40
191087 -
191088 - This is calling a routine in 06112.
191089 -
191090 -
191092 - ..
191093 - Line 1970, ref OF 3 BG9F, -label lcOn in 061120
191094 -
191095 - -if @128 = 2 -goto inDiV
191096 - rel_cur 0 4
191097 - setcnt 86 189
191098 - macro 182
191099 - -label inDiV
191100 -
191101 - Added code to enter organization name from Summary, rather
191102 - than from within the Contact record.
191104 - ..
191105 - This code had to be modified to enter the contact search string
191106 - correctly for individual contacts with reversed order.
191108 - ..
191109 - Supported conditions...
191110 -
191111 - 1. Report from summary
191112 -
191113 - 2. Report from contact record
191114 -
191115 - 3. Report from SDS record
191117 - ..
191118 - 4. Add contacrt specification to a Subject Report
191119 -
191120 -
191121 -
191122 -
191123 -
191124 -
191125 -
191126 -
191127 -
191128 -
1912 -