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

INHSYS02.m

Go to the documentation of this file.
  1. INHSYS02 ;SLT,JPD; 25 Sep 95 08:32;GIS configuration compilation utility
  1. ;;3.01;BHL IHS Interfaces with GIS;;JUL 01, 2001
  1. ;COPYRIGHT 1991-2000 SAIC
  1. Q
  1. TTYPE(INY,%XIEN,INREPRT,%LEVEL) ;Check pointer pieces of 4000 file
  1. ;Input:
  1. ; INY-Data from node
  1. ; %XIEN-ien from 4000 file
  1. ; %LEVEL - Pointer level
  1. N %IP6,%IP9,%IP2,%IP3,%IP17,%LEN,I,J
  1. ; -- set Parent, Acknowlege, Destination and Script pieces (all ptr's)
  1. S %IP6=+$P(INY,U,6),%IP9=+$P(INY,U,9),%IP2=+$P(INY,U,2),%IP3=+$P(INY,U,3),%IP17=+$P(INY,U,17)
  1. ; - If parent TT pointer to file 4000 exists
  1. I %IP6 D XTRK0^INHSYS01(%IP6,4000,"^INRHT(",INREPRT,%LEVEL) Q:INPOP
  1. ; - If Acknowledge TT pointer to file 4000 exists
  1. I %IP9 D XTRK0^INHSYS01(%IP9,4000,"^INRHT(",INREPRT,%LEVEL) Q:INPOP
  1. ; - If Destination pointer to file 4005 exists
  1. I %IP2 D XTRK0^INHSYS01(%IP2,4005,"^INRHD(",INREPRT,%LEVEL) Q:INPOP
  1. ; - If Background Process Control 4004 exists
  1. I %IP17 D XTRK0^INHSYS01(%IP17,4004,"^INTHPC(",INREPRT,%LEVEL) Q:INPOP
  1. ; - If Script file pointer to file 4006 exists
  1. I %IP3 D Q:INPOP
  1. .;If TT is a parent, and points to script files and not replicate
  1. .I '%IP6,'$D(^INRHR("AC",%XIEN)) W !!,"Note...Parent 4000 - ^INRHT("_%XIEN_" points to script file ^INRHS("_%IP3,!
  1. .;interface script file 4006
  1. .D XTRK0^INHSYS01(%IP3,4006,"^INRHS(",INREPRT,%LEVEL) Q:INPOP
  1. .;Script generator Messages
  1. .S INSGM=$$SGM(%XIEN,%IP3),%LEN=$L(INSGM,U)
  1. .F I=1:1:%LEN D Q:INPOP
  1. ..S INIEN=$P(INSGM,U,I) Q:'INIEN
  1. ..;script generator message exists
  1. ..D XTRK0^INHSYS01(INIEN,4011,"^INTHL7M(",INREPRT,%LEVEL)
  1. Q:INPOP F J="B","AC" S I="" F S I=$O(^INRHR("B",%XIEN,I)) Q:I="" D XTRK0^INHSYS01(I,4020,"^INRHR(",INREPRT,%LEVEL) Q:INPOP
  1. ;Get Destination files that point to 4000 file
  1. Q:INPOP S I="" F S I=$O(^INRHD(I)) Q:I="" D Q:INPOP
  1. .N INODE
  1. .S INODE=$G(^INRHD(I,0)) Q:INODE=""
  1. .I $P(INODE,U,2)=%XIEN D XTRK0^INHSYS01(I,4005,"^INRHD(",INREPRT,%LEVEL) Q:INPOP
  1. .I $P(INODE,U,10)=%XIEN D XTRK0^INHSYS01(I,4005,"^INRHD(",INREPRT,%LEVEL)
  1. ;Get TTypes if parent
  1. Q:INPOP S I="" F S I=$O(^INRHT("AC",%XIEN,I)) Q:I="" D XTRK0^INHSYS01(I,4000,"^INRHT(",INREPRT,%LEVEL) Q:INPOP
  1. Q
  1. SGM(%T,%SIEN) ;build list of Script Generator Message iens i.e. ien^ien^...
  1. ;input:
  1. ; %T - Transaction Type ien
  1. ; %SIEN - Script ien (only save one passed in)
  1. ;returns:
  1. ; INY - Script Generator Message ien list i.e. ien^ien^...^ien
  1. ;
  1. N %IEN,INY,%FOUND
  1. S INY="",(%FOUND,%IEN)=0
  1. F S %IEN=$O(^INTHL7M(%IEN)) Q:'%IEN I $D(^INTHL7M(%IEN,2,"B",%T)) D
  1. .;input script or output script pointer exist
  1. .I $P(^INTHL7M(%IEN,"S"),U)'=%SIEN,$P(^("S"),U,2)'=%SIEN W !,"Note... Generated Script for Transaction Type ^INRHT("_%T_" doesn't agree with Script Generator Message ^INTHL7M("_%IEN
  1. .S INY=INY_$S(INY]"":U,1:"")_%IEN
  1. .S %FOUND=%FOUND+1
  1. I %FOUND>1 D
  1. .W !,"Note... Multiple Script Generator Message files point to Transaction Type record ^INRHT("_%T,!
  1. .F %IEN=1:1:%FOUND W ?15,$P(INY,U,%IEN),?25,$P(^INTHL7M(%IEN,0),U),!
  1. Q INY