| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- /*------------------------------------------------------------------------
- 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*/
|