XBDHD2 ; IHS/ADC/GTH - SPECIAL CHOICES ; [ 02/07/97 3:02 PM ] ;;4.0;XB;;Jul 20, 2009;Build 2 ; NEW ; NEW XBDHFROM,XBDHI,XBDHTEMP,XBDHTO ; START ; I $D(XBDHECHN) S XBDHCHN=XBDHECHN,XBDHX=^TMP("XBDH",$J,"HEADER",XBDHCHN),XBDHHDR=$P(XBDHX,V,3),XBDHHDW=$P(XBDHX,V,4) W "EDITING HEADER LINE SEGMENT """,$C(64+XBDHCHN),""" FIELD = """,$P(^TMP("XBDH",$J,"HEADER",XBDHCHN),V,2),"""",! F XBDHI=1:1:7 W $E($T(TEXT+XBDHI),4,99),! W ! CNEXT ; S DIR(0)="NO^1:8:",DIR("A")="Your choice",DIR("?")="Enter the number of the editing function or to go on" D ^DIR KILL DIR S XBDHX=Y I "^"[XBDHX KILL XBDHECHN Q G @("C"_XBDHX) ; C1 ; S $P(^TMP("XBDH",$J,"HEADER",XBDHCHN),V,5)=(XBDHHDW-$L(XBDHHDR))\2 D ^XBDHD1 G START ; C2 ; S $P(^TMP("XBDH",$J,"HEADER",XBDHCHN),V,5)=0 D ^XBDHD1 G START ; C3 ; W !! C31 ; S DIR(0)="NO^"_$L(XBDHHDR)_":"_(XBDHNSL+XBDHHDW)_":",DIR("A")="New field width" D ^DIR KILL DIR S XBDHX=Y I "^"[XBDHX G START I XBDHX'=+XBDHX W *13,$J("",IOM),*13,*7,*7 G C31 I (XBDHX<$L(XBDHHDR))!(XBDHX>(XBDHNSL+XBDHHDW)) W *7,*7,*13,$J("",IOM),*13 G C31 S XBDHHDW=XBDHX,$P(^TMP("XBDH",$J,"HEADER",XBDHCHN),V,4)=XBDHX G:$E($P(^(XBDHCHN),V,5)) C1 D ^XBDHD1 G START ; C4 ; W !! S DIR(0)="FO^1:"_XBDHHDW_"",DIR("A")="New header name" D ^DIR KILL DIR S XBDHX=Y I XBDHX="" G C8 I XBDHX=U G START I $P(^TMP("XBDH",$J,"HEADER",XBDHCHN),V,5) S $P(^TMP("XBDH",$J,"HEADER",XBDHCHN),V,3)=XBDHX,XBDHHDR=XBDHX G C1 S $P(^TMP("XBDH",$J,"HEADER",XBDHCHN),V,3)=XBDHX D ^XBDHD1 G START ; C5 ; S $P(^TMP("XBDH",$J,"HEADER",XBDHCHN),V,6)="+" W !!,"ENTRIES RIGHT JUSTIFIED TO A WIDTH OF ",XBDHHDW," COLUMNS" H 2 D ^XBDHD1 G START ; C6 ; S $P(^TMP("XBDH",$J,"HEADER",XBDHCHN),V,7)="+" W !!,"ENTRIES WILL BE WORD WRAPPED TO A WIDTH OF ",XBDHHDW," COLUMNS" H 2 D ^XBDHD1 G START ; C7 ; I '$D(XBDHECHN) KILL ^TMP("XBDH",$J,"HEADER",XBDHCHN) D ^XBDHD1 Q S X="" F L=0:0 S X=$O(^TMP("XBDH",$J,"HEADER",X)) Q:X="" S ^TMP("XBDH",$J,"HT",X)=^TMP("XBDH",$J,"HEADER",X) W "." S XBDHTEMP=^TMP("XBDH",$J,"HEADER") KILL ^TMP("XBDH",$J,"HT",XBDHECHN),^TMP("XBDH",$J,"HEADER") S X="" F I=1:1 S X=$O(^TMP("XBDH",$J,"HT",X)) Q:X="" S ^TMP("XBDH",$J,"HEADER",I)=^TMP("XBDH",$J,"HT",X) W "." S ^TMP("XBDH",$J,"HEADER")=XBDHTEMP KILL ^TMP("XBDH",$J,"HT"),XBDHTEMP KILL XBDHECHN D ^XBDHD1 Q ; C8 ; S XBDHFROM=$S($D(XBDHECHN):XBDHECHN,1:XBDHCHN),XBDHFROM=$C(64+XBDHFROM) S X="" F XBDHTCHN=0:1 S X=$O(^TMP("XBDH",$J,"HEADER",X)) Q:X="" S ^TMP("XBDH",$J,"HT",X)=^(X) W "." S Y="" F L=0:0 S Y=$O(^TMP("XBDH",$J,"HEADER",X,Y)) Q:Y="" S ^TMP("XBDH",$J,"HT",X,Y)=^(Y) I XBDHCHN<2 W *7,*13,$J("",IOM),*13 G CNEXT W *13,$J("",IOM),*13 ; MOVE ; S DIR(0)="FO^",DIR("A")="Where do you want to move this header (A - "_$C(64+XBDHTCHN)_")",DIR("?")="Enter a letter which corresponds to a header line field" D ^DIR KILL DIR S XBDHTO=Y I "^"[XBDHTO W ! G START I XBDHTO'?1U W *7,*7,*13,$J("",IOM),*13 G MOVE I XBDHTO]$C(64+XBDHCHN) W *7,*7,*13,$J("",IOM),*13 G MOVE I XBDHFROM=XBDHTO W *7,*13,$J("",IOM),*13 G MOVE S XBDHFROM=$A(XBDHFROM)-64,XBDHTO=$A(XBDHTO)-64 S XBDHX=XBDHTO+.1 S:(XBDHFROM>XBDHTO) XBDHX=XBDHTO-.1 S ^TMP("XBDH",$J,"HT",XBDHX)=^TMP("XBDH",$J,"HEADER",XBDHFROM) S Y="" F L=0:0 S Y=$O(^TMP("XBDH",$J,"HEADER",XBDHFROM,Y)) Q:Y="" S ^TMP("XBDH",$J,"HT",XBDHX,Y)=^TMP("XBDH",$J,"HEADER",XBDHFROM,Y) S XBDHTEMP=^TMP("XBDH",$J,"HEADER") KILL ^TMP("XBDH",$J,"HT",XBDHFROM),^TMP("XBDH",$J,"HEADER") S X="" F I=1:1 S X=$O(^TMP("XBDH",$J,"HT",X)) Q:X="" S ^TMP("XBDH",$J,"HEADER",I)=^TMP("XBDH",$J,"HT",X) S Y="" F L=0:0 S Y=$O(^TMP("XBDH",$J,"HT",X,Y)) Q:Y="" S ^TMP("XBDH",$J,"HEADER",I,Y)=^TMP("XBDH",$J,"HT",X,Y) S ^TMP("XBDH",$J,"HEADER")=XBDHTEMP KILL ^TMP("XBDH",$J,"HT"),XBDHTEMP,XBDHECHN D ^XBDHD1 G START ; TEXT ; ;;DO YOU WANT TO MAKE ANY OTHER CHANGES TO THIS HEADER OR ITS FIELD? ;; ;; ACCEPT HEADER AS IS ;; 1) CENTER HEADER WITHIN FIELD 5) RIGHT JUSTIFY ENTRIES ;; 2) UNCENTER HEADER 6) WORD WRAP ENTRIES ;; 3) CHANGE FIELD WIDTH 7) REMOVE THIS HEADER ;; 4) CHANGE HEADER NAME 8) MOVE THIS HEADER ; NOTES ; ; MAKES SECONDARY EDITING CHANGES AFTER EACH FIELD IS ENTERED ; INPUT = XBDHCHN OR XBDHECHN (XBDHECHN IS THE .A OR .B CHN),^TMP("XBDH",$J,"HEADER",CHN),XBDHTHLW ; OUTPUT = RESET ^TMP("XBDH",$J,"HEADER",CHN) ; TO INSERT A NEW FIELD SIMPLY APPEND IT TO THE END OF THE LINE AND THE MOVE IT