| 1 | DIFROMSB ;SCISC/DCL-SILENT DIFROM/INSTALL BLOCKS ;08:35 AM  22 Nov 1994
 | 
|---|
| 2 |  ;;22.0;VA FileMan;;Mar 30, 1999
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  Q
 | 
|---|
| 5 | BLKSIN(DIFRNAME,DIFRFLG,DIFRSA,DIFRMSGR) ;
 | 
|---|
| 6 |  ;PACKAGE_NAME,FLAGS,SOURCE_ROOT,MSG_ROOT
 | 
|---|
| 7 |  ;*
 | 
|---|
| 8 |  ;PACKAGE_NAME=Package Name
 | 
|---|
| 9 |  ;    (Required if Source Root is not passed) - Identifies the
 | 
|---|
| 10 |  ;                 unique key subscript in the transport structure.
 | 
|---|
| 11 |  ;*
 | 
|---|
| 12 |  ;FLAGS=O
 | 
|---|
| 13 |  ;    (Optional) - "O"=use Old calls (DIC)
 | 
|---|
| 14 |  ;*
 | 
|---|
| 15 |  ;SOURCE_ROOT=Source Array Root
 | 
|---|
| 16 |  ;    (Optional) - Closed array reference which contain all the
 | 
|---|
| 17 |  ;                 Blocks that are to be installed.
 | 
|---|
| 18 |  ;    (Note) - Required if Package_Name is not passed.
 | 
|---|
| 19 |  ;*
 | 
|---|
| 20 |  ;MSG_ROOT=Closed Root for Error Messages
 | 
|---|
| 21 |  ;    (Optional) - Array where messages such as errors will be
 | 
|---|
| 22 |  ;                 returned.  If not passed, decendents of the ^TMP
 | 
|---|
| 23 |  ;                 will be used.
 | 
|---|
| 24 |  ;*
 | 
|---|
| 25 |  I $G(DIFRNAME)=""&($G(DIFRSA))="" D ERR("PACKAGE NAME/SOUCE ROOT") Q
 | 
|---|
| 26 |  N DIFRFILE,DIFRDA,DIFROLD,DIFRX,DIFRY,DIC,DA,DLAYGO,X,Y
 | 
|---|
| 27 |  S DIFRFILE=.404,DIFRDA=0
 | 
|---|
| 28 |  I $G(DIFRSA)="" S DIFRSA=$NA(^XTMP("XPDI",DIFRNAME,"KRN"))
 | 
|---|
| 29 |  S DIFROLD=$G(DIFRFLG)["O"
 | 
|---|
| 30 |  I DIFROLD S DLAYGO=DIFRFILE,DIC="^DIST(.404,",DIC(0)="LX" D  Q
 | 
|---|
| 31 |  .F  S DIFRDA=$O(@DIFRSA@(.404,DIFRDA)) Q:DIFRDA'>0  S DIFRX=^(DIFRDA,0) D
 | 
|---|
| 32 |  ..S X=$P(DIFRX,"^"),DIFRFL=$P(DIFRX,"^",2)
 | 
|---|
| 33 |  ..K DA
 | 
|---|
| 34 |  ..D ^DIC
 | 
|---|
| 35 |  ..I Y>0 S DIFRY=Y D DELADD Q
 | 
|---|
| 36 |  ..N DIFRERR S DIFRERR(1)=$P(DIFRX,"^")
 | 
|---|
| 37 |  ..D BLD^DIALOG(9517,.DIFRERR)
 | 
|---|
| 38 |  ..Q
 | 
|---|
| 39 |  ; CODE FOR NEW CALLS                                           <<<***
 | 
|---|
| 40 |  G EXIT
 | 
|---|
| 41 |  Q
 | 
|---|
| 42 | DELADD ;
 | 
|---|
| 43 |  K ^DIST(.404,+DIFRY),DA,DIK
 | 
|---|
| 44 |  M ^DIST(.404,+DIFRY)=@DIFRSA@(.404,DIFRDA)
 | 
|---|
| 45 |  S DIK="^DIST(.404,",DA=+DIFRY
 | 
|---|
| 46 |  D IX1^DIK
 | 
|---|
| 47 |  I '$D(DD(+DIFRFL)) D
 | 
|---|
| 48 |  .N DIFRERR S DIFRERR(1)=$P(DIFRX,"^"),DIFRERR(2)=DIFRFL
 | 
|---|
| 49 |  .D BLD^DIALOG(9518,.DIFRERR)
 | 
|---|
| 50 |  .Q
 | 
|---|
| 51 |  Q
 | 
|---|
| 52 |  ;
 | 
|---|
| 53 | ERR(X) S X(1)=X D BLD^DIALOG(202,.X)
 | 
|---|
| 54 |  Q
 | 
|---|
| 55 | EXIT I $G(DIFRMSGR)]"" D CALLOUT^DIEFU(DIFRMSGR)
 | 
|---|
| 56 |  Q
 | 
|---|