| 1 | ONCXERR ;HCIOFO/SG - HTTP AND WEB SERVICES (ERRORS) ; 6/21/04 2:35pm
|
---|
| 2 | ;;2.11;ONCOLOGY;**40**;Mar 07, 1995
|
---|
| 3 | ;
|
---|
| 4 | Q
|
---|
| 5 | ;
|
---|
| 6 | ;***** GENERATES THE ERROR MESSAGE
|
---|
| 7 | ;
|
---|
| 8 | ; ERRCODE Error code
|
---|
| 9 | ;
|
---|
| 10 | ; [[.]INFO] reserved
|
---|
| 11 | ;
|
---|
| 12 | ; [ARG1-ARG5] Optional parameters as for $$MSG^ONCXERR
|
---|
| 13 | ;
|
---|
| 14 | ; Return Values:
|
---|
| 15 | ; <0 Error code^Message Text^Label+Offset^Routine
|
---|
| 16 | ; 0 Ok (if ERRCOCE'<0)
|
---|
| 17 | ;
|
---|
| 18 | ERROR(ERRCODE,INFO,ARG1,ARG2,ARG3,ARG4,ARG5) ;
|
---|
| 19 | Q:ERRCODE'<0 0
|
---|
| 20 | N PLACE,SL
|
---|
| 21 | S SL=$STACK(-1)-1
|
---|
| 22 | F Q:SL'>0 D Q:'(PLACE["^ONCXERR") S SL=SL-1
|
---|
| 23 | . S PLACE=$P($STACK(SL,"PLACE")," ")
|
---|
| 24 | S:PLACE'[U PLACE=U
|
---|
| 25 | Q ERRCODE_U_$$MSG(ERRCODE,,.ARG1,.ARG2,.ARG3,.ARG4,.ARG5)_U_PLACE
|
---|
| 26 | ;
|
---|
| 27 | ;***** RETURNS THE TEXT OF THE MESSAGE
|
---|
| 28 | ;
|
---|
| 29 | ; ERRCODE Error code
|
---|
| 30 | ;
|
---|
| 31 | ; [.TYPE] Type of the error
|
---|
| 32 | ;
|
---|
| 33 | ; [ARG1-ARG5] Optional parameters that substitute the |n| "windows"
|
---|
| 34 | ; in the text of the message (for example, the |2| will
|
---|
| 35 | ; be substituted by the value of the ARG2).
|
---|
| 36 | ;
|
---|
| 37 | ; NOTE: The "^" is replaced with the "~" in the resulting message.
|
---|
| 38 | ;
|
---|
| 39 | MSG(ERRCODE,TYPE,ARG1,ARG2,ARG3,ARG4,ARG5) ;
|
---|
| 40 | S TYPE=6 Q:ERRCODE'<0 ""
|
---|
| 41 | N ARG,I1,I2,MSG
|
---|
| 42 | ;--- Get a descriptor of the message
|
---|
| 43 | S I1=-ERRCODE,MSG=$P($T(MSGLIST+I1),";;",2)
|
---|
| 44 | S I1=+$TR($P(MSG,U,2)," "),MSG=$P(MSG,U,3,999)
|
---|
| 45 | S:I1>0 TYPE=I1
|
---|
| 46 | Q:MSG?." " "Unknown error ("_ERRCODE_")"
|
---|
| 47 | ;--- Substitute parameters
|
---|
| 48 | S I1=2
|
---|
| 49 | F S I1=$F(MSG,"|",I1-1) Q:'I1 D
|
---|
| 50 | . S I2=$F(MSG,"|",I1) Q:'I2
|
---|
| 51 | . X "S ARG=$G(ARG"_+$TR($E(MSG,I1,I2-2)," ")_")"
|
---|
| 52 | . S $E(MSG,I1-1,I2-1)=ARG
|
---|
| 53 | Q $TR($$TRIM^XLFSTR(MSG),U,"~")
|
---|
| 54 | ;
|
---|
| 55 | ;***** RETURNS TYPE OF THE MESSAGE
|
---|
| 56 | ;
|
---|
| 57 | ; ERRCODE Error code
|
---|
| 58 | ;
|
---|
| 59 | TYPE(ERRCODE) ;
|
---|
| 60 | Q:ERRCODE'<0 0
|
---|
| 61 | N I,TYPE S I=-ERRCODE
|
---|
| 62 | S I=$P($T(MSGLIST+I),";;",2),TYPE=+$TR($P(I,U,2)," ")
|
---|
| 63 | Q $S(TYPE>0:TYPE,1:6)
|
---|
| 64 | ;
|
---|
| 65 | ;***** LIST OF THE MESSAGES (THERE SHOULD BE NOTHING AFTER THE LIST!)
|
---|
| 66 | ;
|
---|
| 67 | ; The error codes are provided in the table only for clarity.
|
---|
| 68 | ; Text of the messages are extracted using the $TEXT function and
|
---|
| 69 | ; absolute values of the ERRCODE parameter.
|
---|
| 70 | ;
|
---|
| 71 | ; Message Type:
|
---|
| 72 | ; 1 Debug 4 Warning
|
---|
| 73 | ; 2 Information 5 Database Error
|
---|
| 74 | ; 3 Data Quality 6 Error
|
---|
| 75 | ;
|
---|
| 76 | MSGLIST ; Code Type Message Text
|
---|
| 77 | ;; -1 ^ 6 ^ Missing host name: '|1|'
|
---|
| 78 | ;; -2 ^ 6 ^ Cannot resolve the host name: '|1|'
|
---|
| 79 | ;; -3 ^ 6 ^ Cannot connect to host(s): '|1|'
|
---|
| 80 | ;; -4 ^ 6 ^ Missing redirection URL
|
---|
| 81 | ;; -5 ^ 6 ^ Too many redirections
|
---|
| 82 | ;; -6 ^ 6 ^ Error during transaction (see Error Trap log)
|
---|
| 83 | ;; -7 ^ 6 ^ Timeout
|
---|