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

XBDHDSP.m

Go to the documentation of this file.
  1. XBDHDSP ; IHS/ADC/GTH - PUTS SPACES BETWEEN HEADERS ; [ 02/07/97 3:02 PM ]
  1. ;;3.0;IHS/VA UTILITIES;;FEB 07, 1997
  1. ;
  1. NEW ;
  1. NEW XBDHCHN1,XBDHI,XBDHTH,XBDHREP
  1. INIT ;
  1. S XBDHTH=XBDHCHN-1,XBDHNSL=XBDHTHLW-XBDHCHLW
  1. I $P(^TMP("XBDH",$J,"HEADER",1),V,8)>0 G EXIT
  1. S $P(^TMP("XBDH",$J,"HEADER",XBDHTH),V,8)=0
  1. W !!,"IT IS NOW TIME TO INSERT SPACES BETWEEN HEADER FIELDS",!
  1. CQ ;
  1. S DIR(0)="SO^1:REPATITIVE SPACING;2:MANUAL SPACING;3:AUTOMATIC SPACING",DIR("A")="Your choice",DIR("B")=1,DIR("?")="Automatic spacing puts maximum no. of spaces possible between fields."
  1. D ^DIR
  1. KILL DIR
  1. S XBDHX=Y
  1. I XBDHX="" G AUTO
  1. I XBDHX=1 G REP
  1. MANUAL ;
  1. S XBDHCHN1=""
  1. F XBDHL=0:0 S XBDHCHN1=$O(^TMP("XBDH",$J,"HEADER",XBDHCHN1)) G:XBDHCHN1=XBDHTH!(XBDHCHN1="") EXIT D MAN
  1. EXIT ;
  1. S DIR("B")="NO",DIR(0)="YO",DIR("A")="Want to make any more spacing changes"
  1. D ^DIR
  1. KILL DIR
  1. I Y=1 W !! G CQ
  1. I Y=U S XBDHQUIT="" Q
  1. Q
  1. ;
  1. MAN ;
  1. S XBDHY=$C(64+XBDHCHN1),XBDHZ=^TMP("XBDH",$J,"HEADER",XBDHCHN1)
  1. W !!,"PUT SPACES AFTER HEADER """,$C(64+XBDHCHN1),""""
  1. W !,"TOTAL NUMBER OF UNUSED COLUMNS LEFT: ",XBDHNSL
  1. W !,"TOTAL NUMBER OF HEADERS LEFT: ",XBDHTH+1-XBDHCHN1,!
  1. SP ;
  1. S DIR(0)="NO^::",DIR("A")="How many spaces do you want after field "_$C(64+XBDHCHN1)
  1. S:$G(DIR("B"))]"" DIR("B")=XBDHX
  1. D ^DIR
  1. KILL DIR
  1. S XBDHX=Y
  1. I XBDHX="" S XBDHCHN1=XBDHTH-1 Q
  1. I XBDHX?1"^"1U,$E(XBDHX,2)']$C(64+XBDHTH),($A(XBDHX)-64)'=XBDHTH S XBDHCHN1=$A($E(XBDHX,2))-64 G MAN
  1. I XBDHX'=+XBDHX W *7,*7,*13,$J("",IOM),*13 G SP
  1. I (XBDHX-$P(^TMP("XBDH",$J,"HEADER",XBDHCHN1),V,8))>XBDHNSL W *7,*7,*13,$J("",IOM),*13 G SP
  1. S XBDHY=$P(^TMP("XBDH",$J,"HEADER",XBDHCHN1),V,8),$P(^TMP("XBDH",$J,"HEADER",XBDHCHN1),V,8)=XBDHX,XBDHNSL=XBDHNSL-XBDHX+XBDHY
  1. D ^XBDHD1
  1. Q
  1. ;
  1. AUTO ;
  1. S XBDHNSL=(XBDHTHLW-XBDHCHLW),XBDHY=XBDHNSL\(XBDHTH-1),XBDHZ=XBDHNSL-(XBDHY*(XBDHTH-1)),XBDHCHN1=""
  1. F XBDHI=1:1 S XBDHCHN1=$O(^TMP("XBDH",$J,"HEADER",XBDHCHN1)) Q:XBDHCHN1=XBDHTH!(XBDHCHN1="") S XBDHX=XBDHY S:XBDHI'>XBDHZ XBDHX=XBDHX+1 S $P(^TMP("XBDH",$J,"HEADER",XBDHCHN1),V,8)=XBDHX
  1. S XBDHNSL=0
  1. D ^XBDHD1
  1. G EXIT
  1. ;
  1. REP ;
  1. W !
  1. S XBDHNSL=(XBDHTHLW-XBDHCHLW),XBDHREP=XBDHNSL\(XBDHTH-1),XBDHCHN1=""
  1. EREP ;
  1. S DIR(0)="NO^0:"_XBDHREP_":",DIR("A")="How many spaces between each header field",DIR("B")=XBDHREP
  1. D ^DIR
  1. KILL DIR
  1. S XBDHX=Y
  1. I XBDHX'=+XBDHX W *7,*7,*13,$J("",IOM),*13 G EREP
  1. I XBDHX>XBDHREP W *7,*7,*13,$J("",IOM),*13 G EREP
  1. I XBDHX="" S XBDHX=0
  1. F XBDHI=1:1 S XBDHCHN1=$O(^TMP("XBDH",$J,"HEADER",XBDHCHN1)) Q:XBDHCHN1=XBDHTH!(XBDHCHN1="") S:XBDHCHN1'["." $P(^TMP("XBDH",$J,"HEADER",XBDHCHN1),V,8)=XBDHX,XBDHNSL=XBDHNSL-XBDHX
  1. D ^XBDHD1
  1. G EXIT
  1. ;
  1. NOTES ;
  1. ; PUTS SPACES BETWEEN FIELDS ON THE HEADER LINE
  1. ; INPUT = XBDHCHLW,XBDHTHLW,XBDHCHN
  1. ; OUTPUT = 8TH PIECE OF ^TMP("XBDH",$J,"HEADER",XBDHCHN)
  1. ; IGNORES PURE MUMPS EXPRESSION AS DESIGNATED BY DECIMAL XBDHCHN