| 1 | DICATTDD ;GFT;12:02 PM  8 Apr 2001; multiple fields
 | 
|---|
| 2 |  ;;22.0;VA FileMan;**42,76**;Mar 30, 1999
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 | MULMAKE(DICATTD,TYPE) ;DICATTD=sub-dictionary number, TYPE 1-9
 | 
|---|
| 7 |  ;only called from DICATTDE
 | 
|---|
| 8 |  N F,DA,DIK,I,J,DIC
 | 
|---|
| 9 |  S F=$$G(1),^DD(DICATTD,0)=F_" SUB-FIELD^^.01^1"
 | 
|---|
| 10 |  S ^(0,"UP")=DICATTA,^("NM",F)=""
 | 
|---|
| 11 |  S ^DD(DICATTD,.01,0)=F_"^^^0;1"
 | 
|---|
| 12 |  I TYPE-5 D  ;build a "B" x-ref unless this is a W-P multiple
 | 
|---|
| 13 |  .S ^DD(DICATTD,.01,1,0)="^.1",^(1,0)=DICATTD_"^B"
 | 
|---|
| 14 |  .S:+DICATT4S'=DICATT4S DICATT4S=""""_DICATT4S_""""
 | 
|---|
| 15 |  .S DIK=DICATT4S_",""B"",$E(X,1,30),DA)"
 | 
|---|
| 16 |  .D IJ^DIUTL(DICATTA) S I=$O(I(""),-1)
 | 
|---|
| 17 |  .F DA=I:-1:0 S DIK=I(DA)_$E(",",''DA)_"DA("_(I+1-DA)_"),"_DIK
 | 
|---|
| 18 |  .S ^DD(DICATTD,.01,1,1,1)="S "_DIK_"=""""",^(2)="K "_DIK
 | 
|---|
| 19 |  .I TYPE=8 S ^(3)="Required for Variable Pointer"
 | 
|---|
| 20 |  S DA=.01,DA(1)=DICATTD,(DIC,DIK)="^DD("_DICATTD_","
 | 
|---|
| 21 |  D IX1^DIK
 | 
|---|
| 22 |  S $P(^DD(DICATTA,DICATTF,0),U,2)=DICATTD ;K DICATT2N
 | 
|---|
| 23 |  S ^DD(DICATTA,"SB",DICATTD,DICATTF)=""
 | 
|---|
| 24 |  Q
 | 
|---|
| 25 |  ;
 | 
|---|
| 26 | MULEDIT S G=$$G(1) I G="" G ^DICATTDK:$D(DICATTDK) S DDSBR=1,DDSERROR=1 Q
 | 
|---|
| 27 |  S $P(^DD(+DICATT2,0),U)=G_" SUB-FIELD" K ^(0,"NM") S ^("NM",G)=""
 | 
|---|
| 28 |  S DR=".01////"_G F X=5,7,8 D 0
 | 
|---|
| 29 | DIE S DICATTED=1,DA=DICATTF,DA(1)=DICATTA,(DIC,DIE)="^DD(DICATTA,"
 | 
|---|
| 30 |  D ^DIE
 | 
|---|
| 31 |  D FILEWORD^DICATTD0 Q
 | 
|---|
| 32 |  ;
 | 
|---|
| 33 | 0 S T=$T(@X),G=$TR($$G(X),";") Q:G="@"  S:G="" G="@" S DR=DR_$P(T,";",2,3)_"////"_G Q
 | 
|---|
| 34 | 5 ;;8
 | 
|---|
| 35 | 7 ;;9
 | 
|---|
| 36 | 8 ;;10
 | 
|---|
| 37 |  ;
 | 
|---|
| 38 | G(I) N X Q $$GET^DDSVALF(I,"DICATT MUL",10,"I","")
 | 
|---|