| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &Scoped-define FRAME-NAME gAlkoholika
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gAlkoholika
- /*------------------------------------------------------------------------
- File:
- Description: from cntnrdlg.w - ADM2 SmartDialog Template
- Input Parameters:
- <none>
- Output Parameters:
- <none>
- Author:
- Created:
- ------------------------------------------------------------------------*/
- /* This .W file was created with the Progress AppBuilder. */
- /*----------------------------------------------------------------------*/
- /* Create an unnamed pool to store all the widgets created
- by this procedure. This is a good default which assures
- that this procedure's triggers and internal procedures
- will execute in this procedure's storage, and that proper
- cleanup will occur on deletion of the procedure. */
- CREATE WIDGET-POOL.
- /* *************************** Definitions ************************** */
- /* Parameters Definitions --- */
- /* Local Variable Definitions --- */
- DEF VAR MaxPage AS INT NO-UNDO.
- DEF VAR AktSeite AS INT NO-UNDO.
- DEF VAR FMutFlag AS LOG NO-UNDO.
- DEF VAR Firma AS CHAR NO-UNDO.
- DEF VAR AdFirma AS CHAR NO-UNDO.
- DEF VAR ProgName AS CHAR NO-UNDO.
- DEF VAR cVorlage AS CHAR NO-UNDO.
- DEF VAR cDaten AS CHAR NO-UNDO.
- DEF VAR cDokument AS CHAR NO-UNDO.
- DEF VAR cDateiName AS CHAR NO-UNDO.
- DEF VAR Zelle AS CHAR NO-UNDO.
- DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
- DEF VAR AnzZei AS INT NO-UNDO.
- DEF VAR Zeile AS INT NO-UNDO.
- DEF VAR Seite AS INT NO-UNDO.
- DEF VAR KopfText AS CHAR NO-UNDO.
- DEF VAR FussText AS CHAR NO-UNDO EXTENT 10.
- DEF VAR TitelText AS CHAR NO-UNDO.
- DEF VAR DatumText AS CHAR NO-UNDO.
- DEF STREAM INP_Stream.
- DEF STREAM OUT_Stream.
- DEF TEMP-TABLE TArtikel FIELD Knr AS INT
- FIELD Datum AS DATE
- FIELD Faknr AS INT
- FIELD Artnr AS INT
- FIELD Inhalt AS INT
- FIELD Jahr AS INT
- FIELD Bez1 AS CHAR
- FIELD Bez2 AS CHAR
- FIELD Alk AS DEC
- FIELD KGeb_Cd AS CHAR
- FIELD Menge AS DEC DECIMALS 3
- FIELD Liter AS DEC DECIMALS 3
- FIELD Alk100% AS DEC DECIMALS 3
- INDEX TArtikel-k1
- Knr
- Datum
- Faknr
- Artnr
- Inhalt
- Jahr .
- DEF TEMP-TABLE TExcel FIELD Zeile AS INT
- FIELD KeyWort AS CHAR
- FIELD Felder AS CHAR EXTENT 10.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE SmartDialog
- &Scoped-define DB-AWARE no
- &Scoped-define ADM-CONTAINER DIALOG-BOX
- &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- /* Name of designated FRAME-NAME and/or first browse and/or first query */
- &Scoped-define FRAME-NAME gAlkoholika
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS RECT-12 RECT-13 RECT-14 RECT-15 F_VonArtnr ~
- F_BisArtnr F_Warengrp F_VonKnr F_BisKnr F_Kundengrp CB_Adresscode F_SelCode ~
- F_VonDatum F_BisDatum Btn_OK Btn_Cancel
- &Scoped-Define DISPLAYED-OBJECTS F_VonArtnr F_BisArtnr F_Warengrp F_VonKnr ~
- F_BisKnr F_Kundengrp CB_Adresscode F_SelCode F_VonDatum F_BisDatum
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-6 F_VonArtnr F_BisArtnr F_Warengrp F_VonKnr F_BisKnr ~
- F_Kundengrp F_SelCode F_VonDatum F_BisDatum
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Define a dialog box */
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Cancel AUTO-END-KEY
- LABEL "&abbrechen"
- SIZE 14 BY 1.19.
- DEFINE BUTTON Btn_OK
- IMAGE-UP FILE "grafik\results%.ico":U
- IMAGE-INSENSITIVE FILE "grafik/results%.ico":U
- LABEL "Excel"
- SIZE 7 BY 1.71 TOOLTIP "start der Excelauswertung".
- DEFINE VARIABLE CB_Adresscode AS CHARACTER FORMAT "X(256)":U
- LABEL "Adresscode/Inhalt"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 20 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_BisArtnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_BisDatum AS DATE FORMAT "99.99.9999":U
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_BisKnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Kundengrp AS CHARACTER FORMAT "X(256)":U
- LABEL "Kudengruppen"
- VIEW-AS FILL-IN NATIVE
- SIZE 46.4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_SelCode AS CHARACTER FORMAT "x(20)":U
- LABEL "/"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_VonArtnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "von - bis Artikelnummer"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_VonDatum AS DATE FORMAT "99.99.9999":U
- LABEL "von - bis Datum"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_VonKnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "von - bis Knr"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Warengrp AS CHARACTER FORMAT "X(256)":U
- LABEL "Warengruppen"
- VIEW-AS FILL-IN NATIVE
- SIZE 46.4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE RECTANGLE RECT-12
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 84 BY 13.
- DEFINE RECTANGLE RECT-13
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 80 BY 2.86.
- DEFINE RECTANGLE RECT-14
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 80 BY 3.86.
- DEFINE RECTANGLE RECT-15
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 80 BY 1.67.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME gAlkoholika
- F_VonArtnr AT ROW 2.19 COL 28 COLON-ALIGNED
- F_BisArtnr AT ROW 2.19 COL 41 COLON-ALIGNED
- F_Warengrp AT ROW 3.19 COL 28 COLON-ALIGNED
- F_VonKnr AT ROW 5.38 COL 28 COLON-ALIGNED
- F_BisKnr AT ROW 5.38 COL 40.8 COLON-ALIGNED
- F_Kundengrp AT ROW 6.38 COL 28 COLON-ALIGNED
- CB_Adresscode AT ROW 7.38 COL 28 COLON-ALIGNED
- F_SelCode AT ROW 7.38 COL 50 COLON-ALIGNED
- F_VonDatum AT ROW 9.76 COL 28 COLON-ALIGNED
- F_BisDatum AT ROW 9.76 COL 47 COLON-ALIGNED
- Btn_OK AT ROW 11.81 COL 30
- Btn_Cancel AT ROW 12.05 COL 55.8
- RECT-12 AT ROW 1.24 COL 2
- RECT-13 AT ROW 1.71 COL 4
- RECT-14 AT ROW 5 COL 4
- RECT-15 AT ROW 9.48 COL 4
- SPACE(2.99) SKIP(3.27)
- WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
- SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
- TITLE "Verkauf Alkoholika"
- CANCEL-BUTTON Btn_Cancel.
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartDialog
- Allow: Basic,Browse,DB-Fields,Query,Smart
- Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- Design Page: 1
- Other Settings: COMPILE
- */
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gAlkoholika
- /* ************************* Included-Libraries *********************** */
- {src/adm2/containr.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR DIALOG-BOX gAlkoholika
- FRAME-NAME */
- ASSIGN
- FRAME gAlkoholika:SCROLLABLE = FALSE
- FRAME gAlkoholika:HIDDEN = TRUE.
- /* SETTINGS FOR FILL-IN F_BisArtnr IN FRAME gAlkoholika
- 6 */
- /* SETTINGS FOR FILL-IN F_BisDatum IN FRAME gAlkoholika
- 6 */
- /* SETTINGS FOR FILL-IN F_BisKnr IN FRAME gAlkoholika
- 6 */
- /* SETTINGS FOR FILL-IN F_Kundengrp IN FRAME gAlkoholika
- 6 */
- /* SETTINGS FOR FILL-IN F_SelCode IN FRAME gAlkoholika
- 6 */
- /* SETTINGS FOR FILL-IN F_VonArtnr IN FRAME gAlkoholika
- 6 */
- /* SETTINGS FOR FILL-IN F_VonDatum IN FRAME gAlkoholika
- 6 */
- /* SETTINGS FOR FILL-IN F_VonKnr IN FRAME gAlkoholika
- 6 */
- /* SETTINGS FOR FILL-IN F_Warengrp IN FRAME gAlkoholika
- 6 */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gAlkoholika
- /* Query rebuild information for DIALOG-BOX gAlkoholika
- _Options = "SHARE-LOCK"
- _Query is NOT OPENED
- */ /* DIALOG-BOX gAlkoholika */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME gAlkoholika
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gAlkoholika gAlkoholika
- ON END-ERROR OF FRAME gAlkoholika /* Verkauf Alkoholika */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gAlkoholika gAlkoholika
- ON GO OF FRAME gAlkoholika /* Verkauf Alkoholika */
- DO:
- /*
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
- */
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gAlkoholika gAlkoholika
- ON WINDOW-CLOSE OF FRAME gAlkoholika /* Verkauf Alkoholika */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Cancel
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gAlkoholika
- ON CHOOSE OF Btn_Cancel IN FRAME gAlkoholika /* abbrechen */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_OK
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gAlkoholika
- ON CHOOSE OF Btn_OK IN FRAME gAlkoholika /* Excel */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- Btn_OK:SENSITIVE = FALSE.
- Btn_Cancel:SENSITIVE = FALSE.
- SESSION:SET-WAIT-STATE ('GENERAL').
- END.
- RUN REPORT.
- DO WITH FRAME {&FRAME-NAME}:
- Btn_OK:SENSITIVE = TRUE.
- Btn_Cancel:SENSITIVE = TRUE.
- SESSION:SET-WAIT-STATE('').
- END.
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_BisKnr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_BisKnr gAlkoholika
- ON ALT-F OF F_BisKnr IN FRAME gAlkoholika /* - */
- DO:
- DEF VAR iRecid AS RECID NO-UNDO.
- RUN 'g-suchen-adresse.w':U ( 'LIE', OUTPUT iRecid ).
- IF iRecid = ? OR
- iRecid = 0 THEN RETURN NO-APPLY.
- FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
- SELF:SCREEN-VALUE = STRING(Adresse.Knr).
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Kundengrp
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Kundengrp gAlkoholika
- ON RIGHT-MOUSE-CLICK OF F_Kundengrp IN FRAME gAlkoholika /* Kudengruppen */
- DO:
- RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'KUNDGRP' ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_VonKnr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VonKnr gAlkoholika
- ON ALT-F OF F_VonKnr IN FRAME gAlkoholika /* von - bis Knr */
- DO:
- DEF VAR iRecid AS RECID NO-UNDO.
- RUN 'g-suchen-adresse.w':U ( 'DEB', OUTPUT iRecid ).
- IF iRecid = ? OR
- iRecid = 0 THEN RETURN NO-APPLY.
- FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
- SELF:SCREEN-VALUE = STRING(Adresse.Knr).
- F_BisKnr:SCREEN-VALUE = STRING(Adresse.Knr).
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Warengrp
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Warengrp gAlkoholika
- ON RIGHT-MOUSE-CLICK OF F_Warengrp IN FRAME gAlkoholika /* Warengruppen */
- DO:
- RUN g-auswahl-wgr.w ( INPUT SELF ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gAlkoholika
- /* *************************** Main Block *************************** */
- MaxPage = 1.
- AktSeite = 1.
- Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
- AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
- ProgName = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.') NO-ERROR.
- SESSION:DATA-ENTRY-RETURN = TRUE.
- /* TRIGGERS ------------------------------------------------------ */
- /*
- ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
- IF FMutFlag = FALSE THEN DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
- RETURN NO-APPLY.
- END.
- */
- /* ------------------------------------------------------------------ */
- {src/adm2/dialogmn.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gAlkoholika _ADM-CREATE-OBJECTS
- PROCEDURE adm-create-objects :
- /*------------------------------------------------------------------------------
- Purpose: Create handles for all SmartObjects used in this procedure.
- After SmartObjects are initialized, then SmartLinks are added.
- Parameters: <none>
- ------------------------------------------------------------------------------*/
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BEREINIGEN gAlkoholika
- PROCEDURE BEREINIGEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
- DEF VAR cString AS CHAR NO-UNDO.
- DEF VAR i AS INT NO-UNDO.
- cString = ''.
- DO i = 1 TO LENGTH(ipHandle:SCREEN-VALUE):
- IF SUBSTRING(ipHandle:SCREEN-VALUE,i,1) < '0' OR
- SUBSTRING(ipHandle:SCREEN-VALUE,i,1) > '9' THEN DO:
- SUBSTRING(ipHandle:SCREEN-VALUE,i) = ','.
- END.
- END.
- DO i = 1 TO NUM-ENTRIES(ipHandle:SCREEN-VALUE, ','):
- IF cString <> '' THEN cString = cString + ','.
- cString = cString
- + STRING(INTEGER(ENTRY(i, ipHandle:SCREEN-VALUE, ',')),'999').
- END.
- ipHandle:SCREEN-VALUE = cString.
- RETURN.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gAlkoholika _DEFAULT-DISABLE
- PROCEDURE disable_UI :
- /*------------------------------------------------------------------------------
- Purpose: DISABLE the User Interface
- Parameters: <none>
- Notes: Here we clean-up the user-interface by deleting
- dynamic widgets we have created and/or hide
- frames. This procedure is usually called when
- we are ready to "clean-up" after running.
- ------------------------------------------------------------------------------*/
- /* Hide all frames. */
- HIDE FRAME gAlkoholika.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gAlkoholika
- PROCEDURE enableObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cString AS CHAR NO-UNDO.
- DEF VAR i AS INT NO-UNDO.
- FIND Femeld WHERE Femeld.Sprcd = 1
- AND Femeld.Fenr = 999 NO-LOCK NO-ERROR.
- cString = ''.
- IF AVAILABLE Femeld THEN DO WITH FRAME {&FRAME-NAME}:
- DO i = 1 TO NUM-ENTRIES(Femeld.Fetext, ','):
- cString = cString + ';' + ENTRY (i, Femeld.Fetext, ',')
- + ';' + STRING(i,'99').
- END.
- END.
- IF cString = '' THEN cString = ';'.
- ELSE cString = SUBSTRING(cString,02).
- CB_Adresscode:DELIMITER = ';'.
- CB_Adresscode:LIST-ITEM-PAIRS = cString.
- CB_Adresscode:SCREEN-VALUE = ENTRY(2, CB_Adresscode:LIST-ITEM-PAIRS, ';') NO-ERROR.
- RUN SUPER.
- RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
- RUN LESENFWAUSWERTUNGEN ( INPUT ProgName,
- INPUT FRAME {&FRAME-NAME}:CURRENT-ITERATION ) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gAlkoholika _DEFAULT-ENABLE
- PROCEDURE enable_UI :
- /*------------------------------------------------------------------------------
- Purpose: ENABLE the User Interface
- Parameters: <none>
- Notes: Here we display/view/enable the widgets in the
- user-interface. In addition, OPEN all queries
- associated with each FRAME and BROWSE.
- These statements here are based on the "Other
- Settings" section of the widget Property Sheets.
- ------------------------------------------------------------------------------*/
- DISPLAY F_VonArtnr F_BisArtnr F_Warengrp F_VonKnr F_BisKnr F_Kundengrp
- CB_Adresscode F_SelCode F_VonDatum F_BisDatum
- WITH FRAME gAlkoholika.
- ENABLE RECT-12 RECT-13 RECT-14 RECT-15 F_VonArtnr F_BisArtnr F_Warengrp
- F_VonKnr F_BisKnr F_Kundengrp CB_Adresscode F_SelCode F_VonDatum
- F_BisDatum Btn_OK Btn_Cancel
- WITH FRAME gAlkoholika.
- VIEW FRAME gAlkoholika.
- {&OPEN-BROWSERS-IN-QUERY-gAlkoholika}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gAlkoholika
- PROCEDURE ENDE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
- IF AktSeite > 1 THEN DO:
- RUN selectPage ( INPUT 1 ).
- RETURN NO-APPLY.
- END.
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
- APPLY 'GO' TO FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gAlkoholika
- PROCEDURE exitObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- RUN ENDE.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF gAlkoholika
- PROCEDURE KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR i AS INT NO-UNDO.
- Seite = Seite + 1.
- IF Seite = 1 THEN DO:
- DO i = 1 TO 3:
- PUT CONTROL '£' CHR(10).
- END.
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = TArtikel.Knr NO-LOCK NO-ERROR.
- DO i = 1 TO 11:
- IF i = 1 THEN PUT CONTROL 'Adresse'.
- CASE i:
- WHEN 1 THEN PUT CONTROL '£' Steuer.Firma1 '£'.
- WHEN 2 THEN PUT CONTROL '£' Steuer.Firma2 '£'.
- WHEN 3 THEN PUT CONTROL '£' Steuer.Strasse '£'.
- WHEN 4 THEN PUT CONTROL '£' Steuer.Ort '£'.
- OTHERWISE PUT CONTROL '££'.
- END CASE.
- PUT CONTROL '£££' Adresse.Anschrift[i] CHR(10).
- END.
- PUT CONTROL '£' CHR(10)
- '£' CHR(10)
- '£' CHR(10)
- 'Knr£££££££££'
- 'Knr: ' STRING(TArtikel.Knr,'999999') CHR(10)
- '£' CHR(10).
- END.
- ELSE DO:
- DO i = 1 TO 2:
- PUT CONTROL '£' CHR(10).
- END.
- END.
- PUT CONTROL KopfText '£££££££££Seite : '
- TRIM(STRING(Seite,'>>9')) CHR(10)
- '£' CHR(10).
- PUT CONTROL 'Titel'
- TitelText CHR(10)
- '£' CHR(10).
- IF Seite = 1 THEN Zeile = 25.
- ELSE Zeile = 8.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gAlkoholika
- PROCEDURE REPORT :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR ja AS LOG NO-UNDO.
- DEF VAR cString AS CHAR NO-UNDO.
- DEF VAR Feld AS INT NO-UNDO.
- DEF VAR i AS INT NO-UNDO.
- DEF VAR j AS INT NO-UNDO.
- DEF VAR Liter AS DEC DECIMALS 3 NO-UNDO.
- DEF VAR L100% AS DEC DECIMALS 3 NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- RUN BEREINIGEN ( INPUT F_Kundengrp :HANDLE ).
- RUN BEREINIGEN ( INPUT F_Warengrp :HANDLE ).
- ASSIGN {&List-6}.
- IF F_VonKnr = 0 AND F_BisKnr = 0 THEN F_BisKnr = 999999.
- IF F_VonKnr > F_BisKnr THEN F_BisKnr = F_VonKnr.
- IF F_VonArtnr = 0 AND F_BisArtnr = 0 THEN F_BisArtnr = 999999.
- IF F_VonArtnr > F_BisArtnr THEN F_BisArtnr = F_VonArtnr.
- IF F_VonDatum = ? THEN F_VonDatum = DATE(01,01,YEAR(TODAY)).
- IF F_BisDatum = ? THEN F_BisDatum = DATE(12,31,YEAR(TODAY)).
- IF F_BisDatum < F_VonDatum THEN F_BisDatum = F_VonDatum.
- DISPLAY {&List-6}.
- RUN SCHREIBENFWAUSWERTUNGEN ( INPUT ProgName,
- INPUT FRAME {&FRAME-NAME}:CURRENT-ITERATION ) NO-ERROR.
- DatumText = STRING(F_VonDatum,'99.99.9999') + ' - '
- + STRING(F_BisDatum,'99.99.9999').
- END.
- EMPTY TEMP-TABLE TArtikel.
- EMPTY TEMP-TABLE TExcel .
- Feld = INTEGER(CB_Adresscode:SCREEN-VALUE).
- FOR EACH Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr >= F_VonKnr
- AND Adresse.Knr <= F_BisKnr
- AND Adresse.Aktiv = TRUE NO-LOCK:
- ja = TRUE.
- DO WHILE TRUE:
- IF F_SelCode = '' THEN LEAVE.
- i = 0.
- CASE Feld:
- WHEN 01 THEN i = LOOKUP(Adresse.Cd01, F_SelCode, ',') NO-ERROR.
- WHEN 02 THEN i = LOOKUP(Adresse.Cd02, F_SelCode, ',') NO-ERROR.
- WHEN 03 THEN i = LOOKUP(Adresse.Cd03, F_SelCode, ',') NO-ERROR.
- WHEN 04 THEN i = LOOKUP(Adresse.Cd04, F_SelCode, ',') NO-ERROR.
- WHEN 05 THEN i = LOOKUP(Adresse.Cd05, F_SelCode, ',') NO-ERROR.
- WHEN 06 THEN i = LOOKUP(Adresse.Cd06, F_SelCode, ',') NO-ERROR.
- WHEN 07 THEN i = LOOKUP(Adresse.Cd07, F_SelCode, ',') NO-ERROR.
- WHEN 08 THEN i = LOOKUP(Adresse.Cd08, F_SelCode, ',') NO-ERROR.
- WHEN 09 THEN i = LOOKUP(Adresse.Cd09, F_SelCode, ',') NO-ERROR.
- WHEN 10 THEN i = LOOKUP(Adresse.Cd10, F_SelCode, ',') NO-ERROR.
- WHEN 11 THEN i = LOOKUP(Adresse.Cd11, F_SelCode, ',') NO-ERROR.
- WHEN 12 THEN i = LOOKUP(Adresse.Cd12, F_SelCode, ',') NO-ERROR.
- WHEN 13 THEN i = LOOKUP(Adresse.Cd13, F_SelCode, ',') NO-ERROR.
- WHEN 14 THEN i = LOOKUP(Adresse.Cd14, F_SelCode, ',') NO-ERROR.
- WHEN 15 THEN i = LOOKUP(Adresse.Cd15, F_SelCode, ',') NO-ERROR.
- END CASE.
- IF i > 0 THEN LEAVE.
- ja = FALSE.
- LEAVE.
- END.
- IF NOT ja THEN NEXT.
- FIND Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = Firma
- AND Debst.Knr = Adresse.Knr
- AND Debst.Aktiv = TRUE NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Debst THEN NEXT.
- IF F_Kundengrp = '' THEN.
- ELSE DO:
- IF LOOKUP(STRING(Debst.Ku_Grp,'999'), F_Kundengrp, ',') = 0 THEN NEXT.
- END.
- FOR EACH Artbw USE-INDEX Artbw-k3
- WHERE Artbw.Firma = Debst.Firma
- AND Artbw.Knr = Debst.Knr
- AND Artbw.Faknr > 0
- AND Artbw.Fak_Dat >= F_VonDatum
- AND Artbw.Fak_Dat <= F_BisDatum
- AND Artbw.Artnr >= F_VonArtnr
- AND Artbw.Artnr <= F_BisArtnr NO-LOCK,
- FIRST Artst USE-INDEX Artst-k1
- WHERE Artst.Firma = Artbw.Firma
- AND Artst.Artnr = Artbw.Artnr
- AND Artst.Inhalt = Artbw.Inhalt
- AND Artst.Jahr = Artbw.Jahr
- AND Artst.EAV_Code <> '' NO-LOCK:
- IF F_Warengrp = '' THEN.
- ELSE DO:
- IF LOOKUP(STRING(Artst.Wg_Grp,'999'), F_Warengrp , ',') = 0 THEN NEXT.
- END.
- CREATE TArtikel.
- ASSIGN TArtikel.Knr = Debst.Knr
- TArtikel.Datum = Artbw.Fak_Dat
- TArtikel.Faknr = Artbw.Faknr
- TArtikel.Artnr = Artst.Artnr
- TArtikel.Inhalt = Artst.Inhalt
- TArtikel.Jahr = Artst.Jahr
- TArtikel.Bez1 = Artbw.Bez1
- TArtikel.Bez2 = Artbw.Bez2
- TArtikel.KGeb_Cd = Artbw.KGeb_Cd
- TArtikel.Alk = Artbw.Alk_Gehalt
- TArtikel.Menge = Artbw.Menge
- TArtikel.Liter = Artbw.Liter.
- IF TArtikel.Alk = 0 THEN TArtikel.Alk = Artst.Alk_Gehalt.
- TArtikel.Alk100% = TArtikel.Liter * TArtikel.Alk / 100.
- END.
- END.
- FIND FIRST TArtikel NO-LOCK NO-ERROR.
- IF NOT AVAILABLE TArtikel THEN RETURN.
- cVorlage = 'AlkoholVerkauf' + '.xls'.
- cDokument = 'AlkoholVerkauf' + '.xls'.
- cDaten = 'AlkoholVerkauf' + '.txt'.
- cDateiName = cDokument + CHR(01) + cVorlage.
- RUN CREATEDATEI ( INPUT cDateiName ).
- IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
- cDokument = RETURN-VALUE.
- cDateiName = cDaten.
- RUN CREATEDATEI ( INPUT cDateiName ).
- IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
- cDaten = RETURN-VALUE.
- excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
- IF NOT VALID-HANDLE(excelAppl) THEN DO:
- RUN FEHLER ( INPUT 1035 ).
- RETURN.
- END.
- RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument, INPUT '', OUTPUT ja ).
- IF NOT ja THEN DO:
- RUN FEHLER ( INPUT 1040 ).
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
- RETURN NO-APPLY.
- END.
- FIND Steuer USE-INDEX Steuer-k1
- WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
- KopfText = ''.
- FussText = ''.
- TitelText = ''.
- excelAppl:Sheets("Texte"):Select.
- DO i = 1 TO 7:
- DO j = 65 TO 75:
- Zelle = CHR(j) + STRING(i).
- excelAppl:Range(Zelle):Select.
- cString = excelAppl:SELECTION:VALUE.
- IF cString = ? THEN cString = ''.
- FussText[i] = Fusstext[i] + '£' + cString.
- END.
- END.
- Zelle = 'A9'.
- excelAppl:Range(Zelle):Select.
- AnzZei = INTEGER(excelAppl:SELECTION:VALUE).
- Zelle = 'A10'.
- excelAppl:Range(Zelle):Select.
- KopfText = excelAppl:SELECTION:VALUE.
- i = INDEX(KopfText, '%1%').
- IF i > 0 THEN KopfText = SUBSTRING(KopfText,01,i - 1)
- + DatumText
- + SUBSTRING(KopfText,i + 3).
- DO j = 65 TO 74:
- Zelle = CHR(j) + '15'.
- excelAppl:Range(Zelle):Select.
- cString = excelAppl:Selection:Value.
- IF cString = ? THEN cString = ''.
- TitelText = TitelText + '£' + cString.
- END.
- excelAppl:Sheets("Liste"):Select.
- OUTPUT TO VALUE(cDaten).
- FOR EACH TArtikel USE-INDEX TArtikel-k1 NO-LOCK
- BREAK BY TArtikel.Knr
- BY TArtikel.Datum
- BY TArtikel.Faknr
- BY TArtikel.Artnr
- BY TArtikel.Inhalt
- BY TArtikel.Jahr :
- IF FIRST-OF ( TArtikel.Knr ) THEN DO:
- Liter = 0.
- L100% = 0.
- Seite = 0.
- IF FIRST ( TArtikel.Knr ) THEN PUT CONTROL '£' CHR(10).
- RUN KOPF.
- END.
- FIND KGebinde USE-INDEX KGebinde-k1
- WHERE KGebinde.Firma = Firma
- AND KGebinde.Geb_Cd = TArtikel.KGeb_Cd NO-LOCK NO-ERROR.
- PUT CONTROL '£'
- STRING(TArtikel.Datum ,'99.99.9999') '£'
- TRIM(STRING(TArtikel.Faknr ,'zzzzzz')) '£'
- STRING(TArtikel.Artnr ,'999999') '£'
- TArtikel.Bez1 '£'
- STRING(TArtikel.Alk ,'z9.99%') '£'.
- IF AVAILABLE KGebinde THEN PUT CONTROL KGebinde.KBez '£'.
- ELSE PUT CONTROL '? ' TArtikel.KGeb_Cd '£'.
- PUT CONTROL TRIM(STRING(TArtikel.Menge ,'->>>,>>9.99')) '£'
- TRIM(STRING(TArtikel.Liter ,'->>>,>>9.99')) '£'
- TRIM(STRING(TArtikel.ALk100%,'->>>,>>9.99')) CHR(10).
- Liter = Liter + TArtikel.Liter.
- L100% = L100% + TArtikel.Alk100%.
- Zeile = Zeile + 1.
- IF NOT LAST-OF ( TArtikel.Knr ) THEN DO:
- i = Zeile + 10.
- IF i > AnzZei THEN DO:
- PUT CONTROL 'ENDE' CHR(10).
- RUN KOPF.
- END.
- NEXT.
- END.
- PUT CONTROL 'Total££££££££'
- TRIM(STRING(Liter,'->>>,>>9.99')) '£'
- TRIM(STRING(L100%,'->>>,>>9.99')) CHR(10)
- '£' CHR(10)
- '£' CHR(10).
- DO i = 1 TO 7:
- PUT CONTROL FussText[i] CHR(10).
- END.
- PUT CONTROL 'ENDE' CHR(10).
- END.
- OUTPUT CLOSE.
- FIND FIRST TArtikel NO-LOCK NO-ERROR.
- IF NOT AVAILABLE TArtikel THEN DO:
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
- RETURN NO-APPLY.
- END.
- i = 0.
- INPUT STREAM INP_Stream FROM VALUE(cDaten) NO-ECHO NO-MAP.
- REPEAT TRANSACTION ON STOP UNDO, LEAVE WITH FRAME f_Print:
- i = i + 1.
- CREATE TExcel.
- IMPORT STREAM INP_Stream DELIMITER '£' TExcel.KeyWort
- TExcel.Felder .
- TExcel.Zeile = i.
- END.
- INPUT STREAM INP_Stream CLOSE.
- OUTPUT STREAM OUT_Stream TO VALUE(cDaten) NO-MAP.
- FOR EACH TExcel BY TExcel.Zeile:
- CASE TExcel.KeyWort:
- WHEN 'Knr' THEN PUT STREAM OUT_Stream CONTROL '£'.
- WHEN 'Titel' THEN PUT STREAM OUT_Stream CONTROL '£'.
- WHEN 'Adresse' THEN PUT STREAM OUT_Stream CONTROL '£'.
- WHEN 'Total' THEN PUT STREAM OUT_Stream CONTROL '£'.
- WHEN 'Ende' THEN PUT STREAM OUT_Stream CONTROL '£'.
- OTHERWISE PUT STREAM OUT_Stream CONTROL TExcel.KeyWort '£'.
- END CASE.
- EXPORT STREAM OUT_Stream DELIMITER '£' TExcel.Felder.
- END.
- OUTPUT STREAM OUT_Stream CLOSE.
- Zelle = 'A1'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten.
- excelAppl:APPLICATION:RUN ( 'DateiEinfügen' ).
- Zelle = 'A1'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:SELECTION:ColumnWidth = 0.3.
- FOR EACH TExcel WHERE TExcel.KeyWort <> '' BY TExcel.Zeile:
- CASE TExcel.KeyWort:
- WHEN 'Titel' THEN DO:
- Zelle = 'B' + STRING(TExcel.Zeile)
- + ':J' + STRING(TExcel.Zeile).
- excelAppl:Range(Zelle):SELECT.
- excelAppl:APPLICATION:RUN ( TExcel.KeyWort ).
- END.
- WHEN 'Adresse' THEN DO:
- Zelle = 'B' + STRING(TExcel.Zeile)
- + ':J' + STRING(TExcel.Zeile + 11).
- excelAppl:Range(Zelle):SELECT.
- excelAppl:Selection:HorizontalAlignment = -4131.
- END.
- WHEN 'Total' THEN DO:
- Zelle = 'I' + STRING(TExcel.Zeile)
- + ':J' + STRING(TExcel.Zeile).
- excelAppl:Range(Zelle):SELECT.
- excelAppl:Selection:Font:Bold = TRUE.
- Zelle = 'B' + STRING(TExcel.Zeile + 1)
- + ':J' + STRING(TExcel.Zeile + 8).
- excelAppl:Range(Zelle):SELECT.
- excelAppl:Selection:HorizontalAlignment = -4131.
- END.
- WHEN 'ENDE' THEN DO:
- Zelle = 'A' + STRING(TExcel.Zeile).
- excelAppl:Range(Zelle):SELECT.
- excelAppl:ActiveWindow:SelectedSheets:HPageBreaks:Add(excelAppl:Selection).
- END.
- END CASE.
- END.
-
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|