/*                                                                      00010000
                                                                        00020000
 Display Token Ring Address or PU of Token Ring Address                 00030000
  by searching NCP given PU, LU, CP, ILU, or TR Address                 00040000
                                                                        00050000
     TRA <puname>                                                       00060000
         <luname>                                                       00070000
         <cpname>                                                       00080000
         <iluname>                                                      00090000
         <TRaddress> <ncp>                                              00100000
         <TRaddress> ALL                                                00110000
         ALL <ncp>                                                      00120000
         ALL ALL                                                        00130000
                                                                        00140000
  Alan Debevec 919-254-6073 (t/444) ralvm17(debevec) ibmmail(usib59br)  00150000
  IBM Southeast Region/Research Triangle Park                           00160000
  Network Management Architecture                                       00170000
                                                                        00180000
*//*                                                                    00190000
* LVL63 99/08/16 11:30 ALAND    chg trpl chg w/v7r6 or >                00200001
* LVL62 97/02/06 08:00 ALAND    fix problem with ALL ncps               00210001
* LVL61 95/11/14 16:00 ALAND    chg check for bad ncpstores             00220000
* LVL60 95/10/25 11:00 ALAND    fix prob w/llinks > 2048                00230000
* LVL59 95/09/28 13:00 ALAND    fix prob w/no llbat                     00240000
* LVL58 95/06/06 13:00 ALAND    fix prob w/lvl57 w/no tat               00250000
* LVL57 95/04/11 13:00 ALAND    fix j line search                       00260000
* LVL56 95/02/01 09:00 ALAND    chg all getm to upper case              00270000
* LVL55 94/10/11 13:34 ALAND    fix rti present problem                 00280000
* LVL54 94/10/07 11:44 ALAND    chg tic3 tsb find to chain via sce      00290000
* LVL53 94/04/13 14:00 ALAND    chg fix for ncp 6.3                     00300000
* LVL52 94/04/13 08:00 ALAND    add X option                            00310000
* LVL51 94/04/01 06:00 ALAND    add option for vtam cmd                 00320000
* LVL50 94/03/28 23:00 ALAND    CHG ncp 7.1 + tic3 + BN                 00330000
* LVL49 94/02/24 23:00 ALAND    CHG ncp 7.1 + tic3                      00340000
* LVL48 94/01/06 15:00 ALAND    CHG add lvlevel check                   00350000
* LVL47 92/12/06 15:00 ALAND    CHG fix pipe prob                       00360000
* LVL46 92/10/21 11:00 ALAND    CHG TIC3 Only fix (no LLBAT)            00370000
* LVL45 92/10/21 10:00 ALAND    CHG Pipes                               00380000
* LVL44 92/10/21 10:00 ALAND    CHG Another TAT search fix              00390000
* LVL43 92/10/19 10:00 ALAND    CHG Fix TAT ptr for old NCPs            00400000
* LVL42 92/10/15 08:00 ALAND    CHG Fix TRAddr/ncp search for 62+       00410000
* LVL41 92/09/20 08:00 ALAND    ADD CPNAME/ILU support                  00420000
* LVL41 92/09/20 08:00 ALAND    CHG Speed up tat search                 00430000
* LVL40 92/09/13 08:00 ALAND    CHG ncp rel support                     00440000
* LVL39 92/09/13 08:00 ALAND    CHG Correct llbat search                00450000
* LVL38 92/09/01 08:00 ALAND    CHG Correct TIC3 TIC number             00460000
* LVL37 92/08/23 08:00 ALAND    ADD Support for TIC3                    00470000
* LVL36 92/12/18 11:15 ALAND    ADD Support for NCPV6.2                 00480000
* LVL35 92/10/02 11:15 NETWORK  CHG Correct REXX exp comparisons        00490000
* LVL34 92/06/12 08:18 NETWORK  ADD Support for NCPV6                   00500000
* LVL33 92/05/05 08:04 NETWORK  CHG Correct low storage ptrs            00510000
* LVL32 92/03/17 08:59 NETWORK  ADD vnet/ibmmail address                00520000
* LVL31 92/03/16 11:05 NETWORK  CHG parms init                          00530000
* LVL29 92/03/09 14:13 NETWORK  CHG Format XI message                   00540000
* LVL28 92/03/06 12:50 NETWORK  CHG Detect zero AVB pointer             00550000
* LVL27 92/03/05 13:56 NETWORK  CHG Detect invalid ncp in ALL <ncp>     00560000
* LVL26 92/03/04 07:30 NETWORK  DFT Split NCPStores in layout_xid       00570000
* LVL25 92/03/03 13:58 NETWORK  ADD IDBLK/IDNUM/CPNAME display          00580000
* LVL24 92/02/21 07:29 NETWORK  DFT Correct DSI031I invalid name        00590000
* LVL23 92/02/20 09:18 NETWORK  CHG msgnos for list                     00600000
* LVL22 92/02/17 13:36 NETWORK  ADD Check for zero llbat (no tra)       00610000
* LVL21 92/02/17 10:33 NETWORK  CHG ALL for not owned resoures          00620000
* LVL20 92/02/05 10:41 NETWORK  CHG MSGNVW04303I (MSGNVW04300I)         00630000
* LVL20 92/02/05 10:41 NETWORK  ADD TRA NOT FOUND MSGNVW03210I)         00640000
* LVL20 92/02/05 10:41 NETWORK  CHG EXPAND MSGNOS                       00650000
* LVL19 92/02/04 15:38 NETWORK  ADD COMMENT FOR LVL18                   00660000
* LVL18 92/02/03 07:28 NETWORK  DFT fix for vtams < 3.3                 00670000
* LVL17 92/01/31 10:00 NETWORK  DFN Add quotes to qvtam                 00680000
* LVL16 92/01/30 08:13 NETWORK  DFT CHECK <= 5.3.0 FOR FAX              00690000
* LVL15 91/12/10 13:42 NETWORK  ADD ALL LLBAT                           00700000
* LVL14 91/12/05 08:42 NETWORK  CHG Finish cleanup                      00710000
* LVL13 91/12/04 14:00 NETWORK  ADD Quick Path                          00720000
* LVL12 91/12/03 12:42 NETWORK  CHG Streamline                          00730000
* LVL11 91/11/14 10:53 NETWORK  CHG Treat ncp 530 like 3725             00740000
* LVL10 91/11/11 15:04 NETWORK  DFT Change compare to bit in lkbtype    00750000
* LVL09 91/10/30 09:38 NETWORK  ADD End message                         00760000
* LVL08 91/10/30 09:34 NETWORK  CHG listing of ncps                     00770000
* LVL07 91/10/30 09:18 NETWORK  ADD QLAA all ncp search                 00780000
* LVL07 91/10/30 09:18 NETWORK  DFT Correct qlaa compare error          00790000
* LVL06 91/10/30 07:54 NETWORK  CHG Qvtam to not clear ncp/lkb          00800000
* LVL05 91/10/30 07:51 NETWORK  CHG Add DSI031I to errors for vtam      00810000
* LVL04 91/10/29 08:43 NETWORK  DFT Correct RVT search problem          00820000
* LVL03 91/10/28 07:48 NETWORK  CHG Combine qvtams                      00830000
* LVL02 91/10/25 11:57 NETWORK  CHG Logic..faster for 3745s             00840000
**//*                                                                   00850000
                                                                        00860000
 */                                                                     00870000
                                                                        00880000
Parse upper arg p1 p2 . '(' parms ')' .                                 00890000
                                                                        00900000
clist = 'NVW043'                                                        00910000
tra_lvl = 63                                                            00920001
vtamcmd = 'DISPLAY'                                                     00930000
                                                                        00940000
Numeric digits(12)                                                      00950000
                                                                        00960000
If Index(parms,'P') ^= 0 Then                                           00970000
 perf = 'P'                                                             00980000
Else                                                                    00990000
 perf = ''                                                              01000000
If Index(parms,'D') ^= 0 Then                                           01010000
 debug = 'D'                                                            01020000
Else                                                                    01030000
 debug = ''                                                             01040000
If Index(parms,'X') ^= 0 Then                                           01050000
 allfmt = 'X'                                                           01060000
Else                                                                    01070000
 allfmt = ''                                                            01080000
                                                                        01090000
If (Length(p1) = 12 & p2  = '') | p1 = '' | ,                           01100000
   (Length(p1) < 12 & p2 ^= '' & p1 ^= 'ALL') | p1 = '?' Then           01110000
 Do                                                                     01120000
 Call Help                                                              01130000
 Exit                                                                   01140000
 End                                                                    01150000
If Index(parms,'I') ^= 0 Then                                           01160000
 pipes = 'Y'                                                            01170000
Else                                                                    01180000
 Call CheckPipe                                                         01190000
g_founds = 0                                                            01200000
If p2 = '' Then                                                         01210000
 Do                                                                     01220000
 Say clist'02I TR Address Display (LVL'tra_lvl') for' p1                01230000
 Call Qvtam 'PU' p1 'ncp link pu lu'                                    01240000
 If lu ^= '' Then                                                       01250000
  Do                                                                    01260000
  If ncp = '' | link = '' Then           /* required for vtam < 3.3 */  01270000
   Call Qvtam 'PU' pu 'ncp link pu .' /* req vtam < 3.3 */              01280000
  If ncp <> '' & link <> '' & pu <> '' Then                             01290000
   Say clist'08I PU for LU' lu 'is' pu                                  01300000
  End                                                                   01310000
 If ncp = '' | link = '' | pu = '' Then                                 01320000
  Do                                                                    01330000
  Say clist'11I PU' pu 'is not connected'                               01340000
  Exit                                                                  01350000
  End                                                                   01360000
 Say clist'04I PU' pu 'connected to link' link 'on NCP' ncp             01370000
 search_for = link                                                      01380000
 search_type = 'LNK'                                                    01390000
 gl_b_ncps.0 = 1                                                        01400000
 gl_b_ncps.1 = ncp                                                      01410000
 End                                                                    01420000
Else                                                                    01430000
 Do                                                                     01440000
 ncp = p2                                                               01450000
 search_for = p1                                                        01460000
 search_type = 'LAA'                                                    01470000
 Say clist'02I TR Address Display (LVL'tra_lvl') for' ,                 01480000
  search_for 'on' ncp                                                   01490000
 If ncp = 'ALL' Then                                                    01500000
  Call Qvtam 'NCP'                                                      01510000
 Else                                                                   01520000
  Do                                                                    01530000
  gl_b_ncps.0 = 1                                                       01540000
  gl_b_ncps.1 = ncp                                                     01550000
  End                                                                   01560000
 End                                                                    01570000
Do incp = 1 by 1 to gl_b_ncps.0                                         01580000
 ncp = gl_b_ncps.incp                                                   01590000
 Call NCPStore ncp 4C 'carl,0,4,x' '(' 'E'debug                         01600000
 If result = 4 Then                                                     01610000
  Do                                                                    01620000
  Say clist'12I Unable to Display NCP' ncp                              01630000
  Iterate                                                               01640000
  End                                                                   01650000
 If carl = 'C3819993' | carl = 'A84FA851' Then                          01660000
  lowcore = '34'                                                        01670000
 Else                                                                   01680000
  lowcore = '6E4'                                                       01690000
 Call NCPStore ncp lowcore 'xdh,1,3,x,gl_b_xda,5,3,x' '(' 'E'debug      01700000
 Call NCPStore ncp gl_b_xda 'gl_b_hwe,58,4,x,hwx,5C,4,x' '(' debug      01710000
 Call NCPStore ncp hwx 'psi,5C,4,x,nnt,6C,4,x' '(' debug                01720000
 Call NCPStore ncp psi 'model,9,4,c,ncprel,2C,6,c' '(' debug            01730000
 ncprel = Translate(left(ncprel||'00',6),'0',' ')                       01740000
 Say clist'05I Searching NCP' ncp '('model'/'ncprel')' ,                01750000
  '... Please be patient'                                               01760000
 Call Find_llbat ncp 'llbat' model ncprel                               01770000
 If x2d(llbat) = 0 & x2d(gl_b_tat) = 0 Then Iterate       /* LVL35 */   01780000
 Call Searchllbat 'llblist' search_for ncp llbat '(' debug              01790000
 If llblist.0 > 0 & search_for = 'ALL' Then                             01800000
  If allfmt = 'X' Then                                                  01810000
   Say clist'YI IDBLKNUM NETID    CPNAME    PU      PU TRA'             01820000
  Else                                                                  01830000
   Say clist'YI TIC   PHYLNK   LOGLNK     PU      TIC TRA        PU TRA'01840000
 Do llbi = 1 by 1 to llblist.0                                          01850000
  g_founds = g_founds + 1                                               01860000
  llb = llblist_llb.llbi                                                01870000
  cub = llblist_cub.llbi                                                01880000
  plb = llblist_plb.llbi                                                01890000
  lkb = llblist_lkb.llbi                                                01900000
  lkbname = llblist_lkbname.llbi                                        01910000
  laa = llblist_laa.llbi                                                01920000
  flg = llblist_flg.llbi                                                01930000
  If flg = 'NCP' Then                                                   01940000
   Do                                                                   01950000
   If ncprel >= 060100 Then                                             01960000
    Do                                                                  01970000
    Call NCPStore ncp plb ,                                             01980000
     'plblname,19,3,x,plbport,C,4,c,plblaa,4E,6,x' ,                    01990000
     '(' debug                                                          02000000
    If ncprel >= 060200 Then                                            02010000
     Call NCPStore ncp plblname 'plbname,50,8,c' '(' debug              02020000
    Else                                                                02030000
     Call NCPStore ncp plblname 'plbname,48,8,c' '(' debug              02040000
    End                                                                 02050000
   Else                                                                 02060000
    Do                                                                  02070000
    Call NCPStore ncp plb 'plbname,4,8,c,plbport,C,4,c,plblaa,4E,6,x' , 02080000
     '(' debug                                                          02090000
    End                                                                 02100000
   Call NCPStore ncp llb 'llbflag,3,1,c,rtil,34,1,c,rti,34,12,x' ,      02110000
    '(' debug                                                           02120000
   If bitand(llbflag,'10'x) ^= '10'x Then                               02130000
    Do                                                                  02140000
    rtil = '00'x                                                        02150000
    If debug = 'D' Then                                                 02160000
     Say clist'09I RI Information not available'                        02170000
    End                                                                 02180000
   End                                                                  02190000
  Else                                                                  02200000
   Do                                                                   02210000
   /* _plb is physical lkb */                                           02220000
   Call NCPStore ncp plb ,                                              02230000
    'nacb,21,3,x,lke,29,3,x,lkbindx,3c,1,x,plbname,50,8,c' '(' debug    02240000
   aite = d2x(x2d(ait)+(32*x2d(lkbindx)))                               02250000
   Call NCPStore ncp nacb 'npsa,9,3,x' '(' debug                        02260000
   Call NCPStore ncp npsa 'npsaglid,c,2,x' '(' debug                    02270000
   npsaglid = c2x(bitand(x2c(npsaglid),'FFFC'x))                        02280000
   plbport = x2d(npsaglid)/8+1920                                       02290000
   Call NCPStore ncp lke 'tlb,1d,3,x' '(' debug                         02300000
   Call NCPStore ncp tlb 'plblaa,8,6,x' '(' debug                       02310000
   Call NCPStore ncp llb 'tsbflg1,c,1,c,rtil,26,1,c,rti,26,12,x' ,      02320000
    '(' debug                                                           02330000
   If bitand(tsbflg1,'20'x) ^= '20'x Then                               02340000
    Do                                                                  02350000
    rtil = '00'x                                                        02360000
    If debug = 'D' Then                                                 02370000
     Say clist'09I RI Information not available'                        02380000
    End                                                                 02390000
   End                                                                  02400000
  Call Layout_rdf 'rdf' rtil rti                                        02410000
  If search_type = 'LNK' Then                                           02420000
   Say clist'06I TR Address for PU' pu 'is' laa                         02430000
  Else                                                                  02440000
   Do                                                                   02450000
   Call Qvtam 'LKB' lkbname . . 'pu' . '( NOERR'                        02460000
   If search_for ^= 'ALL' Then                                          02470000
    Say clist'04I PU' pu 'connected to link' lkbname 'on NCP' ncp       02480000
   End                                                                  02490000
  If search_for ^= 'ALL' Then                                           02500000
   Do                                                                   02510000
   Say clist'06I Phy Link is' plbname 'TIC' plbport 'TR Address' plblaa 02520000
   Call Layout_xid ncp cub                                              02530000
   Call Format_rdf rdf                                                  02540000
   End                                                                  02550000
  Else                                                                  02560000
   Do                                                                   02570000
   If pu = '' Then                                                      02580000
    pu = '********'                                                     02590000
   If allfmt = 'X' Then                                                 02600000
    Do                                                                  02610000
    Call Layout_xid ncp cub                                             02620000
    Say clist'XI' left(lx_idblknum||'        ',8) ,                     02630000
     left(lx_netid||'       ',8) left(lx_cpname||'       ',8) ,         02640000
     left(pu||'       ',8) laa                                          02650000
    End                                                                 02660000
   Else                                                                 02670000
    Say clist'XI' left(plbport||'   ',4) left(plbname||'       ',8) ,   02680000
     left(lkbname||'       ',8) left(pu||'       ',8) plblaa '-' laa    02690000
   End                                                                  02700000
  End                                                                   02710000
 End                                                                    02720000
If perf = 'P' Then                                                      02730000
 Say clist'07I NCPStores:' gl_n_ncpstores 'QVTAMs:' gl_n_qvtams         02740000
If g_founds = 0 Then                                                    02750000
 Say clist'10I No Match Found'                                          02760000
Else                                                                    02770000
 If search_for = 'ALL' Then                                             02780000
  Say clist'13I' g_founds 'TR Links Found'                              02790000
Say clist'08I TRA Search Complete'                                      02800000
                                                                        02810000
Exit                                                                    02820000
                                                                        02830000
NCPStore:                                                               02840000
Parse upper arg ncpname ncpaddr zncpstor '(' zdebug                     02850000
n_r = ''                                                                02860000
n_l = 0                                                                 02870000
Do n_nv = 1 by 1 Until zncpstor = ''                                    02880000
 Parse var zncpstor n_v_v.n_nv ',' n_v_o.n_nv ',' n_v_l.n_nv ',' ,      02890000
                    n_v_t.n_nv ',' zncpstor                             02900000
 n_v_o.n_nv = x2d(n_v_o.n_nv)                                           02910000
 n_v_l.n_nv = x2d(n_v_l.n_nv)                                           02920000
 n_l = Max((n_v_o.n_nv + n_v_l.n_nv),n_l)                               02930000
 End                                                                    02940000
If Datatype(gl_n_ncpstores) ^= 'NUM' Then                               02950000
 Do                                                                     02960000
 gl_n_ncpstores = 0                                                     02970000
 gl_n_ncpstores_time = 0                                                02980000
 End                                                                    02990000
gl_n_ncpstores = gl_n_ncpstores + 1                                     03000000
If pipes = 'N' Then                                                     03010000
 Do                                                                     03020000
 'TRAP AND SUPPRESS ONLY MESSAGES IST097I, IST241I, IST242I,' ,         03030000
                                ' IST244I, IST453I, D'                  03040000
 vtamcmd 'NET,NCPSTOR,ID='ncpname',ADDR='ncpaddr',LENGTH='n_l           03050000
 Do Forever Until msgid() = 'IST241I'                                   03060000
  'WAIT FOR MESSAGES'                                                   03070000
  'MSGREAD'                                                             03080000
  Select                                                                03090000
   When event() ^= 'M' | msgid() = 'IST453I' | ,                        03100000
    msgid() = 'IST242I' Then                                            03110000
    Do                                                                  03120000
    'TRAP NO MESSAGES'                                                  03130000
    'FLUSHQ MESSAGES'                                                   03140000
    If Index(zdebug,'E') ^= 0 Then                                      03150000
     Return(4)                                                          03160000
    Say clist'03I Unable to display' ncpname ncpaddr n_l                03170000
    Exit                                                                03180000
    End                                                                 03190000
   When msgid() = 'IST244I' Then                                        03200000
    Do                                                                  03210000
    'GETMSIZE N'                                                        03220000
    Do i = 1 by 1 to n                                                  03230000
     'GETMLINE N_D' I                                                   03240000
     Parse upper var n_d m . ncpdata                                    03250000
     If m = 'IST245I' Then                                              03260000
      n_r = n_r||Space(ncpdata,0)                                       03270000
     End                                                                03280000
    End                                                                 03290000
   Otherwise Nop                                                        03300000
   End                                                                  03310000
  End                                                                   03320000
 'TRAP NO MESSAGES'                                                     03330000
 'FLUSHQ MESSAGES'                                                      03340000
 End                                                                    03350000
Else                                                                    03360000
 Do                                                                     03370000
 'PIPE VTAM' ,                                                          03380000
 vtamcmd 'NET,NCPSTOR,ID='ncpname',ADDR='ncpaddr',LENGTH='n_l ,         03390000
 '| CORRWAIT 120 | TAKE 2 | SEPARATE | LOCATE 1.7 /IST245I/ | STEM PI.' 03400000
 If rc <> 0 | pi.0 = 0 Then                                             03410000
  Do                                                                    03420000
  If Index(zdebug,'E') ^= 0 Then                                        03430000
   Return(4)                                                            03440000
  Say clist'03I Unable to display' ncpname ncpaddr n_l                  03450000
  Exit                                                                  03460000
  End                                                                   03470000
 Do pix = 1 to pi.0                                                     03480000
  Parse upper var pi.pix . . ncpdata                                    03490000
  n_r = n_r||Space(ncpdata,0)                                           03500000
  End                                                                   03510000
 End                                                                    03520000
n_debug = ''                                                            03530000
Do n_i = 1 by 1 to n_nv                                                 03540000
 Select                                                                 03550000
  When n_v_t.n_i = 'X' Then                                             03560000
   n_result = substr(n_r,n_v_o.n_i*2+1,n_v_l.n_i*2)                     03570000
  When n_v_t.n_i = 'C' Then                                             03580000
   n_result = x2c(substr(n_r,n_v_o.n_i*2+1,n_v_l.n_i*2))                03590000
  When n_v_t.n_i = 'D' Then                                             03600000
   n_result = x2d(substr(n_r,n_v_o.n_i*2+1,n_v_l.n_i*2))                03610000
  Otherwise Nop                                                         03620000
  End                                                                   03630000
 Interpret n_v_v.n_i '= n_result'                                       03640000
 If Index(zdebug,'D') ^= 0 Then                                         03650000
  n_debug = n_debug'>>> 'n_v_v.n_i' 'n_result' '                        03660000
 End                                                                    03670000
If n_debug ^= '' Then                                                   03680000
 Say clist'09I' n_debug                                                 03690000
Return                                                                  03700000
                                                                        03710000
Qvtam:                                                                  03720000
                                                                        03730000
Parse arg qv_f qv_id qv_rncp qv_rlink qv_rpu qv_rlu . '(' qv_et         03740000
If Datatype(gl_n_qvtams) ^= 'NUM' Then                                  03750000
 Do                                                                     03760000
 gl_n_qvtams = 0                                                        03770000
 gl_n_qvtams_time = 0                                                   03780000
 End                                                                    03790000
gl_n_qvtams = gl_n_qvtams + 1                                           03800000
                                                                        03810000
Select                                                                  03820000
 When qv_f = 'LKB' | qv_f = 'PU' Then                                   03830000
  Do                                                                    03840000
  If qv_f = 'LKB' Then                                                  03850000
   Do                                                                   03860000
   qv_cmd = vtamcmd||' NET,E,ID='qv_id                                  03870000
   qv_link = qv_id                                                      03880000
   qv_pu = ''                                                           03890000
   End                                                                  03900000
  Else                                                                  03910000
   Do                                                                   03920000
   qv_cmd = vtamcmd||' NET,E,ID='qv_id                                  03930000
   qv_link = ''                                                         03940000
   qv_pu = qv_id                                                        03950000
   End                                                                  03960000
  qv_ncp = ''                                                           03970000
  qv_lu = ''                                                            03980000
  End                                                                   03990000
 When qv_f = 'NCP' Then                                                 04000000
  Do                                                                    04010000
  gl_b_ncps.0 = 0                                                       04020000
  qv_nncps = 0                                                          04030000
  qv_cmd = vtamcmd||' NET,MAJNODES'                                     04040000
  End                                                                   04050000
 Otherwise                                                              04060000
  Nop                                                                   04070000
 End                                                                    04080000
If pipes = 'N' Then                                                     04090000
 Do                                                                     04100000
 'TRAP AND SUPPRESS ONLY MESSAGES DSI031I, IST097I, IST075I,' ,         04110000
                                 'IST453I, IST350I, D'                  04120000
 qv_cmd                                                                 04130000
 qv_cmdrc = rc                                                          04140000
 Do Forever                                                             04150000
  'WAIT FOR MESSAGES'                                                   04160000
  'MSGREAD'                                                             04170000
  If event() ^= 'M' | msgid() = 'IST453I' | msgid = 'DSI031I' | ,       04180000
   qv_cmdrc ^= 0 Then                                                   04190000
   Do                                                                   04200000
   If qv_et = 'NOERR' Then Leave                                        04210000
   Say clist'00I Invalid Name' qv_id                                    04220000
   Exit                                                                 04230000
   End                                                                  04240000
  If msgid() = 'IST075I' | msgid() = 'IST350I' Then                     04250000
   Do                                                                   04260000
   'GETMSIZE QV_N'                                                      04270000
   Do qv_i = 1 by 1 to qv_n                                             04280000
    'GETMLINE QV_D' QV_I                                                04290000
    Parse var qv_d qv_m .                                               04300000
    Select                                                              04310000
     When qv_m = 'IST610I' Then                                         04320000
      Parse var qv_d qv_m . 'LINE ' ,                                   04330000
       qv_link .                                                        04340000
     When qv_m = 'IST081I' Then                                         04350000
      Parse var qv_d qv_m . 'LINE NAME = ' ,                            04360000
       qv_link . ',' . 'MAJNOD = ' qv_ncp .                             04370000
     When qv_m = 'IST135I' Then                                         04380000
      Do                                                                04390000
      qv_lu = qv_id                                                     04400000
      Parse var qv_d qv_m . '= ' qv_pu .                                04410000
      End                                                               04420000
     When qv_m = 'IST1081I' Then                                        04430000
      Do                                                                04440000
      qv_lu = qv_id                                                     04450000
      Parse var qv_d qv_m . '= ' qv_pu                                  04460000
      End                                                               04470000
     When qv_m = 'IST089I' & qv_f = 'NCP' Then                          04480000
      Do                                                                04490000
      Parse var qv_d qv_m qv_tpu 'TYPE = ' qv_tt ',' .                  04500000
      If Pos('PU T4/5',qv_tt) <> 0 Then                                 04510000
       Do                                                               04520000
       If qv_nncps ^= 0 Then                                            04530000
        Do                                                              04540000
        gl_b_ncps.0 = gl_b_ncps.0 + 1                                   04550000
        Interpret 'gl_b_ncps.'gl_b_ncps.0 '= Strip(qv_tpu)'             04560000
        End                                                             04570000
       qv_nncps = qv_nncps + 1                                          04580000
       End                                                              04590000
      End                                                               04600000
     When qv_m = 'IST089I' & qv_f = 'LKB' & qv_pu = '' Then             04610000
      Parse var qv_d . qv_pu .                                          04620000
     When qv_m = 'IST397I' & qv_f = 'LKB' & qv_pu = '' Then             04630000
      Parse var qv_d . qv_pu .                                          04640000
     Otherwise                                                          04650000
      Nop                                                               04660000
     End                                                                04670000
    End                                                                 04680000
   Leave                                                                04690000
   End                                                                  04700000
  End                                                                   04710000
 'TRAP NO MESSAGES'                                                     04720000
 'FLUSHQ MESSAGES'                                                      04730000
 End                                                                    04740000
Else                                                                    04750000
 Do                                                                     04760000
 'PIPE VTAM' qv_cmd '| CORRWAIT 120 |' ,                                04770000
  'TOS 1.7 /IST453I/ 1.7 /IST075I/ 1.7 /IST350I/ |' ,                   04780000
  'LOCATE 1.7 /IST075I/ 1.7 /IST350I/ | SEPARATE | STEM PI.'            04790000
 If rc <> 0 | pi.0 = 0 Then                                             04800000
  Do                                                                    04810000
  If qv_et <> 'NOERR' Then                                              04820000
   Do                                                                   04830000
   Say clist'00I Invalid Name' qv_id                                    04840000
   Exit                                                                 04850000
   End                                                                  04860000
  End                                                                   04870000
 Do pix = 1 by 1 to pi.0                                                04880000
  Parse var pi.pix qv_m .                                               04890000
  Select                                                                04900000
   When qv_m = 'IST610I' Then                                           04910000
    Parse var pi.pix qv_m . 'LINE ' qv_link .                           04920000
   When qv_m = 'IST081I' Then                                           04930000
    Parse var pi.pix qv_m . 'LINE NAME = ' ,                            04940000
     qv_link . ',' . 'MAJNOD = ' qv_ncp .                               04950000
   When qv_m = 'IST135I' Then                                           04960000
    Do                                                                  04970000
    qv_lu = qv_id                                                       04980000
    Parse var pi.pix qv_m . '= ' qv_pu .                                04990000
    End                                                                 05000000
   When qv_m = 'IST1081I' Then                                          05010000
    Do                                                                  05020000
    qv_lu = qv_id                                                       05030000
    Parse var pi.pix qv_m . '= ' qv_pu                                  05040000
    End                                                                 05050000
   When qv_m = 'IST089I' & qv_f = 'NCP' Then                            05060000
    Do                                                                  05070000
    Parse var pi.pix qv_m qv_tpu 'TYPE = ' qv_tt ',' .                  05080000
    If Pos('PU T4/5',qv_tt) <> 0 Then                                   05090000
     Do                                                                 05100000
     If qv_nncps ^= 0 Then                                              05110000
      Do                                                                05120000
      gl_b_ncps.0 = gl_b_ncps.0 + 1                                     05130000
      Interpret 'gl_b_ncps.'gl_b_ncps.0 '= Strip(qv_tpu)'               05140000
      End                                                               05150000
     qv_nncps = qv_nncps + 1                                            05160000
     End                                                                05170000
    End                                                                 05180000
   When qv_m = 'IST089I' & qv_f = 'LKB' & qv_pu = '' Then               05190000
    Parse var pi.pix . qv_pu .                                          05200000
   When qv_m = 'IST397I' & qv_f = 'LKB' & qv_pu = '' Then               05210000
    Parse var pi.pix . qv_pu .                                          05220000
   Otherwise                                                            05230000
    Nop                                                                 05240000
   End                                                                  05250000
  End                                                                   05260000
 End                                                                    05270000
If qv_f = 'LKB' | qv_f = 'PU' Then                                      05280000
 Do                                                                     05290000
 If qv_rncp ^= '.'  Then Interpret qv_rncp '= qv_ncp'                   05300000
 If qv_rlink ^= '.' Then Interpret qv_rlink '= qv_link'                 05310000
 If qv_rpu ^= '.'   Then Interpret qv_rpu '= qv_pu'                     05320000
 If qv_rlu ^= '.'   Then Interpret qv_rlu '= qv_lu'                     05330000
 End                                                                    05340000
                                                                        05350000
Return                                                                  05360000
                                                                        05370000
Find_llbat:                                                             05380000
                                                                        05390000
Parse upper arg flb_ncp flb_res flb_model flb_ncprel .                  05400000
If flb_model = '3725' | flb_ncprel <= 050300 Then                       05410000
 Do                                                                     05420000
 flb_llbat = 0                                                          05430000
 gl_b_tat = 0                                                           05440000
 Call NCPStore ncp gl_b_xda 'gl_b_rvt,69,3,x'                           05450000
 gl_b_rvt = d2x(x2d(gl_b_rvt)-2)                                        05460000
 If debug = 'D' Then Say clist'09I RVT address is' gl_b_rvt             05470000
 Call NCPStore ncp gl_b_rvt 'flb_nrvt,0,2,d' '(' debug                  05480000
 flb_rvte = d2x(x2d(gl_b_rvt)+4)                                        05490000
 If debug = 'D' Then Say clist'09I RVT entry start' flb_rvte            05500000
 Do flb_i = 1 by 1 to flb_nrvt While flb_llbat = 0                      05510000
  Call NCPStorel ncp 'flb_rvttab' flb_rvte 8 flb_i                      05520000
  If left(flb_rvttab,4) == '8420' | left(flb_rvttab,4) == '8020' Then   05530000
   Do      /* LVL35 line above */                                       05540000
   flb_lkb = substr(flb_rvttab,9,8)                                     05550000
   If debug = 'D' Then Say clist'09I Type 8420/8020 RVTE LKB' flb_lkb   05560000
   Call NCPStore ncp flb_lkb ,                                          05570000
    'flb_lkb1,1b,1,c,flb_lkb2,2b,1,c,flb_pua,1d,3,x'                    05580000
   If bitand(flb_lkb1,'88'x) = '88'x & ,                                05590000
    bitand(flb_lkb2,'01'x) = '01'x Then                                 05600000
    Do                                                                  05610000
    Call NCPStore ncp flb_pua 'flb_xua,80,4,x'                          05620000
    Call NCPStore ncp flb_xua 'gl_b_avb,1c,4,x'                         05630000
    If x2d(gl_b_avb) = 0 Then    /* LVL35 */                            05640000
     flb_llbat = 0                                                      05650000
    Else                                                                05660000
     Call NCPStore ncp gl_b_avb 'flb_llbat,9,3,x'                       05670000
    End                                                                 05680000
   End                                                                  05690000
  End                                                                   05700000
 End                                                                    05710000
Else                                                                    05720000
 Do                                                                     05730000
 Call NCPStore flb_ncp gl_b_xda 'gl_b_fax,78,4,x' '(' debug             05740000
 Call NCPStore flb_ncp gl_b_fax 'gl_b_avb,24,4,x' '(' debug             05750000
 If x2d(gl_b_avb) = 0 Then   /* LVL35 */                                05760000
  flb_llbat = 0                                                         05770000
 Else                                                                   05780000
  Call NCPStore flb_ncp gl_b_avb 'flb_llbat,9,3,x' '(' debug            05790000
 If ncprel >= 060200 Then                                               05800000
  Do                                                                    05810000
  Call NCPStore flb_ncp gl_b_fax ,                                      05820000
   'gl_b_trpl,64,4,x,olnvt,68,4,x,gl_b_tat,7C,4,x' '(' debug            05830000
  Call NCPStore ncp gl_b_xda 'l1b,40,4,x' '(' debug                     05840000
  Call NCPStore ncp l1b 'l1x,71,3,x' '(' debug                          05850000
  Call NCPStore ncp l1x 'ait,0,4,x' '(' debug                           05860000
  End                                                                   05870000
 Else                                                                   05880000
  gl_b_tat = 0                                                          05890000
 End                                                                    05900000
                                                                        05910000
If debug = 'D' Then Say clist'09I LLBAT address is' flb_llbat           05920000
If debug = 'D' Then Say clist'09I TAT address is' gl_b_tat              05930000
Interpret flb_res '= flb_llbat'                                         05940000
                                                                        05950000
Return                                                                  05960000
                                                                        05970000
                                                                        05980000
NCPStorel:                                                              05990000
                                                                        06000000
Parse upper arg nsl_n nsl_r nsl_a nsl_l nsl_i .                         06010000
                                                                        06020000
If Symbol('gl_nsl_a.nsl_n.nsl_a') = 'LIT' Then                          06030000
 Do                                                                     06040000
 gl_nsl_l.nsl_n.nsl_a = nsl_l                                           06050000
 gl_nsl_m.nsl_n.nsl_a = 256%x2d(nsl_l)                                  06060000
 gl_nsl_r.nsl_n.nsl_a = gl_nsl_m.nsl_n.nsl_a*x2d(nsl_l)                 06070000
 gl_nsl_i.nsl_n.nsl_a = 1 + ,                                           06080000
  ((nsl_i-1)%gl_nsl_m.nsl_n.nsl_a)*gl_nsl_m.nsl_n.nsl_a                 06090000
 gl_nsl_a.nsl_n.nsl_a = d2x(x2d(nsl_a) + ,                              06100000
  ((nsl_i-1)%gl_nsl_m.nsl_n.nsl_a)*gl_nsl_r.nsl_n.nsl_a)                06110000
 gl_nsl_x.nsl_n.nsl_a = ''                                              06120000
 Call NCPStore nsl_n gl_nsl_a.nsl_n.nsl_a ,                             06130000
  'gl_nsl_x.'nsl_n'.'nsl_a',0,'d2x(gl_nsl_r.nsl_n.nsl_a)',x' '(' debug  06140000
 End                                                                    06150000
If nsl_i < gl_nsl_i.nsl_n.nsl_a | ,                                     06160000
 nsl_i >= gl_nsl_i.nsl_n.nsl_a + gl_nsl_m.nsl_n.nsl_a Then              06170000
 Do                                                                     06180000
 gl_nsl_i.nsl_n.nsl_a = 1 + ,                                           06190000
  ((nsl_i-1)%gl_nsl_m.nsl_n.nsl_a)*gl_nsl_m.nsl_n.nsl_a                 06200000
 gl_nsl_a.nsl_n.nsl_a = d2x(x2d(nsl_a) + ,                              06210000
  ((nsl_i-1)%gl_nsl_m.nsl_n.nsl_a)*gl_nsl_r.nsl_n.nsl_a)                06220000
 Call NCPStore nsl_n gl_nsl_a.nsl_n.nsl_a ,                             06230000
  'gl_nsl_x.'nsl_n'.'nsl_a',0,'d2x(gl_nsl_r.nsl_n.nsl_a)',x' '(' debug  06240000
 End                                                                    06250000
Interpret nsl_r '= substr(gl_nsl_x.nsl_n.nsl_a,' ,                      06260000
 '((nsl_i - gl_nsl_i.nsl_n.nsl_a)*x2d(nsl_l))*2+1,x2d(nsl_l)*2)'        06270000
                                                                        06280000
Return                                                                  06290000
                                                                        06300000
Searchllbat:                                                            06310000
                                                                        06320000
Parse upper arg sl_res sl_field sl_ncp sl_llbat . '(' sl_debug          06330000
                                                                        06340000
sl_cfield = ''                                                          06350000
sl_llbcnt = 0                                                           06360000
sl_tate = 0                                                             06370000
sl_llbate = 0                                                           06380000
If x2d(sl_llbat) <> 0 Then                                              06390000
 Call NCPStore sl_ncp d2x(x2d(sl_llbat)-2) 'sl_llbate,0,2,d' ,          06400000
  '(' sl_debug                                                          06410000
If x2d(gl_b_tat) <> 0 Then                                              06420000
 Call NCPStore sl_ncp d2x(x2d(gl_b_tat)) 'sl_tate,0,2,d' ,              06430000
  '(' sl_debug                                                          06440000
If (Left(sl_field,3) = 'J00' | Left(sl_field,3) = 'K00') & ,            06450000
 Datatype(right(sl_field,3),'X') = 1 Then                               06460000
 Do                                                                     06470000
 If Left(sl_field,3) = 'J00' Then                                       06480000
  sl_zz = ((x2d(right(sl_field,3))-1)/2)                                06490000
 Else                                                                   06500000
  sl_zz = ((x2d(right(sl_field,3))-1)/2)+2047                           06510000
 If sl_zz > sl_llbate Then                                              06520000
  sl_zzz = sl_zz - sl_llbate - 1                                        06530000
 Else                                                                   06540000
  sl_zzz = 0                                                            06550000
 End                                                                    06560000
Else                                                                    06570000
 Do                                                                     06580000
 sl_zz = 0                                                              06590000
 sl_zzz = 0                                                             06600000
 End                                                                    06610000
tat_searched = 0                                                        06620000
llb_searched = 0                                                        06630000
If x2d(gl_b_tat) <> 0 & sl_zz = 0 | sl_zz > sl_llbate Then              06640000
 Do                                                                     06650000
 Call TATSearch                                                         06660000
 End                                                                    06670000
Call LLBSearch                                                          06680000
If sl_cfield ^= sl_field & tat_searched = 0 Then                        06690000
 Call TATSearch                                                         06700000
Interpret sl_res'.0 = sl_llbcnt'                                        06710000
                                                                        06720000
Return                                                                  06730000
                                                                        06740000
                                                                        06750000
Format_rdf:                                                             06760000
                                                                        06770000
Parse upper arg frd_rdf .                                               06780000
                                                                        06790000
If frd_rdf = '' Then                                                    06800000
 Say clist'06I Route: No bridges crossed'                               06810000
Else                                                                    06820000
 Do                                                                     06830000
 frd_rdft = '-->'                                                       06840000
 frd_rdfb = ' '                                                         06850000
 frd_rmsg = 'Route:'                                                    06860000
 Do frd_i = 1 by 4 to length(frd_rdf)                                   06870000
  If length(frd_rdft) < 30 Then                                         06880000
   frd_rdft = frd_rdft||frd_rdfb||'0'||substr(frd_rdf,frd_i,3)          06890000
  Else                                                                  06900000
   Do                                                                   06910000
   Say clist'06I '||frd_rmsg||frd_rdft||frd_rdfb                        06920000
   frd_rmsg = '      '                                                  06930000
   frd_rdft = '    '||'0'||substr(frd_rdf,frd_i,3)                      06940000
   End                                                                  06950000
  frd_rdfb = ' ('||substr(frd_rdf,frd_i+3,1)||') -> '                   06960000
  End                                                                   06970000
 Say clist'06I '||frd_rmsg||frd_rdft                                    06980000
 End                                                                    06990000
                                                                        07000000
Return                                                                  07010000
                                                                        07020000
Help:                                                                   07030000
                                                                        07040000
Say clist'01I TRA level is' tra_lvl                                     07050000
Say clist'01I Format is TRA <address> <ncp> (<option>'                  07060000
Say '                    TRA <address> ALL'                             07070000
Say '                    TRA <puname>'                                  07080000
Say '                    TRA <luname>'                                  07090000
Say '                    TRA ALL <ncp>'                                 07100000
Say '                    TRA ALL ALL'                                   07110000
Say ' '                                                                 07120000
Say '         <option>   D - Provide Some Diagnostic info'              07130000
Say '                    P - Give count of NCPSTORs'                    07140000
Say '                    X - Use XID Format for ALL command'            07150000
                                                                        07160000
Return                                                                  07170000
                                                                        07180000
Layout_rdf:                                                             07190000
                                                                        07200000
Parse arg lr_res lr_rtil lr_rti                                         07210000
                                                                        07220000
If debug = 'D' Then                                                     07230000
 Say clist'09I RTIL RTI' c2d(lr_rtil) lr_rti                            07240000
lr_rtil = x2d(c2x(bitand(lr_rtil,'1F'x)))                               07250000
lr_rti = left(lr_rti,lr_rtil*2)                                         07260000
lr_rdf = substr(lr_rti,5)                                               07270000
lr_rdft = ''                                                            07280000
lr_rdftb = '0'                                                          07290000
If length(lr_rti) >= 4 Then                                             07300000
 Do                                                                     07310000
 If bitand(x2c(substr(lr_rti,3,2)),'80'x) = '80'x Then                  07320000
  Do                                                                    07330000
  Do While lr_rdf ^= ''                                                 07340000
   lr_rdft = left(lr_rdf,3)||lr_rdftb||lr_rdft                          07350000
   lr_rdftb = substr(lr_rdf,4,1)                                        07360000
   lr_rdf = substr(lr_rdf,5)                                            07370000
   End                                                                  07380000
  lr_rdf = lr_rdft                                                      07390000
  End                                                                   07400000
 End                                                                    07410000
                                                                        07420000
Interpret lr_res '= lr_rdf'                                             07430000
                                                                        07440000
Return                                                                  07450000
                                                                        07460000
Layout_xid:                                                             07470000
                                                                        07480000
Parse arg lx_ncp lx_cub .                                               07490000
                                                                        07500000
lx_netid = ''                                                           07510000
lx_cpname = ''                                                          07520000
lx_idblknum = ''                                                        07530000
Call NCPStore lx_ncp lx_cub ,                                           07540000
 'lx_xidtype,6B,1,x,lx_idblknum,78,4,x,lx_nntnet,7C,2,x',               07550000
 ',lx_nntcp,7E,2,x' '(' debug                                           07560000
If lx_nntnet ^= 0 & lx_nntcp ^= 0 Then                                  07570000
 Do                                                                     07580000
 lx_nntnet = x2d(lx_nntnet)+1                                           07590000
 lx_nntcp  = x2d(lx_nntcp)+1                                            07600000
 If ncprel >= 060200 Then                                               07610000
  Do                                                                    07620000
  If ncprel >= 070100 Then                                              07630000
   lx_nnt = d2x(x2d(nnt)+8)                                             07640000
  Else                                                                  07650000
   lx_nnt = d2x(x2d(nnt)+16)                                            07660000
  End                                                                   07670000
 Else                                                                   07680000
  Do                                                                    07690000
  lx_nnt = d2x(x2d(nnt)+2)                                              07700000
  End                                                                   07710000
 If ncprel >= 070100 Then                                               07720000
  Do                                                                    07730000
  Call NCPStorel ncp 'lx_netid'  lx_nnt C lx_nntnet                     07740000
  Call NCPStorel ncp 'lx_cpname' lx_nnt C lx_nntcp                      07750000
  End                                                                   07760000
 Else                                                                   07770000
  Do                                                                    07780000
  Call NCPStorel ncp 'lx_netid'  lx_nnt A lx_nntnet                     07790000
  Call NCPStorel ncp 'lx_cpname' lx_nnt A lx_nntcp                      07800000
  End                                                                   07810000
 lx_netid = x2c(left(lx_netid,16))                                      07820000
 lx_cpname = x2c(left(lx_cpname,16))                                    07830000
 If allfmt ^= 'X' Then                                                  07840000
  Say clist'06I IDBLK =' left(lx_idblknum,3) 'IDNUM =' ,                07850000
   right(lx_idblknum,5) 'CPNAME =' Strip(lx_netid)'.'lx_cpname          07860000
 End                                                                    07870000
Else                                                                    07880000
 Do                                                                     07890000
 If x2d(lx_idblknum) ^= 0 Then    /* LVL35 */                           07900000
  If allfmt ^= 'X' Then                                                 07910000
   Say clist'06I IDBLK =' left(lx_idblknum,3) 'IDNUM =' ,               07920000
    right(lx_idblknum,5)                                                07930000
 End                                                                    07940000
                                                                        07950000
Return                                                                  07960000
                                                                        07970000
CheckPipe:                                                              07980000
trace o                                                                 07990000
Signal on syntax                                                        08000000
nvlvl = netview()                                                       08010000
If right(nvlvl,2) >= 23 Then                                            08020000
 pipes = 'Y'                                                            08030000
Syntax:                                                                 08040000
Signal off syntax                                                       08050000
If pipes <> 'Y' Then                                                    08060000
 Do                                                                     08070000
 'TRAP AND SUPPRESS ONLY MESSAGES CNM263I, CNM267I, DSI002I, CNM421I'   08080000
 'DISPMOD DSIPIFRD'                                                     08090000
 'WAIT FOR MESSAGES'                                                    08100000
 'MSGREAD'                                                              08110000
 If event() = 'M' & msgid() = 'CNM263I' Then                            08120000
  pipes = 'Y'                                                           08130000
 Else                                                                   08140000
  pipes = 'N'                                                           08150000
 If debug = 'D' Then Say clist'09I Pipes support is' pipes              08160000
 'TRAP NO MESSAGES'                                                     08170000
 'FLUSHQ MESSAGES'                                                      08180000
 End                                                                    08190000
trace n                                                                 08200000
Return                                                                  08210000
TATSearch:                                                              08220000
If gl_b_tat <> 0 Then                                                   08230000
 Do                                                                     08240000
 tat_begin = (sl_zzz//sl_tate)+1                                        08250000
 tat_end = ((sl_tate+sl_zzz-1)//sl_tate)+1                              08260000
 Do sl_i = sl_zzz by 1 to sl_tate+sl_zzz-1 While sl_cfield ^= sl_field  08270000
  Call NCPStorel sl_ncp 'sl_tatt' d2x(x2d(gl_b_tat)+4) '4' ,            08280000
   (sl_i//sl_tate)+1                                                    08290000
  sl_cub = substr(sl_tatt,3,6)                                          08300000
  sl_tatflag = substr(sl_tatt,1,2)                                      08310000
  If bitand(x2c(sl_tatflag),'80'x) ^= '80'x Then Iterate                08320000
  sl_tattrpli = c2x(bitand(x2c(sl_tatflag),'1F'x))                      08330000
  /* 20x bit in tatflag is 0=cub 1=scb */                               08340000
  Call NCPStore sl_ncp sl_cub 'sl_sce,55,3,x' '(' sl_debug              08350000
  Call NCPStore sl_ncp sl_sce 'sl_tsb,1d,3,x' '(' sl_debug              08360000
  If sl_debug = 'D' Then Say clist'09I TAT # CUB/TSB' ,                 08370000
   (sl_i//sl_tate)+1 sl_cub sl_tsb                                      08380000
  If Length(sl_field) ^= 12 Then                                        08390000
   Do                                                                   08400000
   Call NCPStore sl_ncp sl_cub 'sl_lkb,29,3,x' '(' sl_debug             08410000
   Call NCPStore sl_ncp sl_lkb 'sl_lkbname,50,8,c' '(' sl_debug         08420000
   sl_cfield = sl_lkbname                                               08430000
   End                                                                  08440000
  Else                                                                  08450000
   Do                                                                   08460000
   Call NCPStore sl_ncp sl_tsb 'sl_laa,18,6,x' '(' sl_debug             08470000
   sl_cfield = sl_laa                                                   08480000
   End                                                                  08490000
  If sl_cfield = sl_field | sl_field = 'ALL' Then                       08500000
   Do                                                                   08510000
   If Length(sl_field) ^= 12 Then                                       08520000
    Call NCPStore sl_ncp sl_tsb 'sl_laa,18,6,x' '(' sl_debug            08530000
   Else                                                                 08540000
    Do                                                                  08550000
    Call NCPStore sl_ncp sl_cub 'sl_lkb,29,3,x' '(' sl_debug            08560000
    Call NCPStore sl_ncp sl_lkb 'sl_lkbname,50,8,c' '(' sl_debug        08570000
    End                                                                 08580000
   If ncprel >= 070600 Then                                             08590001
    sl_trpl = d2x(x2d(gl_b_trpl)+8*(x2d(sl_tattrpli))+6)                08600001
   else                                                                 08610001
    sl_trpl = d2x(x2d(gl_b_trpl)+6*(x2d(sl_tattrpli))+6)                08620001
   Call NCPStore sl_ncp sl_trpl 'sl_portadd,0,1,x,sl_plkb,1,3,x' ,      08630000
    '(' sl_debug                                                        08640000
   sl_llbcnt = sl_llbcnt + 1                                            08650000
   Interpret sl_res'_llb.sl_llbcnt = sl_tsb'                            08660000
   Interpret sl_res'_cub.sl_llbcnt = sl_cub'                            08670000
   Interpret sl_res'_plb.sl_llbcnt = sl_plkb'                           08680000
   Interpret sl_res'_lkb.sl_llbcnt = sl_lkb'                            08690000
   Interpret sl_res'_lkbname.sl_llbcnt = sl_lkbname'                    08700000
   Interpret sl_res'_laa.sl_llbcnt = sl_laa'                            08710000
   Interpret sl_res"_flg.sl_llbcnt = 'ODLC'"                            08720000
   End                                                                  08730000
  End                                                                   08740000
 End                                                                    08750000
tat_searched = 1                                                        08760000
Return                                                                  08770000
LLBSearch:                                                              08780000
If sl_llbate <> 0 Then                                                  08790000
 Do                                                                     08800000
 llbat_begin = (sl_zz//sl_llbate)+1                                     08810000
 llbat_end = ((sl_llbate+sl_zz-1)//sl_llbate)+1                         08820000
 Do sl_i = sl_zz by 1 to sl_llbate+sl_zz-1 While sl_cfield ^= sl_field  08830000
  Call NCPStorel sl_ncp 'sl_llbatt' sl_llbat '10' (sl_i//sl_llbate)+1   08840000
  sl_llbatrsf = substr(sl_llbatt,1,2)                                   08850000
  sl_llb = substr(sl_llbatt,3,6)                                        08860000
  sl_cub = substr(sl_llbatt,11,6)                                       08870000
  sl_plb = substr(sl_llbatt,19,6)                                       08880000
  If sl_debug = 'D' Then Say clist'09I LLB/CUB/PLB/LLBATRSF' ,          08890000
   sl_llb sl_cub sl_plb sl_llbatrsf                                     08900000
 /* If bitand(x2c(sl_llbatrsf),'40'x) ^= '40'x Then Iterate */          08910000
  If bitand(x2c(sl_llbatrsf),'02'x) ^= '02'x Then Iterate               08920000
  If Length(sl_field) ^= 12 Then                                        08930000
   Do                                                                   08940000
   Call NCPStore sl_ncp sl_cub 'sl_lkb,29,3,x' '(' sl_debug             08950000
   If ncprel >= 060200 Then                                             08960000
    Call NCPStore sl_ncp sl_lkb 'sl_lkbname,50,8,c' '(' sl_debug        08970000
   Else                                                                 08980000
    Call NCPStore sl_ncp sl_lkb 'sl_lkbname,48,8,c' '(' sl_debug        08990000
   sl_cfield = sl_lkbname                                               09000000
   End                                                                  09010000
  Else                                                                  09020000
   Do                                                                   09030000
   Call NCPStore sl_ncp sl_llb 'sl_laa,46,6,x' '(' sl_debug             09040000
   sl_cfield = sl_laa                                                   09050000
   End                                                                  09060000
  If sl_cfield = sl_field | sl_field = 'ALL' Then                       09070000
   Do                                                                   09080000
   If Length(sl_field) ^= 12 Then                                       09090000
    Call NCPStore sl_ncp sl_llb 'sl_laa,46,6,x' '(' sl_debug            09100000
   Else                                                                 09110000
    Do                                                                  09120000
    Call NCPStore sl_ncp sl_cub 'sl_lkb,29,3,x' '(' sl_debug            09130000
    If ncprel >= 060200 Then                                            09140000
     Call NCPStore sl_ncp sl_lkb 'sl_lkbname,50,8,c' '(' sl_debug       09150000
    Else                                                                09160000
     Call NCPStore sl_ncp sl_lkb 'sl_lkbname,48,8,c' '(' sl_debug       09170000
    End                                                                 09180000
   sl_llbcnt = sl_llbcnt + 1                                            09190000
   Interpret sl_res'_llb.sl_llbcnt = sl_llb'                            09200000
   Interpret sl_res'_cub.sl_llbcnt = sl_cub'                            09210000
   Interpret sl_res'_plb.sl_llbcnt = sl_plb'                            09220000
   Interpret sl_res'_lkb.sl_llbcnt = sl_lkb'                            09230000
   Interpret sl_res'_lkbname.sl_llbcnt = sl_lkbname'                    09240000
   Interpret sl_res'_laa.sl_llbcnt = sl_laa'                            09250000
   Interpret sl_res"_flg.sl_llbcnt = 'NCP'"                             09260000
   End                                                                  09270000
  End                                                                   09280000
 End                                                                    09290000
llb_searched = 1                                                        09300000
Return                                                                  09310000
