/*------------------------------------------------------------------------ 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 tAbwPrGrp LIKE AbwPrGrp. DEFINE VARIABLE htAbwPrGrp AS HANDLE NO-UNDO. htAbwPrGrp = TEMP-TABLE tAbwPrGrp:DEFAULT-BUFFER-HANDLE. cDateiName = 'exports\AbweichendePreisGrpDetails.csv'. iMax = htAbwPrGrp:NUM-FIELDS. FOR EACH AbwPrGrp NO-LOCK WHERE AbwPrGrp.Firma = '1000' : CREATE tAbwPrGrp. BUFFER-COPY AbwPrGrp TO tAbwPrGrp. END. OUTPUT TO VALUE(cDateiName) NO-MAP NO-CONVERT. DO i = 1 TO iMax: IF i > 1 THEN PUT CONTROL ';'. hFeld = htAbwPrGrp:BUFFER-FIELD (i). iExtent = hFeld:EXTENT. IF iExtent = 0 THEN DO: PUT CONTROL htAbwPrGrp: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 tAbwPrGrp NO-LOCK: DO i = 1 TO iMax: IF i > 1 THEN PUT CONTROL ';'. hFeld = htAbwPrGrp:BUFFER-FIELD (i). iExtent = hFeld:EXTENT. IF iExtent = 0 THEN DO: cString = 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 = 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*/