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: November 24, 2006 04:42 PM Friday; Rod Welch

SDS improve method navigating multiple views in Knowledge Space.

1...Summary/Objective
2...Subject Index Virtual Memory Expansion Avoids Dysfunctional Status
3...Navigate Chained Segmented Subject Index Files Change Design
4...Expand Capacity Organic Structure Change Code from Stack to Increment
5...F1 F2 Increase Levels Segmented Idexes Convert to Increment Stack
6...F1 F3 Reduce 50 Levels Increase Capacity for Segmented Indexes
7...F1 F2 Modify Navigate Chained Segments Indexes
8...F1 F3 Scroll Back 1 Level Complements F1 F2
9...F1 F4 Jump to End Chained Segment Disconnect Save Indexes
10...Make a New Task Modify F3 to Return to Prior Level


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

CONTACTS 

SUBJECTS
Navigate Subject Index F1 F2 Delete 50 Levels Increase Capacity for

0903 -
0903 -    ..
0904 - Summary/Objective
0905 -
090501 - Follow up ref SDS 4 8P5M, ref SDS 3 7D8O.
090502 -
090503 - Changed the design for the code to navigate the subject index to save
090504 - memory, and increase performance speed.   There is no change to user
090505 - procedures.  This provides greatly increased capacity for a subject
090506 - index.
090507 -
090508 -
090509 -
090511 -  ..
0906 -
0907 -
0908 - Evaluation
0909 -
090901 - Subject Index Virtual Memory Expansion Avoids Dysfunctional Status
090902 -
090903 - Follow up ref SDS 6 S06I, ref SDS 5 5I7M.
090904 -
090905 - There is no change to the user in function nor saving time using fewer
090906 - keystrokes.
090908 -  ..
090909 - Primary benefit is to eliminate an emerging problem running out of
090910 - memory because the subject index grows forever.  The change today
090911 - allows this growth without risk of the program suffering failure from
090912 - limited memory.
090913 -
090914 -
090915 -
090916 -
090917 -
090919 -  ..
0910 -
0911 -
0912 - Progress
0913 -
091301 - Navigate Chained Segmented Subject Index Files Change Design
091302 -
091303 - Follow up ref SDS 2 QJ7H, ref SDS 1 539X.
091304 -
091305 - SDS virtual memory was developed initially on 030810 using chained and
091306 - segmented files for more capacity managing subject accounts.
091307 - ref SDS 1 539X  On 030902 this feature was improved using the Windows
091308 - set command to open multiple levels of memory for the Subject Index
091309 - files was developed over several months and reported on 030902.
091310 - ref SDS 2 QJ7H
091312 -  ..
091313 - Navigating SDS subject index occurs by SDS as follows...
091314 -
091315 -        1.  In an SDS record, open the Subject Index to an account in a
091316 -            Control Field, uses part of F1 F2 code. ref SDS 0 YM8H
091318 -             ..
091319 -        2.  Obtain account descriptions for the section below the
091320 -            Control Field, uses part of F1 F2 code.
091322 -             ..
091323 -        3.  Conform descriptions (specification) in the Subject Index
091324 -            for all accounts listed in a Control Field, open accounts
091325 -            and report errors using part of F1 F2 code.
091327 -             ..
091328 -        4.  Override errors to conform account descriptions, uses part
091329 -            of F1 F2 code.
091331 -             ..
091332 -        5.  F1 F2 in the Subject Index scroll forward in the hierarchy
091333 -            from one account to another and between chained segmented
091334 -            index files for a single account.
091336 -             ..
091337 -        6.  F1 F3 scroll back in the hierarchy one level.
091339 -             ..
091340 -        7.  F1 F4 jump to the end of sub-accounts for the current
091341 -            account, including chained segmented index files.
091343 -             ..
091344 -        8.  F1 F5 jump to the beginning of an account from anywhere in
091345 -            a series of sub-accounts, including chainend segmented
091346 -            index files.
091348 -             ..
091349 -        9.  F1 F2 F3 scroll back and adjust the stack after starting
091350 -            to create a new index level, and then deciding to abandon
091351 -            it, i.e., changing your mind.
091353 -             ..
091354 -       10.  Menu Delete an Index Level, and adjusting the stack to
091355 -            remove the deleted index file.
091357 -  ..
091358 - The design developed on 030902 extended work on 030810. ref SDS 1 426M
091359 - works well for managing multiple views.  However, navigating multiple
091360 - levels of a subject account using chained and segmented index files
091361 - expands dynamically in memory to process hierarchial address locations
091362 - on the disk.  Originally, about 10 lines were allocated for navigating
091363 - through the index, reported on 030810. ref SDS 1 1J7J  This has been
091364 - increased several times, reported initially on 050303, ref SDS 4 8P5M,
091365 - and is now up to about 120 lines.  Since the size of the Subject Index
091366 - grows, its only a matter of time before program failures start
091367 - occurring due to limited memory.
091369 -  ..
091370 - Currently, the code has a single procedure to scroll through all of
091371 - the files required for finding a particular account.  This is
091372 - effective, but causes risk of program failure.
091374 -  ..
091375 - Considering today adding another method.
091376 -
091377 -
091379 -  ..
091380 - Expand Capacity Organic Structure Change Code from Stack to Increment
091381 - F1 F2 Increase Levels Segmented Idexes Convert to Increment Stack
091382 - F1 F3  Reduce 50 Levels Increase Capacity for Segmented Indexes
091383 -
091385 -  ..
091386 - Should be able to increment multiple levels of each account, so they
091387 - only take one line, rather than 10, 50, or 100+ lines.  Keeping the
091388 - size of the macro file more constant by eliminating adding and
091389 - subtracting files in a stack to open multiple levels of a single
091390 - account should reduce program failures from fragmented memory, and
091391 - will also increase program speed by reducing command calls.
091393 -  ..
091394 - Today, there are about 120 lines allocated for stacking file
091395 - specifications to navigate segmented indexes.  Changes today, resulted
091396 - in reducing this by 50 lines down to about 60. ref OF 1 QP6O
091398 -  ..
091399 - This saves memory, and increases processing speed from eliminating
091400 - perhaps as much as 10K calls for certain operations, and further by
091401 - eliminating 100s of save calls that write files to the disk when
091402 - jumping to the end of an account. ref SDS 0 YN7K
091404 -  ..
091405 - Line 1070, ref OF 1 JB8G, -label 4acrnm in 03501 about 30 lines below
091406 -
091407 -    setcnt 1 0
091408 -    -if @164 = 213 setcnt 1 976
091409 -
091410 -        Uses counter 1 for program control.
091411 -
091413 -  ..
091414 - Line 1050, ref OF 1 DC4F, -label fpaclar in 03501 about 40 lines below
091415 -
091416 -    *%09f
091417 -    z 4
091418 -    **
091419 -    l ^
091420 -    -if @0 > 0 -goto nffp......................... ref SDS 0 WZ4I
091421 -
091422 -        This is where the target line at each level is located for
091423 -        moving to another level.
091425 -         ..
091426 -        When navigating through the index called from an account in the
091427 -        Control Field, and when using F1 F4, it is not necessary to
091428 -        load the search command, and to call a search with this code;
091429 -        so, added code today that bypasses this step, per below.
091430 -        ref SDS 0 BX7H
091431 -
091432 -
091433 -
091435 -  ..
091436 - Line 1370, ref OF 1 KG7O -label nffp in 03501 about 40 lines below
091437 -
091438 -    setcnt 0 0
091439 -    up 10
091440 -    l- /$$/
091441 -    -if @0 > 0 -goto npsics
091442 -    e c:\sd\03\03501
091443 -    -goto sTrtSI............................... ref SDS 0 LL60
091444 -
091445 -        Changed this code to jump reading the string, and entering it
091446 -        into the get command, and instead will simply increment the
091447 -        existing command.
091448 -
091449 -
091451 -  ..
091452 - Line 1250, ref OF 1 E56N, -label msiop in 03501
091453 -
091454 -
091456 -  ..
091457 - Line 2190, ref OF 1 9P5O, -label slrtusl in 03501
091458 -
091459 -
091461 -  ..
091462 - Line 2240, ref OF 1 6H5L, -label sbpsifa in 03501
091463 -
091464 -    -label sbpsifa
091465 -    line                                                       && *%5
091466 -    loc_cur 4 1
091467 -    getgbl 123 123
091468 -    -if @123 = 666 -goto slrtusl
091469 -
091470 -        F1 F3 processes through this code.
091471 -
091472 -
091474 -  ..
091475 - Line 2530, ref OF 1 MC4H, -label bH_gEt in 03501
091476 -
091477 -    -label bH_gEt
091478 -    line 739                                 && *%5
091479 -
091480 -        Set up to load get command in chained segments.
091481 -
091482 -
091484 -  ..
091485 - Line 2540, ref OF 1 RR4Y, -label seop4 in 03501
091486 -
091487 -    -label seop4
091488 -    -if @112 = 8835 -goto dsf14
091489 -    setcnt 237 883
091490 -    -gosub bH_sVx
091491 -    -label dsf14
091492 -    setcnt 237 0
091493 -
091494 -        This code added jump over -gosub bH_sVx to avoid saving all of
091495 -        the chained indexes when jumping to the end with F1 F4.
091496 -        Counter setcnt 112 8835 is set under call to F1 F4, per below.
091497 -        ref SDS 0 YO6J
091498 -
091500 -  ..
091501 - Line 2550, ref OF 1 OL5K, -label facssrd in 03501 about 50 lines below
091502 -
091503 -    getgbl 164 164
091504 -    -if @164 = 213 -goto bH_gEt
091505 -    getgbl 112 112
091506 -    -if @112 = 8835 -goto bH_gEt
091507 -
091508 -        Added control with counter global 112 to avoid loading search
091509 -        spec, per above, ref SDS 0 BW5I, using F1 F4 to jump to the end
091510 -        of the a segmented index, per below. ref SDS 0 YO6J
091511 -
091512 -
091514 -  ..
091515 - F1 F2 Modify Navigate Chained Segments Indexes
091516 -
091518 -  ..
091519 - Line 2610, ref OF 1 KL6L, -label bH_gEt in 03501
091520 -
091521 -    -label bH_gEt
091522 -    line 739                                                   && *%5
091523 -    loc_cur 4 18
091524 -    -if @129 = 2006 -goto bH_pRmry
091525 -    setcnt 0 0
091526 -    fr /$$$/
091527 -    -if @0 = 0 -goto cispf6.................... ref SDS 0 II5J
091528 -    immed r
091529 -    -gosub cesftp
091530 -
091531 -        Added code fr /$$$/ to avoid entering the spec over again, and
091532 -        stead jump to code the increments chained index segment
091533 -        filename.
091534 -
091536 -  ..
091537 - Line 2630, ref OF 1 514O, -label bH_enTr in 03501
091538 -
091539 -    -label bH_enTr
091540 -
091541 -        This code enters specification for get command captured from
091542 -        the index for opening the next level.
091544 -         ..
091545 -        We will skip this for chained segments, after the 1st one is
091546 -        entered, $$$01.
091547 -
091548 -
091550 -  ..
091551 - F1 F3 Scroll Back 1 Level Complements F1 F2
091552 -
091553 - Looks like this code was created on 030810 to navigate with F1 F3.
091554 - ref SDS 1 WG3O
091556 -  ..
091557 - However, the code was supersceded later with a change in design that
091558 - now bypasses this code.  Therefore, will try using it today to avoid
091559 - stacking chained indexes, and instead simply increment the filename
091560 - each pass.
091562 -  ..
091563 - There is a place in the code for opening the subject index from a
091564 - Control Field, and this should not save every index file in the path.
091566 -  ..
091567 - Line 2860, ref OF 1 XE5J, -label sTrtSI in 03501 about 40 lines below
091568 -
091569 -    -label sTrtSI
091570 -    setgbl 224 1005
091571 -    -if @129 = 2006 -goto prOnce
091572 -    setgbl 0 0
091573 -    errorcnt 0 0
091574 -    z 1 90
091575 -    fl /$$$/
091576 -    -if @0 > 0 -goto ncseG
091577 -    rel_cur 1 0
091578 -    fr /$$/
091579 -    -if @0 > 0 -goto ncseG
091580 -    immed d
091581 -    -goto prOnce
091582 -
091583 -        This new code avoids entering and then deleting the file
091584 -        specification for the get command, which is needed to process
091585 -        custom paths, since processing chained segments are always the
091586 -        same.  This simply increments the filename.
091587 -
091588 -
091590 -  ..
091591 - F1 F4 Jump to End Chained Segment Disconnect Save Indexes
091592 -
091593 -
091594 - Line 3370, ref OF 1 1X5N, -label lsisf in 03501
091595 -
091596 -    -label lsisf
091597 -    tl 0
091598 -    errorcnt 0 0
091599 -    setcnt 112 8835
091600 -    setgbl 112 8835
091601 -    -gosub bHSI_S
091602 -
091603 -        Added setgbl 112 8835 to avoid savng segmented indexes jumping
091604 -        to the end with F1 F4, per above, ref SDS 0 YN7K, and also to
091605 -        avoid entering an account search spec each pass, also, per
091606 -        above. ref SDS 0 BX7H
091607 -
091608 -
091610 -  ..
091611 - Make a New Task Modify F3 to Return to Prior Level
091612 -
091613 - Follow up ref SDS 2 MH5I.
091614 -
091615 - Line 3440, ref OF 1 B25H, -label bH_n_Si in 03501 about 60 lines below
091616 -
091617 -    pf3 @c:\sd\03\03501 -gg nrgbtp
091618 -
091619 -        This is where functions are defined for user screen to create a
091620 -        new account level in the subject index.
091621 -
091623 -  ..
091624 - Line 3490, ref OF 1 VO4K, -label nrgbtp in 03501
091625 -
091626 -    setcnt 114 2831
091627 -    -goto bH_prior
091628 -
091629 -        No changes required, because this code points to other code
091630 -        that is modified today.
091631 -
091632 -
091633 -
091634 -
091635 -
091636 -
091637 -
091638 -
091639 -
091640 -
091641 -
091642 -
091643 -
091644 -
091645 -
091646 -
0917 -