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

DICATTDD.m

Go to the documentation of this file.
  1. DICATTDD ;GFT/GFT - Multiple Fields;12:02 PM 8 Apr 2001
  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. ;
  1. MULMAKE(DICATTD,TYPE) ;DICATTD=sub-dictionary number, TYPE 1-9
  1. ;only called from DICATTDE
  1. N F,DA,DIK,I,J,DIC
  1. S F=$$G(1),^DD(DICATTD,0)=F_" SUB-FIELD^^.01^1"
  1. S ^(0,"UP")=DICATTA,^("NM",F)=""
  1. S ^DD(DICATTD,.01,0)=F_"^^^0;1"
  1. I TYPE-5 D ;build a "B" x-ref unless this is a W-P multiple
  1. .S ^DD(DICATTD,.01,1,0)="^.1",^(1,0)=DICATTD_"^B"
  1. .S:+DICATT4S'=DICATT4S DICATT4S=""""_DICATT4S_""""
  1. .S DIK=DICATT4S_",""B"",$E(X,1,30),DA)"
  1. .D IJ^DIUTL(DICATTA) S I=$O(I(""),-1)
  1. .F DA=I:-1:0 S DIK=I(DA)_$E(",",''DA)_"DA("_(I+1-DA)_"),"_DIK
  1. .S ^DD(DICATTD,.01,1,1,1)="S "_DIK_"=""""",^(2)="K "_DIK
  1. .I TYPE=8 S ^(3)="Required for Variable Pointer"
  1. S DA=.01,DA(1)=DICATTD,(DIC,DIK)="^DD("_DICATTD_","
  1. D IX1^DIK
  1. S $P(^DD(DICATTA,DICATTF,0),U,2)=DICATTD ;K DICATT2N
  1. S ^DD(DICATTA,"SB",DICATTD,DICATTF)=""
  1. Q
  1. ;
  1. MULEDIT S G=$$G(1) I G="" G ^DICATTDK:$D(DICATTDK) S DDSBR=1,DDSERROR=1 Q
  1. S $P(^DD(+DICATT2,0),U)=G_" SUB-FIELD" K ^(0,"NM") S ^("NM",G)=""
  1. S DR=".01////"_G F X=5,7,8 D 0
  1. DIE S DICATTED=1,DA=DICATTF,DA(1)=DICATTA,(DIC,DIE)="^DD(DICATTA,"
  1. D ^DIE
  1. D FILEWORD^DICATTD0 Q
  1. ;
  1. 0 S T=$T(@X),G=$TR($$G(X),";") Q:G="@" S:G="" G="@" S DR=DR_$P(T,";",2,3)_"////"_G Q
  1. 5 ;;8
  1. 7 ;;9
  1. 8 ;;10
  1. ;
  1. G(I) N X Q $$GET^DDSVALF(I,"DICATT MUL",10,"I","")