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

TIUFLF8.m

Go to the documentation of this file.
  1. TIUFLF8 ; SLC/MAM - Library; File 8925.1 Related: SELTYPE(FILEDA,DEFLT), EDOWN(DA,XFLG) ;7/1/97 20:39
  1. ;;1.0;TEXT INTEGRATION UTILITIES;**2**;Jun 20, 1997
  1. ;
  1. SELTYPE(FILEDA,DEFLT) ; Function Prompts for Type, Returns Selected Type: CL, DC, TL, CO, O, [N for NONE], "" if nothing selected or @ entered.
  1. ; Optional FILEDA: if not received, include 'NONE' as selectable Type.
  1. ; Optional DEFLT = 'CLASS', 'TITLE' etc.
  1. ; FILEDA, DEFLT are needed when editing Type; NOT needed when selecting Type for SORT. Assume for SORT if FILEDA is not received.
  1. ; If used for editing Type, requires TIUFTLST as set in TYPELIST
  1. N DIR,X,Y,TYPE,CHOICE,TMP
  1. K DIRUT,DUOUT,DIROUT
  1. S FILEDA=+$G(FILEDA)
  1. S DIR(0)=$S(TIUFXNOD["Sort"!(TIUFXNOD["Change View"):"FA0^1:14",1:"FA^1:9"),(DIR("?"),DIR("??"))="^D TYPE^TIUFXHLX"
  1. I $D(DEFLT) S DIR("B")=DEFLT
  1. S CHOICE=""
  1. I FILEDA F TYPE="CL","DC","DOC","CO","O" D
  1. . I TIUFTLST[(U_TYPE_U) S:TYPE="DOC" TYPE="TL" S CHOICE=CHOICE_$S(CHOICE'="":"/"_TYPE,1:TYPE)
  1. I 'FILEDA S CHOICE="CL/DC/TL/CO/O/N"
  1. S CHOICE="("_CHOICE_")"
  1. S DIR("A")=$S('FILEDA:"Select TYPE",1:"TYPE")_": "_CHOICE_": "
  1. D ^DIR I $D(DTOUT)!$D(DUOUT) S TYPE="" G SELTX
  1. S TYPE=$$UPPER^TIULS(Y)
  1. D
  1. . I $E(TYPE,1,2)="CL","CLASS"[TYPE W:(TYPE'="CLASS") " CLASS" S TYPE="CL" Q
  1. . I TYPE="DC" W " DOCUMENT CLASS" Q
  1. . I $E(TYPE,1,2)="DO","DOCUMENT CLASS"[TYPE W:(TYPE'="DOCUMENT CLASS") " DOCUMENT CLASS" S TYPE="DC" Q
  1. . I TYPE="TL" W " TITLE" Q
  1. . I $E(TYPE,1,2)="TI","TITLE"[TYPE W:(TYPE'="TITLE") " TITLE" S TYPE="TL" Q
  1. . I $E(TYPE,1,2)="CO","COMPONENT"[TYPE W:(TYPE'="COMPONENT") " COMPONENT" S TYPE="CO" Q
  1. . I TYPE="O" W " OBJECT" Q
  1. . I $E(TYPE,1,2)="OB","OBJECT"[TYPE W:(TYPE'="OBJECT") " OBJECT" S TYPE="O" Q
  1. . I 'FILEDA,$E(TYPE)="N","NONE"[TYPE W:(TYPE'="NONE") " NONE" S TYPE="NONE" Q
  1. . S TYPE=""
  1. I FILEDA D
  1. . S TMP=TYPE I TMP="TL" S TMP="DOC"
  1. . I TMP'="",TIUFTLST'[(U_TMP_U) S TYPE="" ; User entered something not permitted.
  1. SELTX Q TYPE
  1. ;
  1. EDOWN(DA,XFLG) ; User edit Owner.
  1. ; Returns XFLG=1 if user ^exited, else as received.
  1. N DR,DIE,X,Y,NODE0,POWNER,COWNER
  1. D GET(DA,.NODE0,.POWNER,.COWNER)
  1. D FULL^VALM1 S TIUFFULL=1,DIE=8925.1 K DUOUT
  1. I POWNER,'COWNER D OWNPERS(DA,.NODE0,.POWNER,.COWNER) G:$D(DTOUT)!$D(DUOUT) EDOWX D:'POWNER OWNCLAS(DA,.NODE0,.POWNER,.COWNER) G EDOWX
  1. I COWNER,'POWNER D OWNCLAS(DA,.NODE0,.POWNER,.COWNER) G:$D(DTOUT)!$D(DUOUT) EDOWX D:'COWNER OWNPERS(DA,.NODE0,.POWNER,.COWNER) G EDOWX
  1. I 'POWNER,'COWNER D OWNCLAS(DA,.NODE0,.POWNER,.COWNER) G:$D(DTOUT)!$D(DUOUT) EDOWX D:'COWNER OWNPERS(DA,.NODE0,.POWNER,.COWNER) G EDOWX
  1. I POWNER,COWNER D OWNCLAS(DA,.NODE0,.POWNER,.COWNER) G:$D(DTOUT)!$D(DUOUT) EDOWX D:COWNER OWNPERS(DA,.NODE0,.POWNER,.COWNER) G EDOWX
  1. EDOWX S:$D(DUOUT)!$D(DTOUT) XFLG=1
  1. D OWNCHEC(DA)
  1. Q
  1. ;
  1. OWNCHEC(DA) ; Check for no owners, both owners, stuff personal owner if problem
  1. N NODE0,POWNER,COWNER,DR,DIE,X,Y
  1. D GET(DA,.NODE0,.POWNER,.COWNER) S DIE=8925.1
  1. I 'POWNER,'COWNER W !!,"Since Entry has no Owner, you have been made the Personal Owner.",!! D:'$D(DTOUT) PAUSE^TIUFXHLX S DR=".05////^S X=DUZ" D ^DIE
  1. I POWNER,COWNER W !!,"Since Entry has both Personal and Class Owners, Class Owner has been deleted",!,"and you have been made the Personal Owner.",!! D:'$D(DTOUT) PAUSE^TIUFXHLX S DR=".05////^S X=DUZ;.06///@" D ^DIE
  1. Q
  1. ;
  1. GET(DA,NODE0,POWNER,COWNER) ; Get Owner data
  1. S NODE0=^TIU(8925.1,DA,0),POWNER=$P(NODE0,U,5),COWNER=$P(NODE0,U,6)
  1. Q
  1. ;
  1. OWNCLAS(FILEDA,NODE0,POWNER,COWNER) ; Edit Owner Class
  1. N DIR,X,Y,ANS,DIE,DR,DA
  1. I 'COWNER,$G(^TMP("TIUF",$J,"CLPAC")) S DIR("B")="CLINICAL COORDINATOR"
  1. S DA=FILEDA
  1. S DIR(0)="8925.1,.06O",DIE=8925.1 D ^DIR I $D(DTOUT)!$D(DUOUT) Q
  1. S:X="@" Y=X S:Y Y=+Y S ANS=Y ; Y was returned like 17^CLINICAL COORDINATOR
  1. S DR=".06////^S X=ANS" D ^DIE
  1. D GET(FILEDA,.NODE0,.POWNER,.COWNER)
  1. Q
  1. ;
  1. OWNPERS(FILEDA,NODE0,POWNER,COWNER) ; Edit Personal Owner
  1. N DIR,X,Y,ANS,DIE,DR
  1. S DA=FILEDA,DIR(0)="8925.1,.05O",DIE=8925.1 D ^DIR I $D(DTOUT)!$D(DUOUT) Q
  1. S:X="@" Y=X S:Y Y=+Y S ANS=Y
  1. S DR=".05////^S X=ANS" D ^DIE
  1. D GET(FILEDA,.NODE0,.POWNER,.COWNER)
  1. Q
  1. ;