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

XBDHD1.m

Go to the documentation of this file.
  1. XBDHD1 ; IHS/ADC/GTH - COMPILES HEADER LINE ; [ 02/07/97 3:02 PM ]
  1. ;;3.0;IHS/VA UTILITIES;;FEB 07, 1997
  1. ;
  1. NEW ;
  1. NEW XBDHCHN2,XBDHHDPD,XBDHHDSP,XBDHL1,XBDHL2,XBDHL3,DX,DY
  1. INIT ;
  1. W @IOF
  1. X XBDHWOFF
  1. S (XBDHL1,XBDHL2,XBDHL3,XBDHCHN2)="",XBDHCHLW=0,DX=0,XBDHNSL=XBDHTHLW
  1. F XBDHL=0:0 S XBDHCHN2=$O(^TMP("XBDH",$J,"HEADER",XBDHCHN2)) Q:XBDHCHN2="" D:((XBDHCHN2\1)=XBDHCHN2) VAR W "."
  1. W @IOF
  1. WLINE ;
  1. F XBDHZ=1:1:4 Q:XBDHZ>(((XBDHTHLW-1)\80)+1) D LINE
  1. FIN ;
  1. S DY=(3*XBDHZ)+1,XBDHX="",$P(XBDHX,"-",79)=""
  1. X IOXY
  1. W XBDHX,!
  1. EXIT ;
  1. Q
  1. ;
  1. LINE ;
  1. S DY=(XBDHZ*3)-2,XBDHX=80*XBDHZ
  1. F XBDHY="XBDHL1","XBDHL3" S DY=DY+1 X IOXY W $E(@XBDHY,XBDHX-79,XBDHX)
  1. Q
  1. ;
  1. VAR ;
  1. S XBDHHDR=$P(^TMP("XBDH",$J,"HEADER",XBDHCHN2),V,3),XBDHHDW=$P(^(XBDHCHN2),V,4),XBDHHDPD=$P(^(XBDHCHN2),V,5),XBDHHDSP=$P(^(XBDHCHN2),V,8),XBDHCHLW=XBDHCHLW+XBDHHDW,XBDHCHN=XBDHCHN2,XBDHNSL=XBDHNSL-(XBDHHDW+XBDHHDSP)
  1. S XBDHL1=XBDHL1_$J("",XBDHHDPD)_XBDHHDR_$J("",(XBDHHDW-$L(XBDHHDR)-XBDHHDPD+XBDHHDSP))
  1. S XBDHXX=$C(64+XBDHCHN2)
  1. I $D(XBDHECHN),XBDHECHN=XBDHCHN2 S XBDHXX="^"
  1. S XBDHX="",$P(XBDHX,XBDHXX,XBDHHDW+1)="",XBDHY="",$P(XBDHY,".",XBDHHDSP+1)="" S XBDHL2=XBDHL2_XBDHX_XBDHY
  1. L3 ;
  1. S XBDHX="",$P(XBDHX,".",(XBDHTHLW+1-$L(XBDHL2)))="",XBDHL3=XBDHL2_XBDHX
  1. KILL XBDHXX,XBDHX,XBDHY
  1. Q
  1. ;
  1. NOTES ;
  1. ; WRITES THE CURRENT HEADER LINE AT THE TOP OF THE SCREEN
  1. ; INPUT = ^TMP("XBDH",$J,"HEADER",N),XBDHTHLW
  1. ; OUTPUT = XBDHHDSP,XBDHHDPD
  1. ; ALSO WRITES THE FIELD BOUNDARY LINE (AAAAAABBBCCCCC...) BELOW THE HEADER LINE
  1. ; THIS ROUTINE IS CALLED EVERY TIME THE HEADER LINE IS CHANGED BY THE EDITING PROCESS