| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- /*------------------------------------------------------------------------
- File : ybmProducts.p
- Purpose :
- Syntax :
- Description :
- Author(s) : walter.riechsteiner
- Created : Tue Apr 06 15:28:25 CEST 2021
- Notes :
- ----------------------------------------------------------------------*/
- USING OpenEdge.Core.Collections.IListIterator FROM PROPATH.
- USING OpenEdge.Core.Collections.List FROM PROPATH.
- USING src.ch.adprime.api.yourbarmate.YourBarMateHandler FROM PROPATH.
- USING src.ch.adprime.api.yourbarmate.beans.Bundle FROM PROPATH.
- USING src.ch.adprime.api.yourbarmate.beans.Product FROM PROPATH.
- USING src.ch.adprime.api.yourbarmate.beans.Vessel FROM PROPATH.
- /*USING OpenEdge.Net.HTTP.IHttpResponse FROM PROPATH. */
- /* *************************** Definitions ************************** */
- DEFINE VARIABLE oYourBarMateHandler AS YourBarMateHandler NO-UNDO.
- DEFINE VARIABLE oProduct AS Product NO-UNDO.
- DEFINE VARIABLE oVessel AS Vessel NO-UNDO.
- DEFINE VARIABLE oBundle AS Bundle NO-UNDO.
-
- DEFINE VARIABLE opErrorMessage AS CHARACTER NO-UNDO.
- DEFINE VARIABLE oProductList AS List NO-UNDO.
- DEFINE VARIABLE oProductListIterator AS IListIterator NO-UNDO.
- DEFINE VARIABLE oVesselListIterator AS IListIterator NO-UNDO.
- DEFINE VARIABLE oBundleListIterator AS IListIterator NO-UNDO.
- DEFINE VARIABLE lRetVal AS LOGICAL NO-UNDO.
- DEFINE VARIABLE cStringEx AS CHARACTER NO-UNDO EXTENT.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ii AS INTEGER NO-UNDO.
- DEFINE VARIABLE cPage AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cLogFile AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cProgramm AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cTestLive AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cAnmeldung AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cParameter AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cFirma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE lLoeschen AS LOGICAL NO-UNDO.
- DEFINE VARIABLE iArtnr AS INTEGER NO-UNDO.
- DEFINE VARIABLE lTotal AS LOGICAL NO-UNDO.
- { propertiesYBM.i }
- { ttArtst.i }
- { funktionen.i }
- DEFINE OUTPUT PARAMETER TABLE FOR ttArtst.
- /* ******************** Preprocessor Definitions ******************** */
- /* *************************** Main Block *************************** */
- cAnmeldung = SUBSTITUTE ('&1&4&2&4&3', 'SYSTEM', 'SYSTEM', '1000', CHR(01) ).
- RUN ANMELDUNG ( cAnmeldung ) NO-ERROR.
- cParameter = SESSION:PARAMETER.
- cParameter = REPLACE(cParameter, ',', ';').
- /*cParameter = ''. */
- /*lLoeschen = FALSE.*/
- IF cParameter = '' OR
- cParameter = ? THEN cParameter = '1000;TEST'.
- DO ii = 1 TO NUM-ENTRIES(cParameter, ';'):
- CASE ii.
- WHEN 1 THEN
- cFirma = ENTRY(ii, cParameter, ';').
- WHEN 2 THEN
- cTestLive = ENTRY(ii, cParameter, ';').
- WHEN 3 THEN
- lLoeschen = (IF ENTRY(ii, cParameter, ';') BEGINS 'n' THEN FALSE ELSE TRUE ).
- WHEN 4 THEN
- iArtnr = INTEGER(ENTRY(ii, cParameter, ';')).
- WHEN 5 THEN
- lTotal = (IF ENTRY(ii, cParameter, ';') BEGINS 'T' THEN TRUE ELSE FALSE ). /* Alle Artikel */
- END CASE.
- END.
- /*lLoeschen = TRUE.*/
- CASE cTestLive:
- WHEN 'LIVE' THEN
- DO:
- oYourBarMateHandler = NEW YourBarMateHandler().
- oYourBarMateHandler:cURL = cURI_Products.
- oYourBarMateHandler:cApiKey = cApiName.
- oYourBarMateHandler:cApiKeyValue = cApiKey.
- oYourBarMateHandler:cServerNameIndicator = cServerNameIndicator.
- oYourBarMateHandler:lDebug = FALSE.
-
- lTest = FALSE.
- END.
- WHEN 'TEST' THEN
- DO:
- oYourBarMateHandler = NEW YourBarMateHandler().
- oYourBarMateHandler:cURL = cURI_ProductsDev.
- oYourBarMateHandler:cApiKey = cApiName.
- oYourBarMateHandler:cApiKeyValue = cApiKeyDev.
- oYourBarMateHandler:cServerNameIndicator = cServerNameIndicatorDev.
- oYourBarMateHandler:lDebug = TRUE.
-
- lTest = TRUE.
- END.
- END CASE.
- cProgramm = ENTRY(1, THIS-PROCEDURE:NAME, '.').
- IF R-INDEX(cProgramm, '\') > 0 OR
- R-INDEX(cProgramm, '/') > 0 THEN
- DO:
- cProgramm = REPLACE(cProgramm, '\', '/').
- ii = R-INDEX(cProgramm, '/') + 1.
- cProgramm = TRIM(SUBSTRING(cProgramm,ii)).
- END.
- cLogFile = DYNAMIC-FUNCTION ('getLogFilePfad':U) + cProgramm + '_' + cTestLive + '.log'.
- RUN writeLogFile.p ( cProgramm, cLogFile, 'Programm gestartet' ).
- cPage = ''.
- DO WHILE TRUE:
- lRetVal = oYourBarMateHandler:getProductList(INPUT-OUTPUT cPage, OUTPUT opErrorMessage, OUTPUT oProductList ) NO-ERROR.
- oProduct = NEW Product().
- oVessel = NEW Vessel ().
- /* oBundle = NEW Bundle ().*/
- oProductListIterator = oProductList:ListIterator() NO-ERROR.
- DO WHILE oProductListIterator:HasNext():
- oProduct = CAST(oProductListIterator:Next(), Product).
-
- oVessel = CAST(oProduct:oVessel, Vessel).
- /* oBundleListIterator = oProduct:oBundleList:ListIterator().*/
- CREATE ttArtst.
- ASSIGN
- ttArtst.cProdId = oProduct:cId
- ttArtst.cCategorie = oProduct:cCategory
- ttArtst.eStatus = oProduct:eStatus:ToString()
- ttArtst.cName = oProduct:cName
- ttArtst.iSize = oVessel:iSize
- ttArtst.eUnit = oVessel:eUnit:ToString()
- ttArtst.iPrice = oProduct:iPrice
- ttArtst.iMinOrderCount = oProduct:iMinOrderCount
- ttArtst.lYBM = TRUE
- ttArtst.lGeMIS = FALSE
- .
- END.
- /* IF VALID-OBJECT (oBundle) THEN DELETE OBJECT oBundle .*/
- IF VALID-OBJECT (oVessel) THEN DELETE OBJECT oVessel .
- IF VALID-OBJECT (oProduct) THEN DELETE OBJECT oProduct.
-
- IF cPage = '' THEN LEAVE.
- END.
- /*OUTPUT TO 'C:\Entwicklung\TEMP\OE122WRK\ttArtst.csv' NO-MAP NO-CONVERT.*/
- /*FOR EACH ttArtst: */
- /* EXPORT DELIMITER ';' ttArtst. */
- /*END. */
- /*OUTPUT CLOSE. */
-
|