| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 |
- /*------------------------------------------------------------------------
- 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 tDebst LIKE Debst
- FIELD Kondition AS CHARACTER
- FIELD Vertreter AS CHARACTER
- FIELD ABCGruppe AS CHARACTER
- FIELD Fakturaart AS CHARACTER
- FIELD Preisgruppe AS CHARACTER
- FIELD Rabattgruppe AS CHARACTER
- FIELD Bonusgruppe AS CHARACTER
- FIELD Kundengruppe AS CHARACTER
- FIELD Verbandgruppe AS CHARACTER
- FIELD SubVerband AS CHARACTER
- FIELD Tour AS CHARACTER
- FIELD Lieferbedingung AS CHARACTER
- FIELD Abladevorschrift AS CHARACTER
- FIELD Wirtesonntag AS CHARACTER
- FIELD Avisierung AS CHARACTER
- FIELD Bierverband AS CHARACTER
- FIELD Regionbez AS CHARACTER
- FIELD Lieferart AS CHARACTER
- .
- DEFINE VARIABLE htDebst AS HANDLE NO-UNDO.
- htDebst = TEMP-TABLE tDebst:DEFAULT-BUFFER-HANDLE.
- { funktionen.i }
- cString = SUBSTITUTE('&1&4&2&4&3', 'SYSTEM', 'SYSTEM', '1000', CHR(01)).
- RUN ANMELDUNG ( cString ).
- cDateiName = 'exports\DebitorDetails.csv'.
- iMax = htDebst:NUM-FIELDS.
- FOR EACH Debst NO-LOCK
- WHERE Debst.Firma = '1000'
- AND Debst.Knr > 0:
-
- CREATE tDebst.
- BUFFER-COPY Debst
- TO tDebst.
- FIND FIRST Kondi NO-LOCK
- WHERE Kondi.Kond = Debst.Kond NO-ERROR.
- IF AVAILABLE Kondi THEN tDebst.Kondition = Kondi.KoText.
-
- RUN FIND_VERTRETER ( Debst.Vertr, OUTPUT cString ).
- tDebst.Vertreter = ENTRY(2, cString, CHR(01)).
-
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = Debst.Firma
- AND Tabel.Recart = 'ABCGRP'
- AND Tabel.CodeI = Debst.ABC_Grp NO-ERROR.
- IF AVAILABLE Tabel THEN tDebst.ABCGruppe = Tabel.Bez1.
-
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = Debst.Firma
- AND Tabel.Recart = 'FAKART'
- AND Tabel.CodeI = Debst.Fak_Art NO-ERROR.
- IF AVAILABLE Tabel THEN tDebst.Fakturaart = Tabel.Bez1.
-
- RUN FIND_PREISGRUPPE (Debst.Preis_Grp, OUTPUT cString ).
- tDebst.Preisgruppe = ENTRY(2, cString, CHR(01)).
-
- RUN FIND_RABATTGRP ( Debst.Rab_Grp, OUTPUT cString ).
- tDebst.Rabattgruppe = ENTRY(2, cString, CHR(01)).
-
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = Debst.Firma
- AND Tabel.Recart = 'BONUS'
- AND Tabel.CodeI = Debst.Bonus_Grp NO-ERROR.
- IF AVAILABLE Tabel THEN tDebst.Bonusgruppe = Tabel.Bez1.
-
- RUN FIND_KUNDENGRUPPE ( Debst.Ku_Grp, OUTPUT cString ).
- tDebst.Kundengruppe = ENTRY(2, cString, CHR(01)).
-
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = Debst.Firma
- AND Tabel.Recart = 'VERBAND'
- AND Tabel.CodeI = Debst.Verband_Grp NO-ERROR.
- IF AVAILABLE Tabel THEN tDebst.Verbandgruppe = Tabel.Bez1.
-
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = Debst.Firma
- AND Tabel.Recart = 'SUBVERBAND'
- AND Tabel.CodeI = Debst.Subverband_Grp
- AND Tabel.CodeC = STRING(Debst.Verband_Grp,'999999')NO-ERROR.
- IF AVAILABLE Tabel THEN tDebst.SubVerband = Tabel.Bez1.
-
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = Debst.Firma
- AND Tabel.Recart = 'TOUR1'
- AND Tabel.CodeI = Debst.Tour_Nr1 NO-ERROR.
- IF AVAILABLE Tabel THEN tDebst.Tour = Tabel.Bez1.
-
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = Debst.Firma
- AND Tabel.Recart = 'LIEFBED'
- AND Tabel.CodeI = Debst.Lief_Bed NO-ERROR.
- IF AVAILABLE Tabel THEN tDebst.Lieferbedingung = Tabel.Bez1.
-
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = Debst.Firma
- AND Tabel.Recart = 'ABLAD'
- AND Tabel.CodeI = Debst.Ablad_Vor NO-ERROR.
- IF AVAILABLE Tabel THEN tDebst.Abladevorschrift = Tabel.Bez1.
-
- RUN FIND_WIRTESONNTAG ( Debst.Wirt_So, OUTPUT cString ).
- tDebst.Wirtesonntag = ENTRY(2, cString, CHR(01)).
-
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = Debst.Firma
- AND Tabel.Recart = 'AVIS'
- AND Tabel.CodeI = Debst.Avis NO-ERROR.
- IF AVAILABLE Tabel THEN tDebst.Avisierung = Tabel.Bez1.
-
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = Debst.Firma
- AND Tabel.Recart = 'BIER'
- AND Tabel.CodeI = Debst.Bier_Cd NO-ERROR.
- IF AVAILABLE Tabel THEN tDebst.Bierverband = Tabel.Bez1.
-
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = Debst.Firma
- AND Tabel.Recart = 'REG'
- AND Tabel.CodeI = Debst.Region NO-ERROR.
- IF AVAILABLE Tabel THEN tDebst.Regionbez = Tabel.Bez1.
-
- END.
- OUTPUT TO VALUE(cDateiName) NO-MAP NO-CONVERT.
- DO i = 1 TO iMax:
- IF i > 1 THEN PUT CONTROL ';'.
- hFeld = htDebst:BUFFER-FIELD (i).
- iExtent = hFeld:EXTENT.
- IF iExtent = 0 THEN
- DO:
- PUT CONTROL htDebst: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 tDebst NO-LOCK:
-
- DO i = 1 TO iMax:
- IF i > 1 THEN PUT CONTROL ';'.
- hFeld = htDebst: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*/
|