| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- USING src.ch.adprime.api.yourbarmate.beans.Product FROM PROPATH.
- USING src.ch.adprime.api.yourbarmate.beans.PatchProduct FROM PROPATH.
- USING src.ch.adprime.api.yourbarmate.beans.Vessel FROM PROPATH.
- USING src.ch.adprime.api.yourbarmate.beans.Bundle FROM PROPATH.
- USING src.ch.adprime.api.yourbarmate.beans.PalletBundle FROM PROPATH.
- USING src.ch.adprime.api.yourbarmate.incl.ProductsStatus FROM PROPATH.
- USING src.ch.adprime.api.yourbarmate.incl.ProductsVesselUnit FROM PROPATH.
- USING src.ch.adprime.api.yourbarmate.incl.ProductsBundlesType FROM PROPATH.
- USING src.ch.adprime.api.yourbarmate.YourBarMateHandler FROM PROPATH.
- USING src.ch.adprime.communication.HttpHandler FROM PROPATH.
- USING Progress.Json.ObjectModel.JsonArray FROM PROPATH.
- USING Progress.Json.ObjectModel.JsonObject FROM PROPATH.
- USING Progress.Json.ObjectModel.ObjectModelParser FROM PROPATH.
- USING OpenEdge.Core.Collections.IListIterator FROM PROPATH.
- USING OpenEdge.Core.Collections.ListIterator FROM PROPATH.
- USING OpenEdge.Core.String FROM PROPATH.
- USING OpenEdge.Net.HTTP.IHttpResponse FROM PROPATH.
- USING OpenEdge.Web.DataObject.Writer.JsonObjectValueWriter FROM PROPATH.
- DEFINE VARIABLE oJProduct AS JsonObject NO-UNDO.
- DEFINE VARIABLE oJVessel AS JsonObject NO-UNDO.
- DEFINE VARIABLE oJBundle AS JsonArray NO-UNDO.
- DEFINE VARIABLE oProduct AS Product NO-UNDO.
- DEFINE VARIABLE oResponse AS IHttpResponse NO-UNDO.
- DEFINE VARIABLE oYourBarMateHandler AS YourBarMateHandler NO-UNDO.
- DEFINE VARIABLE lRetVal AS LOGICAL NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE lcString AS LONGCHAR NO-UNDO.
- DEFINE VARIABLE oJsonObject AS JsonObject NO-UNDO.
- DEFINE VARIABLE oParser AS ObjectModelParser NO-UNDO.
- DEFINE VARIABLE oJsondsProduct AS JsonObject NO-UNDO.
- DEFINE VARIABLE oJsonProduct AS JsonObject NO-UNDO.
- DEFINE VARIABLE oJsonArray AS jsonArray NO-UNDO.
- DEFINE VARIABLE opErrorMessage AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cUrl AS CHARACTER NO-UNDO.
- DEFINE VARIABLE oBody AS JsonObject NO-UNDO.
- DEFINE VARIABLE hFeld AS HANDLE NO-UNDO.
- { propertiesYBM.i }
- { ybm_product.i }
- /*DEFINE DATASET dsProdukt */
- /* SERIALIZE-HIDDEN */
- /* FOR tProduct, tVessel, tBundle, tPalletBundle */
- /* */
- /* /* DATA-RELATION Relation1 FOR tProduct, tVessel*/ */
- /* /* RELATION-FIELDS (rtProduct, rtProduct) NESTED*/ */
- /* PARENT-ID-RELATION RELATION1 FOR tProduct, tVessel */
- /* PARENT-ID-FIELD rtProduct */
- /* /* PARENT-FIELDS-BEFORE (cId, eStatus, cCategory, cName, cOrder_by)*/*/
- /* PARENT-FIELDS-BEFORE (eStatus, cCategory, cName, cOrder_by) */
- /* */
- /* /* DATA-RELATION Relation2 FOR tProduct, tBundle*/ */
- /* /* RELATION-FIELDS (rtProduct, rtProduct) NESTED*/ */
- /* PARENT-ID-RELATION RELATION2 FOR tProduct, tBundle */
- /* PARENT-ID-FIELD rtProduct */
- /* PARENT-FIELDS-AFTER (iPrice, cPrice_per, iMinOrderCount) */
- /* */
- /* /* DATA-RELATION Relation3 FOR tBundle, tPalletBundle*/ */
- /* /* RELATION-FIELDS (rtBundle, rtBundle) NESTED */ */
- /* PARENT-ID-RELATION RELATION3 FOR tBundle, tPalletBundle */
- /* PARENT-ID-FIELD rtBundle */
- /* . */
-
- oYourBarMateHandler = NEW YourBarMateHandler().
- oYourBarMateHandler:cURL = cURI_ProductsDev.
- oYourBarMateHandler:cApiKey = cApiName.
- oYourBarMateHandler:cApiKeyValue = cApiKeyDev.
- oYourBarMateHandler:cServerNameIndicator = cServerNameIndicatorDev.
- oYourBarMateHandler:lDebug = TRUE.
- CREATE tProduct.
- ASSIGN
- tProduct.cId = '021857-0050-0000'
- tProduct.eStatus = 'ACTIVE'
- tProduct.cCategory = '020'
- tProduct.cName = 'Fusetea Lemon PET Einweg, PE 50cl'
- tProduct.cOrder_by = 'vessel'
- tProduct.iPrice = 128
- tProduct.cPrice_per = 'vessel'
- tProduct.iMinOrderCount = 24
- tProduct.rtProduct = RECID(tProduct)
- .
- CREATE tVessel.
- ASSIGN
- tVessel.Unit = 'cl'
- tVessel.iSize = 50
- tVessel.rtProduct = RECID(tProduct)
- tVessel.rtVessel = RECID(tVessel)
- .
- CREATE tBundle.
- ASSIGN
- tBundle.eType = 'carton'
- tBundle.iSize = 12
- tBundle.rtProduct = RECID(tProduct)
- tBundle.rtBundle = RECID(tBundle)
- .
- CREATE tBundle.
- ASSIGN
- tBundle.eType = 'pallet'
- tBundle.iSize = 108
- tBundle.rtProduct = RECID(tProduct)
- tBundle.rtBundle = RECID(tBundle)
- .
- CREATE tPalletBundle.
- ASSIGN
- tPalletBundle.eType = 'carton'
- tPalletBundle.iSize = 12
- tPalletBundle.rtBundle = RECID(tBundle)
- tPalletBundle.rtPalletBundle = RECID(tPalletBundle)
- .
- hFeld = htProduct:BUFFER-FIELD('cId').
- hFeld:SERIALIZE-HIDDEN = TRUE.
- FIND FIRST tProduct.
- oJProduct = NEW JsonObject().
- oJProduct:READ(htProduct).
- FIND FIRST tVessel.
- oJVessel = NEW JsonObject().
- oJVessel:READ(htVessel).
- DEFINE VARIABLE oJsonPallet AS JsonObject.
- oJBundle = NEW JsonArray().
- FOR EACH tBundle.
- oJsonObject = NEW jSonObject().
- oJsonObject:READ(htBundle).
- FOR EACH tPalletBundle NO-LOCK
- WHERE tPalletBundle.rtBundle = tBundle.rtBundle:
- oJsonPallet = NEW JsonObject().
- oJsonPallet:Read(htPalletBundle).
- oJsonObject:Add('pallet_bundle', oJsonPallet).
- END.
- oJBundle:Add(oJsonObject).
- END.
- oJProduct:Add('vessel', oJVessel).
- oJProduct:Add('bundles', oJBundle).
- /*oJProduct:Remove('id').*/
- oJProduct:WRITE(lcString, TRUE).
- cString = lcString.
- MESSAGE cString
- VIEW-AS ALERT-BOX.
- /*oParser = NEW ObjectModelParser(). */
- /*oTestJson = NEW JsonObject(). */
- /*oTestJson = CAST(oParser:Parse(lcString), JsonObject). */
-
- cURL = cURI_ProductsDev + "/" + '021857-0050-0000'.
-
- /* Send HTTP-Request */
- lRetVal = HttpHandler:patch(INPUT cURL, INPUT cApiName, INPUT cApiKeyDev, INPUT cServerNameIndicatorDev, INPUT oJProduct, OUTPUT opErrorMessage, OUTPUT oResponse).
- DEFINE VARIABLE oJsonResponse AS JsonObject.
- oParser = NEW ObjectModelParser().
- oJsonResponse = CAST(oParser:Parse(CAST(oResponse:Entity, JsonObject):GetJsonText()), JsonObject).
- oJsonResponse:WRITE(cString, TRUE).
- /*IF NOT lRetVal THEN*/
- /*DO: */
- opErrorMessage = 'RetVal = ' + STRING(lRetVal) + ' Status ' + STRING(oResponse:StatusCode) + ' ' + opErrorMessage + ' -> ' + '021857-0050-0000'.
- RUN writeLogFile.p ('YourBarMateHandler', SESSION:TEMP-DIRECTORY + "patchProduct.log", opErrorMessage ).
- RUN writeLogFile.p ('YourBarMateHandler', SESSION:TEMP-DIRECTORY + "patchProduct.log", cString ).
- /*END.*/
|