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

INTSTRT1.m

Go to the documentation of this file.
  1. INTSTRT1 ;JD; 26 Mar 97 13:44;
  1. ;;3.01;BHL IHS Interfaces with GIS;;JUL 01, 2001
  1. ;COPYRIGHT 1991-2000 SAIC
  1. ;
  1. Q
  1. QUERY(INDA,DIPA,INEXPAND) ;Do Query response messages
  1. ;Input:
  1. ; INDA - ien of 4001.1
  1. ; DIPA - Store needed variables
  1. ; INEXPAND - 0 Don't expand output, 1 expand output
  1. N INBPNSR,INBPNAP,INIPADDR,INIPPO
  1. ;get messages from saved message list
  1. D UPDTSND^INTSUT3(INDA)
  1. ;Outbound message and nothing was selected to send
  1. I '$D(^UTILITY("INTHU",DUZ,$J)) D DISPLAY^INTSUT1("Note - messages have not been selected transmit")
  1. D ENAUTO^INTS(INDA,.DIPA,INEXPAND)
  1. Q
  1. UNSOLI(INDIR,DIPA,INEXPAND,INDA,DIE) ;Process unsolicted message
  1. ;Input:
  1. ; INDIR - I Inbound, O Outbound
  1. ; DIPA - Store needed variables
  1. ; INEXPAND - 0 Don't expand output, 1 expand output
  1. ; INDA - ien of 4001.1
  1. ; DIE - 4001.1
  1. N INRTN
  1. I INDIR="I" S INRTN="EN^INTSREC(INEXPAND,INDA,DIE)"
  1. I INDIR="O" S INRTN="EN^INTSEND(INEXPAND,INDA,DIE)"
  1. D ZIS^INHUT8(INRTN,"INEXPAND^INDA^DIE^",1,"","",INDEV)
  1. D LISTMSG(INDA)
  1. ;If came up as server halt to reset TCP/IP socket
  1. I $$VAL^DWRA(4001.1,13.03,2,"^DIZ(4001.1,",INDA) D HALT
  1. Q
  1. UNIT(INDA,INDIR,INEXPAND) ;Unit test functions
  1. ;Input:
  1. ; INDA - ien of Criteria
  1. ; INDIR - I Inbound, O Outbound
  1. ; INEXPAND - 0 Don't expand output, 1 expand output
  1. N INSPROC,INTSK,INHF,INPRE,INPOST
  1. S INSPROC=$$VAL^DWRA(4001.1,13.07,2,DIE,INDA)
  1. S INIP("PRE")=$$VAL^DWRA(4001.1,21.01,2,DIE,INDA)
  1. S INIP("POST")=$$VAL^DWRA(4001.1,22.01,2,DIE,INDA)
  1. S INIP("DIR")=INDIR,INIP("SPROC")=INSPROC
  1. ;Start of process=Format does not have UIF messages, others do
  1. ;;I INSPROC'="F",'$D(INREQLST) D DISPLAY^INTSUT1("No messages selected") Q
  1. ;;Move into INTSTO--I INSPROC'="F",'$D(^UTILITY("INTHU",DUZ,$J)) D DISPLAY^INTSUT1("Note - no messages selected") Q
  1. ;;move into INTSTF---I INPRE'="" X INPRE S:$G(INHF) INTSK=INHF
  1. ;If start of process=Format, PREprocess code must return INHF>0
  1. ;;I INSPROC="F",$G(INHF)<1 D DISPLAY^INTSUT1("No formatter entry exists") Q
  1. ;Identify the routine for the entry process
  1. S INROU=$S(INSPROC="F":"EN^INTSTF(.INIP,INEXPAND,INDA)",INSPROC="O":"EN^INTSTO(.INIP,INEXPAND,INDA)",INSPROC="R":"EN^INTSTO(.INIP,INEXPAND,INDA)",1:"Q")
  1. I INROU="Q" D DISPLAY^INTSUT1("No support for this function") Q
  1. D ZIS^INHUT8(INROU,"INTSK^INREQLST(^INIP(",1,"","",INDEV)
  1. D LISTMSG(INDA)
  1. Q
  1. LISTMSG(INDA) ;List Messages using listman
  1. ;Input:
  1. ; INDA - ien of 4001.1
  1. ; ^UTILITY("DIS",$J) - Global with messages in it
  1. ;
  1. N DWL,DWLRF,DWLB
  1. S DWLB="0^4^16^78"
  1. S DWL("TITLE")="D LSTHDR^INTSTRT("_INDA_")"
  1. S DWLRF="^UTILITY(""DIS"",$J)",DWL="XWFE'",DWLB="0^4^16^78"
  1. F D ^DWL Q:DWLR'="E" D DISPEXP^INTSUT1(.DWLRF),LSTHDR^INTSTRT(INDA)
  1. ;D:$D(DWLMK)>1 DISPEXP^INTSUT1(.DWLMK),CLR^DIJF,SCR^INTSUT1(5,17,1),LSTHDR^INTSTRT(INDA)
  1. K ^UTILITY("DIS",$J)
  1. Q
  1. CRDUZ ;Stuff current user DUZ into file
  1. N INOIEN
  1. S INOIEN=$O(^UTILITY("INHSYS",$J,4001.1,""))
  1. I INOIEN D
  1. .;set user field to current user
  1. .S $P(^UTILITY("INHSYS",$J,4001.1,INOIEN,0),U,2)=$P(^DIC(3,DUZ,0),U)
  1. Q
  1. CONTINUE(INODE0) ;Continue with restore or stop
  1. ;Input:
  1. ; INODE0 - 0 node of flat file or 4001.1 file
  1. Q:'$$EXISTS^INTSUT3(INODE0,.INAME) 1
  1. Q $$YN^UTWRD("Overwrite "_INAME_" with new version? ;0")
  1. ;
  1. HALT ;Halt if process was a server
  1. ;D CLR^DIJF
  1. ;W !,"Process was a Server. Halting to close socket"
  1. ;D HALT^ZU
  1. Q
  1. UNLOCK(INDA,INOPT) ;unlock all but one lock of INDA
  1. ;Input:
  1. ; INDA - ien of lock to keep locked
  1. ; INOPT - array with lock count
  1. ;
  1. N INA,%
  1. S INA="" F S INA=$O(INOPT("LOCK",INA)) Q:'INA D
  1. .;unlock all non INDA locks
  1. .I INA'=INDA D
  1. ..F I=+INOPT("LOCK",INA):-1:1 S %=$$LOCK^INHUTC(INA,0)
  1. ..K INOPT("LOCK",INA)
  1. .;if same as INDA unlock all but one lock
  1. .I INA=INDA D
  1. ..F I=+INOPT("LOCK",INA):-1:2 S %=$$LOCK^INHUTC(INA,0)
  1. ..S INOPT("LOCK",INA)=1
  1. Q