BMX updated to v2.3. No actual routine changes from 2.21
|
@ -1,5 +1,5 @@
|
||||||
BMXADE1 ; IHS/OIT/HMW - BMXNet ADO.NET PROVIDER ;
|
BMXADE1 ; IHS/OIT/HMW - BMXNet ADO.NET PROVIDER ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
;Dental Excel report demo
|
;Dental Excel report demo
|
||||||
|
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADE2 ; IHS/OIT/HMW - BMXNet ADO.NET PROVIDER ;
|
BMXADE2 ; IHS/OIT/HMW - BMXNet ADO.NET PROVIDER ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
;Dental Excel report demo
|
;Dental Excel report demo
|
||||||
|
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADO ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ;
|
BMXADO ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; SS^BMXADO: RPC EP FROM WINDOWS/WEB APP TO GENERATE A SCHEMEA STRING (& OPTIONALLY, A DATA SET AS WELL)
|
; SS^BMXADO: RPC EP FROM WINDOWS/WEB APP TO GENERATE A SCHEMEA STRING (& OPTIONALLY, A DATA SET AS WELL)
|
||||||
; THE SCHEMA DEFINITION AND MAP IS STORED IN THE 'BMX ADO SCHEMA' FILE
|
; THE SCHEMA DEFINITION AND MAP IS STORED IN THE 'BMX ADO SCHEMA' FILE
|
||||||
; THIS ROUTINE GENERATES THE SCHEMA STRING. BMXADOV GENERATES THE DATA SET THAT GOES WITH THE SCHEMA STRING.
|
; THIS ROUTINE GENERATES THE SCHEMA STRING. BMXADOV GENERATES THE DATA SET THAT GOES WITH THE SCHEMA STRING.
|
||||||
|
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADO2 ; IHS/CIHA/GIS - BMX ADO RECORDSET UTILS ;
|
BMXADO2 ; IHS/CIHA/GIS - BMX ADO RECORDSET UTILS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
GEN(BMXY,BMXF) ;EP - Generate an ADO Schema string from a list of fields
|
GEN(BMXY,BMXF) ;EP - Generate an ADO Schema string from a list of fields
|
||||||
|
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADOF ; IHS/CIHA/GIS - RPC CALL FOR EXTENDED FUNCTIONALITY OF BMXNet UTILITIES ;
|
BMXADOF ; IHS/CIHA/GIS - RPC CALL FOR EXTENDED FUNCTIONALITY OF BMXNet UTILITIES ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; THIS IS THE ADO RECORDSET FILER: ADO -> FILEMAN
|
; THIS IS THE ADO RECORDSET FILER: ADO -> FILEMAN
|
||||||
; VISIT FILE UPDATES REPRESENT A SPECIAL CASE HTAT IS MANAGED IN BMXADOF1
|
; VISIT FILE UPDATES REPRESENT A SPECIAL CASE HTAT IS MANAGED IN BMXADOF1
|
||||||
; INCLUDES TRANSACTION CONTROLS
|
; INCLUDES TRANSACTION CONTROLS
|
||||||
|
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADOF1 ; IHS/CIHA/GIS - RPC CALL FOR EXTENDED FUNCTIONALITY OF BMXNet UTILITIES ;
|
BMXADOF1 ; IHS/CIHA/GIS - RPC CALL FOR EXTENDED FUNCTIONALITY OF BMXNet UTILITIES ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; UPDATE FILEMAN WITH AN ADO RECORD SET FROM A WINDOWS/WEB APPLICATION
|
; UPDATE FILEMAN WITH AN ADO RECORD SET FROM A WINDOWS/WEB APPLICATION
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADOF2 ; IHS/CIHA/GIS - RPC CALL FOR EXTENDED FUNCTIONALITY OF BMXNet UTILITIES ;
|
BMXADOF2 ; IHS/CIHA/GIS - RPC CALL FOR EXTENDED FUNCTIONALITY OF BMXNet UTILITIES ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; THIS ROUTINE CONTAINS SPECIAL ENTRY POINTS FOR UPDATING RPMS
|
; THIS ROUTINE CONTAINS SPECIAL ENTRY POINTS FOR UPDATING RPMS
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADOFD ; IHS/CIHA/GIS - RPC CALL FOR EXTENDED FUNCTIONALITY OF BMXNet UTILITIES ;
|
BMXADOFD ; IHS/CIHA/GIS - RPC CALL FOR EXTENDED FUNCTIONALITY OF BMXNet UTILITIES ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; THIS IS THE ADO RECORDSET FILER: ADO -> FILEMAN
|
; THIS IS THE ADO RECORDSET FILER: ADO -> FILEMAN
|
||||||
; CONTAINS SPECIAL ENTRY POINT FOR RPMS DATA ENTRY
|
; CONTAINS SPECIAL ENTRY POINT FOR RPMS DATA ENTRY
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADOFS ; IHS/CIHA/GIS - RPC CALL FOR EXTENDED FUNCTIONALITY OF BMXNet UTILITIES ;
|
BMXADOFS ; IHS/CIHA/GIS - RPC CALL FOR EXTENDED FUNCTIONALITY OF BMXNet UTILITIES ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; THIS IS THE ADO RECORDSET FILER: ADO -> FILEMAN
|
; THIS IS THE ADO RECORDSET FILER: ADO -> FILEMAN
|
||||||
; CONTAINS SPECIAL CODE RELATED TO FILING PROPLEMS, POVS, FAMILY HX, PERSONAL HX AND NOTES.
|
; CONTAINS SPECIAL CODE RELATED TO FILING PROPLEMS, POVS, FAMILY HX, PERSONAL HX AND NOTES.
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADOI ; IHS/CIHA/GIS - RPC CALL: GENERATE DATA FOR AN ADO DATASET ;
|
BMXADOI ; IHS/CIHA/GIS - RPC CALL: GENERATE DATA FOR AN ADO DATASET ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; CUSTOM IDENTIFIERS
|
; CUSTOM IDENTIFIERS
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
12
m/BMXADOS.m
|
@ -1,6 +1,12 @@
|
||||||
BMXADOS ; IHS/CIHA/GIS - UPDATE THE BMX ADO SCHEMA FILE ;
|
BMXADOS ; IHS/CIHA/GIS - UPDATE THE BMX ADO SCHEMA FILE ; 12/7/10 4:07pm
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; ENABLES NAVIGATION TO SUBFILES PRIOR TO UPDATING THE SCHEMA FILE ENTRY
|
; ENABLES NAVIGATION TO SUBFILES PRIOR TO UPDATING THE SCHEMA FILE ENTRY
|
||||||
|
;
|
||||||
|
; Change log:
|
||||||
|
; Sam Habiel - 3101212 v2.21
|
||||||
|
; - Changed the quit from the line in ASTG b/c it couldn't compile in GT.M
|
||||||
|
; F PCE=1:1:LEV S FNO=+$P(STG,",",PCE) D I '$L(STG) Q "" **OLD**
|
||||||
|
; F PCE=1:1:LEV S FNO=+$P(STG,",",PCE) D Q:'$L(STG) ; v 2.21 SMH
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
@ -231,7 +237,7 @@ PASS1 ; PASS 1. BUILD THE ARRAY OF ALL SUBFILES
|
||||||
ASTG(STG) ; CONVERT STRING FROM FILE NUMBERS TO FILE NAMES
|
ASTG(STG) ; CONVERT STRING FROM FILE NUMBERS TO FILE NAMES
|
||||||
N PCE,LEV,FNO,NAME
|
N PCE,LEV,FNO,NAME
|
||||||
S LEV=$L(STG,",")
|
S LEV=$L(STG,",")
|
||||||
F PCE=1:1:LEV S FNO=+$P(STG,",",PCE) D I '$L(STG) Q ""
|
F PCE=1:1:LEV S FNO=+$P(STG,",",PCE) D Q:'$L(STG) ; v 2.21 SMH
|
||||||
. S NAME=$O(^DD(FNO,0,"NM",""))
|
. S NAME=$O(^DD(FNO,0,"NM",""))
|
||||||
. I $E(NAME)="*" S NAME=$E(NAME,2,99)
|
. I $E(NAME)="*" S NAME=$E(NAME,2,99)
|
||||||
. I '$L(NAME) S STG="" Q
|
. I '$L(NAME) S STG="" Q
|
||||||
|
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.5 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADOS1 ; IHS/CIHA/GIS - UPDATE THE BMX ADO SCHEMA FILE GUI VERSION ;
|
BMXADOS1 ; IHS/CIHA/GIS - UPDATE THE BMX ADO SCHEMA FILE GUI VERSION ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; RPC CALLS
|
; RPC CALLS
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADOV ; CIHA/CIHA/GIS - RPC CALL: GENERATE DATA FOR AN ADO DATASET
|
BMXADOV ; CIHA/CIHA/GIS - RPC CALL: GENERATE DATA FOR AN ADO DATASET
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
12
m/BMXADOV1.m
|
@ -1,9 +1,15 @@
|
||||||
BMXADOV1 ; IHS/CIHA/GIS - RPC CALL: GENERATE DATA FOR AN ADO DATASET ;
|
BMXADOV1 ; IHS/CIHA/GIS - RPC CALL: GENERATE DATA FOR AN ADO DATASET ; 12/7/10 4:12pm
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; CONTINUATION FILE FOR BMXADOV
|
; CONTINUATION FILE FOR BMXADOV
|
||||||
; MANAGES ITERATION FOR INDIVIDUAL INDEX TYPES
|
; MANAGES ITERATION FOR INDIVIDUAL INDEX TYPES
|
||||||
; ASSUMES CERTAIN LOCAL VARS: CREF,FIEN,IENS,DAS (<-THESE CAN'T BE NULL),START,STOP,MAX,TOT,NUM,IX
|
; ASSUMES CERTAIN LOCAL VARS: CREF,FIEN,IENS,DAS (<-THESE CAN'T BE NULL),START,STOP,MAX,TOT,NUM,IX
|
||||||
;
|
;
|
||||||
|
; Change Log
|
||||||
|
; Sam Habiel 3101212 v. 2.21
|
||||||
|
; Change line 140 from:
|
||||||
|
; I IX="AA" G AA to
|
||||||
|
; I IX="AA" Q $$AA
|
||||||
|
; to fix compilation error
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
DATA(IENS,DA,XCNT) ;EP - ADD DATA NODES TO ARRAY
|
DATA(IENS,DA,XCNT) ;EP - ADD DATA NODES TO ARRAY
|
||||||
|
@ -131,7 +137,7 @@ IXVAL(FIEN,IX,DAS) ; GIVEN A FILE IEN, INDEX NAME, AND DAS STRING, RETURN THE VA
|
||||||
S XREF=OREF_IX_")"
|
S XREF=OREF_IX_")"
|
||||||
S DA=+IENS I 'DA Q CREF_"||"
|
S DA=+IENS I 'DA Q CREF_"||"
|
||||||
I '$D(@CREF@(DA)) Q CREF_"||" ; NO ENTRY EXISTS
|
I '$D(@CREF@(DA)) Q CREF_"||" ; NO ENTRY EXISTS
|
||||||
I IX="AA" G AA
|
I IX="AA" Q $$AA ; SMH v. 2.21
|
||||||
S FLD=+$$IXFLD^BMXADOV(FIEN,IX) I 'FLD Q "" ; INVALID DD
|
S FLD=+$$IXFLD^BMXADOV(FIEN,IX) I 'FLD Q "" ; INVALID DD
|
||||||
S VAL=$$GET1^DIQ(FIEN,IENS,FLD,"I") I VAL="" Q "" ; VALUE IS NULL - NOTHING TO INDEX
|
S VAL=$$GET1^DIQ(FIEN,IENS,FLD,"I") I VAL="" Q "" ; VALUE IS NULL - NOTHING TO INDEX
|
||||||
I '$D(@CREF@(IX,VAL,DA)) Q "" ; INVALID INDEX
|
I '$D(@CREF@(IX,VAL,DA)) Q "" ; INVALID INDEX
|
||||||
|
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.3 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADOV2 ; IHS/CIHA/GIS - RPC CALL: GENERATE DATA FOR AN ADO DATASET ;
|
BMXADOV2 ; IHS/CIHA/GIS - RPC CALL: GENERATE DATA FOR AN ADO DATASET ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; CUSTOM ITERATORS FOR RPMS
|
; CUSTOM ITERATORS FOR RPMS
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADOVJ ; IHS/CIHA/GIS - RPC CALL: GENERATE DATA FOR AN ADO DATASET ;
|
BMXADOVJ ; IHS/CIHA/GIS - RPC CALL: GENERATE DATA FOR AN ADO DATASET ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; THIS ROUTINE MANAGES THE JOINS
|
; THIS ROUTINE MANAGES THE JOINS
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADOX ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ;
|
BMXADOX ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; EXMAPLES OF RPMS SCHEMAE GENERATION
|
; EXMAPLES OF RPMS SCHEMAE GENERATION
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADOX1 ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ;
|
BMXADOX1 ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; EXMAPLES OF FILEMAN SCHEMA GENERATION
|
; EXMAPLES OF FILEMAN SCHEMA GENERATION
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADOX2 ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ;
|
BMXADOX2 ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; EXMAPLES OF FILEMAN SCHEMA GENERATION
|
; EXMAPLES OF FILEMAN SCHEMA GENERATION
|
||||||
;
|
;
|
||||||
DISP(OUT) ;
|
DISP(OUT) ;
|
||||||
|
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADOXX ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ;
|
BMXADOXX ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; EXMAPLES OF RPMS SCHEMAE GENERATION
|
; EXMAPLES OF RPMS SCHEMAE GENERATION
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXADOXY ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ;
|
BMXADOXY ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; EXMAPLES OF FILEMAN SCHEMA GENERATION
|
; EXMAPLES OF FILEMAN SCHEMA GENERATION
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXE01 ; IHS/OIT/FJE - ENVIRONMENT CHECK FOR BMX 2.0 ;
|
BMXE01 ; IHS/OIT/FJE - ENVIRONMENT CHECK FOR BMX 2.0 ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
S $P(LINE,"*",81)=""
|
S $P(LINE,"*",81)=""
|
||||||
S XPDNOQUE="NO QUE" ;NO QUEUING ALLOWED
|
S XPDNOQUE="NO QUE" ;NO QUEUING ALLOWED
|
||||||
|
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXFIND ; IHS/OIT/HMW - BMX GENERIC FIND ;
|
BMXFIND ; IHS/OIT/HMW - BMX GENERIC FIND ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
TABLE(BMXGBL,BMXFL) ;EP
|
TABLE(BMXGBL,BMXFL) ;EP
|
||||||
|
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.0 KiB |
2
m/BMXG.m
|
@ -1,5 +1,5 @@
|
||||||
BMXG ; IHS/OIT/HMW - UTIL: GET DATA ;
|
BMXG ; IHS/OIT/HMW - UTIL: GET DATA ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;;Stolen from:* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
;;Stolen from:* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXGETS ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
BMXGETS ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;;Horace Whitt
|
;;Horace Whitt
|
||||||
;;Interface to GETS^DIQ
|
;;Interface to GETS^DIQ
|
||||||
|
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXMBRK ; IHS/OIT/HMW - BMXNet MONITOR ;
|
BMXMBRK ; IHS/OIT/HMW - BMXNet MONITOR ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
PRSP(P) ;EP -Parse Protocol
|
PRSP(P) ;EP -Parse Protocol
|
||||||
|
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXMBRK2 ; IHS/OIT/HMW - BMXNet MONITOR ;
|
BMXMBRK2 ; IHS/OIT/HMW - BMXNet MONITOR ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
CAPI(BMXY,TAG,NAM,PAR) ;EP - make API call
|
CAPI(BMXY,TAG,NAM,PAR) ;EP - make API call
|
||||||
|
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXMEVN ; IHS/OIT/HMW - BMXNet MONITOR ;
|
BMXMEVN ; IHS/OIT/HMW - BMXNet MONITOR ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
723
m/BMXMON.m
|
@ -1,360 +1,385 @@
|
||||||
BMXMON ; IHS/OIT/HMW - BMXNet MONITOR ; 7/20/2009 ; 9/7/10 7:47am
|
BMXMON ; IHS/OIT/HMW - BMXNet MONITOR ; 7/20/2009 ; 12/7/10 3:20pm
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;IHS/OIT/HMW Patch 1 added validity check for passed-in namespace
|
;IHS/OIT/HMW Patch 1 added validity check for passed-in namespace
|
||||||
; 7/20/2009: Release of patch to support GT.M WV/SMH
|
; 7/20/2009: Release of patch to support GT.M WV/SMH
|
||||||
; Changes:
|
; Changes:
|
||||||
; Addition of XINETD and GTMLNX entry points for support of GT.M
|
; Addition of XINETD and GTMLNX entry points for support of GT.M
|
||||||
; Changes of W *-3 (which only works on Cache) to W !
|
; Changes of W *-3 (which only works on Cache) to W !
|
||||||
; 9/7/2009: Minor bug fixes and enhancements
|
; 9/7/2010: Minor bug fixes and enhancements
|
||||||
; In GTMLNX: Set process name
|
; In GTMLNX: Set process name
|
||||||
; In GTMLNX: Time out based now on the Kernel Broker Timeout field
|
; In GTMLNX: Time out based now on the Kernel Broker Timeout field
|
||||||
; in kernel system parameters file
|
; in kernel system parameters file
|
||||||
;
|
; 12/12/2010: Minor bug fixes
|
||||||
STRT(BMXPORT,NS,IS,VB) ;EP
|
; ETRAP nows screens errors before logging them. If it is a network
|
||||||
;Interactive monitor start
|
; write error, it's not logged to the Error Trap
|
||||||
;Optional NS = namespace. If undefined, start in current ns
|
; Set Process Name crashed on Cache due to undefined IO("GT.M").
|
||||||
;Optional IS = Integrated Security. Default is 1
|
; Now this is surrounded by $Get to prevent this error.
|
||||||
;Optional VB = Verbose. Default is 1
|
;
|
||||||
;
|
STRT(BMXPORT,NS,IS,VB) ;EP
|
||||||
N Y,BMXNS,BMXWIN
|
;Interactive monitor start
|
||||||
;
|
;Optional NS = namespace. If undefined, start in current ns
|
||||||
;Verbose
|
;Optional IS = Integrated Security. Default is 1
|
||||||
S BMXVB=$G(VB,1)
|
;Optional VB = Verbose. Default is 1
|
||||||
;
|
;
|
||||||
;Check if port already running
|
N Y,BMXNS,BMXWIN
|
||||||
I '$$SEMAPHOR(BMXPORT,"LOCK") W:BMXVB "BMXNet Monitor on port "_BMXPORT_" appears to be running already.",! Q
|
;
|
||||||
S %=$$SEMAPHOR(BMXPORT,"UNLOCK")
|
;Verbose
|
||||||
;
|
S BMXVB=$G(VB,1)
|
||||||
D MARKER(BMXPORT,1) ;record problem marker
|
;
|
||||||
; -- start the monitor
|
;Check if port already running
|
||||||
;
|
I '$$SEMAPHOR(BMXPORT,"LOCK") W:BMXVB "BMXNet Monitor on port "_BMXPORT_" appears to be running already.",! Q
|
||||||
;Namespace
|
S %=$$SEMAPHOR(BMXPORT,"UNLOCK")
|
||||||
X ^%ZOSF("UCI")
|
;
|
||||||
S BMXNS=$G(NS,$P(Y,","))
|
D MARKER(BMXPORT,1) ;record problem marker
|
||||||
;
|
; -- start the monitor
|
||||||
;Integrated security
|
;
|
||||||
S BMXWIN=$G(IS,1)
|
;Namespace
|
||||||
;
|
X ^%ZOSF("UCI")
|
||||||
;J DEBUG^%Serenji("MON^BMXMON("_BMXPORT_","_BMXNS_","_BMXWIN_")")
|
S BMXNS=$G(NS,$P(Y,","))
|
||||||
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
|
;
|
||||||
F %=1:1:5 D Q:%=0
|
;Integrated security
|
||||||
. W:BMXVB "Checking if BMXNet Monitor has started...",!
|
S BMXWIN=$G(IS,1)
|
||||||
. H 1
|
;
|
||||||
. S:'$$MARKER(BMXPORT,0) %=0
|
;J DEBUG^%Serenji("MON^BMXMON("_BMXPORT_","_BMXNS_","_BMXWIN_")")
|
||||||
I $$MARKER(BMXPORT,0) D
|
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
|
||||||
. W:BMXVB !,"BMXNet Monitor could not be started!",!
|
F %=1:1:5 D Q:%=0
|
||||||
. W:BMXVB "Check if port "_BMXPORT_" is busy on this CPU.",!
|
. W:BMXVB "Checking if BMXNet Monitor has started...",!
|
||||||
. D MARKER(BMXPORT,-1) ;clear marker
|
. H 1
|
||||||
E W:BMXVB "BMXNet Monitor started successfully."
|
. S:'$$MARKER(BMXPORT,0) %=0
|
||||||
;
|
I $$MARKER(BMXPORT,0) D
|
||||||
Q
|
. W:BMXVB !,"BMXNet Monitor could not be started!",!
|
||||||
;
|
. W:BMXVB "Check if port "_BMXPORT_" is busy on this CPU.",!
|
||||||
|
. D MARKER(BMXPORT,-1) ;clear marker
|
||||||
|
E W:BMXVB "BMXNet Monitor started successfully."
|
||||||
|
;
|
||||||
|
Q
|
||||||
|
;
|
||||||
RESTART ;EP
|
RESTART ;EP
|
||||||
;Stop and Start all monitors in BMX MONITOR file
|
;Stop and Start all monitors in BMX MONITOR file
|
||||||
;Called by option BMX MONITOR START
|
;Called by option BMX MONITOR START
|
||||||
;
|
;
|
||||||
D STOPALL
|
D STOPALL
|
||||||
D STRTALL
|
D STRTALL
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
STRTALL ;EP
|
STRTALL ;EP
|
||||||
;Start all monitors in BMX MONITOR file
|
;Start all monitors in BMX MONITOR file
|
||||||
;
|
;
|
||||||
N BMXIEN
|
N BMXIEN
|
||||||
S BMXIEN=0 F S BMXIEN=$O(^BMXMON(BMXIEN)) Q:'+BMXIEN D
|
S BMXIEN=0 F S BMXIEN=$O(^BMXMON(BMXIEN)) Q:'+BMXIEN D
|
||||||
. S BMXNOD=$G(^BMXMON(BMXIEN,0))
|
. S BMXNOD=$G(^BMXMON(BMXIEN,0))
|
||||||
. Q:'+BMXNOD
|
. Q:'+BMXNOD
|
||||||
. Q:'+$P(BMXNOD,U,2)
|
. Q:'+$P(BMXNOD,U,2)
|
||||||
. S BMXWIN=$P(BMXNOD,U,3)
|
. S BMXWIN=$P(BMXNOD,U,3)
|
||||||
. S BMXNS=$P(BMXNOD,U,4)
|
. S BMXNS=$P(BMXNOD,U,4)
|
||||||
. D STRT($P(BMXNOD,U),BMXNS,BMXWIN,0)
|
. D STRT($P(BMXNOD,U),BMXNS,BMXWIN,0)
|
||||||
. Q
|
. Q
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
STOPALL ;EP
|
STOPALL ;EP
|
||||||
;Stop all monitors in BMXNET MONITOR file
|
;Stop all monitors in BMXNET MONITOR file
|
||||||
;
|
;
|
||||||
N BMXIEN,BMXPORT
|
N BMXIEN,BMXPORT
|
||||||
S BMXIEN=0 F S BMXIEN=$O(^BMXMON(BMXIEN)) Q:'+BMXIEN D
|
S BMXIEN=0 F S BMXIEN=$O(^BMXMON(BMXIEN)) Q:'+BMXIEN D
|
||||||
. S BMXNOD=$G(^BMXMON(BMXIEN,0))
|
. S BMXNOD=$G(^BMXMON(BMXIEN,0))
|
||||||
. Q:'+BMXNOD
|
. Q:'+BMXNOD
|
||||||
. S BMXPORT=+BMXNOD
|
. S BMXPORT=+BMXNOD
|
||||||
. D STOP(BMXPORT,0)
|
. D STOP(BMXPORT,0)
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
STOP(BMXPORT,VB) ;EP Stop monitor on BMXPORT
|
STOP(BMXPORT,VB) ;EP Stop monitor on BMXPORT
|
||||||
;Open a channel to monitor on BMXPORT and send shutdown request
|
;Open a channel to monitor on BMXPORT and send shutdown request
|
||||||
;Optional VB = Verbose. Default is 1
|
;Optional VB = Verbose. Default is 1
|
||||||
;
|
;
|
||||||
N IP,REF,X,DEV
|
N IP,REF,X,DEV
|
||||||
S U="^" D HOME^%ZIS
|
S U="^" D HOME^%ZIS
|
||||||
;
|
;
|
||||||
;Verbose
|
;Verbose
|
||||||
S BMXVB=$G(VB,1)
|
S BMXVB=$G(VB,1)
|
||||||
;
|
;
|
||||||
D:BMXVB EN^DDIOL("Stop BMXNet Monitor...")
|
D:BMXVB EN^DDIOL("Stop BMXNet Monitor...")
|
||||||
X ^%ZOSF("UCI") S REF=Y
|
X ^%ZOSF("UCI") S REF=Y
|
||||||
S IP="0.0.0.0" ;get server IP
|
S IP="0.0.0.0" ;get server IP
|
||||||
IF $G(BMXPORT)="" S BMXPORT=9200
|
IF $G(BMXPORT)="" S BMXPORT=9200
|
||||||
; -- make sure the listener is running
|
; -- make sure the listener is running
|
||||||
I $$SEMAPHOR(BMXPORT,"LOCK") D Q
|
I $$SEMAPHOR(BMXPORT,"LOCK") D Q
|
||||||
. S %=$$SEMAPHOR(BMXPORT,"UNLOCK")
|
. S %=$$SEMAPHOR(BMXPORT,"UNLOCK")
|
||||||
. D:BMXVB EN^DDIOL("BMXNet Monitor does not appear to be running.")
|
. D:BMXVB EN^DDIOL("BMXNet Monitor does not appear to be running.")
|
||||||
; -- send the shutdown message to the TCP Listener process
|
; -- send the shutdown message to the TCP Listener process
|
||||||
D CALL^%ZISTCP("127.0.0.1",BMXPORT) I POP D Q
|
D CALL^%ZISTCP("127.0.0.1",BMXPORT) I POP D Q
|
||||||
. S %=$$SEMAPHOR(BMXPORT,"UNLOCK")
|
. S %=$$SEMAPHOR(BMXPORT,"UNLOCK")
|
||||||
. D:BMXVB EN^DDIOL("BMXNet Monitor does not appear to be running.")
|
. D:BMXVB EN^DDIOL("BMXNet Monitor does not appear to be running.")
|
||||||
U IO
|
U IO
|
||||||
S X=$T(+2),X=$P(X,";;",2),X=$P(X,";")
|
S X=$T(+2),X=$P(X,";;",2),X=$P(X,";")
|
||||||
IF X="" S X=0
|
IF X="" S X=0
|
||||||
S X=$C($L(X))_X
|
S X=$C($L(X))_X
|
||||||
W "{BMX}00011TCPshutdown",!
|
W "{BMX}00011TCPshutdown",!
|
||||||
R X#3:5
|
R X#3:5
|
||||||
D CLOSE^%ZISTCP
|
D CLOSE^%ZISTCP
|
||||||
I X="ack" D:BMXVB EN^DDIOL("BMXNet Monitor has been shutdown.")
|
I X="ack" D:BMXVB EN^DDIOL("BMXNet Monitor has been shutdown.")
|
||||||
E D:BMXVB EN^DDIOL("Shutdown Failed!")
|
E D:BMXVB EN^DDIOL("Shutdown Failed!")
|
||||||
;change process name
|
;change process name
|
||||||
D CHPRN($J)
|
D CHPRN($J)
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
MON(BMXPORT,NS,IS) ;Monitor port for connection & shutdown requests
|
MON(BMXPORT,NS,IS) ;Monitor port for connection & shutdown requests
|
||||||
;NS = Namespace to Start monitor
|
;NS = Namespace to Start monitor
|
||||||
;IS = 1: Enable integrated security
|
;IS = 1: Enable integrated security
|
||||||
;
|
;
|
||||||
N BMXDEV,BMXQUIT,BMXDTIME,BMXLEN,BMXACT,BMXWIN,BMXNS
|
N BMXDEV,BMXQUIT,BMXDTIME,BMXLEN,BMXACT,BMXWIN,BMXNS
|
||||||
S BMXQUIT=0,BMXDTIME=999999
|
S BMXQUIT=0,BMXDTIME=999999
|
||||||
;
|
;
|
||||||
;Set lock
|
;Set lock
|
||||||
Q:'$$SEMAPHOR(BMXPORT,"LOCK")
|
Q:'$$SEMAPHOR(BMXPORT,"LOCK")
|
||||||
;Clear problem marker
|
;Clear problem marker
|
||||||
D MARKER(BMXPORT,-1)
|
D MARKER(BMXPORT,-1)
|
||||||
;H 1
|
;H 1
|
||||||
;
|
;
|
||||||
;Namespace
|
;Namespace
|
||||||
X ^%ZOSF("UCI")
|
X ^%ZOSF("UCI")
|
||||||
S BMXNS=$G(NS,$P(Y,","))
|
S BMXNS=$G(NS,$P(Y,","))
|
||||||
;
|
;
|
||||||
;Integrated security
|
;Integrated security
|
||||||
S BMXWIN=$G(IS,1)
|
S BMXWIN=$G(IS,1)
|
||||||
;
|
;
|
||||||
;Open server port;
|
;Open server port;
|
||||||
S BMXDEV="|TCP|"_BMXPORT
|
S BMXDEV="|TCP|"_BMXPORT
|
||||||
C BMXDEV ;IHS/OIT/HMW SAC Exemption Applied For
|
C BMXDEV ;IHS/OIT/HMW SAC Exemption Applied For
|
||||||
O BMXDEV:(:BMXPORT:"S"):5 I '$T Q ;IHS/OIT/HMW SAC Exemption Applied For
|
O BMXDEV:(:BMXPORT:"S"):5 I '$T Q ;IHS/OIT/HMW SAC Exemption Applied For
|
||||||
;
|
;
|
||||||
;S BMXDTIME(1)=BMXDTIME ; TODO: Set timeouts
|
;S BMXDTIME(1)=BMXDTIME ; TODO: Set timeouts
|
||||||
S BMXDTIME(1)=.5 ;HMW 20050120
|
S BMXDTIME(1)=.5 ;HMW 20050120
|
||||||
U BMXDEV
|
U BMXDEV
|
||||||
F D Q:BMXQUIT
|
F D Q:BMXQUIT
|
||||||
. R BMXACT#5:BMXDTIME ;Read first 5 chars from TCP buffer, timeout=BMXDTIME
|
. R BMXACT#5:BMXDTIME ;Read first 5 chars from TCP buffer, timeout=BMXDTIME
|
||||||
. I BMXACT'="{BMX}" S BMXQUIT=1 Q
|
. I BMXACT'="{BMX}" S BMXQUIT=1 Q
|
||||||
. R BMXACT#5:BMXDTIME ;Read next 5 chars - message length
|
. R BMXACT#5:BMXDTIME ;Read next 5 chars - message length
|
||||||
. S BMXLEN=+BMXACT
|
. S BMXLEN=+BMXACT
|
||||||
. R BMXACT#BMXLEN:BMXDTIME
|
. R BMXACT#BMXLEN:BMXDTIME
|
||||||
. I $P(BMXACT,"^")="TCPconnect" D Q
|
. I $P(BMXACT,"^")="TCPconnect" D Q
|
||||||
. . ;IHS/OIT/HMW added validity check for namespace
|
. . ;IHS/OIT/HMW added validity check for namespace
|
||||||
. . N BMXNSJ,X,Y
|
. . N BMXNSJ,X,Y
|
||||||
. . S BMXNSJ=$P(BMXACT,"^",2) ;Namespace
|
. . S BMXNSJ=$P(BMXACT,"^",2) ;Namespace
|
||||||
. . S BMXNSJ=$P(BMXNSJ,",")
|
. . S BMXNSJ=$P(BMXNSJ,",")
|
||||||
. . ;if passed in namespace is invalid, new job will start in listener namespace
|
. . ;if passed in namespace is invalid, new job will start in listener namespace
|
||||||
. . I BMXNSJ]"" S X=BMXNSJ X ^%ZOSF("UCICHECK") S:Y=0 BMXNSJ=BMXNS
|
. . I BMXNSJ]"" S X=BMXNSJ X ^%ZOSF("UCICHECK") S:Y=0 BMXNSJ=BMXNS
|
||||||
. . ;Job another MONITOR using concurrent connection
|
. . ;Job another MONITOR using concurrent connection
|
||||||
. . ;J DEBUG^%Serenji("SESSION^BMXMON("_BMXWIN_")"):(:5:BMXDEV:BMXDEV):5
|
. . ;J DEBUG^%Serenji("SESSION^BMXMON("_BMXWIN_")"):(:5:BMXDEV:BMXDEV):5
|
||||||
. . ;J SESSION^BMXMON(BMXWIN)[$P(BMXNS,",")]:(:5:BMXDEV:BMXDEV):5 ;IHS/OIT/HMW SAC Exemption Applied For
|
. . ;J SESSION^BMXMON(BMXWIN)[$P(BMXNS,",")]:(:5:BMXDEV:BMXDEV):5 ;IHS/OIT/HMW SAC Exemption Applied For
|
||||||
. . J SESSION^BMXMON(BMXWIN)[BMXNSJ]:(:5:BMXDEV:BMXDEV):5 ;IHS/OIT/HMW SAC Exemption Applied For
|
. . J SESSION^BMXMON(BMXWIN)[BMXNSJ]:(:5:BMXDEV:BMXDEV):5 ;IHS/OIT/HMW SAC Exemption Applied For
|
||||||
. I $P(BMXACT,"^")="TCPshutdown" S BMXQUIT=1 W "ack",!
|
. I $P(BMXACT,"^")="TCPshutdown" S BMXQUIT=1 W "ack",!
|
||||||
S %=$$SEMAPHOR(BMXPORT,"UNLOCK") ; destroy 'running flag'
|
S %=$$SEMAPHOR(BMXPORT,"UNLOCK") ; destroy 'running flag'
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
XINETD ;PEP Directly from xinetd or inetd for GT.M
|
XINETD ;PEP Directly from xinetd or inetd for GT.M
|
||||||
N BMXDEV
|
N BMXDEV
|
||||||
S U="^",$ETRAP="D ^%ZTER H" ;Set up the error trap
|
S U="^",$ETRAP="D ^%ZTER H" ;Set up the error trap
|
||||||
S $ZT="" ;Clear old trap
|
S $ZT="" ;Clear old trap
|
||||||
; GT.M specific error and device code
|
; GT.M specific error and device code
|
||||||
S @("$ZINTERRUPT=""I $$JOBEXAM^ZU($ZPOSITION)""")
|
S @("$ZINTERRUPT=""I $$JOBEXAM^ZU($ZPOSITION)""")
|
||||||
S BMXDEV=$P X "U BMXDEV:(nowrap:nodelimiter:ioerror=""TRAP"")"
|
S BMXDEV=$P X "U BMXDEV:(nowrap:nodelimiter:ioerror=""TRAP"")"
|
||||||
S %="",@("%=$ZTRNLNM(""REMOTE_HOST"")") S:$L(%) IO("GTM-IP")=%
|
S %="",@("%=$ZTRNLNM(""REMOTE_HOST"")") S:$L(%) IO("GTM-IP")=%
|
||||||
I %["::ffff:" S IO("GTM-IP")=$P(%,"::ffff:",2) ; IPv6 support
|
I %["::ffff:" S IO("GTM-IP")=$P(%,"::ffff:",2) ; IPv6 support
|
||||||
; Read message type
|
; Read message type
|
||||||
N BMXACT,BMXDTIME
|
N BMXACT,BMXDTIME
|
||||||
S BMXDTIME=10 ; change in 2.2 instead of 9999999 - initial conn timout
|
S BMXDTIME=10 ; change in 2.2 instead of 9999999 - initial conn timout
|
||||||
R BMXACT#5:BMXDTIME
|
R BMXACT#5:BMXDTIME
|
||||||
Q:BMXACT'="{BMX}" ; Not a BMX message - quit.
|
Q:BMXACT'="{BMX}" ; Not a BMX message - quit.
|
||||||
; Fall through to below...
|
; Fall through to below...
|
||||||
GTMLNX ;EP from XWBTCPM for GT.M
|
GTMLNX ;EP from XWBTCPM for GT.M
|
||||||
; not implementing NS and integrated authentication
|
; not implementing NS and integrated authentication
|
||||||
; Vars: Read timeout, msg len, msg, windows auth, Namespace
|
; Vars: Read timeout, msg len, msg, windows auth, Namespace
|
||||||
N BMXDTIME,BMXLEN,BMXACT,BMXWIN,BMXNS
|
N BMXDTIME,BMXLEN,BMXACT,BMXWIN,BMXNS
|
||||||
S BMXNSJ="",BMXWIN=0 ; No NS on GT.M, no Windows Authentication
|
S BMXNSJ="",BMXWIN=0 ; No NS on GT.M, no Windows Authentication
|
||||||
S BMXDTIME(1)=.5,BMXDTIME=180 ; sign on timeout
|
S BMXDTIME(1)=.5,BMXDTIME=180 ; sign on timeout like XWBTCPM
|
||||||
R BMXACT#5:BMXDTIME ;Read next 5 chars - message length
|
R BMXACT#5:BMXDTIME ;Read next 5 chars - message length
|
||||||
S BMXLEN=+BMXACT
|
S BMXLEN=+BMXACT
|
||||||
R BMXACT#BMXLEN:BMXDTIME
|
R BMXACT#BMXLEN:BMXDTIME
|
||||||
I $P(BMXACT,"^")="TCPconnect" G SESSRES
|
I $P(BMXACT,"^")="TCPconnect" G SESSRES
|
||||||
I $P(BMXACT,"^")="TCPshutdown" W "ack",! Q
|
I $P(BMXACT,"^")="TCPshutdown" W "ack",! Q
|
||||||
Q ; Should't hit this quit, but just in case
|
Q ; Should't hit this quit, but just in case
|
||||||
;
|
;
|
||||||
SESSION(BMXWIN) ;EP
|
SESSION(BMXWIN) ;EP
|
||||||
;Start session monitor
|
;Start session monitor
|
||||||
;BMXWIN = 1: Enable integrated security
|
;BMXWIN = 1: Enable integrated security
|
||||||
SESSRES ;EP - reentry point from trap
|
SESSRES ;EP - reentry point from trap
|
||||||
;IHS/OIT/HMW SAC Exemption Applied For
|
;IHS/OIT/HMW SAC Exemption Applied For
|
||||||
S BMXDTIME(1)=.5,BMXDTIME=$$BAT^XUPARAM ; new in 2.2: Use kernel rpc timeout instead of 9999999
|
S BMXDTIME(1)=.5,BMXDTIME=$$BAT^XUPARAM ; new in 2.2: Use kernel rpc timeout instead of 9999999
|
||||||
D SETNM^%ZOSV("BMX:ip"_$P(IO("GTM-IP"),".",3,4)) ; new in 2.2: set proces name
|
;
|
||||||
N $ESTACK S $ETRAP="D ETRAP^BMXMON"
|
; Change Process Name (new in 2.2 and 2.3)
|
||||||
S DIQUIET=1,U="^" D DT^DICRW
|
; (GT.M doesn't store the IP in $P, but Cache does. We get GT.M
|
||||||
D UNREGALL^BMXMEVN ;Unregister all events for this session
|
; remote process IP from linux env var $REMOTE_HOST)
|
||||||
U $P D SESSMAIN
|
D:+$G(IO("GTM-IP")) CHPRN("BMX:ip"_$P(IO("GTM-IP"),".",3,4)) ; GT.M
|
||||||
;Turn off the error trap for the exit
|
D:+$P CHPRN("BMX:ip_"_$P($P,".",3,4)) ; Cache
|
||||||
S $ETRAP=""
|
;
|
||||||
I $G(DUZ) D LOGOUT^XUSRB
|
N $ESTACK S $ETRAP="D ETRAP^BMXMON"
|
||||||
K BMXR,BMXARY
|
S DIQUIET=1,U="^" D DT^DICRW
|
||||||
C $P ;IHS/OIT/HMW SAC Exemption Applied For
|
D UNREGALL^BMXMEVN ;Unregister all events for this session
|
||||||
Q
|
U $P D SESSMAIN
|
||||||
;
|
;Turn off the error trap for the exit
|
||||||
SESSMAIN ;
|
S $ETRAP=""
|
||||||
N BMXTBUF
|
I $G(DUZ) D LOGOUT^XUSRB
|
||||||
D SETUP^BMXMSEC(.RET) ;Setup required system vars
|
K BMXR,BMXARY
|
||||||
S U="^"
|
C $P ;IHS/OIT/HMW SAC Exemption Applied For
|
||||||
U $P
|
Q
|
||||||
F D Q:BMXTBUF="#BYE#"
|
;
|
||||||
. R BMXTBUF#11:BMXDTIME IF '$T D TIMEOUT S BMXTBUF="#BYE#" Q
|
SESSMAIN ;
|
||||||
. I BMXTBUF["XQKEY" S HWMP=1
|
N BMXTBUF
|
||||||
. I BMXTBUF="#BYE#" Q
|
D SETUP^BMXMSEC(.RET) ;Setup required system vars
|
||||||
. S BMXHTYPE=$S($E(BMXTBUF,1,5)="{BMX}":1,1:0) ;check HDR
|
S U="^"
|
||||||
. I 'BMXHTYPE S BMXTBUF="#BYE#" D SNDERR W BMXTBUF,$C(4),! Q
|
U $P
|
||||||
. S BMXTLEN=$E(BMXTBUF,6,10),L=$E(BMXTBUF,11,11)
|
F D Q:BMXTBUF="#BYE#"
|
||||||
. R BMXTBUF#4:BMXDTIME(1) S BMXTBUF=L_BMXTBUF
|
. R BMXTBUF#11:BMXDTIME IF '$T D TIMEOUT S BMXTBUF="#BYE#" Q
|
||||||
. S BMXPLEN=BMXTBUF
|
. I BMXTBUF["XQKEY" S HWMP=1
|
||||||
. R BMXTBUF#BMXPLEN:BMXDTIME(1)
|
. I BMXTBUF="#BYE#" Q
|
||||||
. I $P(BMXTBUF,U)="TCPconnect" D Q
|
. S BMXHTYPE=$S($E(BMXTBUF,1,5)="{BMX}":1,1:0) ;check HDR
|
||||||
. . D SNDERR W "accept",$C(4),! ;Ack
|
. I 'BMXHTYPE S BMXTBUF="#BYE#" D SNDERR W BMXTBUF,$C(4),! Q
|
||||||
. IF BMXHTYPE D
|
. S BMXTLEN=$E(BMXTBUF,6,10),L=$E(BMXTBUF,11,11)
|
||||||
. . K BMXR,BMXARY
|
. R BMXTBUF#4:BMXDTIME(1) S BMXTBUF=L_BMXTBUF
|
||||||
. . IF BMXTBUF="#BYE#" D SNDERR W "#BYE#",$C(4),! Q
|
. S BMXPLEN=BMXTBUF
|
||||||
. . S BMXTLEN=BMXTLEN-15
|
. R BMXTBUF#BMXPLEN:BMXDTIME(1)
|
||||||
. . D CALLP^BMXMBRK(.BMXR,BMXTBUF)
|
. I $P(BMXTBUF,U)="TCPconnect" D Q
|
||||||
. . S BMXPTYPE=$S('$D(BMXPTYPE):1,BMXPTYPE<1:1,BMXPTYPE>6:1,1:BMXPTYPE)
|
. . D SNDERR W "accept",$C(4),! ;Ack
|
||||||
. IF BMXTBUF="#BYE#" Q
|
. IF BMXHTYPE D
|
||||||
. U $P
|
. . K BMXR,BMXARY
|
||||||
. D SNDERR ;Clears SNDERR parameters
|
. . IF BMXTBUF="#BYE#" D SNDERR W "#BYE#",$C(4),! Q
|
||||||
. D SND
|
. . S BMXTLEN=BMXTLEN-15
|
||||||
. D WRITE($C(4)) W ! ;send eot and flush buffer
|
. . D CALLP^BMXMBRK(.BMXR,BMXTBUF)
|
||||||
D UNREGALL^BMXMEVN ;Unregister all events for this session
|
. . S BMXPTYPE=$S('$D(BMXPTYPE):1,BMXPTYPE<1:1,BMXPTYPE>6:1,1:BMXPTYPE)
|
||||||
Q ;End Of Main
|
. IF BMXTBUF="#BYE#" Q
|
||||||
;
|
. U $P
|
||||||
SNDERR ;send error information
|
. D SNDERR ;Clears SNDERR parameters
|
||||||
;BMXSEC is the security packet, BMXERROR is application packet
|
. D SND
|
||||||
N X
|
. D WRITE($C(4)) W ! ;send eot and flush buffer
|
||||||
S X=$E($G(BMXSEC),1,255)
|
D UNREGALL^BMXMEVN ;Unregister all events for this session
|
||||||
W $C($L(X))_X W !
|
Q ;End Of Main
|
||||||
S X=$E($G(BMXERROR),1,255)
|
;
|
||||||
W $C($L(X))_X W !
|
SNDERR ;send error information
|
||||||
S BMXERROR="",BMXSEC="" ;clears parameters
|
;BMXSEC is the security packet, BMXERROR is application packet
|
||||||
Q
|
N X
|
||||||
;
|
S X=$E($G(BMXSEC),1,255)
|
||||||
WRITE(BMXSTR) ;Write a data string
|
W $C($L(X))_X W !
|
||||||
;
|
S X=$E($G(BMXERROR),1,255)
|
||||||
I $L(BMXSTR)<511 W ! W BMXSTR Q
|
W $C($L(X))_X W !
|
||||||
;Handle a long string
|
S BMXERROR="",BMXSEC="" ;clears parameters
|
||||||
W ! ;Flush the buffer
|
Q
|
||||||
F Q:'$L(BMXSTR) W $E(BMXSTR,1,510),! S BMXSTR=$E(BMXSTR,511,99999)
|
;
|
||||||
Q
|
WRITE(BMXSTR) ;Write a data string
|
||||||
|
;
|
||||||
|
I $L(BMXSTR)<511 W ! W BMXSTR Q
|
||||||
|
;Handle a long string
|
||||||
|
W ! ;Flush the buffer
|
||||||
|
F Q:'$L(BMXSTR) W $E(BMXSTR,1,510),! S BMXSTR=$E(BMXSTR,511,99999)
|
||||||
|
Q
|
||||||
SND ; -- send data for all, Let WRITE sort it out
|
SND ; -- send data for all, Let WRITE sort it out
|
||||||
N I,T
|
N I,T
|
||||||
;
|
;
|
||||||
; -- error or abort occurred, send null
|
; -- error or abort occurred, send null
|
||||||
IF $L(BMXSEC)>0 D WRITE("") Q
|
IF $L(BMXSEC)>0 D WRITE("") Q
|
||||||
; -- single value
|
; -- single value
|
||||||
IF BMXPTYPE=1 S BMXR=$G(BMXR) D WRITE(BMXR) Q
|
IF BMXPTYPE=1 S BMXR=$G(BMXR) D WRITE(BMXR) Q
|
||||||
; -- table delimited by CR+LF
|
; -- table delimited by CR+LF
|
||||||
IF BMXPTYPE=2 D Q
|
IF BMXPTYPE=2 D Q
|
||||||
. S I="" F S I=$O(BMXR(I)) Q:I="" D WRITE(BMXR(I)),WRITE($C(13,10))
|
. S I="" F S I=$O(BMXR(I)) Q:I="" D WRITE(BMXR(I)),WRITE($C(13,10))
|
||||||
; -- word processing
|
; -- word processing
|
||||||
IF BMXPTYPE=3 D Q
|
IF BMXPTYPE=3 D Q
|
||||||
. S I="" F S I=$O(BMXR(I)) Q:I="" D WRITE(BMXR(I)) D:BMXWRAP WRITE($C(13,10))
|
. S I="" F S I=$O(BMXR(I)) Q:I="" D WRITE(BMXR(I)) D:BMXWRAP WRITE($C(13,10))
|
||||||
; -- global array
|
; -- global array
|
||||||
IF BMXPTYPE=4 D Q
|
IF BMXPTYPE=4 D Q
|
||||||
. S I=$G(BMXR) Q:I="" S T=$E(I,1,$L(I)-1) D:$D(@I)>10 WRITE(@I)
|
. S I=$G(BMXR) Q:I="" S T=$E(I,1,$L(I)-1) D:$D(@I)>10 WRITE(@I)
|
||||||
. F S I=$Q(@I) Q:I=""!(I'[T) W ! W @I W:BMXWRAP&(@I'=$C(13,10)) $C(13,10)
|
. F S I=$Q(@I) Q:I=""!(I'[T) W ! W @I W:BMXWRAP&(@I'=$C(13,10)) $C(13,10)
|
||||||
. IF $D(@BMXR) K @BMXR
|
. IF $D(@BMXR) K @BMXR
|
||||||
; -- global instance
|
; -- global instance
|
||||||
IF BMXPTYPE=5 S BMXR=$G(@BMXR) D WRITE(BMXR) Q
|
IF BMXPTYPE=5 S BMXR=$G(@BMXR) D WRITE(BMXR) Q
|
||||||
; -- variable length records only good upto 255 char)
|
; -- variable length records only good upto 255 char)
|
||||||
IF BMXPTYPE=6 S I="" F S I=$O(BMXR(I)) Q:I="" D WRITE($C($L(BMXR(I)))),WRITE(BMXR(I))
|
IF BMXPTYPE=6 S I="" F S I=$O(BMXR(I)) Q:I="" D WRITE($C($L(BMXR(I)))),WRITE(BMXR(I))
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
TIMEOUT ;Do this on MAIN loop timeout
|
TIMEOUT ;Do this on MAIN loop timeout
|
||||||
I $G(DUZ)>0 D SNDERR,WRITE("#BYE#"_$C(4)) Q
|
I $G(DUZ)>0 D SNDERR,WRITE("#BYE#"_$C(4)) Q
|
||||||
;Sign-on timeout
|
;Sign-on timeout
|
||||||
S BMXR(0)=0,BMXR(1)=1,BMXR(2)="",BMXR(3)="TIME-OUT",BMXPTYPE=2
|
S BMXR(0)=0,BMXR(1)=1,BMXR(2)="",BMXR(3)="TIME-OUT",BMXPTYPE=2
|
||||||
D SNDERR,SND,WRITE($C(4))
|
D SNDERR,SND,WRITE($C(4))
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
SEMAPHOR(BMXTSKT,BMXACT) ;Lock/Unlock BMXMON semaphore
|
SEMAPHOR(BMXTSKT,BMXACT) ;Lock/Unlock BMXMON semaphore
|
||||||
N RESULT
|
N RESULT
|
||||||
S U="^",RESULT=1
|
S U="^",RESULT=1
|
||||||
D GETENV^%ZOSV ;get Y=UCI^VOL^NODE^BOXLOOKUP of current system
|
D GETENV^%ZOSV ;get Y=UCI^VOL^NODE^BOXLOOKUP of current system
|
||||||
I BMXACT="LOCK" D
|
I BMXACT="LOCK" D
|
||||||
. L +^BMXMON("BMXMON",$P(Y,U,2),$P(Y,U),$P(Y,U,4),BMXTSKT):1
|
. L +^BMXMON("BMXMON",$P(Y,U,2),$P(Y,U),$P(Y,U,4),BMXTSKT):1
|
||||||
. S RESULT=$T
|
. S RESULT=$T
|
||||||
E L -^BMXMON("BMXMON",$P(Y,U,2),$P(Y,U),$P(Y,U,4),BMXTSKT)
|
E L -^BMXMON("BMXMON",$P(Y,U,2),$P(Y,U),$P(Y,U,4),BMXTSKT)
|
||||||
Q RESULT
|
Q RESULT
|
||||||
;
|
;
|
||||||
CHPRN(N) ;Change process name to N.
|
CHPRN(N) ;Change process name to N.
|
||||||
D SETNM^%ZOSV($E(N,1,15))
|
D SETNM^%ZOSV($E(N,1,15))
|
||||||
Q
|
Q
|
||||||
;
|
;
|
||||||
MARKER(BMXPORT,BMXMODE) ;Set/Test/Clear Problem Marker, BMXMODE=0 is a function
|
MARKER(BMXPORT,BMXMODE) ;Set/Test/Clear Problem Marker, BMXMODE=0 is a function
|
||||||
N IP,Y,%,REF X ^%ZOSF("UCI") S REF=Y,IP="0.0.0.0",%=0
|
N IP,Y,%,REF X ^%ZOSF("UCI") S REF=Y,IP="0.0.0.0",%=0
|
||||||
L +^BMX(IP,REF,BMXPORT,"PROBLEM MARKER"):1
|
L +^BMX(IP,REF,BMXPORT,"PROBLEM MARKER"):1
|
||||||
I BMXMODE=1 S ^BMX(IP,REF,BMXPORT,"PROBLEM MARKER")=1
|
I BMXMODE=1 S ^BMX(IP,REF,BMXPORT,"PROBLEM MARKER")=1
|
||||||
I BMXMODE=0 S:$D(^BMX(IP,REF,BMXPORT,"PROBLEM MARKER")) %=1
|
I BMXMODE=0 S:$D(^BMX(IP,REF,BMXPORT,"PROBLEM MARKER")) %=1
|
||||||
I BMXMODE=-1 K ^BMX(IP,REF,BMXPORT,"PROBLEM MARKER")
|
I BMXMODE=-1 K ^BMX(IP,REF,BMXPORT,"PROBLEM MARKER")
|
||||||
L -^BMX(IP,REF,BMXPORT,"PROBLEM MARKER")
|
L -^BMX(IP,REF,BMXPORT,"PROBLEM MARKER")
|
||||||
Q:BMXMODE=0 % Q
|
Q:BMXMODE=0 % Q
|
||||||
;
|
;
|
||||||
ETRAP ; -- on trapped error, send error info to client
|
ETRAP ; -- on trapped error, send error info to client
|
||||||
N BMXERC,BMXERR,BMXLGR
|
; Error Trap Vars: Code, Error, Last Global Reference
|
||||||
;Change trapping during trap.
|
N BMXERC,BMXERR,BMXLGR
|
||||||
S $ETRAP="D ^%ZTER HALT"
|
;
|
||||||
S BMXERC=$$EC^%ZOSV
|
; Change trapping during trap.
|
||||||
S BMXERR="M ERROR="_BMXERC_$C(13,10)_"LAST REF="
|
N $ETRAP S $ETRAP="D ^%ZTER HALT"
|
||||||
S BMXLGR=$$LGR^%ZOSV_$C(4)
|
;
|
||||||
S BMXERR=BMXERR_BMXLGR
|
; If the error is simply that we can't write to the TCP device
|
||||||
D ^%ZTER ;%ZTER clears $ZE and $ECODE
|
; clear and log out
|
||||||
I (BMXERC["READ")!(BMXERC["WRITE")!(BMXERC["SYSTEM-F") D:$G(DUZ) LOGOUT^XUSRB HALT
|
; GT.M Error Code.
|
||||||
U $P
|
I $ECODE=",Z150376602," S $ECODE="" D:$G(DUZ) LOGOUT^XUSRB HALT
|
||||||
D SNDERR,WRITE(BMXERR) W !
|
; Cache Error Codes:
|
||||||
S $ETRAP="Q:($ESTACK&'$QUIT) Q:$ESTACK -9 S $ECODE="""" G SESSRES^BMXMON",$ECODE=",U99,"
|
I ($EC["READ")!($EC["WRITE")!($EC["SYSTEM-F") S $ECODE="" D:$G(DUZ) LOGOUT^XUSRB HALT
|
||||||
Q
|
;
|
||||||
;
|
; Otherwise, log the error and send it to the client
|
||||||
MENU ;EP - ENTRY ACTION FROM BMXMENU OPTION
|
S BMXERC=$$EC^%ZOSV
|
||||||
;
|
S BMXERR="M ERROR="_BMXERC_$C(13,10)_"LAST REF="
|
||||||
N BMX,BMXVER
|
S BMXLGR=$$LGR^%ZOSV_$C(4)
|
||||||
;VERSION
|
S BMXERR=BMXERR_BMXLGR
|
||||||
D
|
;
|
||||||
. S BMXN="BMXNET ADO.NET DATA PROVIDER" I $D(^DIC(9.4,"B",BMXN)) Q
|
D ^%ZTER ;%ZTER clears $ZE and $ECODE
|
||||||
. S BMXN="BMXNET RPMS .NET UTILITIES" I $D(^DIC(9.4,"B",BMXN)) Q
|
;
|
||||||
. S BMXN=""
|
U $P
|
||||||
. Q
|
;
|
||||||
;
|
D SNDERR,WRITE(BMXERR) W !
|
||||||
S BMXVER=""
|
;
|
||||||
I BMXN]"",$D(^DIC(9.4,"B",BMXN)) D
|
S $ETRAP="Q:($ESTACK&'$QUIT) Q:$ESTACK -9 S $ECODE="""" G SESSRES^BMXMON",$ECODE=",U99,"
|
||||||
. S BMX=$O(^DIC(9.4,"B",BMXN,0))
|
QUIT
|
||||||
. I $D(^DIC(9.4,BMX,"VERSION")) S BMXVER=$P(^DIC(9.4,BMX,"VERSION"),"^")
|
;
|
||||||
. E S BMXVER="VERSION NOT FOUND"
|
MENU ;EP - ENTRY ACTION FROM BMXMENU OPTION
|
||||||
S:BMXVER="" BMXVER="VERSION NOT FOUND"
|
;
|
||||||
;
|
N BMX,BMXVER
|
||||||
;LOCATION
|
;VERSION
|
||||||
N BMXLOC
|
D
|
||||||
S BMXLOC=""
|
. S BMXN="BMXNET ADO.NET DATA PROVIDER" I $D(^DIC(9.4,"B",BMXN)) Q
|
||||||
I $G(DUZ(2)),$D(^DIC(4,DUZ(2),0)) S BMXLOC=$P(^DIC(4,DUZ(2),0),"^")
|
. S BMXN="BMXNET RPMS .NET UTILITIES" I $D(^DIC(9.4,"B",BMXN)) Q
|
||||||
S:BMXLOC="" BMXLOC="LOCATION NOT FOUND"
|
. S BMXN=""
|
||||||
;
|
. Q
|
||||||
;WRITE
|
;
|
||||||
W !
|
S BMXVER=""
|
||||||
W !,"BMXNet Version: ",BMXVER
|
I BMXN]"",$D(^DIC(9.4,"B",BMXN)) D
|
||||||
W !,"Location: ",BMXLOC
|
. S BMX=$O(^DIC(9.4,"B",BMXN,0))
|
||||||
Q
|
. I $D(^DIC(9.4,BMX,"VERSION")) S BMXVER=$P(^DIC(9.4,BMX,"VERSION"),"^")
|
||||||
|
. E S BMXVER="VERSION NOT FOUND"
|
||||||
|
S:BMXVER="" BMXVER="VERSION NOT FOUND"
|
||||||
|
;
|
||||||
|
;LOCATION
|
||||||
|
N BMXLOC
|
||||||
|
S BMXLOC=""
|
||||||
|
I $G(DUZ(2)),$D(^DIC(4,DUZ(2),0)) S BMXLOC=$P(^DIC(4,DUZ(2),0),"^")
|
||||||
|
S:BMXLOC="" BMXLOC="LOCATION NOT FOUND"
|
||||||
|
;
|
||||||
|
;WRITE
|
||||||
|
W !
|
||||||
|
W !,"BMXNet Version: ",BMXVER
|
||||||
|
W !,"Location: ",BMXLOC
|
||||||
|
Q
|
||||||
|
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 13 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXMSEC ; IHS/OIT/HMW - BMXNet MONITOR ; 7/20/2009
|
BMXMSEC ; IHS/OIT/HMW - BMXNet MONITOR ; 7/20/2009
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; Edit History
|
; Edit History
|
||||||
; Line SETUP+2 has been changed to support GT.M //SMH 7/5/09
|
; Line SETUP+2 has been changed to support GT.M //SMH 7/5/09
|
||||||
; Per Wally Fort's GT.M code in XWBTCPM, IP for GT.M is stored
|
; Per Wally Fort's GT.M code in XWBTCPM, IP for GT.M is stored
|
||||||
|
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXNTEG ;INTEGRITY CHECKER;FEB 26, 2007
|
BMXNTEG ;INTEGRITY CHECKER;FEB 26, 2007
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
START ;
|
START ;
|
||||||
NEW BYTE,COUNT,RTN
|
NEW BYTE,COUNT,RTN
|
||||||
|
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXPO ; IHS/CMI/MAW - Populate appcontext with all namespaced RPC's ;
|
BMXPO ; IHS/CMI/MAW - Populate appcontext with all namespaced RPC's ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
MAIN ;EP - this is the main routine driver
|
MAIN ;EP - this is the main routine driver
|
||||||
|
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXPRS ; IHS/OIT/HMW - BMX WINDOWS UTILS ;
|
BMXPRS ; IHS/OIT/HMW - BMX WINDOWS UTILS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
PARSE(X) ;EP-Parse SQL Statement into array
|
PARSE(X) ;EP-Parse SQL Statement into array
|
||||||
|
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXRPC ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; 9/7/10 5:04am
|
BMXRPC ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; 9/7/10 5:04am
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;;Stolen from:* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
;;Stolen from:* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
||||||
;; GENERIC LOOKUP UTILITY FOR RETURNING MATCHING RECORDS
|
;; GENERIC LOOKUP UTILITY FOR RETURNING MATCHING RECORDS
|
||||||
;; OR TABLES TO RPC'S.
|
;; OR TABLES TO RPC'S.
|
||||||
|
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXRPC1 ; IHS/OIT/HMW - UTIL: REMOTE PROCEDURE CALLS ;
|
BMXRPC1 ; IHS/OIT/HMW - UTIL: REMOTE PROCEDURE CALLS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
||||||
;; UTILITY: CODE FOR REMOTE PROCEDURE CALLS.
|
;; UTILITY: CODE FOR REMOTE PROCEDURE CALLS.
|
||||||
;; RETURNS PATIENT DATA, HEALTH SUMMARY, FACE SHEET.
|
;; RETURNS PATIENT DATA, HEALTH SUMMARY, FACE SHEET.
|
||||||
|
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.7 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXRPC2 ; IHS/OIT/HMW - FIELD LIST ;
|
BMXRPC2 ; IHS/OIT/HMW - FIELD LIST ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
FLDLIST(BMXGBL,BMXFL,BMXATTR,BMXSCR) ;EP
|
FLDLIST(BMXGBL,BMXFL,BMXATTR,BMXSCR) ;EP
|
||||||
;TODO: Change all this to be a hard-coded $O thru ^DD
|
;TODO: Change all this to be a hard-coded $O thru ^DD
|
||||||
|
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXRPC3 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; ; 8/30/10 2:56pm
|
BMXRPC3 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; ; 8/30/10 2:56pm
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;Mods by WV/SMH
|
;Mods by WV/SMH
|
||||||
;7/26/09 Removed references to ^AUTTSITE, an IHS file in GETFAC*
|
;7/26/09 Removed references to ^AUTTSITE, an IHS file in GETFAC*
|
||||||
;8/30/10 Changed GETFCRS to return a better list of user divisions
|
;8/30/10 Changed GETFCRS to return a better list of user divisions
|
||||||
|
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXRPC4 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
BMXRPC4 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
PTINFORS(BMXY,BMXIEN) ;EP Patient Info Recordset
|
PTINFORS(BMXY,BMXIEN) ;EP Patient Info Recordset
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXRPC5 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
BMXRPC5 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;Stolen from Mike Remillard. If it doesn't work, it's his fault.
|
;Stolen from Mike Remillard. If it doesn't work, it's his fault.
|
||||||
HS(BMXGBL,BMXDFN,BMXTYPE,BMXRDL,BMXFDL) ;EP
|
HS(BMXGBL,BMXDFN,BMXTYPE,BMXRDL,BMXFDL) ;EP
|
||||||
|
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXRPC6 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
BMXRPC6 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
USRKEYRS(BMXY,BMXDUZ) ;EP - Returns recordset of user's keys
|
USRKEYRS(BMXY,BMXDUZ) ;EP - Returns recordset of user's keys
|
||||||
|
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXRPC7 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
BMXRPC7 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
WINVAL(BMXRET,BMXWINID) ;EP
|
WINVAL(BMXRET,BMXWINID) ;EP
|
||||||
|
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXRPC8 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
BMXRPC8 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; 12/7/10 8:12am
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
BMXLOCKD(BMXY,BMXVAR,BMXINC,BMXTIME) ;EP
|
BMXLOCKD(BMXY,BMXVAR,BMXINC,BMXTIME) ;EP
|
||||||
|
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXRPC9 ; IHS/OIT/HMW - RPC CALL FOR EXTENDED BROKER FUNCTIONALITY ;
|
BMXRPC9 ; IHS/OIT/HMW - RPC CALL FOR EXTENDED BROKER FUNCTIONALITY ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; UPDATE FILEMAN WITH AN ADO RECORD SET FROM A WINDOWS APPLICATION
|
; UPDATE FILEMAN WITH AN ADO RECORD SET FROM A WINDOWS APPLICATION
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.4 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXSQL ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
BMXSQL ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
Q
|
Q
|
||||||
|
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXSQL1 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
BMXSQL1 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
KW(BMXTK) ;EP
|
KW(BMXTK) ;EP
|
||||||
|
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXSQL2 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
BMXSQL2 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
FLDFILE(BMXIN) ;EP - Returns name of file containing field BMXIN
|
FLDFILE(BMXIN) ;EP - Returns name of file containing field BMXIN
|
||||||
|
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXSQL3 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
BMXSQL3 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
PLEVEL(BMXFF,BMXLVL,BMXRET) ;EP
|
PLEVEL(BMXFF,BMXLVL,BMXRET) ;EP
|
||||||
|
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXSQL4 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
BMXSQL4 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
JOIN ;EP - Join processing
|
JOIN ;EP - Join processing
|
||||||
|
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXSQL5 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
BMXSQL5 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
SELECT ;EP - Get field names into BMXFLD("NAME")="FILE#^FIELD#"
|
SELECT ;EP - Get field names into BMXFLD("NAME")="FILE#^FIELD#"
|
||||||
|
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXSQL6 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; 7/20/2009
|
BMXSQL6 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ; 7/20/2009
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
; Line EOR+3 used a 2 argument form of $Q which is not
|
; Line EOR+3 used a 2 argument form of $Q which is not
|
||||||
; in the M 95 standard. Replaced this with a call to $$LAST,
|
; in the M 95 standard. Replaced this with a call to $$LAST,
|
||||||
; a new Extrinsic in this routine.
|
; a new Extrinsic in this routine.
|
||||||
|
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXSQL7 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
BMXSQL7 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
CHKCR(BMXFNUM,BMXFLDNU,BMXRET) ;Returns cross reference to iterate on for related file
|
CHKCR(BMXFNUM,BMXFLDNU,BMXRET) ;Returns cross reference to iterate on for related file
|
||||||
|
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXSQL91 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
BMXSQL91 ; IHS/OIT/HMW - BMX REMOTE PROCEDURE CALLS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;Below is dead code, but keep for later
|
;Below is dead code, but keep for later
|
||||||
SETX2 ;Don't need this unless porting to machine with
|
SETX2 ;Don't need this unless porting to machine with
|
||||||
|
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXTABLE ; IHS/OIT/HMW - BMX RETURN ENTIRE TABLE ;
|
BMXTABLE ; IHS/OIT/HMW - BMX RETURN ENTIRE TABLE ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
TABLE(BMXGBL,BMXFL,BMXMX) ;EP
|
TABLE(BMXGBL,BMXFL,BMXMX) ;EP
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 166 B After Width: | Height: | Size: 166 B |
|
@ -1,5 +1,5 @@
|
||||||
BMXTRS ; IHS/OIT/HMW - UPPERCASE-LOWERCASE ;
|
BMXTRS ; IHS/OIT/HMW - UPPERCASE-LOWERCASE ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
T(X) ;EP
|
T(X) ;EP
|
||||||
;---> Translate word to mixed case.
|
;---> Translate word to mixed case.
|
||||||
|
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXUTL1 ; IHS/OIT/HMW - UTIL: PATIENT DEMOGRAPHICS ;
|
BMXUTL1 ; IHS/OIT/HMW - UTIL: PATIENT DEMOGRAPHICS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;;Stolen from:* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
;;Stolen from:* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
||||||
;; UTILITY: PATIENT DEMOGRAPHICS.
|
;; UTILITY: PATIENT DEMOGRAPHICS.
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.0 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXUTL2 ; IHS/OIT/HMW - UTIL: PATIENT INFO ;
|
BMXUTL2 ; IHS/OIT/HMW - UTIL: PATIENT INFO ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;;Stolen from:* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
;;Stolen from:* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
||||||
;; UTILITY: PATIENT FUNCTIONS: CONTRAS, INPATIENT, HIDOSE.
|
;; UTILITY: PATIENT FUNCTIONS: CONTRAS, INPATIENT, HIDOSE.
|
||||||
;
|
;
|
||||||
|
|
Before Width: | Height: | Size: 932 B After Width: | Height: | Size: 932 B |
|
@ -1,5 +1,5 @@
|
||||||
BMXUTL5 ; IHS/OIT/HMW - DATE FORMAT ;
|
BMXUTL5 ; IHS/OIT/HMW - DATE FORMAT ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;;Stolen from:* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
;;Stolen from:* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
||||||
;; UTILITY: SETVARS, CENTERT, COPYLET,
|
;; UTILITY: SETVARS, CENTERT, COPYLET,
|
||||||
;; UPPERCASE XREFS, DATE FORMATS, PADS/SPACES.
|
;; UPPERCASE XREFS, DATE FORMATS, PADS/SPACES.
|
||||||
|
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
|
@ -1,5 +1,5 @@
|
||||||
BMXUTL6 ; IHS/OIT/HMW - BMXNET INSTALLATION CALLS ;
|
BMXUTL6 ; IHS/OIT/HMW - BMXNET INSTALLATION CALLS ;
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
POST ;EP - Called from BMX Installation postinit
|
POST ;EP - Called from BMX Installation postinit
|
||||||
|
|
Before Width: | Height: | Size: 978 B After Width: | Height: | Size: 978 B |
|
@ -1,5 +1,5 @@
|
||||||
BMXUTL7 ; IHS/OIT/HMW - BMXNET INSTALLATION CALLS ;
|
BMXUTL7 ; IHS/OIT/HMW - BMXNET INSTALLATION CALLS ; 9/7/10 9:34am
|
||||||
;;2.2;BMX;;Sep 07, 2010
|
;;2.3;BMX;;Jan 25, 2011
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
ENV ;EP Environment Check
|
ENV ;EP Environment Check
|
||||||
|
|
Before Width: | Height: | Size: 171 B After Width: | Height: | Size: 185 B |