&ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1 &ANALYZE-RESUME &Scoped-define WINDOW-NAME CURRENT-WINDOW &Scoped-define FRAME-NAME D-Dialog &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS D-Dialog /*------------------------------------------------------------------------ File: Description: from cntnrdlg.w - ADM SmartDialog Template Input Parameters: Output Parameters: Author: Created: ------------------------------------------------------------------------*/ /* This .W file was created with the Progress UIB. */ /*----------------------------------------------------------------------*/ /* 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 LHandle AS HANDLE NO-UNDO. DEFINE VARIABLE VBestand AS DECIMAL DECIMALS 4 NO-UNDO. DEFINE VARIABLE VDEP AS DECIMAL DECIMALS 4 NO-UNDO. DEFINE VARIABLE VEpCHF AS DECIMAL DECIMALS 4 NO-UNDO. DEFINE VARIABLE WBestand AS DECIMAL DECIMALS 4 NO-UNDO. DEFINE VARIABLE WEingang AS DECIMAL DECIMALS 4 NO-UNDO. DEFINE VARIABLE TBestand AS DECIMAL DECIMALS 4 NO-UNDO. DEFINE VARIABLE VJJ AS INTEGER NO-UNDO. DEFINE VARIABLE VMM AS INTEGER NO-UNDO. DEFINE VARIABLE VKorrektur AS DECIMAL DECIMALS 4 NO-UNDO. /* ---------- Globale Variablen ---------------------------------- */ { v8/globvar.i" " " " "SHARED" } { v8/debivar.i " " " " "SHARED" } { v8/artivar.i " " " " "SHARED" } { v8/contvar.i " " " " "SHARED" } /* _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 /* Name of designated FRAME-NAME and/or first browse and/or first query */ &Scoped-define FRAME-NAME D-Dialog /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS RECT-35 E_Text F_Bestell_Nr F_FRW F_Kurs ~ F_Faktor F_Bestellung F_Artikel F_Bestand F_Bestand_Am F_DEP F_DEP_Am ~ F_Korrektur Btn_OK Btn_Cancel &Scoped-Define DISPLAYED-OBJECTS E_Text F_Bestell_Nr F_FRW F_Kurs F_Faktor ~ F_Bestellung F_Artikel F_Bestand F_Bestand_Am F_DEP F_DEP_Am F_Korrektur /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-1 F_Bestell_Nr F_FRW F_Kurs F_Faktor &Scoped-define List-6 F_Artikel F_Bestand F_Bestand_Am F_DEP F_DEP_Am ~ F_Korrektur /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Define a dialog box */ /* Definitions of the field level widgets */ DEFINE BUTTON Btn_Cancel AUTO-END-KEY LABEL "&Abbrechen" SIZE 16 BY 1 BGCOLOR 8 . DEFINE BUTTON Btn_OK AUTO-GO LABEL "OK" SIZE 16 BY 1 BGCOLOR 8 . DEFINE VARIABLE E_Text AS CHARACTER VIEW-AS EDITOR MAX-CHARS 1000 SIZE 108 BY 2.71 BGCOLOR 15 FGCOLOR 12 NO-UNDO. DEFINE VARIABLE F_Artikel AS CHARACTER FORMAT "X(256)":U LABEL "Artikel" VIEW-AS FILL-IN NATIVE SIZE 68 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Bestand AS CHARACTER FORMAT "X(256)":U LABEL "Bestand heute" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Bestand_Am AS CHARACTER FORMAT "X(256)":U LABEL "Bestand am" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Bestellung AS CHARACTER FORMAT "X(256)":U LABEL "Bestellung" VIEW-AS FILL-IN NATIVE SIZE 68 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Bestell_Nr AS CHARACTER FORMAT "x(20)":U LABEL "Dokumentnummer Lieferant" VIEW-AS FILL-IN NATIVE SIZE 20 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_DEP AS CHARACTER FORMAT "X(256)":U LABEL "Durschnittlicher EP heute" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_DEP_Am AS CHARACTER FORMAT "X(256)":U LABEL "Durchschnittlicher EP am" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Faktor AS INTEGER FORMAT "zzzz9":U INITIAL 0 LABEL "Faktor" VIEW-AS FILL-IN NATIVE SIZE 9 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_FRW AS CHARACTER FORMAT "X(256)":U LABEL "Währung" VIEW-AS FILL-IN NATIVE SIZE 28 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Korrektur AS CHARACTER FORMAT "x(16)":U LABEL "Korrektur der Einstandskosten" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Kurs AS DECIMAL FORMAT "zz,zz9.999999":U INITIAL 0 LABEL "Kurs" VIEW-AS FILL-IN NATIVE SIZE 20 BY 1 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-35 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 112 BY 14.29. /* ************************ Frame Definitions *********************** */ DEFINE FRAME D-Dialog E_Text AT ROW 1.52 COL 3.8 NO-LABELS NO-TAB-STOP F_Bestell_Nr AT ROW 5 COL 41 COLON-ALIGNED F_FRW AT ROW 5 COL 81 COLON-ALIGNED NO-TAB-STOP F_Kurs AT ROW 6 COL 89 COLON-ALIGNED F_Faktor AT ROW 7 COL 100 COLON-ALIGNED NO-TAB-STOP F_Bestellung AT ROW 8 COL 41 COLON-ALIGNED NO-TAB-STOP F_Artikel AT ROW 9 COL 41 COLON-ALIGNED NO-TAB-STOP F_Bestand AT ROW 10 COL 41 COLON-ALIGNED NO-TAB-STOP F_Bestand_Am AT ROW 11 COL 41 COLON-ALIGNED NO-TAB-STOP F_DEP AT ROW 12 COL 41 COLON-ALIGNED NO-TAB-STOP F_DEP_Am AT ROW 13 COL 41 COLON-ALIGNED NO-TAB-STOP F_Korrektur AT ROW 14 COL 41 COLON-ALIGNED NO-TAB-STOP Btn_OK AT ROW 14 COL 68 Btn_Cancel AT ROW 14 COL 86.4 RECT-35 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 "Preise eines Lagereinganges verbuchen" DEFAULT-BUTTON Btn_Cancel CANCEL-BUTTON Btn_Cancel. /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartDialog Allow: Basic,Browse,DB-Fields,Query,Smart Other Settings: COMPILE */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB D-Dialog /* ************************* Included-Libraries *********************** */ {src/adm/method/containr.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR DIALOG-BOX D-Dialog FRAME-NAME */ ASSIGN FRAME D-Dialog:SCROLLABLE = FALSE FRAME D-Dialog:HIDDEN = TRUE. ASSIGN E_Text:RETURN-INSERTED IN FRAME D-Dialog = TRUE E_Text:READ-ONLY IN FRAME D-Dialog = TRUE. /* SETTINGS FOR FILL-IN F_Artikel IN FRAME D-Dialog 6 */ ASSIGN F_Artikel:READ-ONLY IN FRAME D-Dialog = TRUE. /* SETTINGS FOR FILL-IN F_Bestand IN FRAME D-Dialog 6 */ ASSIGN F_Bestand:READ-ONLY IN FRAME D-Dialog = TRUE. /* SETTINGS FOR FILL-IN F_Bestand_Am IN FRAME D-Dialog 6 */ ASSIGN F_Bestand_Am:READ-ONLY IN FRAME D-Dialog = TRUE. ASSIGN F_Bestellung:READ-ONLY IN FRAME D-Dialog = TRUE. /* SETTINGS FOR FILL-IN F_Bestell_Nr IN FRAME D-Dialog 1 */ /* SETTINGS FOR FILL-IN F_DEP IN FRAME D-Dialog 6 */ ASSIGN F_DEP:READ-ONLY IN FRAME D-Dialog = TRUE. /* SETTINGS FOR FILL-IN F_DEP_Am IN FRAME D-Dialog 6 */ ASSIGN F_DEP_Am:READ-ONLY IN FRAME D-Dialog = TRUE. /* SETTINGS FOR FILL-IN F_Faktor IN FRAME D-Dialog 1 */ ASSIGN F_Faktor:READ-ONLY IN FRAME D-Dialog = TRUE. /* SETTINGS FOR FILL-IN F_FRW IN FRAME D-Dialog 1 */ ASSIGN F_FRW:READ-ONLY IN FRAME D-Dialog = TRUE. /* SETTINGS FOR FILL-IN F_Korrektur IN FRAME D-Dialog 6 */ ASSIGN F_Korrektur:READ-ONLY IN FRAME D-Dialog = TRUE. /* SETTINGS FOR FILL-IN F_Kurs IN FRAME D-Dialog 1 */ /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX D-Dialog /* Query rebuild information for DIALOG-BOX D-Dialog _Options = "SHARE-LOCK" _Query is NOT OPENED */ /* DIALOG-BOX D-Dialog */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME D-Dialog &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL D-Dialog D-Dialog ON END-ERROR OF FRAME D-Dialog /* Preise eines Lagereinganges verbuchen */ DO: Ja = FALSE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL D-Dialog D-Dialog ON WINDOW-CLOSE OF FRAME D-Dialog /* Preise eines Lagereinganges verbuchen */ DO: /* Add Trigger to equate WINDOW-CLOSE to END-ERROR. */ APPLY "END-ERROR":U TO SELF. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Cancel &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel D-Dialog ON CHOOSE OF Btn_Cancel IN FRAME D-Dialog /* Abbrechen */ DO: Ja = FALSE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_OK &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK D-Dialog ON CHOOSE OF Btn_OK IN FRAME D-Dialog /* OK */ DO: DEFINE VARIABLE iFaknr AS INTEGER NO-UNDO. DEFINE VARIABLE cFaknr AS CHARACTER NO-UNDO. DO WITH FRAME {&FRAME-NAME}: DISABLE Btn_OK Btn_Cancel. ASSIGN {&List-1}. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR. VKorrektur = 0. FOR EACH Besze OF Besko WITH FRAME {&FRAME-NAME}: IF Besze.Artnr = 0 THEN NEXT. IF Besze.MGeli < 1 THEN NEXT. IF Besze.Verbucht = TRUE THEN NEXT. FIND Artst OF Besze. VBestand = Artst.Bestand. VDEP = 0. IF VDEP = 0 THEN VDEP = Artst.DEP. IF VDEP = 0 THEN VDEP = Artst.LEP. IF VDEP = 0 THEN VDEP = Artst.Listen_EP. IF Besko.FRW <> Steuer.Fwc03 THEN DO: IF F_Kurs <> Besze.Kurs THEN DO: Besze.Kurs = F_Kurs. Rundbetr = Besze.S_Preis_FRW * Besze.Kurs / Besze.Faktor. Besze.S_Preis = Rundbetr. Rundbetr = (Rundbetr * (100 - Besze.Rabatt) / 100) + Besze.Spesen. Besze.Preis = Rundbetr. END. END. IF VDEP = 0 THEN VDEP = Besze.Preis. VEpCHF = Besze.Preis. FIND ArtLief USE-INDEX ArtLief-k2 WHERE ArtLief.Firma = Besze.Firma AND ArtLief.Knr = Besko.Knr AND ArtLief.Artnr = Besze.Artnr AND ArtLief.Inhalt = Besze.Inhalt AND ArtLief.Jahr = Besze.Jahr NO-ERROR. FIND Liefst USE-INDEX Liefst-k1 WHERE Liefst.Firma = Besze.Firma AND Liefst.Knr = Besko.Knr NO-ERROR. F_Artikel = STRING(Besze.Artnr ,"999999/") + STRING(Besze.Inhalt ,"9999/") + STRING(Besze.Jahr ,"9999 ") + Artst.Bez. F_Bestand = STRING(VBestand ,"->>>,>>>,>>>,>>9"). F_DEP = STRING(VDEP ,"zzz,zzz,zz9.9999"). F_Bestand_Am = ''. F_DEP_Am = ''. DISPLAY {&List-6}. FOR EACH Artbw USE-INDEX Artbw-k2 WHERE Artbw.Firma = Besze.Firma AND Artbw.Artnr = Besze.Artnr AND Artbw.Inhalt = Besze.Inhalt AND Artbw.Jahr = Besze.Jahr AND Artbw.Datum > Besko.Buch_Datum AND Artbw.Trnr <> Besze.Trnr AND Artbw.Lager = Besze.Lager NO-LOCK: IF Artbw.Tr_Art > 0 AND Artbw.Tr_Art < 11 THEN VBestand = VBestand + Artbw.Menge. IF Artbw.Tr_Art > 10 AND Artbw.Tr_Art < 21 THEN VBestand = VBestand - Artbw.Menge. END. F_Bestand_Am = STRING(VBestand ,"->>>,>>>,>>>,>>9"). WBestand = 0. WEingang = 0. TBestand = 0. TBestand = VBestand + Besze.MGeli. IF VBestand < 0 THEN VBestand = 0. WBestand = VBestand * VDEP. WEingang = Besze.MGeli * VEpCHF. DO WHILE TRUE: IF TBestand < 0 THEN DO: VDEP = VEpCHF. LEAVE. END. IF VBestand = 0 THEN DO: VDEP = VEpCHF. LEAVE. END. Rundbetr = (WBestand + WEingang) / TBestand. VDEP = Rundbetr. LEAVE. END. F_DEP_Am = STRING(VDEP,"zzz,zzz,zz9.9999"). FOR EACH Artbw USE-INDEX Artbw-k2 WHERE Artbw.Firma = Besze.Firma AND Artbw.Artnr = Besze.Artnr AND Artbw.Inhalt = Besze.Inhalt AND Artbw.Jahr = Besze.Jahr AND Artbw.Datum > Besko.Buch_Datum AND Artbw.Tr_Art > 0 AND Artbw.Tr_Art < 11 AND Artbw.Trnr <> Besze.Trnr AND Artbw.Menge <> 0 AND Artbw.Lager = Besze.Lager: IF Artbw.EP = VDEP THEN NEXT. IF Artbw.Faknr = 0 THEN DO: Artbw.EP = VDEP. NEXT. END. VJJ = YEAR (Artbw.Fak_Dat). VMM = MONTH(Artbw.Fak_Dat). Rundbetr = (Artbw.Menge * VDEP) - (Artbw.Menge * Artbw.Ep). VKorrektur = VKorrektur + Rundbetr. FIND DeArUms USE-INDEX DeArUms-k1 WHERE DeArUms.Firma = GVFirma AND DeArUms.Jahr = VJJ AND DeArUms.Knr = Besko.Knr AND DeArUms.Artnr = Besze.Artnr AND DeArUms.Inhalt = Besze.Inhalt AND DeArUms.Jahrg = Besze.Jahr NO-ERROR. IF AVAILABLE DeArUms THEN DO: DeArUms.Ep_Kum = DeArUms.Ep_Kum + Rundbetr. DeArUms.Ep_Mon[VMM] = DeArUms.Ep_Mon[VMM] + Rundbetr. END. FIND ArtUms USE-INDEX ArtUms-k1 WHERE ArtUms.Firma = GVFirma AND ArtUms.Jahr = VJJ AND ArtUms.Artnr = Besze.Artnr AND ArtUms.Inhalt = Besze.Inhalt AND ArtUms.Jahrg = Besze.Jahr NO-ERROR. IF AVAILABLE ArtUms THEN DO: ArtUms.Ep_Kum = ArtUms.Ep_Kum + Rundbetr. ArtUms.Ep_Mon[VMM] = ArtUms.Ep_Mon[VMM] + Rundbetr. END. FIND DebUms USE-INDEX DebUms-k1 WHERE DebUms.Firma = GVFirma AND DebUms.Jahr = VJJ AND DebUms.Knr = Besko.Knr AND DebUms.Ums_Grp = 999 NO-ERROR. IF AVAILABLE DebUms THEN DO: DebUms.Ep_Kum = DebUms.Ep_Kum + Rundbetr. DebUms.Ep_Mon[VMM] = DebUms.Ep_Mon[VMM] + Rundbetr. END. Artbw.Ep = VDEP. END. F_Korrektur = STRING(VKorrektur,"->>>,>>>,>>>,>>9"). DISPLAY {&List-6}. FOR EACH Aufze USE-INDEX Aufze-k2 WHERE Aufze.Firma = Besze.Firma AND Aufze.Artnr = Besze.Artnr AND Aufze.Inhalt = Besze.Inhalt AND Aufze.Jahr = Besze.Jahr , FIRST Aufko USE-INDEX Aufko-k1 WHERE Aufko.Firma = Aufze.Firma AND Aufko.Aufnr = Aufze.Aufnr AND Aufko.Lief_Datum > Besko.Buch_Datum NO-LOCK : IF Aufze.EP = VDEP THEN NEXT. Aufze.EP = VDEP. END. IF Besze.Trnr = 0 THEN DO: FIND FIRST Artbw USE-INDEX Artbw-k4 WHERE Artbw.Firma = Besze.Firma AND Artbw.Aufnr = Besze.Besnr AND Artbw.Artnr = Besze.Artnr AND Artbw.Inhalt = Besze.Inhalt AND Artbw.Jahr = Besze.Jahr AND Artbw.Knr = Besko.Knr AND Artbw.Tr_Art = 11 AND Artbw.Menge = Besze.MGeli AND Artbw.Lager = Besze.Lager NO-ERROR. IF AVAILABLE Artbw THEN Besze.Trnr = Artbw.Trnr. END. IF Besze.Trnr > 0 THEN DO: F_Bestell_Nr = TRIM(REPLACE(F_Bestell_Nr, ' ', '')). cFaknr = ''. DO i1 = 1 TO LENGTH(F_Bestell_Nr): IF SUBSTRING(F_Bestell_Nr, i1,01) < '0' THEN NEXT. IF SUBSTRING(F_Bestell_Nr, i1,01) > '9' THEN NEXT. cFaknr = cFaknr + SUBSTRING(F_Bestell_Nr,i1,01). END. IF LENGTH(cFaknr) > 6 THEN DO: i1 = LENGTH(cFaknr) - 6 + 1. cFaknr = SUBSTRING(cFaknr,i1). END. iFaknr = INTEGER(cFaknr) NO-ERROR. FIND Artbw USE-INDEX Artbw-k1 WHERE Artbw.Firma = Besze.Firma AND Artbw.Trnr = Besze.Trnr. ASSIGN Artbw.Bez1 = Besze.Bez1 Artbw.Bez2 = Besze.Bez2 Artbw.Knr = Besko.Knr Artbw.Menge = Besze.MGel Artbw.Alk_Gehalt = Artst.Alk_Gehalt Artbw.Aktion = Besze.Aktion Artbw.Lager = Besze.Lager Artbw.Preis = Besze.Preis Artbw.Bru_Betr = Besze.Preis * Besze.MGeli Artbw.Net_Betr = Besze.Preis * Besze.MGeli Artbw.FRW = Besze.FRW Artbw.Faktor = F_Faktor Artbw.Kurs = F_Kurs Artbw.Ep = VDEP Artbw.Lag_Buch = TRUE Artbw.Faknr = iFaknr Artbw.Fak_Dat = (IF Besko.Buch_Datum <> ? THEN Besko.Buch_Datum ELSE Artbw.Datum). END. Besze.L_EP = Artst.LEP. Besze.Verbucht = TRUE. IF NOT Besze.Aktion THEN DO: IF AVAILABLE ArtLief THEN DO: ASSIGN ArtLief.S_Preis_FRW = Besze.S_Preis_FRW ArtLief.S_Preis = Besze.S_Preis ArtLief.L_EP = Besze.Preis ArtLief.L_EP_FRW = Besze.Preis * Besze.Faktor / Besze.Kurs ArtLief.L_Rabatt = Besze.Rabatt. IF Besze.S_Artnr <> '' THEN ArtLief.S_Artnr = Besze.S_Artnr. END. ASSIGN Artst.LEP = VEpCHF. END. ASSIGN Artst.DEP = VDEP. END. ENABLE Btn_OK Btn_Cancel. END. LVRecid = RECID(Besko). FIND Besko WHERE RECID(Besko) = LVRecid. Besko.Verbucht = TRUE. Besko.Bestell_Nr = F_Bestell_Nr. Besko.Kurs = F_Kurs. RELEASE Besko. Ja = TRUE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME E_Text &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL E_Text D-Dialog ON ENTRY OF E_Text IN FRAME D-Dialog DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK D-Dialog /* *************************** Main Block *************************** */ FIND Besko USE-INDEX Besko-k1 WHERE Besko.Firma = GVFirma AND Besko.Besnr = LVBesnr NO-LOCK NO-ERROR. FIND Adresse USE-INDEX Adresse-k1 WHERE Adresse.Firma = AdFirma AND Adresse.Knr = Besko.Knr NO-LOCK NO-ERROR. FIND Waehrung NO-LOCK USE-INDEX Waehrung-k1 WHERE Waehrung.Firma = Besko.Firma AND Waehrung.FRW = Besko.FRW NO-ERROR. F_Bestellung = STRING(Besko.Besnr,"999999") + " " + Adresse.Anzeig_br. E_Text = 'Achtung!! Haben Sie alle Preise mutiert/kontrolliert ? ' + CHR(10) + 'Anschliessend können keine Mutationen mehr gemacht werden!'. F_Bestell_Nr = Besko.Bestell_Nr. F_FRW = Waehrung.Bezeichnung. F_Kurs = Besko.Kurs. F_Faktor = Besko.Faktor. IF Besko.Buch_Datum = ? THEN DO: LVDat = TODAY. Linktext = STRING(LVDat,"99.99.9999") + ";" + "Eingabe Buchungsdatum;" + "Buchungsdatum;" + "99.99.9999;" + "3". RUN "v8/d-einlesen-wert.w". IF Linktext = '?' THEN Linktext = STRING(TODAY,"99.99.9999"). LVDat = DATE(INTEGER(SUBSTRING(Linktext,04,02)), INTEGER(SUBSTRING(Linktext,01,02)), INTEGER(SUBSTRING(Linktext,07,04))). LVRecid = RECID(Besko). DO TRANSACTION: FIND Besko WHERE RECID(Besko) = LVRecid. Besko.Buch_Datum = LVDat. RELEASE Besko. END. FIND Besko WHERE RECID(Besko) = LVRecid NO-LOCK NO-ERROR. END. Linktext = F_Bestand_Am:LABEL. Linktext = Linktext + " " + STRING(Besko.Buch_Datum,"99.99.9999"). F_Bestand_Am:LABEL = Linktext. Linktext = F_DEP_Am:LABEL. Linktext = Linktext + " " + STRING(Besko.Buch_Datum,"99.99.9999"). F_DEP_Am:LABEL = Linktext. Ja = FALSE. {src/adm/template/dialogmn.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects D-Dialog _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: ------------------------------------------------------------------------------*/ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available D-Dialog _ADM-ROW-AVAILABLE PROCEDURE adm-row-available : /*------------------------------------------------------------------------------ Purpose: Dispatched to this procedure when the Record- Source has a new row available. This procedure tries to get the new row (or foriegn keys) from the Record-Source and process it. Parameters: ------------------------------------------------------------------------------*/ /* Define variables needed by this internal procedure. */ {src/adm/template/row-head.i} /* Process the newly available records (i.e. display fields, open queries, and/or pass records on to any RECORD-TARGETS). */ {src/adm/template/row-end.i} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI D-Dialog _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 D-Dialog. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI D-Dialog _DEFAULT-ENABLE PROCEDURE enable_UI : /*------------------------------------------------------------------------------ Purpose: ENABLE the User Interface Parameters: 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 E_Text F_Bestell_Nr F_FRW F_Kurs F_Faktor F_Bestellung F_Artikel F_Bestand F_Bestand_Am F_DEP F_DEP_Am F_Korrektur WITH FRAME D-Dialog. ENABLE RECT-35 E_Text F_Bestell_Nr F_FRW F_Kurs F_Faktor F_Bestellung F_Artikel F_Bestand F_Bestand_Am F_DEP F_DEP_Am F_Korrektur Btn_OK Btn_Cancel WITH FRAME D-Dialog. VIEW FRAME D-Dialog. {&OPEN-BROWSERS-IN-QUERY-D-Dialog} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records D-Dialog _ADM-SEND-RECORDS PROCEDURE send-records : /*------------------------------------------------------------------------------ Purpose: Send record ROWID's for all tables used by this file. Parameters: see template/snd-head.i ------------------------------------------------------------------------------*/ /* SEND-RECORDS does nothing because there are no External Tables specified for this SmartDialog, and there are no tables specified in any contained Browse, Query, or Frame. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed D-Dialog PROCEDURE state-changed : /* ----------------------------------------------------------- Purpose: Parameters: Notes: -------------------------------------------------------------*/ DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME