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

DIFROMSB.m

Go to the documentation of this file.
  1. DIFROMSB ;SCISC/DCL-SILENT DIFROM/INSTALL BLOCKS ;08:35 AM 22 Nov 1994
  1. ;;22.2;VA FileMan;;Jan 05, 2016;Build 42
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. ;;Submitted to OSEHRA 5 January 2015 by the VISTA Expertise Network.
  1. ;;Based on Medsphere Systems Corporation's MSC FileMan 1051.
  1. ;;Licensed under the terms of the Apache License, Version 2.0.
  1. ;
  1. Q
  1. BLKSIN(DIFRNAME,DIFRFLG,DIFRSA,DIFRMSGR) ;
  1. ;PACKAGE_NAME,FLAGS,SOURCE_ROOT,MSG_ROOT
  1. ;*
  1. ;PACKAGE_NAME=Package Name
  1. ; (Required if Source Root is not passed) - Identifies the
  1. ; unique key subscript in the transport structure.
  1. ;*
  1. ;FLAGS=O
  1. ; (Optional) - "O"=use Old calls (DIC)
  1. ;*
  1. ;SOURCE_ROOT=Source Array Root
  1. ; (Optional) - Closed array reference which contain all the
  1. ; Blocks that are to be installed.
  1. ; (Note) - Required if Package_Name is not passed.
  1. ;*
  1. ;MSG_ROOT=Closed Root for Error Messages
  1. ; (Optional) - Array where messages such as errors will be
  1. ; returned. If not passed, decendents of the ^TMP
  1. ; will be used.
  1. ;*
  1. I $G(DIFRNAME)=""&($G(DIFRSA))="" D ERR("PACKAGE NAME/SOUCE ROOT") Q
  1. N DIFRFILE,DIFRDA,DIFROLD,DIFRX,DIFRY,DIC,DA,DLAYGO,X,Y
  1. S DIFRFILE=.404,DIFRDA=0
  1. I $G(DIFRSA)="" S DIFRSA=$NA(^XTMP("XPDI",DIFRNAME,"KRN"))
  1. S DIFROLD=$G(DIFRFLG)["O"
  1. I DIFROLD S DLAYGO=DIFRFILE,DIC="^DIST(.404,",DIC(0)="LX" D Q
  1. .F S DIFRDA=$O(@DIFRSA@(.404,DIFRDA)) Q:DIFRDA'>0 S DIFRX=^(DIFRDA,0) D
  1. ..S X=$P(DIFRX,"^"),DIFRFL=$P(DIFRX,"^",2)
  1. ..K DA
  1. ..D ^DIC
  1. ..I Y>0 S DIFRY=Y D DELADD Q
  1. ..N DIFRERR S DIFRERR(1)=$P(DIFRX,"^")
  1. ..D BLD^DIALOG(9517,.DIFRERR)
  1. ..Q
  1. ; CODE FOR NEW CALLS <<<***
  1. G EXIT
  1. Q
  1. DELADD ;
  1. K ^DIST(.404,+DIFRY),DA,DIK
  1. M ^DIST(.404,+DIFRY)=@DIFRSA@(.404,DIFRDA)
  1. S DIK="^DIST(.404,",DA=+DIFRY
  1. D IX1^DIK
  1. I '$D(DD(+DIFRFL)) D
  1. .N DIFRERR S DIFRERR(1)=$P(DIFRX,"^"),DIFRERR(2)=DIFRFL
  1. .D BLD^DIALOG(9518,.DIFRERR)
  1. .Q
  1. Q
  1. ;
  1. ERR(X) S X(1)=X D BLD^DIALOG(202,.X)
  1. Q
  1. EXIT I $G(DIFRMSGR)]"" D CALLOUT^DIEFU(DIFRMSGR)
  1. Q