&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2 &ANALYZE-RESUME /* Connected Databases anadat PROGRESS */ &Scoped-define WINDOW-NAME CURRENT-WINDOW &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS bTableWin /*------------------------------------------------------------------------ File: adm2\src\browser.w Description: SmartDataBrowser Object Input Parameters: Output Parameters: ------------------------------------------------------------------------*/ /* 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 --- */ DEFINE VARIABLE cPubParam AS CHARACTER NO-UNDO INIT ''. DEFINE VARIABLE cBenutzer AS CHARACTER NO-UNDO. DEFINE TEMP-TABLE tAufko LIKE Aufko. DEFINE VARIABLE htAufko AS HANDLE NO-UNDO. htAufko = TEMP-TABLE tAufko:DEFAULT-BUFFER-HANDLE. DEFINE TEMP-TABLE xAufko NO-UNDO FIELD Aufnr AS INTEGER LABEL 'Aufnr' FORMAT ' 9999999' FIELD Knr AS INTEGER LABEL 'Knr' FORMAT ' 999999' FIELD cKunde AS CHARACTER LABEL 'Kunde' FORMAT 'x(50)' FIELD Fak_Art AS INTEGER LABEL 'FakArt' FORMAT '99' FIELD Auf_Sta AS INTEGER LABEL 'Status' FORMAT '99' FIELD Lief_Datum AS DATE LABEL 'Lieferdatum' FORMAT '99.99.9999' FIELD Fahrer AS INTEGER LABEL 'Fahrer' FORMAT '999' INDEX xAufko-k1 AS PRIMARY Auf_Sta Fak_Art Aufnr. DEFINE TEMP-TABLE tBesko LIKE Besko FIELD Lieferant AS CHARACTER FIELD Lieferungen AS CHARACTER FIELD BestelltBis AS CHARACTER FIELD iStatus AS INTEGER . DEFINE VARIABLE htBesko AS HANDLE. htBesko = TEMP-TABLE tBesko:DEFAULT-BUFFER-HANDLE. DEFINE TEMP-TABLE tBesze LIKE Besze FIELD GGebinde AS CHARACTER FIELD VGebinde AS CHARACTER FIELD kGebinde AS CHARACTER FIELD iStatus AS INTEGER INIT 0. DEFINE VARIABLE htBesze AS HANDLE NO-UNDO. htBesze = TEMP-TABLE tBesze:DEFAULT-BUFFER-HANDLE. DEFINE TEMP-TABLE tAufze NO-UNDO LIKE Aufze FIELD KGebinde AS CHARACTER FIELD VGebinde AS CHARACTER FIELD GGebinde AS CHARACTER . DEFINE VARIABLE htAufze AS HANDLE NO-UNDO. htAufze = TEMP-TABLE tAufze:DEFAULT-BUFFER-HANDLE. { incl/tmpbrowser.i } { incl/ttdruckparam.i } { incl/properties.i } {src/adm2/widgetprto.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE SmartDataBrowser &Scoped-define DB-AWARE no &Scoped-define ADM-SUPPORTED-LINKS TableIO-Target,Data-Target,Update-Source /* Include file with RowObject temp-table definition */ &Scoped-define DATA-FIELD-DEFS "d-aufko.i" /* Name of designated FRAME-NAME and/or first browse and/or first query */ &Scoped-define FRAME-NAME F-Main &Scoped-define BROWSE-NAME br_table /* Internal Tables (found by Frame, Query & Browse Queries) */ &Scoped-define INTERNAL-TABLES rowObject /* Definitions for BROWSE br_table */ &Scoped-define FIELDS-IN-QUERY-br_table rowObject.DokNr rowObject.Fak_Art ~ rowObject.Knr rowObject.Kunde rowObject.Lief_Datum rowObject.Auf_Tot &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table &Scoped-define QUERY-STRING-br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION. &Scoped-define TABLES-IN-QUERY-br_table rowObject &Scoped-define FIRST-TABLE-IN-QUERY-br_table rowObject /* Definitions for FRAME F-Main */ /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS br_table Btn_Drucken E_Adresse Btn_Weiter ~ Btn_Zurueck Btn_Verbuchen RECT-1 &Scoped-Define DISPLAYED-OBJECTS E_Adresse /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Prototypes ********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setZeilenfarbe bTableWin FUNCTION setZeilenfarbe RETURNS LOGICAL ( ipFarbe AS INTEGER ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Menu Definitions */ DEFINE MENU POPUP-MENU-br_table MENU-ITEM X_CHANGE_FAKART LABEL "Fakturaart wechseln" MENU-ITEM X_ADRESSETIKETTE LABEL "Adressetikette" MENU-ITEM X_Gebinderechnung LABEL "Gebinderechnung" MENU-ITEM X_NichtGedruckt LABEL "Geladen nicht gedruckt" MENU-ITEM X_POSTETIKETTE LABEL "Postetikette" MENU-ITEM X_Bestellung_erstellen LABEL "Bestellung erstellen" MENU-ITEM X_LIEFERANTENAUFTRAG LABEL "Auftrag aller Artikel eines Lieferanten" MENU-ITEM X_AUFTRAG_KOPIEREN LABEL "Auftrag auf andere(n) Kunden kopieren". /* Definitions of the field level widgets */ DEFINE BUTTON Btn_Drucken LABEL "&Drucken" SIZE 14 BY 1. DEFINE BUTTON Btn_Verbuchen LABEL "&Verbuchen" SIZE 14 BY 1. DEFINE BUTTON Btn_Weiter LABEL "&Weiter" SIZE 14 BY 1. DEFINE BUTTON Btn_Zurueck LABEL "&Zurück" SIZE 14 BY 1. DEFINE VARIABLE E_Adresse AS CHARACTER VIEW-AS EDITOR SIZE 50 BY 6.67 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-1 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 182 BY 7.62. /* Query definitions */ &ANALYZE-SUSPEND DEFINE TEMP-TABLE RowObject NO-UNDO {{&DATA-FIELD-DEFS}} {src/adm2/robjflds.i}. DEFINE QUERY br_table FOR rowObject SCROLLING. &ANALYZE-RESUME /* Browse definitions */ DEFINE BROWSE br_table &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table bTableWin _STRUCTURED QUERY br_table NO-LOCK DISPLAY rowObject.DokNr FORMAT "zzzzzz9":U rowObject.Fak_Art COLUMN-LABEL "Art" FORMAT "99":U rowObject.Knr FORMAT "999999":U rowObject.Kunde FORMAT "x(80)":U rowObject.Lief_Datum COLUMN-LABEL "Lief.Datum" FORMAT "99.99.9999":U rowObject.Auf_Tot COLUMN-LABEL "Auftr. Total" FORMAT "zzz,zzz,zz9.99-":U /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS SIZE 108 BY 7.14. /* ************************ Frame Definitions *********************** */ DEFINE FRAME F-Main br_table AT ROW 1.48 COL 3 WIDGET-ID 200 Btn_Drucken AT ROW 7.52 COL 167 WIDGET-ID 10 E_Adresse AT ROW 1.38 COL 115 NO-LABEL WIDGET-ID 4 NO-TAB-STOP Btn_Weiter AT ROW 3.52 COL 167 WIDGET-ID 6 Btn_Zurueck AT ROW 5 COL 167 WIDGET-ID 8 Btn_Verbuchen AT ROW 1.52 COL 167 WIDGET-ID 12 RECT-1 AT ROW 1.24 COL 2 WIDGET-ID 2 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100. /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartDataBrowser Data Source: "d-aufko.w" Allow: Basic,Browse Frames: 1 Add Fields to: Neither Other Settings: PERSISTENT-ONLY COMPILE */ /* This procedure should always be RUN PERSISTENT. Report the error, */ /* then cleanup and return. */ IF NOT THIS-PROCEDURE:PERSISTENT THEN DO: MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U VIEW-AS ALERT-BOX ERROR BUTTONS OK. RETURN. END. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS /* ************************* Create Window ************************** */ &ANALYZE-SUSPEND _CREATE-WINDOW /* DESIGN Window definition (used by the UIB) CREATE WINDOW bTableWin ASSIGN HEIGHT = 8.1 WIDTH = 184. /* END WINDOW DEFINITION */ */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB bTableWin /* ************************* Included-Libraries *********************** */ {src/adm2/browser.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR WINDOW bTableWin NOT-VISIBLE,,RUN-PERSISTENT */ /* SETTINGS FOR FRAME F-Main NOT-VISIBLE FRAME-NAME Size-to-Fit Custom */ /* BROWSE-TAB br_table 1 F-Main */ ASSIGN FRAME F-Main:SCROLLABLE = FALSE FRAME F-Main:HIDDEN = TRUE. ASSIGN br_table:POPUP-MENU IN FRAME F-Main = MENU POPUP-MENU-br_table:HANDLE. ASSIGN E_Adresse:READ-ONLY IN FRAME F-Main = TRUE. /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table /* Query rebuild information for BROWSE br_table _TblList = "rowObject" _Options = "NO-LOCK INDEXED-REPOSITION" _FldNameList[1] > _.rowObject.DokNr "rowObject.DokNr" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[2] > _.rowObject.Fak_Art "rowObject.Fak_Art" "Art" ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[3] > _.rowObject.Knr "rowObject.Knr" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[4] > _.rowObject.Kunde "rowObject.Kunde" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[5] > _.rowObject.Lief_Datum "rowObject.Lief_Datum" "Lief.Datum" ? "date" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[6] > _.rowObject.Auf_Tot "rowObject.Auf_Tot" "Auftr. Total" ? "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _Query is NOT OPENED */ /* BROWSE br_table */ &ANALYZE-RESUME &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main /* Query rebuild information for FRAME F-Main _Options = "NO-LOCK" _Query is NOT OPENED */ /* FRAME F-Main */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define BROWSE-NAME br_table &Scoped-define SELF-NAME br_table &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON ALT-CTRL-P OF br_table IN FRAME F-Main DO: RUN START_DRUCKEN_RUESTPAPIERE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON CTRL-ALT-F4 OF br_table IN FRAME F-Main DO: RUN AUFTRAG_ADMIN. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON CTRL-END OF br_table IN FRAME F-Main DO: APPLY "END":U TO BROWSE {&BROWSE-NAME}. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON CTRL-HOME OF br_table IN FRAME F-Main DO: APPLY "HOME":U TO BROWSE {&BROWSE-NAME}. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON CTRL-P OF br_table IN FRAME F-Main DO: RUN DRUCKSTART IN THIS-PROCEDURE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON DEFAULT-ACTION OF br_table IN FRAME F-Main DO: {src/adm2/brsdefault.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON END OF br_table IN FRAME F-Main DO: {src/adm2/brsend.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON ENTRY OF br_table IN FRAME F-Main DO: APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON F5 OF br_table IN FRAME F-Main DO: DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE BUFFER bAufko FOR Aufko. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ) NO-ERROR. IF iRecid = ? OR iRecid = 0 THEN RETURN NO-APPLY. DYNAMIC-FUNCTION('openQuery':U IN hDaten) NO-ERROR. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid NO-ERROR. DYNAMIC-FUNCTION('fetchRowIdent':U IN hDaten, STRING(ROWID(bAufko)), ? ) NO-ERROR. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON HOME OF br_table IN FRAME F-Main DO: {src/adm2/brshome.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON LEFT-MOUSE-CLICK OF br_table IN FRAME F-Main DO: APPLY 'ENTRY' TO {&BROWSE-NAME}. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON LEFT-MOUSE-DBLCLICK OF br_table IN FRAME F-Main DO: IF NOT VALID-HANDLE( hFenster ) THEN RETURN NO-APPLY. RUN TOOLBAR IN hFenster ( INPUT 'UPDATE' ). RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON OFF-END OF br_table IN FRAME F-Main DO: {src/adm2/brsoffnd.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON OFF-HOME OF br_table IN FRAME F-Main DO: {src/adm2/brsoffhm.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON RETURN OF br_table IN FRAME F-Main DO: IF NOT VALID-HANDLE( hFenster ) THEN RETURN NO-APPLY. RUN TOOLBAR IN hFenster ( INPUT 'UPDATE' ). RETURN. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON ROW-DISPLAY OF br_table IN FRAME F-Main DO: DEFINE VARIABLE iFarbe AS INTEGER INIT 15 NO-UNDO. IF rowObject.AlsOfferte THEN iFarbe = 14. ELSE IF rowObject.Auf_Sta = 2 AND NOT rowObject.Gedruckt THEN DO: iFarbe = 11. END. DYNAMIC-FUNCTION('setZeilenfarbe':U, iFarbe ) NO-ERROR. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON ROW-ENTRY OF br_table IN FRAME F-Main DO: {src/adm2/brsentry.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON ROW-LEAVE OF br_table IN FRAME F-Main DO: {src/adm2/brsleave.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON SCROLL-NOTIFY OF br_table IN FRAME F-Main DO: {src/adm2/brsscrol.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON SHIFT-ALT-F4 OF br_table IN FRAME F-Main DO: RUN AUFTRAG_ADMIN. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON START-SEARCH OF br_table IN FRAME F-Main DO: { incl/brwstartsearch.i } END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON VALUE-CHANGED OF br_table IN FRAME F-Main DO: {src/adm2/brschnge.i} RUN ANZEIGEN_ADRESSE ( 0 ) NO-ERROR. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Drucken &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Drucken bTableWin ON CHOOSE OF Btn_Drucken IN FRAME F-Main /* Drucken */ DO: RUN CHOOSE-DRUCKEN ( 'AUFKO' ). RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Verbuchen &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Verbuchen bTableWin ON CHOOSE OF Btn_Verbuchen IN FRAME F-Main /* Verbuchen */ DO: RUN VERBUCHEN. APPLY 'U1'. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Weiter &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Weiter bTableWin ON CHOOSE OF Btn_Weiter IN FRAME F-Main /* Weiter */ DO: DEFINE VARIABLE lMut AS LOG NO-UNDO. DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO. DEFINE VARIABLE iRow AS INTEGER NO-UNDO. DEFINE BUFFER bAufko FOR Aufko. lMut = DYNAMIC-FUNCTION('getMutFlag':U, Progname ) NO-ERROR. IF lMut THEN DO: APPLY 'U1'. RETURN NO-APPLY. END. iRow = BROWSE {&BROWSE-NAME}:FOCUSED-ROW. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ) NO-ERROR. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid. iAufnr = bAufko.Aufnr. RELEASE bAufko. RUN WEITER ( iAufnr ). DYNAMIC-FUNCTION('openQuery':U IN hDaten). BROWSE {&BROWSE-NAME}:SELECT-ROW(iRow) NO-ERROR. APPLY 'U1'. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Weiter bTableWin ON CTRL-W OF Btn_Weiter IN FRAME F-Main /* Weiter */ DO: APPLY 'CHOOSE' TO Btn_Weiter. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Weiter bTableWin ON CTRL-Z OF Btn_Weiter IN FRAME F-Main /* Weiter */ DO: APPLY 'CHOOSE' TO Btn_Zurueck. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Zurueck &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Zurueck bTableWin ON CHOOSE OF Btn_Zurueck IN FRAME F-Main /* Zurück */ DO: DEFINE VARIABLE lMut AS LOG NO-UNDO. DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO. DEFINE VARIABLE iRow AS INTEGER NO-UNDO. DEFINE BUFFER bAufko FOR Aufko. lMut = DYNAMIC-FUNCTION('getMutFlag':U, Progname ) NO-ERROR. IF lMut THEN DO: APPLY 'U1'. RETURN NO-APPLY. END. iRow = BROWSE {&BROWSE-NAME}:FOCUSED-ROW. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ) NO-ERROR. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid. iAufnr = bAufko.Aufnr. RELEASE bAufko. RUN ZURUECK ( iAufnr ). DYNAMIC-FUNCTION('openQuery':U IN hDaten). BROWSE {&BROWSE-NAME}:SELECT-ROW(iRow) NO-ERROR. APPLY 'U1'. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK bTableWin /* *************************** Main Block *************************** */ { incl/brwmainblock.i } { incl/brwinternproc.i } SUBSCRIBE TO 'ANZEIGEN_ADRESSE' ANYWHERE NO-ERROR. SUBSCRIBE TO 'CHOOSE-DRUCKEN' ANYWHERE NO-ERROR. SUBSCRIBE TO 'CHOOSE-WEITER' ANYWHERE NO-ERROR. SUBSCRIBE TO 'CHOOSE-ZURUECK' ANYWHERE NO-ERROR. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN RUN initializeObject. &ENDIF /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ADRESSETIKETTE bTableWin PROCEDURE ADRESSETIKETTE : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE lMut AS LOG NO-UNDO. DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE BUFFER bAufko FOR Aufko. lMut = DYNAMIC-FUNCTION('getMutFlag':U, Progname ) NO-ERROR. IF lMut THEN DO: APPLY 'U1'. RETURN NO-APPLY. END. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ) NO-ERROR. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid. RUN "g-adressetiketten.w" ( bAufko.Firma, bAufko.Aufnr, 0 ). RELEASE bAufko. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGEN_ADRESSE bTableWin PROCEDURE ANZEIGEN_ADRESSE : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipArt AS INTEGER NO-UNDO. DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE VARIABLE ii AS INTEGER NO-UNDO. DEFINE VARIABLE lPassant AS LOG NO-UNDO. DEFINE VARIABLE cString AS CHARACTER NO-UNDO. DEFINE VARIABLE cBemerk AS CHARACTER NO-UNDO. DEFINE VARIABLE hDebst AS HANDLE NO-UNDO. DEFINE VARIABLE hSteuer AS HANDLE NO-UNDO. DEFINE BUFFER bAufko FOR Aufko . DEFINE BUFFER bAdresse FOR Adresse. DEFINE BUFFER bDebst FOR Debst . DEFINE BUFFER bSteuer FOR Steuer . E_Adresse:SCREEN-VALUE IN FRAME {&FRAME-NAME} = ''. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ) NO-ERROR. IF iRecid = ? OR iRecid = 0 THEN RETURN. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid NO-ERROR. IF NOT AVAILABLE bAufko THEN RETURN. cString = FILL(CHR(10), 4). DO ii = 1 TO 5: IF bAufko.Adresse[ii] = '' THEN NEXT. cString = cString + (IF cString = '' THEN '' ELSE CHR(10)) + bAufko.Adresse[ii]. lPassant = TRUE. END. IF lPassant THEN DO: E_Adresse:SCREEN-VALUE IN FRAME {&FRAME-NAME} = cString. RETURN. END. cString = ''. FIND bAdresse NO-LOCK WHERE bAdresse.Firma = AdFirma AND bAdresse.Knr = bAufko.Knr NO-ERROR. IF NOT AVAILABLE bAdresse THEN RETURN. DO ii = 3 TO 12: cString = cString + (IF ii = 3 THEN '' ELSE CHR(10)) + bAdresse.Anschrift[ii]. END. IF ipArt = 1 THEN DO: E_Adresse:SCREEN-VALUE IN FRAME {&FRAME-NAME} = cString. E_Adresse:BGCOLOR = 15. RELEASE bAufko. RELEASE bAdresse. RETURN NO-APPLY. END. FIND bDebst NO-LOCK WHERE bDebst.Firma = D1Firma AND bDebst.Knr = bAufko.Knr NO-ERROR. FIND bSteuer NO-LOCK WHERE bSteuer.Firma = D1Firma NO-ERROR. cBemerk = ''. CASE bSteuer.St05: WHEN 0 THEN cBemerk = bDebst.Bemerk . WHEN 1 THEN cBemerk = bAdresse.Bem . WHEN 2 THEN cBemerk = bDebst.Auf_Text . END CASE. IF cBemerk <> '' THEN DO: E_Adresse:SCREEN-VALUE IN FRAME {&FRAME-NAME} = cBemerk. E_Adresse:BGCOLOR = 14. END. ELSE DO: E_Adresse:SCREEN-VALUE IN FRAME {&FRAME-NAME} = cString. E_Adresse:BGCOLOR = 15. END. IF bDebst.Knr <> bAufko.Fak_Knr THEN DO: FIND bDebst NO-LOCK WHERE bDebst.Firma = D1Firma AND bDebst.Knr = bAufko.Fak_Knr NO-ERROR. END. IF bDebst.Kred_Lim > 0 AND (bAufko.Auf_Tot + bDebst.Saldo) > bDebst.Kred_Lim THEN DO: E_Adresse = E_Adresse:SCREEN-VALUE. E_Adresse = E_Adresse + CHR(10) + 'Kreditlimite = ' + TRIM(STRING(bDebst.Kred_Lim,'->,>>>,>>9')) + ' / ' + 'Saldo = ' + TRIM(STRING(bDebst.Saldo + bAufko.Auf_Tot,'->,>>>,>>9')). E_Adresse:SCREEN-VALUE = E_Adresse. E_Adresse:BGCOLOR = 12. END. PUBLISH 'ANZEIGE_AUFKOPF'. RELEASE bAufko. RELEASE bAdresse. RELEASE bDebst. RELEASE bSteuer. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUFBEREITEN_RUESTPAPIER bTableWin PROCEDURE AUFBEREITEN_RUESTPAPIER : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE cString AS CHARACTER NO-UNDO. DEFINE VARIABLE cAuftrag AS CHARACTER NO-UNDO. DEFINE BUFFER bAufko FOR Aufko. FIND FIRST tParam. IF tParam.iFakArt = 80 THEN RETURN 'NOK'. FIND Steuer NO-LOCK WHERE Steuer.Firma = D1Firma. FIND bAufko NO-LOCK WHERE RECID(bAufko) = tParam.iRecid. cAuftrag = ''. REPEAT TRANSACTION: CREATE ASMutation. ASSIGN ASMutation.ASMutation_id = NEXT-VALUE(ASMutation_id) ASMutation.MutArt = 'RUESTDRUCK' ASMutation.Firma = D1Firma ASMutation.AdFirma = '' ASMutation.Datum = TODAY ASMutation.cStatus = '' ASMutation.Aktiv = TRUE ASMutation.iKey_1 = tParam.iAufnr ASMutation.iKey_2 = Steuer.RuestArt ASMutation.iFeld_1 = 0 ASMutation.iFeld_2 = 0 ASMutation.iFeld_3 = 0 ASMutation.cFeld_2 = tParam.cBenutzer. . RELEASE ASMutation. cAuftrag = cAuftrag + (IF cAuftrag = '' THEN '' ELSE ' ') + STRING(tParam.iAufnr,'9999999'). LEAVE. END. RELEASE bAufko. RELEASE Steuer. IF tParam.iAufSta < 1 THEN RUN WEITER ( tParam.iAufnr ). cString = SUBSTITUTE('Druckauftrag Auftrags- und Rüstschein &1 aufgegeben', cAuftrag). MESSAGE cString VIEW-AS ALERT-BOX INFORMATION. RETURN 'OK'. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUFTRAG_ADMIN bTableWin PROCEDURE AUFTRAG_ADMIN : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE VARIABLE hAufko AS HANDLE NO-UNDO. DEFINE VARIABLE lRetVal AS LOG NO-UNDO. DEFINE VARIABLE cRowid AS CHARACTER NO-UNDO. DEFINE VARIABLE iAuf_Sta AS INTEGER NO-UNDO. DEFINE BUFFER bAufko FOR Aufko. lRetVal = DYNAMIC-FUNCTION('getSpez':U). IF NOT lRetVal THEN RETURN NO-APPLY. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten) NO-ERROR. IF iRecid = ? OR iRecid = 0 THEN RETURN NO-APPLY. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid. hAufko = BUFFER bAufko:HANDLE. RUN g-aufko-admin.w ( hAufko, OUTPUT lRetVal ). IF NOT lRetVal THEN RETURN NO-APPLY. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid. cRowid = STRING(ROWID(bAufko)). ASSIGN iAuf_Sta = bAufko.Auf_Sta. DYNAMIC-FUNCTION('setAufSta':U IN hFenster, iAuf_Sta ) NO-ERROR. DYNAMIC-FUNCTION('fetchRowIdent':U IN hDaten , cRowid, ? ) NO-ERROR. RUN ANZEIGEN_ADRESSE ( 0 ). RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUFTRAG_KOPIEREN bTableWin PROCEDURE AUFTRAG_KOPIEREN: /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE cKunden AS CHARACTER NO-UNDO INIT ''. DEFINE VARIABLE ii AS INTEGER NO-UNDO. DEFINE VARIABLE rAufko AS RECID NO-UNDO. DEFINE VARIABLE iKnr AS INTEGER NO-UNDO. DEFINE VARIABLE cKnr AS CHARACTER NO-UNDO. DEFINE VARIABLE iRetVal AS INTEGER NO-UNDO. DEFINE VARIABLE cRetVal AS CHARACTER NO-UNDO. DEFINE VARIABLE nTotal AS DECIMAL NO-UNDO DECIMALS 4 EXTENT 15. DEFINE BUFFER xAufko FOR Aufko. DEFINE BUFFER xAufze FOR Aufze. DEFINE BUFFER bAufko FOR Aufko. DEFINE BUFFER bAufze FOR Aufze. DEFINE BUFFER bDebst FOR Debst. RUN 'g-einlesen-kundennummern.w':U ( OUTPUT cKunden ) NO-ERROR. IF cKunden = '' THEN RETURN NO-APPLY. cKunden = REPLACE(cKunden, CHR(10), ';'). rAufko = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hdaten) NO-ERROR. IF rAufko = ? OR rAufko = 0 THEN RETURN NO-APPLY. FIND xAufko NO-LOCK WHERE RECID(xAufko) = rAufko. DO ii = 1 TO NUM-ENTRIES(cKunden, ';'): cKnr = ENTRY(ii, cKunden, ';'). iKnr = INTEGER(cKnr) NO-ERROR. IF ERROR-STATUS:ERROR THEN DO: MESSAGE SUBSTITUTE ('Kundennummer &1 ist ungültig (nicht numerisch':U, cKnr) VIEW-AS ALERT-BOX. cKunden = REPLACE(cKunden, cKnr, ''). NEXT. END. IF iKnr = 0 THEN NEXT. FIND FIRST Adresse NO-LOCK WHERE Adresse.Firma = AdFirma AND Adresse.Knr = iKnr NO-ERROR. IF NOT AVAILABLE Adresse THEN DO: MESSAGE SUBSTITUTE ('Kundennummer &1 ist ungültig (Adresse nicht erfasst':U, iKnr) VIEW-AS ALERT-BOX. cKunden = REPLACE(cKunden, cKnr, ''). NEXT. END. FIND FIRST Debst NO-LOCK WHERE Debst.Firma = D1Firma AND Debst.Knr = iKnr NO-ERROR. IF NOT AVAILABLE Debst THEN DO: MESSAGE SUBSTITUTE ('Kundennummer &1 ist ungültig (Debitor nicht erfasst':U, iKnr) VIEW-AS ALERT-BOX. cKunden = REPLACE(cKunden, cKnr, ''). NEXT. END. END. cKunden = REPLACE(cKunden, ';;', ';'). IF cKunden BEGINS ';' THEN cKunden = SUBSTRING(cKunden,02). DO ii = 1 TO NUM-ENTRIES(cKunden, ';'): cKnr = ENTRY(ii, cKunden, ';'). iKnr = INTEGER(cKnr) NO-ERROR. IF iKnr = 0 THEN NEXT. EMPTY TEMP-TABLE tAufko. CREATE tAufko. ASSIGN tAufko.Firma = D1Firma tAufko.Aufnr = -1 tAufko.Knr = iKnr tAufko.Abhol = FALSE tAufko.Lager = DYNAMIC-FUNCTION('getLager':U IN hFenster). htAufko = TEMP-TABLE tAufko:DEFAULT-BUFFER-HANDLE. DYNAMIC-FUNCTION('fillAufko':U, 0, INPUT-OUTPUT htAufko ). FIND FIRST tAufko. tAufko.Aufnr = 0. FIND bDebst NO-LOCK WHERE bDebst.Firma = D1Firma AND bDebst.Knr = tAufko.Fak_Knr NO-ERROR. RUN NUMMER_LOESEN ( 1, OUTPUT tAufko.Aufnr ) NO-ERROR. REPEAT TRANSACTION ON ERROR UNDO, RETRY: CREATE bAufko. BUFFER-COPY tAufko TO bAufko. ASSIGN bAufko.I_Best = xAufko.I_Best bAufko.U_Ref = xAufko.U_Ref bAufko.Auf_Datum = xAufko.Auf_Datum bAufko.Fak_Datum = xAufko.Fak_Datum bAufko.Kond_Datum = xAufko.Kond_Datum bAufko.Lief_Datum = xAufko.Lief_Datum bAufko.Ku_Grp = xAufko.Ku_Grp . rAufko = RECID(bAufko). RELEASE bAufko. LEAVE. END. FIND bAufko NO-LOCK WHERE RECID(bAufko) = rAufko. REPEAT TRANSACTION ON ERROR UNDO, RETRY: FOR EACH xAufze OF xAufko NO-LOCK: EMPTY TEMP-TABLE tAufze. CREATE tAufze. ASSIGN tAufze.Firma = bAufko.Firma tAufze.Aufnr = bAufko.Aufnr tAufze.Artnr = xAufze.Artnr tAufze.Inhalt = xAufze.Inhalt tAufze.Jahr = xAufze.Jahr tAufze.Pos = xAufze.Pos. iRetVal = DYNAMIC-FUNCTION ( 'fillAufze':U, INPUT-OUTPUT htAufze ) NO-ERROR. BUFFER-COPY xAufze USING xAufze.KGeb_Me xAufze.KGeb_Be xAufze.KGeb_Ru xAufze.VGeb_Me xAufze.VGeb_Be xAufze.VGeb_Ru xAufze.GGeb_Me xAufze.GGeb_Be xAufze.GGeb_Ru xAufze.Liter xAufze.Gewicht TO tAufze. ASSIGN tAufze.KGeb_Me = xAufze.KGeb_Be tAufze.KGeb_Ru = tAufze.KGeb_Be - tAufze.KGeb_Me tAufze.VGeb_Ru = tAufze.VGeb_Be - tAufze.VGeb_Me tAufze.GGeb_Ru = tAufze.GGeb_Be - tAufze.GGeb_Me tAufze.MBest = tAufze.KGeb_Be tAufze.MGeli = tAufze.KGeb_Me tAufze.MRuek = tAufze.KGeb_Ru. tAufze.PreisArt = DYNAMIC-FUNCTION ('getPreisAufze':U, INPUT-OUTPUT htAufze) NO-ERROR. DYNAMIC-FUNCTION('fillArtbwFromAufze':U , INPUT-OUTPUT htAufze ) NO-ERROR. DYNAMIC-FUNCTION('calculateZeilenTotal':U, INPUT-OUTPUT htAufze ) NO-ERROR. CREATE bAufze. BUFFER-COPY tAufze TO bAufze. RELEASE bAufze. END. LEAVE. END. cRetVal = DYNAMIC-FUNCTION('calculateAuftragsTotal':U, tAufze.Firma, tAufze.Aufnr, OUTPUT nTotal ). END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE Bestellung_Erstellen bTableWin PROCEDURE Bestellung_Erstellen : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE rAufko AS RECID NO-UNDO. DEFINE VARIABLE rBesko AS RECID NO-UNDO. DEFINE VARIABLE rBesze AS RECID NO-UNDO. DEFINE VARIABLE lOk AS LOGICAL NO-UNDO. DEFINE VARIABLE iRetVal AS INTEGER NO-UNDO. DEFINE VARIABLE nTotale AS DECIMAL NO-UNDO EXTENT 10. DEFINE VARIABLE iLnr AS INTEGER NO-UNDO. DEFINE VARIABLE iBesnr AS INTEGER NO-UNDO. DEFINE VARIABLE iPos AS INTEGER NO-UNDO. DEFINE BUFFER bAufko FOR Aufko. DEFINE BUFFER bAufze FOR Aufze. rAufko = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten) NO-ERROR. IF rAufko = ? OR rAufko = 0 THEN RETURN NO-APPLY. FIND bAufko NO-LOCK WHERE RECID(bAufko) = rAufko. FOR EACH Aufze NO-LOCK OF bAufko: FIND FIRST ArtLief NO-LOCK WHERE ArtLief.Firma = Aufze.Firma AND ArtLief.Artnr = Aufze.Artnr AND ArtLief.Inhalt = Aufze.Inhalt AND ArtLief.Jahr = Aufze.Jahr AND ArtLief.Haupt = TRUE NO-ERROR. IF NOT AVAILABLE Aufze THEN NEXT. iLnr = ArtLief.Knr. LEAVE. END. IF iLnr = 0 THEN RETURN NO-APPLY. FIND FIRST Adresse NO-LOCK WHERE Adresse.Firma = AdFirma AND Adresse.Knr = iLnr NO-ERROR. IF NOT AVAILABLE Adresse THEN RETURN NO-APPLY. MESSAGE 'Soll die Bestellung für den Lieferanten ' SKIP iLnr '->' Adresse.Anzeig_Br SKIP 'erstellt werden ? ' VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO UPDATE lOK. IF lOK = ? OR NOT lOK THEN RETURN NO-APPLY. DISABLE TRIGGERS FOR LOAD OF Besze. REPEAT TRANSACTION ON ERROR UNDO, LEAVE: EMPTY TEMP-TABLE tBesko. CREATE tBesko. ASSIGN tBesko.Firma = D1Firma tBesko.Knr = iLnr tBesko.Best_Datum = TODAY tBesko.iStatus = 0 tBesko.Lager = 0. lOK = DYNAMIC-FUNCTION ('filltBesko':U, INPUT-OUTPUT htBesko ) NO-ERROR. FIND FIRST tBesko. tBesko.Besnr = DYNAMIC-FUNCTION('createBestellnummer':U, D1Firma ) NO-ERROR. tBesko.Best_Sta = 1. tBesko.Lief_Datum = TODAY + 1. tBesko.U_Ref = 'UMZUG'. IF NOT lOK THEN RETURN 'ERROR'. CREATE Besko. BUFFER-COPY tBesko TO Besko. rBesko = RECID(Besko). iBesnr = Besko.Besnr. RELEASE Besko. FIND Besko NO-LOCK WHERE RECID(Besko) = rBesko. DYNAMIC-FUNCTION ('createBesGebKo':U, D1Firma, iBesnr) NO-ERROR. FOR EACH bAufze NO-LOCK OF bAufko: IF bAufze.MGeli = 0 THEN NEXT. EMPTY TEMP-TABLE tBesze. CREATE tBesze. ASSIGN tBesze.Firma = Besko.Firma tBesze.Besnr = Besko.Besnr tBesze.Pos = 0 tBesze.Artnr = bAufze.Artnr tBesze.Inhalt = bAufze.Inhalt tBesze.Jahr = bAufze.Jahr tBesze.Frw = Besko.Frw tBesze.Kurs = Besko.Kurs tBesze.Faktor = Besko.Faktor tBesze.Spesen = 0.00 tBesze.Rabatt = 0.00 tBesze.ZusRab = 0.00 tBesze.Best_Sta = Besko.Best_Sta tBesze.Lager = Besko.Lager tBesze.iStatus = 0. iRetVal = DYNAMIC-FUNCTION ( 'fillBesze':U, INPUT-OUTPUT htBesze ) NO-ERROR. IF iRetVal > 0 THEN MESSAGE iRetVal VIEW-AS ALERT-BOX. FIND FIRST tBesze. ASSIGN tBesze.GGeb_Me = bAufze.GGeb_Be tBesze.VGeb_Me = bAufze.VGeb_Be tBesze.KGeb_Me = bAufze.KGeb_Be tBesze.MBest = bAufze.MBest tBesze.MRuek = tBesze.MBest - tBesze.MGeli - tBesze.Eingang . CREATE Besze. BUFFER-COPY tBesze TO Besze. rBesze = RECID(Besze). iPos = Besze.Pos. RELEASE Besze. DYNAMIC-FUNCTION ('calculateBeszeNetto':U, Firma, iBesnr, iPos, rBesze ). END. RELEASE bAufko. RELEASE bAufze. RELEASE Besko. RELEASE Besze. LEAVE. END. DYNAMIC-FUNCTION ('calculateBeskoTotal':U, D1Firma, iBesnr, OUTPUT nTotale ). MESSAGE 'Bestellung erfasst !' VIEW-AS ALERT-BOX. APPLY 'U1'. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CHANGE_FAKART bTableWin PROCEDURE CHANGE_FAKART : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE lMut AS LOG NO-UNDO. DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE VARIABLE hAufko AS HANDLE NO-UNDO. DEFINE VARIABLE lRetVal AS LOG NO-UNDO. DEFINE VARIABLE iAuf_Sta AS INTEGER NO-UNDO. DEFINE VARIABLE cRowid AS CHARACTER NO-UNDO. DEFINE VARIABLE iSamm_Nr AS INTEGER NO-UNDO. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO. DEFINE VARIABLE dLief_Datum AS DATE NO-UNDO. DEFINE VARIABLE nTotale AS DECIMAL EXTENT 15 NO-UNDO. DEFINE VARIABLE lOldFest AS LOG NO-UNDO. DEFINE VARIABLE lNewFest AS LOG NO-UNDO. DEFINE BUFFER bAufko FOR Aufko. DEFINE BUFFER bSteuer FOR Steuer. lMut = DYNAMIC-FUNCTION('getMutFlag':U, Progname ) NO-ERROR. IF lMut THEN DO: APPLY 'U1'. RETURN NO-APPLY. END. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ) NO-ERROR. IF iRecid = ? OR iRecid = 0 THEN RETURN NO-APPLY. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid. lOldFest = DYNAMIC-FUNCTION('isFestAuftrag':U, bAufko.Firma, bAufko.Fak_Art) NO-ERROR. hAufko = BUFFER bAufko:HANDLE. RUN g-change-fakart.w ( hAufko, OUTPUT lRetVal ) NO-ERROR. IF NOT lRetVal THEN RETURN NO-APPLY. FIND bSteuer NO-LOCK WHERE bSteuer.Firma = D1Firma NO-ERROR. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid. lNewFest = DYNAMIC-FUNCTION('isFestAuftrag':U, bAufko.Firma, bAufko.Fak_Art) NO-ERROR. IF lOldFest <> lNewFest THEN RUN PROCESSFESTAUFTRAG ( bAufko.Firma, bAufko.Aufnr, lOldFest, lNewFest ) NO-ERROR. RELEASE bAufko. RELEASE Aufko. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid. cRowid = STRING(ROWID(bAufko)). ASSIGN iAuf_Sta = bAufko.Auf_Sta. DYNAMIC-FUNCTION('setAufSta':U IN hFenster, iAuf_Sta ) NO-ERROR. DYNAMIC-FUNCTION('fetchRowIdent':U IN hDaten, cRowid, ? ) NO-ERROR. RUN ANZEIGEN_ADRESSE ( 0 ). RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CHOOSE-DRUCKEN bTableWin PROCEDURE CHOOSE-DRUCKEN : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipParam AS CHARACTER NO-UNDO. cPubParam = ipParam. RUN DRUCKSTART IN THIS-PROCEDURE. APPLY 'U1'. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CHOOSE-WEITER bTableWin PROCEDURE CHOOSE-WEITER : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ APPLY 'CHOOSE' TO Btn_Weiter IN FRAME {&FRAME-NAME}. APPLY 'U1'. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CHOOSE-ZURUECK bTableWin PROCEDURE CHOOSE-ZURUECK : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ APPLY 'CHOOSE' TO Btn_Zurueck IN FRAME {&FRAME-NAME}. APPLY 'U1'. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE destroyObject bTableWin PROCEDURE destroyObject : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE hBrowser AS HANDLE NO-UNDO. hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}. DYNAMIC-FUNCTION('setBrowserDaten':U, INPUT hBrowser, INPUT Sektion ) NO-ERROR. RUN SUPER. /* Code placed here will execute AFTER standard behavior. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI bTableWin _DEFAULT-DISABLE PROCEDURE disable_UI : /*------------------------------------------------------------------------------ Purpose: DISABLE the User Interface Parameters: 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 F-Main. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKSTART bTableWin PROCEDURE DRUCKSTART : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE lMut AS LOG NO-UNDO. DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO. DEFINE VARIABLE iAufSta AS INTEGER NO-UNDO. DEFINE VARIABLE cParam AS CHARACTER INIT '' NO-UNDO. DEFINE VARIABLE cRowId AS CHARACTER NO-UNDO. DEFINE VARIABLE cRetVal AS CHARACTER NO-UNDO. DEFINE BUFFER bAufko FOR Aufko. lMut = DYNAMIC-FUNCTION('getMutFlag':U, Progname ) NO-ERROR. IF lMut THEN DO: APPLY 'U1'. RETURN NO-APPLY. END. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ) NO-ERROR. IF iRecid = ? OR iRecid = 0 THEN RETURN NO-APPLY. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid. iAufnr = bAufko.Aufnr. iAufSta = bAufko.Auf_Sta. RELEASE bAufko. cParam = cPubParam. RUN DRUCKEN IN hFenster ( iRecid, iAufnr, cParam, OUTPUT cRetVal ). IF cRetVal <> '' THEN DO: APPLY 'U1'. RETURN NO-APPLY. END. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid. DYNAMIC-FUNCTION('openQuery':U IN hDaten). IF bAufko.Auf_Sta <> iAufSta THEN DO: APPLY 'U1'. RETURN NO-APPLY. END. cRowId = STRING(ROWID(bAufko)). RELEASE bAufko. DYNAMIC-FUNCTION('fetchRowIdent':U IN hDaten, cRowId, ? ) NO-ERROR. APPLY 'U1'. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_BROWSE bTableWin PROCEDURE ENTRY_BROWSE : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ APPLY 'ENTRY' TO {&BROWSE-NAME} IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDERECHNUNG bTableWin PROCEDURE GEBINDERECHNUNG : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE lMut AS LOG NO-UNDO. DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO. DEFINE BUFFER bAufko FOR Aufko. lMut = DYNAMIC-FUNCTION('getMutFlag':U, Progname ) NO-ERROR. IF lMut THEN DO: APPLY 'U1'. RETURN NO-APPLY. END. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ) NO-ERROR. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid. iAufnr = bAufko.Aufnr. RUN g-gebinderechnung.w ( iAufnr ) NO-ERROR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject bTableWin PROCEDURE initializeObject : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ { incl/brwinitialize.i } hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR. cBenutzer = DYNAMIC-FUNCTION ('getBenutzer':U) NO-ERROR. DYNAMIC-FUNCTION('openQuery':U IN hDaten) NO-ERROR. APPLY 'VALUE-CHANGED':U TO hItem_sort. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERANTENAUFTRAG bTableWin PROCEDURE LIEFERANTENAUFTRAG : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE rAufko AS RECID NO-UNDO. DEFINE VARIABLE iLnr AS INTEGER NO-UNDO. DEFINE VARIABLE iRetVal AS INTEGER NO-UNDO. DEFINE VARIABLE cRetVal AS CHARACTER NO-UNDO. DEFINE VARIABLE lRetVal AS LOGICAL NO-UNDO. DEFINE VARIABLE nMenge AS DECIMAL NO-UNDO. DEFINE VARIABLE nGGeb_Me AS DECIMAL NO-UNDO. DEFINE VARIABLE nVGeb_Me AS DECIMAL NO-UNDO. DEFINE VARIABLE nKGeb_Me AS DECIMAL NO-UNDO. DEFINE VARIABLE iPreisArt AS INTEGER NO-UNDO. DEFINE VARIABLE nTotal AS DECIMAL DECIMALS 4 NO-UNDO EXTENT 15. DEFINE BUFFER bArtLief FOR ArtLief. DEFINE BUFFER bAufko FOR Aufko. rAufko = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten) NO-ERROR. IF rAufko = ? OR rAufko = 0 THEN RETURN NO-APPLY. FIND bAufko NO-LOCK WHERE RECID(bAufko) = rAufko. RUN g-einlesen-nummer.w ('Eingabe Lieferantennummer', 'Liefer-Knr', OUTPUT iLnr). FIND FIRST Liefst NO-LOCK WHERE Liefst.Firma = D1Firma AND Liefst.Knr = iLnr NO-ERROR. IF NOT AVAILABLE Liefst THEN DO: RUN FEHLER ( 0223 ). RETURN NO-APPLY. END. FIND FIRST Adresse NO-LOCK WHERE Adresse.Firma = AdFirma AND Adresse.Knr = Liefst.Knr. MESSAGE 'Soll der Auftrag mit den Artikeln von ' SKIP Adresse.Anzeig_Br SKIP 'erstellt werden ?' VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO UPDATE lRetVal. IF lRetVal = ? OR NOT lRetVal THEN RETURN NO-APPLY. REPEAT TRANSACTION ON ERROR UNDO, LEAVE: FOR EACH ArtLief NO-LOCK WHERE ArtLief.Firma = D1Firma AND ArtLief.Knr = iLnr AND Artlief.Haupt = TRUE, FIRST Artst NO-LOCK WHERE Artst.Firma = ArtLief.Firma AND Artst.Artnr = ArtLief.Artnr AND Artst.Inhalt = ArtLief.Inhalt AND Artst.Jahr = ArtLief.Jahr AND Artst.Aktiv = TRUE, FIRST ArtLager NO-LOCK WHERE ArtLager.Firma = Artst.Firma AND ArtLager.Lager = 0 AND ArtLager.Artnr = Artst.Artnr AND ArtLager.Inhalt = Artst.Inhalt AND ArtLager.Jahr = Artst.Jahr : IF Artst.Ausverk = 9 AND ArtLager.Bestand = 0 THEN NEXT. EMPTY TEMP-TABLE tAufze. CREATE tAufze. ASSIGN tAufze.Firma = bAufko.Firma tAufze.Aufnr = bAufko.Aufnr tAufze.Artnr = ArtLief.Artnr tAufze.Inhalt = ArtLief.Inhalt tAufze.Jahr = ArtLief.Jahr. iRetVal = DYNAMIC-FUNCTION ( 'fillAufze':U, INPUT-OUTPUT htAufze ) NO-ERROR. IF iRetVal > 0 THEN DO: DYNAMIC-FUNCTION('fehlerMeldung':U, iRetVal, '' ) NO-ERROR. NEXT. END. FIND FIRST tAufze. FIND GGebinde NO-LOCK WHERE GGebinde.Firma = Artst.Firma AND GGebinde.Geb_Cd = Artst.GGeb_Cd NO-ERROR. FIND VGebinde NO-LOCK WHERE VGebinde.Firma = Artst.Firma AND VGebinde.Geb_Cd = Artst.VGeb_Cd NO-ERROR. FIND KGebinde NO-LOCK WHERE KGebinde.Firma = Artst.Firma AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-ERROR. ASSIGN nGGeb_Me = 0 nVGeb_Me = 0 nKGeb_Me = 1 nMenge = 1. IF ArtLager.Bestand > 0 THEN DO: nGGeb_Me = 0. nVGeb_Me = 0. nKGeb_Me = ArtLager.Bestand. nMenge = ArtLager.Bestand. IF AVAILABLE VGebinde AND VGebinde.Inhalt > 0 AND nMenge > VGebinde.Inhalt THEN DO: nVGeb_Me = (nMenge - (nMenge MOD VGebinde.Inhalt)) / VGebinde.Inhalt. END. IF AVAILABLE GGebinde AND GGebinde.Inhalt > 0 AND nVGeb_Me > GGebinde.Inhalt THEN DO: nGGeb_Me = (nVGeb_Me - (nVGeb_Me MOD GGebinde.Inhalt)) / GGebinde.Inhalt. END. END. ASSIGN tAufze.GGeb_Be = nGGeb_Me tAufze.VGeb_Be = nVGeb_Me tAufze.KGeb_Be = nKGeb_Me tAufze.MBest = nMenge tAufze.GGeb_Me = nGGeb_Me tAufze.VGeb_Me = nVGeb_Me tAufze.KGeb_Me = nKGeb_Me tAufze.MGeli = nMenge tAufze.Lag_Buch = FALSE. /* -------------------------------------------------------------- */ /* Liter und Gewicht */ /* -------------------------------------------------------------- */ ASSIGN tAufze.Liter = KGebinde.Inhalt * tAufze.KGeb_Me / 100 tAufze.Gewicht = (Artst.Gewicht * tAufze.KGeb_Me) + (KGebinde.Gewicht * tAufze.KGeb_Me) + (VGebinde.Gewicht * tAufze.VGeb_Me) + (GGebinde.Gewicht * tAufze.GGeb_Me) tAufze.KGebinde = KGebinde.KBez tAufze.VGebinde = VGebinde.KBez tAufze.GGebinde = GGebinde.KBez. iPreisArt = DYNAMIC-FUNCTION('getPreisAufze':U, INPUT-OUTPUT htAufze) NO-ERROR. IF iPreisArt < 0 THEN iPreisArt = 0. tAufze.PreisArt = iPreisArt. IF tAufze.Artnr > 0 THEN DYNAMIC-FUNCTION('calculateZeilenTotal':U, INPUT-OUTPUT htAufze ). CREATE Aufze. BUFFER-COPY tAufze TO Aufze. RELEASE Aufze. END. LEAVE. END. cRetVal = DYNAMIC-FUNCTION('calculateAuftragsTotal':U, bAufko.Firma, bAufko.Aufnr, OUTPUT nTotal ) NO-ERROR. PUBLISH 'refreshAufko'. MESSAGE 'Auftrag erstellt' VIEW-AS ALERT-BOX. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NICHTGEDRUCKT bTableWin PROCEDURE NICHTGEDRUCKT : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE lGeladen AS LOGICAL NO-UNDO. DEFINE VARIABLE iRuestAuf AS INTEGER NO-UNDO. DEFINE BUFFER bAufko FOR Aufko. DEFINE BUFFER bRuestAuf FOR RuestAuf. EMPTY TEMP-TABLE xAufko. FOR EACH bAufko NO-LOCK WHERE bAufko.Firma = D1Firma AND bAufko.Auf_Sta < 4 AND bAufko.Fak_Art < 10 AND bAufko.Gedruckt = FALSE AND bAufko.AlsOfferte = FALSE: lGeladen = TRUE. iRuestAuf = 0. FOR EACH bRuestAuf NO-LOCK WHERE bRuestauf.Firma = bAufko.Firma AND bRuestAuf.Aufnr = bAufko.Aufnr: iRuestAuf = iRuestAuf + 1. IF NOT bRuestauf.lLAGedruckt THEN DO: lGeladen = FALSE. LEAVE. END. END. IF NOT lGeladen THEN NEXT. IF iRuestAuf = 0 THEN NEXT. CREATE xAufko. BUFFER-COPY bAufko TO xAufko. FIND Adresse NO-LOCK WHERE Adresse.Firma = bAufko.Firma AND Adresse.Knr = bAufko.Knr. xAufko.cKunde = Adresse.Anzeig_Br. END. FIND FIRST xAufko NO-LOCK NO-ERROR. IF NOT AVAILABLE xAufko THEN RETURN. DEFINE VARIABLE hBuffer AS HANDLE NO-UNDO. hBuffer = TEMP-TABLE xAufko:DEFAULT-BUFFER-HANDLE. RUN 'g-nichtgedruckte.w' ( hBuffer ). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE POSTETIKETTE bTableWin PROCEDURE POSTETIKETTE : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE rAufko AS RECID NO-UNDO. DEFINE VARIABLE iParent AS INT64 NO-UNDO INITIAL "0". DEFINE VARIABLE cOperation AS CHARACTER NO-UNDO INITIAL "open". DEFINE VARIABLE cUrl AS CHARACTER NO-UNDO INITIAL "". DEFINE VARIABLE cCommand AS CHARACTER NO-UNDO INITIAL "". DEFINE VARIABLE cDirectory AS CHARACTER NO-UNDO INITIAL "". DEFINE VARIABLE iWindowStyle AS INT64 NO-UNDO INITIAL 0. DEFINE VARIABLE hInstance AS INTEGER NO-UNDO. DEFINE BUFFER bAufko FOR Aufko. DEFINE BUFFER bAdresse FOR Adresse. rAufko = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten) NO-ERROR. IF rAufko = ? OR rAufko = 0 THEN RETURN. FIND bAufko NO-LOCK WHERE RECID(bAufko) = rAufko. FIND bAdresse NO-LOCK WHERE bAdresse.Firma = AdFirma AND bAdresse.Knr = bAufko.Knr NO-ERROR. CASE bAufko.Firma: WHEN "1000" THEN cUrl = cPlanzer. OTHERWISE DO: MESSAGE "ERROR PaketDienst!" VIEW-AS ALERT-BOX. RETURN. END. END CASE. cURL = cURL + "?company=" + bAufko.Firma + "&orderNo=" + STRING(bAufko.Aufnr). cURL = cURL + "&packagePlace=" + '1'. cURL = cURL + "&language=" + STRING(bAdresse.Sprcd). cURL = cURL + "&user=" + cBenutzer. /* OUTPUT TO 'C:\TEMP\URL.txt' NO-MAP NO-CONVERT. */ /* PUT CONTROL cURL CHR(10) */ /* 'Prameter 1 (Parent) ' iParent CHR(10) */ /* 'Prameter 2 (Operation) ' cOperation CHR(10) */ /* 'Prameter 3 (URL) ' cUrl CHR(10) */ /* 'Prameter 4 (Command) ' cCommand CHR(10) */ /* 'Prameter 5 (Directory) ' cDirectory CHR(10) */ /* 'Prameter 6 (WindowStyle) ' iWindowStyle CHR(10).*/ /* OUTPUT CLOSE. */ RUN super/openWithDefaultApp.p(INPUT iParent, INPUT cOperation, INPUT cURL, INPUT cCommand, INPUT cDirectory, INPUT iWindowStyle, OUTPUT hInstance ). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE START_DRUCKEN_RUESTPAPIERE bTableWin PROCEDURE START_DRUCKEN_RUESTPAPIERE : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO. DEFINE VARIABLE iAufSta AS INTEGER NO-UNDO. DEFINE VARIABLE cParam AS CHARACTER NO-UNDO. DEFINE VARIABLE cRetVal AS CHARACTER NO-UNDO. DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE BUFFER bAufko FOR Aufko. FOR EACH bAufko NO-LOCK WHERE bAufko.Firma = '1000' AND bAufko.Auf_Sta < 2 AND bAufko.AlsOfferte = FALSE: FIND FIRST RuestAuf NO-LOCK OF bAufko NO-ERROR. IF NOT AVAILABLE RuestAuf THEN NEXT. iAufnr = bAufko.Aufnr. iAufSta = bAufko.Auf_Sta. iRecid = RECID(bAufko). RELEASE bAufko. cParam = ''. RUN DRUCKEN IN hFenster ( iRecid, iAufnr, cParam, OUTPUT cRetVal ). END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VERBUCHEN bTableWin PROCEDURE VERBUCHEN : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE lMut AS LOG NO-UNDO. DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO. DEFINE VARIABLE iRow AS INTEGER NO-UNDO. DEFINE VARIABLE cParam AS CHARACTER NO-UNDO. DEFINE VARIABLE lRetVal AS LOG NO-UNDO. DEFINE VARIABLE lGedruckt AS LOG NO-UNDO. DEFINE BUFFER bAufko FOR Aufko . DEFINE BUFFER sAufko FOR Aufko . DEFINE BUFFER bDebop FOR Debop . DEFINE BUFFER bTabel FOR Tabel. lMut = DYNAMIC-FUNCTION('getMutFlag':U, Progname ) NO-ERROR. IF lMut THEN DO: APPLY 'U1'. RETURN NO-APPLY. END. iRow = BROWSE {&BROWSE-NAME}:FOCUSED-ROW. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ) NO-ERROR. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid. iAufnr = bAufko.Aufnr. lGedruckt = FALSE. FIND bTabel NO-LOCK WHERE bTabel.Firma = bAufko.Firma AND bTabel.RecArt = 'FAKART' AND bTabel.CodeC = '' AND bTabel.CodeI = bAufko.Fak_Art AND bTabel.Sprcd = 1 NO-ERROR. IF bTabel.Int_3 = 4 THEN DO: /* Sammelrechnung */ lGedruckt = TRUE. FOR EACH sAufko NO-LOCK WHERE sAufko.Firma = bAufko.Firma AND sAufko.Fak_Knr = bAufko.Fak_Knr AND sAufko.Samm_Nr = bAufko.Samm_Nr AND sAufko.Gedruckt = FALSE: lGedruckt = FALSE. LEAVE. END. END. ELSE DO: lGedruckt = bAufko.Gedruckt. END. IF NOT lGedruckt THEN DO: lRetVal = DYNAMIC-FUNCTION('antwort_ja':U, 1066 ) NO-ERROR. IF NOT lRetVal THEN DO: RELEASE bAufko. RETURN NO-APPLY. END. lRetVal = DYNAMIC-FUNCTION('getAdmin':U). IF NOT lRetVal THEN DO: RELEASE bAufko. RETURN NO-APPLY. END. FIND Aufko WHERE RECID(Aufko) = RECID(bAufko). Aufko.Gedruckt = TRUE. RUN refreshRow IN hDaten. RELEASE Aufko. END. IF bAufko.Faknr = 0 THEN DO: DYNAMIC-FUNCTION('fehlerMeldung':U, 1067, '' ) NO-ERROR. RETURN NO-APPLY. END. FIND FIRST bDebop NO-LOCK WHERE bDebop.Firma = bAufko.Firma AND bDebop.Faknr = bAufko.Faknr NO-ERROR. IF AVAILABLE bDebop THEN DO: MESSAGE 'Rechnungsnummer ist ungültig. Eine solche Nummer besteht bereits' VIEW-AS ALERT-BOX ERROR. RELEASE bDebop. RETURN NO-APPLY. END. DO WHILE TRUE: IF bTabel.INT_3 = 20 THEN LEAVE. /* Kasse */ IF bTabel.Int_3 = 3 THEN LEAVE. /* Einzelrechnung */ IF bTabel.Int_3 = 4 AND /* Sammelrechnung */ bAufko.Auf_Sta > 4 THEN LEAVE. DYNAMIC-FUNCTION('fehlerMeldung':U, 0313, '' ) NO-ERROR. RETURN NO-APPLY. END. lRetVal = FALSE. cParam = SUBSTITUTE('&1;&2;&3;&4;&5', bAufko.Aufnr, RECID(bAufko), 'A', '', ''). RUN g-verbuchen.w ( cParam, hFenster, OUTPUT lRetVal ) NO-ERROR. IF NOT lRetVal THEN RETURN NO-APPLY. DYNAMIC-FUNCTION('openQuery':U IN hDaten) NO-ERROR. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Implementations ***************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setZeilenfarbe bTableWin FUNCTION setZeilenfarbe RETURNS LOGICAL ( ipFarbe AS INTEGER ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ { incl/brwsetzeilenfarbe.i } END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME