| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- /*------------------------------------------------------------------------
- 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 tAnsprech LIKE Ansprech
- FIELD Land AS CHARACTER
- FIELD Sprache AS CHARACTER
- FIELD Anzeige AS CHARACTER
- FIELD Anrede AS CHARACTER
- .
- DEFINE VARIABLE htAnsprech AS HANDLE NO-UNDO.
- htAnsprech = TEMP-TABLE tAnsprech:DEFAULT-BUFFER-HANDLE.
- cDateiName = 'exports\AnsprechDetails.csv'.
- iMax = htAnsprech:NUM-FIELDS.
- FOR EACH Ansprech NO-LOCK
- WHERE Ansprech.Firma = '1000'
- AND Ansprech.Knr > 0,
-
- FIRST Sprache NO-LOCK
- WHERE Sprache.Sprcd = Ansprech.Sprcd,
-
- FIRST Anrede NO-LOCK
- WHERE Anrede.Sprcd = Ansprech.Sprcd
- AND Anrede.Anrcd = Ansprech.Anrcd:
-
- CREATE tAnsprech.
- BUFFER-COPY Ansprech
- TO tAnsprech
- ASSIGN
- tAnsprech.Sprache = Sprache.Bez
- tAnsprech.Anzeige = Anrede.Anr_Anzeige
- tAnsprech.Anrede = Anrede.Anr_Anrede.
- END.
- OUTPUT TO VALUE(cDateiName) NO-MAP NO-CONVERT.
- DO i = 1 TO iMax:
- IF i > 1 THEN PUT CONTROL ';'.
- hFeld = htAnsprech:BUFFER-FIELD (i).
- iExtent = hFeld:EXTENT.
- IF iExtent = 0 THEN
- DO:
- PUT CONTROL htAnsprech: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 tAnsprech NO-LOCK:
-
- DO i = 1 TO iMax:
- IF i > 1 THEN PUT CONTROL ';'.
- hFeld = htAnsprech: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*/
|