- TIUFLD1 ; SLC/MAM - Lib; Template D Related; SETBOIL(FIELDA,LASTLIN), EDBOIL(FILEDA), DEDBOIL(FILEDA), DSETSHAR(FILEDA) ;4/6/95 11:02
- ;;1.0;TEXT INTEGRATION UTILITIES;;Jun 20, 1997
- ;
- SETBOIL(FILEDA,LASTLIN) ; Sets Boilerplate Text of FILEDA into
- ;LM Array for Template D.
- ; Kills LM Array from LASTLIN+1 to the end before setting boiltxt.
- ; Requires FILEDA.
- ; Requires LASTLIN = Last array line set, if setting array; = Last
- ;line to keep before resetting the rest if resetting array.
- ; Updates LASTLIN to Last array line set by this module.
- N TIUFJ,TIUFI,LINENO
- F TIUFJ=LASTLIN+1:1 Q:'$D(^TMP("TIUF3",$J,TIUFJ,0)) K ^TMP("TIUF3",$J,TIUFJ,0)
- S LINENO=LASTLIN,TIUFI=0
- F S TIUFI=$O(^TIU(8925.1,+FILEDA,"DFLT",TIUFI)) Q:+TIUFI'>0 D
- . S LINENO=LINENO+1,^TMP("TIUF3",$J,LINENO,0)=$G(^TIU(8925.1,+FILEDA,"DFLT",+TIUFI,0))
- S LASTLIN=LINENO
- SETBX Q
- ;
- DSETBOIL(FILEDA,VCNT3) ; Sets boilerplate Text for descendants of FILEDA.
- ; Requires FILEDA, VCNT3=VALMCNT for TIUF3 when DSETBOIL is called.
- ; Updates VCNT3.
- N TIUFITEM,TIUI,LINENO,ITENDA,TENODE0,NAME
- Q:'$G(FILEDA)
- Q:$G(VCNT3)=""
- D ITEMS^TIUFLT(FILEDA)
- S TIUI=0,LINENO=VCNT3
- F S TIUI=$O(TIUFITEM(TIUI)) Q:'TIUI D
- . S ITENDA=$P(TIUFITEM(TIUI),U,2)
- . S TENODE0=^TIU(8925.1,FILEDA,10,ITENDA,0),NAME=$P(^TIU(8925.1,+TENODE0,0),U)
- . S LINENO=LINENO+1,^TMP("TIUF3",$J,LINENO,0)=NAME_":"
- . D SETBOIL(+TENODE0,.LINENO)
- . D DSETBOIL(+TENODE0,.LINENO)
- . Q
- DSETX S VCNT3=LINENO
- Q
- ;
- EDBOIL(FILEDA,NODE0) ; Edit Boilerplate Text of FILEDA.
- ; Requires FILEDA, NODE0 of FILEDA
- D FULL^VALM1
- N DIC,DWPK,DIWESUB
- S DIC="^TIU(8925.1,"_FILEDA_",""DFLT"",",DWPK=1
- S DIWESUB=$P(NODE0,U)
- D EN^DIWE
- EDBOX Q
- ;
- DEDBOIL(FILEDA) ; Edit Boilerplate Text for descendants of FILEDA.
- N TIUI,IFILEDA,INODE0,TIUFITEM,ITENDA
- G:'$O(^TIU(8925.1,FILEDA,10,0)) DEDBX
- D ITEMS^TIUFLT(FILEDA)
- S TIUI=0 K DUOUT
- F S TIUI=$O(TIUFITEM(TIUI)) Q:'TIUI D Q:$D(DTOUT)!$D(DUOUT)
- . S ITENDA=$P(TIUFITEM(TIUI),U,2)
- . S IFILEDA=+^TIU(8925.1,FILEDA,10,ITENDA,0),INODE0=^TIU(8925.1,IFILEDA,0)
- . I $P(INODE0,U,10),'$$PERSOWNS^TIUFLF2(IFILEDA,DUZ) W !!," ",$P(INODE0,U),!,"is a Shared Component; Only an Owner can edit its Boilerplate Text.",!! D PAUSE^TIUFXHLX Q
- . I $P(INODE0,U,10),TIUFTMPL'="A" W !!," ",$P(INODE0,U),!,"is a Shared Component; it can be edited only through the SORT option",!! D PAUSE^TIUFXHLX Q
- . D EDBOIL(IFILEDA,INODE0) Q:$D(DTOUT)
- . D DEDBOIL(IFILEDA)
- . Q
- DEDBX Q
- ;
- DSETSHAR(FILEDA) ; Sets all descendants of FILEDA to SHARED
- ; Requires FILEDA
- N TIUI,IFILEDA,INODE0,DIE,X,Y,SHARED,DA,DR
- S TIUI=0,DIE=8925.1,SHARED="YES"
- F S TIUI=$O(^TIU(8925.1,FILEDA,10,TIUI)) Q:'TIUI D
- . S IFILEDA=+^TIU(8925.1,FILEDA,10,TIUI,0)
- . S INODE0=$G(^TIU(8925.1,IFILEDA,0))
- . I INODE0="" W !!," File Entry "_FILEDA_" has Nonexistent item "_IFILEDA_"; See IRM",! D PAUSE^TIUFXHLX Q
- . S DA=IFILEDA,DR=".1///^S X=SHARED" D ^DIE
- . D DSETSHAR(IFILEDA)
- Q
- ;
- TIUFLD1 ; SLC/MAM - Lib; Template D Related; SETBOIL(FIELDA,LASTLIN), EDBOIL(FILEDA), DEDBOIL(FILEDA), DSETSHAR(FILEDA) ;4/6/95 11:02
- +1 ;;1.0;TEXT INTEGRATION UTILITIES;;Jun 20, 1997
- +2 ;
- SETBOIL(FILEDA,LASTLIN) ; Sets Boilerplate Text of FILEDA into
- +1 ;LM Array for Template D.
- +2 ; Kills LM Array from LASTLIN+1 to the end before setting boiltxt.
- +3 ; Requires FILEDA.
- +4 ; Requires LASTLIN = Last array line set, if setting array; = Last
- +5 ;line to keep before resetting the rest if resetting array.
- +6 ; Updates LASTLIN to Last array line set by this module.
- +7 NEW TIUFJ,TIUFI,LINENO
- +8 FOR TIUFJ=LASTLIN+1:1
- IF '$DATA(^TMP("TIUF3",$JOB,TIUFJ,0))
- QUIT
- KILL ^TMP("TIUF3",$JOB,TIUFJ,0)
- +9 SET LINENO=LASTLIN
- SET TIUFI=0
- +10 FOR
- SET TIUFI=$ORDER(^TIU(8925.1,+FILEDA,"DFLT",TIUFI))
- IF +TIUFI'>0
- QUIT
- Begin DoDot:1
- +11 SET LINENO=LINENO+1
- SET ^TMP("TIUF3",$JOB,LINENO,0)=$GET(^TIU(8925.1,+FILEDA,"DFLT",+TIUFI,0))
- End DoDot:1
- +12 SET LASTLIN=LINENO
- SETBX QUIT
- +1 ;
- DSETBOIL(FILEDA,VCNT3) ; Sets boilerplate Text for descendants of FILEDA.
- +1 ; Requires FILEDA, VCNT3=VALMCNT for TIUF3 when DSETBOIL is called.
- +2 ; Updates VCNT3.
- +3 NEW TIUFITEM,TIUI,LINENO,ITENDA,TENODE0,NAME
- +4 IF '$GET(FILEDA)
- QUIT
- +5 IF $GET(VCNT3)=""
- QUIT
- +6 DO ITEMS^TIUFLT(FILEDA)
- +7 SET TIUI=0
- SET LINENO=VCNT3
- +8 FOR
- SET TIUI=$ORDER(TIUFITEM(TIUI))
- IF 'TIUI
- QUIT
- Begin DoDot:1
- +9 SET ITENDA=$PIECE(TIUFITEM(TIUI),U,2)
- +10 SET TENODE0=^TIU(8925.1,FILEDA,10,ITENDA,0)
- SET NAME=$PIECE(^TIU(8925.1,+TENODE0,0),U)
- +11 SET LINENO=LINENO+1
- SET ^TMP("TIUF3",$JOB,LINENO,0)=NAME_":"
- +12 DO SETBOIL(+TENODE0,.LINENO)
- +13 DO DSETBOIL(+TENODE0,.LINENO)
- +14 QUIT
- End DoDot:1
- DSETX SET VCNT3=LINENO
- +1 QUIT
- +2 ;
- EDBOIL(FILEDA,NODE0) ; Edit Boilerplate Text of FILEDA.
- +1 ; Requires FILEDA, NODE0 of FILEDA
- +2 DO FULL^VALM1
- +3 NEW DIC,DWPK,DIWESUB
- +4 SET DIC="^TIU(8925.1,"_FILEDA_",""DFLT"","
- SET DWPK=1
- +5 SET DIWESUB=$PIECE(NODE0,U)
- +6 DO EN^DIWE
- EDBOX QUIT
- +1 ;
- DEDBOIL(FILEDA) ; Edit Boilerplate Text for descendants of FILEDA.
- +1 NEW TIUI,IFILEDA,INODE0,TIUFITEM,ITENDA
- +2 IF '$ORDER(^TIU(8925.1,FILEDA,10,0))
- GOTO DEDBX
- +3 DO ITEMS^TIUFLT(FILEDA)
- +4 SET TIUI=0
- KILL DUOUT
- +5 FOR
- SET TIUI=$ORDER(TIUFITEM(TIUI))
- IF 'TIUI
- QUIT
- Begin DoDot:1
- +6 SET ITENDA=$PIECE(TIUFITEM(TIUI),U,2)
- +7 SET IFILEDA=+^TIU(8925.1,FILEDA,10,ITENDA,0)
- SET INODE0=^TIU(8925.1,IFILEDA,0)
- +8 IF $PIECE(INODE0,U,10)
- IF '$$PERSOWNS^TIUFLF2(IFILEDA,DUZ)
- WRITE !!," ",$PIECE(INODE0,U),!,"is a Shared Component; Only an Owner can edit its Boilerplate Text.",!!
- DO PAUSE^TIUFXHLX
- QUIT
- +9 IF $PIECE(INODE0,U,10)
- IF TIUFTMPL'="A"
- WRITE !!," ",$PIECE(INODE0,U),!,"is a Shared Component; it can be edited only through the SORT option",!!
- DO PAUSE^TIUFXHLX
- QUIT
- +10 DO EDBOIL(IFILEDA,INODE0)
- IF $DATA(DTOUT)
- QUIT
- +11 DO DEDBOIL(IFILEDA)
- +12 QUIT
- End DoDot:1
- IF $DATA(DTOUT)!$DATA(DUOUT)
- QUIT
- DEDBX QUIT
- +1 ;
- DSETSHAR(FILEDA) ; Sets all descendants of FILEDA to SHARED
- +1 ; Requires FILEDA
- +2 NEW TIUI,IFILEDA,INODE0,DIE,X,Y,SHARED,DA,DR
- +3 SET TIUI=0
- SET DIE=8925.1
- SET SHARED="YES"
- +4 FOR
- SET TIUI=$ORDER(^TIU(8925.1,FILEDA,10,TIUI))
- IF 'TIUI
- QUIT
- Begin DoDot:1
- +5 SET IFILEDA=+^TIU(8925.1,FILEDA,10,TIUI,0)
- +6 SET INODE0=$GET(^TIU(8925.1,IFILEDA,0))
- +7 IF INODE0=""
- WRITE !!," File Entry "_FILEDA_" has Nonexistent item "_IFILEDA_"; See IRM",!
- DO PAUSE^TIUFXHLX
- QUIT
- +8 SET DA=IFILEDA
- SET DR=".1///^S X=SHARED"
- DO ^DIE
- +9 DO DSETSHAR(IFILEDA)
- End DoDot:1
- +10 QUIT
- +11 ;