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

DENTDNJ2.m

Go to the documentation of this file.
  1. DENTDNJ2 ;WASH ISC/TJK,JA,NCA-FUNCTION FOR DISPLAY ONLY ;9/25/92 09:59
  1. ;;1.2;DENTAL;**15,23**;Oct 08, 1992
  1. FUNC ;FUNCTION COMMANDS
  1. X DJCP W DJHIN X XY W "FUNCTIONS",DJLIN
  1. W !!," ^ -- Quit"
  1. W:$P(^DENT(220.6,DJN,0),"^",3)]"" ?41,"U -- Up a page"
  1. W !," N -- New record"
  1. W:$P(^DENT(220.6,DJN,0),"^",5)]"" ?41,"D -- Down a page"
  1. LST X DJCL W "FUNCTION: ",$S($P(DJJ,U,4)="":"N",1:"D"),"//" R X:DTIME S:'$T X="^" S:X=""!(X["D") X="D" G MOD:X?1"^"1N.N G Q:X["N"&(DJP=0) Q:X["N"&(DJP=1)
  1. LS1 G:X?1"^" OUT I X["D"&($P(DJJ,U,4)]"")&($D(DJDN)) D SAVE S DJN=$P(DJJ,U,4) S DJN=$O(^DENT(220.6,"B",DJN,0)) S:DJN="" DJN=-1 S DJFF=0 D N^DENTDPL Q:$D(DJY) S (DA,W(V))=DJDN D ^DENTD1 G EN2^DENTDNJ
  1. I X["D"&($P(DJJ,U,4)="") S:$P(DJJ,U,2)'="" DJFF=0 G Q
  1. G:X["U" PREV
  1. G LST
  1. MOD I $D(DJJ($P(X,U,2))) S V=$P(X,"^",2) S:DJ4["M"&($D(DJDIS)) DJSW1=1,DJDIS=0 S V=V-.001 G NXT
  1. PREV G LST:$P(DJJ,U,2)="" S DJN=$P(DJJ,U,2) S:DJN'=+DJN DJN=$O(^DENT(220.6,"B",DJN,0)) S:DJN="" DJN=-1 S DJFF=0 D REST D N^DENTDPL G NXT
  1. Q I $P(^DENT(220.6,DJN,0),U,3)'="" F DJK=0:0 S (DJDPL,DJNM)=$P(^DENT(220.6,DJN,0),U,3),DJN=$O(^DENT(220.6,"B",DJNM,0)) S:DJN="" DJN=-1 Q:$P(^DENT(220.6,DJN,0),U,3)=""
  1. K V,DJ0,DJAT,DJDN,DJ3,DJ4,DJQ I '$D(DJW1) D ^DENTDPL G EN2^DENTDNJ
  1. OUT K DJSV,DJ0,DJAT,DJK,DJDN,DJ3,V,DJJ,DJQ,DIC,DJDD,DX,DY,DJSM,DJDIC,DJKEY S DJFF=0 Q
  1. KILL K DB,DC,DE,DG,DH,DI,DK,DL,DM,DP,DR,DW Q
  1. SAVE S %X="V(",%Y="^TMP($J,""DJ"",DJN," D %XY^%RCR K V Q
  1. REST K V S %X="^TMP($J,""DJ"",DJN,",%Y="V(" D %XY^%RCR Q
  1. NXT G NXT^DENTDNJ
  1. ;CALLED BY DENTDNJ
  1. COMPUTE D COMPUTE1 G NXT
  1. COMPUTE1 D:$D(DA(1)) SET X $P(^DD(DJDD,$P(DJJ(V),U,3),0),U,5,99) D BLANK^DENTD1 S V(V)=X D:$D(DA(1)) RESET S @$P(DJJ(V),U,2) X XY S $P(DJDB," ",DJJ(V))=" " W DJDB X XY W:X DJHIN,X K DJDB X XY
  1. Q
  1. SET S DJMD0=D0,DJMD1=D1,D0=DA(1),D1=DA Q
  1. RESET S D0=DJMD0,D1=DJMD1 K DJMD0,DJMD1 Q
  1. B S DJDB="" S:(DJJ(V)-$L(V(V))) $P(DJDB," ",DJJ(V)-$L(V(V)))=" " Q
  1. D S $P(DJDB,".",DJJ(V))="."
  1. Q
  1. ;
  1. Z ; input reader-invoked by R^DENTDNJ
  1. D DCS^DENTDNQ
  1. ;
  1. ; if this is a pointer multiple, do some cleanup of the system table
  1. S X=$P(DJJ(V),"^",4)
  1. IF X["P",X["M" D ; a pointer multiple
  1. . K DIC("S") ;,DA
  1. . S DG=12,DIC(0)="EQZML"
  1. . S DIC("V")=DIC_D0_","_(+$P(DJ0,"^",4))_"," ; suspect that this is the critical variable
  1. . S DJXX="?",Y=-1
  1. . Q
  1. ;END IF
  1. ;
  1. ; get the input
  1. S X="",DJSM=0,DJLG=+DJJ(V)+1
  1. ;I DJLG<81 D
  1. ;. R X#DJLG:DTIME S DJZ=$T
  1. ;E ; next line used to be concatenated with this one
  1. S X=$$RESPONSE^DENTDSE("",DJLG-1,DX,DY),DJZ=$P(X,"~",2),X=$P(X,"~",1)
  1. S:'DJZ X="^" S:X="" DJSM=1 K:X="" DIC("S")
  1. I $L(X)>(DJLG-1) W @IOBS," ",*7 X XY S:'$D(V(V)) V(V)="" D B:V(V)'="",D:V(V)="",M K DJDB X XY G Z
  1. I X?1"^".E!(X?1"?".E) S:'$D(V(V)) V(V)="" D B:V(V)'="",D:V(V)="" X XY W DJHIN X XY D M W DJLIN K DJDB X XY Q
  1. Q
  1. N R !,"Press <RETURN> to Continue",DJX:DTIME S DJSV=V D N^DENTDPL,FUNC^DENTDNQ2 S V=DJSV Q
  1. HELP W !!,*7,"Answer 'YES' or 'NO'. As a general rule, you should repaint the screen if the screen has been 'pushed up' by the word processing field"
  1. G N
  1. M ;W V(V) W:$D(DJDB) DJDB ; ;8/31/92 14:18
  1. S DJDB=V(V)_$G(DJDB)
  1. I $L(DJDB)<80 W DJDB
  1. E W $E(DJDB,1,80-DX),!,$E(DJDB,80-DX+1,$L(DJDB))
  1. Q