| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- /*------------------------------------------------------------------------
- File : getErrorMessageImpl
- Purpose :
- Syntax :
- Description :
- Author(s) : walter.riechsteiner
- Created : Wed May 29 21:02:53 CEST 2024
- Notes :
- ----------------------------------------------------------------------*/
- BLOCK-LEVEL ON ERROR UNDO, THROW.
- USING OpenEdge.Net.HTTP.IHttpResponse FROM PROPATH.
- USING OpenEdge.Net.HTTP.StatusCodeEnum FROM PROPATH.
- USING OpenEdge.Web.IWebRequest FROM PROPATH.
- USING OpenEdge.Web.WebHandler FROM PROPATH.
- USING OpenEdge.Web.WebResponseWriter FROM PROPATH.
- USING Progress.Json.ObjectModel.JsonObject FROM PROPATH.
- USING utilities.utilitiesHandler FROM PROPATH.
- USING src.ch.adprime.gemis.WebHandlerUtilities FROM PROPATH.
- CLASS getErrorMessageImpl INHERITS WebHandler:
-
- DEFINE VARIABLE outilitiesHandler AS utilitiesHandler.
-
- { ttInput.i }
- METHOD OVERRIDE PROTECTED INTEGER HandlePost(INPUT poRequest AS IWebRequest):
- DEFINE VARIABLE oResponse AS IHttpResponse NO-UNDO.
- DEFINE VARIABLE oWriter AS WebResponseWriter NO-UNDO.
- DEFINE VARIABLE oJsonData AS JsonObject NO-UNDO.
- DEFINE VARIABLE lcJsonString AS LONGCHAR NO-UNDO.
-
- DEFINE VARIABLE lRetVal AS LOGICAL NO-UNDO.
- DEFINE VARIABLE cAktion AS CHARACTER NO-UNDO.
- DEFINE VARIABLE oInput AS JsonObject NO-UNDO.
-
- DEFINE VARIABLE hbttMandant AS HANDLE NO-UNDO.
-
- DEFINE BUFFER bwebmenu FOR webmenu.
- lRetVal = WebHandlerUtilities:getJsonFromRequest(INPUT poRequest, OUTPUT oJsonData) NO-ERROR.
- MESSAGE 'getJsonFromRequest = ' lRetVal STRING(lcJsonString).
-
- oJsonData:WRITE(lcJsonString, FALSE).
- MESSAGE 'ganzer eingangsstring = ' STRING(lcJsonString).
- //
- // Input-Daten (Steuersatz) aus JsonObject lesen und in ttInput füllen
- //
- EMPTY TEMP-TABLE ttInput .
- hbttInput = TEMP-TABLE ttInput:DEFAULT-BUFFER-HANDLE.
- oInput = NEW JsonObject().
- oInput = oJsonData:GetJsonObject('ttInput').
- lRetVal = hbttInput:READ-JSON ('JsonObject', oInput).
-
- FIND FIRST ttInput.
- cAktion = ttInput.action.
-
- outilitiesHandler = NEW utilitiesHandler().
- DO WHILE lRetVal:
- outilitiesHandler:getErrorMessage(INPUT ttInput.errorno, INTEGER(ttInput.sprcd), INPUT ttInput.params, OUTPUT lcJsonString).
-
- LEAVE.
- END.
-
- oResponse = NEW OpenEdge.Web.WebResponse().
- oResponse:StatusCode = INTEGER(StatusCodeEnum:OK).
- oResponse:ContentType = "application/json;charset=utf-8".
- oWriter = NEW WebResponseWriter(oResponse).
- oWriter:Open().
- MESSAGE 'lcString Rückgabe: ' + STRING(lcJsonString).
- oWriter:Write(lcJsonString).
- oWriter:Close().
- MESSAGE "Exiting HandlePost".
- CATCH e AS Progress.Lang.Error:
- MESSAGE "Exception occurred: " + e:GetMessage(1) VIEW-AS ALERT-BOX ERROR BUTTONS OK.
- RETURN -1.
- END CATCH.
-
- END METHOD.
- METHOD OVERRIDE PROTECTED INTEGER HandleNotAllowedMethod(INPUT poRequest AS IWebRequest):
- DEFINE VARIABLE result AS INTEGER NO-UNDO.
- MESSAGE "HandleNotAllowedMethod called" VIEW-AS ALERT-BOX.
- RETURN result.
- END METHOD.
- METHOD OVERRIDE PROTECTED INTEGER HandleNotImplemented(INPUT poRequest AS IWebRequest):
- DEFINE VARIABLE result AS INTEGER NO-UNDO.
- MESSAGE "HandleNotImplemented called" VIEW-AS ALERT-BOX.
- RETURN result.
- END METHOD.
- END CLASS.
|