TestPutCategories.p 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. /*------------------------------------------------------------------------
  2. File : ybmProducts.p
  3. Purpose :
  4. Syntax :
  5. Description :
  6. Author(s) : walter.riechsteiner
  7. Created : Tue Apr 06 15:28:25 CEST 2021
  8. Notes :
  9. ----------------------------------------------------------------------*/
  10. USING OpenEdge.Core.Collections.IListIterator FROM PROPATH.
  11. USING OpenEdge.Core.Collections.List FROM PROPATH.
  12. USING src.ch.adprime.api.yourbarmate.YourBarMateHandler FROM PROPATH.
  13. USING src.ch.adprime.api.yourbarmate.beans.Category FROM PROPATH.
  14. /*USING OpenEdge.Net.HTTP.IHttpResponse FROM PROPATH. */
  15. /* *************************** Definitions ************************** */
  16. DEFINE VARIABLE cFirma AS CHARACTER NO-UNDO INIT '1000'.
  17. DEFINE VARIABLE cTestLive AS CHARACTER NO-UNDO.
  18. DEFINE VARIABLE cParameter AS CHARACTER NO-UNDO.
  19. DEFINE VARIABLE cLogFile AS CHARACTER NO-UNDO.
  20. DEFINE VARIABLE cProgramm AS CHARACTER NO-UNDO.
  21. DEFINE VARIABLE cAnmeldung AS CHARACTER NO-UNDO.
  22. DEFINE VARIABLE cInstallation AS CHARACTER NO-UNDO.
  23. DEFINE VARIABLE oYourBarMateHandler AS YourBarMateHandler NO-UNDO.
  24. DEFINE VARIABLE oCategory AS Category NO-UNDO.
  25. DEFINE VARIABLE oCategories AS List NO-UNDO.
  26. DEFINE VARIABLE opErrorMessage AS CHARACTER NO-UNDO.
  27. DEFINE VARIABLE oBundleListIterator AS IListIterator NO-UNDO.
  28. DEFINE VARIABLE lRetVal AS LOGICAL NO-UNDO.
  29. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  30. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  31. DEFINE VARIABLE cId AS CHARACTER NO-UNDO.
  32. { propertiesYBM.i }
  33. DEFINE TEMP-TABLE tWarenGrp LIKE WarenGrp.
  34. { super/funktionen.i }
  35. /* ******************** Preprocessor Definitions ******************** */
  36. /* ************************ Function Prototypes ********************** */
  37. FUNCTION loeschenWarengruppe RETURNS CHARACTER
  38. (ipiWgr AS INTEGER) FORWARD.
  39. /* *************************** Main Block *************************** */
  40. /* ************************ Function Implementations ***************** */
  41. FUNCTION loeschenWarengruppe RETURNS CHARACTER
  42. ( ipiWgr AS INTEGER ):
  43. /*------------------------------------------------------------------------------
  44. Purpose:
  45. Notes:
  46. ------------------------------------------------------------------------------*/
  47. DEFINE VARIABLE cMessage AS CHARACTER NO-UNDO.
  48. DEFINE VARIABLE lRetVal AS LOGICAL NO-UNDO.
  49. lRetVal = oYourBarMateHandler:deleteCategory(INPUT ipiWgr, OUTPUT cMessage) NO-ERROR.
  50. MESSAGE lRetVal SKIP cMessage
  51. VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
  52. END FUNCTION.
  53. cAnmeldung = SUBSTITUTE ('&1&4&2&4&3', 'SYSTEM', 'SYSTEM', '1000', CHR(01) ). /* Benutzer, Passwort, Firma */
  54. RUN ANMELDUNG ( cAnmeldung ) NO-ERROR.
  55. cParameter = SESSION:PARAMETER.
  56. cParameter = REPLACE(cParameter, ',', ';').
  57. IF cParameter = '' OR
  58. cParameter = ? THEN cParameter = '1000;TEST'.
  59. DO ii = 1 TO NUM-ENTRIES(cParameter, ';'):
  60. CASE ii.
  61. WHEN 1 THEN
  62. cFirma = ENTRY(ii, cParameter, ';').
  63. WHEN 2 THEN
  64. cTestLive = ENTRY(ii, cParameter, ';').
  65. END CASE.
  66. END.
  67. cInstallation = DYNAMIC-FUNCTION ('getInstallation':U).
  68. cProgramm = ENTRY(1, THIS-PROCEDURE:NAME, '.').
  69. IF R-INDEX(cProgramm, '\') > 0 OR
  70. R-INDEX(cProgramm, '/') > 0 THEN
  71. DO:
  72. cProgramm = REPLACE(cProgramm, '\', '/').
  73. ii = R-INDEX(cProgramm, '/') + 1.
  74. cProgramm = TRIM(SUBSTRING(cProgramm,ii)).
  75. END.
  76. cLogFile = DYNAMIC-FUNCTION ('getLogFilePfad':U) + cProgramm + '_' + cTestLive + '.log'.
  77. RUN writeLogFile.p ( cProgramm, cLogFile, SUBSTITUTE('Start KategorienUpdate &1', cTestLive) ).
  78. CASE cTestLive:
  79. WHEN 'LIVE' THEN
  80. DO:
  81. oYourBarMateHandler = NEW YourBarMateHandler().
  82. oYourBarMateHandler:cURL = cURI_Categories.
  83. oYourBarMateHandler:cApiKey = cApiName.
  84. oYourBarMateHandler:cApiKeyValue = cApiKey.
  85. oYourBarMateHandler:cServerNameIndicator = cServerNameIndicator.
  86. oYourBarMateHandler:lDebug = FALSE.
  87. END.
  88. WHEN 'TEST' THEN
  89. DO:
  90. oYourBarMateHandler = NEW YourBarMateHandler().
  91. oYourBarMateHandler:cURL = cURI_CategoriesDev.
  92. oYourBarMateHandler:cApiKey = cApiName.
  93. oYourBarMateHandler:cApiKeyValue = cApiKeyDev.
  94. oYourBarMateHandler:cServerNameIndicator = cServerNameIndicatorDev.
  95. oYourBarMateHandler:lDebug = TRUE.
  96. END.
  97. END CASE.
  98. /* ---------------------------------------------------------- */
  99. /* Warengruppen / Kategorien senden */
  100. /* ---------------------------------------------------------- */
  101. oCategories = NEW List().
  102. ii = 0.
  103. FOR EACH WarenGrp NO-LOCK
  104. WHERE WarenGrp.Firma = cFirma
  105. AND (WarenGrp.lShopB2B = TRUE
  106. OR WarenGrp.lShopB2C = TRUE) :
  107. oCategory = NEW Category ().
  108. oCategory:cId = STRING(WarenGrp.Wgr,'999').
  109. oCategory:cName = WarenGrp.Bez1.
  110. lRetVal = oCategories:Add(oCategory).
  111. ii = ii + 1.
  112. END.
  113. lRetVal = oYourBarMateHandler:putCategories (INPUT oCategories, OUTPUT opErrorMessage ).
  114. RUN writeLogFile.p ( cProgramm, cLogFile, SUBSTITUTE('&1 Kategorien übertragen mit RetVal = &2 und ErrorMessage = "&3"', ii, lRetVal, opErrorMessage) ).