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: May 11, 2007 02:47 PM Friday; Rod Welch

SDS automate assignments organic subject structures and Control Fields

1...Summary/Objective
2...Time Reduced 30 Minutes to 3 Seconds for Context Management
3...Develop Functions Automatic Processing Subject Index Control Fields
4...User Interface SDS Record Control Field Call Subject Index Functions
5...Memory Management New Macro for Subject Index Automatic Processing
6...000008 Macro 36 Cursor Position Identify New Function
7...000003 Macro 80 Menu SDS Records Subject
8...03501 Subject Index Primary Processor
9...035012 Automatic Subject Accounts Launch 03502 Processing
10...03502 Subject Index New Processor Automatic Replications
....3rd Memory Processing Loop for Creating New Subjects Automatically
....Loop Process Accounts in 3rd Memory Level Identified with - Symbol
....Start Command Avoid System Failures Fragmented Memory
....Virtual Memory Windows Start Command Process Each Account Separately
....Loop Process Accounts in 3rd Memory Level Identified with + Symbol
....Scroll Up to Find + Symbol for Line to Process
....Move + Symbol to Next Line for Processing Move Past Dash Line
....Read Subject Load Get Command for Finding Account in Subject Index
....Error Messages Subject Not Found
....Find Target Subject Configure for Error Messages
....Locate Command Error Messages Target Subject Not Found
....Position New Account Correctly in Organic Structure
....Complete Processing Account 3rd Memory Level Return 2nd Level
....Index Too Big Build Chained Segment to Enter New Subject Account
....Segment Subject Index Current Index Too Big for New Account
11...00506 Segment Subject Index Incorporate into 03502 Save Memory
12...035071 Replicate Subject Account Descriptions Incorporate into 03502

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

1...After configuring the new processor 03502 to perform automatic

CONTACTS 

SUBJECTS
Subject Index Objective Automatically Construct Subject Accounts Ass

0703 -
0703 -    ..
0704 - Summary/Objective
0705 -
070501 - Follow up ref SDS 15 0000, ref SDS 14 0000.
070502 -
070503 - Developed a new function to manage organic structures of context more
070504 - comprehensively and accurately with less time and effort.  This took 3
070505 - or 4 days to develop an engine, and another 10 days or so to refine
070506 - the code, and then a few hours to clarify the record explaining the
070507 - work.  People can now create accounts in the Subject Index and assign
070508 - them to an SDS record Control Field automatically, with any number of
070509 - multiple views.  Work that previously took 10 to 30 minutes in some
070510 - cases, now takes about 3 seconds, essentially nothing.  This saves a
070511 - lot of time improving productivity.  The new code also maintains the
070512 - index files, which saves time and stress.
070514 -             ..
070515 -            [On 080511 modfied macro file 03502 to increase capacity of
070516 -            subject account file segments from 100 to 1000 files.
070517 -            ref SDS 18 U96H
070519 -             ..
070520 -            [On 080511 fix problem in macro file 03501 subroutine
070521 -            nesting error. ref SDS 18 7W4H
070522 -
070523 -
070524 -
070526 -  ..
0706 -
0707 -
0708 - Evaluation
070901 -  ..
070902 - Time Reduced 30 Minutes to 3 Seconds for Context Management
070903 -
070904 - Follow up ref SDS 12 C16D, ref SDS 11 S56F.
070906 -  ..
070907 - Integrated steps for context management to think, remember, and
070908 - communicate were discussed on 050305 citing Moore's Law. ref SDS 12
070909 - RS5I  Increasing efficiency of tasks to organize the record under step
070910 - 2 of Communication Metrics, ref OF 13 685K, by consolidating processes
070911 - was also explained on 050305. ref SDS 12 C16D
070913 -  ..
070914 - Background on SDS improvements is listed on 000824. ref SDS 4 0001
070916 -  ..
070917 - SDS tools developed today automatically construct subject accounts,
070918 - maintain the index, and locate accounts in order going forward and
070919 - backward to the appropriate position.  After being constructed, the
070920 - new accounts are assigned back to the Control Field.  This is done for
070921 - all of the subjects in a Control Field with a single command, per
070922 - scope below. ref SDS 0 BY7K
070924 -  ..
070925 - Execution of the new feature is simple.  After constructing a template
070926 - account, and capturing with F3, close the Subject Index.  Place the
070927 - cursor on column 52 in the SDS record Control Field for the template
070928 - account created, and press Enter.
070930 -  ..
070931 - This may be a step toward objectives to automatically determine and
070932 - assign subjects proposed for SDS by Jack Park on 001130. ref SDS 5
070933 - 0130
070935 -  ..
070936 - People have flexibility to select subjects in a Control Field not to
070937 - process automatically by entering any character, except plus (+), in
070938 - column 52. ref SDS 0 259N and ref SDS 0 8O7F
070940 -  ..
070941 -  ..
070942 - Saves 5 hours for assigning subjects by reducing time for each Control
070943 - Field from 10 minutes to 3 seconds, as follows.  Previously steps
070944 - included...
070945 -
070946 -        1.  Select account listed in Control Field and open Subject
070947 -            Index to previous target account.
070949 -             ..
070950 -            Average 5 keystrokes.
070952 -             ..
070953 -        2.  Navigate to location in the index to position new account.
070954 -
070955 -            Average 10 keystrokes.
070957 -             ..
070958 -        3.  Determine size of index file and segment moving files
070959 -            ahead, and then navigate back, if necessary, to the
070960 -            location for constructing a new account.
070962 -             ..
070963 -            Average 5 keystrokes
070965 -             ..
070966 -        4.  Construct new account.
070967 -
070968 -            Average 8 keystrokes.
070970 -             ..
070971 -        5.  Assign new account to Control Field to replace prior
070972 -            template account from prior work.
070974 -             ..
070975 -            Average 2 keystrokes
070977 -  ..
070978 - Total approximately 30 keystrokes, plus time for situational awareness
070979 - to study, focus, decide, and correct mistakes.  Total time for each
070980 - account in a Control Field averages about 1 minute.   Control Fields
070981 - average about 10 subject accounts to manage multiple views.  This
070982 - takes a total of about 10 minutes to assign subjects in a Control
070983 - Field.
070985 -  ..
070986 - The new tools developed today reduce the time for working on 10
070987 - accounts in a Control Field from 10 minutes to about 3 seconds.
070989 -  ..
070990 - Less work making decisions about order and structure reduces fatigue
070991 - and stress, i.e., hard work, from tedium doing repetitive tasks that
070992 - require concentration in order to avoid mistakes maintaining order
070993 - that enables finding critical details to verify accuracy.  For example
070994 - the record on 070426 has 333 subjects in 30 Control Field segments.
070995 - Averaging 10 minutes per segment, this takes 300 minutes, or about 5
070996 - hours.  The new tools do this in 90 seconds, essentially nothing.
070998 -  ..
070999 - Saving 5 hours work is a miracle!
071001 -  ..
071002 - More importantly, there is more time for crafting "intelligence" and
071003 - making connections.  Eliminating a lot of tedious, repetitious work,
071004 - also increases accuracy by avoiding fatigue and oversight, discussed
071005 - on 000307. ref SDS 2 767G
071007 -  ..
071008 - Pending Issues...
071009 -
071010 -    1.  When the code processes an account in a Control Field that is
071011 -        not listed in the Subject Index, this should be reported to
071012 -        the user, and processing should continue for the remaining
071013 -        accounts that are found.
071015 -  ..
071016 - Did this one. ref SDS 0 SL5M
071018 -         ..
071019 -    2.  General account presents a problem that corrupts
071020 -        processing.
071022 -  ..
071023 - Did this. ref SDS 0 N65K
071024 -
071025 -
071026 -
071027 -
071028 -
0711 -

SUBJECTS
Subject Accounts Planning Background Construct Automatically Applyin

1103 -
1104 - Planning
110501 -  ..
110502 - Develop Functions Automatic Processing Subject Index Control Fields
110503 -
110504 - SDS has a Control Field for context management that facilitates
110505 - electronic filing by assigning subject accounts to content, rather
110506 - than traditional practice of "cross-filing" content in multiple file
110507 - folders, explained in the record on 060222. ref SDS 13 YS7N   SDS
110508 - tools and functions facilitate people constructing accounts and making
110509 - choices on assigning subjects to Control Fields that manage context
110510 - for SDS record segments.
110512 -  ..
110513 - Beginning in 2004 SDS tools began to emerge that automate aspects of
110514 - context management. ref SDS 0 0E8O  Today, these tools are applied
110515 - along with new ideas to automate construction and assignment of
110516 - subjects.
110518 -  ..
110519 - Background on developing the subject index is listed in the record on
110520 - 000810. ref SDS 3 CD9J
110521 -
110522 -        Organic subject structure complex
110523 -        needs command control multiple
110524 -        views................................. 890523, ref SDS 1 3F8H
110526 -         ..
110527 -        Context management with replication
110528 -        of consistent multiple
110529 -        views................................. 060222, ref SDS 13 I73H
110531 -  ..
110532 - Tools to manage context in the Subject Index include...
110533 -
110534 -    1.  Update subject descriptions in the stack below the Control
110535 -        Field with actual content in the Subject Index, and identify
110536 -        lines with different descriptions.
110537 -
110538 -        Counter 110 = 7333................... 040305, ref SDS 9 648N
110540 -         ..
110541 -    2.  Replicate account descriptions in the Subject Index with a
110542 -        master set of descriptions for accounts with the same content
110543 -        on the 1st line of one account in a Control Field matrix edited
110544 -        and captured in a template file with F3 in the Subject Index.
110545 -        Return error messages showing which accounts were not revised.
110547 -         ..
110548 -        Counter 110 = 7332................... 060222. ref SDS 13 G29M
110550 -         ..
110551 -    3.  Replicate account descriptions in the Subject Index with a
110552 -        master set for accounts in a Control Field matrix edited and
110553 -        captured in a template with F3 in the Subject Index, and
110554 -        report all accounts that were changed.
110556 -         ..
110557 -        Counter 110 = 7331................... 060222. ref SDS 13 G29M
110559 -         ..
110560 -    4.  Automatically construct subject accounts and descriptions by
110561 -        navigating forward and backward to maintain account order, and
110562 -        replicating a template account in the Subject Index, and assign
110563 -        all new accounts to the Subject Index Control field, applies
110564 -        functions 1 and 2, along with automating maintenance applying
110565 -        segmenting index files.
110567 -         ..
110568 -        This is developed today.
110570 -         ..
110571 -        Counter 110 = 7330................... 070511, ref SDS 0 OS62
110573 -  ..
110574 - Scope - automatically construct and assign subjects
110576 -  ..
110577 - Purpose to reduce time for context management, which is step #2 that
110578 - organizes the record in Communication Metrics, explained in POIMS.
110579 - ref OF 13 QZ4K
110581 -  ..
110582 - The record on 070426, which currently has 333 subjects in 30 Control
110583 - Field segments is the template for developing and testing the new
110584 - tools.  Started with simple accounts, ref SDS 16 KB5L, and then
110585 - refined the code to handle very complex structures. ref SDS 16 2S4H
110587 -  ..
110588 - Here are the steps...
110589 -
110590 -    1.  Start in SDS record Control Field and open Subject Index.
110591 -
110592 -        Create template account for current date or otherwise at the
110593 -        level of a new subject description for content in the Control
110594 -        Field segment.
110596 -         ..
110597 -        Control Field for the first record segment has to be created
110598 -        manually to set up the subject account matrix and use F3 to
110599 -        create a master set for replication.  This step cannot be
110600 -        automated, and may take from 30 seconds to 30 minutes depending
110601 -        on complexity of content.
110603 -         ..
110604 -        May be able to automate the F3 step, but it is trivial.
110606 -         ..
110607 -    2.  Open an account.
110609 -         ..
110610 -    3.  Construct a new account description.
110611 -
110612 -        Save the subject account matrix, and call F3 to capture a
110613 -        master replication template file.
110615 -         ..
110616 -    4.  Close Subject Index.
110618 -         ..
110619 -    5.  People can select accounts in a Control Field not to process
110620 -        automatically by entering a character, except plus (+) in
110621 -        column 52. ref SDS 0 259N and ref SDS 0 8O7F  This provides
110622 -        flexibility to create accounts in different ways, some
110623 -        manually, and others automatically.
110625 -         ..
110626 -    6.  Execute the function for the account in the Control Field
110627 -        selected as the master account matrix.
110629 -         ..
110630 -        User selects the account to replicate by placing the cursor on
110631 -        column 52 in front of the Subject/File field in the Control
110632 -        Field.
110634 -         ..
110635 -        Press Enter or double click.
110637 -         ..
110638 -    7.  Execution flags subject account line chosen by the user in the
110639 -        Control Field with a dash "-" in column 52, ref SDS 0 1Y5O,
110640 -        which the user selected for the master account to replicate to
110641 -        the other accounts in the Control Field, so that it is not
110642 -        processed again, since it has the correct content, and
110643 -        identifies the new account level with a date ordered hierarchy.
110645 -         ..
110646 -    8.  Place entire Control Field and not the subject descriptions
110647 -        below the Control Field, since all of the descriptions will be
110648 -        replaced by processing.
110650 -         ..
110651 -    9.  Call Subject Index.
110653 -         ..
110654 -   10.  Find each account in the Subject Index for each subject account
110655 -        in the Control Field.
110657 -         ..
110658 -   11.  Memory management Microsoft Start command.
110659 -
110660 -        All Subject Index processing occurs in secondary memory using
110661 -        Microsoct memory management with the Windows start command.
110663 -             ..
110664 -        a.  New code 03502 starts automatic processing for creating new
110665 -            accounts.  1st pass in 2nd level memory processes only the
110666 -            first account listed in the Control Field, then marks it,
110667 -            and saves the marked list to the disk.  It then calls a 3rd
110668 -            memory level with Medit dose and Microsoft Start command to
110669 -            process the data file with separate passes for each of the
110670 -            remaining accounts in the Control Field.  If there are 20
110671 -            lines in a Control Field, this will take 20 MB of memory,
110672 -            if there are 50 accounts 50 MB will be used.  Microsoft may
110673 -            be able to reuse the same mememory for different passes.
110674 -            In any case, 1 - 2 GB of memory currently configured on new
110675 -            computers is ample for this new operation to avoid memory
110676 -            problems.
110678 -             ..
110679 -        b.  03502 2nd memory level marks Control Field data file only
110680 -            once in column 52 with "+" character, telling 3rd memory
110681 -            level which subject account line in the Control Field to
110682 -            process first. ref SDS 0 0Q5F
110684 -             ..
110685 -            Actually, this may be redundant, since this is managed as a
110686 -            stack
110688 -             ..
110689 -        c.  Data file opened in the next level of memory and processed
110690 -            by 03502 to construct an account code in the Subject Index,
110691 -            and replace the account in the Control Field with the
110692 -            account for the new subject just created.
110694 -             ..
110695 -        d.  Save data file modified with new Control Field account
110696 -            write to the disk.
110698 -             ..
110699 -        e.  Close mememory session, ending this use of memory 3rd
110700 -            level and return to level 2, where there is a loop to
110701 -            cycle back to the 3rd memory level for processing each
110702 -            account in the Control Field.
110704 -             ..
110705 -        f.  Processing 03502 reverts to first level of secondary
110706 -            memory.  Scroll data file up a line and test for end of
110707 -            list.  If not end of list, call 3rd level of memory again.
110708 -            Nothing has to be written to the disk, because the next
110709 -            step will read back the file saved in the prior pass.
110710 -            ref SDS 0 R56L
110712 -             ..
110713 -        g.  Open data file written to the disk on the prior pass,
110714 -            creating a loop.
110716 -             ..
110717 -            Account ID shown by dash - in column 52 entered in 1st
110718 -            level memory processing will be retained to construct the
110719 -            order of the subjects. ref SDS 0 OR5K
110721 -             ..
110722 -            Find mark entered in 2nd level processing showing line to
110723 -            process and move the mark to next line for the next pass.
110724 -            When all of the lines have been processed, the 3rd level of
110725 -            processing will write the Control Field data file to the
110726 -            disk in the name used by 035012 to update the Control Field
110727 -            for the SDS record.
110728 -
110730 -         ..
110731 -   12.  Construct a new account in date order.
110733 -         ..
110734 -        Maintain date order and automatically segment index file
110735 -        segments that exceed 150 lines.
110736 -
110737 -        1.  Determine if the current account is the same sooner or
110738 -            later than the target account.
110740 -             ..
110741 -        2.  If the account is sooner, then the new account needs to be
110742 -            below it.
110744 -             ..
110745 -        3.  Find the next account.
110747 -             ..
110748 -        4.  If this is the end of the file, put the new account below
110749 -            the current account.
110751 -             ..
110752 -        5.  Verify there are no more than 150 lines in the current
110753 -            file.
110755 -             ..
110756 -        6.  If More than 150 lines, then segment the record at the
110757 -            current account, and enter the new account below the
110758 -            account just segmented.
110760 -             ..
110761 -        7.  If less than 150 lines, enter the new account.
110763 -             ..
110764 -        8.  If the current account is later than the new account, then
110765 -            put the new account above the current account, and find an
110766 -            account that is later than the new account.
110768 -             ..
110769 -        9.  This may require scrolling back to the prior level.
110770 -
110772 -         ..
110773 -   13.  Save the revised index.
110775 -         ..
110776 -   14.  Replace the previous account in the list of Control Field lines
110777 -        in the transfer file with the new account, and post the subject
110778 -        description 1 time, since they will all be the same.
110780 -         ..
110781 -   15.  When all lines in the Control Field have been processed, close
110782 -        Subject Index.
110784 -         ..
110785 -   16.  Replace Control Field and subject descriptions in the SDS
110786 -        record with new content in the transfer file.
110787 -
110788 -
110789 -
110790 -
110791 -
1108 -

SUBJECTS
User Interface SDS Record Control Field Call Subject Index Functions

1503 -
150401 -  ..
150402 - User Interface SDS Record Control Field Call Subject Index Functions
150403 -
150404 - The new feature integrates processes previously developed for
150405 - navigating, maintaining and replicating accounts in the Subject Index,
150406 - most recently on 060222. ref SDS 13 8S4M
150408 -         ..
150409 -    1.  Currently, SDS supports user interface options for managing
150410 -        context in an SDS record...
150411 -
150412 -        a.  Open Subject Index at Primary level.
150413 -
150414 -            Press Enter on Subject/File above Control Field.
150416 -             ..
150417 -        b.  Open Subject Index to a particular account listed in an
150418 -            SDS record Control Field.
150420 -             ..
150421 -            Press Enter anywhere on an account character.
150423 -             ..
150424 -        c.  Open Subject Index to an account level for a particular
150425 -            account listed in an SDS record Control Field.
150427 -             ..
150428 -            Press Enter on any space between account levels.
150430 -             ..
150431 -        d.  Conform subject descriptions below Control Field to actual
150432 -            descriptions in the Subject Index for all of the accounts
150433 -            listed in a Control Field.
150435 -             ..
150436 -            Press Enter with cursor on line above a Control Field and
150437 -            on any space to the right of Subject/File.
150439 -             ..
150440 -        e.  Controlled conform subject descriptions in the Subject
150441 -            Index to a particular set of descriptions captured in a
150442 -            template file with F3, and return error messages reporting
150443 -            when certain accounts should not be conformed because they
150444 -            are different subjects.
150446 -             ..
150447 -            Press Enter on columns 53 or 54 on any account in a
150448 -            Control Field.
150450 -             ..
150451 -        f.  Create new subject accounts in the Subject Index for all of
150452 -            the accounts in a Control Field, and using a template file
150453 -            created with F3 in the Subject Index, further maintain
150454 -            Subject Index, and navigate to determine where to create
150455 -            each new account in appropriate order, assign newly
150456 -            created accounts to all of the accounts in the Control
150457 -            Field.
150459 -             ..
150460 -            Press Enter on columns 52 in a Control Field.
150462 -         ..
150463 -    2.  Distinguish this new op (f), per above, ref SDS 0 T15K, by
150464 -        entering a character, say a semicolon ";" which is easy and
150465 -        always distinguishible from an account character.
150467 -         ..
150468 -        Actually this won't work, because until the function is
150469 -        executed there is no way to capture the initial stuff.
150471 -         ..
150472 -        Use position column 52 as a signal captured by macro 36 within
150473 -        macro file 000008 to launch Subject Index operations, which
150474 -        calls macro file 035012, and which in turn will enter a flag
150475 -        for next level processing in 03502, per below. ref SDS 0 1Y5O
150477 -         ..
150478 -        Using cursor position to call different functions invites error
150479 -        calling one thing when the other is needed.  In this case the
150480 -        risk is minimized by not deleting anything already there.  The
150481 -        new function only adds a bunch of new accounts.  If it turns
150482 -        out to be a mistake, then they can be manually deleted.  The
150483 -        big problem is deleting a lot of accounts or overwriting them,
150484 -        finding out it is a mistake sometime later, and then having to
150485 -        reconstruct everything.
150487 -         ..
150488 -        Additional backup and restore features using Microsoft xcopy
150489 -        command developed on 070504 helps minimize this risk by making
150490 -        recovery fast and easy. ref SDS 17 0Z6M
150491 -
150492 -
150493 -
150494 -
1505 -

SUBJECTS
Subject Accounts Memory Management Microsoft Start Command Virtual M

2003 -
200401 -  ..
200402 - Memory Management New Macro for Subject Index Automatic Processing
200403 -
200404 - Follow up ref SDS 9 5U5F, ref SDS 7 EG8G.
200405 -
200406 -    1.  To save memory in the Subject Index, will use a different macro
200407 -        processor, by duplicating 03501, and then deleting everything
200408 -        not needed for the new function. ref SDS 0 274F
200410 -         ..
200411 -        This is effective for automatic functions that do not require
200412 -        user tasks in the Subject Index.
200413 -
200414 -            1.  Enter subject descriptions for all accounts below
200415 -                Control Field.
200416 -
200417 -            2.  Conform subject descriptions for all accounts in a
200418 -                Control Field, and notify when differences are
200419 -                encountered.
200421 -                 ..
200422 -            3.  Force conformance to one subject descriptions for all
200423 -                accounts in a Control Field.
200425 -         ..
200426 -        Explanation of automatic processing reported on 060222.
200427 -        ref SDS 13 U45O
200429 -         ..
200430 -    2.  Memory Segments Virtual Processing Microsoft Set Command
200431 -
200432 -        After creating the tools, they work fine for some accounts, but
200433 -        consistently fails for Control Fields listing many accounts of
200434 -        multiple views for each account, and for subject accounts that
200435 -        have many alternate and long descriptions.  This generally
200436 -        reflects fragmented memory from constantly increasing the size
200437 -        of files in a limited memory space of 1 MB, as explained
200438 -        previously on 031128. ref SDS 7 SV6J
200440 -         ..
200441 -        This was solved previously on 031203 improving the SDS F2
200442 -        "save" function that archives Control Field pointers.   Doing
200443 -        this step separately to archive SDS record pointers solved the
200444 -        problem using the Microsoft "start" command to process each
200445 -        account in a different memory segment. ref SDS 8 HS3H
200447 -         ..
200448 -        Today, used similar design, per below. ref SDS 0 259N  This
200449 -        solution was effective.
200450 -
200451 -
200452 -
200453 -
200454 -
2005 -

SUBJECTS
000008 Macro 36 Cursor Position User Interface Identify New Function

2403 -
240401 -  ..
240402 - 000008 Macro 36 Cursor Position Identify New Function
240403 -
240404 - Follow up ref SDS 13 U45O.
240406 -  ..
240407 - Decided to run full file backup today as a baseline prior to making
240408 - changes in SDS.
240410 -  ..
240411 - Line 2200, ref OF 10 EU4H, -label oCodes in 000008
240412 -
240413 -    -label oCodes
240414 -    getscr 1
240415 -    -if @125 > 43 -if @125 < 51 -goto lfcds
240416 -    -goto 035012m............................... ref SDS 0 7O4F
240417 -    -label lfcds
240418 -    @c:\sd\03\04406
240419 -    -exit
240420 -
240421 -        Changed work on 060222 launching subject index ops when cursor
240422 -        is on cursor 52. ref SDS 13 U45O  As of today, configure SDS so
240423 -        that all user interface considerations for SDS records Control
240424 -        Fields and Subject Index are in 035012.
240425 -
240427 -  ..
240428 - Line 1150, ref OF 10 RZ6M, -label 035012m in 000008
240429 -
240430 -    -label 035012m............................. ref SDS 0 GV5F
240431 -    @c:\sd\03\035012
240432 -    -exit
240433 -
240434 -        This new configuration places all considerations for managing
240435 -        Subject Index ops in 035012.
240436 -
240437 -
240438 -
240439 -
240440 -
2405 -

SUBJECTS
Default Null Subject Account for Blank Record

2503 -
250401 -  ..
250402 - 000003 Macro 80 Menu SDS Records Subject
250403 -
250405 -  ..
250406 - Line 940, ref OF 9 GB6K, -label regmnu in 000003 about 70 lines below
250407 -
250408 -    -if @47 = 2 -if @2 > 29 -if @2 < 39 -goto m137G.... ref SDS 0 9A5I
250409 -
250410 -        In SDS records this opens Subject Index immediately.
250411 -
250413 -  ..
250414 - Line 970, ref OF 9 O48L, -label regmnu in 000003 about 80 lines below
250415 -
250416 -    -if @47 = 50 -if @2 > 29 -if @2 < 39 -goto m137G.... ref SDS 0 9A5I
250417 -
250418 -        In the Schedule this opens Subject Index immediately.
250419 -
250421 -  ..
250422 - Line 1000, ref OF 9 1674 -label m137Gu in 000003 about 70 lines below
250423 -
250424 -    -label m137G
250425 -    c:\sd\03\035012 #2........................ ref SDS 0 PV4L
250426 -    exit
250427 -
250428 -        Call to open Subject Index using menu in SDS records.
250429 -
250430 -
250431 -
250432 -
2505 -

SUBJECTS
03501 Subject Index Profile Remove Tools Automatic Processing Transf

2903 -
290401 -  ..
290402 - 03501 Subject Index Primary Processor
290403 -
290404 -
290405 - Line 120, ref OF 2 KP4J, -label bHstar in 03501
290406 -
290407 -    Testing debug here.
290409 -     ..
290410 -    After configuring the new processor 03502 to perform automatic
290411 -    tasks, per above, ref SDS 0 0E8O, these can be removed from 03501
290412 -    to save a little memory.
290413 -
290414 -
290415 -
2905 -

SUBJECTS
035012 Subject Index SDS Record Control Field Automatic Subject Acco

3303 -
330401 -  ..
330402 - 035012 Automatic Subject Accounts Launch 03502 Processing
330403 -
330404 -
330405 - Line 40, ref OF 3 I65K -label cscmv47 in 035012
330406 -
330407 -    -label cscmv47
330408 -    -if @125 = 51 setcnt 125 4442
330409 -    -if @125 != 4442 setcnt 125 4443
330410 -    -goto cnfrm.............................. ref SDS 0 1Y5O
330411 -
330412 -         Added code to create flag for starting cursor on column 52
330413 -         which records as 51 with setcur command.
330414 -
330415 -
330417 -  ..
330418 - Line 90, ref OF 3 VV8I -label lsiop2 in 035012
330419 -
330420 -    -label lsiop2
330421 -    macro 22
330422 -    -if @125 != 4442 -goto ncspcf
330423 -    ic 45
330424 -    linecnt 137 0
330425 -    setgbl 137 @137
330426 -    -label ncspcf
330427 -
330428 -        Create dash flag "-" in Control Field to identify template
330429 -        account when automatically constructing new accounts in Subject
330430 -        Index, planning above, ref SDS 0 OR5K, and implemented further
330431 -        below. ref SDS 0 SN4H  linecnt 137 0 identifies the location of
330432 -        the target account in the transfer file, per below. ref SDS 0
330433 -        1V4N  Dash is removed when processing is completed in macro
330434 -        file 03502. ref SDS 0 Y77H
330435 -
330436 -
330438 -  ..
330439 - Line 220, ref OF 3 GZ8J, -label cdacsi in 035012
330440 -
330441 -    -if @125 = 4442 setcnt 110 7330
330442 -    setgbl 110 @110
330443 -
330444 -        Flag to create new subject accounts and post back to Control
330445 -        Field.  See history of related functions, listed above.
330446 -        ref SDS 0 0E8O
330447 -
330449 -  ..
330450 - Line 290, ref OF 3 8T8I, -label cdacsi in 035012
330451 -
330452 -      save stufqc1
330453 -    linecnt 135 0
330454 -    z 3 3
330455 -    nb
330456 -    linecnt 136 0
330457 -    subcnt 136 @135
330458 -    setgbl 135 @135
330459 -    setgbl 136 @136
330460 -
330461 -        Changed process for capturing Control Fields.  Originally, all
330462 -        lines in the file were deleted except the current Control Field
330463 -        lines, which were then saved to a file, stufqc1, and then the
330464 -        entire file was read back into memory, and reposition the file,
330465 -        The new process simply identifies line numbers of the Control
330466 -        Field.  The first number is subtracted from the second to make
330467 -        it the number or lines to read, beginning with the first number
330468 -        (counter 135).  These numbers are moved into the 035012
330469 -        processor file through globals to a get command that reads
330470 -        Control Field lines directly from the SDS record on the disk
330471 -        into a transfer file, per below, ref SDS 0 1V4N, for
330472 -        configuration that is processed in secondary memory.
330473 -
330475 -  ..
330476 - Line 560, ref OF 3 BO7H, -label strt1 in 035012
330477 -
330478 -    -label strt1
330479 -    setcnt 125 60
330480 -    setcnt 93 0
330481 -    -if @47 = 2 setcnt 95 4444
330482 -    -if @47 = 50 setcnt 95 4445
330483 -    -goto strt7
330484 -
330485 -        This code configures opening Subject Index from menu bar in
330486 -        SDS records and in the Schedule.
330487 -
330489 -  ..
330490 - Line 600, ref OF 3 D55L, -label start in 035012
330491 -
330492 -    -label start
330493 -    setcnt 95 0
330494 -    -label strt7
330495 -    setcnt 94 0
330496 -    -if @93 = 0 -goto cfOps
330497 -
330498 -        This opens Subject Index with cursor on Control Field line, or
330499 -        on the description header above the Control Field in an SDS
330500 -        record.
330501 -
330503 -  ..
330504 - Line 650, ref OF 3 KB9J, -label sofops in 035012
330505 -
330506 -    -if @93 = 996 -if @125 > 50 -if @125 < 54 -goto cscmv47....
330507 -             ................. ref SDS 0 PV4L
330508 -
330509 -        Changed -if @125 > 51 to -if @125 > 50, so the code will
330510 -        execute with the cursor on column 52 which is recorded as 51
330511 -        for setcur command.
330512 -
330513 -
330515 -  ..
330516 - Line 870, ref OF 3 268G, -label strt3 in 035012 about 210 lines below
330517 -
330518 -    fr /0350/
330519 -    getgbl 1 110
330520 -    -if @1 < 7333 -goto 03502j
330521 -    ic 49
330522 -    -goto savK
330523 -    -label 03502j
330524 -    ic 50
330525 -    -label savK
330526 -
330527 -        Add code to set processor, either 03501 or 03502; this saves
330528 -        memory in Subject Index.  This will now process all of the
330529 -        functions that do not require user input in the Subject Index
330530 -        in a separate processor, per above. ref SDS 0 MG4O
330531 -
330533 -  ..
330534 - Line 1020, ref OF 3 L17N, -label ndlro in 035012 about 20 lines below
330535 -
330536 -    getgbl 110 110
330537 -    -if @110 > 7329 -goto 7333b
330538 -
330539 -        Change > 7330 to > 7329 per above. ref SDS 0 OS62
330540 -
330541 -
330543 -  ..
330544 - Line 1150, ref OF 3 J19J, -label 7333b in 035012 about 30 lines below
330545 -
330546 -    getgbl 110 110
330547 -    -if @110 < 7330 -goto nrl7300
330548 -    e c:\sd\03\035012
330549 -    line............................&& *%8i....... ref SDS 0 1V4N
330550 -    loc_cur 4 3
330551 -    macro 1189
330552 -    rel_cur 0 1
330553 -    getgbl 135 135
330554 -    getgbl 136 136
330555 -    addcnt 135 1
330556 -    subcnt 136 1
330557 -    inscnt 135 0
330558 -    rel_cur 0 1
330559 -    inscnt 136 0
330560 -    -goto 7333d
330561 -    -label nrl7300
330562 -
330563 -        Change > 7330 to > 7329 per above. ref SDS 0 OS62
330565 -         ..
330566 -        Changed process by configuring here get command to read in
330567 -        lines from the actual SDS record, per above, ref SDS 0 ZE9I,
330568 -        rather than a separate file.
330569 -
330570 -
330572 -  ..
330573 - Line 1160, ref OF 3 NI3K, -label 7333d in 035012
330574 -
330575 -    -label 7333d
330576 -    ecur 45
330577 -    -if @94 = 1 -goto bHstar
330578 -    -if @93 < 996 -goto bHstar
330579 -
330580 -         This processes subject and function account lookups.
330581 -
330582 -
330583 -
330585 -  ..
330586 - Line 1380, ref OF 3 ZR9I, -label 007003 in 035012 about 50 lines below
330587 -
330588 -    -if @1 < 7330 -goto ncfsdc
330589 -
330590 -        Change < 7331 to < 7330 per above. ref SDS 0 OS62
330591 -
330593 -  ..
330594 - Line 1660, ref OF 3 2V6F, -label 007003 in 035012 about 70 lines below
330595 -
330596 -        g stufqc1
330597 -    *%8i
330598 -    g
330599 -    setcnt 0 0
330600 -    -if @110 > 7330 -goto 7330f.............. ref SDS 0 1V6O
330601 -    getgbl 135 135
330602 -    addcnt 135 1
330603 -    getgbl 137 137
330604 -    subcnt 137 @135
330605 -    -if @137 > 0 up @137
330606 -    loc_cur 4 52
330607 -    ic 45
330608 -    loc_cur 3 3
330609 -    ic 52
330610 -    bot
330611 -    immed a
330612 -    rel_cur 1 0
330613 -    ins_text "0000 -"
330614 -    -goto eofn3............................. ref SDS 0 1V8J
330615 -
330616 -        Changed code to use get command from SDS record file for lines
330617 -        identified for Control Field, rather than construct a separate
330618 -        file, per above. ref SDS 0 ZE9I  get command is configured as
330619 -        explained above. ref SDS 0 SF6M  Also transfer flag with
330620 -        linecnt commands, rather than enter an actual dash in the SDS
330621 -        record, also, per above. ref SDS 0 1Y5O  Dash is removed when
330622 -        processing is complete and control is returned to the user by
330623 -        macro file 03502, per below. ref SDS 0 Y77H
330625 -         ..
330626 -        Added new routine to configure list of accounts lines to
330627 -        process in the Subject Index with 03502.  This will retain the
330628 -        Control field and replace each subject at the end of the
330629 -        string; construct a line for the description, which is only
330630 -        needed once, since they are all the same.
330631 -
330633 -  ..
330634 - Line 1420, ref OF 3 L86N, -label 7330f in 035012
330635 -
330636 -    -label 7330f
330637 -    loc_cur 4 53
330638 -    split
330639 -    loc_cur 0 1
330640 -    chrcnt 4 0
330641 -    rel_cur 0 1
330642 -    chrcnt 5 0
330643 -
330644 -        This is regular code that already exists to conform subject
330645 -        accounts to a single description.
330646 -
330648 -  ..
330649 - Line 1510, ref OF 3 D55L, -label eofn3 in 035012
330650 -
330651 -    -label eofn3
330652 -    savx
330653 -    ecur 45
330654 -
330655 -        Save file with Control Field; Return to SDS record
330656 -
330657 -
330659 -  ..
330660 - Line 1550, ref OF 3 SU4H, -label bHstar in 035012 about 20 lines below
330661 -
330662 -    -if @110 < 7330 -if @47 != 13 save
330663 -
330664 -        Change < 7331 to < 7330 per above. ref SDS 0 OS62
330665 -
330667 -  ..
330668 - Line 1560, ref OF 3 OI4J, -label anfisR in 035012
330669 -
330670 -    -label anfisR
330671 -    dose /c c:\sd\01\03501.bat
330672 -
330673 -        Call Windows Start command to open new memory session for
330674 -        Subject Index ops.
330675 -
330676 -
330678 -  ..
330679 - Line 1830, ref OF 3 LT7J, -label ncnsa3 in 035012
330680 -
330681 -    -label ncnsa3
330682 -    z 8 8
330683 -    l / /
330684 -    immed r
330685 -    immed dd
330686 -    ins_text "=================================================="
330687 -
330688 -        This ends the stuff.
330689 -
330690 -
330691 -
3307 -

SUBJECTS
03502 Subject Index SDS Record Control Field Automatic Subject Accou

3703 -
370401 -  ..
370402 - 03502 Subject Index New Processor Automatic Replications
370403 -
370405 -  ..
370406 - Line 40, ref OF 4 M86N, -goto bHstar in 03502
370407 -
370408 -    -goto bHstar
370409 -
370410 -        03502 is created today as a subset of 03501 and for the purpose
370411 -        of reducing use of memory for automatic processing in the
370412 -        subject index, per above. ref SDS 0 MG4O
370413 -
370414 -            [On 080511 modfied macro file 03502 to increase capacity of
370415 -            subject account file segments from 100 to 1000 files.
370416 -            ref SDS 18 U96H
370417 -
370419 -     ..
370420 -    3rd Memory Processing Loop for Creating New Subjects Automatically
370421 -
370422 -
370423 - Line 80, ref OF 4 7U8N, -label 3rml in 03502
370424 -
370425 -    -label 3rml
370426 -    setcnt 77 5555
370427 -    setgbl 77 5555
370428 -    setcnt 110 7330
370429 -    markcur 15
370430 -    top
370431 -    -goto setcmd8.................... ref SDS 0 HN6K
370432 -
370433 -        This sets flags to establish 3rd memory level processing where
370434 -        all of the accounts are processed 1 at a time in separate calls
370435 -        to 3rd level memory, explained above, ref SDS 0 R563, and is
370436 -        called in a nested loop using dose batch call to Windows Start
370437 -        command, per below. ref SDS 0 259N
370438 -
370440 -  ..
370441 - Line 120, ref OF 4 KP4J, -label bHstar in 03502
370442 -
370443 -    -label bHstar
370444 -
370445 -        This is where the code starts for all replication, inclucing
370446 -        the 1st level of creating new tasks automatically, per above.
370447 -        ref SDS 0 QK4F
370448 -
370450 -  ..
370451 - Line 180, ref OF 4 UV4G, -label setcmd8 in 03502 about 80 lines below
370452 -
370453 -    -if @110 = 49 setcnt 110 7333
370454 -    -if @110 = 50 setcnt 110 7332
370455 -    -if @110 = 51 setcnt 110 7331
370456 -    -if @110 = 52 setcnt 110 7330  ***
370457 -
370458 -        Added new flag for new feature to construct subject accounts.
370459 -
370460 -         *** 110 = 7330......... construct new subjects
370461 -             110 = 7331......... force general replication
370462 -             110 = 7332......... general replication report errors
370463 -             110 = 7333......... conform subjects descriptions in
370464 -                                 Control Field to Subject Index
370465 -
370467 -  ..
370468 - Line 280, ref OF 4 BZ7H, -label lpesdcf in 03502
370469 -
370470 -    -label lpesdcf
370471 -    -if @110 > 7330 -goto ncnsa3
370472 -    errorcnt 0 0
370473 -    -if @77 = 5555 -goto 1pcadt
370474 -    loc_cur 5 52
370475 -    ic 43
370476 -    -goto 1pcadt
370477 -
370478 -        On first pass, 77 not = 5555, so enter a + symbol to tell next
370479 -        level processing which account line to process first, per above
370480 -        planning. ref SDS 0 E85N
370481 -
370482 -
370484 -     ..
370485 -    Loop Process Accounts in 3rd Memory Level Identified with - Symbol
370486 -    Start Command Avoid System Failures Fragmented Memory
370487 -    Virtual Memory Windows Start Command Process Each Account Separately
370488 -
370489 -
370490 - Line 330, ref OF 4 2X4I, -label lp69du in 03502
370491 -
370492 -    -label 3memlv.............................. ref SDS 0 US5F
370493 -    save stufqei
370495 -     ..
370496 -    -label lp69du
370497 -    up
370498 -    loc_cur 0 4
370499 -    chrcnt 1 0
370500 -    -if @1 != 45 -goto ESCj
370501 -    loc_cur 0 52
370502 -    chrcnt 1 0
370503 -    -if @1 > 32 -goto lp69du................. ref SDS 0 N75L
370504 -    dose /c c:\sd\01\03502.bat................. ref OF 8 J03M
370505 -    -goto lp69du................................ ref SDS 0 N75L
370506 -
370507 -        dose...03502.bat calls c: sd 03 03502 #2...... ref OF 4 6V8L,
370508 -        which is analysed above. ref SDS 0 5R4M
370510 -         ..
370511 -        Virtual memory processing using Windows Start command, per
370512 -        above, ref SDS 0 LZ4Q, reduces risk of failure from fragmented
370513 -        memory.  After processing the first account in 2nd level
370514 -        memory, all accounts are processed by calling a 3rd memory
370515 -        level in a simple nested loop that cycles back to the 2nd level
370516 -        each pass until all ofthe accounts in a Control Field have been
370517 -        processed.
370519 -         ..
370520 -        User can pre-select some accounts not to automatcially process
370521 -        by entering any character (except plus +, which is used by the
370522 -        code) to identify accounts to skip, which is recognized by
370523 -        loc_cur 0 52, chrcnt 1 0, -if @1 > 32 -goto lp69du
370525 -         ..
370526 -        This code scrolling the stack up in 2nd level memory is in sync
370527 -        with processing in 3rd level memory also scrolling up, per
370528 -        below, ref SDS 0 US5F, so that when new accounts have been
370529 -        created and posted back to the stack for all lines in the
370530 -        Control Field, processing will end at the same time in 3rd and
370531 -        2nd level memory, restoring control to the user in primary
370532 -        memory, with the Control Field updated.
370533 -
370534 -
370536 -     ..
370537 -    Loop Process Accounts in 3rd Memory Level Identified with + Symbol
370538 -
370539 -
370540 - Line 340, ref OF 4 5N9N, -label 1pcadt in 03502
370541 -
370542 -    -label 1pcadt
370543 -    loc_cur 5 1
370544 -    of 51
370545 -    -if @77 != 5555 -goto ncnsa3
370546 -
370547 -        This code manages flags in 3rd memory level processing by
370548 -        moving the + flag from the prior target line to the new target
370549 -        line, and leaving the flag for the account ID in place, per
370550 -        planning above. ref SDS 0 YC4N
370552 -         ..
370553 -        Begin loop to process accounts in Control Field moved now into
370554 -        file stufqei; to read the account string, offset screen, and
370555 -        place the cursor on screen column 1, which is file column 52,
370556 -        which has either a - or + symbol.  counter 77 = 5555 means this
370557 -        is 3rd level memory processing loop, and so not 5555 means this
370558 -        is processing the 1st pass in 2nd level memory, and ignores
370559 -        evaluation of symbols, because the code always moves the - line
370560 -        to the 2nd line if it starts at the top of the stack.
370561 -
370563 -     ..
370564 -    Scroll Up to Find + Symbol for Line to Process
370565 -
370566 -
370567 - Line 380, ref OF 4 IG7M, -label s1uth in 03502
370568 -
370569 -    -label s1uth
370570 -    chrcnt 1 0
370571 -    -if @1 = 43 -goto lpup7d.................. ref SDS 0 8O7F
370572 -    up
370573 -    -goto s1uth
370574 -
370575 -        Code scrolls stack of subject accounts in Control Field
370576 -        transferred into file stufquei for processing, and looking for
370577 -        + symbol to process the line.
370578 -
370580 -     ..
370581 -    Move + Symbol to Next Line for Processing Move Past Dash Line
370582 -
370583 -
370584 - Line 370, ref OF 4 IG7M, -label lpup7d in 03502
370585 -
370586 -    -label lpup7d
370587 -    ic 32
370588 -    rel_cur 0 -1
370589 -    -label lpup72
370590 -    up
370591 -    chrcnt 1 0
370592 -    -if @1 > 32 -goto lpup72
370593 -    ic 43
370594 -    -goto 8811mm
370595 -
370596 -        Code found the + symbol, so remove because this is the line
370597 -        processed on the prior pass, and move the symbol to the next
370598 -        line, jump over a line where column 52 is not blank, because
370599 -        that means it has the dash symbol, and has already been
370600 -        processed, or has otherwise been designated by the user not to
370601 -        be processed on this pass, per planning above. ref SDS 0 V19G
370602 -        This code is complemented in code for 2nd level memory
370603 -        processing, per above. ref SDS 0 259N
370604 -
370606 -     ..
370607 -    Read Subject Load Get Command for Finding Account in Subject Index
370608 -
370609 -
370610 - Line 410, ref OF 4 F49F, -label mm118 in 03502
370611 -
370612 -    -label mm118
370613 -    -if @110 > 7330 loc_cur 4 4
370614 -    -label 8811mm
370615 -    macro 1188
370616 -    -if @110 > 7330 -goto n2adl
370617 -    eol
370618 -    rel_cur 0 -2
370619 -    z 1 130
370620 -    fl / /
370621 -    rel_cur 0 1
370622 -    macro 16
370623 -
370624 -        Replication processes that are not creating new accounts move
370625 -        cursor to column 4 where account string begins at offset 0;
370626 -        macro 1188 reads the account string to load get command for
370627 -        opening the file and finding the account in the Subject Index;
370628 -        creating new accounts moves cursor to beginning of the last
370629 -        part of the subject code and macro 16 marks the location for
370630 -        easy return, which will be read later to compare with accounts
370631 -        in the index file to correctly position the process of creating
370632 -        a new account, and also to enter the updated new account code
370633 -        for posting back to the Control Field in the SDS record.
370634 -
370635 -
370637 -     ..
370638 -    Error Messages Subject Not Found
370639 -    Find Target Subject Configure for Error Messages
370640 -    Locate Command Error Messages Target Subject Not Found
370641 -
370642 -
370643 - Line 920, ref OF 4 DC4F, -label fpaclar in 03502
370644 -
370645 -    -label fpaclar
370646 -    setcnt 0 0
370647 -    setcnt 109 0
370648 -    loc_cur 3 1
370649 -    errorcnt 0 0
370650 -    *%09f
370651 -    z 4
370652 -    **
370653 -    l ^
370654 -    -if @0 > 0 -goto nffp
370655 -    -label 4acrnm
370656 -    setcnt 1 0
370657 -    -if @164 = 213 setcnt 1 976
370658 -
370659 -        This is first search looking for subject account level, rather
370660 -        the entire string.
370661 -
370663 -     ..
370664 -    Position New Account Correctly in Organic Structure
370665 -
370666 -
370667 - Line 1120, ref OF 4 MF6O, -label acfnD in 03502
370668 -
370669 -    -label acfnD
370670 -
370672 -  ..
370673 - Line 1130, ref OF 4 NE5G, -label m20cn in 03502
370674 -
370675 -    -label m20cn
370676 -    setcnt 86 180
370677 -    macro 1182
370678 -
370679 -        Capture date string from account listing to figure out where to
370680 -        construct the new account in relation to existing accounts.
370681 -
370683 -  ..
370684 - Line 1550, ref OF 4 JX5O, -label segmnt in 03502
370685 -
370686 -    -label segmnt
370687 -    savescr 11
370688 -    z 1 80
370689 -    fr /$$/
370690 -    getscr 11
370691 -    -if @0 > 0 -goto icur37
370692 -    -label lpup1
370693 -    up
370694 -    chrcnt 1 0
370695 -    -if @1 = 32 -goto lpup1
370696 -
370697 -        This code is taken from 00506 to segment the index when there
370698 -        are too many lines, per below. ref SDS 0 HJ4G
370699 -
370701 -  ..
370702 - Line 1830, ref OF 3 T46I, -label topoF in 03502 about 30 lines below
370703 -
370704 -    fr /$$/
370705 -    rel_cur 0 2
370706 -    chrcnt 1 0
370707 -    -if @1 != 36 -goto siccns
370708 -    rel_cur 0 -2
370709 -    macro 14
370710 -    strcnt 131 2
370711 -    setcnt 1 @131
370712 -    addcnt 1 1
370713 -    -if @1 < 10 ic 48
370714 -    inscnt 1 0
370715 -
370716 -        This code finds and increments the current file segment number
370717 -        and then enters the new number for constructing a file to
370718 -        create the next file segment.
370719 -
370720 -            [On 080511 modfied this code to increase capacity of
370721 -            subject account file segments from 100 to 1000 files.
370722 -            ref SDS 18 YP9M
370723 -
370725 -  ..
370726 - Line 2260, ref OF 4 GO6I, -label cnaatl in 03502
370727 -
370728 -    -label cnaatl
370729 -    down
370730 -    setlen 1 0
370731 -    -if @1 = 0 -goto cnaatl
370732 -
370733 -    -label cnyatl
370734 -    linecnt 1 0
370735 -    -if @1 > 3 -goto n1stln
370736 -    -label lpup3
370737 -    up
370738 -    setlen 1 0
370739 -    -if @1 = 0 -goto lpup3
370740 -    -label n1stln
370741 -    immed r
370742 -    immed a
370743 -    up 2
370744 -    -gosub stcrhr
370745 -
370747 -  ..
370748 - Line 2580, ref OF 4 TQ9H, -label en4d in 03502 about 90 lines below
370749 -
370750 -    immed /
370751 -    z 3 3
370752 -    nb
370753 -    loc_cur 3 8
370754 -    macro 1189
370755 -    loc_cur 0 79
370756 -    ic @61
370757 -    ic @62
370758 -    macro 17
370759 -
370760 -        Modified code to enter account description below Control Field
370761 -        lines; rather than doing "bot" command, the code will now use
370762 -        nb to find the first line below the list of account lines,
370763 -        so that bot command can be used to enter error messages in a
370764 -        stack.
370765 -
370767 -     ..
370768 -    Complete Processing Account 3rd Memory Level Return 2nd Level
370769 -
370770 -
370771 - Line 2590, ref OF 4 1447, -label eadoo5 in 03502
370772 -
370773 -    -label eadoo5
370774 -    purge sndx
370775 -    up
370776 -    of 0
370777 -    loc_cur 5 4
370778 -    chrcnt 1 0
370779 -    -if @1 = 45 -if @77 = 5555 -goto ovRx6
370780 -    -if @1 = 45 -if @77 != 5555 -goto 3memlv........ ref SDS 0 259N
370781 -
370782 -        This is where code cycles back to process next account after
370783 -        entering a new account, entering an account description, or
370784 -        after entering an error message, per below. ref SDS 0 PJ7N
370786 -         ..
370787 -        Ends loop in 3rd memory level, and starts processing next
370788 -        account in transfer file or recognizes all accounts have been
370789 -        processed and ends the routine, returning control to the user.
370790 -
370792 -  ..
370793 - Line 2660, ref OF 4 H26J, -label eadoo5 in 03502 about 50 lines below
370794 -
370795 -    top
370796 -    immed d
370797 -    loc_cur 3 52
370798 -    z 52 52
370799 -    nb
370800 -    ic 32
370801 -    rel_cur 0 -1
370802 -    nb
370803 -    ic 32
370804 -
370805 -        Remove dash in column 52 entered by macro file 035012 that
370806 -        identifies a line not to process, because it is manually
370807 -        entered by the user to create a template for automatically
370808 -        constructing the other accounts in the Control Field, per
370809 -        above, ref SDS 0 1Y5O, and remove + symbol in column 52 used to
370810 -        identify the control field line to process each pass.
370811 -
370812 -
370813 -
370815 -     ..
370816 -    z 1 2
370817 -    zonereps
370818 -    rel_cur 1 0
370819 -    repscnt 1 0
370820 -    -if @1 > 0 -goto ovRx6
370821 -    immed m
370822 -    rel_cur -2 0
370823 -    immed t
370824 -    -goto ovRx6
370826 -         ..
370827 -        Have completed constructing new subjects accounts for all
370828 -        multiple views in the Control Field; have to return to SDS
370829 -        record and replace the Control Field.
370830 -
370832 -  ..
370833 - Line 2900, ref OF 4 215L, -label nffp in 03502
370834 -
370835 -    Check for last segment file with fr /$../ rather than try to open
370836 -    another file and discover not files are in this chain.
370837 -
370839 -  ..
370840 - Line 3040, ref OF 4 ZE3J, -label notacrm in 03502
370841 -
370842 -    getgbl 110 110
370843 -    -if @110 < 7330 -goto remanf
370844 -
370845 -        Code branches for replication ops enter error message in
370846 -        Control Field description section in transfer file and
370847 -        continue processing next account.
370848 -
370850 -  ..
370851 - Line 4710, ref OF 4 8Z6K, -label 7333m in 03502
370852 -
370853 -   -label 7333m
370854 -   errorcnt 0 0
370855 -   -if @110 > 7330 -goto os88
370856 -   macro 14
370857 -   of 0
370858 -   immed c
370859 -   bot
370860 -   immed t
370861 -   immed a
370862 -   up
370863 -   ins_text /0000 -/
370864 -   up
370865 -   chrcnt 61 0
370866 -   rel_cur 0 1
370867 -   chrcnt 62 0
370868 -   loc_cur 0 53
370869 -   split
370870 -   immed d
370871 -   rel_cur -1 0
370872 -   join
370873 -   -goto safiti
370874 -
370875 -        New code to add error messages in field for Control Field
370876 -        subject descriptions when creating new accounts automatically
370877 -        and the code does not find an account listed in the Control
370878 -        Field.
370880 -  ..
370881 - Line 4820, ref OF 4 SP4O, -label nemdr in 03502
370882 -
370883 -    -label nemdr
370884 -    loc_cur 0 79
370885 -    ic @61
370886 -    ic @62
370887 -    -if @110 != 7330 -goto ncn3fcf
370888 -    line @124
370889 -    -goto eadoo5.............................. ref SDS 0 US5F
370890 -    -label ncn3fcf
370891 -
370892 -        Added code to cycle back and check for another account when
370893 -        creating new accounts and finding an account in an SDS Control
370894 -        Field does not exist in the Subject Index.
370895 -
370896 -  *************************************************************
370897 -  *************************************************************
370898 -
370900 -  ..
370901 - Line 1010, ref OF 4 IF7F, -label nf1f3op in 03502
370902 -
370903 -    -label nf1f3op
370904 -    *%10
370905 -    z 4
370906 -    ****
370907 -    l ^
370908 -    -if @0 = 0 -goto acfnD
370909 -
370910 -        This is where the code lands when it finds the target account.
370911 -
370912 -
370913 -
370915 -  ..
370916 - Line 1050, ref OF 4 AE6J, -label acfnD in 03502
370917 -
370918 -    -label acfnD
370919 -    getgbl 110 110
370920 -    -if @110 != 7330 -goto rplctn5
370921 -
370922 -        Special processing added today for constructing subject
370923 -        accounts in the Subject Index and assigning them to an SDS
370924 -        record Control Field; since macro file 03502 only has
370925 -        replication processes, if this is not a construction op, then
370926 -        it must be general replication.
370927 -
370929 -  ..
370930 - Line 1170, ref OF 4 GJ4J, -label lprpsc5 in 03502 about 50 lines below
370931 -
370932 -    z 1 80
370933 -    loc_cur 0 1
370934 -    fr /$$/
370935 -    -if @0 = 0 -goto cnsisf8
370936 -    linecnt 20 0
370937 -    -if @20 < 150 -goto lprpsc5
370938 -
370939 -        Look for chained segment, and if none, then check length of
370940 -        file, and if over 150 lines, then segment.
370941 -
370943 -  ..
370944 - Line 1200, ref OF 4 WW5L, -label fbca2 in 03502
370945 -
370946 -    -label fbca2
370947 -    errorcnt 0 0
370948 -    z 1 1
370949 -    l / /
370950 -    nb
370951 -    -if @0 = 0 -goto lprpsc5
370952 -    linecnt 20 0
370953 -    -if @20 < 150 -goto cnaatl
370954 -
370955 -        Check next account to see if the new account can be placed
370956 -        below or above it, and if the file is too big for another
370957 -        account, so the new subject account must be constructed in
370958 -        another account segment.
370959 -
370961 -     ..
370962 -    Index Too Big Build Chained Segment to Enter New Subject Account
370963 -    Segment Subject Index Current Index Too Big for New Account
370964 -
370965 -
370966 - Line 1270, ref OF 4 VN5M, -label lp150 in 03502 about 50 lines below
370967 -
370968 -    linecnt 20 0
370969 -    -if @20 > 150 -goto lp150
370970 -    loc_cur 5 40
370971 -    setcnt 148 6688
370972 -    setgbl 148 6688
370973 -    macro 22
370974 -    errorcnt 0 0
370975 -    loc_cur 0 2
370976 -    chrcnt 1 0
370977 -    -if @1 = 58 -goto segmnt
370978 -
370979 -        Segment Subject Index file has more than 150 lines.  This is
370980 -        arbitrary, since files with lines of less than 100 characters
370981 -        are much smaller than files with subject descriptions of over
370982 -        200 characters.
370983 -
370985 -  ..
370986 - Line 1310, ref OF 4 DV6L, -label lpup5 in 03502
370987 -
370988 -    save stufq10
370989 -    -label lpup5
370990 -    up
370991 -    chrcnt 1 0
370992 -    -if @1 != 58 -goto lpup5
370993 -    immed dd
370994 -    linecnt 132 0
370995 -    line 4
370996 -    loc_cur 3 1
370997 -    setcnt 0 0
370998 -    z 1 80
370999 -    fr /. General/
371000 -    -if @0 > 0 -goto kctol
371001 -    -label cnlfb
371002 -    loc_cur 3 1
371003 -    up
371004 -    -label kctol
371005 -    setcnt 0 0
371006 -    chrcnt 1 0
371007 -    -if @1 = 32 -goto cnlfb
371008 -    fr /. General/
371009 -    -if @0 > 0 -goto ngti
371010 -    -label upagn
371011 -    up
371012 -    loc_cur 3 1
371013 -
371014 -        Code scrolling up the Index to find the chronological position
371015 -        of the new account; if the "General" account is encountered,
371016 -        jump past it.
371017 -
371018 -
371020 -  ..
371021 - Line 1570, ref OF 4 6E5J, -label cfcs8 in 03502
371022 -
371023 -    -gosub dsf14
371024 -
371025 -        Open next level when a target line is not found for the new
371026 -        account in the current account, and the code encounters a
371027 -        chained index.
371028 -
371030 -  ..
371031 - Line 1930, ref OF 4 ZU7N, -label fbca2 in 03502 about 40 lines below
371032 -
371033 -        This code segments the index file when the length is over 150
371034 -        lines.  Set flag 148 6685 to avoid loading the argument to make
371035 -        another index level, which is not needed for this process, and
371036 -        is applied below. ref SDS 0 QA5F  Step out of 00506 then run
371037 -        save the record with -gosub nSrt.
371039 -         ..
371040 -        Segmented indexing was created on 030810. ref SDS 6 FK3M  It
371041 -        was modified on 040411. ref SDS 10 FK3M
371042 -
371044 -  ..
371045 - Line 1670, ref OF 4 UR6G, -label lpdt in 03502 about 100 lines below
371046 -
371047 -    setcnt 121 1
371048 -    -gosub bHSI_S
371049 -
371050 -        This is where the code opens the next level to make a new
371051 -        segmented level.
371052 -
371053 -
371054 -
371056 -  ..
371057 - Line 1920, ref OF 4 S64O, -label dots6 in 03502
371058 -
371059 -    -label dots6
371060 -    ic 46
371061 -    chrcnt 3 0
371062 -    -if @3 > 32 -goto dots6
371063 -
371064 -        This is where new accounts are constructed using code from
371065 -        035071. ref SDS 0 L36O
371066 -
371068 -  ..
371069 - Line 2340, ref OF 4 TZ8G, -label en4d in 03502
371070 -
371071 -    -label en4d
371072 -
371073 -        Complete replication processing and construct new accounts
371074 -        using code from 035071. ref SDS 0 L36O
371075 -
371077 -  ..
371078 - Line 2470, ref OF 4 UF8L, -label rplctn5 in 03502
371079 -
371080 -    -label rplctn5
371081 -    z 10 90
371082 -    fr /.. /
371083 -    -if @110 = 7333 -goto casdcf
371084 -    -gosub rplct
371085 -
371086 -
371088 -  ..
371089 - Line 1270, ref OF 4 IY8N, -label dots6 in 03502 about 30 lines below
371090 -
371091 -    loc_cur 0 @31
371092 -    setcnt 86 180
371093 -    setcnt 87 46
371094 -    macro 1182
371095 -    ecur 15
371096 -    macro 17
371097 -    setcnt 86 180
371098 -    macro 1181
371099 -
371100 -        Capture new account code, switch back to transfer file; macro
371101 -        17 was setup at beginning, per above. ref SDS 0 SN4H  Enter
371102 -        new account in transfer file.
371103 -
371105 -  ..
371106 - Line 1450, ref OF 4 E56N, -label msiop in 03502
371107 -
371108 -    -label msiop
371109 -      -gosub pfacosd
371110 -
371111 -        Decided to try unplugging this because it is only for user
371112 -        interface, and there is no user involvement in this op.
371113 -
371115 -  ..
371116 - Line 2850, ref OF 4 SC6J, -label facssrd in 03502 about 20 lines below
371117 -
371118 -    getgbl 148 148
371119 -    -if @148 = 6685 -goto bH_gEt
371120 -
371121 -        Added conditional to skip loading search command when moving to
371122 -        another index level, since this is not needed for opening
371123 -        another index level to make a new task; flag is set above when
371124 -        calling 00506 to make another index level. ref SDS 0 X26J
371125 -
371127 -  ..
371128 - Line 2560, ref OF 4 QL7G, -label eadoo5 in 03502
371129 -
371130 -    Somehow end loop in 3rd memory level, and remove the top line for
371131 -    correct format in 1st memory level, and remove flags in column 52,
371132 -    but not sure how yet.
371133 -
371135 -  ..
371136 - Line 3410, ref OF 4 JJ3F, -label cfsio in 03502
371137 -
371138 -    -label cfsio
371139 -    errorcnt 0 0
371140 -
371141 -        Streamline code in 03502, except we need to code to move
371142 -        forward and backward in the Indexes in order to automatically
371143 -        segment indexes when they get too big.
371144 -
371146 -  ..
371147 - Line 4350, ref OF 4 JJ3F, -label bH_PrIor in 03502 about 80 lines below
371148 -
371149 -    errorcnt 0 0
371150 -    -if @148 = 6685 -return
371151 -    -if @237 = 883 -return
371152 -    -if @120 != 938 -goto ewfwri
371153 -    g stufq10
371154 -    -return
371155 -
371156 -        This code executes after reading an index file into memory.
371158 -         ..
371159 -        -if @148 = 6685 restores control to code segmenting an index
371160 -        that is too large, per above. ref SDS 0 X26J
371161 -
371162 -
371163 -
371164 -
3712 -

SUBJECTS
00506 Segment Subject Index Incorporate into 03502 Save Memory Autom

4103 -
410401 -  ..
410402 - 00506 Segment Subject Index Incorporate into 03502 Save Memory
410403 -
410404 - Line, ref OF 1 VN5M, in 00506
410405 -
410406 -        Decided to put this function in 03502 to consolidate code.
410407 -        ref SDS 0 JV4N
410408 -
410409 -
410410 -
410411 -
410412 -
410413 -
4105 -

SUBJECTS
035071 Replicate Account Descriptions Subject Index Incorporate into

4503 -
450401 -  ..
450402 - 035071 Replicate Subject Account Descriptions Incorporate into 03502
450403 -
450404 - Line 560, ref OF 5 825L, -label entr2
450405 -
450406 -    -label entr2
450407 -
450408 -        Decided to put this function in 03502 to consolidate code.
450409 -        ref SDS 0 QY6G
450410 -
450411 -
450412 -
450413 -
450414 -
450415 -
450416 -
4505 -