&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS Procedure /*------------------------------------------------------------------------ File : Purpose : Syntax : Description : Author(s) : Created : Notes : ----------------------------------------------------------------------*/ /* This .W file was created with the Progress AppBuilder. */ /*----------------------------------------------------------------------*/ /* *************************** Definitions ************************** */ DEF INPUT PARAMETER ipFirma AS CHAR NO-UNDO. DEF INPUT PARAMETER ipSalerId AS CHAR NO-UNDO. DEF INPUT PARAMETER ipHerst AS INT NO-UNDO. DEF INPUT PARAMETER ipLiefnr AS INT NO-UNDO. DEF INPUT PARAMETER ipvonDatum AS DATE NO-UNDO. DEF INPUT PARAMETER ipBisDatum AS DATE NO-UNDO. DEF INPUT PARAMETER ipDatei AS CHAR NO-UNDO. /* DEF VAR ipFirma AS CHAR INIT '1000' NO-UNDO. DEF VAR ipSalerId AS CHAR INIT '2700721304' NO-UNDO. DEF VAR ipHerst AS INT NO-UNDO. DEF VAR ipLiefnr AS INT NO-UNDO. DEF VAR ipvonDatum AS DATE NO-UNDO. DEF VAR ipBisDatum AS DATE NO-UNDO. DEF VAR ipDatei AS CHAR NO-UNDO. */ DEF VAR cFirma AS CHAR NO-UNDO. DEF VAR AdFirma AS CHAR NO-UNDO. DEF VAR cInstall AS CHAR NO-UNDO. DEF VAR nMenge AS DEC NO-UNDO. DEF VAR hDS AS HANDLE NO-UNDO. DEF VAR iTransDet AS INT NO-UNDO. DEF VAR cZeile AS CHAR NO-UNDO. DEF VAR iZeile AS INT NO-UNDO. DEF VAR iSpace AS INT NO-UNDO. DEF VAR cDatei AS CHAR NO-UNDO. DEF STREAM sXML. DEF STREAM sTEMP. DEF BUFFER bSteuer FOR Steuer. { incl/cocacola_ds.i } DEF TEMP-TABLE tArtbw LIKE Artbw INDEX tArtbw-k1 IS PRIMARY Knr Artnr Inhalt Jahr Fak_Dat INDEX tArtbw-k2 Artnr Inhalt Jahr. DEF TEMP-TABLE tXML FIELD iZeile AS INT FIELD iSpace AS INT FIELD cLine AS CHAR . /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE Procedure &Scoped-define DB-AWARE no /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Prototypes ********************** */ &IF DEFINED(EXCLUDE-createDeliverBillTo) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD createDeliverBillTo Procedure FUNCTION createDeliverBillTo RETURNS LOGICAL ( /* parameter-definitions */ ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-createOutlets) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD createOutlets Procedure FUNCTION createOutlets RETURNS LOGICAL ( /* parameter-definitions */ ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-createPayload) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD createPayload Procedure FUNCTION createPayload RETURNS LOGICAL ( /* parameter-definitions */ ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-createPeriod) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD createPeriod Procedure FUNCTION createPeriod RETURNS LOGICAL ( ipMenge AS DEC ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-createProductEntry) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD createProductEntry Procedure FUNCTION createProductEntry RETURNS LOGICAL ( /* parameter-definitions */ ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-createSales) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD createSales Procedure FUNCTION createSales RETURNS LOGICAL ( /* parameter-definitions */ ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-findArtbw) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD findArtbw Procedure FUNCTION findArtbw RETURNS DECIMAL ( /* parameter-definitions */ ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: Procedure Allow: Frames: 0 Add Fields to: Neither Other Settings: CODE-ONLY COMPILE */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS /* ************************* Create Window ************************** */ &ANALYZE-SUSPEND _CREATE-WINDOW /* DESIGN Window definition (used by the UIB) CREATE WINDOW Procedure ASSIGN HEIGHT = 15 WIDTH = 60. /* END WINDOW DEFINITION */ */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Procedure /* *************************** Main Block *************************** */ hDS = DATASET PayLoadDS:HANDLE. hDS:SET-CALLBACK-PROCEDURE ("BEFORE-FILL", "POSTDATAFILLDS", THIS-PROCEDURE ). hDS:SET-CALLBACK-PROCEDURE ("AFTER-FILL" , "POSTDATAFILLDS", THIS-PROCEDURE ). FIND bSteuer NO-LOCK WHERE bSteuer.Firma = ipFirma NO-ERROR. AdFirma = bSteuer.AdFirma. cInstall = bSteuer.Fwc10. /* ------ ipHerst = 31. ipLiefnr = 100031. ipvonDatum = 01/01/2016. ipbisDatum = 01/31/2016. IF cInstall = 'WIEDERKEHR' THEN DO: ipSalerId = '2700721304'. ipHerst = 10. ipLiefnr = 32. ipvonDatum = 01/01/2016. ipbisDatum = 01/31/2016. END. ------ */ cFirma = ipFirma. nMenge = DYNAMIC-FUNCTION ('findArtbw':U). DYNAMIC-FUNCTION ('createPayload':U). DYNAMIC-FUNCTION ('createPeriod':U, nMenge). DYNAMIC-FUNCTION ('createOutlets':U). DYNAMIC-FUNCTION ('createDeliverBillTo':U). DYNAMIC-FUNCTION ('createProductEntry':U). DYNAMIC-FUNCTION ('createSales':U). hDS:FILL() NO-ERROR. cDatei = SESSION:TEMP-DIR + 'PayLoad.xml'. hDS:WRITE-XML ('File', cDatei, TRUE, 'UTF-8', 'wsdata CCH WHS.xsd', FALSE, FALSE ). cDatei = SESSION:TEMP-DIR + 'BillTo.xml'. TEMP-TABLE BillTo:WRITE-XML ('File', cDatei, TRUE, 'UTF-8', '', FALSE, FALSE ). EMPTY TEMP-TABLE tXML. cDatei = SESSION:TEMP-DIR + 'PayLoad.xml'. INPUT STREAM sXML FROM VALUE(cDatei) NO-MAP NO-CONVERT NO-ECHO. cDatei = SESSION:TEMP-DIR + 'BillTo.xml'. INPUT STREAM sTEMP FROM VALUE(cDatei) NO-MAP NO-CONVERT NO-ECHO. iZeile = 0. DO WHILE TRUE: IMPORT STREAM sXML UNFORMATTED cZeile. IF INDEX(cZeile, ' 0 THEN NEXT. IF INDEX(cZeile, '') > 0 THEN LEAVE. iZeile = iZeile + 1. CREATE tXML. ASSIGN tXML.iZeile = iZeile tXML.iSpace = INDEX(cZeile, '<') tXML.cLine = TRIM(cZeile). IF INDEX(cZeile, ' 0 THEN iSpace = tXML.iSpace. IF INDEX(cZeile, '') = 0 THEN NEXT. DO WHILE TRUE: IMPORT STREAM sTEMP UNFORMATTED cZeile. IF INDEX(cZeile, ' 0 THEN NEXT. IF INDEX(cZeile, ' 0 THEN NEXT. iZeile = iZeile + 1. CREATE tXML. ASSIGN tXML.iZeile = iZeile tXML.iSpace = INDEX(cZeile, '<') + iSpace - 1 tXML.cLine = TRIM(cZeile). IF INDEX(cZeile, '') > 0 THEN LEAVE. END. END. INPUT STREAM sXML CLOSE. INPUT STREAM sTEMP CLOSE. OUTPUT TO VALUE(ipDatei) NO-MAP NO-CONVERT. FOR EACH tXML BY tXML.iZeile: tXML.cLine = REPLACE(tXML.cLine, 'BillToRow', 'BillTo'). IF tXML.iSpace > 2 THEN tXML.iSpace = tXML.iSpace - 2. PUT CONTROL FILL(' ', (tXML.iSpace - 1)). PUT CONTROL tXML.cLine CHR(10). END. OUTPUT CLOSE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &IF DEFINED(EXCLUDE-POSTDATAFILLDS) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE POSTDATAFILLDS Procedure PROCEDURE POSTDATAFILLDS : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER DATASET-HANDLE iphDS. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF /* ************************ Function Implementations ***************** */ &IF DEFINED(EXCLUDE-createDeliverBillTo) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION createDeliverBillTo Procedure FUNCTION createDeliverBillTo RETURNS LOGICAL ( /* parameter-definitions */ ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ FIND FIRST Outlets. FOR EACH tArtbw NO-LOCK USE-INDEX tArtbw-k1 BREAK BY tArtbw.Knr: IF NOT FIRST-OF ( tArtbw.Knr ) THEN NEXT. FIND FIRST Outlets. CREATE OutletEntry. ASSIGN OutletEntry.Comments = ''. ASSIGN OutletEntry.Outlets_id = Outlets.Outlets_Id OutletEntry.OutletEntry_Id = RECID(OutletEntry). FIND Adresse NO-LOCK WHERE Adresse.Firma = AdFirma AND Adresse.Knr = tArtbw.Knr NO-ERROR. FIND Debst NO-LOCK WHERE Debst.Firma = cFirma AND Debst.Knr = Adresse.Knr NO-ERROR. FIND Tabel NO-LOCK WHERE Tabel.Firma = cFirma AND Tabel.RecArt = 'KUNDGRP' AND Tabel.CodeI = Debst.Ku_Grp AND Tabel.CodeC = '' AND Tabel.Sprcd = 1 NO-ERROR. CREATE DeliverTo. ASSIGN DeliverTo.OutletNumber = TRIM(STRING(Adresse.Knr,'>>>>>>9')) DeliverTo.Name1 = (IF Adresse.Firma1 <> '' THEN Adresse.Firma1 ELSE Adresse.Name) DeliverTo.Address1 = Adresse.Strasse DeliverTo.PostalCode = Adresse.Plz DeliverTo.City = Adresse.Ort DeliverTo.OutletEntry_Id = OutletEntry.OutletEntry_id DeliverTo.Channel = (IF AVAILABLE Tabel THEN Tabel.Bez1 ELSE ''). ASSIGN DeliverTo.DeliverTo_Id = RECID(DeliverTo). FIND Adresse NO-LOCK WHERE Adresse.Firma = AdFirma AND Adresse.Knr = tArtbw.Fak_Knr NO-ERROR. CREATE BillTo. ASSIGN BillTo.OutletNumber = TRIM(STRING(Adresse.Knr,'>>>>>>9')) BillTo.Name1 = (IF Adresse.Firma1 <> '' THEN Adresse.Firma1 ELSE Adresse.Name) BillTo.Address1 = Adresse.Strasse BillTo.PostalCode = Adresse.Plz BillTo.City = Adresse.Ort. BillTo.DeliverTo_Id = DeliverTo.DeliverTo_id. BillTo.OutletEntry_Id = OutletEntry.OutletEntry_id. END. RETURN TRUE. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-createOutlets) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION createOutlets Procedure FUNCTION createOutlets RETURNS LOGICAL ( /* parameter-definitions */ ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ FIND FIRST Period. CREATE Outlets. ASSIGN Outlets.Comments = '' Outlets.Period_Id = Period.Period_Id Outlets.Payload_Id = Period.Payload_Id. ASSIGN Outlets.Outlets_Id = RECID(Outlets). RETURN TRUE. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-createPayload) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION createPayload Procedure FUNCTION createPayload RETURNS LOGICAL ( /* parameter-definitions */ ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ CREATE Payload. ASSIGN Payload.StructureVersion = '1' Payload.Comments = '' Payload.WholesalerID = ipSalerId. Payload.Payload_id = RECID(Payload). RETURN TRUE. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-createPeriod) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION createPeriod Procedure FUNCTION createPeriod RETURNS LOGICAL ( ipMenge AS DEC ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ CREATE Period. ASSIGN Period.PeriodType = 'Month' Period.DateFrom = STRING(YEAR (ipvondatum),'9999') + '-' + STRING(MONTH(ipvonDatum),'99') + '-' + STRING(DAY (ipvonDatum),'99') Period.DateTo = STRING(YEAR (ipbisdatum),'9999') + '-' + STRING(MONTH(ipbisDatum),'99') + '-' + STRING(DAY (ipbisDatum),'99') Period.TotalRecordsCount = 1 Period.TotalVolume = DECIMAL(TRIM(STRING(ipMenge,'->>>,>>>,>>9.999'))). FIND FIRST PayLoad. ASSIGN Period.Payload_Id = Payload.Payload_id Period.Period_Id = RECID(Period). RETURN TRUE. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-createProductEntry) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION createProductEntry Procedure FUNCTION createProductEntry RETURNS LOGICAL ( /* parameter-definitions */ ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ CREATE Products. FIND FIRST Period. ASSIGN Products.Period_id = Period.Period_Id Products.Products_id = RECID(Products). FOR EACH tArtbw NO-LOCK USE-INDEX tArtbw-k2 BREAK BY tArtbw.Artnr BY tArtbw.Inhalt BY tArtbw.Jahr : IF NOT FIRST-OF ( tArtbw.Jahr ) THEN NEXT. FIND Artst NO-LOCK WHERE Artst.Firma = cFirma AND Artst.Artnr = tArtbw.Artnr AND Artst.Inhalt = tArtbw.Inhalt AND Artst.Jahr = tArtbw.Jahr NO-ERROR. FIND FIRST Artbez NO-LOCK OF Artst. FIND VGebinde NO-LOCK WHERE VGebinde.Firma = cFirma AND VGebinde.Geb_Cd = Artst.VGeb_Cd NO-ERROR. FIND KGebinde NO-LOCK WHERE KGebinde.Firma = cFirma AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-ERROR. FIND ArtLief NO-LOCK WHERE ArtLief.Firma = cFirma AND ArtLief.Knr = ipLiefNr AND ArtLief.Artnr = tArtbw.Artnr AND ArtLief.Inhalt = tArtbw.Inhalt AND ArtLief.Jahr = tArtbw.Jahr NO-ERROR. CREATE ProductEntry. ASSIGN ProductEntry.ProductNumber = TRIM(STRING(Artst.Artnr,'>>>>>9')) + '.' + STRING(Artst.Inhalt,'9999') + '.' + STRING(Artst.Jahr ,'9999') ProductEntry.Comments = '' ProductEntry.ProductName = TRIM(Artbez.Bez1 + ' ' + Artbez.Bez2) ProductEntry.UnitOfQuantity = 'L' /*(IF KGebinde.KBez = 'Lt' THEN 'L' ELSE 'PC')*/ ProductEntry.PackageSizeLitres = KGebinde.Inhalt / 100 ProductEntry.SalesUnit = '1x' + TRIM(STRING(VGebinde.Inhalt,'>>>>9')) ProductEntry.PackageType = KGebinde.Bez ProductEntry.ArticleNumberHbc = (IF AVAILABLE ArtLief THEN ArtLief.S_Artnr ELSE ''). ASSIGN ProductEntry.Products_id = Products.Products_id ProductEntry.ProductEntry_Id = RECID(ProductEntry). END. RETURN TRUE. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-createSales) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION createSales Procedure FUNCTION createSales RETURNS LOGICAL ( /* parameter-definitions */ ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEF VAR iRecid AS RECID NO-UNDO. DEF VAR nLiter AS DEC NO-UNDO. DEF VAR nTotLiter AS DEC NO-UNDO. iTransDet = 0. nTotLiter = 0. CREATE Sales. ASSIGN Sales.TransactionType = 'Sales'. FIND FIRST Period. ASSIGN Sales.Period_Id = Period.Period_id Sales.Sales_Id = RECID(Sales). FOR EACH tArtbw NO-LOCK USE-INDEX tArtbw-k2 BREAK BY tArtbw.Knr BY tArtbw.Artnr BY tArtbw.Inhalt BY tArtbw.Jahr : IF FIRST-OF ( tArtbw.Knr ) THEN DO: CREATE Transaction1. ASSIGN Transaction1.Comments = '' Transaction1.OutletNumber = TRIM(STRING(tArtbw.Knr,'>>>>>>9')) Transaction1.DeliveryDate = STRING(YEAR (tArtbw.Fak_Dat),'9999') + '-' + STRING(MONTH(tArtbw.Fak_Dat),'99') + '-' + STRING(DAY (tArtbw.Fak_Dat),'99') Transaction1.Sales_id = Sales.Sales_id. ASSIGN Transaction1.Transaction_id = RECID(Transaction1). iRecid = RECID(Transaction1). END. IF FIRST-OF ( tArtbw.Jahr ) THEN nLiter = 0. nLiter = nLiter + tArtbw.Liter. nTotLiter = nTotLiter + tArtbw.Liter. IF NOT LAST-OF ( tArtbw.Jahr ) THEN NEXT. FIND Transaction1 WHERE RECID(Transaction1) = iRecid. FIND Artst NO-LOCK WHERE Artst.Firma = cFirma AND Artst.Artnr = tArtbw.Artnr AND Artst.Inhalt = tArtbw.Inhalt AND Artst.Jahr = tArtbw.Jahr NO-ERROR. FIND FIRST Artbez NO-LOCK OF Artst. FIND VGebinde NO-LOCK WHERE VGebinde.Firma = cFirma AND VGebinde.Geb_Cd = Artst.VGeb_Cd NO-ERROR. FIND KGebinde NO-LOCK WHERE KGebinde.Firma = cFirma AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-ERROR. CREATE TransactionDetails. ASSIGN TransactionDetails.ProductNumber = TRIM(STRING(Artst.Artnr,'>>>>>9')) + '.' + STRING(Artst.Inhalt,'9999') + '.' + STRING(Artst.Jahr ,'9999') TransactionDetails.Quantity = DECIMAL(TRIM(STRING(nLiter,'->>>,>>>,>>9.999'))). ASSIGN TransactionDetails.Transaction_id = iRecid TransactionDetails.TransactionDetails_Id = RECID(TransactionDetails). iTransDet = iTransDet + 1. END. FIND FIRST Period. ASSIGN Period.TotalRecordsCount = iTransDet. RETURN TRUE. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-findArtbw) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION findArtbw Procedure FUNCTION findArtbw RETURNS DECIMAL ( /* parameter-definitions */ ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEF VAR nMenge AS DEC NO-UNDO. FOR EACH Artst NO-LOCK WHERE Artst.Firma = cFirma AND Artst.Herst = ipHerst AND Artst.Aktiv = TRUE: FOR EACH Artbw NO-LOCK WHERE Artbw.Firma = cFirma AND Artbw.Artnr = Artst.Artnr AND Artbw.Inhalt = Artst.Inhalt AND Artbw.Jahr = Artst.Jahr AND Artbw.Faknr > 0 AND Artbw.Tr_Art < 10 AND Artbw.Fak_Dat <> ? AND Artbw.Fak_Dat >= ipvonDatum AND Artbw.Fak_Dat <= ipbisDatum: FIND FIRST tArtbw WHERE tArtbw.Knr = Artbw.Knr AND tArtbw.Artnr = Artbw.Artnr AND tArtbw.Inhalt = Artbw.Inhalt AND tArtbw.Jahr = Artbw.Jahr NO-ERROR. IF NOT AVAILABLE tArtbw THEN DO: CREATE tArtbw. BUFFER-COPY Artbw TO tArtbw. nMenge = nMenge + tArtbw.Liter. NEXT. END. ASSIGN tArtbw.Menge = tArtbw.Menge + Artbw.Menge tArtbw.GGeb_Me = tArtbw.GGeb_Me + Artbw.GGeb_Me tArtbw.VGeb_Me = tArtbw.VGeb_Me + Artbw.VGeb_Me tArtbw.KGeb_Me = tArtbw.KGeb_Me + Artbw.KGeb_Me tArtbw.Liter = tArtbw.Liter + Artbw.Liter. nMenge = nMenge + Artbw.Liter. END. END. RETURN nMenge. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF