Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BMXPO

BMXPO.m

Go to the documentation of this file.
  1. BMXPO ; IHS/CMI/MAW - Populate appcontext with all namespaced RPC's ;
  1. ;;4.0;BMX;;JUN 28, 2010
  1. ;
  1. ;
  1. MAIN ;EP - this is the main routine driver
  1. N BMXQFLG
  1. D ASK
  1. I $G(BMXQFLG) D XIT Q
  1. ;D CLEAN(BMXAPP)
  1. D POP(BMXAPP,BMXNS)
  1. D XIT
  1. Q
  1. ;
  1. GUIEP(RETVAL,BMXSTR) ;EP - gui entry point
  1. N P,BMXAPP,BMXNS
  1. S P="|"
  1. S BMXGUI=1
  1. S BMXAPP=$P(BMXSTR,P)
  1. S BMXNS=$P(BMXSTR,P,2)
  1. K ^BMXTMP($J)
  1. S RETVAL="^BMXTMP("_$J_")"
  1. S ^BMXTMP($J,0)="T00250DATA"_$C(30)
  1. ;D CLEAN(BMXAPP)
  1. D POP(BMXAPP,BMXNS)
  1. D XIT
  1. Q
  1. ;
  1. ASK ;-- ask the name of the OPTION to populate
  1. W !
  1. S DIC=19,DIC(0)="AEMQZ",DIC("A")="Populate which Application Context: "
  1. D ^DIC
  1. I '$G(Y) S BMXQFLG=1 Q
  1. S BMXAPP=+Y
  1. W !
  1. K DIC
  1. S DIR(0)="F^1:3",DIR("A")="Populate RPC's from which Namespace: "
  1. D ^DIR
  1. I $D(DIRUT) S BMXQFLG=1 Q
  1. S BMXNS=$G(Y)
  1. Q
  1. ;
  1. CLEAN(APP) ;-- clean out the RPC multiple first
  1. S DA(1)=APP
  1. S DIK="^DIC(19,"_DA(1)_","_"""RPC"""_","
  1. N BMXDA
  1. S BMXDA=0 F S BDMDA=$O(^DIC(19,APP,"RPC",BMXDA)) Q:'BMXDA D
  1. . S DA=BMXDA
  1. . D ^DIK
  1. K ^DIC(19,APP,"RPC","B")
  1. Q
  1. ;
  1. POP(APP,NS) ;populate the app context with RPC's
  1. I '$G(BMXGUI) W !,"Populating Application Context"
  1. N BMXDA
  1. S BMXDA=NS
  1. F S BMXDA=$O(^XWB(8994,"B",BMXDA)) Q:BMXDA=""!($E(BMXDA,1,3)'=NS) D
  1. . N BMXIEN
  1. . S BMXIEN=0 F S BMXIEN=$O(^XWB(8994,"B",BMXDA,BMXIEN)) Q:'BMXIEN D
  1. .. Q:$O(^DIC(19,APP,"RPC","B",BMXIEN,0))
  1. .. N BDMIENS,BDMFDA,BDMERR
  1. .. S BDMIENS(1)=APP
  1. .. S BDMIENS="+2,"_APP_","
  1. .. S BDMFDA(19.05,BDMIENS,.01)=BMXIEN
  1. .. D UPDATE^DIE("","BDMFDA","BDMIENS","BDMERR(1)")
  1. .. I '$G(BMXGUI) W "."
  1. Q
  1. ;
  1. XIT ;-- clean vars
  1. D EN^XBVK("BMX")
  1. Q
  1. ;