Index: WS/TBX/SFS/OrderServiceInternal.cls.xml
===================================================================
diff -u -r17 -r33
--- WS/TBX/SFS/OrderServiceInternal.cls.xml (.../OrderServiceInternal.cls.xml) (revision 17)
+++ WS/TBX/SFS/OrderServiceInternal.cls.xml (.../OrderServiceInternal.cls.xml) (revision 33)
@@ -24,61 +24,60 @@
1
SecureKey:%String,EDInr:%Integer,sfsref:%String,sfsDeliveryDate:%String
-ConfirmOrderResult
+WS.TBX.SFS.ConfirmOrderResult
1
zoniet fout genereren.
- ;If wsOrd.KLNummer '= "55946" Do Do ..ReturnFault(##class(WS.WSServerFault).%New("Test customer not valid", ..#SERVICENAME, "CO"))
- ;. Do oLogger.ErrorMail("CHK_CUST_wsORD","Customer "_wsOrd.KLNummer_" not valid")
+ Do OrderServiceHelper.ControleerSecureKey(SecureKey)
+ Set wsOrder=OrderServiceHelper.OpenWSOrder(EDInr)
+ ; // Controle op Test klant SFS (KLNr=55946) --> zoniet fout genereren.
+ ; If wsOrder.KLNummer '= "55946" {
+ ; Do Logger.ErrorMail("CHK_CUST_wsORD","Customer "_wsOrder.KLNummer_" not valid")
+ ; Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.GeneralErrorException).%New("Test customer not valid"))
+ ; }
+
set sfsref = $get(sfsref)
- If $piece(wsOrd.Opmerking1,$$$CRLF) '= sfsref Do
- . Set wsOrd.Opmerking1 = $get(sfsref)_ $$$CRLF _wsOrd.Opmerking1
-
- Set wsOrd.LeverTijd = $g(sfsDeliveryDate)
+ If $piece(wsOrder.Opmerking1,$$$CRLF) '= sfsref {
+ Set wsOrder.Opmerking1 = $get(sfsref)_ $$$CRLF _wsOrder.Opmerking1
+ }
- Do oLogger.Info("SFS_ORDER","EDINr: "_EDInr_" sfsref : "_sfsref _ " Levertijd : "_$g(sfsDeliveryDate))
+ Set wsOrder.LeverTijd = $get(sfsDeliveryDate)
+
+ Do Logger.Info("SFS_ORDER","EDINr: "_EDInr_" sfsref : "_sfsref _ " Levertijd : "_$Get(sfsDeliveryDate))
- Set scSaved = wsOrd.%Save()
- If 'scSaved Do Do ..ReturnFault(##class(WS.WSServerFault).%New("Order not saved", ..#SERVICENAME, "CO"))
- . Do oLogger.Error("SAVE_wsORD","EDInr: "_EDInr_" not saved : "_$$ParseStatus^vhLib.System(scSaved))
+ ;Do OrderServiceHelper.SaveWSOrder(wsOrder) ; Deze Save() is overbodig als de SubmitWSOrder() in ditzelfde caché-process wordt afgehandeld.
+ Do OrderServiceHelper.SubmitWSOrder(wsOrder)
- Set scOrdered = ##class(APPS.TBXWeb.OrderHandling).Order(wsID,"VHEPN","SFS")
- If 'scOrdered Do Do ..ReturnFault(##class(WS.WSServerFault).%New(SFSMessage, ..#SERVICENAME, "CO"))
- . Set SFSMessage = ..GetSFSMessage(scOrdered)
- . Do oLogger.Error("wsORD_ORDER","Order not confirmed : "_$$ParseStatus^vhLib.System(scOrdered))
+ Do Logger.Info("wsORD_ORDER","Order "_EDInr_" ordered")
- Do oLogger.Info("wsORD_ORDER","Order "_EDInr_" ordered")
+ // Return EDI number
+ Set OrderResult=##class(WS.TBX.SFS.ConfirmOrderResult).%New(EDInr,3) ; .%New(EDInr,$$ProductieDagen^FLOWHALUX())
+ Quit OrderResult
- // Return EDI number for testing purposes
- Quit ##class(ConfirmOrderResult).%New(EDInr,3)
- //Quit ##class(ConfirmOrderResult).%New(EDInr,$$ProductieDagen^FLOWHALUX())
+
+ConfirmOrderError
+ Set $ZTrap=""
+ Set Exception=##class(TECH.ExceptionHandler).Catch()
+ Set ErrorMessage=""
+ If (Exception.%Extends("WS.TBX.OrderService.VerwerkingException")) {
+ // Deze specifieke exceptions zijn reeds gelogd. Hier enkel de SoapFault opzetten
+ Set ErrorMessage=Exception.GeefOmschrijving()
+ }
+ Else
+ {
+ // Alle andere exceptions en caché-errors worden hier gelogd+gemaild naar ICT
+ Set ErrorMessage="Error in confirmation of order "_EDInr_". Van Hoecke ICT has been notified."
+ Do Logger.ErrorMail("HAEFELE_ORDER",ErrorMessage_$$$CRLF_Exception.GeefOmschrijving()_" "_Exception.ToString())
+ }
+ Do ..ReturnFault(##class(WS.WSServerFault).%New(ErrorMessage, ..#SERVICENAME, "CO"))
]]>
-
-
-1
-Status:%Status
-%String
-
-