From 36854adcbaf95c40e85a41fdd2ec2a673385e5bb Mon Sep 17 00:00:00 2001 From: sam Date: Tue, 7 Sep 2010 19:35:09 +0000 Subject: [PATCH] BMX 2.2 updated files --- doc/{bmx0210.n => bmx0220.n} | 13 +- k/{bmx0210t2WV.k => BMX_0220_WV.k} | 3204 ++++++++++++++-------------- 2 files changed, 1654 insertions(+), 1563 deletions(-) rename doc/{bmx0210.n => bmx0220.n} (96%) rename k/{bmx0210t2WV.k => BMX_0220_WV.k} (96%) diff --git a/doc/bmx0210.n b/doc/bmx0220.n similarity index 96% rename from doc/bmx0210.n rename to doc/bmx0220.n index 52ee8bb..b9b7af7 100644 --- a/doc/bmx0210.n +++ b/doc/bmx0220.n @@ -1,4 +1,4 @@ -Release notes for BMX 2.1 - released July 22, 2009 +Release notes for BMX 2.2 - released September 7, 2010 *** IMPORTANT *** DO NOT INSTALL ON RPMS. THIS RELEASE IS FOR VISTA SYSTEMS! @@ -11,6 +11,11 @@ BMX.net is a broker and a software library that allows programs in .net to commu - Technical manual: http://www.ihs.gov/Cio/RPMS/PackageDocs/bmx/bmx_020t.pdf Release 2.1 adds support for GT.M. +Release 2.2 fixes several bugs: + - Selection of division works properly now with BMXNet22.dll + - Timeouts are better now so it won't leave processes hanging + - Process name is now set upon connection + *** IMPORTANT *** BMX support for GT.M uses xinetd listeners; not listeners managed by the Mumps environment. As such, the installation instructions provided by IHS won't work for GT.M. ***************** @@ -18,14 +23,14 @@ BMX support for GT.M uses xinetd listeners; not listeners managed by the Mumps e Pre-requisites: Fileman v22 Kernel v8 - XB/ZIB v3 + XB/ZIB v3 or above XWB 1.1 patch 100001 (optional - to enable a unified listener for all brokers) Pre-requisites are examined by the environment check routine. Installation Instructions ========================= -Installation of BMX.net 2.1 consists of 6 steps. +Installation of BMX.net 2.2 consists of 6 steps. 1. Install BMX in Vista 2. Install Xinetd 3. Configure listener in Xinetd @@ -33,7 +38,7 @@ Installation of BMX.net 2.1 consists of 6 steps. 5. Users who don't hold XUPROGMODE will need BMXPRC assigned as an option. If you assign it as part of their primary menu, make sure to rebuild the menu before proceeding. 6. (optional) Install XWB 1.1 patch 100001 -1. Install BMX in Vista +1. Install BMX in Vista (example; actual version will differ) ========================= GTM>s DUZ=9 D ^XUP diff --git a/k/bmx0210t2WV.k b/k/BMX_0220_WV.k similarity index 96% rename from k/bmx0210t2WV.k rename to k/BMX_0220_WV.k index 7b866be..8538c6f 100644 --- a/k/bmx0210t2WV.k +++ b/k/BMX_0220_WV.k @@ -1,607 +1,633 @@ -KIDS Distribution saved on Aug 29, 2009@20:41:16 -BMX 2.1 for WV T2 -**KIDS**:BMX 2.1T2^ +KIDS Distribution saved on Sep 07, 2010@09:37:36 +BMX .net utilities v 2.2 +**KIDS**:BMX 2.2^ **INSTALL NAME** -BMX 2.1T2 -"BLD",7410,0) -BMX 2.1T2^BMXNET RPMS .NET UTILITIES^0^3090829^n -"BLD",7410,1,0) -^^4^4^3090829^^ -"BLD",7410,1,1,0) +BMX 2.2 +"BLD",7651,0) +BMX 2.2^BMXNET RPMS .NET UTILITIES^0^3100907^n +"BLD",7651,1,0) +^^14^14^3100907^ +"BLD",7651,1,1,0) BMXNet .NET Connectivity utilities for RPMS. -"BLD",7410,1,2,0) +"BLD",7651,1,2,0) Version 2.0 kids build to support BMXNet20.dll -"BLD",7410,1,3,0) +"BLD",7651,1,3,0) -"BLD",7410,1,4,0) +"BLD",7651,1,4,0) Version 2.1 adds support to GT.M. -"BLD",7410,4,0) +"BLD",7651,1,5,0) + +"BLD",7651,1,6,0) +Version 2.2 adds a few bug fixes: +"BLD",7651,1,7,0) + - Process Name is now set in BMXMON +"BLD",7651,1,8,0) + - Timeout is now correct: +"BLD",7651,1,9,0) + - 10 seconds for 1st connection +"BLD",7651,1,10,0) + - 180 seconds for continuation +"BLD",7651,1,11,0) + - Kernel Broker Timeout for regular use +"BLD",7651,1,12,0) + - Divisions are now presented to the user if the user has more than one +"BLD",7651,1,13,0) +division in his/her profile. +"BLD",7651,1,14,0) +Version 2.2 requires BMXNet22.dll +"BLD",7651,4,0) ^9.64PA^90093.9^6 -"BLD",7410,4,90093.1,0) +"BLD",7651,4,90093.1,0) 90093.1 -"BLD",7410,4,90093.1,222) +"BLD",7651,4,90093.1,222) y^y^f^^^^n -"BLD",7410,4,90093.2,0) +"BLD",7651,4,90093.2,0) 90093.2 -"BLD",7410,4,90093.2,222) -y^y^f^^^^n -"BLD",7410,4,90093.5,0) +"BLD",7651,4,90093.2,222) +y^y^f^^n^^y^o^n +"BLD",7651,4,90093.5,0) 90093.5 -"BLD",7410,4,90093.5,222) +"BLD",7651,4,90093.5,222) y^y^f^^^^n -"BLD",7410,4,90093.9,0) +"BLD",7651,4,90093.9,0) 90093.9 -"BLD",7410,4,90093.9,222) +"BLD",7651,4,90093.9,222) y^y^f^^^^n -"BLD",7410,4,90093.98,0) +"BLD",7651,4,90093.98,0) 90093.98 -"BLD",7410,4,90093.98,222) +"BLD",7651,4,90093.98,222) y^y^f^^^^n -"BLD",7410,4,90093.99,0) +"BLD",7651,4,90093.99,0) 90093.99 -"BLD",7410,4,90093.99,222) +"BLD",7651,4,90093.99,222) y^y^f^^n^^y^a^n -"BLD",7410,4,"B",90093.1,90093.1) +"BLD",7651,4,"B",90093.1,90093.1) -"BLD",7410,4,"B",90093.2,90093.2) +"BLD",7651,4,"B",90093.2,90093.2) -"BLD",7410,4,"B",90093.5,90093.5) +"BLD",7651,4,"B",90093.5,90093.5) -"BLD",7410,4,"B",90093.9,90093.9) +"BLD",7651,4,"B",90093.9,90093.9) -"BLD",7410,4,"B",90093.98,90093.98) +"BLD",7651,4,"B",90093.98,90093.98) -"BLD",7410,4,"B",90093.99,90093.99) +"BLD",7651,4,"B",90093.99,90093.99) -"BLD",7410,6.3) -4 -"BLD",7410,"ABPKG") +"BLD",7651,6.3) +8 +"BLD",7651,"ABPKG") n -"BLD",7410,"INIT") +"BLD",7651,"INIT") -"BLD",7410,"KRN",0) +"BLD",7651,"KRN",0) ^9.67PA^8989.52^19 -"BLD",7410,"KRN",.4,0) +"BLD",7651,"KRN",.4,0) .4 -"BLD",7410,"KRN",.4,"NM",0) +"BLD",7651,"KRN",.4,"NM",0) ^9.68A^^ -"BLD",7410,"KRN",.401,0) +"BLD",7651,"KRN",.401,0) .401 -"BLD",7410,"KRN",.402,0) +"BLD",7651,"KRN",.402,0) .402 -"BLD",7410,"KRN",.402,"NM",0) +"BLD",7651,"KRN",.402,"NM",0) ^9.68A^1^1 -"BLD",7410,"KRN",.402,"NM",1,0) +"BLD",7651,"KRN",.402,"NM",1,0) BMX MONITOR EDIT FILE #90093.5^90093.5^0 -"BLD",7410,"KRN",.402,"NM","B","BMX MONITOR EDIT FILE #90093.5",1) +"BLD",7651,"KRN",.402,"NM","B","BMX MONITOR EDIT FILE #90093.5",1) -"BLD",7410,"KRN",.403,0) +"BLD",7651,"KRN",.403,0) .403 -"BLD",7410,"KRN",.5,0) +"BLD",7651,"KRN",.5,0) .5 -"BLD",7410,"KRN",.84,0) +"BLD",7651,"KRN",.84,0) .84 -"BLD",7410,"KRN",3.6,0) +"BLD",7651,"KRN",3.6,0) 3.6 -"BLD",7410,"KRN",3.8,0) +"BLD",7651,"KRN",3.8,0) 3.8 -"BLD",7410,"KRN",9.2,0) +"BLD",7651,"KRN",9.2,0) 9.2 -"BLD",7410,"KRN",9.8,0) +"BLD",7651,"KRN",9.8,0) 9.8 -"BLD",7410,"KRN",9.8,"NM",0) -^9.68A^116^59 -"BLD",7410,"KRN",9.8,"NM",45,0) +"BLD",7651,"KRN",9.8,"NM",0) +^9.68A^117^59 +"BLD",7651,"KRN",9.8,"NM",45,0) BMXADOV1^^0^B68620559 -"BLD",7410,"KRN",9.8,"NM",58,0) -BMXMON^^0^B117731908 -"BLD",7410,"KRN",9.8,"NM",59,0) +"BLD",7651,"KRN",9.8,"NM",58,0) +BMXMON^^0^B125616041 +"BLD",7651,"KRN",9.8,"NM",59,0) BMXADE1^^0^B11418056 -"BLD",7410,"KRN",9.8,"NM",60,0) +"BLD",7651,"KRN",9.8,"NM",60,0) BMXADE2^^0^B13063702 -"BLD",7410,"KRN",9.8,"NM",61,0) +"BLD",7651,"KRN",9.8,"NM",61,0) BMXADO^^0^B32349097 -"BLD",7410,"KRN",9.8,"NM",62,0) +"BLD",7651,"KRN",9.8,"NM",62,0) BMXADO2^^0^B10227201 -"BLD",7410,"KRN",9.8,"NM",63,0) +"BLD",7651,"KRN",9.8,"NM",63,0) BMXADOF^^0^B90964967 -"BLD",7410,"KRN",9.8,"NM",64,0) +"BLD",7651,"KRN",9.8,"NM",64,0) BMXADOF1^^0^B12833341 -"BLD",7410,"KRN",9.8,"NM",65,0) +"BLD",7651,"KRN",9.8,"NM",65,0) BMXADOF2^^0^B7123769 -"BLD",7410,"KRN",9.8,"NM",66,0) +"BLD",7651,"KRN",9.8,"NM",66,0) BMXADOFD^^0^B8876207 -"BLD",7410,"KRN",9.8,"NM",67,0) +"BLD",7651,"KRN",9.8,"NM",67,0) BMXADOFS^^0^B38538227 -"BLD",7410,"KRN",9.8,"NM",68,0) +"BLD",7651,"KRN",9.8,"NM",68,0) BMXADOI^^0^B6267463 -"BLD",7410,"KRN",9.8,"NM",69,0) +"BLD",7651,"KRN",9.8,"NM",69,0) BMXADOS^^0^B75110422 -"BLD",7410,"KRN",9.8,"NM",70,0) +"BLD",7651,"KRN",9.8,"NM",70,0) BMXADOS1^^0^B9622665 -"BLD",7410,"KRN",9.8,"NM",71,0) +"BLD",7651,"KRN",9.8,"NM",71,0) BMXADOV^^0^B22947698 -"BLD",7410,"KRN",9.8,"NM",72,0) +"BLD",7651,"KRN",9.8,"NM",72,0) BMXADOV2^^0^B19908593 -"BLD",7410,"KRN",9.8,"NM",73,0) +"BLD",7651,"KRN",9.8,"NM",73,0) BMXADOVJ^^0^B8677686 -"BLD",7410,"KRN",9.8,"NM",74,0) +"BLD",7651,"KRN",9.8,"NM",74,0) BMXADOX^^0^B208011638 -"BLD",7410,"KRN",9.8,"NM",75,0) +"BLD",7651,"KRN",9.8,"NM",75,0) BMXADOX1^^0^B84889528 -"BLD",7410,"KRN",9.8,"NM",76,0) +"BLD",7651,"KRN",9.8,"NM",76,0) BMXADOX2^^0^B11989229 -"BLD",7410,"KRN",9.8,"NM",77,0) +"BLD",7651,"KRN",9.8,"NM",77,0) BMXADOXX^^0^B166011930 -"BLD",7410,"KRN",9.8,"NM",78,0) +"BLD",7651,"KRN",9.8,"NM",78,0) BMXADOXY^^0^B61093377 -"BLD",7410,"KRN",9.8,"NM",79,0) +"BLD",7651,"KRN",9.8,"NM",79,0) BMXFIND^^0^B45092715 -"BLD",7410,"KRN",9.8,"NM",80,0) +"BLD",7651,"KRN",9.8,"NM",80,0) BMXG^^0^B2718298 -"BLD",7410,"KRN",9.8,"NM",81,0) +"BLD",7651,"KRN",9.8,"NM",81,0) BMXGETS^^0^B15016739 -"BLD",7410,"KRN",9.8,"NM",82,0) +"BLD",7651,"KRN",9.8,"NM",82,0) BMXMBRK^^0^B32854296 -"BLD",7410,"KRN",9.8,"NM",83,0) +"BLD",7651,"KRN",9.8,"NM",83,0) BMXMBRK2^^0^B17554247 -"BLD",7410,"KRN",9.8,"NM",84,0) +"BLD",7651,"KRN",9.8,"NM",84,0) BMXMEVN^^0^B41862703 -"BLD",7410,"KRN",9.8,"NM",85,0) +"BLD",7651,"KRN",9.8,"NM",85,0) BMXMSEC^^0^B8709977 -"BLD",7410,"KRN",9.8,"NM",86,0) +"BLD",7651,"KRN",9.8,"NM",86,0) BMXPRS^^0^B8898368 -"BLD",7410,"KRN",9.8,"NM",87,0) -BMXRPC^^0^B17117580 -"BLD",7410,"KRN",9.8,"NM",88,0) +"BLD",7651,"KRN",9.8,"NM",87,0) +BMXRPC^^0^B21470311 +"BLD",7651,"KRN",9.8,"NM",88,0) BMXRPC1^^0^B52168951 -"BLD",7410,"KRN",9.8,"NM",89,0) +"BLD",7651,"KRN",9.8,"NM",89,0) BMXRPC2^^0^B11504982 -"BLD",7410,"KRN",9.8,"NM",90,0) -BMXRPC3^^0^B40379638 -"BLD",7410,"KRN",9.8,"NM",91,0) +"BLD",7651,"KRN",9.8,"NM",90,0) +BMXRPC3^^0^B39843476 +"BLD",7651,"KRN",9.8,"NM",91,0) BMXRPC4^^0^B28124037 -"BLD",7410,"KRN",9.8,"NM",92,0) +"BLD",7651,"KRN",9.8,"NM",92,0) BMXRPC5^^0^B15030574 -"BLD",7410,"KRN",9.8,"NM",93,0) +"BLD",7651,"KRN",9.8,"NM",93,0) BMXRPC6^^0^B14693179 -"BLD",7410,"KRN",9.8,"NM",94,0) +"BLD",7651,"KRN",9.8,"NM",94,0) BMXRPC7^^0^B40496291 -"BLD",7410,"KRN",9.8,"NM",95,0) +"BLD",7651,"KRN",9.8,"NM",95,0) BMXRPC8^^0^B5993639 -"BLD",7410,"KRN",9.8,"NM",96,0) +"BLD",7651,"KRN",9.8,"NM",96,0) BMXRPC9^^0^B45877662 -"BLD",7410,"KRN",9.8,"NM",97,0) +"BLD",7651,"KRN",9.8,"NM",97,0) BMXSQL^^0^B109951806 -"BLD",7410,"KRN",9.8,"NM",98,0) +"BLD",7651,"KRN",9.8,"NM",98,0) BMXSQL1^^0^B112955506 -"BLD",7410,"KRN",9.8,"NM",99,0) +"BLD",7651,"KRN",9.8,"NM",99,0) BMXSQL2^^0^B9590811 -"BLD",7410,"KRN",9.8,"NM",100,0) +"BLD",7651,"KRN",9.8,"NM",100,0) BMXSQL3^^0^B190410807 -"BLD",7410,"KRN",9.8,"NM",101,0) +"BLD",7651,"KRN",9.8,"NM",101,0) BMXSQL4^^0^B3594616 -"BLD",7410,"KRN",9.8,"NM",102,0) +"BLD",7651,"KRN",9.8,"NM",102,0) BMXSQL5^^0^B51902207 -"BLD",7410,"KRN",9.8,"NM",103,0) +"BLD",7651,"KRN",9.8,"NM",103,0) BMXSQL6^^0^B130304448 -"BLD",7410,"KRN",9.8,"NM",104,0) +"BLD",7651,"KRN",9.8,"NM",104,0) BMXSQL7^^0^B65321243 -"BLD",7410,"KRN",9.8,"NM",105,0) +"BLD",7651,"KRN",9.8,"NM",105,0) BMXSQL91^^0^B25109398 -"BLD",7410,"KRN",9.8,"NM",106,0) +"BLD",7651,"KRN",9.8,"NM",106,0) BMXTABLE^^0^B130270 -"BLD",7410,"KRN",9.8,"NM",107,0) +"BLD",7651,"KRN",9.8,"NM",107,0) BMXTRS^^0^B1202427 -"BLD",7410,"KRN",9.8,"NM",108,0) +"BLD",7651,"KRN",9.8,"NM",108,0) BMXUTL1^^0^B39816098 -"BLD",7410,"KRN",9.8,"NM",109,0) +"BLD",7651,"KRN",9.8,"NM",109,0) BMXUTL2^^0^B1806952 -"BLD",7410,"KRN",9.8,"NM",110,0) +"BLD",7651,"KRN",9.8,"NM",110,0) BMXUTL5^^0^B16165811 -"BLD",7410,"KRN",9.8,"NM",111,0) +"BLD",7651,"KRN",9.8,"NM",111,0) BMXUTL6^^0^B582471 -"BLD",7410,"KRN",9.8,"NM",112,0) -BMXUTL7^^0^B65930 -"BLD",7410,"KRN",9.8,"NM",114,0) +"BLD",7651,"KRN",9.8,"NM",114,0) BMXE01^^0^B6931626 -"BLD",7410,"KRN",9.8,"NM",115,0) +"BLD",7651,"KRN",9.8,"NM",115,0) BMXNTEG^^0^B7300059 -"BLD",7410,"KRN",9.8,"NM",116,0) +"BLD",7651,"KRN",9.8,"NM",116,0) BMXPO^^0^B4666839 -"BLD",7410,"KRN",9.8,"NM","B","BMXADE1",59) +"BLD",7651,"KRN",9.8,"NM",117,0) +BMXUTL7^^0^B65930 +"BLD",7651,"KRN",9.8,"NM","B","BMXADE1",59) -"BLD",7410,"KRN",9.8,"NM","B","BMXADE2",60) +"BLD",7651,"KRN",9.8,"NM","B","BMXADE2",60) -"BLD",7410,"KRN",9.8,"NM","B","BMXADO",61) +"BLD",7651,"KRN",9.8,"NM","B","BMXADO",61) -"BLD",7410,"KRN",9.8,"NM","B","BMXADO2",62) +"BLD",7651,"KRN",9.8,"NM","B","BMXADO2",62) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOF",63) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOF",63) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOF1",64) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOF1",64) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOF2",65) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOF2",65) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOFD",66) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOFD",66) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOFS",67) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOFS",67) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOI",68) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOI",68) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOS",69) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOS",69) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOS1",70) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOS1",70) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOV",71) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOV",71) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOV1",45) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOV1",45) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOV2",72) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOV2",72) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOVJ",73) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOVJ",73) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOX",74) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOX",74) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOX1",75) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOX1",75) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOX2",76) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOX2",76) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOXX",77) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOXX",77) -"BLD",7410,"KRN",9.8,"NM","B","BMXADOXY",78) +"BLD",7651,"KRN",9.8,"NM","B","BMXADOXY",78) -"BLD",7410,"KRN",9.8,"NM","B","BMXE01",114) +"BLD",7651,"KRN",9.8,"NM","B","BMXE01",114) -"BLD",7410,"KRN",9.8,"NM","B","BMXFIND",79) +"BLD",7651,"KRN",9.8,"NM","B","BMXFIND",79) -"BLD",7410,"KRN",9.8,"NM","B","BMXG",80) +"BLD",7651,"KRN",9.8,"NM","B","BMXG",80) -"BLD",7410,"KRN",9.8,"NM","B","BMXGETS",81) +"BLD",7651,"KRN",9.8,"NM","B","BMXGETS",81) -"BLD",7410,"KRN",9.8,"NM","B","BMXMBRK",82) +"BLD",7651,"KRN",9.8,"NM","B","BMXMBRK",82) -"BLD",7410,"KRN",9.8,"NM","B","BMXMBRK2",83) +"BLD",7651,"KRN",9.8,"NM","B","BMXMBRK2",83) -"BLD",7410,"KRN",9.8,"NM","B","BMXMEVN",84) +"BLD",7651,"KRN",9.8,"NM","B","BMXMEVN",84) -"BLD",7410,"KRN",9.8,"NM","B","BMXMON",58) +"BLD",7651,"KRN",9.8,"NM","B","BMXMON",58) -"BLD",7410,"KRN",9.8,"NM","B","BMXMSEC",85) +"BLD",7651,"KRN",9.8,"NM","B","BMXMSEC",85) -"BLD",7410,"KRN",9.8,"NM","B","BMXNTEG",115) +"BLD",7651,"KRN",9.8,"NM","B","BMXNTEG",115) -"BLD",7410,"KRN",9.8,"NM","B","BMXPO",116) +"BLD",7651,"KRN",9.8,"NM","B","BMXPO",116) -"BLD",7410,"KRN",9.8,"NM","B","BMXPRS",86) +"BLD",7651,"KRN",9.8,"NM","B","BMXPRS",86) -"BLD",7410,"KRN",9.8,"NM","B","BMXRPC",87) +"BLD",7651,"KRN",9.8,"NM","B","BMXRPC",87) -"BLD",7410,"KRN",9.8,"NM","B","BMXRPC1",88) +"BLD",7651,"KRN",9.8,"NM","B","BMXRPC1",88) -"BLD",7410,"KRN",9.8,"NM","B","BMXRPC2",89) +"BLD",7651,"KRN",9.8,"NM","B","BMXRPC2",89) -"BLD",7410,"KRN",9.8,"NM","B","BMXRPC3",90) +"BLD",7651,"KRN",9.8,"NM","B","BMXRPC3",90) -"BLD",7410,"KRN",9.8,"NM","B","BMXRPC4",91) +"BLD",7651,"KRN",9.8,"NM","B","BMXRPC4",91) -"BLD",7410,"KRN",9.8,"NM","B","BMXRPC5",92) +"BLD",7651,"KRN",9.8,"NM","B","BMXRPC5",92) -"BLD",7410,"KRN",9.8,"NM","B","BMXRPC6",93) +"BLD",7651,"KRN",9.8,"NM","B","BMXRPC6",93) -"BLD",7410,"KRN",9.8,"NM","B","BMXRPC7",94) +"BLD",7651,"KRN",9.8,"NM","B","BMXRPC7",94) -"BLD",7410,"KRN",9.8,"NM","B","BMXRPC8",95) +"BLD",7651,"KRN",9.8,"NM","B","BMXRPC8",95) -"BLD",7410,"KRN",9.8,"NM","B","BMXRPC9",96) +"BLD",7651,"KRN",9.8,"NM","B","BMXRPC9",96) -"BLD",7410,"KRN",9.8,"NM","B","BMXSQL",97) +"BLD",7651,"KRN",9.8,"NM","B","BMXSQL",97) -"BLD",7410,"KRN",9.8,"NM","B","BMXSQL1",98) +"BLD",7651,"KRN",9.8,"NM","B","BMXSQL1",98) -"BLD",7410,"KRN",9.8,"NM","B","BMXSQL2",99) +"BLD",7651,"KRN",9.8,"NM","B","BMXSQL2",99) -"BLD",7410,"KRN",9.8,"NM","B","BMXSQL3",100) +"BLD",7651,"KRN",9.8,"NM","B","BMXSQL3",100) -"BLD",7410,"KRN",9.8,"NM","B","BMXSQL4",101) +"BLD",7651,"KRN",9.8,"NM","B","BMXSQL4",101) -"BLD",7410,"KRN",9.8,"NM","B","BMXSQL5",102) +"BLD",7651,"KRN",9.8,"NM","B","BMXSQL5",102) -"BLD",7410,"KRN",9.8,"NM","B","BMXSQL6",103) +"BLD",7651,"KRN",9.8,"NM","B","BMXSQL6",103) -"BLD",7410,"KRN",9.8,"NM","B","BMXSQL7",104) +"BLD",7651,"KRN",9.8,"NM","B","BMXSQL7",104) -"BLD",7410,"KRN",9.8,"NM","B","BMXSQL91",105) +"BLD",7651,"KRN",9.8,"NM","B","BMXSQL91",105) -"BLD",7410,"KRN",9.8,"NM","B","BMXTABLE",106) +"BLD",7651,"KRN",9.8,"NM","B","BMXTABLE",106) -"BLD",7410,"KRN",9.8,"NM","B","BMXTRS",107) +"BLD",7651,"KRN",9.8,"NM","B","BMXTRS",107) -"BLD",7410,"KRN",9.8,"NM","B","BMXUTL1",108) +"BLD",7651,"KRN",9.8,"NM","B","BMXUTL1",108) -"BLD",7410,"KRN",9.8,"NM","B","BMXUTL2",109) +"BLD",7651,"KRN",9.8,"NM","B","BMXUTL2",109) -"BLD",7410,"KRN",9.8,"NM","B","BMXUTL5",110) +"BLD",7651,"KRN",9.8,"NM","B","BMXUTL5",110) -"BLD",7410,"KRN",9.8,"NM","B","BMXUTL6",111) +"BLD",7651,"KRN",9.8,"NM","B","BMXUTL6",111) -"BLD",7410,"KRN",9.8,"NM","B","BMXUTL7",112) +"BLD",7651,"KRN",9.8,"NM","B","BMXUTL7",117) -"BLD",7410,"KRN",19,0) +"BLD",7651,"KRN",19,0) 19 -"BLD",7410,"KRN",19,"NM",0) +"BLD",7651,"KRN",19,"NM",0) ^9.68A^5^5 -"BLD",7410,"KRN",19,"NM",1,0) +"BLD",7651,"KRN",19,"NM",1,0) BMX MONITOR EDIT^^0 -"BLD",7410,"KRN",19,"NM",2,0) +"BLD",7651,"KRN",19,"NM",2,0) BMX MONITOR START^^0 -"BLD",7410,"KRN",19,"NM",3,0) +"BLD",7651,"KRN",19,"NM",3,0) BMX MONITOR STOP^^0 -"BLD",7410,"KRN",19,"NM",4,0) +"BLD",7651,"KRN",19,"NM",4,0) BMXMENU^^0 -"BLD",7410,"KRN",19,"NM",5,0) +"BLD",7651,"KRN",19,"NM",5,0) BMXRPC^^0 -"BLD",7410,"KRN",19,"NM","B","BMX MONITOR EDIT",1) +"BLD",7651,"KRN",19,"NM","B","BMX MONITOR EDIT",1) -"BLD",7410,"KRN",19,"NM","B","BMX MONITOR START",2) +"BLD",7651,"KRN",19,"NM","B","BMX MONITOR START",2) -"BLD",7410,"KRN",19,"NM","B","BMX MONITOR STOP",3) +"BLD",7651,"KRN",19,"NM","B","BMX MONITOR STOP",3) -"BLD",7410,"KRN",19,"NM","B","BMXMENU",4) +"BLD",7651,"KRN",19,"NM","B","BMXMENU",4) -"BLD",7410,"KRN",19,"NM","B","BMXRPC",5) +"BLD",7651,"KRN",19,"NM","B","BMXRPC",5) -"BLD",7410,"KRN",19.1,0) +"BLD",7651,"KRN",19.1,0) 19.1 -"BLD",7410,"KRN",19.1,"NM",0) +"BLD",7651,"KRN",19.1,"NM",0) ^9.68A^1^1 -"BLD",7410,"KRN",19.1,"NM",1,0) +"BLD",7651,"KRN",19.1,"NM",1,0) BMXZMENU^^0 -"BLD",7410,"KRN",19.1,"NM","B","BMXZMENU",1) +"BLD",7651,"KRN",19.1,"NM","B","BMXZMENU",1) -"BLD",7410,"KRN",101,0) +"BLD",7651,"KRN",101,0) 101 -"BLD",7410,"KRN",101,"NM",0) +"BLD",7651,"KRN",101,"NM",0) ^9.68A^^ -"BLD",7410,"KRN",409.61,0) +"BLD",7651,"KRN",409.61,0) 409.61 -"BLD",7410,"KRN",409.61,"NM",0) +"BLD",7651,"KRN",409.61,"NM",0) ^9.68A^^ -"BLD",7410,"KRN",771,0) +"BLD",7651,"KRN",771,0) 771 -"BLD",7410,"KRN",870,0) +"BLD",7651,"KRN",870,0) 870 -"BLD",7410,"KRN",8989.51,0) +"BLD",7651,"KRN",8989.51,0) 8989.51 -"BLD",7410,"KRN",8989.51,"NM",0) +"BLD",7651,"KRN",8989.51,"NM",0) ^9.68A^^ -"BLD",7410,"KRN",8989.52,0) +"BLD",7651,"KRN",8989.52,0) 8989.52 -"BLD",7410,"KRN",8994,0) +"BLD",7651,"KRN",8994,0) 8994 -"BLD",7410,"KRN",8994,"NM",0) -^9.68A^44^44 -"BLD",7410,"KRN",8994,"NM",1,0) +"BLD",7651,"KRN",8994,"NM",0) +^9.68A^45^45 +"BLD",7651,"KRN",8994,"NM",1,0) BMX ADO SS^^0 -"BLD",7410,"KRN",8994,"NM",2,0) +"BLD",7651,"KRN",8994,"NM",2,0) BMX ASYNC GET^^0 -"BLD",7410,"KRN",8994,"NM",3,0) +"BLD",7651,"KRN",8994,"NM",3,0) BMX ASYNC QUEUE^^0 -"BLD",7410,"KRN",8994,"NM",4,0) +"BLD",7651,"KRN",8994,"NM",4,0) BMX AV CODE^^0 -"BLD",7410,"KRN",8994,"NM",5,0) +"BLD",7651,"KRN",8994,"NM",5,0) BMX DEMO^^0 -"BLD",7410,"KRN",8994,"NM",6,0) +"BLD",7651,"KRN",8994,"NM",6,0) BMX DENTAL REPORT 1^^0 -"BLD",7410,"KRN",8994,"NM",7,0) +"BLD",7651,"KRN",8994,"NM",7,0) BMX DENTAL REPORT 2^^0 -"BLD",7410,"KRN",8994,"NM",8,0) +"BLD",7651,"KRN",8994,"NM",8,0) BMX EVENT POLL^^0 -"BLD",7410,"KRN",8994,"NM",9,0) +"BLD",7651,"KRN",8994,"NM",9,0) BMX EVENT RAISE^^0 -"BLD",7410,"KRN",8994,"NM",10,0) +"BLD",7651,"KRN",8994,"NM",10,0) BMX EVENT REGISTER^^0 -"BLD",7410,"KRN",8994,"NM",11,0) +"BLD",7651,"KRN",8994,"NM",11,0) BMX EVENT UNREGISTER^^0 -"BLD",7410,"KRN",8994,"NM",12,0) +"BLD",7651,"KRN",8994,"NM",12,0) BMX FIELD LIST^^0 -"BLD",7410,"KRN",8994,"NM",13,0) +"BLD",7651,"KRN",8994,"NM",13,0) BMX FIND^^0 -"BLD",7410,"KRN",8994,"NM",14,0) +"BLD",7651,"KRN",8994,"NM",14,0) BMX GET VARIABLE VALUE^^0 -"BLD",7410,"KRN",8994,"NM",15,0) +"BLD",7651,"KRN",8994,"NM",15,0) BMX HEALTH SUMMARY^^0 -"BLD",7410,"KRN",8994,"NM",16,0) +"BLD",7651,"KRN",8994,"NM",16,0) BMX IM HERE^^0 -"BLD",7410,"KRN",8994,"NM",17,0) +"BLD",7651,"KRN",8994,"NM",17,0) BMX LOCK^^0 -"BLD",7410,"KRN",8994,"NM",18,0) +"BLD",7651,"KRN",8994,"NM",18,0) BMX LOOKUP^^0 -"BLD",7410,"KRN",8994,"NM",19,0) +"BLD",7651,"KRN",8994,"NM",19,0) BMX MULT LIST^^0 -"BLD",7410,"KRN",8994,"NM",20,0) +"BLD",7651,"KRN",8994,"NM",20,0) BMX NTUSER^^0 -"BLD",7410,"KRN",8994,"NM",21,0) +"BLD",7651,"KRN",8994,"NM",21,0) BMX PATIENT DEMOG DATA GET^^0 -"BLD",7410,"KRN",8994,"NM",22,0) +"BLD",7651,"KRN",8994,"NM",22,0) BMX PDATA CHART^^0 -"BLD",7410,"KRN",8994,"NM",23,0) +"BLD",7651,"KRN",8994,"NM",23,0) BMX SCHEMA ONLY^^0 -"BLD",7410,"KRN",8994,"NM",24,0) +"BLD",7651,"KRN",8994,"NM",24,0) BMX SECURITY KEY^^0 -"BLD",7410,"KRN",8994,"NM",25,0) +"BLD",7651,"KRN",8994,"NM",25,0) BMX SIGNATURE^^0 -"BLD",7410,"KRN",8994,"NM",26,0) +"BLD",7651,"KRN",8994,"NM",26,0) BMX SQL^^0 -"BLD",7410,"KRN",8994,"NM",27,0) +"BLD",7651,"KRN",8994,"NM",27,0) BMX SQL COLINFO^^0 -"BLD",7410,"KRN",8994,"NM",28,0) +"BLD",7651,"KRN",8994,"NM",28,0) BMX TABLE^^0 -"BLD",7410,"KRN",8994,"NM",29,0) +"BLD",7651,"KRN",8994,"NM",29,0) BMX TEST^^0 -"BLD",7410,"KRN",8994,"NM",30,0) +"BLD",7651,"KRN",8994,"NM",30,0) BMX TIMER TEST^^0 -"BLD",7410,"KRN",8994,"NM",31,0) +"BLD",7651,"KRN",8994,"NM",31,0) BMX TLIST^^0 -"BLD",7410,"KRN",8994,"NM",32,0) +"BLD",7651,"KRN",8994,"NM",32,0) BMX UPDATE^^0 -"BLD",7410,"KRN",8994,"NM",33,0) +"BLD",7651,"KRN",8994,"NM",33,0) BMX USER^^0 -"BLD",7410,"KRN",8994,"NM",34,0) +"BLD",7651,"KRN",8994,"NM",34,0) BMX VERSION INFO^^0 -"BLD",7410,"KRN",8994,"NM",35,0) +"BLD",7651,"KRN",8994,"NM",35,0) BMXGetFac^^0 -"BLD",7410,"KRN",8994,"NM",36,0) +"BLD",7651,"KRN",8994,"NM",36,0) BMXGetFacRS^^0 -"BLD",7410,"KRN",8994,"NM",37,0) +"BLD",7651,"KRN",8994,"NM",37,0) BMXNRC^^0 -"BLD",7410,"KRN",8994,"NM",38,0) +"BLD",7651,"KRN",8994,"NM",38,0) BMXNetGetCodes^^0 -"BLD",7410,"KRN",8994,"NM",39,0) +"BLD",7651,"KRN",8994,"NM",39,0) BMXNetSetUser^^0 -"BLD",7410,"KRN",8994,"NM",40,0) +"BLD",7651,"KRN",8994,"NM",40,0) BMXPatientInfoRS^^0 -"BLD",7410,"KRN",8994,"NM",41,0) +"BLD",7651,"KRN",8994,"NM",41,0) BMXPatientLookupRS^^0 -"BLD",7410,"KRN",8994,"NM",42,0) +"BLD",7651,"KRN",8994,"NM",42,0) BMXProviderLookupRS^^0 -"BLD",7410,"KRN",8994,"NM",43,0) +"BLD",7651,"KRN",8994,"NM",43,0) BMXSetFac^^0 -"BLD",7410,"KRN",8994,"NM",44,0) +"BLD",7651,"KRN",8994,"NM",44,0) BMXUserKeyRS^^0 -"BLD",7410,"KRN",8994,"NM","B","BMX ADO SS",1) +"BLD",7651,"KRN",8994,"NM",45,0) +BMX UTF-8^^0 +"BLD",7651,"KRN",8994,"NM","B","BMX ADO SS",1) -"BLD",7410,"KRN",8994,"NM","B","BMX ASYNC GET",2) +"BLD",7651,"KRN",8994,"NM","B","BMX ASYNC GET",2) -"BLD",7410,"KRN",8994,"NM","B","BMX ASYNC QUEUE",3) +"BLD",7651,"KRN",8994,"NM","B","BMX ASYNC QUEUE",3) -"BLD",7410,"KRN",8994,"NM","B","BMX AV CODE",4) +"BLD",7651,"KRN",8994,"NM","B","BMX AV CODE",4) -"BLD",7410,"KRN",8994,"NM","B","BMX DEMO",5) +"BLD",7651,"KRN",8994,"NM","B","BMX DEMO",5) -"BLD",7410,"KRN",8994,"NM","B","BMX DENTAL REPORT 1",6) +"BLD",7651,"KRN",8994,"NM","B","BMX DENTAL REPORT 1",6) -"BLD",7410,"KRN",8994,"NM","B","BMX DENTAL REPORT 2",7) +"BLD",7651,"KRN",8994,"NM","B","BMX DENTAL REPORT 2",7) -"BLD",7410,"KRN",8994,"NM","B","BMX EVENT POLL",8) +"BLD",7651,"KRN",8994,"NM","B","BMX EVENT POLL",8) -"BLD",7410,"KRN",8994,"NM","B","BMX EVENT RAISE",9) +"BLD",7651,"KRN",8994,"NM","B","BMX EVENT RAISE",9) -"BLD",7410,"KRN",8994,"NM","B","BMX EVENT REGISTER",10) +"BLD",7651,"KRN",8994,"NM","B","BMX EVENT REGISTER",10) -"BLD",7410,"KRN",8994,"NM","B","BMX EVENT UNREGISTER",11) +"BLD",7651,"KRN",8994,"NM","B","BMX EVENT UNREGISTER",11) -"BLD",7410,"KRN",8994,"NM","B","BMX FIELD LIST",12) +"BLD",7651,"KRN",8994,"NM","B","BMX FIELD LIST",12) -"BLD",7410,"KRN",8994,"NM","B","BMX FIND",13) +"BLD",7651,"KRN",8994,"NM","B","BMX FIND",13) -"BLD",7410,"KRN",8994,"NM","B","BMX GET VARIABLE VALUE",14) +"BLD",7651,"KRN",8994,"NM","B","BMX GET VARIABLE VALUE",14) -"BLD",7410,"KRN",8994,"NM","B","BMX HEALTH SUMMARY",15) +"BLD",7651,"KRN",8994,"NM","B","BMX HEALTH SUMMARY",15) -"BLD",7410,"KRN",8994,"NM","B","BMX IM HERE",16) +"BLD",7651,"KRN",8994,"NM","B","BMX IM HERE",16) -"BLD",7410,"KRN",8994,"NM","B","BMX LOCK",17) +"BLD",7651,"KRN",8994,"NM","B","BMX LOCK",17) -"BLD",7410,"KRN",8994,"NM","B","BMX LOOKUP",18) +"BLD",7651,"KRN",8994,"NM","B","BMX LOOKUP",18) -"BLD",7410,"KRN",8994,"NM","B","BMX MULT LIST",19) +"BLD",7651,"KRN",8994,"NM","B","BMX MULT LIST",19) -"BLD",7410,"KRN",8994,"NM","B","BMX NTUSER",20) +"BLD",7651,"KRN",8994,"NM","B","BMX NTUSER",20) -"BLD",7410,"KRN",8994,"NM","B","BMX PATIENT DEMOG DATA GET",21) +"BLD",7651,"KRN",8994,"NM","B","BMX PATIENT DEMOG DATA GET",21) -"BLD",7410,"KRN",8994,"NM","B","BMX PDATA CHART",22) +"BLD",7651,"KRN",8994,"NM","B","BMX PDATA CHART",22) -"BLD",7410,"KRN",8994,"NM","B","BMX SCHEMA ONLY",23) +"BLD",7651,"KRN",8994,"NM","B","BMX SCHEMA ONLY",23) -"BLD",7410,"KRN",8994,"NM","B","BMX SECURITY KEY",24) +"BLD",7651,"KRN",8994,"NM","B","BMX SECURITY KEY",24) -"BLD",7410,"KRN",8994,"NM","B","BMX SIGNATURE",25) +"BLD",7651,"KRN",8994,"NM","B","BMX SIGNATURE",25) -"BLD",7410,"KRN",8994,"NM","B","BMX SQL",26) +"BLD",7651,"KRN",8994,"NM","B","BMX SQL",26) -"BLD",7410,"KRN",8994,"NM","B","BMX SQL COLINFO",27) +"BLD",7651,"KRN",8994,"NM","B","BMX SQL COLINFO",27) -"BLD",7410,"KRN",8994,"NM","B","BMX TABLE",28) +"BLD",7651,"KRN",8994,"NM","B","BMX TABLE",28) -"BLD",7410,"KRN",8994,"NM","B","BMX TEST",29) +"BLD",7651,"KRN",8994,"NM","B","BMX TEST",29) -"BLD",7410,"KRN",8994,"NM","B","BMX TIMER TEST",30) +"BLD",7651,"KRN",8994,"NM","B","BMX TIMER TEST",30) -"BLD",7410,"KRN",8994,"NM","B","BMX TLIST",31) +"BLD",7651,"KRN",8994,"NM","B","BMX TLIST",31) -"BLD",7410,"KRN",8994,"NM","B","BMX UPDATE",32) +"BLD",7651,"KRN",8994,"NM","B","BMX UPDATE",32) -"BLD",7410,"KRN",8994,"NM","B","BMX USER",33) +"BLD",7651,"KRN",8994,"NM","B","BMX USER",33) -"BLD",7410,"KRN",8994,"NM","B","BMX VERSION INFO",34) +"BLD",7651,"KRN",8994,"NM","B","BMX UTF-8",45) -"BLD",7410,"KRN",8994,"NM","B","BMXGetFac",35) +"BLD",7651,"KRN",8994,"NM","B","BMX VERSION INFO",34) -"BLD",7410,"KRN",8994,"NM","B","BMXGetFacRS",36) +"BLD",7651,"KRN",8994,"NM","B","BMXGetFac",35) -"BLD",7410,"KRN",8994,"NM","B","BMXNRC",37) +"BLD",7651,"KRN",8994,"NM","B","BMXGetFacRS",36) -"BLD",7410,"KRN",8994,"NM","B","BMXNetGetCodes",38) +"BLD",7651,"KRN",8994,"NM","B","BMXNRC",37) -"BLD",7410,"KRN",8994,"NM","B","BMXNetSetUser",39) +"BLD",7651,"KRN",8994,"NM","B","BMXNetGetCodes",38) -"BLD",7410,"KRN",8994,"NM","B","BMXPatientInfoRS",40) +"BLD",7651,"KRN",8994,"NM","B","BMXNetSetUser",39) -"BLD",7410,"KRN",8994,"NM","B","BMXPatientLookupRS",41) +"BLD",7651,"KRN",8994,"NM","B","BMXPatientInfoRS",40) -"BLD",7410,"KRN",8994,"NM","B","BMXProviderLookupRS",42) +"BLD",7651,"KRN",8994,"NM","B","BMXPatientLookupRS",41) -"BLD",7410,"KRN",8994,"NM","B","BMXSetFac",43) +"BLD",7651,"KRN",8994,"NM","B","BMXProviderLookupRS",42) -"BLD",7410,"KRN",8994,"NM","B","BMXUserKeyRS",44) +"BLD",7651,"KRN",8994,"NM","B","BMXSetFac",43) -"BLD",7410,"KRN","B",.4,.4) +"BLD",7651,"KRN",8994,"NM","B","BMXUserKeyRS",44) -"BLD",7410,"KRN","B",.401,.401) +"BLD",7651,"KRN","B",.4,.4) -"BLD",7410,"KRN","B",.402,.402) +"BLD",7651,"KRN","B",.401,.401) -"BLD",7410,"KRN","B",.403,.403) +"BLD",7651,"KRN","B",.402,.402) -"BLD",7410,"KRN","B",.5,.5) +"BLD",7651,"KRN","B",.403,.403) -"BLD",7410,"KRN","B",.84,.84) +"BLD",7651,"KRN","B",.5,.5) -"BLD",7410,"KRN","B",3.6,3.6) +"BLD",7651,"KRN","B",.84,.84) -"BLD",7410,"KRN","B",3.8,3.8) +"BLD",7651,"KRN","B",3.6,3.6) -"BLD",7410,"KRN","B",9.2,9.2) +"BLD",7651,"KRN","B",3.8,3.8) -"BLD",7410,"KRN","B",9.8,9.8) +"BLD",7651,"KRN","B",9.2,9.2) -"BLD",7410,"KRN","B",19,19) +"BLD",7651,"KRN","B",9.8,9.8) -"BLD",7410,"KRN","B",19.1,19.1) +"BLD",7651,"KRN","B",19,19) -"BLD",7410,"KRN","B",101,101) +"BLD",7651,"KRN","B",19.1,19.1) -"BLD",7410,"KRN","B",409.61,409.61) +"BLD",7651,"KRN","B",101,101) -"BLD",7410,"KRN","B",771,771) +"BLD",7651,"KRN","B",409.61,409.61) -"BLD",7410,"KRN","B",870,870) +"BLD",7651,"KRN","B",771,771) -"BLD",7410,"KRN","B",8989.51,8989.51) +"BLD",7651,"KRN","B",870,870) -"BLD",7410,"KRN","B",8989.52,8989.52) +"BLD",7651,"KRN","B",8989.51,8989.51) -"BLD",7410,"KRN","B",8994,8994) +"BLD",7651,"KRN","B",8989.52,8989.52) -"BLD",7410,"PRE") +"BLD",7651,"KRN","B",8994,8994) + +"BLD",7651,"PRE") BMXE01 -"BLD",7410,"QUES",0) +"BLD",7651,"QUES",0) ^9.62^^ -"BLD",7410,"REQB",0) +"BLD",7651,"REQB",0) ^9.611^^ +"DATA",90093.2,1,0) +2^2^3100907.0936 "DATA",90093.99,1,0) TEST^2160010 "DATA",90093.99,1,1,0) @@ -2465,7 +2491,7 @@ y^y^f^^^^n "FIA",90093.1,0,"RLRO") "FIA",90093.1,0,"VR") -2.1T2^BMX +2.2^BMX "FIA",90093.1,90093.1) 0 "FIA",90093.2) @@ -2475,7 +2501,7 @@ BMX APPLICATION "FIA",90093.2,0,0) 90093.2 "FIA",90093.2,0,1) -y^y^f^^^^n +y^y^f^^n^^y^o^n "FIA",90093.2,0,10) "FIA",90093.2,0,11) @@ -2483,7 +2509,7 @@ y^y^f^^^^n "FIA",90093.2,0,"RLRO") "FIA",90093.2,0,"VR") -2.1T2^BMX +2.2^BMX "FIA",90093.2,90093.2) 0 "FIA",90093.5) @@ -2501,7 +2527,7 @@ y^y^f^^^^n "FIA",90093.5,0,"RLRO") "FIA",90093.5,0,"VR") -2.1T2^BMX +2.2^BMX "FIA",90093.5,90093.5) 0 "FIA",90093.9) @@ -2519,7 +2545,7 @@ y^y^f^^^^n "FIA",90093.9,0,"RLRO") "FIA",90093.9,0,"VR") -2.1T2^BMX +2.2^BMX "FIA",90093.9,90093.9) 0 "FIA",90093.9,90093.911) @@ -2539,7 +2565,7 @@ y^y^f^^^^n "FIA",90093.98,0,"RLRO") "FIA",90093.98,0,"VR") -2.1T2^BMX +2.2^BMX "FIA",90093.98,90093.98) 0 "FIA",90093.98,90093.981) @@ -2559,7 +2585,7 @@ y^y^f^^n^^y^a^n "FIA",90093.99,0,"RLRO") "FIA",90093.99,0,"VR") -2.1T2^BMX +2.2^BMX "FIA",90093.99,90093.99) 0 "FIA",90093.99,90093.991) @@ -2570,380 +2596,394 @@ y^y^f^^n^^y^a^n 0 "FIA",90093.99,90093.9923) 0 -"KRN",.402,1722,-1) +"KRN",.402,1724,-1) 0^1 -"KRN",.402,1722,0) +"KRN",.402,1724,0) BMX MONITOR EDIT^3040928.1231^@^90093.5^^@^3061103 -"KRN",.402,1722,"DR",1,90093.5) +"KRN",.402,1724,"DR",1,90093.5) .01;.02;.03;.04; -"KRN",19,10840,-1) +"KRN",19,10982,-1) 0^5 -"KRN",19,10840,0) +"KRN",19,10982,0) BMXRPC^BMX Procedure Calls^^B^^^^^^^^ -"KRN",19,10840,99.1) +"KRN",19,10982,99.1) 59512,54859 -"KRN",19,10840,"RPC",0) +"KRN",19,10982,"RPC",0) ^19.05P^81^81 -"KRN",19,10840,"RPC",1,0) +"KRN",19,10982,"RPC",1,0) BMX SQL -"KRN",19,10840,"RPC",2,0) +"KRN",19,10982,"RPC",2,0) BMX SQL COLINFO -"KRN",19,10840,"RPC",3,0) +"KRN",19,10982,"RPC",3,0) BMX FIELD LIST -"KRN",19,10840,"RPC",4,0) +"KRN",19,10982,"RPC",4,0) BMX FIND -"KRN",19,10840,"RPC",5,0) +"KRN",19,10982,"RPC",5,0) BMX LOOKUP -"KRN",19,10840,"RPC",6,0) +"KRN",19,10982,"RPC",6,0) BMX NTUSER -"KRN",19,10840,"RPC",7,0) +"KRN",19,10982,"RPC",7,0) BMX TABLE -"KRN",19,10840,"RPC",8,0) +"KRN",19,10982,"RPC",8,0) BMX TLIST -"KRN",19,10840,"RPC",9,0) +"KRN",19,10982,"RPC",9,0) BMX USER -"KRN",19,10840,"RPC",10,0) +"KRN",19,10982,"RPC",10,0) BMX SECURITY KEY -"KRN",19,10840,"RPC",11,0) +"KRN",19,10982,"RPC",11,0) BMX SIGNATURE -"KRN",19,10840,"RPC",12,0) +"KRN",19,10982,"RPC",12,0) BMX MULT LIST -"KRN",19,10840,"RPC",13,0) +"KRN",19,10982,"RPC",13,0) BMXGetFacRS -"KRN",19,10840,"RPC",14,0) +"KRN",19,10982,"RPC",14,0) BMXSetFac -"KRN",19,10840,"RPC",15,0) +"KRN",19,10982,"RPC",15,0) BMXPatientLookupRS -"KRN",19,10840,"RPC",16,0) +"KRN",19,10982,"RPC",16,0) BMXPatientInfoRS -"KRN",19,10840,"RPC",20,0) +"KRN",19,10982,"RPC",20,0) BMX HEALTH SUMMARY -"KRN",19,10840,"RPC",21,0) +"KRN",19,10982,"RPC",21,0) BMX DENTAL REPORT 1 -"KRN",19,10840,"RPC",22,0) +"KRN",19,10982,"RPC",22,0) BMXGetFac -"KRN",19,10840,"RPC",23,0) +"KRN",19,10982,"RPC",23,0) BMXUserKeyRS -"KRN",19,10840,"RPC",24,0) +"KRN",19,10982,"RPC",24,0) BMX PDATA CHART -"KRN",19,10840,"RPC",26,0) +"KRN",19,10982,"RPC",26,0) BMX DENTAL REPORT 2 -"KRN",19,10840,"RPC",27,0) +"KRN",19,10982,"RPC",27,0) BMX GET VARIABLE VALUE -"KRN",19,10840,"RPC",29,0) +"KRN",19,10982,"RPC",29,0) BMX PATIENT DEMOG DATA GET -"KRN",19,10840,"RPC",30,0) +"KRN",19,10982,"RPC",30,0) BMXProviderLookupRS -"KRN",19,10840,"RPC",61,0) +"KRN",19,10982,"RPC",61,0) BMXNetGetCodes -"KRN",19,10840,"RPC",62,0) +"KRN",19,10982,"RPC",62,0) BMXNetSetUser -"KRN",19,10840,"RPC",63,0) +"KRN",19,10982,"RPC",63,0) BMX DEMO -"KRN",19,10840,"RPC",64,0) +"KRN",19,10982,"RPC",64,0) BMX AV CODE -"KRN",19,10840,"RPC",65,0) +"KRN",19,10982,"RPC",65,0) BMXNRC -"KRN",19,10840,"RPC",66,0) +"KRN",19,10982,"RPC",66,0) BMX LOCK -"KRN",19,10840,"RPC",67,0) +"KRN",19,10982,"RPC",67,0) BMX VERSION INFO -"KRN",19,10840,"RPC",68,0) +"KRN",19,10982,"RPC",68,0) BMX IM HERE -"KRN",19,10840,"RPC",69,0) +"KRN",19,10982,"RPC",69,0) BMX TEST -"KRN",19,10840,"RPC",70,0) +"KRN",19,10982,"RPC",70,0) BMX SCHEMA ONLY -"KRN",19,10840,"RPC",71,0) +"KRN",19,10982,"RPC",71,0) BMX UPDATE -"KRN",19,10840,"RPC",74,0) +"KRN",19,10982,"RPC",74,0) BMX ADO SS -"KRN",19,10840,"RPC",75,0) +"KRN",19,10982,"RPC",75,0) BMX EVENT REGISTER -"KRN",19,10840,"RPC",76,0) +"KRN",19,10982,"RPC",76,0) BMX EVENT RAISE -"KRN",19,10840,"RPC",77,0) +"KRN",19,10982,"RPC",77,0) BMX EVENT UNREGISTER -"KRN",19,10840,"RPC",78,0) +"KRN",19,10982,"RPC",78,0) BMX EVENT POLL -"KRN",19,10840,"RPC",79,0) +"KRN",19,10982,"RPC",79,0) BMX TIMER TEST -"KRN",19,10840,"RPC",80,0) +"KRN",19,10982,"RPC",80,0) BMX ASYNC GET -"KRN",19,10840,"RPC",81,0) +"KRN",19,10982,"RPC",81,0) BMX ASYNC QUEUE -"KRN",19,10840,"U") +"KRN",19,10982,"U") BMX PROCEDURE CALLS -"KRN",19,10841,-1) +"KRN",19,10983,-1) 0^2 -"KRN",19,10841,0) +"KRN",19,10983,0) BMX MONITOR START^Start All BMXNet Monitors^^R^^^^^^^^^y -"KRN",19,10841,1,0) +"KRN",19,10983,1,0) ^19.06^7^7^3040919^^ -"KRN",19,10841,1,1,0) +"KRN",19,10983,1,1,0) Use this option to start or restart all BMXNet monitors in the -"KRN",19,10841,1,2,0) +"KRN",19,10983,1,2,0) BMXNET MONITOR file. This option should be scheduled as a STARTUP -"KRN",19,10841,1,3,0) +"KRN",19,10983,1,3,0) type option in TaskMan. Do not use this option to start a -"KRN",19,10841,1,4,0) +"KRN",19,10983,1,4,0) specific monitor. To do this, in programmer mode, do STRT^BMXMON(PORT). -"KRN",19,10841,1,5,0) +"KRN",19,10983,1,5,0) See the product documentation for instructions on how to start -"KRN",19,10841,1,6,0) +"KRN",19,10983,1,6,0) session monitors in a particular namespace and on how to -"KRN",19,10841,1,7,0) +"KRN",19,10983,1,7,0) enable or disable Windows Integrated Security. -"KRN",19,10841,25) +"KRN",19,10983,25) RESTART^BMXMON -"KRN",19,10841,200.9) +"KRN",19,10983,200.9) s -"KRN",19,10841,"U") +"KRN",19,10983,"U") START ALL BMXNET MONITORS -"KRN",19,10842,-1) +"KRN",19,10984,-1) 0^4 -"KRN",19,10842,0) +"KRN",19,10984,0) BMXMENU^BMXNet Management^^M^^BMXZMENU^^^^^^^^1 -"KRN",19,10842,1,0) +"KRN",19,10984,1,0) ^^1^1^3040928^ -"KRN",19,10842,1,1,0) +"KRN",19,10984,1,1,0) Menu contains options in the BMX namespace -"KRN",19,10842,10,0) +"KRN",19,10984,10,0) ^19.01IP^3^3 -"KRN",19,10842,10,1,0) -10844^EDIT^5 -"KRN",19,10842,10,1,"^") +"KRN",19,10984,10,1,0) +10986^EDIT^5 +"KRN",19,10984,10,1,"^") BMX MONITOR EDIT -"KRN",19,10842,10,2,0) -10841^STRT^10 -"KRN",19,10842,10,2,"^") +"KRN",19,10984,10,2,0) +10983^STRT^10 +"KRN",19,10984,10,2,"^") BMX MONITOR START -"KRN",19,10842,10,3,0) -10843^STOP^15 -"KRN",19,10842,10,3,"^") +"KRN",19,10984,10,3,0) +10985^STOP^15 +"KRN",19,10984,10,3,"^") BMX MONITOR STOP -"KRN",19,10842,20) +"KRN",19,10984,20) D MENU^BMXMON -"KRN",19,10842,99) -61560,42565 -"KRN",19,10842,"U") +"KRN",19,10984,99) +61603,724 +"KRN",19,10984,"U") BMXNET MANAGEMENT -"KRN",19,10843,-1) +"KRN",19,10985,-1) 0^3 -"KRN",19,10843,0) +"KRN",19,10985,0) BMX MONITOR STOP^Stop All BMXNet Monitors^^R^^^^^^^^ -"KRN",19,10843,1,0) +"KRN",19,10985,1,0) ^^1^1^3040928^ -"KRN",19,10843,1,1,0) +"KRN",19,10985,1,1,0) Use this option to stop all BMXNet monitors. -"KRN",19,10843,25) +"KRN",19,10985,25) STOPALL^BMXMON -"KRN",19,10843,"U") +"KRN",19,10985,"U") STOP ALL BMXNET MONITORS -"KRN",19,10844,-1) +"KRN",19,10986,-1) 0^1 -"KRN",19,10844,0) +"KRN",19,10986,0) BMX MONITOR EDIT^Add/Edit BMXNet Monitor Entries^^E^^^^^^^^ -"KRN",19,10844,30) +"KRN",19,10986,30) BMXMON( -"KRN",19,10844,31) +"KRN",19,10986,31) AEMQL -"KRN",19,10844,50) +"KRN",19,10986,50) BMXMON( -"KRN",19,10844,51) +"KRN",19,10986,51) [BMX MONITOR EDIT] -"KRN",19,10844,63) +"KRN",19,10986,63) -"KRN",19,10844,99) +"KRN",19,10986,99) 59806,44943 -"KRN",19,10844,"U") +"KRN",19,10986,"U") ADD/EDIT BMXNET MONITOR ENTRIE -"KRN",19.1,456,-1) +"KRN",19.1,479,-1) 0^1 -"KRN",19.1,456,0) +"KRN",19.1,479,0) BMXZMENU -"KRN",8994,2245,-1) +"KRN",8994,2396,-1) 0^21 -"KRN",8994,2245,0) +"KRN",8994,2396,0) BMX PATIENT DEMOG DATA GET^PDATA^BMXRPC1^1 -"KRN",8994,2246,-1) +"KRN",8994,2397,-1) 0^18 -"KRN",8994,2246,0) +"KRN",8994,2397,0) BMX LOOKUP^LOOKUP^BMXRPC^4 -"KRN",8994,2247,-1) +"KRN",8994,2398,-1) 0^12 -"KRN",8994,2247,0) +"KRN",8994,2398,0) BMX FIELD LIST^FLDLIST^BMXRPC2^4 -"KRN",8994,2248,-1) +"KRN",8994,2399,-1) 0^13 -"KRN",8994,2248,0) +"KRN",8994,2399,0) BMX FIND^FIND^BMXFIND^4 -"KRN",8994,2249,-1) +"KRN",8994,2400,-1) 0^28 -"KRN",8994,2249,0) +"KRN",8994,2400,0) BMX TABLE^TABLE^BMXFIND^4 -"KRN",8994,2250,-1) +"KRN",8994,2401,-1) 0^26 -"KRN",8994,2250,0) +"KRN",8994,2401,0) BMX SQL^SQL^BMXSQL^4 -"KRN",8994,2251,-1) +"KRN",8994,2402,-1) 0^31 -"KRN",8994,2251,0) +"KRN",8994,2402,0) BMX TLIST^TLIST^BMXSQL^4 -"KRN",8994,2252,-1) +"KRN",8994,2403,-1) 0^27 -"KRN",8994,2252,0) +"KRN",8994,2403,0) BMX SQL COLINFO^SQLCOL^BMXSQL^4 -"KRN",8994,2253,-1) +"KRN",8994,2404,-1) 0^14 -"KRN",8994,2253,0) +"KRN",8994,2404,0) BMX GET VARIABLE VALUE^VARVAL^BMXRPC3^1 -"KRN",8994,2254,-1) +"KRN",8994,2405,-1) 0^33 -"KRN",8994,2254,0) +"KRN",8994,2405,0) BMX USER^USER^BMXRPC3^1 -"KRN",8994,2255,-1) +"KRN",8994,2406,-1) 0^20 -"KRN",8994,2255,0) +"KRN",8994,2406,0) BMX NTUSER^NTUSER^BMXRPC3^1 -"KRN",8994,2256,-1) +"KRN",8994,2407,-1) 0^43 -"KRN",8994,2256,0) +"KRN",8994,2407,0) BMXSetFac^SETFCRS^BMXRPC3^1 -"KRN",8994,2257,-1) +"KRN",8994,2408,-1) 0^35 -"KRN",8994,2257,0) +"KRN",8994,2408,0) BMXGetFac^GETFC^BMXRPC3^1 -"KRN",8994,2258,-1) +"KRN",8994,2409,-1) 0^24 -"KRN",8994,2258,0) +"KRN",8994,2409,0) BMX SECURITY KEY^APSEC^BMXRPC3^1 -"KRN",8994,2259,-1) +"KRN",8994,2410,-1) 0^25 -"KRN",8994,2259,0) +"KRN",8994,2410,0) BMX SIGNATURE^SIGCHK^BMXRPC3^1 -"KRN",8994,2260,-1) +"KRN",8994,2411,-1) 0^19 -"KRN",8994,2260,0) +"KRN",8994,2411,0) BMX MULT LIST^MLTLIST^BMXRPC2^4 -"KRN",8994,2261,-1) +"KRN",8994,2412,-1) 0^36 -"KRN",8994,2261,0) +"KRN",8994,2412,0) BMXGetFacRS^GETFCRS^BMXRPC3^1 -"KRN",8994,2262,-1) +"KRN",8994,2413,-1) 0^41 -"KRN",8994,2262,0) +"KRN",8994,2413,0) BMXPatientLookupRS^PTLOOKRS^BMXRPC4^1 -"KRN",8994,2263,-1) +"KRN",8994,2414,-1) 0^40 -"KRN",8994,2263,0) +"KRN",8994,2414,0) BMXPatientInfoRS^PTINFORS^BMXRPC4^1 -"KRN",8994,2264,-1) +"KRN",8994,2415,-1) 0^15 -"KRN",8994,2264,0) +"KRN",8994,2415,0) BMX HEALTH SUMMARY^HS^BMXRPC5^4 -"KRN",8994,2265,-1) +"KRN",8994,2416,-1) 0^6 -"KRN",8994,2265,0) +"KRN",8994,2416,0) BMX DENTAL REPORT 1^BMXADE^BMXADE1^4 -"KRN",8994,2266,-1) +"KRN",8994,2417,-1) 0^44 -"KRN",8994,2266,0) +"KRN",8994,2417,0) BMXUserKeyRS^USRKEYRS^BMXRPC6^1 -"KRN",8994,2267,-1) +"KRN",8994,2418,-1) 0^42 -"KRN",8994,2267,0) +"KRN",8994,2418,0) BMXProviderLookupRS^PRVLKRS^BMXQA2^1 -"KRN",8994,2268,-1) +"KRN",8994,2419,-1) 0^22 -"KRN",8994,2268,0) +"KRN",8994,2419,0) BMX PDATA CHART^PDATA^BMXRPC6^4 -"KRN",8994,2269,-1) +"KRN",8994,2420,-1) 0^7 -"KRN",8994,2269,0) +"KRN",8994,2420,0) BMX DENTAL REPORT 2^BMXADE^BMXADE2^4 -"KRN",8994,2270,-1) +"KRN",8994,2421,-1) 0^37 -"KRN",8994,2270,0) +"KRN",8994,2421,0) BMXNRC^ZTM^BMXNRC^4 -"KRN",8994,2271,-1) +"KRN",8994,2422,-1) 0^38 -"KRN",8994,2271,0) +"KRN",8994,2422,0) BMXNetGetCodes^NTUGET^BMXRPC3^4 -"KRN",8994,2272,-1) +"KRN",8994,2423,-1) 0^39 -"KRN",8994,2272,0) +"KRN",8994,2423,0) BMXNetSetUser^NTUSET^BMXRPC3^4 -"KRN",8994,2273,-1) +"KRN",8994,2424,-1) 0^5 -"KRN",8994,2273,0) +"KRN",8994,2424,0) BMX DEMO^PDEMO^BMXRPC6^4 -"KRN",8994,2274,-1) +"KRN",8994,2425,-1) 0^4 -"KRN",8994,2274,0) +"KRN",8994,2425,0) BMX AV CODE^WINVAL^BMXRPC7^2 -"KRN",8994,2275,-1) +"KRN",8994,2426,-1) 0^17 -"KRN",8994,2275,0) +"KRN",8994,2426,0) BMX LOCK^BMXLOCK^BMXRPC8^1 -"KRN",8994,2276,-1) +"KRN",8994,2427,-1) 0^34 -"KRN",8994,2276,0) +"KRN",8994,2427,0) BMX VERSION INFO^BMXVER^BMXRPC8^4 -"KRN",8994,2277,-1) +"KRN",8994,2428,-1) 0^16 -"KRN",8994,2277,0) +"KRN",8994,2428,0) BMX IM HERE^IMHERE^BMXRPC8^1^P -"KRN",8994,2277,1,0) +"KRN",8994,2428,1,0) ^8994.01^2^2^3040304^^^ -"KRN",8994,2277,1,1,0) +"KRN",8994,2428,1,1,0) Returns a simple value to client. Used to establish continued existence -"KRN",8994,2277,1,2,0) +"KRN",8994,2428,1,2,0) of the client to the server; resets the server READ timeout. -"KRN",8994,2278,-1) +"KRN",8994,2429,-1) 0^32 -"KRN",8994,2278,0) +"KRN",8994,2429,0) BMX UPDATE^FILE^BMXADOF^1 -"KRN",8994,2279,-1) +"KRN",8994,2430,-1) 0^29 -"KRN",8994,2279,0) +"KRN",8994,2430,0) BMX TEST^TESTRPC^BMXRPC9^4 -"KRN",8994,2280,-1) +"KRN",8994,2431,-1) 0^23 -"KRN",8994,2280,0) +"KRN",8994,2431,0) BMX SCHEMA ONLY^SONLY^BMXRPC9^1 -"KRN",8994,2281,-1) +"KRN",8994,2432,-1) 0^1 -"KRN",8994,2281,0) +"KRN",8994,2432,0) BMX ADO SS^SS^BMXADO^4 -"KRN",8994,2282,-1) +"KRN",8994,2433,-1) 0^9 -"KRN",8994,2282,0) +"KRN",8994,2433,0) BMX EVENT RAISE^RAISEVNT^BMXMEVN^4 -"KRN",8994,2283,-1) +"KRN",8994,2434,-1) 0^10 -"KRN",8994,2283,0) +"KRN",8994,2434,0) BMX EVENT REGISTER^REGEVNT^BMXMEVN^4 -"KRN",8994,2284,-1) +"KRN",8994,2435,-1) 0^11 -"KRN",8994,2284,0) +"KRN",8994,2435,0) BMX EVENT UNREGISTER^UNREG^BMXMEVN^4 -"KRN",8994,2285,-1) +"KRN",8994,2436,-1) 0^8 -"KRN",8994,2285,0) +"KRN",8994,2436,0) BMX EVENT POLL^POLL^BMXMEVN^4 -"KRN",8994,2286,-1) +"KRN",8994,2437,-1) 0^30 -"KRN",8994,2286,0) +"KRN",8994,2437,0) BMX TIMER TEST^TTEST^BMXMEVN^4 -"KRN",8994,2287,-1) +"KRN",8994,2438,-1) 0^2 -"KRN",8994,2287,0) +"KRN",8994,2438,0) BMX ASYNC GET^ASYNCGET^BMXMEVN^4 -"KRN",8994,2288,-1) +"KRN",8994,2439,-1) 0^3 -"KRN",8994,2288,0) +"KRN",8994,2439,0) BMX ASYNC QUEUE^ASYNCQUE^BMXMEVN^4 +"KRN",8994,2502,-1) +0^45 +"KRN",8994,2502,0) +BMX UTF-8^UTF8^BMXRPC^1^P +"KRN",8994,2502,1,0) +^^4^4^3100907^ +"KRN",8994,2502,1,1,0) +This RPC returns a single value of 1 if database supports UTF-8; 0 if +"KRN",8994,2502,1,2,0) +not. Only works on GT.M. +"KRN",8994,2502,1,3,0) + +"KRN",8994,2502,1,4,0) +Doesn't take any parameters. "MBREQ") 0 "ORD",3,19.1) @@ -2962,36 +3002,56 @@ REMOTE PROCEDURE 19;18;;;OPT^XPDTA;OPTF1^XPDIA;OPTE1^XPDIA;OPTF2^XPDIA;;OPTDEL^XPDIA "ORD",18,19,0) OPTION -"PKG",207,-1) +"PKG",210,-1) 1^1 -"PKG",207,0) +"PKG",210,0) BMXNET RPMS .NET UTILITIES^BMX^.NET CONNECTIVITY UTILITIES -"PKG",207,1,0) +"PKG",210,1,0) ^9.41A^2^2^3061031^^^^ -"PKG",207,1,1,0) +"PKG",210,1,1,0) BMXNet supports connection, authentication and data exchange between -"PKG",207,1,2,0) +"PKG",210,1,2,0) Windows applications written for the .NET environment. -"PKG",207,20,0) +"PKG",210,20,0) ^9.402P^^ -"PKG",207,22,0) +"PKG",210,22,0) ^9.49I^1^1 -"PKG",207,22,1,0) -2.1T2^3090829 -"PKG",207,22,1,1,0) -^^4^4^3090829 -"PKG",207,22,1,1,1,0) +"PKG",210,22,1,0) +2.2^3100907 +"PKG",210,22,1,1,0) +^^14^14^3100907 +"PKG",210,22,1,1,1,0) BMXNet .NET Connectivity utilities for RPMS. -"PKG",207,22,1,1,2,0) +"PKG",210,22,1,1,2,0) Version 2.0 kids build to support BMXNet20.dll -"PKG",207,22,1,1,3,0) +"PKG",210,22,1,1,3,0) -"PKG",207,22,1,1,4,0) +"PKG",210,22,1,1,4,0) Version 2.1 adds support to GT.M. -"PKG",207,"DEV") +"PKG",210,22,1,1,5,0) + +"PKG",210,22,1,1,6,0) +Version 2.2 adds a few bug fixes: +"PKG",210,22,1,1,7,0) + - Process Name is now set in BMXMON +"PKG",210,22,1,1,8,0) + - Timeout is now correct: +"PKG",210,22,1,1,9,0) + - 10 seconds for 1st connection +"PKG",210,22,1,1,10,0) + - 180 seconds for continuation +"PKG",210,22,1,1,11,0) + - Kernel Broker Timeout for regular use +"PKG",210,22,1,1,12,0) + - Divisions are now presented to the user if the user has more than one +"PKG",210,22,1,1,13,0) +division in his/her profile. +"PKG",210,22,1,1,14,0) +Version 2.2 requires BMXNet22.dll +"PKG",210,"DEV") IHS/ITSC/HWHITT -"PKG",207,"VERSION") -2.1T2 +"PKG",210,"VERSION") +2.2 "PRE") BMXE01 "QUES","XPF1",0) @@ -3071,7 +3131,7 @@ D XPZ2^XPDIQ "RTN","BMXADE1",1,0) BMXADE1 ; IHS/OIT/HMW - BMXNet ADO.NET PROVIDER ; "RTN","BMXADE1",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADE1",3,0) ; "RTN","BMXADE1",4,0) @@ -3239,7 +3299,7 @@ CALCMIN(BMXIEN,BMXSVC,BMXMIN,BMXFEE) ; "RTN","BMXADE2",1,0) BMXADE2 ; IHS/OIT/HMW - BMXNet ADO.NET PROVIDER ; "RTN","BMXADE2",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADE2",3,0) ; "RTN","BMXADE2",4,0) @@ -3421,7 +3481,7 @@ CODLVL(BMXCODP,BMXCOD,BMXLVL) ; "RTN","BMXADO",1,0) BMXADO ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ; "RTN","BMXADO",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADO",3,0) ; SS^BMXADO: RPC EP FROM WINDOWS/WEB APP TO GENERATE A SCHEMEA STRING (& OPTIONALLY, A DATA SET AS WELL) "RTN","BMXADO",4,0) @@ -3737,7 +3797,7 @@ ERR(ERR) ;EP - BMX ADO SCHEMA ERROR PROCESSOR "RTN","BMXADO2",1,0) BMXADO2 ; IHS/CIHA/GIS - BMX ADO RECORDSET UTILS ; "RTN","BMXADO2",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADO2",3,0) ; "RTN","BMXADO2",4,0) @@ -3899,7 +3959,7 @@ PTYPE(BMXDD) ; "RTN","BMXADOF",1,0) BMXADOF ; IHS/CIHA/GIS - RPC CALL FOR EXTENDED FUNCTIONALITY OF BMXNet UTILITIES ; "RTN","BMXADOF",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOF",3,0) ; THIS IS THE ADO RECORDSET FILER: ADO -> FILEMAN "RTN","BMXADOF",4,0) @@ -4357,7 +4417,7 @@ MERR ; MUMPS ERROR TRAP "RTN","BMXADOF1",1,0) BMXADOF1 ; IHS/CIHA/GIS - RPC CALL FOR EXTENDED FUNCTIONALITY OF BMXNet UTILITIES ; "RTN","BMXADOF1",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOF1",3,0) ; UPDATE FILEMAN WITH AN ADO RECORD SET FROM A WINDOWS/WEB APPLICATION "RTN","BMXADOF1",4,0) @@ -4509,7 +4569,7 @@ ERR(ERR) ; "RTN","BMXADOF2",1,0) BMXADOF2 ; IHS/CIHA/GIS - RPC CALL FOR EXTENDED FUNCTIONALITY OF BMXNet UTILITIES ; "RTN","BMXADOF2",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOF2",3,0) ; THIS ROUTINE CONTAINS SPECIAL ENTRY POINTS FOR UPDATING RPMS "RTN","BMXADOF2",4,0) @@ -4625,7 +4685,7 @@ XMATCH(NARR) ; IF THERE IS AN EXACT MATCH IN THE PROVIDER NARRATIVE FILE, RETURN "RTN","BMXADOFD",1,0) BMXADOFD ; IHS/CIHA/GIS - RPC CALL FOR EXTENDED FUNCTIONALITY OF BMXNet UTILITIES ; "RTN","BMXADOFD",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOFD",3,0) ; THIS IS THE ADO RECORDSET FILER: ADO -> FILEMAN "RTN","BMXADOFD",4,0) @@ -4795,7 +4855,7 @@ NEXTNOTE(PIEN,FIEN) ; RETRUN THE NEXT NOTE NUMBER FOR A PROBLEM AND FACILITY "RTN","BMXADOFS",1,0) BMXADOFS ; IHS/CIHA/GIS - RPC CALL FOR EXTENDED FUNCTIONALITY OF BMXNet UTILITIES ; "RTN","BMXADOFS",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOFS",3,0) ; THIS IS THE ADO RECORDSET FILER: ADO -> FILEMAN "RTN","BMXADOFS",4,0) @@ -5205,7 +5265,7 @@ PIENN(PIEN) ; GIVEN A PROBLEM IEN, RETURN PROBLEM NARRATIVE (ICD) "RTN","BMXADOI",1,0) BMXADOI ; IHS/CIHA/GIS - RPC CALL: GENERATE DATA FOR AN ADO DATASET ; "RTN","BMXADOI",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOI",3,0) ; CUSTOM IDENTIFIERS "RTN","BMXADOI",4,0) @@ -5371,7 +5431,7 @@ TD1 S %=$$UP^XLFSTR(%) "RTN","BMXADOS",1,0) BMXADOS ; IHS/CIHA/GIS - UPDATE THE BMX ADO SCHEMA FILE ; "RTN","BMXADOS",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOS",3,0) ; ENABLES NAVIGATION TO SUBFILES PRIOR TO UPDATING THE SCHEMA FILE ENTRY "RTN","BMXADOS",4,0) @@ -5901,7 +5961,7 @@ F2 S SS="" "RTN","BMXADOS1",1,0) BMXADOS1 ; IHS/CIHA/GIS - UPDATE THE BMX ADO SCHEMA FILE GUI VERSION ; "RTN","BMXADOS1",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOS1",3,0) ; RPC CALLS "RTN","BMXADOS1",4,0) @@ -6115,7 +6175,7 @@ SFT(FNAME) ; TRIGGER "YES" TO INDICATE THAT A SUBFILE IS PRESENT WITHIN A FILE "RTN","BMXADOV",1,0) BMXADOV ; CIHA/CIHA/GIS - RPC CALL: GENERATE DATA FOR AN ADO DATASET "RTN","BMXADOV",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOV",3,0) ; "RTN","BMXADOV",4,0) @@ -6361,7 +6421,7 @@ IXFLD(FIEN,IX) ;EP - GIVEN AN FILE NUMMER AND INDEX NAME, RETURIN THE FIELD NUMB "RTN","BMXADOV1",1,0) BMXADOV1 ; IHS/CIHA/GIS - RPC CALL: GENERATE DATA FOR AN ADO DATASET ; "RTN","BMXADOV1",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOV1",3,0) ; CONTINUATION FILE FOR BMXADOV "RTN","BMXADOV1",4,0) @@ -6821,7 +6881,7 @@ TESTID(DA) ; TEST IDENTIFIERS "RTN","BMXADOV2",1,0) BMXADOV2 ; IHS/CIHA/GIS - RPC CALL: GENERATE DATA FOR AN ADO DATASET ; "RTN","BMXADOV2",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOV2",3,0) ; CUSTOM ITERATORS FOR RPMS "RTN","BMXADOV2",4,0) @@ -7097,7 +7157,7 @@ APRV(PARAM,IENS,MAX,OUT,TOT) ; EP - RETURN A LIST OF ALL ACTIVE PROVIDERS "RTN","BMXADOVJ",1,0) BMXADOVJ ; IHS/CIHA/GIS - RPC CALL: GENERATE DATA FOR AN ADO DATASET ; "RTN","BMXADOVJ",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOVJ",3,0) ; THIS ROUTINE MANAGES THE JOINS "RTN","BMXADOVJ",4,0) @@ -7255,7 +7315,7 @@ JFLD ; EP-STUFF JOIN FIELD IDS INTO THE INTRO SEGMENT OF THE SCHEMA "RTN","BMXADOX",1,0) BMXADOX ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ; "RTN","BMXADOX",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOX",3,0) ; EXMAPLES OF RPMS SCHEMAE GENERATION "RTN","BMXADOX",4,0) @@ -8259,7 +8319,7 @@ DXGRID ; POPULATE THE DX GRID "RTN","BMXADOX1",1,0) BMXADOX1 ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ; "RTN","BMXADOX1",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOX1",3,0) ; EXMAPLES OF FILEMAN SCHEMA GENERATION "RTN","BMXADOX1",4,0) @@ -8911,7 +8971,7 @@ DELVAL ; DELETE A VALUE IN A FIELD "RTN","BMXADOX2",1,0) BMXADOX2 ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ; "RTN","BMXADOX2",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOX2",3,0) ; EXMAPLES OF FILEMAN SCHEMA GENERATION "RTN","BMXADOX2",4,0) @@ -9159,7 +9219,7 @@ IMAGE ; LIST SEGMENT IMAGE CONTROL PARAMETERS "RTN","BMXADOXX",1,0) BMXADOXX ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ; "RTN","BMXADOXX",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOXX",3,0) ; EXMAPLES OF RPMS SCHEMAE GENERATION "RTN","BMXADOXX",4,0) @@ -10039,7 +10099,7 @@ ADDREPRO ; UPDATE REPRODUCTIVE FACTORS "RTN","BMXADOXY",1,0) BMXADOXY ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ; "RTN","BMXADOXY",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXADOXY",3,0) ; EXMAPLES OF FILEMAN SCHEMA GENERATION "RTN","BMXADOXY",4,0) @@ -10633,7 +10693,7 @@ DELVAL ; DELETE A VALUE IN A FIELD "RTN","BMXE01",1,0) BMXE01 ; IHS/OIT/FJE - ENVIRONMENT CHECK FOR BMX 2.0 ; "RTN","BMXE01",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXE01",3,0) ; "RTN","BMXE01",4,0) @@ -10749,7 +10809,7 @@ SORRY ; "RTN","BMXFIND",1,0) BMXFIND ; IHS/OIT/HMW - BMX GENERIC FIND ; "RTN","BMXFIND",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXFIND",3,0) ; "RTN","BMXFIND",4,0) @@ -11271,7 +11331,7 @@ PASSERR(BMXGBL,BMXERR) ;EP "RTN","BMXG",1,0) BMXG ; IHS/OIT/HMW - UTIL: GET DATA ; "RTN","BMXG",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXG",3,0) ;;Stolen from:* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER * "RTN","BMXG",4,0) @@ -11381,7 +11441,7 @@ GET(FILE,Y,PC) ;EP "RTN","BMXGETS",1,0) BMXGETS ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; "RTN","BMXGETS",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXGETS",3,0) ; "RTN","BMXGETS",4,0) @@ -11675,7 +11735,7 @@ PASSERR(BMXGBL,BMXERR) ;EP "RTN","BMXMBRK",1,0) BMXMBRK ; IHS/OIT/HMW - BMXNet MONITOR ; "RTN","BMXMBRK",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXMBRK",3,0) ; "RTN","BMXMBRK",4,0) @@ -12109,7 +12169,7 @@ CLRBUF ;p10 Empties Input buffer "RTN","BMXMBRK2",1,0) BMXMBRK2 ; IHS/OIT/HMW - BMXNet MONITOR ; "RTN","BMXMBRK2",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXMBRK2",3,0) ; "RTN","BMXMBRK2",4,0) @@ -12453,7 +12513,7 @@ TRANSPRT() ;Determine the Transport Method "RTN","BMXMEVN",1,0) BMXMEVN ; IHS/OIT/HMW - BMXNet MONITOR ; "RTN","BMXMEVN",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXMEVN",3,0) ; "RTN","BMXMEVN",4,0) @@ -12955,11 +13015,11 @@ ASYNCERR(BMXI,BMXERID) ;Error processing "RTN","BMXMEVN",252,0) Q "RTN","BMXMON") -0^58^B117731908 +0^58^B125616041 "RTN","BMXMON",1,0) -BMXMON ; IHS/OIT/HMW - BMXNet MONITOR ; 7/20/2009 +BMXMON ; IHS/OIT/HMW - BMXNet MONITOR ; 7/20/2009 ; 9/7/10 7:47am "RTN","BMXMON",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXMON",3,0) ; "RTN","BMXMON",4,0) @@ -12973,703 +13033,715 @@ BMXMON ; IHS/OIT/HMW - BMXNet MONITOR ; 7/20/2009 "RTN","BMXMON",8,0) ; Changes of W *-3 (which only works on Cache) to W ! "RTN","BMXMON",9,0) - ; + ; 9/7/2009: Minor bug fixes and enhancements "RTN","BMXMON",10,0) -STRT(BMXPORT,NS,IS,VB) ;EP + ; In GTMLNX: Set process name "RTN","BMXMON",11,0) - ;Interactive monitor start + ; In GTMLNX: Time out based now on the Kernel Broker Timeout field "RTN","BMXMON",12,0) - ;Optional NS = namespace. If undefined, start in current ns + ; in kernel system parameters file "RTN","BMXMON",13,0) - ;Optional IS = Integrated Security. Default is 1 + ; "RTN","BMXMON",14,0) - ;Optional VB = Verbose. Default is 1 +STRT(BMXPORT,NS,IS,VB) ;EP "RTN","BMXMON",15,0) - ; + ;Interactive monitor start "RTN","BMXMON",16,0) - N Y,BMXNS,BMXWIN + ;Optional NS = namespace. If undefined, start in current ns "RTN","BMXMON",17,0) - ; + ;Optional IS = Integrated Security. Default is 1 "RTN","BMXMON",18,0) - ;Verbose + ;Optional VB = Verbose. Default is 1 "RTN","BMXMON",19,0) - S BMXVB=$G(VB,1) -"RTN","BMXMON",20,0) ; +"RTN","BMXMON",20,0) + N Y,BMXNS,BMXWIN "RTN","BMXMON",21,0) - ;Check if port already running + ; "RTN","BMXMON",22,0) - I '$$SEMAPHOR(BMXPORT,"LOCK") W:BMXVB "BMXNet Monitor on port "_BMXPORT_" appears to be running already.",! Q + ;Verbose "RTN","BMXMON",23,0) - S %=$$SEMAPHOR(BMXPORT,"UNLOCK") + S BMXVB=$G(VB,1) "RTN","BMXMON",24,0) ; "RTN","BMXMON",25,0) - D MARKER(BMXPORT,1) ;record problem marker + ;Check if port already running "RTN","BMXMON",26,0) - ; -- start the monitor + I '$$SEMAPHOR(BMXPORT,"LOCK") W:BMXVB "BMXNet Monitor on port "_BMXPORT_" appears to be running already.",! Q "RTN","BMXMON",27,0) - ; + S %=$$SEMAPHOR(BMXPORT,"UNLOCK") "RTN","BMXMON",28,0) - ;Namespace + ; "RTN","BMXMON",29,0) - X ^%ZOSF("UCI") + D MARKER(BMXPORT,1) ;record problem marker "RTN","BMXMON",30,0) - S BMXNS=$G(NS,$P(Y,",")) + ; -- start the monitor "RTN","BMXMON",31,0) ; "RTN","BMXMON",32,0) - ;Integrated security + ;Namespace "RTN","BMXMON",33,0) - S BMXWIN=$G(IS,1) + X ^%ZOSF("UCI") "RTN","BMXMON",34,0) - ; + S BMXNS=$G(NS,$P(Y,",")) "RTN","BMXMON",35,0) - ;J DEBUG^%Serenji("MON^BMXMON("_BMXPORT_","_BMXNS_","_BMXWIN_")") + ; "RTN","BMXMON",36,0) - J MON^BMXMON(BMXPORT,BMXNS,BMXWIN)::5 I '$T W:BMXVB "Unable to run BMXNet Monitor in background.",! Q ;IHS/OIT/HMW SAC Exemption Applied For + ;Integrated security "RTN","BMXMON",37,0) - F %=1:1:5 D Q:%=0 + S BMXWIN=$G(IS,1) "RTN","BMXMON",38,0) - . W:BMXVB "Checking if BMXNet Monitor has started...",! + ; "RTN","BMXMON",39,0) - . H 1 + ;J DEBUG^%Serenji("MON^BMXMON("_BMXPORT_","_BMXNS_","_BMXWIN_")") "RTN","BMXMON",40,0) - . S:'$$MARKER(BMXPORT,0) %=0 + J MON^BMXMON(BMXPORT,BMXNS,BMXWIN)::5 I '$T W:BMXVB "Unable to run BMXNet Monitor in background.",! Q ;IHS/OIT/HMW SAC Exemption Applied For "RTN","BMXMON",41,0) - I $$MARKER(BMXPORT,0) D + F %=1:1:5 D Q:%=0 "RTN","BMXMON",42,0) - . W:BMXVB !,"BMXNet Monitor could not be started!",! + . W:BMXVB "Checking if BMXNet Monitor has started...",! "RTN","BMXMON",43,0) - . W:BMXVB "Check if port "_BMXPORT_" is busy on this CPU.",! + . H 1 "RTN","BMXMON",44,0) - . D MARKER(BMXPORT,-1) ;clear marker + . S:'$$MARKER(BMXPORT,0) %=0 "RTN","BMXMON",45,0) - E W:BMXVB "BMXNet Monitor started successfully." + I $$MARKER(BMXPORT,0) D "RTN","BMXMON",46,0) - ; + . W:BMXVB !,"BMXNet Monitor could not be started!",! "RTN","BMXMON",47,0) - Q + . W:BMXVB "Check if port "_BMXPORT_" is busy on this CPU.",! "RTN","BMXMON",48,0) - ; + . D MARKER(BMXPORT,-1) ;clear marker "RTN","BMXMON",49,0) -RESTART ;EP + E W:BMXVB "BMXNet Monitor started successfully." "RTN","BMXMON",50,0) - ;Stop and Start all monitors in BMX MONITOR file + ; "RTN","BMXMON",51,0) - ;Called by option BMX MONITOR START + Q "RTN","BMXMON",52,0) ; "RTN","BMXMON",53,0) - D STOPALL +RESTART ;EP "RTN","BMXMON",54,0) - D STRTALL + ;Stop and Start all monitors in BMX MONITOR file "RTN","BMXMON",55,0) - Q + ;Called by option BMX MONITOR START "RTN","BMXMON",56,0) ; "RTN","BMXMON",57,0) -STRTALL ;EP + D STOPALL "RTN","BMXMON",58,0) - ;Start all monitors in BMX MONITOR file + D STRTALL "RTN","BMXMON",59,0) - ; + Q "RTN","BMXMON",60,0) - N BMXIEN + ; "RTN","BMXMON",61,0) - S BMXIEN=0 F S BMXIEN=$O(^BMXMON(BMXIEN)) Q:'+BMXIEN D +STRTALL ;EP "RTN","BMXMON",62,0) - . S BMXNOD=$G(^BMXMON(BMXIEN,0)) + ;Start all monitors in BMX MONITOR file "RTN","BMXMON",63,0) - . Q:'+BMXNOD + ; "RTN","BMXMON",64,0) - . Q:'+$P(BMXNOD,U,2) + N BMXIEN "RTN","BMXMON",65,0) - . S BMXWIN=$P(BMXNOD,U,3) -"RTN","BMXMON",66,0) - . S BMXNS=$P(BMXNOD,U,4) -"RTN","BMXMON",67,0) - . D STRT($P(BMXNOD,U),BMXNS,BMXWIN,0) -"RTN","BMXMON",68,0) - . Q -"RTN","BMXMON",69,0) - Q -"RTN","BMXMON",70,0) - ; -"RTN","BMXMON",71,0) -STOPALL ;EP -"RTN","BMXMON",72,0) - ;Stop all monitors in BMXNET MONITOR file -"RTN","BMXMON",73,0) - ; -"RTN","BMXMON",74,0) - N BMXIEN,BMXPORT -"RTN","BMXMON",75,0) S BMXIEN=0 F S BMXIEN=$O(^BMXMON(BMXIEN)) Q:'+BMXIEN D -"RTN","BMXMON",76,0) +"RTN","BMXMON",66,0) . S BMXNOD=$G(^BMXMON(BMXIEN,0)) -"RTN","BMXMON",77,0) +"RTN","BMXMON",67,0) . Q:'+BMXNOD -"RTN","BMXMON",78,0) - . S BMXPORT=+BMXNOD -"RTN","BMXMON",79,0) - . D STOP(BMXPORT,0) -"RTN","BMXMON",80,0) +"RTN","BMXMON",68,0) + . Q:'+$P(BMXNOD,U,2) +"RTN","BMXMON",69,0) + . S BMXWIN=$P(BMXNOD,U,3) +"RTN","BMXMON",70,0) + . S BMXNS=$P(BMXNOD,U,4) +"RTN","BMXMON",71,0) + . D STRT($P(BMXNOD,U),BMXNS,BMXWIN,0) +"RTN","BMXMON",72,0) + . Q +"RTN","BMXMON",73,0) Q -"RTN","BMXMON",81,0) +"RTN","BMXMON",74,0) ; +"RTN","BMXMON",75,0) +STOPALL ;EP +"RTN","BMXMON",76,0) + ;Stop all monitors in BMXNET MONITOR file +"RTN","BMXMON",77,0) + ; +"RTN","BMXMON",78,0) + N BMXIEN,BMXPORT +"RTN","BMXMON",79,0) + S BMXIEN=0 F S BMXIEN=$O(^BMXMON(BMXIEN)) Q:'+BMXIEN D +"RTN","BMXMON",80,0) + . S BMXNOD=$G(^BMXMON(BMXIEN,0)) +"RTN","BMXMON",81,0) + . Q:'+BMXNOD "RTN","BMXMON",82,0) -STOP(BMXPORT,VB) ;EP Stop monitor on BMXPORT + . S BMXPORT=+BMXNOD "RTN","BMXMON",83,0) - ;Open a channel to monitor on BMXPORT and send shutdown request + . D STOP(BMXPORT,0) "RTN","BMXMON",84,0) - ;Optional VB = Verbose. Default is 1 + Q "RTN","BMXMON",85,0) ; "RTN","BMXMON",86,0) - N IP,REF,X,DEV +STOP(BMXPORT,VB) ;EP Stop monitor on BMXPORT "RTN","BMXMON",87,0) - S U="^" D HOME^%ZIS + ;Open a channel to monitor on BMXPORT and send shutdown request "RTN","BMXMON",88,0) - ; + ;Optional VB = Verbose. Default is 1 "RTN","BMXMON",89,0) - ;Verbose -"RTN","BMXMON",90,0) - S BMXVB=$G(VB,1) -"RTN","BMXMON",91,0) ; +"RTN","BMXMON",90,0) + N IP,REF,X,DEV +"RTN","BMXMON",91,0) + S U="^" D HOME^%ZIS "RTN","BMXMON",92,0) - D:BMXVB EN^DDIOL("Stop BMXNet Monitor...") + ; "RTN","BMXMON",93,0) - X ^%ZOSF("UCI") S REF=Y + ;Verbose "RTN","BMXMON",94,0) - S IP="0.0.0.0" ;get server IP + S BMXVB=$G(VB,1) "RTN","BMXMON",95,0) - IF $G(BMXPORT)="" S BMXPORT=9200 + ; "RTN","BMXMON",96,0) - ; -- make sure the listener is running + D:BMXVB EN^DDIOL("Stop BMXNet Monitor...") "RTN","BMXMON",97,0) - I $$SEMAPHOR(BMXPORT,"LOCK") D Q + X ^%ZOSF("UCI") S REF=Y "RTN","BMXMON",98,0) - . S %=$$SEMAPHOR(BMXPORT,"UNLOCK") + S IP="0.0.0.0" ;get server IP "RTN","BMXMON",99,0) - . D:BMXVB EN^DDIOL("BMXNet Monitor does not appear to be running.") + IF $G(BMXPORT)="" S BMXPORT=9200 "RTN","BMXMON",100,0) - ; -- send the shutdown message to the TCP Listener process + ; -- make sure the listener is running "RTN","BMXMON",101,0) - D CALL^%ZISTCP("127.0.0.1",BMXPORT) I POP D Q + I $$SEMAPHOR(BMXPORT,"LOCK") D Q "RTN","BMXMON",102,0) . S %=$$SEMAPHOR(BMXPORT,"UNLOCK") "RTN","BMXMON",103,0) . D:BMXVB EN^DDIOL("BMXNet Monitor does not appear to be running.") "RTN","BMXMON",104,0) - U IO + ; -- send the shutdown message to the TCP Listener process "RTN","BMXMON",105,0) - S X=$T(+2),X=$P(X,";;",2),X=$P(X,";") + D CALL^%ZISTCP("127.0.0.1",BMXPORT) I POP D Q "RTN","BMXMON",106,0) - IF X="" S X=0 + . S %=$$SEMAPHOR(BMXPORT,"UNLOCK") "RTN","BMXMON",107,0) - S X=$C($L(X))_X + . D:BMXVB EN^DDIOL("BMXNet Monitor does not appear to be running.") "RTN","BMXMON",108,0) - W "{BMX}00011TCPshutdown",! + U IO "RTN","BMXMON",109,0) - R X#3:5 + S X=$T(+2),X=$P(X,";;",2),X=$P(X,";") "RTN","BMXMON",110,0) - D CLOSE^%ZISTCP + IF X="" S X=0 "RTN","BMXMON",111,0) - I X="ack" D:BMXVB EN^DDIOL("BMXNet Monitor has been shutdown.") + S X=$C($L(X))_X "RTN","BMXMON",112,0) - E D:BMXVB EN^DDIOL("Shutdown Failed!") + W "{BMX}00011TCPshutdown",! "RTN","BMXMON",113,0) - ;change process name + R X#3:5 "RTN","BMXMON",114,0) - D CHPRN($J) + D CLOSE^%ZISTCP "RTN","BMXMON",115,0) - Q + I X="ack" D:BMXVB EN^DDIOL("BMXNet Monitor has been shutdown.") "RTN","BMXMON",116,0) - ; + E D:BMXVB EN^DDIOL("Shutdown Failed!") "RTN","BMXMON",117,0) -MON(BMXPORT,NS,IS) ;Monitor port for connection & shutdown requests + ;change process name "RTN","BMXMON",118,0) - ;NS = Namespace to Start monitor + D CHPRN($J) "RTN","BMXMON",119,0) - ;IS = 1: Enable integrated security + Q "RTN","BMXMON",120,0) ; "RTN","BMXMON",121,0) - N BMXDEV,BMXQUIT,BMXDTIME,BMXLEN,BMXACT,BMXWIN,BMXNS +MON(BMXPORT,NS,IS) ;Monitor port for connection & shutdown requests "RTN","BMXMON",122,0) - S BMXQUIT=0,BMXDTIME=999999 + ;NS = Namespace to Start monitor "RTN","BMXMON",123,0) - ; + ;IS = 1: Enable integrated security "RTN","BMXMON",124,0) - ;Set lock -"RTN","BMXMON",125,0) - Q:'$$SEMAPHOR(BMXPORT,"LOCK") -"RTN","BMXMON",126,0) - ;Clear problem marker -"RTN","BMXMON",127,0) - D MARKER(BMXPORT,-1) -"RTN","BMXMON",128,0) - ;H 1 -"RTN","BMXMON",129,0) ; +"RTN","BMXMON",125,0) + N BMXDEV,BMXQUIT,BMXDTIME,BMXLEN,BMXACT,BMXWIN,BMXNS +"RTN","BMXMON",126,0) + S BMXQUIT=0,BMXDTIME=999999 +"RTN","BMXMON",127,0) + ; +"RTN","BMXMON",128,0) + ;Set lock +"RTN","BMXMON",129,0) + Q:'$$SEMAPHOR(BMXPORT,"LOCK") "RTN","BMXMON",130,0) - ;Namespace + ;Clear problem marker "RTN","BMXMON",131,0) - X ^%ZOSF("UCI") + D MARKER(BMXPORT,-1) "RTN","BMXMON",132,0) - S BMXNS=$G(NS,$P(Y,",")) + ;H 1 "RTN","BMXMON",133,0) ; "RTN","BMXMON",134,0) - ;Integrated security + ;Namespace "RTN","BMXMON",135,0) - S BMXWIN=$G(IS,1) + X ^%ZOSF("UCI") "RTN","BMXMON",136,0) - ; + S BMXNS=$G(NS,$P(Y,",")) "RTN","BMXMON",137,0) - ;Open server port; + ; "RTN","BMXMON",138,0) - S BMXDEV="|TCP|"_BMXPORT + ;Integrated security "RTN","BMXMON",139,0) - C BMXDEV ;IHS/OIT/HMW SAC Exemption Applied For + S BMXWIN=$G(IS,1) "RTN","BMXMON",140,0) - O BMXDEV:(:BMXPORT:"S"):5 I '$T Q ;IHS/OIT/HMW SAC Exemption Applied For + ; "RTN","BMXMON",141,0) - ; + ;Open server port; "RTN","BMXMON",142,0) - ;S BMXDTIME(1)=BMXDTIME ; TODO: Set timeouts + S BMXDEV="|TCP|"_BMXPORT "RTN","BMXMON",143,0) - S BMXDTIME(1)=.5 ;HMW 20050120 + C BMXDEV ;IHS/OIT/HMW SAC Exemption Applied For "RTN","BMXMON",144,0) - U BMXDEV + O BMXDEV:(:BMXPORT:"S"):5 I '$T Q ;IHS/OIT/HMW SAC Exemption Applied For "RTN","BMXMON",145,0) - F D Q:BMXQUIT + ; "RTN","BMXMON",146,0) - . R BMXACT#5:BMXDTIME ;Read first 5 chars from TCP buffer, timeout=BMXDTIME + ;S BMXDTIME(1)=BMXDTIME ; TODO: Set timeouts "RTN","BMXMON",147,0) - . I BMXACT'="{BMX}" S BMXQUIT=1 Q + S BMXDTIME(1)=.5 ;HMW 20050120 "RTN","BMXMON",148,0) - . R BMXACT#5:BMXDTIME ;Read next 5 chars - message length + U BMXDEV "RTN","BMXMON",149,0) - . S BMXLEN=+BMXACT + F D Q:BMXQUIT "RTN","BMXMON",150,0) - . R BMXACT#BMXLEN:BMXDTIME + . R BMXACT#5:BMXDTIME ;Read first 5 chars from TCP buffer, timeout=BMXDTIME "RTN","BMXMON",151,0) - . I $P(BMXACT,"^")="TCPconnect" D Q + . I BMXACT'="{BMX}" S BMXQUIT=1 Q "RTN","BMXMON",152,0) - . . ;IHS/OIT/HMW added validity check for namespace + . R BMXACT#5:BMXDTIME ;Read next 5 chars - message length "RTN","BMXMON",153,0) - . . N BMXNSJ,X,Y + . S BMXLEN=+BMXACT "RTN","BMXMON",154,0) - . . S BMXNSJ=$P(BMXACT,"^",2) ;Namespace + . R BMXACT#BMXLEN:BMXDTIME "RTN","BMXMON",155,0) - . . S BMXNSJ=$P(BMXNSJ,",") + . I $P(BMXACT,"^")="TCPconnect" D Q "RTN","BMXMON",156,0) - . . ;if passed in namespace is invalid, new job will start in listener namespace + . . ;IHS/OIT/HMW added validity check for namespace "RTN","BMXMON",157,0) - . . I BMXNSJ]"" S X=BMXNSJ X ^%ZOSF("UCICHECK") S:Y=0 BMXNSJ=BMXNS + . . N BMXNSJ,X,Y "RTN","BMXMON",158,0) - . . ;Job another MONITOR using concurrent connection + . . S BMXNSJ=$P(BMXACT,"^",2) ;Namespace "RTN","BMXMON",159,0) - . . ;J DEBUG^%Serenji("SESSION^BMXMON("_BMXWIN_")"):(:5:BMXDEV:BMXDEV):5 + . . S BMXNSJ=$P(BMXNSJ,",") "RTN","BMXMON",160,0) - . . ;J SESSION^BMXMON(BMXWIN)[$P(BMXNS,",")]:(:5:BMXDEV:BMXDEV):5 ;IHS/OIT/HMW SAC Exemption Applied For + . . ;if passed in namespace is invalid, new job will start in listener namespace "RTN","BMXMON",161,0) - . . J SESSION^BMXMON(BMXWIN)[BMXNSJ]:(:5:BMXDEV:BMXDEV):5 ;IHS/OIT/HMW SAC Exemption Applied For + . . I BMXNSJ]"" S X=BMXNSJ X ^%ZOSF("UCICHECK") S:Y=0 BMXNSJ=BMXNS "RTN","BMXMON",162,0) - . I $P(BMXACT,"^")="TCPshutdown" S BMXQUIT=1 W "ack",! + . . ;Job another MONITOR using concurrent connection "RTN","BMXMON",163,0) - S %=$$SEMAPHOR(BMXPORT,"UNLOCK") ; destroy 'running flag' + . . ;J DEBUG^%Serenji("SESSION^BMXMON("_BMXWIN_")"):(:5:BMXDEV:BMXDEV):5 "RTN","BMXMON",164,0) - Q + . . ;J SESSION^BMXMON(BMXWIN)[$P(BMXNS,",")]:(:5:BMXDEV:BMXDEV):5 ;IHS/OIT/HMW SAC Exemption Applied For "RTN","BMXMON",165,0) - ; + . . J SESSION^BMXMON(BMXWIN)[BMXNSJ]:(:5:BMXDEV:BMXDEV):5 ;IHS/OIT/HMW SAC Exemption Applied For "RTN","BMXMON",166,0) -XINETD ;PEP Directly from xinetd or inetd for GT.M + . I $P(BMXACT,"^")="TCPshutdown" S BMXQUIT=1 W "ack",! "RTN","BMXMON",167,0) - N BMXDEV + S %=$$SEMAPHOR(BMXPORT,"UNLOCK") ; destroy 'running flag' "RTN","BMXMON",168,0) - S U="^",$ETRAP="D ^%ZTER H" ;Set up the error trap + Q "RTN","BMXMON",169,0) - S $ZT="" ;Clear old trap + ; "RTN","BMXMON",170,0) - ; GT.M specific error and device code +XINETD ;PEP Directly from xinetd or inetd for GT.M "RTN","BMXMON",171,0) - S @("$ZINTERRUPT=""I $$JOBEXAM^ZU($ZPOSITION)""") + N BMXDEV "RTN","BMXMON",172,0) - S BMXDEV=$P X "U BMXDEV:(nowrap:nodelimiter:ioerror=""TRAP"")" + S U="^",$ETRAP="D ^%ZTER H" ;Set up the error trap "RTN","BMXMON",173,0) - S %="",@("%=$ZTRNLNM(""REMOTE_HOST"")") S:$L(%) IO("GTM-IP")=% + S $ZT="" ;Clear old trap "RTN","BMXMON",174,0) - I %["::ffff:" S IO("GTM-IP")=$P(%,"::ffff:",2) ; IPv6 support + ; GT.M specific error and device code "RTN","BMXMON",175,0) - ; Read message type + S @("$ZINTERRUPT=""I $$JOBEXAM^ZU($ZPOSITION)""") "RTN","BMXMON",176,0) - N BMXACT,BMXDTIME + S BMXDEV=$P X "U BMXDEV:(nowrap:nodelimiter:ioerror=""TRAP"")" "RTN","BMXMON",177,0) - S BMXDTIME=999999 + S %="",@("%=$ZTRNLNM(""REMOTE_HOST"")") S:$L(%) IO("GTM-IP")=% "RTN","BMXMON",178,0) - R BMXACT#5:BMXDTIME + I %["::ffff:" S IO("GTM-IP")=$P(%,"::ffff:",2) ; IPv6 support "RTN","BMXMON",179,0) - Q:BMXACT'="{BMX}" ; Not a BMX message - quit. + ; Read message type "RTN","BMXMON",180,0) - ; Fall through to below... + N BMXACT,BMXDTIME "RTN","BMXMON",181,0) -GTMLNX ;EP from XWBTCPM for GT.M + S BMXDTIME=10 ; change in 2.2 instead of 9999999 - initial conn timout "RTN","BMXMON",182,0) - ; not implementing NS and integrated authentication + R BMXACT#5:BMXDTIME "RTN","BMXMON",183,0) - ; Vars: Read timeout, msg len, msg, windows auth, Namespace + Q:BMXACT'="{BMX}" ; Not a BMX message - quit. "RTN","BMXMON",184,0) - N BMXDTIME,BMXLEN,BMXACT,BMXWIN,BMXNS + ; Fall through to below... "RTN","BMXMON",185,0) - S BMXNSJ="",BMXWIN=0 ; No NS on GT.M, no Windows Authentication +GTMLNX ;EP from XWBTCPM for GT.M "RTN","BMXMON",186,0) - S BMXDTIME(1)=.5,BMXDTIME=999999 + ; not implementing NS and integrated authentication "RTN","BMXMON",187,0) - R BMXACT#5:BMXDTIME ;Read next 5 chars - message length + ; Vars: Read timeout, msg len, msg, windows auth, Namespace "RTN","BMXMON",188,0) - S BMXLEN=+BMXACT + N BMXDTIME,BMXLEN,BMXACT,BMXWIN,BMXNS "RTN","BMXMON",189,0) - R BMXACT#BMXLEN:BMXDTIME + S BMXNSJ="",BMXWIN=0 ; No NS on GT.M, no Windows Authentication "RTN","BMXMON",190,0) - I $P(BMXACT,"^")="TCPconnect" G SESSRES + S BMXDTIME(1)=.5,BMXDTIME=180 ; sign on timeout "RTN","BMXMON",191,0) - I $P(BMXACT,"^")="TCPshutdown" W "ack",! Q + R BMXACT#5:BMXDTIME ;Read next 5 chars - message length "RTN","BMXMON",192,0) - Q ; Should't hit this quit, but just in case + S BMXLEN=+BMXACT "RTN","BMXMON",193,0) - ; + R BMXACT#BMXLEN:BMXDTIME "RTN","BMXMON",194,0) -SESSION(BMXWIN) ;EP + I $P(BMXACT,"^")="TCPconnect" G SESSRES "RTN","BMXMON",195,0) - ;Start session monitor + I $P(BMXACT,"^")="TCPshutdown" W "ack",! Q "RTN","BMXMON",196,0) - ;BMXWIN = 1: Enable integrated security + Q ; Should't hit this quit, but just in case "RTN","BMXMON",197,0) -SESSRES ;EP - reentry point from trap + ; "RTN","BMXMON",198,0) - ;IHS/OIT/HMW SAC Exemption Applied For +SESSION(BMXWIN) ;EP "RTN","BMXMON",199,0) - N $ESTACK S $ETRAP="D ETRAP^BMXMON" + ;Start session monitor "RTN","BMXMON",200,0) - S DIQUIET=1,U="^" D DT^DICRW + ;BMXWIN = 1: Enable integrated security "RTN","BMXMON",201,0) - D UNREGALL^BMXMEVN ;Unregister all events for this session +SESSRES ;EP - reentry point from trap "RTN","BMXMON",202,0) - U $P D SESSMAIN + ;IHS/OIT/HMW SAC Exemption Applied For "RTN","BMXMON",203,0) - ;Turn off the error trap for the exit + S BMXDTIME(1)=.5,BMXDTIME=$$BAT^XUPARAM ; new in 2.2: Use kernel rpc timeout instead of 9999999 "RTN","BMXMON",204,0) - S $ETRAP="" + D SETNM^%ZOSV("BMX:ip"_$P(IO("GTM-IP"),".",3,4)) ; new in 2.2: set proces name "RTN","BMXMON",205,0) - I $G(DUZ) D LOGOUT^XUSRB + N $ESTACK S $ETRAP="D ETRAP^BMXMON" "RTN","BMXMON",206,0) - K BMXR,BMXARY + S DIQUIET=1,U="^" D DT^DICRW "RTN","BMXMON",207,0) - C $P ;IHS/OIT/HMW SAC Exemption Applied For -"RTN","BMXMON",208,0) - Q -"RTN","BMXMON",209,0) - ; -"RTN","BMXMON",210,0) -SESSMAIN ; -"RTN","BMXMON",211,0) - N BMXTBUF -"RTN","BMXMON",212,0) - D SETUP^BMXMSEC(.RET) ;Setup required system vars -"RTN","BMXMON",213,0) - S U="^" -"RTN","BMXMON",214,0) - U $P -"RTN","BMXMON",215,0) - F D Q:BMXTBUF="#BYE#" -"RTN","BMXMON",216,0) - . R BMXTBUF#11:BMXDTIME IF '$T D TIMEOUT S BMXTBUF="#BYE#" Q -"RTN","BMXMON",217,0) - . I BMXTBUF["XQKEY" S HWMP=1 -"RTN","BMXMON",218,0) - . I BMXTBUF="#BYE#" Q -"RTN","BMXMON",219,0) - . S BMXHTYPE=$S($E(BMXTBUF,1,5)="{BMX}":1,1:0) ;check HDR -"RTN","BMXMON",220,0) - . I 'BMXHTYPE S BMXTBUF="#BYE#" D SNDERR W BMXTBUF,$C(4),! Q -"RTN","BMXMON",221,0) - . S BMXTLEN=$E(BMXTBUF,6,10),L=$E(BMXTBUF,11,11) -"RTN","BMXMON",222,0) - . R BMXTBUF#4:BMXDTIME(1) S BMXTBUF=L_BMXTBUF -"RTN","BMXMON",223,0) - . S BMXPLEN=BMXTBUF -"RTN","BMXMON",224,0) - . R BMXTBUF#BMXPLEN:BMXDTIME(1) -"RTN","BMXMON",225,0) - . I $P(BMXTBUF,U)="TCPconnect" D Q -"RTN","BMXMON",226,0) - . . D SNDERR W "accept",$C(4),! ;Ack -"RTN","BMXMON",227,0) - . IF BMXHTYPE D -"RTN","BMXMON",228,0) - . . K BMXR,BMXARY -"RTN","BMXMON",229,0) - . . IF BMXTBUF="#BYE#" D SNDERR W "#BYE#",$C(4),! Q -"RTN","BMXMON",230,0) - . . S BMXTLEN=BMXTLEN-15 -"RTN","BMXMON",231,0) - . . D CALLP^BMXMBRK(.BMXR,BMXTBUF) -"RTN","BMXMON",232,0) - . . S BMXPTYPE=$S('$D(BMXPTYPE):1,BMXPTYPE<1:1,BMXPTYPE>6:1,1:BMXPTYPE) -"RTN","BMXMON",233,0) - . IF BMXTBUF="#BYE#" Q -"RTN","BMXMON",234,0) - . U $P -"RTN","BMXMON",235,0) - . D SNDERR ;Clears SNDERR parameters -"RTN","BMXMON",236,0) - . D SND -"RTN","BMXMON",237,0) - . D WRITE($C(4)) W ! ;send eot and flush buffer -"RTN","BMXMON",238,0) D UNREGALL^BMXMEVN ;Unregister all events for this session -"RTN","BMXMON",239,0) - Q ;End Of Main -"RTN","BMXMON",240,0) - ; -"RTN","BMXMON",241,0) -SNDERR ;send error information -"RTN","BMXMON",242,0) - ;BMXSEC is the security packet, BMXERROR is application packet -"RTN","BMXMON",243,0) - N X -"RTN","BMXMON",244,0) - S X=$E($G(BMXSEC),1,255) -"RTN","BMXMON",245,0) - W $C($L(X))_X W ! -"RTN","BMXMON",246,0) - S X=$E($G(BMXERROR),1,255) -"RTN","BMXMON",247,0) - W $C($L(X))_X W ! -"RTN","BMXMON",248,0) - S BMXERROR="",BMXSEC="" ;clears parameters -"RTN","BMXMON",249,0) +"RTN","BMXMON",208,0) + U $P D SESSMAIN +"RTN","BMXMON",209,0) + ;Turn off the error trap for the exit +"RTN","BMXMON",210,0) + S $ETRAP="" +"RTN","BMXMON",211,0) + I $G(DUZ) D LOGOUT^XUSRB +"RTN","BMXMON",212,0) + K BMXR,BMXARY +"RTN","BMXMON",213,0) + C $P ;IHS/OIT/HMW SAC Exemption Applied For +"RTN","BMXMON",214,0) Q -"RTN","BMXMON",250,0) +"RTN","BMXMON",215,0) ; -"RTN","BMXMON",251,0) -WRITE(BMXSTR) ;Write a data string -"RTN","BMXMON",252,0) - ; -"RTN","BMXMON",253,0) - I $L(BMXSTR)<511 W ! W BMXSTR Q -"RTN","BMXMON",254,0) - ;Handle a long string -"RTN","BMXMON",255,0) - W ! ;Flush the buffer -"RTN","BMXMON",256,0) - F Q:'$L(BMXSTR) W $E(BMXSTR,1,510),! S BMXSTR=$E(BMXSTR,511,99999) -"RTN","BMXMON",257,0) - Q -"RTN","BMXMON",258,0) -SND ; -- send data for all, Let WRITE sort it out -"RTN","BMXMON",259,0) - N I,T -"RTN","BMXMON",260,0) - ; -"RTN","BMXMON",261,0) - ; -- error or abort occurred, send null -"RTN","BMXMON",262,0) - IF $L(BMXSEC)>0 D WRITE("") Q -"RTN","BMXMON",263,0) - ; -- single value -"RTN","BMXMON",264,0) - IF BMXPTYPE=1 S BMXR=$G(BMXR) D WRITE(BMXR) Q -"RTN","BMXMON",265,0) - ; -- table delimited by CR+LF -"RTN","BMXMON",266,0) - IF BMXPTYPE=2 D Q -"RTN","BMXMON",267,0) - . S I="" F S I=$O(BMXR(I)) Q:I="" D WRITE(BMXR(I)),WRITE($C(13,10)) -"RTN","BMXMON",268,0) - ; -- word processing -"RTN","BMXMON",269,0) - IF BMXPTYPE=3 D Q -"RTN","BMXMON",270,0) - . S I="" F S I=$O(BMXR(I)) Q:I="" D WRITE(BMXR(I)) D:BMXWRAP WRITE($C(13,10)) -"RTN","BMXMON",271,0) - ; -- global array -"RTN","BMXMON",272,0) - IF BMXPTYPE=4 D Q -"RTN","BMXMON",273,0) - . S I=$G(BMXR) Q:I="" S T=$E(I,1,$L(I)-1) D:$D(@I)>10 WRITE(@I) -"RTN","BMXMON",274,0) - . F S I=$Q(@I) Q:I=""!(I'[T) W ! W @I W:BMXWRAP&(@I'=$C(13,10)) $C(13,10) -"RTN","BMXMON",275,0) - . IF $D(@BMXR) K @BMXR -"RTN","BMXMON",276,0) - ; -- global instance -"RTN","BMXMON",277,0) - IF BMXPTYPE=5 S BMXR=$G(@BMXR) D WRITE(BMXR) Q -"RTN","BMXMON",278,0) - ; -- variable length records only good upto 255 char) -"RTN","BMXMON",279,0) - IF BMXPTYPE=6 S I="" F S I=$O(BMXR(I)) Q:I="" D WRITE($C($L(BMXR(I)))),WRITE(BMXR(I)) -"RTN","BMXMON",280,0) - Q -"RTN","BMXMON",281,0) - ; -"RTN","BMXMON",282,0) -TIMEOUT ;Do this on MAIN loop timeout -"RTN","BMXMON",283,0) - I $G(DUZ)>0 D SNDERR,WRITE("#BYE#"_$C(4)) Q -"RTN","BMXMON",284,0) - ;Sign-on timeout -"RTN","BMXMON",285,0) - S BMXR(0)=0,BMXR(1)=1,BMXR(2)="",BMXR(3)="TIME-OUT",BMXPTYPE=2 -"RTN","BMXMON",286,0) - D SNDERR,SND,WRITE($C(4)) -"RTN","BMXMON",287,0) - Q -"RTN","BMXMON",288,0) - ; -"RTN","BMXMON",289,0) -SEMAPHOR(BMXTSKT,BMXACT) ;Lock/Unlock BMXMON semaphore -"RTN","BMXMON",290,0) - N RESULT -"RTN","BMXMON",291,0) - S U="^",RESULT=1 -"RTN","BMXMON",292,0) - D GETENV^%ZOSV ;get Y=UCI^VOL^NODE^BOXLOOKUP of current system -"RTN","BMXMON",293,0) - I BMXACT="LOCK" D -"RTN","BMXMON",294,0) - . L +^BMXMON("BMXMON",$P(Y,U,2),$P(Y,U),$P(Y,U,4),BMXTSKT):1 -"RTN","BMXMON",295,0) - . S RESULT=$T -"RTN","BMXMON",296,0) - E L -^BMXMON("BMXMON",$P(Y,U,2),$P(Y,U),$P(Y,U,4),BMXTSKT) -"RTN","BMXMON",297,0) - Q RESULT -"RTN","BMXMON",298,0) - ; -"RTN","BMXMON",299,0) -CHPRN(N) ;Change process name to N. -"RTN","BMXMON",300,0) - D SETNM^%ZOSV($E(N,1,15)) -"RTN","BMXMON",301,0) - Q -"RTN","BMXMON",302,0) - ; -"RTN","BMXMON",303,0) -MARKER(BMXPORT,BMXMODE) ;Set/Test/Clear Problem Marker, BMXMODE=0 is a function -"RTN","BMXMON",304,0) - N IP,Y,%,REF X ^%ZOSF("UCI") S REF=Y,IP="0.0.0.0",%=0 -"RTN","BMXMON",305,0) - L +^BMX(IP,REF,BMXPORT,"PROBLEM MARKER"):1 -"RTN","BMXMON",306,0) - I BMXMODE=1 S ^BMX(IP,REF,BMXPORT,"PROBLEM MARKER")=1 -"RTN","BMXMON",307,0) - I BMXMODE=0 S:$D(^BMX(IP,REF,BMXPORT,"PROBLEM MARKER")) %=1 -"RTN","BMXMON",308,0) - I BMXMODE=-1 K ^BMX(IP,REF,BMXPORT,"PROBLEM MARKER") -"RTN","BMXMON",309,0) - L -^BMX(IP,REF,BMXPORT,"PROBLEM MARKER") -"RTN","BMXMON",310,0) - Q:BMXMODE=0 % Q -"RTN","BMXMON",311,0) - ; -"RTN","BMXMON",312,0) -ETRAP ; -- on trapped error, send error info to client -"RTN","BMXMON",313,0) - N BMXERC,BMXERR,BMXLGR -"RTN","BMXMON",314,0) - ;Change trapping during trap. -"RTN","BMXMON",315,0) - S $ETRAP="D ^%ZTER HALT" -"RTN","BMXMON",316,0) - S BMXERC=$$EC^%ZOSV -"RTN","BMXMON",317,0) - S BMXERR="M ERROR="_BMXERC_$C(13,10)_"LAST REF=" -"RTN","BMXMON",318,0) - S BMXLGR=$$LGR^%ZOSV_$C(4) -"RTN","BMXMON",319,0) - S BMXERR=BMXERR_BMXLGR -"RTN","BMXMON",320,0) - D ^%ZTER ;%ZTER clears $ZE and $ECODE -"RTN","BMXMON",321,0) - I (BMXERC["READ")!(BMXERC["WRITE")!(BMXERC["SYSTEM-F") D:$G(DUZ) LOGOUT^XUSRB HALT -"RTN","BMXMON",322,0) +"RTN","BMXMON",216,0) +SESSMAIN ; +"RTN","BMXMON",217,0) + N BMXTBUF +"RTN","BMXMON",218,0) + D SETUP^BMXMSEC(.RET) ;Setup required system vars +"RTN","BMXMON",219,0) + S U="^" +"RTN","BMXMON",220,0) U $P -"RTN","BMXMON",323,0) - D SNDERR,WRITE(BMXERR) W ! -"RTN","BMXMON",324,0) - S $ETRAP="Q:($ESTACK&'$QUIT) Q:$ESTACK -9 S $ECODE="""" G SESSRES^BMXMON",$ECODE=",U99," -"RTN","BMXMON",325,0) +"RTN","BMXMON",221,0) + F D Q:BMXTBUF="#BYE#" +"RTN","BMXMON",222,0) + . R BMXTBUF#11:BMXDTIME IF '$T D TIMEOUT S BMXTBUF="#BYE#" Q +"RTN","BMXMON",223,0) + . I BMXTBUF["XQKEY" S HWMP=1 +"RTN","BMXMON",224,0) + . I BMXTBUF="#BYE#" Q +"RTN","BMXMON",225,0) + . S BMXHTYPE=$S($E(BMXTBUF,1,5)="{BMX}":1,1:0) ;check HDR +"RTN","BMXMON",226,0) + . I 'BMXHTYPE S BMXTBUF="#BYE#" D SNDERR W BMXTBUF,$C(4),! Q +"RTN","BMXMON",227,0) + . S BMXTLEN=$E(BMXTBUF,6,10),L=$E(BMXTBUF,11,11) +"RTN","BMXMON",228,0) + . R BMXTBUF#4:BMXDTIME(1) S BMXTBUF=L_BMXTBUF +"RTN","BMXMON",229,0) + . S BMXPLEN=BMXTBUF +"RTN","BMXMON",230,0) + . R BMXTBUF#BMXPLEN:BMXDTIME(1) +"RTN","BMXMON",231,0) + . I $P(BMXTBUF,U)="TCPconnect" D Q +"RTN","BMXMON",232,0) + . . D SNDERR W "accept",$C(4),! ;Ack +"RTN","BMXMON",233,0) + . IF BMXHTYPE D +"RTN","BMXMON",234,0) + . . K BMXR,BMXARY +"RTN","BMXMON",235,0) + . . IF BMXTBUF="#BYE#" D SNDERR W "#BYE#",$C(4),! Q +"RTN","BMXMON",236,0) + . . S BMXTLEN=BMXTLEN-15 +"RTN","BMXMON",237,0) + . . D CALLP^BMXMBRK(.BMXR,BMXTBUF) +"RTN","BMXMON",238,0) + . . S BMXPTYPE=$S('$D(BMXPTYPE):1,BMXPTYPE<1:1,BMXPTYPE>6:1,1:BMXPTYPE) +"RTN","BMXMON",239,0) + . IF BMXTBUF="#BYE#" Q +"RTN","BMXMON",240,0) + . U $P +"RTN","BMXMON",241,0) + . D SNDERR ;Clears SNDERR parameters +"RTN","BMXMON",242,0) + . D SND +"RTN","BMXMON",243,0) + . D WRITE($C(4)) W ! ;send eot and flush buffer +"RTN","BMXMON",244,0) + D UNREGALL^BMXMEVN ;Unregister all events for this session +"RTN","BMXMON",245,0) + Q ;End Of Main +"RTN","BMXMON",246,0) + ; +"RTN","BMXMON",247,0) +SNDERR ;send error information +"RTN","BMXMON",248,0) + ;BMXSEC is the security packet, BMXERROR is application packet +"RTN","BMXMON",249,0) + N X +"RTN","BMXMON",250,0) + S X=$E($G(BMXSEC),1,255) +"RTN","BMXMON",251,0) + W $C($L(X))_X W ! +"RTN","BMXMON",252,0) + S X=$E($G(BMXERROR),1,255) +"RTN","BMXMON",253,0) + W $C($L(X))_X W ! +"RTN","BMXMON",254,0) + S BMXERROR="",BMXSEC="" ;clears parameters +"RTN","BMXMON",255,0) Q +"RTN","BMXMON",256,0) + ; +"RTN","BMXMON",257,0) +WRITE(BMXSTR) ;Write a data string +"RTN","BMXMON",258,0) + ; +"RTN","BMXMON",259,0) + I $L(BMXSTR)<511 W ! W BMXSTR Q +"RTN","BMXMON",260,0) + ;Handle a long string +"RTN","BMXMON",261,0) + W ! ;Flush the buffer +"RTN","BMXMON",262,0) + F Q:'$L(BMXSTR) W $E(BMXSTR,1,510),! S BMXSTR=$E(BMXSTR,511,99999) +"RTN","BMXMON",263,0) + Q +"RTN","BMXMON",264,0) +SND ; -- send data for all, Let WRITE sort it out +"RTN","BMXMON",265,0) + N I,T +"RTN","BMXMON",266,0) + ; +"RTN","BMXMON",267,0) + ; -- error or abort occurred, send null +"RTN","BMXMON",268,0) + IF $L(BMXSEC)>0 D WRITE("") Q +"RTN","BMXMON",269,0) + ; -- single value +"RTN","BMXMON",270,0) + IF BMXPTYPE=1 S BMXR=$G(BMXR) D WRITE(BMXR) Q +"RTN","BMXMON",271,0) + ; -- table delimited by CR+LF +"RTN","BMXMON",272,0) + IF BMXPTYPE=2 D Q +"RTN","BMXMON",273,0) + . S I="" F S I=$O(BMXR(I)) Q:I="" D WRITE(BMXR(I)),WRITE($C(13,10)) +"RTN","BMXMON",274,0) + ; -- word processing +"RTN","BMXMON",275,0) + IF BMXPTYPE=3 D Q +"RTN","BMXMON",276,0) + . S I="" F S I=$O(BMXR(I)) Q:I="" D WRITE(BMXR(I)) D:BMXWRAP WRITE($C(13,10)) +"RTN","BMXMON",277,0) + ; -- global array +"RTN","BMXMON",278,0) + IF BMXPTYPE=4 D Q +"RTN","BMXMON",279,0) + . S I=$G(BMXR) Q:I="" S T=$E(I,1,$L(I)-1) D:$D(@I)>10 WRITE(@I) +"RTN","BMXMON",280,0) + . F S I=$Q(@I) Q:I=""!(I'[T) W ! W @I W:BMXWRAP&(@I'=$C(13,10)) $C(13,10) +"RTN","BMXMON",281,0) + . IF $D(@BMXR) K @BMXR +"RTN","BMXMON",282,0) + ; -- global instance +"RTN","BMXMON",283,0) + IF BMXPTYPE=5 S BMXR=$G(@BMXR) D WRITE(BMXR) Q +"RTN","BMXMON",284,0) + ; -- variable length records only good upto 255 char) +"RTN","BMXMON",285,0) + IF BMXPTYPE=6 S I="" F S I=$O(BMXR(I)) Q:I="" D WRITE($C($L(BMXR(I)))),WRITE(BMXR(I)) +"RTN","BMXMON",286,0) + Q +"RTN","BMXMON",287,0) + ; +"RTN","BMXMON",288,0) +TIMEOUT ;Do this on MAIN loop timeout +"RTN","BMXMON",289,0) + I $G(DUZ)>0 D SNDERR,WRITE("#BYE#"_$C(4)) Q +"RTN","BMXMON",290,0) + ;Sign-on timeout +"RTN","BMXMON",291,0) + S BMXR(0)=0,BMXR(1)=1,BMXR(2)="",BMXR(3)="TIME-OUT",BMXPTYPE=2 +"RTN","BMXMON",292,0) + D SNDERR,SND,WRITE($C(4)) +"RTN","BMXMON",293,0) + Q +"RTN","BMXMON",294,0) + ; +"RTN","BMXMON",295,0) +SEMAPHOR(BMXTSKT,BMXACT) ;Lock/Unlock BMXMON semaphore +"RTN","BMXMON",296,0) + N RESULT +"RTN","BMXMON",297,0) + S U="^",RESULT=1 +"RTN","BMXMON",298,0) + D GETENV^%ZOSV ;get Y=UCI^VOL^NODE^BOXLOOKUP of current system +"RTN","BMXMON",299,0) + I BMXACT="LOCK" D +"RTN","BMXMON",300,0) + . L +^BMXMON("BMXMON",$P(Y,U,2),$P(Y,U),$P(Y,U,4),BMXTSKT):1 +"RTN","BMXMON",301,0) + . S RESULT=$T +"RTN","BMXMON",302,0) + E L -^BMXMON("BMXMON",$P(Y,U,2),$P(Y,U),$P(Y,U,4),BMXTSKT) +"RTN","BMXMON",303,0) + Q RESULT +"RTN","BMXMON",304,0) + ; +"RTN","BMXMON",305,0) +CHPRN(N) ;Change process name to N. +"RTN","BMXMON",306,0) + D SETNM^%ZOSV($E(N,1,15)) +"RTN","BMXMON",307,0) + Q +"RTN","BMXMON",308,0) + ; +"RTN","BMXMON",309,0) +MARKER(BMXPORT,BMXMODE) ;Set/Test/Clear Problem Marker, BMXMODE=0 is a function +"RTN","BMXMON",310,0) + N IP,Y,%,REF X ^%ZOSF("UCI") S REF=Y,IP="0.0.0.0",%=0 +"RTN","BMXMON",311,0) + L +^BMX(IP,REF,BMXPORT,"PROBLEM MARKER"):1 +"RTN","BMXMON",312,0) + I BMXMODE=1 S ^BMX(IP,REF,BMXPORT,"PROBLEM MARKER")=1 +"RTN","BMXMON",313,0) + I BMXMODE=0 S:$D(^BMX(IP,REF,BMXPORT,"PROBLEM MARKER")) %=1 +"RTN","BMXMON",314,0) + I BMXMODE=-1 K ^BMX(IP,REF,BMXPORT,"PROBLEM MARKER") +"RTN","BMXMON",315,0) + L -^BMX(IP,REF,BMXPORT,"PROBLEM MARKER") +"RTN","BMXMON",316,0) + Q:BMXMODE=0 % Q +"RTN","BMXMON",317,0) + ; +"RTN","BMXMON",318,0) +ETRAP ; -- on trapped error, send error info to client +"RTN","BMXMON",319,0) + N BMXERC,BMXERR,BMXLGR +"RTN","BMXMON",320,0) + ;Change trapping during trap. +"RTN","BMXMON",321,0) + S $ETRAP="D ^%ZTER HALT" +"RTN","BMXMON",322,0) + S BMXERC=$$EC^%ZOSV +"RTN","BMXMON",323,0) + S BMXERR="M ERROR="_BMXERC_$C(13,10)_"LAST REF=" +"RTN","BMXMON",324,0) + S BMXLGR=$$LGR^%ZOSV_$C(4) +"RTN","BMXMON",325,0) + S BMXERR=BMXERR_BMXLGR "RTN","BMXMON",326,0) - ; + D ^%ZTER ;%ZTER clears $ZE and $ECODE "RTN","BMXMON",327,0) -MENU ;EP - ENTRY ACTION FROM BMXMENU OPTION + I (BMXERC["READ")!(BMXERC["WRITE")!(BMXERC["SYSTEM-F") D:$G(DUZ) LOGOUT^XUSRB HALT "RTN","BMXMON",328,0) - ; + U $P "RTN","BMXMON",329,0) - N BMX,BMXVER + D SNDERR,WRITE(BMXERR) W ! "RTN","BMXMON",330,0) - ;VERSION + S $ETRAP="Q:($ESTACK&'$QUIT) Q:$ESTACK -9 S $ECODE="""" G SESSRES^BMXMON",$ECODE=",U99," "RTN","BMXMON",331,0) - D + Q "RTN","BMXMON",332,0) - . S BMXN="BMXNET ADO.NET DATA PROVIDER" I $D(^DIC(9.4,"B",BMXN)) Q + ; "RTN","BMXMON",333,0) - . S BMXN="BMXNET RPMS .NET UTILITIES" I $D(^DIC(9.4,"B",BMXN)) Q +MENU ;EP - ENTRY ACTION FROM BMXMENU OPTION "RTN","BMXMON",334,0) - . S BMXN="" + ; "RTN","BMXMON",335,0) - . Q + N BMX,BMXVER "RTN","BMXMON",336,0) - ; + ;VERSION "RTN","BMXMON",337,0) - S BMXVER="" + D "RTN","BMXMON",338,0) - I BMXN]"",$D(^DIC(9.4,"B",BMXN)) D + . S BMXN="BMXNET ADO.NET DATA PROVIDER" I $D(^DIC(9.4,"B",BMXN)) Q "RTN","BMXMON",339,0) - . S BMX=$O(^DIC(9.4,"B",BMXN,0)) + . S BMXN="BMXNET RPMS .NET UTILITIES" I $D(^DIC(9.4,"B",BMXN)) Q "RTN","BMXMON",340,0) - . I $D(^DIC(9.4,BMX,"VERSION")) S BMXVER=$P(^DIC(9.4,BMX,"VERSION"),"^") + . S BMXN="" "RTN","BMXMON",341,0) - . E S BMXVER="VERSION NOT FOUND" + . Q "RTN","BMXMON",342,0) - S:BMXVER="" BMXVER="VERSION NOT FOUND" -"RTN","BMXMON",343,0) ; +"RTN","BMXMON",343,0) + S BMXVER="" "RTN","BMXMON",344,0) - ;LOCATION + I BMXN]"",$D(^DIC(9.4,"B",BMXN)) D "RTN","BMXMON",345,0) - N BMXLOC + . S BMX=$O(^DIC(9.4,"B",BMXN,0)) "RTN","BMXMON",346,0) - S BMXLOC="" + . I $D(^DIC(9.4,BMX,"VERSION")) S BMXVER=$P(^DIC(9.4,BMX,"VERSION"),"^") "RTN","BMXMON",347,0) - I $G(DUZ(2)),$D(^DIC(4,DUZ(2),0)) S BMXLOC=$P(^DIC(4,DUZ(2),0),"^") + . E S BMXVER="VERSION NOT FOUND" "RTN","BMXMON",348,0) - S:BMXLOC="" BMXLOC="LOCATION NOT FOUND" + S:BMXVER="" BMXVER="VERSION NOT FOUND" "RTN","BMXMON",349,0) ; "RTN","BMXMON",350,0) - ;WRITE + ;LOCATION "RTN","BMXMON",351,0) - W ! + N BMXLOC "RTN","BMXMON",352,0) - W !,"BMXNet Version: ",BMXVER + S BMXLOC="" "RTN","BMXMON",353,0) - W !,"Location: ",BMXLOC + I $G(DUZ(2)),$D(^DIC(4,DUZ(2),0)) S BMXLOC=$P(^DIC(4,DUZ(2),0),"^") "RTN","BMXMON",354,0) + S:BMXLOC="" BMXLOC="LOCATION NOT FOUND" +"RTN","BMXMON",355,0) + ; +"RTN","BMXMON",356,0) + ;WRITE +"RTN","BMXMON",357,0) + W ! +"RTN","BMXMON",358,0) + W !,"BMXNet Version: ",BMXVER +"RTN","BMXMON",359,0) + W !,"Location: ",BMXLOC +"RTN","BMXMON",360,0) Q "RTN","BMXMSEC") 0^85^B8709977 "RTN","BMXMSEC",1,0) BMXMSEC ; IHS/OIT/HMW - BMXNet MONITOR ; 7/20/2009 "RTN","BMXMSEC",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXMSEC",3,0) ; Edit History "RTN","BMXMSEC",4,0) @@ -13825,7 +13897,7 @@ KILL(%) ;Kill state variable "RTN","BMXNTEG",1,0) BMXNTEG ;INTEGRITY CHECKER;FEB 26, 2007 "RTN","BMXNTEG",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXNTEG",3,0) ; "RTN","BMXNTEG",4,0) @@ -13983,7 +14055,7 @@ LIST ; "RTN","BMXPO",1,0) BMXPO ; IHS/CMI/MAW - Populate appcontext with all namespaced RPC's ; "RTN","BMXPO",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXPO",3,0) ; "RTN","BMXPO",4,0) @@ -14127,7 +14199,7 @@ XIT ;-- clean vars "RTN","BMXPRS",1,0) BMXPRS ; IHS/OIT/HMW - BMX WINDOWS UTILS ; "RTN","BMXPRS",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXPRS",3,0) ; "RTN","BMXPRS",4,0) @@ -14333,11 +14405,11 @@ ERROR ;W !,"ERROR=",BMXERR,! Q "RTN","BMXPRS",104,0) Q "RTN","BMXRPC") -0^87^B17117580 +0^87^B21470311 "RTN","BMXRPC",1,0) -BMXRPC ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; +BMXRPC ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; 9/7/10 5:04am "RTN","BMXRPC",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXRPC",3,0) ;;Stolen from:* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER * "RTN","BMXRPC",4,0) @@ -14361,319 +14433,341 @@ BMXRPC ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; "RTN","BMXRPC",13,0) ;---------- "RTN","BMXRPC",14,0) -LOOKUP(BMXGBL,BMXFL,BMXFLDS,BMXFLG,BMXIN,BMXMX,BMXIX,BMXSCR,BMXMC) ;EP + ; Change Log: "RTN","BMXRPC",15,0) - ;---> Places matching records from requested file into a + ; UJO/SMH on 7 Sep 2010 -- added RPC for determining UTF-8 support "RTN","BMXRPC",16,0) - ;---> result global, ^BMXTEMP($J). The exact global name + ; Tag: UTF-8 "RTN","BMXRPC",17,0) - ;---> is returned in the first parameter (BMXGBL). +LOOKUP(BMXGBL,BMXFL,BMXFLDS,BMXFLG,BMXIN,BMXMX,BMXIX,BMXSCR,BMXMC) ;EP "RTN","BMXRPC",18,0) - ;---> Records are returned one per node in the result global. + ;---> Places matching records from requested file into a "RTN","BMXRPC",19,0) - ;---> Each record is terminated with a $C(30), for parsing out + ;---> result global, ^BMXTEMP($J). The exact global name "RTN","BMXRPC",20,0) - ;---> on the VB side, since the Broker concatenates all nodes + ;---> is returned in the first parameter (BMXGBL). "RTN","BMXRPC",21,0) - ;---> into a single string when passing the data out of M. + ;---> Records are returned one per node in the result global. "RTN","BMXRPC",22,0) - ;---> Requested fields within records are delimited by "^". + ;---> Each record is terminated with a $C(30), for parsing out "RTN","BMXRPC",23,0) - ;---> NOTE: The first "^"-piece of every node is the IEN of + ;---> on the VB side, since the Broker concatenates all nodes "RTN","BMXRPC",24,0) - ;---> that entry in its file; the requested fields follow. + ;---> into a single string when passing the data out of M. "RTN","BMXRPC",25,0) - ;---> The final record (node) contains Error Delimiter, + ;---> Requested fields within records are delimited by "^". "RTN","BMXRPC",26,0) - ; $C(31)_$C(31), followed by error text, if any. + ;---> NOTE: The first "^"-piece of every node is the IEN of "RTN","BMXRPC",27,0) - ; + ;---> that entry in its file; the requested fields follow. "RTN","BMXRPC",28,0) - ;---> Parameters: + ;---> The final record (node) contains Error Delimiter, "RTN","BMXRPC",29,0) - ; 1 - BMXGBL (ret) Name of result global for Broker. + ; $C(31)_$C(31), followed by error text, if any. "RTN","BMXRPC",30,0) - ; 2 - BMXFL (req) File for lookup. + ; "RTN","BMXRPC",31,0) - ; 3 - BMXFLDS (opt) Fields to return w/each entry. + ;---> Parameters: "RTN","BMXRPC",32,0) - ; 4 - BMXFLG (opt) Flags in DIC(0); If null, "M" is sent. + ; 1 - BMXGBL (ret) Name of result global for Broker. "RTN","BMXRPC",33,0) - ; 5 - BMXIN (opt) Input to match on (see Algorithm below). + ; 2 - BMXFL (req) File for lookup. "RTN","BMXRPC",34,0) - ; 6 - BMXMX (opt) Maximum number of entries to return. + ; 3 - BMXFLDS (opt) Fields to return w/each entry. "RTN","BMXRPC",35,0) - ; 7 - BMXIX (opt) Indexes to search. + ; 4 - BMXFLG (opt) Flags in DIC(0); If null, "M" is sent. "RTN","BMXRPC",36,0) - ; 8 - BMXSCR (opt) Screen/filter (M code). + ; 5 - BMXIN (opt) Input to match on (see Algorithm below). "RTN","BMXRPC",37,0) - ; 9 - BMXMC (opt) Mixed Case: 1=mixed case, 0=no change. + ; 6 - BMXMX (opt) Maximum number of entries to return. "RTN","BMXRPC",38,0) - ; (Converts data in uppercase to mixed case.) + ; 7 - BMXIX (opt) Indexes to search. "RTN","BMXRPC",39,0) - ; + ; 8 - BMXSCR (opt) Screen/filter (M code). "RTN","BMXRPC",40,0) - ;---> Set variables, kill temp globals. + ; 9 - BMXMC (opt) Mixed Case: 1=mixed case, 0=no change. "RTN","BMXRPC",41,0) - N (BMXGBL,BMXFL,BMXFLDS,BMXFLG,BMXIN,BMXMX,BMXIX,BMXSCR,BMXMC) + ; (Converts data in uppercase to mixed case.) "RTN","BMXRPC",42,0) - S BMX31=$C(31)_$C(31) -"RTN","BMXRPC",43,0) - S BMXGBL="^BMXTEMP("_$J_")",BMXERR="",U="^" -"RTN","BMXRPC",44,0) - K ^BMXTMP($J),^BMXTEMP($J) -"RTN","BMXRPC",45,0) ; +"RTN","BMXRPC",43,0) + ;---> Set variables, kill temp globals. +"RTN","BMXRPC",44,0) + N (BMXGBL,BMXFL,BMXFLDS,BMXFLG,BMXIN,BMXMX,BMXIX,BMXSCR,BMXMC) +"RTN","BMXRPC",45,0) + S BMX31=$C(31)_$C(31) "RTN","BMXRPC",46,0) - ;---> If file number not provided, return error. + S BMXGBL="^BMXTEMP("_$J_")",BMXERR="",U="^" "RTN","BMXRPC",47,0) - I '$G(BMXFL) D ERROUT("File number not provided.",1) Q + K ^BMXTMP($J),^BMXTEMP($J) "RTN","BMXRPC",48,0) ; "RTN","BMXRPC",49,0) - ;---> If no fields provided, pass .01. + ;---> If file number not provided, return error. "RTN","BMXRPC",50,0) - ;---> IEN will always be the first piece of data returned. + I '$G(BMXFL) D ERROUT("File number not provided.",1) Q "RTN","BMXRPC",51,0) - ;---> NOTE: If .01 is NOT included, but the Index to lookup on is + ; "RTN","BMXRPC",52,0) - ;---> NOT on the .01, then the .01 will be returned + ;---> If no fields provided, pass .01. "RTN","BMXRPC",53,0) - ;---> automatically as the second ^-piece of data in the + ;---> IEN will always be the first piece of data returned. "RTN","BMXRPC",54,0) - ;---> Result Global. + ;---> NOTE: If .01 is NOT included, but the Index to lookup on is "RTN","BMXRPC",55,0) - ;---> So it would be: IEN^.01^requested fields... + ;---> NOT on the .01, then the .01 will be returned "RTN","BMXRPC",56,0) - I $G(BMXFLDS)="" S BMXFLDS=".01" + ;---> automatically as the second ^-piece of data in the "RTN","BMXRPC",57,0) - ; + ;---> Result Global. "RTN","BMXRPC",58,0) - ;---> If no index or flag provided, set flag="M". + ;---> So it would be: IEN^.01^requested fields... "RTN","BMXRPC",59,0) - I $G(BMXFLG)="" D + I $G(BMXFLDS)="" S BMXFLDS=".01" "RTN","BMXRPC",60,0) - .I $G(BMXIX)="" S BMXFLG="M" Q -"RTN","BMXRPC",61,0) - .S BMXFLG="" -"RTN","BMXRPC",62,0) ; +"RTN","BMXRPC",61,0) + ;---> If no index or flag provided, set flag="M". +"RTN","BMXRPC",62,0) + I $G(BMXFLG)="" D "RTN","BMXRPC",63,0) - ;---> If no Maximum Number provided, set it to 200. + .I $G(BMXIX)="" S BMXFLG="M" Q "RTN","BMXRPC",64,0) - I '$G(BMXMX) S BMXMX=200 + .S BMXFLG="" "RTN","BMXRPC",65,0) ; "RTN","BMXRPC",66,0) - ;---> Define index and screen. + ;---> If no Maximum Number provided, set it to 200. "RTN","BMXRPC",67,0) - S:'$D(BMXIX) BMXIX="" + I '$G(BMXMX) S BMXMX=200 "RTN","BMXRPC",68,0) - S:'$D(BMXSCR) BMXSCR="" -"RTN","BMXRPC",69,0) ; +"RTN","BMXRPC",69,0) + ;---> Define index and screen. "RTN","BMXRPC",70,0) - ;---> Set Target Global for output and errors. + S:'$D(BMXIX) BMXIX="" "RTN","BMXRPC",71,0) - S BMXG="^BMXTMP($J)" + S:'$D(BMXSCR) BMXSCR="" "RTN","BMXRPC",72,0) ; "RTN","BMXRPC",73,0) - ;---> If Mixed Case not set, set to No Change. + ;---> Set Target Global for output and errors. "RTN","BMXRPC",74,0) - I '$D(BMXMC) S BMXMC=0 + S BMXG="^BMXTMP($J)" "RTN","BMXRPC",75,0) ; "RTN","BMXRPC",76,0) - ;---> Silent Fileman call. + ;---> If Mixed Case not set, set to No Change. "RTN","BMXRPC",77,0) - D + I '$D(BMXMC) S BMXMC=0 "RTN","BMXRPC",78,0) - .I $G(BMXIN)="" D Q -"RTN","BMXRPC",79,0) - ..D LIST^DIC(BMXFL,,BMXFLDS,,BMXMX,0,,BMXIX,BMXSCR,,BMXG,BMXG) -"RTN","BMXRPC",80,0) - .D FIND^DIC(BMXFL,,BMXFLDS,BMXFLG,BMXIN,BMXMX,BMXIX,BMXSCR,,BMXG,BMXG) -"RTN","BMXRPC",81,0) ; +"RTN","BMXRPC",79,0) + ;---> Silent Fileman call. +"RTN","BMXRPC",80,0) + D +"RTN","BMXRPC",81,0) + .I $G(BMXIN)="" D Q "RTN","BMXRPC",82,0) - D WRITE + ..D LIST^DIC(BMXFL,,BMXFLDS,,BMXMX,0,,BMXIX,BMXSCR,,BMXG,BMXG) "RTN","BMXRPC",83,0) - Q + .D FIND^DIC(BMXFL,,BMXFLDS,BMXFLG,BMXIN,BMXMX,BMXIX,BMXSCR,,BMXG,BMXG) "RTN","BMXRPC",84,0) ; "RTN","BMXRPC",85,0) - ; + D WRITE "RTN","BMXRPC",86,0) - ;---------- + Q "RTN","BMXRPC",87,0) -WRITE ;EP + ; "RTN","BMXRPC",88,0) - ;---> Collect data for matching records and write in result global. + ; "RTN","BMXRPC",89,0) - ; + ;---------- "RTN","BMXRPC",90,0) - ;---> First, check for errors. +WRITE ;EP "RTN","BMXRPC",91,0) - ;---> If errors exist, write them and quit. + ;---> Collect data for matching records and write in result global. "RTN","BMXRPC",92,0) - N I,N,X + ; "RTN","BMXRPC",93,0) - I $D(^BMXTMP($J,"DIERR")) I $O(^("DIERR",0)) D Q + ;---> First, check for errors. "RTN","BMXRPC",94,0) - .S N=0,X="" + ;---> If errors exist, write them and quit. "RTN","BMXRPC",95,0) - .F S N=$O(^BMXTMP($J,"DIERR",N)) Q:'N D + N I,N,X "RTN","BMXRPC",96,0) - ..N M S M=0 + I $D(^BMXTMP($J,"DIERR")) I $O(^("DIERR",0)) D Q "RTN","BMXRPC",97,0) - ..F S M=$O(^BMXTMP($J,"DIERR",N,"TEXT",M)) Q:'M D + .S N=0,X="" "RTN","BMXRPC",98,0) - ...S X=X_^BMXTMP($J,"DIERR",N,"TEXT",M)_" " + .F S N=$O(^BMXTMP($J,"DIERR",N)) Q:'N D "RTN","BMXRPC",99,0) - .D ERROUT(X,1) + ..N M S M=0 "RTN","BMXRPC",100,0) - ; + ..F S M=$O(^BMXTMP($J,"DIERR",N,"TEXT",M)) Q:'M D "RTN","BMXRPC",101,0) - ; + ...S X=X_^BMXTMP($J,"DIERR",N,"TEXT",M)_" " "RTN","BMXRPC",102,0) - ;---> Write Field Names + .D ERROUT(X,1) "RTN","BMXRPC",103,0) - S $P(ASDX,"^",1)="IEN" + ; "RTN","BMXRPC",104,0) - F ASDC=1:1:$L(BMXFLDS,";") D + ; "RTN","BMXRPC",105,0) - . S ASDXFNUM=$P(BMXFLDS,";",ASDC) + ;---> Write Field Names "RTN","BMXRPC",106,0) - . S ASDXFNAM=$P(^DD(BMXFL,ASDXFNUM,0),"^") + S $P(ASDX,"^",1)="IEN" "RTN","BMXRPC",107,0) - . S:ASDXFNAM="" ASDXFNAM="UNKNOWN"_ASDC + F ASDC=1:1:$L(BMXFLDS,";") D "RTN","BMXRPC",108,0) - . S $P(ASDX,"^",ASDC+1)=ASDXFNAM + . S ASDXFNUM=$P(BMXFLDS,";",ASDC) "RTN","BMXRPC",109,0) - S ^BMXTEMP($J,1)=ASDX_$C(30) + . S ASDXFNAM=$P(^DD(BMXFL,ASDXFNUM,0),"^") "RTN","BMXRPC",110,0) - ;---> Write valid results. + . S:ASDXFNAM="" ASDXFNAM="UNKNOWN"_ASDC "RTN","BMXRPC",111,0) - ;---> Loop through the IEN node (...2,N) of the temp global. + . S $P(ASDX,"^",ASDC+1)=ASDXFNAM "RTN","BMXRPC",112,0) - N I,N,X S N=0 + S ^BMXTEMP($J,1)=ASDX_$C(30) "RTN","BMXRPC",113,0) - F I=2:1 S N=$O(^BMXTMP($J,"DILIST",2,N)) Q:'N D + ;---> Write valid results. "RTN","BMXRPC",114,0) - .;---> Always set first piece of X=IEN of entry. + ;---> Loop through the IEN node (...2,N) of the temp global. "RTN","BMXRPC",115,0) - .S X=^BMXTMP($J,"DILIST",2,N) + N I,N,X S N=0 "RTN","BMXRPC",116,0) - .; + F I=2:1 S N=$O(^BMXTMP($J,"DILIST",2,N)) Q:'N D "RTN","BMXRPC",117,0) - .;---> Collect other fields and concatenate to X. + .;---> Always set first piece of X=IEN of entry. "RTN","BMXRPC",118,0) - .N M S M=0 + .S X=^BMXTMP($J,"DILIST",2,N) "RTN","BMXRPC",119,0) - .F S M=$O(^BMXTMP($J,"DILIST","ID",N,M)) Q:'M D -"RTN","BMXRPC",120,0) - ..S X=X_U_^BMXTMP($J,"DILIST","ID",N,M) -"RTN","BMXRPC",121,0) .; +"RTN","BMXRPC",120,0) + .;---> Collect other fields and concatenate to X. +"RTN","BMXRPC",121,0) + .N M S M=0 "RTN","BMXRPC",122,0) - .;---> Convert data to mixed case if BMXMC=1. + .F S M=$O(^BMXTMP($J,"DILIST","ID",N,M)) Q:'M D "RTN","BMXRPC",123,0) - .S:BMXMC X=$$T^BMXTRS(X) + ..S X=X_U_^BMXTMP($J,"DILIST","ID",N,M) "RTN","BMXRPC",124,0) .; "RTN","BMXRPC",125,0) - .;---> Set data in result global. + .;---> Convert data to mixed case if BMXMC=1. "RTN","BMXRPC",126,0) - .S ^BMXTEMP($J,I)=X_$C(30) + .S:BMXMC X=$$T^BMXTRS(X) "RTN","BMXRPC",127,0) - ; + .; "RTN","BMXRPC",128,0) - ;---> If no results, report it as an error. + .;---> Set data in result global. "RTN","BMXRPC",129,0) - D:'$O(^BMXTEMP($J,0)) + .S ^BMXTEMP($J,I)=X_$C(30) "RTN","BMXRPC",130,0) - .I BMXIN]"" S BMXERR="No entry matches """_BMXIN_"""." Q + ; "RTN","BMXRPC",131,0) - .S BMXERR="Either the lookup file is empty" + ;---> If no results, report it as an error. "RTN","BMXRPC",132,0) - .S BMXERR=BMXERR_" or all entries are screened (software error)." + D:'$O(^BMXTEMP($J,0)) "RTN","BMXRPC",133,0) - ; + .I BMXIN]"" S BMXERR="No entry matches """_BMXIN_"""." Q "RTN","BMXRPC",134,0) - ;---> Tack on Error Delimiter and any error. + .S BMXERR="Either the lookup file is empty" "RTN","BMXRPC",135,0) - S ^BMXTEMP($J,I)=BMX31_BMXERR + .S BMXERR=BMXERR_" or all entries are screened (software error)." "RTN","BMXRPC",136,0) - Q + ; "RTN","BMXRPC",137,0) - ; + ;---> Tack on Error Delimiter and any error. "RTN","BMXRPC",138,0) - ; -"RTN","BMXRPC",139,0) - ;---------- -"RTN","BMXRPC",140,0) -ERROUT(BMXERR,I) ;EP -"RTN","BMXRPC",141,0) - ;---> Save next line for Error Code File if ever used. -"RTN","BMXRPC",142,0) - ;---> If necessary, use I>1 to avoid overwriting valid data. -"RTN","BMXRPC",143,0) - S:'$G(I) I=1 -"RTN","BMXRPC",144,0) S ^BMXTEMP($J,I)=BMX31_BMXERR +"RTN","BMXRPC",139,0) + Q +"RTN","BMXRPC",140,0) + ; +"RTN","BMXRPC",141,0) + ; +"RTN","BMXRPC",142,0) + ;---------- +"RTN","BMXRPC",143,0) +ERROUT(BMXERR,I) ;EP +"RTN","BMXRPC",144,0) + ;---> Save next line for Error Code File if ever used. "RTN","BMXRPC",145,0) - Q + ;---> If necessary, use I>1 to avoid overwriting valid data. "RTN","BMXRPC",146,0) - ; + S:'$G(I) I=1 "RTN","BMXRPC",147,0) - ; + S ^BMXTEMP($J,I)=BMX31_BMXERR "RTN","BMXRPC",148,0) -PASSERR(BMXGBL,BMXERR) ;EP -"RTN","BMXRPC",149,0) - ;---> If the RPC routine calling the BMX Generic Lookup above -"RTN","BMXRPC",150,0) - ;---> detects a specific error prior to the call and wants to pass -"RTN","BMXRPC",151,0) - ;---> that error in the result global rather than a generic error, -"RTN","BMXRPC",152,0) - ;---> then a call to this function (PASSERR) can be made. -"RTN","BMXRPC",153,0) - ;---> This call will store the error text passed in the result global. -"RTN","BMXRPC",154,0) - ;---> The calling routine should then quit (abort its call to the -"RTN","BMXRPC",155,0) - ;---> BMX Generic Lookup function above). -"RTN","BMXRPC",156,0) - ; -"RTN","BMXRPC",157,0) - ;---> Parameters: -"RTN","BMXRPC",158,0) - ; 1 - BMXGBL (ret) Name of result global for Broker. -"RTN","BMXRPC",159,0) - ; 2 - BMXERR (req) Text of error to be stored in result global. -"RTN","BMXRPC",160,0) - ; -"RTN","BMXRPC",161,0) - S:$G(BMXERR)="" BMXERR="Error not passed (software error)." -"RTN","BMXRPC",162,0) - ; -"RTN","BMXRPC",163,0) - N BMX31 S BMX31=$C(31)_$C(31) -"RTN","BMXRPC",164,0) - K ^BMXTMP($J),^BMXTEMP($J) -"RTN","BMXRPC",165,0) - S BMXGBL="^BMXTEMP("_$J_")" -"RTN","BMXRPC",166,0) - S ^BMXTEMP($J,1)=BMX31_BMXERR -"RTN","BMXRPC",167,0) Q +"RTN","BMXRPC",149,0) + ; +"RTN","BMXRPC",150,0) + ; +"RTN","BMXRPC",151,0) +PASSERR(BMXGBL,BMXERR) ;EP +"RTN","BMXRPC",152,0) + ;---> If the RPC routine calling the BMX Generic Lookup above +"RTN","BMXRPC",153,0) + ;---> detects a specific error prior to the call and wants to pass +"RTN","BMXRPC",154,0) + ;---> that error in the result global rather than a generic error, +"RTN","BMXRPC",155,0) + ;---> then a call to this function (PASSERR) can be made. +"RTN","BMXRPC",156,0) + ;---> This call will store the error text passed in the result global. +"RTN","BMXRPC",157,0) + ;---> The calling routine should then quit (abort its call to the +"RTN","BMXRPC",158,0) + ;---> BMX Generic Lookup function above). +"RTN","BMXRPC",159,0) + ; +"RTN","BMXRPC",160,0) + ;---> Parameters: +"RTN","BMXRPC",161,0) + ; 1 - BMXGBL (ret) Name of result global for Broker. +"RTN","BMXRPC",162,0) + ; 2 - BMXERR (req) Text of error to be stored in result global. +"RTN","BMXRPC",163,0) + ; +"RTN","BMXRPC",164,0) + S:$G(BMXERR)="" BMXERR="Error not passed (software error)." +"RTN","BMXRPC",165,0) + ; +"RTN","BMXRPC",166,0) + N BMX31 S BMX31=$C(31)_$C(31) +"RTN","BMXRPC",167,0) + K ^BMXTMP($J),^BMXTEMP($J) +"RTN","BMXRPC",168,0) + S BMXGBL="^BMXTEMP("_$J_")" +"RTN","BMXRPC",169,0) + S ^BMXTEMP($J,1)=BMX31_BMXERR +"RTN","BMXRPC",170,0) + Q +"RTN","BMXRPC",171,0) +UTF8(BMXRET) +"RTN","BMXRPC",172,0) + ; RPC: BMX UTF-8 +"RTN","BMXRPC",173,0) + ; UJO/SMH - tests if this database supports UTF-8 encoding +"RTN","BMXRPC",174,0) + ; 0 for FALSE for 1 for TRUE. +"RTN","BMXRPC",175,0) + I ^%ZOSF("OS")'["GT.M" S BMXRET=0 QUIT +"RTN","BMXRPC",176,0) + I $ZCHSET="M" S BMXRET=0 QUIT +"RTN","BMXRPC",177,0) + I $ZCHSET="UTF-8" S BMXRET=1 QUIT +"RTN","BMXRPC",178,0) + S BMXRET=0 QUIT ;default "RTN","BMXRPC1") 0^88^B52168951 "RTN","BMXRPC1",1,0) BMXRPC1 ; IHS/OIT/HMW - UTIL: REMOTE PROCEDURE CALLS ; "RTN","BMXRPC1",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXRPC1",3,0) ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER * "RTN","BMXRPC1",4,0) @@ -15151,7 +15245,7 @@ FACE(BMXGBL,BMXDFN) ;EP "RTN","BMXRPC2",1,0) BMXRPC2 ; IHS/OIT/HMW - FIELD LIST ; "RTN","BMXRPC2",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXRPC2",3,0) ; "RTN","BMXRPC2",4,0) @@ -15373,493 +15467,485 @@ MLTLIST(BMXGBL,BMXFL,BMXONEOK) ;EP "RTN","BMXRPC2",112,0) Q "RTN","BMXRPC3") -0^90^B40379638 +0^90^B39843476 "RTN","BMXRPC3",1,0) -BMXRPC3 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; +BMXRPC3 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; ; 8/30/10 2:56pm "RTN","BMXRPC3",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXRPC3",3,0) ;Mods by WV/SMH "RTN","BMXRPC3",4,0) ;7/26/09 Removed references to ^AUTTSITE, an IHS file in GETFAC* "RTN","BMXRPC3",5,0) - ; + ;8/30/10 Changed GETFCRS to return a better list of user divisions "RTN","BMXRPC3",6,0) - ; + ; - Checks to see if there are any divisions "RTN","BMXRPC3",7,0) -VARVAL(RESULT,VARIABLE) ;returns value of passed in variable + ; "RTN","BMXRPC3",8,0) - S VARIABLE=$TR(VARIABLE,"~","^") +VARVAL(RESULT,VARIABLE) ;returns value of passed in variable "RTN","BMXRPC3",9,0) - S RESULT=VARIABLE ;can do this with the REFERENCE type parameter + S VARIABLE=$TR(VARIABLE,"~","^") "RTN","BMXRPC3",10,0) - Q + S RESULT=VARIABLE ;can do this with the REFERENCE type parameter "RTN","BMXRPC3",11,0) - ;See GETV^XWBBRK for how we get the REFERENCE type parameter + Q "RTN","BMXRPC3",12,0) - ; + ;See GETV^XWBBRK for how we get the REFERENCE type parameter "RTN","BMXRPC3",13,0) -USER(RESULT,D) ; + ; "RTN","BMXRPC3",14,0) - ; +USER(RESULT,D) ; "RTN","BMXRPC3",15,0) - I '+D S RESULT="" Q + ; "RTN","BMXRPC3",16,0) - S RESULT=$P($G(^VA(200,D,0)),"^") + I '+D S RESULT="" Q "RTN","BMXRPC3",17,0) - Q + S RESULT=$P($G(^VA(200,D,0)),"^") "RTN","BMXRPC3",18,0) - ; -"RTN","BMXRPC3",19,0) -NTUSER(BMXY,BMXNTUSER) ;EP -"RTN","BMXRPC3",20,0) - ;Old code. Retain for reference -"RTN","BMXRPC3",21,0) - ;Returns NTDomain^NTUserName^RPMSName for user having DUZ=D -"RTN","BMXRPC3",22,0) - ;TODO: Move ANMC NT USERS file -"RTN","BMXRPC3",23,0) - ;from AZZWNT to BMX namespace and numberspace -"RTN","BMXRPC3",24,0) - ; -"RTN","BMXRPC3",25,0) - ;N BMX,BMXNOD,BMXDOM,BMXNAM,BMXCOL,BMXRNAM -"RTN","BMXRPC3",26,0) - ;S (BMXDOM,BMXNAM,BMXRNAM)="" -"RTN","BMXRPC3",27,0) - ;S U="^" -"RTN","BMXRPC3",28,0) - ;I '+D S RESULT="" Q -"RTN","BMXRPC3",29,0) - ;S BMXRNAM=$G(^VA(200,D,0)),BMXRNAM=$P(BMXRNAM,U) -"RTN","BMXRPC3",30,0) - ;I '$D(^AZZWNT("DUZ",D)) D NTU1 Q -"RTN","BMXRPC3",31,0) - ;S BMX=$O(^AZZWNT("DUZ",D,0)) -"RTN","BMXRPC3",32,0) - ;I '+BMX D NTU1 Q -"RTN","BMXRPC3",33,0) - ;I '$D(^AZZWNT(BMX,0)) D NTU1 Q -"RTN","BMXRPC3",34,0) - ;S BMXNOD=^AZZWNT(BMX,0) -"RTN","BMXRPC3",35,0) - ;S BMXDOM=$P(BMXNOD,U,2) -"RTN","BMXRPC3",36,0) - ;S BMXNAM=$P(BMXNOD,U) ;,4) -"RTN","BMXRPC3",37,0) - ;D NTU1 -"RTN","BMXRPC3",38,0) Q -"RTN","BMXRPC3",39,0) +"RTN","BMXRPC3",19,0) ; +"RTN","BMXRPC3",20,0) +NTUSER(BMXY,BMXNTUSER) ;EP +"RTN","BMXRPC3",21,0) + ;Old code. Retain for reference +"RTN","BMXRPC3",22,0) + ;Returns NTDomain^NTUserName^RPMSName for user having DUZ=D +"RTN","BMXRPC3",23,0) + ;TODO: Move ANMC NT USERS file +"RTN","BMXRPC3",24,0) + ;from AZZWNT to BMX namespace and numberspace +"RTN","BMXRPC3",25,0) + ; +"RTN","BMXRPC3",26,0) + ;N BMX,BMXNOD,BMXDOM,BMXNAM,BMXCOL,BMXRNAM +"RTN","BMXRPC3",27,0) + ;S (BMXDOM,BMXNAM,BMXRNAM)="" +"RTN","BMXRPC3",28,0) + ;S U="^" +"RTN","BMXRPC3",29,0) + ;I '+D S RESULT="" Q +"RTN","BMXRPC3",30,0) + ;S BMXRNAM=$G(^VA(200,D,0)),BMXRNAM=$P(BMXRNAM,U) +"RTN","BMXRPC3",31,0) + ;I '$D(^AZZWNT("DUZ",D)) D NTU1 Q +"RTN","BMXRPC3",32,0) + ;S BMX=$O(^AZZWNT("DUZ",D,0)) +"RTN","BMXRPC3",33,0) + ;I '+BMX D NTU1 Q +"RTN","BMXRPC3",34,0) + ;I '$D(^AZZWNT(BMX,0)) D NTU1 Q +"RTN","BMXRPC3",35,0) + ;S BMXNOD=^AZZWNT(BMX,0) +"RTN","BMXRPC3",36,0) + ;S BMXDOM=$P(BMXNOD,U,2) +"RTN","BMXRPC3",37,0) + ;S BMXNAM=$P(BMXNOD,U) ;,4) +"RTN","BMXRPC3",38,0) + ;D NTU1 +"RTN","BMXRPC3",39,0) + Q "RTN","BMXRPC3",40,0) ; "RTN","BMXRPC3",41,0) -NTUGETD(BMXY,BMXNTNAME) ;EP + ; "RTN","BMXRPC3",42,0) - ;Entry point for debugging +NTUGETD(BMXY,BMXNTNAME) ;EP "RTN","BMXRPC3",43,0) - ; -"RTN","BMXRPC3",44,0) - D DEBUG^%Serenji("NTUGET^BMXRPC3(.BMXY,BMXNTNAME)") -"RTN","BMXRPC3",45,0) - Q -"RTN","BMXRPC3",46,0) - ; -"RTN","BMXRPC3",47,0) -NTUGET(BMXY,BMXNTNAME) ;EP -"RTN","BMXRPC3",48,0) - ; -"RTN","BMXRPC3",49,0) - ;Returns A ENCRYPTED and V ENCRYPTED for NT User BMXNTNAME -"RTN","BMXRPC3",50,0) - ;Called by RPC BMXNetGetCodes -"RTN","BMXRPC3",51,0) - N BMXI,BMXNTID,BMXNTID,BMXNOD,BMXA,BMXV -"RTN","BMXRPC3",52,0) - S BMXI=0 -"RTN","BMXRPC3",53,0) - S BMXY="^BMXTMP("_$J_")" -"RTN","BMXRPC3",54,0) - S X="NTUET^BMXRPC3",@^%ZOSF("TRAP") -"RTN","BMXRPC3",55,0) - S BMXI=BMXI+1 -"RTN","BMXRPC3",56,0) - I BMXNTNAME="" S ^BMXTMP($J,BMXI)="^" Q -"RTN","BMXRPC3",57,0) - S BMXNTID=$O(^BMXUSER("B",BMXNTNAME,0)) -"RTN","BMXRPC3",58,0) - I '+BMXNTID S ^BMXTMP($J,BMXI)="^" Q -"RTN","BMXRPC3",59,0) - S BMXNOD=$G(^BMXUSER(BMXNTID,0)) -"RTN","BMXRPC3",60,0) - S BMXA=$P(BMXNOD,U,2) -"RTN","BMXRPC3",61,0) - S BMXV=$P(BMXNOD,U,3) -"RTN","BMXRPC3",62,0) - S ^BMXTMP($J,BMXI)=BMXA_"^"_BMXV_"^" -"RTN","BMXRPC3",63,0) - Q -"RTN","BMXRPC3",64,0) - ; -"RTN","BMXRPC3",65,0) -WINUGET(BMXWINID) ;EP -"RTN","BMXRPC3",66,0) - ;Returns DUZ for user having Windows Identity BMXWINID -"RTN","BMXRPC3",67,0) - ;Returns 0 if no Windows user found -"RTN","BMXRPC3",68,0) - ; -"RTN","BMXRPC3",69,0) - N BMXIEN,BMXNOD,BMXDUZ -"RTN","BMXRPC3",70,0) - I BMXWINID="" Q 0 -"RTN","BMXRPC3",71,0) - S BMXIEN=$O(^BMXUSER("B",BMXWINID,0)) -"RTN","BMXRPC3",72,0) - I '+BMXIEN Q 0 -"RTN","BMXRPC3",73,0) - S BMXNOD=$G(^BMXUSER(BMXIEN,0)) -"RTN","BMXRPC3",74,0) - S BMXDUZ=$P(BMXNOD,U,2) -"RTN","BMXRPC3",75,0) - Q BMXDUZ -"RTN","BMXRPC3",76,0) - ; -"RTN","BMXRPC3",77,0) -NTUSETD(BMXY,BMXNTNAME) ;EP -"RTN","BMXRPC3",78,0) ;Entry point for debugging -"RTN","BMXRPC3",79,0) +"RTN","BMXRPC3",44,0) ; -"RTN","BMXRPC3",80,0) - D DEBUG^%Serenji("NTUSET^BMXRPC3(.BMXY,BMXNTNAME)") -"RTN","BMXRPC3",81,0) +"RTN","BMXRPC3",45,0) + D DEBUG^%Serenji("NTUGET^BMXRPC3(.BMXY,BMXNTNAME)") +"RTN","BMXRPC3",46,0) Q +"RTN","BMXRPC3",47,0) + ; +"RTN","BMXRPC3",48,0) +NTUGET(BMXY,BMXNTNAME) ;EP +"RTN","BMXRPC3",49,0) + ; +"RTN","BMXRPC3",50,0) + ;Returns A ENCRYPTED and V ENCRYPTED for NT User BMXNTNAME +"RTN","BMXRPC3",51,0) + ;Called by RPC BMXNetGetCodes +"RTN","BMXRPC3",52,0) + N BMXI,BMXNTID,BMXNTID,BMXNOD,BMXA,BMXV +"RTN","BMXRPC3",53,0) + S BMXI=0 +"RTN","BMXRPC3",54,0) + S BMXY="^BMXTMP("_$J_")" +"RTN","BMXRPC3",55,0) + S X="NTUET^BMXRPC3",@^%ZOSF("TRAP") +"RTN","BMXRPC3",56,0) + S BMXI=BMXI+1 +"RTN","BMXRPC3",57,0) + I BMXNTNAME="" S ^BMXTMP($J,BMXI)="^" Q +"RTN","BMXRPC3",58,0) + S BMXNTID=$O(^BMXUSER("B",BMXNTNAME,0)) +"RTN","BMXRPC3",59,0) + I '+BMXNTID S ^BMXTMP($J,BMXI)="^" Q +"RTN","BMXRPC3",60,0) + S BMXNOD=$G(^BMXUSER(BMXNTID,0)) +"RTN","BMXRPC3",61,0) + S BMXA=$P(BMXNOD,U,2) +"RTN","BMXRPC3",62,0) + S BMXV=$P(BMXNOD,U,3) +"RTN","BMXRPC3",63,0) + S ^BMXTMP($J,BMXI)=BMXA_"^"_BMXV_"^" +"RTN","BMXRPC3",64,0) + Q +"RTN","BMXRPC3",65,0) + ; +"RTN","BMXRPC3",66,0) +WINUGET(BMXWINID) ;EP +"RTN","BMXRPC3",67,0) + ;Returns DUZ for user having Windows Identity BMXWINID +"RTN","BMXRPC3",68,0) + ;Returns 0 if no Windows user found +"RTN","BMXRPC3",69,0) + ; +"RTN","BMXRPC3",70,0) + N BMXIEN,BMXNOD,BMXDUZ +"RTN","BMXRPC3",71,0) + I BMXWINID="" Q 0 +"RTN","BMXRPC3",72,0) + S BMXIEN=$O(^BMXUSER("B",BMXWINID,0)) +"RTN","BMXRPC3",73,0) + I '+BMXIEN Q 0 +"RTN","BMXRPC3",74,0) + S BMXNOD=$G(^BMXUSER(BMXIEN,0)) +"RTN","BMXRPC3",75,0) + S BMXDUZ=$P(BMXNOD,U,2) +"RTN","BMXRPC3",76,0) + Q BMXDUZ +"RTN","BMXRPC3",77,0) + ; +"RTN","BMXRPC3",78,0) +NTUSETD(BMXY,BMXNTNAME) ;EP +"RTN","BMXRPC3",79,0) + ;Entry point for debugging +"RTN","BMXRPC3",80,0) + ; +"RTN","BMXRPC3",81,0) + D DEBUG^%Serenji("NTUSET^BMXRPC3(.BMXY,BMXNTNAME)") "RTN","BMXRPC3",82,0) - ; + Q "RTN","BMXRPC3",83,0) -NTUSET(BMXY,BMXNTNAME) ;EP -"RTN","BMXRPC3",84,0) - ;Sets NEW PERSON map entry for Windows Identity BMXNTNAME -"RTN","BMXRPC3",85,0) - ;Returns ERRORID 0 if all ok -"RTN","BMXRPC3",86,0) - ;Called by RPC BMXNetSetUser -"RTN","BMXRPC3",87,0) ; +"RTN","BMXRPC3",84,0) +NTUSET(BMXY,BMXNTNAME) ;EP +"RTN","BMXRPC3",85,0) + ;Sets NEW PERSON map entry for Windows Identity BMXNTNAME +"RTN","BMXRPC3",86,0) + ;Returns ERRORID 0 if all ok +"RTN","BMXRPC3",87,0) + ;Called by RPC BMXNetSetUser "RTN","BMXRPC3",88,0) ; "RTN","BMXRPC3",89,0) - N BMXI,BMXNTID,BMXFDA,BMXF,BMXIEN,BMXMSG,BMXAPPTID + ; "RTN","BMXRPC3",90,0) - S BMXI=0 + N BMXI,BMXNTID,BMXFDA,BMXF,BMXIEN,BMXMSG,BMXAPPTID "RTN","BMXRPC3",91,0) - S BMXY="^BMXTMP("_$J_")" + S BMXI=0 "RTN","BMXRPC3",92,0) - S X="NTUET^BMXRPC3",@^%ZOSF("TRAP") + S BMXY="^BMXTMP("_$J_")" "RTN","BMXRPC3",93,0) - S BMXI=BMXI+1 + S X="NTUET^BMXRPC3",@^%ZOSF("TRAP") "RTN","BMXRPC3",94,0) - ; Quit with error if no DUZ exists + S BMXI=BMXI+1 "RTN","BMXRPC3",95,0) - I '+$G(DUZ) D NTUERR(BMXI,500) Q + ; Quit with error if no DUZ exists "RTN","BMXRPC3",96,0) - ; Create entry or file in existing entry in BMX USER + I '+$G(DUZ) D NTUERR(BMXI,500) Q "RTN","BMXRPC3",97,0) - I $D(^BMXUSER("B",BMXNTNAME)) S BMXF="?1," + ; Create entry or file in existing entry in BMX USER "RTN","BMXRPC3",98,0) - E S BMXF="+1," + I $D(^BMXUSER("B",BMXNTNAME)) S BMXF="?1," "RTN","BMXRPC3",99,0) - S BMXFDA(90093.1,BMXF,.01)=BMXNTNAME + E S BMXF="+1," "RTN","BMXRPC3",100,0) - S BMXFDA(90093.1,BMXF,.02)=$G(DUZ) + S BMXFDA(90093.1,BMXF,.01)=BMXNTNAME "RTN","BMXRPC3",101,0) - K BMXIEN,BMXMSG + S BMXFDA(90093.1,BMXF,.02)=$G(DUZ) "RTN","BMXRPC3",102,0) - D UPDATE^DIE("","BMXFDA","BMXIEN","BMXMSG") + K BMXIEN,BMXMSG "RTN","BMXRPC3",103,0) - S BMXAPPTID=+$G(BMXIEN(1)) + D UPDATE^DIE("","BMXFDA","BMXIEN","BMXMSG") "RTN","BMXRPC3",104,0) - S BMXI=BMXI+1 + S BMXAPPTID=+$G(BMXIEN(1)) "RTN","BMXRPC3",105,0) - S ^BMXTMP($J,BMXI)=BMXAPPTID_"^0" + S BMXI=BMXI+1 "RTN","BMXRPC3",106,0) - Q + S ^BMXTMP($J,BMXI)=BMXAPPTID_"^0" "RTN","BMXRPC3",107,0) - ; + Q "RTN","BMXRPC3",108,0) -NTUET ;EP + ; "RTN","BMXRPC3",109,0) - ;Error trap from REGEVNT +NTUET ;EP "RTN","BMXRPC3",110,0) - ; + ;Error trap from REGEVNT "RTN","BMXRPC3",111,0) - I '$D(BMXI) N BMXI S BMXI=999 + ; "RTN","BMXRPC3",112,0) - S BMXI=BMXI+1 + I '$D(BMXI) N BMXI S BMXI=999 "RTN","BMXRPC3",113,0) - D NTUERR(BMXI,99) -"RTN","BMXRPC3",114,0) - Q -"RTN","BMXRPC3",115,0) - ; -"RTN","BMXRPC3",116,0) -NTUERR(BMXI,BMXERID) ;Error processing -"RTN","BMXRPC3",117,0) S BMXI=BMXI+1 -"RTN","BMXRPC3",118,0) - S ^BMXTMP($J,BMXI)="^"_BMXERID -"RTN","BMXRPC3",119,0) +"RTN","BMXRPC3",114,0) + D NTUERR(BMXI,99) +"RTN","BMXRPC3",115,0) Q -"RTN","BMXRPC3",120,0) +"RTN","BMXRPC3",116,0) ; +"RTN","BMXRPC3",117,0) +NTUERR(BMXI,BMXERID) ;Error processing +"RTN","BMXRPC3",118,0) + S BMXI=BMXI+1 +"RTN","BMXRPC3",119,0) + S ^BMXTMP($J,BMXI)="^"_BMXERID +"RTN","BMXRPC3",120,0) + Q "RTN","BMXRPC3",121,0) ; "RTN","BMXRPC3",122,0) -NTU1 ;S BMXCOL="T00030NT_DOMAIN^T00030NT_USERNAME^T00030RPMS_USERNAME"_$C(30) + ; "RTN","BMXRPC3",123,0) - ;S RESULT=BMXCOL_BMXDOM_U_BMXNAM_U_BMXRNAM_$C(30)_$C(31) +NTU1 ;S BMXCOL="T00030NT_DOMAIN^T00030NT_USERNAME^T00030RPMS_USERNAME"_$C(30) "RTN","BMXRPC3",124,0) - Q + ;S RESULT=BMXCOL_BMXDOM_U_BMXNAM_U_BMXRNAM_$C(30)_$C(31) "RTN","BMXRPC3",125,0) - ; + Q "RTN","BMXRPC3",126,0) -GETFC(BMXFACS,DUZ) ;Gets all facilities for a user + ; "RTN","BMXRPC3",127,0) - ; Input DUZ - user IEN from the NEW PERSON FILE +GETFC(BMXFACS,DUZ) ;Gets all facilities for a user "RTN","BMXRPC3",128,0) - ; Output - Number of facilities;facility1 name&facility1 IEN;...facilityN&facilityN IEN + ; Input DUZ - user IEN from the NEW PERSON FILE "RTN","BMXRPC3",129,0) - N BMXFN,BMXN + ; Output - Number of facilities;facility1 name&facility1 IEN;...facilityN&facilityN IEN "RTN","BMXRPC3",130,0) - S BMXFN=0,BMXFACS="" + N BMXFN,BMXN "RTN","BMXRPC3",131,0) - F BMXN=1:1 S BMXFN=$O(^VA(200,DUZ,2,BMXFN)) Q:BMXFN="" D + S BMXFN=0,BMXFACS="" "RTN","BMXRPC3",132,0) - . S:BMXN>1 BMXFACS=BMXFACS_";" S BMXFACS=BMXFACS_$P(^DIC(4,BMXFN,0),U,1)_"&"_BMXFN + F BMXN=1:1 S BMXFN=$O(^VA(200,DUZ,2,BMXFN)) Q:BMXFN="" D "RTN","BMXRPC3",133,0) - ;//smh I BMXN=1 S BMXFN=$P(^AUTTSITE(1,0),U,1) D + . S:BMXN>1 BMXFACS=BMXFACS_";" S BMXFACS=BMXFACS_$P(^DIC(4,BMXFN,0),U,1)_"&"_BMXFN "RTN","BMXRPC3",134,0) - ;//smh . S BMXFACS=BMXFACS_$P(^DIC(4,BMXFN,0),U,1)_"&"_BMXFN + ;//smh I BMXN=1 S BMXFN=$P(^AUTTSITE(1,0),U,1) D "RTN","BMXRPC3",135,0) - S BMXFACS=BMXN-(BMXN>1)_";"_BMXFACS + ;//smh . S BMXFACS=BMXFACS_$P(^DIC(4,BMXFN,0),U,1)_"&"_BMXFN "RTN","BMXRPC3",136,0) - Q + S BMXFACS=BMXN-(BMXN>1)_";"_BMXFACS "RTN","BMXRPC3",137,0) - ; -"RTN","BMXRPC3",138,0) -GETFCRS(BMXFACS,BMXDUZ) ;Gets all facilities for a user - returns RECORDSET -"RTN","BMXRPC3",139,0) - ; -"RTN","BMXRPC3",140,0) - ;TODO: return as global array, add error checking -"RTN","BMXRPC3",141,0) - N BMXFN,BMXN,BMXSUB,BMXRCNT -"RTN","BMXRPC3",142,0) - S BMXDUZ=$TR(BMXDUZ,$C(13),"") -"RTN","BMXRPC3",143,0) - S BMXDUZ=$TR(BMXDUZ,$C(10),"") -"RTN","BMXRPC3",144,0) - S BMXDUZ=$TR(BMXDUZ,$C(9),"") -"RTN","BMXRPC3",145,0) - S BMXFN=0 -"RTN","BMXRPC3",146,0) - S BMXSUB="^VA(200,"_BMXDUZ_",2," -"RTN","BMXRPC3",147,0) - S BMXFACS="T00030FACILITY_NAME^T00030FACILITY_IEN^T00002MOST_RECENT_LOOKUP"_$C(30) -"RTN","BMXRPC3",148,0) - ;F BMXN=1:1 S BMXFN=$O(^VA(200,BMXDUZ,2,BMXFN)) Q:BMXFN="" D -"RTN","BMXRPC3",149,0) - S BMXRCNT=0 ;cmi/maw mod 10/17/2006 -"RTN","BMXRPC3",150,0) - F BMXN=1:1 S BMXFN=$O(^VA(200,BMXDUZ,2,BMXFN)) Q:'BMXFN D ;IHS/ANMC/LJF 8/9/01 -"RTN","BMXRPC3",151,0) - . ;S BMXFACS=BMXFACS_$P(^DIC(4,BMXFN,0),U,1)_"^"_BMXFN_$C(30) -"RTN","BMXRPC3",152,0) - . S BMXFACS=BMXFACS_$P(^DIC(4,BMXFN,0),U,1)_"^"_BMXFN -"RTN","BMXRPC3",153,0) - . ;S BMXRCNT=0 ;cmi/maw orig -"RTN","BMXRPC3",154,0) - . ;I $D(^DISV(BMXDUZ,BMXSUB)),^DISV(BMXDUZ,BMXSUB)=BMXFN S BMXRCNT=1 -"RTN","BMXRPC3",155,0) - . ;I $G(DUZ(2))=BMXFN S BMXRCNT=1 ;cmi/maw orig -"RTN","BMXRPC3",156,0) - . S BMXRCNT=BMXRCNT+1 ;cmi/maw mod -"RTN","BMXRPC3",157,0) - . S BMXFACS=BMXFACS_"^"_BMXRCNT_$C(30) -"RTN","BMXRPC3",158,0) - ;//smh I BMXN=1 S BMXFN=$P(^AUTTSITE(1,0),U,1) D -"RTN","BMXRPC3",159,0) - ;//smh . S BMXFACS=BMXFACS_$P(^DIC(4,BMXFN,0),U,1)_"^"_BMXFN_"^"_1_$C(30) -"RTN","BMXRPC3",160,0) - S BMXFACS=BMXFACS_$C(31) -"RTN","BMXRPC3",161,0) Q +"RTN","BMXRPC3",138,0) + ; +"RTN","BMXRPC3",139,0) +GETFCRS(BMXY,BMXDUZ) ;Gets all facilities for a user - returns RECORDSET +"RTN","BMXRPC3",140,0) + ;/mods by //smh for WV +"RTN","BMXRPC3",141,0) + N $ET S $ET="G ERFC^BMXRPC3" +"RTN","BMXRPC3",142,0) + N BMXFN ; Facility Number +"RTN","BMXRPC3",143,0) + S BMXDUZ=$TR(BMXDUZ,$C(13)) ; Strip CR,LF,tab +"RTN","BMXRPC3",144,0) + S BMXDUZ=$TR(BMXDUZ,$C(10)) +"RTN","BMXRPC3",145,0) + S BMXDUZ=$TR(BMXDUZ,$C(9)) +"RTN","BMXRPC3",146,0) + S BMXY="T00030FACILITY_NAME^T00030FACILITY_IEN^T00002DEFAULT"_$C(30) +"RTN","BMXRPC3",147,0) + S BMXFN=0 +"RTN","BMXRPC3",148,0) + F S BMXFN=$O(^VA(200,BMXDUZ,2,BMXFN)) Q:'BMXFN D +"RTN","BMXRPC3",149,0) + . ; DD for ^VA(200,DUZ,2,DUZ(2)) is DUZ(2)^default. DUZ(2) is dinummed. +"RTN","BMXRPC3",150,0) + . S BMXY=BMXY_$P(^DIC(4,BMXFN,0),U,1)_U_^VA(200,BMXDUZ,2,BMXFN,0)_$C(30) +"RTN","BMXRPC3",151,0) + ; Crazy line: if we have no results, then use kernel's DUZ(2) set +"RTN","BMXRPC3",152,0) + ; during sign-on +"RTN","BMXRPC3",153,0) + I $L(BMXY,$C(30))<3 S BMXY=BMXY_$P(^DIC(4,DUZ(2),0),U,1)_U_DUZ(2)_$C(30) +"RTN","BMXRPC3",154,0) + S BMXY=BMXY_$C(31) +"RTN","BMXRPC3",155,0) + Q +"RTN","BMXRPC3",156,0) + ; +"RTN","BMXRPC3",157,0) +SETFCRS(BMXY,BMXFAC) ; +"RTN","BMXRPC3",158,0) + ; +"RTN","BMXRPC3",159,0) + ;Sets DUZ(2) to value in BMXFAC +"RTN","BMXRPC3",160,0) + ;Fails if BMXFAC is not one of the current user's divisions +"RTN","BMXRPC3",161,0) + ;Returns Recordset "RTN","BMXRPC3",162,0) ; "RTN","BMXRPC3",163,0) -SETFCRS(BMXY,BMXFAC) ; -"RTN","BMXRPC3",164,0) - ; -"RTN","BMXRPC3",165,0) - ;Sets DUZ(2) to value in BMXFAC -"RTN","BMXRPC3",166,0) - ;Fails if BMXFAC is not one of the current user's divisions -"RTN","BMXRPC3",167,0) - ;Returns Recordset -"RTN","BMXRPC3",168,0) - ; -"RTN","BMXRPC3",169,0) S X="ERFC^BMXRPC3",@^%ZOSF("TRAP") -"RTN","BMXRPC3",170,0) +"RTN","BMXRPC3",164,0) S BMXY="T00030DUZ^T00030FACILITY_IEN^T00030FACILITY_NAME"_$C(30) -"RTN","BMXRPC3",171,0) +"RTN","BMXRPC3",165,0) N BMXSUB,BMXFACN -"RTN","BMXRPC3",172,0) +"RTN","BMXRPC3",166,0) I '+DUZ S BMXY=BMXY_0_"^"_0_"^"_0_$C(30)_$C(31) Q -"RTN","BMXRPC3",173,0) +"RTN","BMXRPC3",167,0) I '+BMXFAC S BMXY=BMXY_DUZ_"^"_0_"^"_0_$C(30)_$C(31) Q -"RTN","BMXRPC3",174,0) - I '$D(^VA(200,DUZ,2,+BMXFAC)) S BMXY=BMXY_DUZ_"^"_0_"^"_0_$C(30)_$C(31) Q -"RTN","BMXRPC3",175,0) +"RTN","BMXRPC3",168,0) + ; //SMH Line below is incorrect. Facility valid if not in user profile +"RTN","BMXRPC3",169,0) + ; if it is default kernel facility +"RTN","BMXRPC3",170,0) + ; I '$D(^VA(200,DUZ,2,+BMXFAC)) S BMXY=BMXY_DUZ_"^"_0_"^"_0_$C(30)_$C(31) Q +"RTN","BMXRPC3",171,0) S DUZ(2)=BMXFAC ;IHS/OIT/HMW SAC Exemption Applied For -"RTN","BMXRPC3",176,0) +"RTN","BMXRPC3",172,0) S BMXFACN=$G(^DIC(4,+DUZ(2),0)) -"RTN","BMXRPC3",177,0) +"RTN","BMXRPC3",173,0) S BMXFACN=$P(BMXFACN,"^") -"RTN","BMXRPC3",178,0) +"RTN","BMXRPC3",174,0) S BMXSUB="^VA(200,"_DUZ_",2," -"RTN","BMXRPC3",179,0) +"RTN","BMXRPC3",175,0) S ^DISV(DUZ,BMXSUB)=BMXFAC -"RTN","BMXRPC3",180,0) +"RTN","BMXRPC3",176,0) S BMXY=BMXY_DUZ_"^"_BMXFAC_"^"_BMXFACN_$C(30)_$C(31) -"RTN","BMXRPC3",181,0) +"RTN","BMXRPC3",177,0) Q -"RTN","BMXRPC3",182,0) +"RTN","BMXRPC3",178,0) ; -"RTN","BMXRPC3",183,0) +"RTN","BMXRPC3",179,0) ERFC ; -"RTN","BMXRPC3",184,0) +"RTN","BMXRPC3",180,0) D ^%ZTER -"RTN","BMXRPC3",185,0) +"RTN","BMXRPC3",181,0) S BMXY=$G(BMXY)_0_"^"_0_$C(30)_$C(31) Q -"RTN","BMXRPC3",186,0) +"RTN","BMXRPC3",182,0) Q -"RTN","BMXRPC3",187,0) +"RTN","BMXRPC3",183,0) ; -"RTN","BMXRPC3",188,0) +"RTN","BMXRPC3",184,0) SETFC(BMXY,BMXFAC) ; -"RTN","BMXRPC3",189,0) +"RTN","BMXRPC3",185,0) ;Sets DUZ(2) to value in BMXFAC -"RTN","BMXRPC3",190,0) +"RTN","BMXRPC3",186,0) ;Fails if BMXFAC is not one of the current user's divisions -"RTN","BMXRPC3",191,0) +"RTN","BMXRPC3",187,0) ;Returns 1 if successful, 0 if failed -"RTN","BMXRPC3",192,0) +"RTN","BMXRPC3",188,0) ; -"RTN","BMXRPC3",193,0) +"RTN","BMXRPC3",189,0) S BMXY=0 -"RTN","BMXRPC3",194,0) +"RTN","BMXRPC3",190,0) N BMXSUB -"RTN","BMXRPC3",195,0) +"RTN","BMXRPC3",191,0) I '+DUZ S BMXY=0 Q -"RTN","BMXRPC3",196,0) +"RTN","BMXRPC3",192,0) I '+BMXFAC S BMXY=0 Q -"RTN","BMXRPC3",197,0) +"RTN","BMXRPC3",193,0) I '$D(^VA(200,DUZ,2,+BMXFAC)) S BMXY=0 Q -"RTN","BMXRPC3",198,0) +"RTN","BMXRPC3",194,0) S DUZ(2)=BMXFAC ;IHS/OIT/HMW SAC Exemption Applied For -"RTN","BMXRPC3",199,0) +"RTN","BMXRPC3",195,0) S BMXSUB="^VA(200,"_DUZ_",2," -"RTN","BMXRPC3",200,0) +"RTN","BMXRPC3",196,0) S ^DISV(DUZ,BMXSUB)=BMXFAC -"RTN","BMXRPC3",201,0) +"RTN","BMXRPC3",197,0) S BMXY=1 -"RTN","BMXRPC3",202,0) +"RTN","BMXRPC3",198,0) Q -"RTN","BMXRPC3",203,0) +"RTN","BMXRPC3",199,0) ; -"RTN","BMXRPC3",204,0) +"RTN","BMXRPC3",200,0) APSEC(BMXY,BMXKEY) ;EP -"RTN","BMXRPC3",205,0) +"RTN","BMXRPC3",201,0) ;Return IHSCD_SUCCEEDED (-1) if user has key BMXKEY -"RTN","BMXRPC3",206,0) +"RTN","BMXRPC3",202,0) ;OR if user has key XUPROGMODE -"RTN","BMXRPC3",207,0) +"RTN","BMXRPC3",203,0) ;Otherwise, returns IHSCD_FAILED (0) -"RTN","BMXRPC3",208,0) +"RTN","BMXRPC3",204,0) N BMXIEN,BMXPROG,BMXPKEY -"RTN","BMXRPC3",209,0) +"RTN","BMXRPC3",205,0) I '$G(DUZ) S BMXY=0 Q -"RTN","BMXRPC3",210,0) +"RTN","BMXRPC3",206,0) I BMXKEY="" S BMXY=0 Q -"RTN","BMXRPC3",211,0) +"RTN","BMXRPC3",207,0) ; -"RTN","BMXRPC3",212,0) +"RTN","BMXRPC3",208,0) ;Test for programmer mode key -"RTN","BMXRPC3",213,0) +"RTN","BMXRPC3",209,0) S BMXPROG=0 -"RTN","BMXRPC3",214,0) +"RTN","BMXRPC3",210,0) I $D(^DIC(19.1,"B","XUPROGMODE")) D -"RTN","BMXRPC3",215,0) +"RTN","BMXRPC3",211,0) . S BMXPKEY=$O(^DIC(19.1,"B","XUPROGMODE",0)) -"RTN","BMXRPC3",216,0) +"RTN","BMXRPC3",212,0) . I '+BMXPKEY Q -"RTN","BMXRPC3",217,0) +"RTN","BMXRPC3",213,0) . I '$D(^VA(200,DUZ,51,BMXPKEY,0)) Q -"RTN","BMXRPC3",218,0) +"RTN","BMXRPC3",214,0) . S BMXPROG=1 -"RTN","BMXRPC3",219,0) +"RTN","BMXRPC3",215,0) I BMXPROG S BMXY=-1 Q -"RTN","BMXRPC3",220,0) +"RTN","BMXRPC3",216,0) ; -"RTN","BMXRPC3",221,0) +"RTN","BMXRPC3",217,0) I '$D(^DIC(19.1,"B",BMXKEY)) S BMXY=0 Q -"RTN","BMXRPC3",222,0) +"RTN","BMXRPC3",218,0) S BMXIEN=$O(^DIC(19.1,"B",BMXKEY,0)) -"RTN","BMXRPC3",223,0) +"RTN","BMXRPC3",219,0) I '+BMXIEN S BMXY=0 Q -"RTN","BMXRPC3",224,0) +"RTN","BMXRPC3",220,0) I '$D(^VA(200,DUZ,51,BMXIEN,0)) S BMXY=0 Q -"RTN","BMXRPC3",225,0) +"RTN","BMXRPC3",221,0) S BMXY=-1 -"RTN","BMXRPC3",226,0) +"RTN","BMXRPC3",222,0) Q -"RTN","BMXRPC3",227,0) +"RTN","BMXRPC3",223,0) ; -"RTN","BMXRPC3",228,0) +"RTN","BMXRPC3",224,0) SIGCHK(BMXY,BMXSIG) ;EP -"RTN","BMXRPC3",229,0) +"RTN","BMXRPC3",225,0) ;Checks BMXSIG against hashed value in NEW PERSON -"RTN","BMXRPC3",230,0) +"RTN","BMXRPC3",226,0) ;Return IHSCD_SUCCEEDED (-1) if BMXSIG matches -"RTN","BMXRPC3",231,0) +"RTN","BMXRPC3",227,0) ;Otherwise, returns IHSCD_FAILED (0) -"RTN","BMXRPC3",232,0) +"RTN","BMXRPC3",228,0) N X -"RTN","BMXRPC3",233,0) +"RTN","BMXRPC3",229,0) S BMXY=0 -"RTN","BMXRPC3",234,0) +"RTN","BMXRPC3",230,0) I '$G(DUZ) Q -"RTN","BMXRPC3",235,0) +"RTN","BMXRPC3",231,0) I '$D(^VA(200,DUZ,20)) Q ;TODO What if no signature? -"RTN","BMXRPC3",236,0) +"RTN","BMXRPC3",232,0) S BMXHSH=$P(^VA(200,DUZ,20),U,4) -"RTN","BMXRPC3",237,0) +"RTN","BMXRPC3",233,0) S X=$G(BMXSIG) -"RTN","BMXRPC3",238,0) +"RTN","BMXRPC3",234,0) D HASH^XUSHSHP -"RTN","BMXRPC3",239,0) +"RTN","BMXRPC3",235,0) I X=BMXHSH S BMXY=-1 -"RTN","BMXRPC3",240,0) +"RTN","BMXRPC3",236,0) Q "RTN","BMXRPC4") 0^91^B28124037 "RTN","BMXRPC4",1,0) BMXRPC4 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; "RTN","BMXRPC4",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXRPC4",3,0) ; "RTN","BMXRPC4",4,0) @@ -16157,7 +16243,7 @@ ZZZ ; "RTN","BMXRPC5",1,0) BMXRPC5 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; "RTN","BMXRPC5",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXRPC5",3,0) ; "RTN","BMXRPC5",4,0) @@ -16407,7 +16493,7 @@ HS(BMXGBL,BMXDFN,BMXTYPE,BMXRDL,BMXFDL) ;EP "RTN","BMXRPC6",1,0) BMXRPC6 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; "RTN","BMXRPC6",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXRPC6",3,0) ; "RTN","BMXRPC6",4,0) @@ -16633,7 +16719,7 @@ PDERR ;Error trap for PDEMO "RTN","BMXRPC7",1,0) BMXRPC7 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; "RTN","BMXRPC7",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXRPC7",3,0) ; "RTN","BMXRPC7",4,0) @@ -16903,7 +16989,7 @@ ZZ ;;Halt;Error Messages "RTN","BMXRPC8",1,0) BMXRPC8 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; "RTN","BMXRPC8",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXRPC8",3,0) ; "RTN","BMXRPC8",4,0) @@ -17083,7 +17169,7 @@ IMHERE(BMXRES) ;EP "RTN","BMXRPC9",1,0) BMXRPC9 ; IHS/OIT/HMW - RPC CALL FOR EXTENDED BROKER FUNCTIONALITY ; "RTN","BMXRPC9",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXRPC9",3,0) ; UPDATE FILEMAN WITH AN ADO RECORD SET FROM A WINDOWS APPLICATION "RTN","BMXRPC9",4,0) @@ -17415,7 +17501,7 @@ EX D ^XBFMK ; CLEANUP "RTN","BMXSQL",1,0) BMXSQL ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; "RTN","BMXSQL",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXSQL",3,0) ; "RTN","BMXSQL",4,0) @@ -18229,7 +18315,7 @@ ERRTRAP ; "RTN","BMXSQL1",1,0) BMXSQL1 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; "RTN","BMXSQL1",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXSQL1",3,0) ; "RTN","BMXSQL1",4,0) @@ -18903,7 +18989,7 @@ EXP ;Extended pointer "RTN","BMXSQL2",1,0) BMXSQL2 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; "RTN","BMXSQL2",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXSQL2",3,0) ; "RTN","BMXSQL2",4,0) @@ -19099,7 +19185,7 @@ SETX(BMXX,BMXFG,BMXSCR) ;EP "RTN","BMXSQL3",1,0) BMXSQL3 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; "RTN","BMXSQL3",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXSQL3",3,0) ; "RTN","BMXSQL3",4,0) @@ -19761,7 +19847,7 @@ BLDIT2 ;Pointer "RTN","BMXSQL4",1,0) BMXSQL4 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; "RTN","BMXSQL4",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXSQL4",3,0) ; "RTN","BMXSQL4",4,0) @@ -19829,7 +19915,7 @@ JOIN ;EP - Join processing "RTN","BMXSQL5",1,0) BMXSQL5 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; "RTN","BMXSQL5",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXSQL5",3,0) ; "RTN","BMXSQL5",4,0) @@ -20193,7 +20279,7 @@ PTYPE(BMXGNOD1) ; "RTN","BMXSQL6",1,0) BMXSQL6 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; 7/20/2009 "RTN","BMXSQL6",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXSQL6",3,0) ; Line EOR+3 used a 2 argument form of $Q which is not "RTN","BMXSQL6",4,0) @@ -20881,7 +20967,7 @@ LAST(VAR) ; Get last entry in an array //SMH new code "RTN","BMXSQL7",1,0) BMXSQL7 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; "RTN","BMXSQL7",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXSQL7",3,0) ; "RTN","BMXSQL7",4,0) @@ -21347,7 +21433,7 @@ ERROR Q "RTN","BMXSQL91",1,0) BMXSQL91 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; "RTN","BMXSQL91",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXSQL91",3,0) ; "RTN","BMXSQL91",4,0) @@ -21631,7 +21717,7 @@ ZZZ Q "RTN","BMXTABLE",1,0) BMXTABLE ; IHS/OIT/HMW - BMX RETURN ENTIRE TABLE ; "RTN","BMXTABLE",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXTABLE",3,0) ; "RTN","BMXTABLE",4,0) @@ -21647,7 +21733,7 @@ TABLE(BMXGBL,BMXFL,BMXMX) ;EP "RTN","BMXTRS",1,0) BMXTRS ; IHS/OIT/HMW - UPPERCASE-LOWERCASE ; "RTN","BMXTRS",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXTRS",3,0) ; "RTN","BMXTRS",4,0) @@ -21733,7 +21819,7 @@ CHAR ; "RTN","BMXUTL1",1,0) BMXUTL1 ; IHS/OIT/HMW - UTIL: PATIENT DEMOGRAPHICS ; "RTN","BMXUTL1",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXUTL1",3,0) ;;Stolen from:* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER * "RTN","BMXUTL1",4,0) @@ -22395,7 +22481,7 @@ PERSON(X,ORDER) ;EP "RTN","BMXUTL2",1,0) BMXUTL2 ; IHS/OIT/HMW - UTIL: PATIENT INFO ; "RTN","BMXUTL2",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXUTL2",3,0) ;;Stolen from:* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER * "RTN","BMXUTL2",4,0) @@ -22461,7 +22547,7 @@ NEXTAPPT(BMXDFN) ;EP "RTN","BMXUTL5",1,0) BMXUTL5 ; IHS/OIT/HMW - DATE FORMAT ; "RTN","BMXUTL5",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXUTL5",3,0) ;;Stolen from:* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER * "RTN","BMXUTL5",4,0) @@ -22897,7 +22983,7 @@ STRIP(X) ;EP "RTN","BMXUTL6",1,0) BMXUTL6 ; IHS/OIT/HMW - BMXNET INSTALLATION CALLS ; "RTN","BMXUTL6",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXUTL6",3,0) ; "RTN","BMXUTL6",4,0) @@ -22967,11 +23053,11 @@ POST ;EP - Called from BMX Installation postinit "RTN","BMXUTL6",36,0) Q "RTN","BMXUTL7") -0^112^B65930 +0^117^B65930 "RTN","BMXUTL7",1,0) -BMXUTL7 ; IHS/OIT/HMW - BMXNET INSTALLATION CALLS ; +BMXUTL7 ; IHS/OIT/HMW - BMXNET INSTALLATION CALLS ; 9/7/10 9:34am "RTN","BMXUTL7",2,0) - ;;2.1;BMX;;Jul 26, 2009;Build 4 + ;;2.2;BMX;;Sep 07, 2010;Build 8 "RTN","BMXUTL7",3,0) ; "RTN","BMXUTL7",4,0)