| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2
- &ANALYZE-RESUME
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &Scoped-define FRAME-NAME gVerband
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gVerband
- /*------------------------------------------------------------------------
- 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 Fenster AS HANDLE NO-UNDO.
- DEF VAR Verband_Grp AS INT NO-UNDO.
- DEF VAR Firma AS CHAR INIT '1000' NO-UNDO.
- DEF VAR AdFirma AS CHAR INIT '1000' NO-UNDO.
- DEF VAR Progname AS CHAR INIT '1000' NO-UNDO.
- DEF VAR FwSprcd AS INT NO-UNDO.
- DEF VAR RetVal AS CHAR NO-UNDO.
- DEF VAR Faknr AS INT NO-UNDO INIT 999999.
- DEF BUFFER BAdresse FOR Adresse.
- DEF BUFFER BDebst FOR Debst.
- DEF TEMP-TABLE TDebop LIKE Debop.
- DEF WORKFILE WDebop LIKE Debop.
- /* _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 first Frame and/or Browse and/or first Query */
- &Scoped-define FRAME-NAME gVerband
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS CB_Verband VonKnr BisKnr VonDatum BisDatum ~
- Fakturadatum FakKnr T_Verbuchen Btn_Excel F_Adresse RECT-37
- &Scoped-Define DISPLAYED-OBJECTS CB_Verband VonKnr BisKnr VonDatum BisDatum ~
- Fakturadatum FakKnr T_Verbuchen F_Adresse
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-5 Btn_Excel
- &Scoped-define List-6 CB_Verband VonKnr BisKnr VonDatum BisDatum ~
- Fakturadatum FakKnr T_Verbuchen F_Adresse
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Define a dialog box */
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Excel
- IMAGE-UP FILE "grafik/results%.ico":U
- IMAGE-INSENSITIVE FILE "grafik/results%.ico":U
- LABEL "Excel"
- SIZE 7 BY 1.81.
- DEFINE VARIABLE CB_Verband AS CHARACTER FORMAT "X(256)":U
- LABEL "Verband"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 46 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE BisDatum AS DATE FORMAT "99.99.9999":U
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE BisKnr AS INTEGER FORMAT "999999":U INITIAL 999999
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE FakKnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "Knr der Faktura"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE Fakturadatum AS DATE FORMAT "99.99.9999":U
- LABEL "Datum für Gesamtrechnung"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Adresse AS CHARACTER FORMAT "X(256)":U
- VIEW-AS FILL-IN NATIVE
- SIZE 48 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE VonDatum AS DATE FORMAT "99.99.9999":U INITIAL 01/01/00
- LABEL "von - bis Fakturadatum"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE 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-37
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 90 BY 9.05.
- DEFINE VARIABLE T_Verbuchen AS LOGICAL INITIAL no
- LABEL "Verbuchen nach Liste"
- VIEW-AS TOGGLE-BOX
- SIZE 45 BY 1 NO-UNDO.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME gVerband
- CB_Verband AT ROW 2 COL 28 COLON-ALIGNED
- VonKnr AT ROW 3 COL 28 COLON-ALIGNED
- BisKnr AT ROW 3 COL 46 COLON-ALIGNED
- VonDatum AT ROW 4 COL 28 COLON-ALIGNED
- BisDatum AT ROW 4 COL 46 COLON-ALIGNED NO-LABEL
- Fakturadatum AT ROW 6 COL 28 COLON-ALIGNED
- FakKnr AT ROW 7 COL 28 COLON-ALIGNED
- T_Verbuchen AT ROW 8.33 COL 30
- Btn_Excel AT ROW 4 COL 82.2
- F_Adresse AT ROW 7 COL 39 COLON-ALIGNED NO-LABEL NO-TAB-STOP
- RECT-37 AT ROW 1.24 COL 2
- SPACE(0.99) SKIP(0.22)
- WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
- SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
- TITLE "Verbandsabrechnung".
- /* *********************** 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 gVerband
- /* ************************* 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 gVerband
- Custom */
- ASSIGN
- FRAME gVerband:SCROLLABLE = FALSE
- FRAME gVerband:HIDDEN = TRUE.
- /* SETTINGS FOR FILL-IN BisDatum IN FRAME gVerband
- 6 */
- /* SETTINGS FOR FILL-IN BisKnr IN FRAME gVerband
- 6 */
- /* SETTINGS FOR BUTTON Btn_Excel IN FRAME gVerband
- 5 */
- /* SETTINGS FOR COMBO-BOX CB_Verband IN FRAME gVerband
- 6 */
- /* SETTINGS FOR FILL-IN FakKnr IN FRAME gVerband
- 6 */
- /* SETTINGS FOR FILL-IN Fakturadatum IN FRAME gVerband
- 6 */
- /* SETTINGS FOR FILL-IN F_Adresse IN FRAME gVerband
- 6 */
- ASSIGN
- F_Adresse:READ-ONLY IN FRAME gVerband = TRUE.
- /* SETTINGS FOR TOGGLE-BOX T_Verbuchen IN FRAME gVerband
- 6 */
- /* SETTINGS FOR FILL-IN VonDatum IN FRAME gVerband
- 6 */
- /* SETTINGS FOR FILL-IN VonKnr IN FRAME gVerband
- 6 */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gVerband
- /* Query rebuild information for DIALOG-BOX gVerband
- _Options = "SHARE-LOCK"
- _Query is NOT OPENED
- */ /* DIALOG-BOX gVerband */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME gVerband
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gVerband gVerband
- ON END-ERROR OF FRAME gVerband /* Verbandsabrechnung */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gVerband gVerband
- ON GO OF FRAME gVerband /* Verbandsabrechnung */
- DO:
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gVerband gVerband
- ON WINDOW-CLOSE OF FRAME gVerband /* Verbandsabrechnung */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Excel
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Excel gVerband
- ON CHOOSE OF Btn_Excel IN FRAME gVerband /* Excel */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- SESSION:SET-WAIT-STATE('GENEARL').
- Btn_Excel:VISIBLE = FALSE.
- RUN REPORT.
- Btn_Excel:VISIBLE = TRUE.
- SESSION:SET-WAIT-STATE('').
- RUN ENDE.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME FakKnr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL FakKnr gVerband
- ON LEAVE OF FakKnr IN FRAME gVerband /* Knr der Faktura */
- DO:
- RUN KUNDE ( INPUT INTEGER(SELF:SCREEN-VALUE) ).
- IF RETURN-VALUE = 'ERROR' THEN DO:
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
- F_Adresse:SCREEN-VALUE IN FRAME {&FRAME-NAME} = BAdresse.Anzeig_Br.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gVerband
- /* *************************** Main Block *************************** */
- MaxPage = 1.
- AktSeite = 1.
- Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
- AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
- ProgName = DYNAMIC-FUNCTION('MAKEPROGNAME':U, INPUT THIS-PROCEDURE) NO-ERROR.
- SESSION:DATA-ENTRY-RETURN = TRUE.
- /* TRIGGERS ------------------------------------------------------ */
- /* ------------------------------------------------------------------ */
- {src/adm2/dialogmn.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gVerband _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 gVerband _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 gVerband.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gVerband
- PROCEDURE enableObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cString AS CHAR NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- RUN COMBO_VERBAND ( INPUT CB_Verband:HANDLE ).
- END.
- RUN SUPER.
- RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
- IF NOT VALID-HANDLE(Fenster)
- THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
- IF VALID-HANDLE(Fenster) THEN Fenster = Fenster:FIRST-CHILD.
- DO WHILE VALID-HANDLE(Fenster).
- DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
- IF Fenster:TYPE = 'EDITOR' THEN LEAVE.
- IF Fenster:TYPE = 'LITERAL' THEN LEAVE.
- IF Fenster:TYPE = 'RECTANGLE' THEN LEAVE.
- IF Fenster:TYPE = 'BUTTON' THEN LEAVE.
- GET-KEY-VALUE SECTION 'Verbandsabrechnung'
- KEY Fenster:NAME
- VALUE cString.
- IF cString = ? THEN LEAVE.
- Fenster:SCREEN-VALUE = cString NO-ERROR.
- LEAVE.
- END.
- Fenster = Fenster:NEXT-SIBLING.
- END.
- RUN LESENFWAUSWERTUNGEN ( INPUT FRAME {&FRAME-NAME}:HANDLE, INPUT Progname ) NO-ERROR.
- T_Verbuchen = FALSE.
- DISPLAY T_Verbuchen WITH FRAME {&FRAME-NAME}.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gVerband _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 CB_Verband VonKnr BisKnr VonDatum BisDatum Fakturadatum FakKnr
- T_Verbuchen F_Adresse
- WITH FRAME gVerband.
- ENABLE CB_Verband VonKnr BisKnr VonDatum BisDatum Fakturadatum FakKnr
- T_Verbuchen Btn_Excel F_Adresse RECT-37
- WITH FRAME gVerband.
- VIEW FRAME gVerband.
- {&OPEN-BROWSERS-IN-QUERY-gVerband}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gVerband
- 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 gVerband
- 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 gVerband
- 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 = 'B1'.
- eh:Range(Zelle):SELECT.
- eh:SELECTION:VALUE = Steuer.Firma1.
- Zelle = 'D1'.
- eh:Range(Zelle):SELECT.
- eh:SELECTION:VALUE = 'Preisliste ' + xPreisgrp.
- Zelle = 'H1'.
- eh:Range(Zelle):SELECT.
- eh:SELECTION:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
- Zelle = 'B2'.
- eh:Range(Zelle):SELECT.
- eh:SELECTION:VALUE = Steuer.Ort.
- Zelle = 'D2'.
- eh:Range(Zelle):SELECT.
- eh:SELECTION:VALUE = ''.
- Zelle = 'H2'.
- 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 KUNDE gVerband
- PROCEDURE KUNDE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipKnr AS INT NO-UNDO.
- FIND BAdresse USE-INDEX Adresse-k1
- WHERE BAdresse.Firma = AdFirma
- AND BAdresse.Knr = ipKnr NO-LOCK NO-ERROR.
- IF NOT AVAILABLE BAdresse THEN RETURN 'ERROR'.
- IF NOT BAdresse.Aktiv THEN RETURN 'ERROR'.
- FIND BDebst USE-INDEX Debst-k1
- WHERE BDebst.Firma = Firma
- AND BDebst.Knr = ipKnr NO-LOCK NO-ERROR.
- IF NOT AVAILABLE BDebst THEN RETURN 'ERROR'.
- IF NOT BDebst.Aktiv THEN RETURN 'ERROR'.
- RETURN ''.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gVerband
- PROCEDURE REPORT :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cString AS CHAR NO-UNDO.
- DEF VAR ix AS INT NO-UNDO.
- DEF VAR ii AS INT NO-UNDO.
- DEF VAR Betr1 AS DEC NO-UNDO EXTENT 3.
- DEF VAR Betr2 AS DEC NO-UNDO EXTENT 3.
- DEF VAR Betr3 AS DEC NO-UNDO EXTENT 3.
- DEF VAR Rab1 AS DEC NO-UNDO.
- DEF VAR Rab2 AS DEC NO-UNDO.
- DEF VAR Netto AS DEC NO-UNDO.
- DEF VAR VWpfl AS DEC NO-UNDO EXTENT 12.
- DEF VAR VWust AS DEC NO-UNDO EXTENT 12.
- DEF VAR OK AS LOG NO-UNDO.
- DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
- DEF VAR Vorlage AS CHAR NO-UNDO.
- DEF VAR Dokument AS CHAR NO-UNDO.
- DEF VAR Daten AS CHAR NO-UNDO.
- DEF VAR Zelle AS CHAR NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- IF VonKnr = 0 AND BisKnr = 0 THEN BisKnr = 999999.
- IF VonDatum = ? THEN VonDatum = DATE(MONTH(TODAY),01,YEAR(TODAY)).
- IF BisDatum = ? THEN DO:
- BisDatum = VonDatum.
- DO WHILE MONTH(BisDatum) = MONTH(VonDatum):
- BisDatum = BisDatum + 1.
- END.
- BisDatum = BisDatum - 1.
- END.
- IF Fakturadatum = ? THEN Fakturadatum = TODAY.
- RUN KUNDE ( INPUT FakKnr ).
- IF RETURN-VALUE = 'ERROR' THEN RETURN.
- F_Adresse:SCREEN-VALUE IN FRAME {&FRAME-NAME} = BAdresse.Anzeig_Br.
- Verband_Grp = INTEGER(CB_Verband:SCREEN-VALUE).
- DISPLAY {&List-6}.
- END.
- IF NOT VALID-HANDLE(Fenster)
- THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
- IF VALID-HANDLE(Fenster) THEN Fenster = Fenster:FIRST-CHILD.
- DO WHILE VALID-HANDLE(Fenster).
- DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
- IF Fenster:TYPE = 'EDITOR' THEN LEAVE.
- IF Fenster:TYPE = 'LITERAL' THEN LEAVE.
- IF Fenster:TYPE = 'RECTANGLE' THEN LEAVE.
- IF Fenster:TYPE = 'BUTTON' THEN LEAVE.
- cString = Fenster:SCREEN-VALUE.
- PUT-KEY-VALUE SECTION 'Verbandsabrechnung'
- KEY Fenster:NAME
- VALUE cString.
- LEAVE.
- END.
- Fenster = Fenster:NEXT-SIBLING.
- END.
- RUN SCHREIBENFWAUSWERTUNGEN
- ( INPUT FRAME {&FRAME-NAME}:HANDLE, INPUT Progname ) NO-ERROR.
- RUN SELEKTION.
- FIND FIRST TDebop NO-LOCK NO-ERROR.
- IF NOT AVAILABLE TDebop THEN RETURN.
- Vorlage = 'Verbandsabrechnung.xls'.
- Dokument = Vorlage + CHR(01) + Vorlage.
- Daten = 'Verbandsabrechnung.csv'.
- excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
- IF NOT VALID-HANDLE(excelAppl) THEN DO:
- RUN FEHLER ( INPUT 1035 ).
- RETURN NO-APPLY.
- END.
- DO WHILE TRUE:
- RUN CREATEDATEI ( INPUT Dokument ).
- IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
- CASE RETURN-VALUE:
- WHEN 'ERROR-PARAMETER' THEN DO:
- RUN FEHLER ( INPUT 1036 ).
- RETURN NO-APPLY.
- END.
- WHEN 'ERROR-LOESCHEN' THEN DO:
- RUN FEHLER ( INPUT 1037 ).
- RETURN NO-APPLY.
- END.
- WHEN 'ERROR-VORLAGE' THEN DO:
- RUN FEHLER ( INPUT 1038 ).
- RETURN NO-APPLY.
- END.
- OTHERWISE DO:
- MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
- RETURN NO-APPLY.
- END.
- END CASE.
- LEAVE.
- END.
- Dokument = RETURN-VALUE.
- DO WHILE TRUE:
- RUN CREATEDATEI ( INPUT Daten ).
- IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
- CASE RETURN-VALUE:
- WHEN 'ERROR-PARAMETER' THEN DO:
- RUN FEHLER ( INPUT 1036 ).
- RETURN NO-APPLY.
- END.
- WHEN 'ERROR-LOESCHEN' THEN DO:
- RUN FEHLER ( INPUT 1037 ).
- RETURN NO-APPLY.
- END.
- WHEN 'ERROR-VORLAGE' THEN DO:
- RUN FEHLER ( INPUT 1038 ).
- RETURN NO-APPLY.
- END.
- OTHERWISE DO:
- MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
- RETURN NO-APPLY.
- END.
- END CASE.
- LEAVE.
- END.
- Daten = RETURN-VALUE.
- FIND Steuer USE-INDEX Steuer-k1
- WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
- IF T_Verbuchen THEN DO:
- RUN NUMMER_LOESEN ( INPUT 2, OUTPUT Faknr ).
- END.
- OUTPUT TO VALUE(Daten).
- PUT CONTROL '£' CHR(10).
- DO ix = 1 TO 11:
- CASE ix:
- WHEN 2 THEN PUT CONTROL '£' Steuer.Firma1 '££'.
- WHEN 3 THEN PUT CONTROL '£' Steuer.Firma2 '££'.
- WHEN 4 THEN PUT CONTROL '£' Steuer.Strasse '££'.
- WHEN 5 THEN PUT CONTROL '£' Steuer.Ort '££'.
- WHEN 6 THEN PUT CONTROL '£MWST-Nr : ' Steuer.MWST_Nr '££'.
- OTHERWISE PUT CONTROL '£££'.
- END CASE.
- PUT CONTROL BAdresse.Anschrift[ix] CHR(10).
- END.
- PUT CONTROL '£' CHR(10)
- '£' CHR(10)
- '£' CHR(10)
- '£Rechnung : '
- STRING(Faknr,'999999')
- '££'
- Steuer.Ort
- ', '
- STRING(Fakturadatum,'99.99.9999') CHR(10) '£' CHR(10).
- PUT CONTROL '£Knr£Filiale£Faknr£Ansatz1£Ansatz2£Total' CHR(10) '£' CHR(10).
- Betr1 = 0.
- Betr2 = 0.
- Betr3 = 0.
- VWpfl = 0.
- VWust = 0.
- FOR EACH TDebop USE-INDEX Debop-k1 NO-LOCK,
- FIRST Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = TDebop.Knr NO-LOCK
- BREAK BY TDebop.Knr
- BY TDebop.Faknr :
- IF FIRST-OF ( TDebop.Faknr ) THEN DO:
- Betr1[01] = 0.
- Betr2[01] = 0.
- Betr3[01] = 0.
- END.
- IF FIRST-OF ( TDebop.Knr ) THEN DO:
- Betr1[02] = 0.
- Betr2[02] = 0.
- Betr3[02] = 0.
- END.
- DO ix = 1 TO 11:
- VWpfl[ix] = VWpfl[ix] + TDebop.FakWpfl[ix].
- VWust[ix] = VWust[ix] + TDebop.FakWust[ix].
- IF ix = 11 THEN NEXT.
- IF TDebop.FakWpfl[ix] = 0 THEN NEXT.
- IF TDebop.FakWpro[ix] < 5 THEN ii = 1.
- ELSE ii = 2.
- CASE ii:
- WHEN 1 THEN DO:
- Betr1[01] = Betr1[01] + TDebop.FakWpfl[ix].
- Betr1[02] = Betr1[02] + TDebop.FakWpfl[ix].
- Betr1[03] = Betr1[03] + TDebop.FakWpfl[ix].
- END.
- WHEN 2 THEN DO:
- Betr2[01] = Betr2[01] + TDebop.FakWpfl[ix].
- Betr2[02] = Betr2[02] + TDebop.FakWpfl[ix].
- Betr2[03] = Betr2[03] + TDebop.FakWpfl[ix].
- END.
- END CASE.
- END.
- Betr3[01] = Betr3[01] + TDebop.FakBetr.
- Betr3[02] = Betr3[02] + TDebop.FakBetr.
- Betr3[03] = Betr3[03] + TDebop.FakBetr.
- PUT CONTROL '£'
- STRING(TDebop.Knr ,'999999') '£'
- Adresse.Anzeig_Br '£'
- STRING(TDebop.Faknr ,'999999') '£'
- TRIM(STRING(Betr1[01],'->>>>>>>>9.99')) '£'
- TRIM(STRING(Betr2[01],'->>>>>>>>9.99')) '£'
- TRIM(STRING(Betr3[01],'->>>>>>>>9.99')) CHR(10).
- END.
- PUT CONTROL '£' CHR(10)
- 'Total aller Rechnungen££££'
- TRIM(STRING(Betr1[03],'->>>>>>>>9.99')) '£'
- TRIM(STRING(Betr2[03],'->>>>>>>>9.99')) '£'
- TRIM(STRING(Betr3[03],'->>>>>>>>9.99')) CHR(10).
- Rab1 = Betr1[03] * 4.0 / 100 * -1.
- Rab2 = Betr2[03] * 3.2 / 100 * -1.
- Netto = Betr3[03] + Rab1 + Rab2.
- PUT CONTROL '£Rabatt 4.0% auf Ansatz 1£££££'
- TRIM(STRING(Rab1,'->>>>>>>>9.99')) CHR(10).
- PUT CONTROL '£Rabatt 3.2% auf Ansatz 2£££££'
- TRIM(STRING(Rab2,'->>>>>>>>9.99')) CHR(10).
- PUT CONTROL 'Netto-Rechnungsbetrag££££££'
- TRIM(STRING(Netto,'->>>>>>>>9.99')) CHR(10) '£' CHR(10).
- PUT CONTROL 'Mehrwertsteueraufstellung' CHR(10).
- DO ix = 1 TO 11:
- IF VWpfl[ix] = 0 THEN NEXT.
- FIND LAST MWSTAns USE-INDEX MWSTAns-k1
- WHERE MWSTAns.MWST_Cd = ix
- AND MWSTAns.Datum <= Fakturadatum NO-LOCK.
- PUT CONTROL '££'
- MWSTAns.Bez '££'
- TRIM(STRING(VWpfl[ix],'->>>>>>>>9.99')) '£'
- TRIM(STRING(MWSTAns.Ansatz,'z9.99')) '£'
- TRIM(STRING(VWust[ix],'->>>>>>>>9.99')) CHR(10).
- END.
- OUTPUT CLOSE.
- RUN OPENEXCEL ( INPUT excelAppl,
- INPUT Dokument,
- INPUT '',
- OUTPUT ok ).
- IF NOT ok THEN DO:
- RUN FEHLER ( INPUT 1040 ).
- RETURN NO-APPLY.
- END.
- Zelle = 'A1'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:Selection:FormulaR1C1 = 'TEXT;' + Daten.
- excelAppl:Application:RUN ( 'DateiEinfügen' ).
- RUN KOPF ( INPUT excelAppl ).
- Zelle = 'A1'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:Selection:ColumnWidth = 0.3.
-
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
- IF T_Verbuchen THEN RUN VERBUCHEN.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SELEKTION gVerband
- PROCEDURE SELEKTION :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- FOR EACH TDebop:
- DELETE TDebop.
- END.
- FOR EACH Debop USE-INDEX Debop-k1
- WHERE Debop.Firma = Firma
- AND Debop.Knr >= VonKnr
- AND Debop.Knr <= BisKnr
- AND Debop.FakDat >= VonDatum
- AND Debop.FakDat <= BisDatum
- AND Debop.Saldo = Debop.FakBetr NO-LOCK,
- FIRST Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = Debop.Firma
- AND Debst.Knr = Debop.Knr
- AND Debst.Verband_Grp = Verband_Grp NO-LOCK:
- CREATE TDebop.
- BUFFER-COPY Debop TO TDebop.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VERBUCHEN gVerband
- PROCEDURE VERBUCHEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR ix AS INT NO-UNDO.
- DEF VAR VTrNr1 AS INT NO-UNDO.
- DEF VAR VTrNr2 AS INT NO-UNDO.
- DEF VAR ja AS LOG NO-UNDO INIT FALSE.
- MESSAGE 'Wollen Sie die verbuchung starten ? '
- VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
- UPDATE ja.
- IF NOT Ja THEN RETURN.
- FIND FIRST Kondi USE-INDEX Kondi-k1
- WHERE Kondi.Kond = BDebst.Kond NO-LOCK NO-ERROR.
- REPEAT TRANSACTION:
- FIND LAST TransNr USE-INDEX TransNr-k1
- WHERE TransNr.Firma = '9999' NO-LOCK NO-ERROR.
- IF AVAILABLE TransNr THEN DO:
- VTrNr1 = TransNr.TrNr1 + 1.
- VTrNr2 = 1.
- END.
- ELSE DO:
- VTrNr1 = 1.
- VTrNr2 = 1.
- END.
- CREATE TransNr.
- ASSIGN TransNr.Firma = '9999'
- TransNr.TrNr1 = VTrNr1
- TransNr.TrNr2 = VTrNr2
- TransNr.Herk = 69.
- FOR EACH WDebop:
- DELETE WDebop.
- END.
- CREATE WDebop.
- ASSIGN WDebop.Firma = Firma
- WDebop.Knr = BDebst.Knr
- WDebop.Faknr = Faknr
- WDebop.Fakdat = Fakturadatum
- WDebop.Faellig = Fakturadatum + Kondi.Faellig
- WDebop.Kond = BDebst.Kond
- WDebop.Kte = 'VERB'
- WDebop.Vertr = 0
- WDebop.TrNr1 = VTrNr1
- WDebop.TrNr2 = VTrNr2.
- FIND FIRST TDebop NO-LOCK.
- ASSIGN WDebop.MahDat = ?
- WDebop.MahAnz = 0
- WDebop.MahStu = 0
- WDebop.Konto = TDebop.Konto
- WDebop.WustAbr = TDebop.WustAbr
- WDebop.FRW = TDebop.FRW
- WDebop.Kurs = TDebop.Kurs
- WDebop.Faktor = TDebop.Faktor.
- FOR EACH TDebop:
- FIND FIRST WDebop.
- ASSIGN WDebop.Saldo = WDebop.Saldo + TDebop.Saldo
- WDebop.Fakbetr = WDebop.Fakbetr + TDebop.Fakbetr
- WDebop.Zahbetr = WDebop.Zahbetr + TDebop.Zahbetr
- WDebop.Skonto = WDebop.Skonto + TDebop.Skonto
- WDebop.Skber = WDebop.Skber + TDebop.Skber
- WDebop.WW = WDebop.WW + TDebop.WW
- WDebop.Porto = WDebop.Porto + TDebop.Porto
- WDebop.Verpack = WDebop.Verpack + TDebop.Verpack
- WDebop.Transp = WDebop.Transp + TDebop.Transp.
- DO ix = 1 TO 12:
- IF TDebop.Fakwpfl[ix] = 0 THEN NEXT.
- ASSIGN WDebop.Fakwpfl[ix] = WDebop.Fakwpfl[ix] + TDebop.Fakwpfl[ix]
- WDebop.Fakwust[ix] = WDebop.Fakwust[ix] + TDebop.Fakwust[ix]
- WDebop.Fakwpro[ix] = TDebop.Fakwpro[ix]
- WDebop.Fakincl[ix] = TDebop.Fakincl[ix].
- END.
- FIND Debst WHERE Debst.Firma = TDebop.Firma
- AND Debst.Knr = TDebop.Knr.
- FIND Debop WHERE Debop.Firma = TDebop.Firma
- AND Debop.Knr = TDebop.Knr
- AND Debop.Faknr = TDebop.Faknr.
- Debst.Saldo = Debst.Saldo - TDebop.Saldo.
- FIND LAST Debhi USE-INDEX Debhi-k1
- WHERE Debhi.Firma = TDebop.Firma
- AND Debhi.Knr = TDebop.Knr NO-LOCK NO-ERROR.
- IF AVAILABLE Debhi THEN ix = Debhi.Trnr + 1.
- ELSE ix = 1.
- CREATE Debhi.
- ASSIGN Debhi.Firma = TDebop.Firma
- Debhi.Knr = TDebop.Knr
- Debhi.Trnr = ix
- Debhi.TrNr1 = VTrNr1
- Debhi.TrNr2 = VTrNr2
- Debhi.Datum = Fakturadatum
- Debhi.Faknr = TDebop.Faknr
- Debhi.Haben = TDebop.Saldo
- Debhi.Kte = 'VERB'
- Debhi.Konto = TDebop.Konto
- Debhi.Skonto = 0
- Debhi.Saldo = Debst.Saldo
- Debhi.FRW = TDebop.Frw
- Debhi.Kurs = TDebop.Kurs
- Debhi.Faktor = TDebop.Faktor.
- DELETE Debop.
- END.
- FIND FIRST WDebop.
- FIND Debst WHERE Debst.Firma = WDebop.Firma
- AND Debst.Knr = WDebop.Knr.
- Debst.Saldo = Debst.Saldo + WDebop.Saldo.
- CREATE Debop.
- BUFFER-COPY WDebop TO Debop.
- FIND LAST Debhi USE-INDEX Debhi-k1
- WHERE Debhi.Firma = WDebop.Firma
- AND Debhi.Knr = WDebop.Knr NO-LOCK NO-ERROR.
- IF AVAILABLE Debhi THEN ix = Debhi.Trnr + 1.
- ELSE ix = 1.
- CREATE Debhi.
- ASSIGN Debhi.Firma = WDebop.Firma
- Debhi.Knr = WDebop.Knr
- Debhi.Trnr = ix
- Debhi.TrNr1 = VTrNr1
- Debhi.TrNr2 = VTrNr2
- Debhi.Datum = Fakturadatum
- Debhi.Faknr = WDebop.Faknr
- Debhi.Haben = 0
- Debhi.Soll = WDebop.Saldo
- Debhi.Kte = 'VERB'
- Debhi.Konto = WDebop.Konto
- Debhi.Skonto = 0
- Debhi.Saldo = Debst.Saldo
- Debhi.FRW = WDebop.Frw
- Debhi.Kurs = WDebop.Kurs
- Debhi.Faktor = WDebop.Faktor.
- LEAVE.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|