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

XWBTCPM2.m

Go to the documentation of this file.
  1. XWBTCPM2 ;ISF/RWF - BROKER Other Service ;06/28/2012
  1. ;;1.1;RPC BROKER;**43,45,53,59**;Mar 28, 1997;Build 9
  1. ;Per VHA Directive 2004-038, this routine should not be modified
  1. ;
  1. Q
  1. ;
  1. OTH ;Check if some other special service.
  1. ; ZEXCEPT: XWB - set prior to call from CONNTYPE^XWBTCPM
  1. S $ETRAP="D ERR^XWBTCPM2"
  1. I XWB="~EAC~" G EAC
  1. I XWB="~BSE~" G BSE
  1. I XWB="~SVR~" G SVR
  1. D LOG("In 0TH^XWBTCPM2 - Prefix not known: "_XWB)
  1. Q
  1. ;
  1. SVR ;Handle
  1. Q
  1. EAC ;Enterprise Access
  1. Q
  1. ;
  1. BSE ;Broker Security Enhancement
  1. D LOG("BSE msg")
  1. N L,HDL,RET,XWBSBUF
  1. S XWBSBUF="",RET="",HDL=""
  1. S L=$$BREAD^XWBRW(3) I L S HDL=$$BREAD^XWBRW(L)
  1. I $E(HDL,1,3)="PUT" D
  1. . ;D RPUT^XUSBSE1(.RET,HDL) ;p59(REM)-RPUT^XUSBSE1 does not exsist.
  1. . Q
  1. ;Check IT
  1. I $E(HDL,1,3)'="PUT" D GETVISIT^XUSBSE1(.RET,HDL)
  1. D WRITE(RET),WBF
  1. Q
  1. ;
  1. ERR ;Error Trap
  1. D ^%ZTER
  1. G H2^XUSCLEAN
  1. ;
  1. LOG(%) ;Link to logger
  1. Q:'$G(XWBDEBUG)
  1. D LOG^XWBTCPM(%)
  1. Q
  1. ;
  1. WRITE(M,F) ;Write
  1. N L S L="" I '$G(F) S L=$E(1000+$L(M),2,4)
  1. D WRITE^XWBRW(L_M)
  1. Q
  1. WBF ;Buffer Flush
  1. D WBF^XWBRW
  1. Q
  1. ;
  1. OPEN(P1,P2) ;Open the device and set the variables
  1. D CALL^%ZISTCP(P1,P2) Q:POP
  1. S XWBTDEV=IO
  1. Q
  1. ;
  1. CALLBSE(SERVER,PORT,TOKEN,STN) ;Special Broker service
  1. N XWBDEBUG,XWBOS,XWBRBUF,XWBSBUF,XWBT,XWBTIME,IO
  1. N DEMOSTR,XWBTDEV,RET,X,POP
  1. S IO(0)=$P
  1. D INIT^XWBTCPM,LOG("CALLBSE")
  1. D OPEN(SERVER,PORT)
  1. ; if initial failure try to get web address
  1. I POP,$G(STN)'="" S SERVER=$$WEBADDRS^XUSBSE1(STN) I SERVER'="" D OPEN(SERVER,PORT)
  1. I POP Q "Didn't open connection."
  1. S XWBSBUF="",XWBRBUF=""
  1. U XWBTDEV
  1. D WRITE("~BSE~",1),WRITE(TOKEN),WBF^XWBRW
  1. S X=$$BREAD^XWBRW(3),RET="No Response" I X S RET=$$BREAD^XWBRW(X)
  1. D CLOSE^%ZISTCP,LOG("FINISH")
  1. Q RET