| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- /*------------------------------------------------------------------------
- File : ddaktionenexport.p
- Purpose :
- Syntax :
- Description :
- Author(s) : walter.riechsteiner
- Created : Fri Jul 30 16:23:21 CEST 2021
- Notes :
- ----------------------------------------------------------------------*/
- /* *************************** Definitions ************************** */
- USING OpenEdge.Core.Collections.IListIterator FROM PROPATH.
- USING OpenEdge.Core.Collections.List FROM PROPATH.
- USING src.ch.adprime.api.digitaldrink.DigitalDrinkHandler FROM PROPATH.
- USING src.ch.adprime.api.digitaldrink.beans.AktionsFilter FROM PROPATH.
- USING src.ch.adprime.api.digitaldrink.beans.Campaign FROM PROPATH.
- USING src.ch.adprime.api.digitaldrink.control.AktionenExportRequest FROM PROPATH.
- USING src.ch.adprime.api.digitaldrink.control.AktionenExportResponse FROM PROPATH.
- USING src.ch.adprime.api.digitaldrink.incl.BillingType FROM PROPATH.
- USING src.ch.adprime.api.digitaldrink.incl.CustomerGroup FROM PROPATH.
- USING src.ch.adprime.api.digitaldrink.incl.ConditionState FROM PROPATH.
- USING src.ch.adprime.api.digitaldrink.incl.Type FROM PROPATH.
- USING src.ch.adprime.api.digitaldrink.incl.AktionsUnit FROM PROPATH.
- { propertiesDD.i }
- DEFINE VARIABLE oDigitalDrinkHandler AS DigitalDrinkHandler NO-UNDO.
- DEFINE VARIABLE oAktionenExportRequest AS AktionenExportRequest NO-UNDO.
- DEFINE VARIABLE oAktionenExportResponse AS AktionenExportResponse NO-UNDO.
- DEFINE VARIABLE oFilter AS AktionsFilter NO-UNDO.
- DEFINE VARIABLE opErrorMessage AS CHARACTER NO-UNDO.
- DEFINE VARIABLE oCampaign AS Campaign NO-UNDO.
- DEFINE VARIABLE oCustomerGroup AS CustomerGroup NO-UNDO.
- DEFINE VARIABLE oParameters AS List NO-UNDO.
- DEFINE VARIABLE oCampaignList AS List NO-UNDO.
- DEFINE VARIABLE oCustomerList AS List NO-UNDO.
- DEFINE VARIABLE oIterator AS IListIterator NO-UNDO.
- DEFINE VARIABLE oCustIterator AS IListIterator NO-UNDO.
- DEFINE VARIABLE cStringEx AS CHARACTER NO-UNDO EXTENT.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE clString AS LONGCHAR NO-UNDO.
- DEFINE VARIABLE lRetVal AS LOGICAL NO-UNDO.
- DEFINE VARIABLE ii AS INTEGER NO-UNDO.
- DEFINE TEMP-TABLE tCampaign
- FIELD cType AS CHARACTER
- FIELD cHerstGLN AS CHARACTER
- FIELD cTitle AS CHARACTER
- FIELD cBeschreibung AS CHARACTER
- FIELD cAktType AS CHARACTER
- FIELD dvonDatum AS DATE
- FIELD dbisDatum AS DATE
- FIELD nWert AS DECIMAL
- FIELD cStatus AS CHARACTER
- FIELD lVerkaufsAktion AS LOGICAL
- FIELD cAktionsUnit AS CHARACTER
- FIELD cBundleGTIN AS CHARACTER
- FIELD cBundleName AS CHARACTER
- FIELD cCustomers AS CHARACTER
- .
- DEFINE TEMP-TABLE tAktArtikel
- FIELD Artnr AS INTEGER
- FIELD Inhalt AS INTEGER
- FIELD Jahr AS INTEGER
- FIELD cType AS CHARACTER
- FIELD cHersteller AS CHARACTER
- FIELD cTitle AS CHARACTER
- FIELD cAktArt AS CHARACTER
- FIELD dvonDatum AS DATE
- FIELD dBisDatum AS DATE
- FIELD nWert AS DECIMAL
- FIELD cAktionsUnit AS CHARACTER
- FIELD cGebinde AS CHARACTER
-
- INDEX tAktArtikel-k1 IS PRIMARY
- Artnr
- Inhalt
- Jahr
- .
- /*DEFINE INPUT PARAMETER ipcGlnNr AS CHARACTER NO-UNDO.*/
- /* */
- DEFINE OUTPUT PARAMETER TABLE FOR tCampaign.
- /* ******************** Preprocessor Definitions ******************** */
- /* *************************** Main Block *************************** */
- oDigitalDrinkHandler = NEW DigitalDrinkHandler( /* Parameters aus properties */
- INPUT cURL_Export,
- INPUT cServerNameIndicator,
- INPUT cClientId,
- INPUT cPassword,
- INPUT cClientName,
- INPUT iGLN-Huber).
- oDigitalDrinkHandler:lDebug = lDebug.
- oFilter = NEW AktionsFilter().
- ASSIGN
- oFilter:eBillingType = BillingType:BT-EK
- oFilter:cmanufacturerGLN = '7611793000004' /* CoCa */
- oFilter:dtvalidFrom = DATE(01/01/2021)
- oFilter:dtvalidTo = DATE(12/31/2021)
- oFilter:eConditionState = ConditionState:Con_Released
- oFilter:dtLastRequirementDate = DATE(01/01/2021)
- .
-
-
- oAktionenExportRequest = NEW AktionenExportRequest().
- ASSIGN
- oAktionenExportRequest:cSenderName = cClientName
- oAktionenExportRequest:eType = TYPE:EXP003
- oAktionenExportRequest:oParameterFilters = oFilter
- oAktionenExportRequest:lDebug = TRUE.
- lRetVal = oDigitalDrinkHandler:getAktionenExport(oAktionenExportRequest, OUTPUT opErrorMessage, OUTPUT oAktionenExportResponse ).
- IF oAktionenExportResponse:iStateCount = 0 THEN RETURN.
- oCampaignList = oAktionenExportResponse:oCampaignList.
- oIterator = oCampaignList:ListIterator().
- EMPTY TEMP-TABLE tCampaign.
- DO WHILE oIterator:HasNext():
- oCampaign = CAST(oIterator:NEXT(), Campaign).
-
- CREATE tCampaign.
- ASSIGN
- tCampaign.cType = oCampaign:eType:ToString()
- tCampaign.cHerstGLN = oCampaign:cManufacturerGln
- tCampaign.cTitle = oCampaign:cTitle
- tCampaign.cBeschreibung = oCampaign:cDescription
- tCampaign.cAktType = oCampaign:eBillingType:ToString()
- tCampaign.dVonDatum = oCampaign:dtValidFrom
- tCampaign.dbisDatum = oCampaign:dtValidTo
- tCampaign.nWert = oCampaign:fValue
- tCampaign.cStatus = oCampaign:eConditionState:ToString()
- tCampaign.lVerkaufsAktion = oCampaign:lSalespromotion
- tCampaign.cAktionsUnit = oCampaign:eUnit:ToString()
- .
-
- EXTENT(cStringEx) = ?.
- cString = ''.
- IF oCampaign:oBundlesGtin:Count > 0 THEN
- DO:
- EXTENT(cStringEx) = oCampaign:oBundlesGtin:Count.
- cStringEx = oCampaign:oBundlesGtin:ToArray().
- DO ii = 1 TO oCampaign:oBundlesGtin:Count:
- tCampaign.cBundleGTIN = tCampaign.cBundleGTIN
- + (IF tCampaign.cBundleGTIN = '' THEN '' ELSE ',')
- + cStringEx[ii].
- END.
- END.
-
- EXTENT(cStringEx) = ?.
- cString = ''.
- IF oCampaign:oBundlesName:Count > 0 THEN
- DO:
- EXTENT(cStringEx) = oCampaign:oBundlesName:Count.
- cStringEx = oCampaign:oBundlesName:ToArray().
- DO ii = 1 TO oCampaign:oBundlesName:Count:
- tCampaign.cBundleName = tCampaign.cBundleName
- + (IF tCampaign.cBundleName = '' THEN '' ELSE ',')
- + cStringEx[ii].
- END.
- END.
-
- oCustomerList = oCampaign:oCustomerGroupList.
- oCustIterator = oCustomerList:ListIterator().
- DO WHILE oCustIterator:HasNext():
- oCustomerGroup = CAST(oCustIterator:Next(), CustomerGroup).
- tCampaign.cCustomers = tCampaign.cCustomers
- + (IF tCampaign.cCustomers = '' THEN '' ELSE ',')
- + oCustomerGroup:ToString().
- END.
-
- END.
- OUTPUT TO 'C:\Entwicklung\TEMP\OE117WRK\Kampanien.csv' NO-MAP NO-CONVERT.
- FOR EACH tCampaign:
- EXPORT DELIMITER ';' tCampaign.
- END.
- OUTPUT CLOSE.
|