/*------------------------------------------------------------------------ File : FindLabelsFromObjects.p Purpose : Syntax : Description : Author(s) : walter.riechsteiner Created : Wed Sep 01 15:50:05 CEST 2021 Notes : ----------------------------------------------------------------------*/ /* *************************** Definitions ************************** */ /* ******************** Preprocessor Definitions ******************** */ /* *************************** Main Block *************************** */ DEFINE VARIABLE i AS INTEGER NO-UNDO. DEFINE VARIABLE ix AS INTEGER NO-UNDO. DEFINE VARIABLE iMax AS INTEGER NO-UNDO. DEFINE VARIABLE lRetVal AS LOG NO-UNDO. DEFINE VARIABLE cString AS CHARACTER NO-UNDO. DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO. DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO. DEFINE VARIABLE hFeld AS HANDLE NO-UNDO. DEFINE VARIABLE iExtent AS INTEGER NO-UNDO. DEFINE TEMP-TABLE tRabattgruppen FIELD Firma AS CHARACTER LABEL 'Firma' FIELD RabDebitor AS INTEGER LABEL 'RabattGrp Debitor' FIELD RabArtikel AS INTEGER LABEL 'RabattGrp Artikel' FIELD RabArt AS LOGICAL LABEL 'Prozent/Betrag' FORMAT "Prozent/Betrag" FIELD RabAuf AS INTEGER LABEL 'Rabatt auf 0=Kleingebinde/1= Auftragszeile' FIELD Wert AS DECIMAL LABEL 'Wert' FIELD SummGrp AS INTEGER LABEL 'SummenGrp' FIELD abMenge AS DECIMAL LABEL 'ab Menge' FIELD abBetrag AS DECIMAL LABEL 'ab Betrag' FIELD abInhalt AS DECIMAL LABEL 'ab Centiliter' FIELD SumRabArt AS LOGICAL LABEL 'Prozent/Betrag' FORMAT "Prozent/Betrag" FIELD SumRabAuf AS INTEGER LABEL 'Rabatt auf 0=Menge/1=Betrag/2=Inhalt' FIELD SumWert AS INTEGER LABEL 'Summen Wert' . DEFINE VARIABLE htRabattgruppen AS HANDLE NO-UNDO. htRabattgruppen = TEMP-TABLE tRabattgruppen:DEFAULT-BUFFER-HANDLE. cDateiName = 'exports\RabatgruppenDetails.csv'. iMax = htRabattgruppen:NUM-FIELDS. FOR EACH RabTab NO-LOCK WHERE RabTab.Firma = '1000', FIRST RabSumm NO-LOCK WHERE RabSumm.Firma = RabTab.Firma AND RabSumm.Rab_Summ = RabTab.Rab_Summ : CREATE tRabattgruppen. ASSIGN tRabattgruppen.Firma = RabTab.Firma tRabattgruppen.RabDebitor = RabTab.Ku_Rab tRabattgruppen.RabArtikel = RabTab.Art_Rab tRabattgruppen.RabArt = RabTab.Proz_Betr tRabattgruppen.RabAuf = RabTab.Rab_Art tRabattgruppen.Wert = RabTab.Wert tRabattgruppen.SummGrp = RabTab.Rab_Summ tRabattgruppen.abMenge = RabSumm.Menge tRabattgruppen.abBetrag = RabSumm.Betrag tRabattgruppen.abInhalt = RabSumm.Inhalt tRabattgruppen.SumRabArt = RabSumm.F_Proz_Betr tRabattgruppen.SumRabAuf = RabSumm.F_Rab_Art tRabattgruppen.SumWert = RabSumm.F_Wert . END. OUTPUT TO VALUE(cDateiName) NO-MAP NO-CONVERT. DO i = 1 TO iMax: IF i > 1 THEN PUT CONTROL ';'. hFeld = htRabattgruppen:BUFFER-FIELD (i). iExtent = hFeld:EXTENT. IF iExtent = 0 THEN DO: PUT CONTROL htRabattgruppen:BUFFER-FIELD (i):LABEL. NEXT. END. DO ix = 1 TO iExtent: cString = hFeld:LABEL + '-' + STRING(ix). PUT CONTROL cString. IF ix < iExtent THEN PUT CONTROL ';'. END. END. PUT CONTROL CHR(10). FOR EACH tRabattgruppen NO-LOCK: DO i = 1 TO iMax: IF i > 1 THEN PUT CONTROL ';'. hFeld = htRabattgruppen:BUFFER-FIELD (i). iExtent = hFeld:EXTENT. IF iExtent = 0 THEN DO: cString = STRING(hFeld:BUFFER-VALUE(0)). cString = REPLACE(cString, CHR(13), '' ). cString = REPLACE(cString, CHR(10), '%NL%' ). PUT CONTROL REPLACE(cString, ';', ':'). NEXT. END. DO ix = 1 TO iExtent: cString = STRING(hFeld:BUFFER-VALUE(ix)). cString = REPLACE(cString, CHR(13), '' ). cString = REPLACE(cString, CHR(10), '%NL%' ). PUT CONTROL REPLACE(cString, ';', ':'). IF ix < iExtent THEN PUT CONTROL ';'. END. END. PUT CONTROL CHR(10). END. OUTPUT CLOSE. /*PUT CONTROL MESSAGE i '->' '-' EXTENT (oProperties) '-' oProperties[i]:Name '-' oProperties[i]:DataType '-' oProperties[i]:ToString()*/ /* VIEW-AS ALERT-BOX. */ /*DEF VAR theValue AS Progress.Lang.Object NO-UNDO. */ /* */ /*theValue = DYNAMIC-PROPERTY(oInvoice, "Amount"). */ /* */ /*IF theValue:WHATS-THE-TYPE = "decimal" THEN */ /* RETURN STRING(theValue, ">>>>>9.99"). */ /*ELSE */ /* RETURN TRIM(theValue). // It is a character field*/