| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- &Scoped-define WINDOW-NAME wKreditlimiten
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS wKreditlimiten
- /*------------------------------------------------------------------------
- File:
- Description: from cntnrwin.w - ADM SmartWindow Template
- Input Parameters:
- <none>
- Output Parameters:
- <none>
- History: New V9 Version - January 15, 1998
-
- ------------------------------------------------------------------------*/
- /* This .W file was created with the Progress AB. */
- /*----------------------------------------------------------------------*/
- /* 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 Fenster AS HANDLE NO-UNDO.
- DEF VAR hToolbar AS HANDLE NO-UNDO.
- DEF VAR FMutFlag AS LOG NO-UNDO INIT FALSE.
- DEF VAR SAktiv AS LOG NO-UNDO INIT FALSE.
- DEF VAR Firma AS CHAR NO-UNDO.
- DEF VAR AdFirma AS CHAR NO-UNDO.
- DEF VAR Progname AS CHAR NO-UNDO.
- DEF VAR Vertr AS INT NO-UNDO.
- DEF VAR cVorlage AS CHAR NO-UNDO.
- DEF VAR cDokument AS CHAR NO-UNDO.
- DEF VAR cDaten AS CHAR NO-UNDO.
- DEF VAR cDateiName AS CHAR NO-UNDO.
- DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
- DEF VAR Limite AS INT NO-UNDO.
- DEF VAR Sicherheit AS DEC NO-UNDO.
- DEF TEMP-TABLE TLimite FIELD Kgr AS INT
- FIELD Knr AS INT
- FIELD Frw AS CHAR
- FIELD Saldo AS DEC
- FIELD Limite AS INT
- FIELD Sicher AS DEC
- FIELD Umsatz AS DEC
-
- INDEX TLimite-k1 AS PRIMARY
- Kgr
- Knr.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE SmartWindow
- &Scoped-define DB-AWARE no
- &Scoped-define ADM-CONTAINER WINDOW
- &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
- /* Name of first Frame and/or Browse and/or first Query */
- &Scoped-define FRAME-NAME fMain
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS RECT-13 F_VonKnr F_BisKnr F_VonKgr F_BisKgr ~
- F_VonDatum F_BisDatum T_Limite Btn_OK Btn_Cancel
- &Scoped-Define DISPLAYED-OBJECTS F_VonKnr F_BisKnr F_VonKgr F_BisKgr ~
- F_VonDatum F_BisDatum T_Limite
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-6 F_VonKnr F_BisKnr F_VonKgr F_BisKgr F_VonDatum ~
- F_BisDatum T_Limite
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Prototypes ********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD XGET_KUNDENGRUPPE wKreditlimiten
- FUNCTION XGET_KUNDENGRUPPE RETURNS CHARACTER
- ( ipKgr AS INT ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Define the widget handle for the window */
- DEFINE VAR wKreditlimiten AS WIDGET-HANDLE NO-UNDO.
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Cancel AUTO-END-KEY
- LABEL "&abbrechen"
- SIZE 14 BY 1.
- 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.
- 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_BisKgr AS INTEGER FORMAT "999":U INITIAL 0
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 6 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_VonDatum AS DATE FORMAT "99.99.9999":U
- LABEL "von - bis Fakturadatum"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_VonKgr AS INTEGER FORMAT "999":U INITIAL 0
- LABEL "von - bis Kundengruppen"
- VIEW-AS FILL-IN NATIVE
- SIZE 6 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_VonKnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "von - bis Kundennummer"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE RECTANGLE RECT-13
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 72 BY 9.05.
- DEFINE VARIABLE T_Limite AS LOGICAL INITIAL no
- LABEL "nur Kunden mit Kreditlimite"
- VIEW-AS TOGGLE-BOX
- SIZE 31.8 BY 1 NO-UNDO.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME fMain
- F_VonKnr AT ROW 1.57 COL 26 COLON-ALIGNED
- F_BisKnr AT ROW 1.57 COL 44 COLON-ALIGNED
- F_VonKgr AT ROW 2.52 COL 26 COLON-ALIGNED
- F_BisKgr AT ROW 2.52 COL 44 COLON-ALIGNED
- F_VonDatum AT ROW 3.52 COL 26 COLON-ALIGNED
- F_BisDatum AT ROW 3.52 COL 44 COLON-ALIGNED
- T_Limite AT ROW 4.52 COL 28
- Btn_OK AT ROW 7.52 COL 28.4
- Btn_Cancel AT ROW 8 COL 52
- RECT-13 AT ROW 1.24 COL 2
- WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
- SIDE-LABELS NO-UNDERLINE THREE-D
- AT COL 1 ROW 1
- SIZE 74 BY 9.52.
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartWindow
- Allow: Basic,Browse,DB-Fields,Query,Smart,Window
- Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
- Design Page: 1
- Other Settings: COMPILE
- */
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- /* ************************* Create Window ************************** */
- &ANALYZE-SUSPEND _CREATE-WINDOW
- IF SESSION:DISPLAY-TYPE = "GUI":U THEN
- CREATE WINDOW wKreditlimiten ASSIGN
- HIDDEN = YES
- TITLE = "Auswertung der Kreditlimiten"
- HEIGHT = 9.52
- WIDTH = 74
- MAX-HEIGHT = 48.76
- MAX-WIDTH = 256
- VIRTUAL-HEIGHT = 48.76
- VIRTUAL-WIDTH = 256
- RESIZE = no
- SCROLL-BARS = no
- STATUS-AREA = no
- BGCOLOR = ?
- FGCOLOR = ?
- THREE-D = yes
- MESSAGE-AREA = no
- SENSITIVE = yes.
- ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
- &IF '{&WINDOW-SYSTEM}' NE 'TTY' &THEN
- IF NOT wKreditlimiten:LOAD-ICON("grafik/appl.ico":U) THEN
- MESSAGE "Unable to load icon: grafik/appl.ico"
- VIEW-AS ALERT-BOX WARNING BUTTONS OK.
- &ENDIF
- /* END WINDOW DEFINITION */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB wKreditlimiten
- /* ************************* Included-Libraries *********************** */
- {src/adm2/containr.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR WINDOW wKreditlimiten
- VISIBLE,,RUN-PERSISTENT */
- /* SETTINGS FOR FRAME fMain
- */
- /* SETTINGS FOR FILL-IN F_BisDatum IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_BisKgr IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_BisKnr IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_VonDatum IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_VonKgr IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_VonKnr IN FRAME fMain
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Limite IN FRAME fMain
- 6 */
- IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wKreditlimiten)
- THEN wKreditlimiten:HIDDEN = yes.
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME wKreditlimiten
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wKreditlimiten wKreditlimiten
- ON END-ERROR OF wKreditlimiten /* Auswertung der Kreditlimiten */
- OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO:
- IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY.
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wKreditlimiten wKreditlimiten
- ON WINDOW-CLOSE OF wKreditlimiten /* Auswertung der Kreditlimiten */
- 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 wKreditlimiten
- ON CHOOSE OF Btn_Cancel IN FRAME fMain /* 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 wKreditlimiten
- ON CHOOSE OF Btn_OK IN FRAME fMain /* 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
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK wKreditlimiten
- /* *************************** Main Block *************************** */
- MaxPage = 1.
- AktSeite = 1.
- Progname = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.') NO-ERROR.
- SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR.
- IF SAktiv THEN DO:
- Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
- AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
- END.
- SESSION:DATA-ENTRY-RETURN = TRUE.
- /* TRIGGERS ------------------------------------------------------ */
- ON 'END-ERROR':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
-
- /* Include custom Main Block code for SmartWindows. */
- {src/adm2/windowmn.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects wKreditlimiten _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 disable_UI wKreditlimiten _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.
- ------------------------------------------------------------------------------*/
- /* Delete the WINDOW we created */
- IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wKreditlimiten)
- THEN DELETE WIDGET wKreditlimiten.
- IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject wKreditlimiten
- PROCEDURE enableObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR wx AS INT NO-UNDO.
- DEF VAR wy AS INT NO-UNDO.
- DEF VAR xString AS CHAR NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION NO-ERROR.
- DYNAMIC-FUNCTION('GET_FEHLWERTE':U, INPUT Progname, INPUT Fenster ) NO-ERROR.
- ASSIGN {&List-6}.
- END.
- GET-KEY-VALUE SECTION 'FensterPositionen'
- KEY Progname
- VALUE xString.
- IF xString = ? THEN xString = '30;30'.
- IF xString = '' THEN xString = '30;30'.
- wx = INTEGER(ENTRY(1, xString, ';')).
- wy = INTEGER(ENTRY(2, xString, ';')).
- IF wx < 0 THEN wx = 1.
- IF wy < 0 THEN wy = 1.
-
- {&WINDOW-NAME}:X = wx.
- {&WINDOW-NAME}:Y = wy.
- RUN SUPER.
- IF SAktiv THEN RUN FENSTER_TITEL ( INPUT {&WINDOW-NAME}:HANDLE ) NO-ERROR.
- DO WITH FRAME {&FRAME-NAME}:
- DISPLAY {&List-6}.
- END.
- GET-KEY-VALUE SECTION 'FwDebitor'
- KEY 'Kred_Lim_Vers'
- VALUE xString.
- IF xString = ? THEN xString = ''.
- IF xString = '' THEN xString= '5000'.
- Limite = INTEGER(xString).
- GET-KEY-VALUE SECTION 'FwDebitor'
- KEY 'FwSicherheit'
- VALUE xString.
- IF xString = ? THEN xString = ''.
- IF xString = '' THEN xString= '85.00'.
- Sicherheit = DECIMAL(xString).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI wKreditlimiten _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_VonKnr F_BisKnr F_VonKgr F_BisKgr F_VonDatum F_BisDatum T_Limite
- WITH FRAME fMain IN WINDOW wKreditlimiten.
- ENABLE RECT-13 F_VonKnr F_BisKnr F_VonKgr F_BisKgr F_VonDatum F_BisDatum
- T_Limite Btn_OK Btn_Cancel
- WITH FRAME fMain IN WINDOW wKreditlimiten.
- {&OPEN-BROWSERS-IN-QUERY-fMain}
- VIEW wKreditlimiten.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE wKreditlimiten
- PROCEDURE ENDE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR wx AS INT NO-UNDO.
- DEF VAR wy AS INT NO-UNDO.
- DEF VAR xString AS CHAR NO-UNDO.
- IF Saktiv THEN RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
- wx = {&WINDOW-NAME}:X NO-ERROR.
- wy = {&WINDOW-NAME}:Y NO-ERROR.
- xString = STRING(wx) + ';' + STRING(wy).
- PUT-KEY-VALUE SECTION 'FensterPositionen'
- KEY Progname
- VALUE xString.
- APPLY "CLOSE":U TO THIS-PROCEDURE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject wKreditlimiten
- PROCEDURE exitObject :
- /*------------------------------------------------------------------------------
- Purpose: Window-specific override of this procedure which destroys
- its contents and itself.
- Notes:
- ------------------------------------------------------------------------------*/
- RUN ENDE.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF wKreditlimiten
- PROCEDURE KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER eh AS COM-HANDLE NO-UNDO.
- DEF VAR Zelle AS CHAR NO-UNDO.
- FIND Steuer USE-INDEX Steuer-k1
- WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
- Zelle = 'A1'.
- eh:Range(Zelle):Select.
- eh:Selection:VALUE = Steuer.Firma1.
- Zelle = 'D1'.
- eh:Range(Zelle):Select.
- eh:Selection:VALUE = 'Kreditlimitten-Liste'.
- Zelle = 'I1'.
- eh:Range(Zelle):Select.
- eh:Selection:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
- Zelle = 'A2'.
- eh:Range(Zelle):Select.
- eh:Selection:VALUE = Steuer.Ort.
- Zelle = 'D2'.
- eh:Range(Zelle):Select.
- eh:Selection:VALUE = STRING(F_VonDatum,'99.99.9999')
- + ' - '
- + STRING(F_BisDatum,'99.99.9999').
- Zelle = 'I2'.
- eh:Range(Zelle):Select.
- eh:Selection:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT wKreditlimiten
- PROCEDURE REPORT :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR Saldo AS DEC NO-UNDO.
- DEF VAR GSaldo AS DEC NO-UNDO.
- DEF VAR TSaldo AS DEC NO-UNDO.
- DEF VAR Sicher AS DEC NO-UNDO.
- DEF VAR GSicher AS DEC NO-UNDO.
- DEF VAR TSicher AS DEC NO-UNDO.
- DEF VAR Umsatz AS DEC NO-UNDO.
- DEF VAR GUmsatz AS DEC NO-UNDO.
- DEF VAR TUmsatz AS DEC NO-UNDO.
- DEF VAR cKgr AS CHAR NO-UNDO.
- DEF VAR ja AS LOG NO-UNDO.
- DEF VAR Zelle AS CHAR NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- IF F_VonDatum = ? THEN F_VonDatum = DATE(01,01,0001).
- IF F_BisDatum = ? THEN F_BisDatum = DATE(12,31,YEAR(TODAY)).
- IF F_BisDatum < F_VonDatum THEN F_BisDatum = F_BisDatum.
- IF F_VonKnr = 0 AND F_BisKnr = 0 THEN F_BisKnr = 999999.
- IF F_VonKgr = 0 AND F_BisKgr = 0 THEN F_BisKgr = 999.
- IF F_VonKnr > F_BisKnr THEN F_BisKnr = F_VonKnr .
- IF F_VonKgr > F_BisKgr THEN F_BisKgr = F_VonKgr .
- DISPLAY {&List-6}.
- DYNAMIC-FUNCTION('PUT_FEHLWERTE':U, INPUT Progname, INPUT Fenster) NO-ERROR.
- END.
- RUN TEMPFILE_FUELLEN.
- FIND FIRST TLimite NO-LOCK NO-ERROR.
- IF NOT AVAILABLE TLimite THEN DO:
- MESSAGE 'Keine Daten Selektiert ! ' VIEW-AS ALERT-BOX INFORMATION.
- RETURN ''.
- END.
- cVorlage = 'Kreditlimiten.xls'.
- cDokument = 'Kreditlimiten.xls'.
- cDaten = 'Kreditlimiten.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.
- OUTPUT TO VALUE(cDaten).
- TSaldo = 0.
- TSicher = 0.
- TUmsatz = 0.
- FOR EACH TLimite USE-INDEX TLimite-k1
- BREAK BY TLimite.Kgr
- BY TLimite.Knr :
- IF FIRST-OF ( TLimite.Kgr ) THEN DO:
- GSaldo = 0.
- GSicher = 0.
- GUmsatz = 0.
- cKgr = DYNAMIC-FUNCTION('XGET_KUNDENGRUPPE':U, INPUT TLimite.Kgr) NO-ERROR.
- PUT CONTROL STRING(TLimite.Kgr,'999 ')
- cKgr
- CHR(10).
- END.
- ASSIGN GSaldo = GSaldo + TLimite.Saldo
- GSicher = GSicher + TLimite.Sicher
- GUmsatz = GUmsatz + TLimite.Umsatz.
- ASSIGN TSaldo = TSaldo + TLimite.Saldo
- TSicher = TSicher + TLimite.Sicher
- TUmsatz = TUmsatz + TLimite.Umsatz.
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = TLimite.Knr NO-LOCK NO-ERROR.
- PUT CONTROL '£'
- STRING(TLimite.Knr ,'999999') '£'
- Adresse.Anzeig_Br '££'
- TLimite.Frw '£'
- TRIM(STRING(TLimite.Saldo ,'->>>>>>>9')) '£'
- TRIM(STRING(TLimite.Umsatz,'->>>>>>>9')) '£'
- TRIM(STRING(TLimite.Limite,'->>>>>>>9')) '£'
- TRIM(STRING(TLimite.Sicher,'->>>>>>>9')) CHR(10).
- IF NOT LAST-OF ( TLimite.Kgr ) THEN NEXT.
- PUT CONTROL 'Total Kundengruppe '
- STRING(TLimite.Kgr ,'999') '£££££'
- TRIM(STRING(GSaldo ,'->>>>>>>9')) '£'
- TRIM(STRING(GUmsatz,'->>>>>>>9')) '££'
- TRIM(STRING(GSicher,'->>>>>>>9')) CHR(10)
- '£' CHR(10).
- END.
- PUT CONTROL 'Gesamttotal aller Gruppen' '£££££'
- TRIM(STRING(TSaldo ,'->>>>>>>9')) '£'
- TRIM(STRING(TUmsatz,'->>>>>>>9')) '££'
- TRIM(STRING(TSicher,'->>>>>>>9')) CHR(10).
- OUTPUT CLOSE.
- 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.
- Zelle = 'A5'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten.
- excelAppl:APPLICATION:RUN ( 'DateiEinfügen' ).
- RUN KOPF ( INPUT excelAppl ).
- Zelle = 'A1'.
- excelAppl:Range(Zelle):SELECT.
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEMPFILE_FUELLEN wKreditlimiten
- PROCEDURE TEMPFILE_FUELLEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR Knr AS INT NO-UNDO INIT -1.
- DEF VAR Saldo AS DEC NO-UNDO.
- DEF VAR Umsatz AS DEC NO-UNDO.
- EMPTY TEMP-TABLE TLimite.
- FOR EACH Debop USE-INDEX Debop-k1
- WHERE Debop.Firma = Firma
- AND Debop.Knr >= F_VonKnr
- AND Debop.Knr <= F_BisKnr
- AND Debop.FakDat >= F_VonDatum
- AND Debop.FakDat <= F_BisDatum NO-LOCK,
- FIRST Debst NO-LOCK USE-INDEX Debst-k1
- WHERE Debst.firma = Debop.Firma
- AND Debst.Knr = Debop.Knr
- AND Debst.Ku_Grp >= F_VonKgr
- AND Debst.Ku_Grp <= F_BisKgr
- AND ((NOT T_Limite) OR
- (T_Limite AND Debst.Kred_Lim_Vers > 0))
- BREAK BY Debop.Knr
- BY Debop.Faknr :
- IF FIRST-OF ( Debop.Knr ) THEN DO:
- Saldo = 0.
- Umsatz = 0.
- END.
- Saldo = Saldo + Debop.Saldo.
- Umsatz = Umsatz + Debop.Fakbetr.
- IF NOT LAST-OF ( Debop.Knr ) THEN NEXT.
- CREATE TLimite.
- ASSIGN TLimite.Kgr = Debst.Ku_Grp
- TLimite.Knr = Debst.Knr
- TLimite.Saldo = Saldo
- TLimite.Umsatz = Umsatz
- TLimite.Limite = Debst.Kred_Lim_Vers
- TLimite.Frw = Debst.Frw
- TLimite.Sicher = 0.
- IF TLimite.Limite = 0 THEN NEXT.
- IF TLimite.Saldo < TLimite.Limite THEN TLimite.Sicher = TLimite.Saldo * Sicherheit / 100.
- ELSE TLimite.Sicher = TLimite.Limite * Sicherheit / 100.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Implementations ***************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION XGET_KUNDENGRUPPE wKreditlimiten
- FUNCTION XGET_KUNDENGRUPPE RETURNS CHARACTER
- ( ipKgr AS INT ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- FIND FIRST Tabel USE-INDEX Tabel-k1
- WHERE Tabel.Firma = Firma
- AND Tabel.RecArt = 'KUNDGRP'
- AND Tabel.CodeC = ''
- AND Tabel.CodeI = ipKgr NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Tabel THEN RETURN '?????????'.
- RETURN Tabel.Bez1.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|