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

AZAXCON9.m

Go to the documentation of this file.
  1. AZAXCON9 ;IHS/PHXAO/AEF - CONVERT ROUTINE FILE FROM CACHE TO MSM [ 08/05/2004 3:07 PM ]
  1. ;;1.0;ANNE'S SPECIAL ROUTINES;;AUG 05, 2004
  1. ;
  1. DESC ;----- ROUTINE DESCRIPTION
  1. ;;
  1. ;; This routine will convert a CACHE routine %RO file into an
  1. ;; MSM compatible file.
  1. ;;
  1. ;;$$END
  1. ;
  1. EN ;EP -- MAIN ENTRY POINT
  1. ;
  1. D ^XBKVAR
  1. D HOME^%ZIS
  1. D PROC
  1. D KILL
  1. Q
  1. PROC ;----- PROCESS DATA
  1. ;
  1. N FILEF,FILET,OUT,PATH
  1. ;
  1. S OUT=0
  1. ;
  1. D TXT
  1. ;
  1. D SELP(.PATH,.OUT)
  1. Q:OUT
  1. ;
  1. D SELF(.FILEF,.FILET,.OUT)
  1. Q:OUT
  1. ;
  1. D READ(PATH,FILEF,.OUT)
  1. Q:OUT
  1. ;
  1. D CONV(FILEF,PATH,.OUT)
  1. Q:OUT
  1. ;
  1. D PUT(PATH,FILET,.OUT)
  1. Q:OUT
  1. ;
  1. H 2
  1. W !,"File '"_PATH_FILET_"' created!"
  1. Q
  1. SELP(PATH,OUT) ;
  1. ;----- SELECT DIRECTORY OR PATH WHERE FILE RESIDES
  1. ;
  1. N DIR,DIRUT,DTOUT,DUOUT,X,Y
  1. ;
  1. S PATH=""
  1. S DIR(0)="FA"
  1. S DIR("A")="Select PATH: "
  1. S DIR("B")=$$PWD^%ZISH
  1. S DIR("?")="The PATH where the file to be converted resides"
  1. D ^DIR
  1. I Y']""!($D(DIRUT))!($D(DUOUT))!($D(DTOUT)) S OUT=1
  1. Q:OUT
  1. S X=Y
  1. D DF^%ZISH(.X)
  1. S PATH=X
  1. Q
  1. SELF(FILEF,FILET,OUT) ;
  1. ;----- SELECT FILES TO BE CONVERTED
  1. ;
  1. N DIR,DIRUT,DTOUT,DUOUT,X,Y
  1. ;
  1. S (FILEF,FILET)=""
  1. S DIR(0)="FA"
  1. S DIR("A")="Select file to be CONVERTED: "
  1. S DIR("?")="Enter the FILE containing the data to be converted"
  1. D ^DIR
  1. I Y']""!($D(DIRUT))!($D(DUOUT))!($D(DTOUT)) S OUT=1
  1. Q:OUT
  1. S FILEF=Y
  1. ;
  1. S DIR("A")="Select NEW file name: "
  1. D ^DIR
  1. I Y']""!($D(DIRUT))!($D(DUOUT))!($D(DTOUT)) S OUT=1
  1. Q:OUT
  1. S FILET=Y
  1. Q
  1. READ(PATH,FILE,OUT) ;
  1. ;----- READS CONTENTS OF FILE
  1. ;
  1. ; RETURNS CONTENTS OF FILE IN ^TMP("AZAX",$J,"FILE",IEN,0)
  1. ;
  1. ; PATH = DIRECTORY CONTAINING FILE
  1. ; EXAMPLES: /usr/spool/uucppublic/
  1. ; c:\inetpub\ftproot\pub\
  1. ; FILE = ROUTINE FILE CONTAINING DATA TO BE READ
  1. ; EXAMPLE: AZAXVL.ROU
  1. ; HFS = HOST FILE SERVER
  1. ; EOF = END OF FILE
  1. ; OUT = QUIT CONTROLLER
  1. ;
  1. N EOF,I,J,X
  1. ;
  1. D ^XBKVAR
  1. K ^TMP("AZAX",$J,"FILE")
  1. S EOF=0
  1. ;
  1. D OPEN^%ZISH("FILE",PATH,FILE,"R")
  1. I POP D
  1. . W !,"UNABLE TO OPEN FILE '"_PATH_FILE_"'"
  1. . S OUT=1
  1. Q:OUT
  1. ;
  1. U IO
  1. F I=1:1 D Q:EOF
  1. . R X:DTIME
  1. . I $$STATUS^%ZISH S EOF=1 Q
  1. . F J="":1:31 S X=$TR(X,$C(J)) ; REMOVE ALL CONTROL CHARACTERS
  1. . S ^TMP("AZAX",$J,"FILE",I,0)=X
  1. . S ^TMP("AZAX",$J,"FILE",0)=$G(^TMP("AZAX",$J,"FILE",0))+1
  1. ;
  1. D CLOSE^%ZISH("FILE")
  1. Q
  1. CONV(FILE,PATH,OUT) ;
  1. ;----- CONVERT DATA FROM CACHE TO MSM FORMAT
  1. ;
  1. N I,X,Y
  1. ;
  1. I '$D(^TMP("AZAX",$J,"FILE")) S OUT=1
  1. Q:OUT
  1. ;
  1. F I=1:1:3 S X(I)=$G(^TMP("AZAX",$J,"FILE",I,0))
  1. ;
  1. I X(1)'["Format=Cache"&($E(X(2),1,3)'="%RO") D
  1. . W !,"'"_FILE_"' does not appear to be a Cache routine file"
  1. . S OUT=1
  1. Q:OUT
  1. ;
  1. S Y=X(2)
  1. S Y(1)=$P(Y," ",2)_" "_$P(Y," ",3)_"-"_$P(Y," ",4)_"-"_$E($P(Y," ",5),3,4)
  1. S Y=X(1)
  1. S Y(2)=$P(X(1),U,3)
  1. S Y=X(3)
  1. S Y(3)=$P(X(3),U)
  1. ;
  1. F I=1:1:3 S ^TMP("AZAX",$J,"FILE",I,0)=Y(I)
  1. Q
  1. PUT(PATH,FILE,OUT) ;
  1. ;----- PUT DATA INTO NEW FILE
  1. ;
  1. N POP,X,Y
  1. ;
  1. Q:'$D(^TMP("AZAX",$J,"FILE"))
  1. D OPEN^%ZISH("FILE",PATH,FILE,"W")
  1. I POP D Q
  1. . W !,"UNABLE TO OPEN FILE '"_PATH_FILE_"'"
  1. . S OUT=1
  1. U IO
  1. S X=0
  1. F S X=$O(^TMP("AZAX",$J,"FILE",X)) Q:'X D
  1. . W $G(^TMP("AZAX",$J,"FILE",X,0))
  1. . I $O(^TMP("AZAX",$J,"FILE",X)) W !
  1. ;
  1. D CLOSE^%ZISH("FILE")
  1. Q
  1. TXT ;----- PRINT OPTION DESCRIPTION
  1. ;
  1. N I,X
  1. F I=1:1 S X=$P($T(DESC+I),";",3) Q:X["$$END" W !,X
  1. Q
  1. KILL ;----- HOUSEKEEPING
  1. ;
  1. K ^TMP("AZAX",$J,"FILE")
  1. Q