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

BTIUFD.m

Go to the documentation of this file.
  1. BTIUFD ;IHS/CIA/MGH - LM Routine to display and edit description field ;26-Jan-2006 12:40;MGH
  1. ;;1.0;TEXT INTEGRATION UTILITIES;**1003**;NOV 04,2004
  1. DESC(LASTLIN) ; EP Set Display Array TIUF3 starting with Description.
  1. ; Used by subtemplates D and X AND T
  1. ; See DSBASICS for required variables, etc.
  1. N LINENO,CNT,TIUI,FILEDA,NAME,TIUFBLIN
  1. S (TIUFBLIN,LINENO)=LASTLIN
  1. G:TIUFNOD0("DESC")="" DSBOX ; NA
  1. ;If called to redisplay edited screen rather than by Init, kill array starting with Desc tx before resetting array.
  1. S CNT=$O(^TMP("TIUF3",$J,1000000),-1)
  1. F TIUI=LASTLIN+1:1:CNT K ^TMP("TIUF3",$J,TIUI),^TMP("TIUF3IDX",$J,TIUI)
  1. S FILEDA=TIUFINFO("FILEDA")
  1. I TIUFSTMP'="X" D
  1. .S LINENO=LINENO+1
  1. .S ^TMP("TIUF3",$J,LINENO,0)=""
  1. .S LINENO=LINENO+1
  1. .S ^TMP("TIUF3",$J,LINENO,0)=" Description"
  1. I TIUFNOD0("TYPE")="COMPONENT" S NAME=$P(TIUFNOD0,U),LINENO=LINENO+1,^TMP("TIUF3",$J,LINENO,0)=NAME_":"
  1. D SETDESC(FILEDA,.LINENO)
  1. DSBOX K TIUFQ S LASTLIN=LINENO Q:$D(DTOUT)
  1. Q
  1. ;
  1. SETDESC(FILEDA,LASTLIN) ;Set description
  1. N TIUFJ,TIUFI,LINE2
  1. F TIUFJ=LASTLIN+1:1 Q:'$D(^TMP("TIUF3",$J,TIUFJ,0)) K ^TMP("TIUF3",$J,TIUFJ,0)
  1. S LINE2=LASTLIN,TIUFI=0
  1. F S TIUFI=$O(^TIU(8925.1,+FILEDA,9003130.1,TIUFI)) Q:+TIUFI'>0 D
  1. .S LINE2=LINE2+1
  1. .S ^TMP("TIUF3",$J,LINE2,0)=$G(^TIU(8925.1,+FILEDA,9003130.1,+TIUFI,0))
  1. S LASTLIN=LINE2
  1. SETBX Q
  1. HASDESC(FILDEDA,NODEO) ; EP Function returns no or yes if description field exists
  1. N ANS
  1. S ANS=0
  1. S ANS=$D(^TIU(8925.1,FILEDA,9003130.1,0))
  1. I ANS>0 S ANS="1"
  1. Q ANS
  1. EDDES ; EP Entry point to edit the description field
  1. ; Requires CURRENT arrays TIUFINFO, TIUFNOD0.
  1. N FILEDA,LINENO,CNTCHNG,TIUFXNOD,MSG,STATUS,DTOUT,DIRUT,DIROUT
  1. S FILEDA=TIUFINFO("FILEDA")
  1. S VALMBCK="R",TIUFXNOD=$G(XQORNOD(0))
  1. S STATUS=$$STATWORD^TIUFLF5($P(^TIU(8925.1,FILEDA,0),U,7))
  1. I STATUS'="INACTIVE" W !!,"Entry is not Inactive: Can't edit Description" D PAUSE^TIUFXHLX S VALMBCK="" G EDBOX
  1. I TIUFSTMP="X" L +^TIU(8925.1,FILEDA):1 I '$T W !!," Another user is editing this entry.",! H 2 G EDBOX
  1. D EDDESC(FILEDA,TIUFNOD0) G:$D(DTOUT) EDBOX
  1. D NODE0ARR^TIUFLF(FILEDA,.TIUFNOD0) G:$D(DTOUT) EDBOX
  1. ; Update template D or X:
  1. S LINENO=TIUFBLIN D DESC(.LINENO) G:$D(DTOUT) EDBOX S VALMCNT=LINENO
  1. I TIUFTMPL="A" D AUPDATE^TIUFLA1(TIUFNOD0,FILEDA,.CNTCHNG) S:CNTCHNG TIUFVCN1=TIUFVCN1-1 ;doesn't match.
  1. I "HC"[TIUFTMPL D LINEUP^TIUFLLM1(.TIUFINFO,TIUFTMPL)
  1. EDBOX ;
  1. I TIUFSTMP="X" L -^TIU(8925.1,+$G(FILEDA))
  1. I $D(DTOUT) S VALMBCK="Q"
  1. Q
  1. EDDESC(FILEDA,NODE0) ; Edit Description of FILEDA.
  1. ; Requires FILEDA, NODE0 of FILEDA
  1. D FULL^VALM1
  1. N DIC,DWPK,DIWESUB
  1. S DIC="^TIU(8925.1,"_FILEDA_",9003130.1,",DWPK=1
  1. S DIWESUB=$P(NODE0,U)
  1. D EN^DIWE
  1. Q