&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 _DECLARATIONS fFrameWin /*------------------------------------------------------------------------ File: Description: from cntnrfrm.w - ADM2 SmartFrame Template 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 Bez AS CHARACTER FORMAT "x(30)" NO-UNDO. DEFINE VARIABLE GeTot AS DECIMAL FORMAT "zzz9.999-" DECIMALS 4 NO-UNDO. DEFINE VARIABLE Firma AS CHARACTER NO-UNDO. DEFINE VARIABLE iBesnr AS INTEGER NO-UNDO. DEFINE VARIABLE aBesnr AS INTEGER NO-UNDO. DEFINE VARIABLE iLager AS INTEGER NO-UNDO. DEFINE VARIABLE VTotal AS DECIMAL NO-UNDO DECIMALS 4 EXTENT 10. DEFINE VARIABLE SAktiv AS LOG NO-UNDO. DEFINE VARIABLE lView AS LOG NO-UNDO INIT FALSE. DEFINE VARIABLE xRecid AS RECID NO-UNDO. DEFINE VARIABLE ARecid AS RECID NO-UNDO. DEFINE VARIABLE LHandle AS HANDLE NO-UNDO. DEFINE VARIABLE wHandle AS HANDLE NO-UNDO. DEFINE VARIABLE Menge AS DECIMAL DECIMALS 4 NO-UNDO. DEFINE VARIABLE LKY AS INTEGER NO-UNDO. DEFINE VARIABLE FBez AS LOG INIT FALSE NO-UNDO. DEFINE VARIABLE fOpen AS LOG INIT TRUE NO-UNDO. DEFINE VARIABLE Progname AS CHARACTER NO-UNDO. DEFINE VARIABLE lMut AS LOG NO-UNDO. DEFINE VARIABLE hKontainer AS HANDLE NO-UNDO. DEFINE VARIABLE hDaten AS HANDLE NO-UNDO. DEFINE VARIABLE hQuery AS HANDLE NO-UNDO. DEFINE VARIABLE hSaldo AS HANDLE NO-UNDO. DEFINE VARIABLE FMutFlag AS LOGICAL NO-UNDO. DEFINE VARIABLE iStatus AS INTEGER NO-UNDO. DEFINE VARIABLE GlobKon AS CHARACTER NO-UNDO. DEFINE VARIABLE GlobFir AS CHARACTER NO-UNDO. DEFINE VARIABLE GlobFil AS CHARACTER NO-UNDO. DEFINE VARIABLE ADFirma AS CHARACTER NO-UNDO. DEFINE VARIABLE FBFirma AS CHARACTER NO-UNDO. DEFINE VARIABLE Sektion AS CHARACTER NO-UNDO. DEFINE VARIABLE Farbe AS INTEGER NO-UNDO. DEFINE VARIABLE hFenster AS HANDLE NO-UNDO. DEFINE VARIABLE cInstallation AS CHARACTER NO-UNDO. DEFINE TEMP-TABLE tBrowser NO-UNDO FIELD Feld AS CHARACTER FIELD Pos AS INTEGER FIELD Breit AS DECIMAL FIELD fAktiv AS LOG FIELD fVisible AS LOG FIELD PosAkt AS INTEGER FIELD BreitAkt AS DECIMAL FIELD hCol AS HANDLE FIELD cType AS CHARACTER FIELD cFormat AS CHARACTER FIELD cInitial AS CHARACTER FIELD cLabel AS CHARACTER. DEFINE VARIABLE htBrowser AS HANDLE NO-UNDO. htBrowser = TEMP-TABLE tBrowser:DEFAULT-BUFFER-HANDLE. DEFINE TEMP-TABLE tGebRueck LIKE GebRueck. DEFINE TEMP-TABLE tGebKonto LIKE GebKonto. DEFINE TEMP-TABLE tAufGKon LIKE AufGKon FIELD Bez AS CHARACTER FORMAT "x(20)" FIELD Saldo AS INTEGER INDEX tAufGKon-k1 IS PRIMARY Firma Aufnr Mwst_Cd Geb_Cd. DEFINE VARIABLE htAufGKon AS HANDLE NO-UNDO. htAufGKon = TEMP-TABLE tAufGKon:DEFAULT-BUFFER-HANDLE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS fFrameWin /*------------------------------------------------------------------------ File: Description: Input Parameters: Output Parameters: Author: Created: 06/10/20 - 8:11 am ------------------------------------------------------------------------*/ /* This .W file was created with the Progress AppBuilder. */ /*----------------------------------------------------------------------*/ /* *************************** Definitions ************************** */ /* Parameters Definitions --- */ /* Local Variable Definitions --- */ /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE SmartFrame &Scoped-define DB-AWARE no &Scoped-define ADM-CONTAINER FRAME &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target /* Name of designated FRAME-NAME and/or first browse and/or first query */ &Scoped-define FRAME-NAME fMain &Scoped-define BROWSE-NAME Br_BesGebKo /* Internal Tables (found by Frame, Query & Browse Queries) */ &Scoped-define INTERNAL-TABLES BesGebKo tAufGKon /* Definitions for BROWSE Br_BesGebKo */ &Scoped-define FIELDS-IN-QUERY-Br_BesGebKo BesGebKo.Menge Bez @ Bez ~ GeTot @ GeTot &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_BesGebKo BesGebKo.Menge &Scoped-define ENABLED-TABLES-IN-QUERY-Br_BesGebKo BesGebKo &Scoped-define FIRST-ENABLED-TABLE-IN-QUERY-Br_BesGebKo BesGebKo &Scoped-define QUERY-STRING-Br_BesGebKo FOR EACH BesGebKo NO-LOCK INDEXED-REPOSITION &Scoped-define OPEN-QUERY-Br_BesGebKo OPEN QUERY Br_BesGebKo FOR EACH BesGebKo NO-LOCK INDEXED-REPOSITION. &Scoped-define TABLES-IN-QUERY-Br_BesGebKo BesGebKo &Scoped-define FIRST-TABLE-IN-QUERY-Br_BesGebKo BesGebKo /* Definitions for BROWSE Br_GebindeSaldo */ &Scoped-define FIELDS-IN-QUERY-Br_GebindeSaldo tAufGKon.Geb_Cd tAufGKon.Bez tAufGKon.Eingang tAufGKon.Ausgang tAufGKon.Saldo tAufGKon.Betrag &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_GebindeSaldo &Scoped-define SELF-NAME Br_GebindeSaldo &Scoped-define QUERY-STRING-Br_GebindeSaldo FOR EACH tAufGKon &Scoped-define OPEN-QUERY-Br_GebindeSaldo OPEN QUERY {&SELF-NAME} FOR EACH tAufGKon. &Scoped-define TABLES-IN-QUERY-Br_GebindeSaldo tAufGKon &Scoped-define FIRST-TABLE-IN-QUERY-Br_GebindeSaldo tAufGKon /* Definitions for FRAME fMain */ /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS Br_BesGebKo Br_GebindeSaldo F_WW F_Gebinde ~ F_Recycling F_Spesen F_Total F_Retour RECT-39 &Scoped-Define DISPLAYED-OBJECTS F_WW F_Gebinde F_Recycling F_Spesen ~ F_Total F_Retour /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-6 F_WW F_Gebinde F_Recycling F_Spesen F_Total F_Retour /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Prototypes ********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD calculateEingangsGebinde fFrameWin FUNCTION calculateEingangsGebinde RETURNS LOGICAL ( ipiRecid AS RECID ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD calculateRetourenGebinde fFrameWin FUNCTION calculateRetourenGebinde RETURNS LOGICAL ( ipiRecid AS RECID ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getBez fFrameWin FUNCTION getBez RETURNS CHARACTER ( ipGeb_Cd AS CHARACTER ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getTotalBetr fFrameWin FUNCTION getTotalBetr RETURNS DECIMAL ( Betr_1 AS DECIMAL, Betr_2 AS DECIMAL, Betr_3 AS DECIMAL ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setZeilenFarbe fFrameWin FUNCTION setZeilenFarbe RETURNS LOGICAL ( ipFarbe AS INTEGER ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Definitions of the field level widgets */ DEFINE VARIABLE F_Gebinde AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0 LABEL "Gebinde" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Recycling AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0 LABEL "Gebühren" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Retour AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0 LABEL "Gebinderetouren" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Spesen AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0 LABEL "Spesen" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Total AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0 LABEL "Totalbetrag" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 8 NO-UNDO. DEFINE VARIABLE F_WW AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0 LABEL "Warenwert" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-39 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 146 BY 24.29. /* Query definitions */ &ANALYZE-SUSPEND DEFINE QUERY Br_BesGebKo FOR BesGebKo SCROLLING. DEFINE QUERY Br_GebindeSaldo FOR tAufGKon SCROLLING. &ANALYZE-RESUME /* Browse definitions */ DEFINE BROWSE Br_BesGebKo &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_BesGebKo fFrameWin _STRUCTURED QUERY Br_BesGebKo NO-LOCK DISPLAY BesGebKo.Menge FORMAT "zz,zz9-":U Bez @ Bez COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U WIDTH 28 GeTot @ GeTot COLUMN-LABEL "Betrag" FORMAT "zzz9.999-":U ENABLE BesGebKo.Menge /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ROW-MARKERS SEPARATORS SIZE 56 BY 23.81 BGCOLOR 15 . DEFINE BROWSE Br_GebindeSaldo &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_GebindeSaldo fFrameWin _FREEFORM QUERY Br_GebindeSaldo DISPLAY tAufGKon.Geb_Cd FORMAT "x(05)" LABEL 'Konto' tAufGKon.Bez FORMAT "x(20)" LABEL 'Kontobezeichnung' tAufGKon.Eingang FORMAT "zzz,zz9-" LABEL 'Eingang' tAufGKon.Ausgang FORMAT "zzz,zz9-" LABEL 'Ausgang' tAufGKon.Saldo FORMAT "zzz,zz9-" LABEL 'Saldo' tAufGKon.Betrag FORMAT "zzz,zz9.99-" LABEL 'Betrag' /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ROW-MARKERS SEPARATORS SIZE 79 BY 13.57. /* ************************ Frame Definitions *********************** */ DEFINE FRAME fMain Br_BesGebKo AT ROW 1.48 COL 3 Br_GebindeSaldo AT ROW 11.24 COL 64 WIDGET-ID 100 F_WW AT ROW 2 COL 83 COLON-ALIGNED NO-TAB-STOP F_Gebinde AT ROW 3 COL 83 COLON-ALIGNED NO-TAB-STOP F_Recycling AT ROW 4 COL 83 COLON-ALIGNED NO-TAB-STOP F_Spesen AT ROW 7 COL 83 COLON-ALIGNED NO-TAB-STOP F_Total AT ROW 8.52 COL 83 COLON-ALIGNED NO-TAB-STOP F_Retour AT ROW 5.52 COL 83 COLON-ALIGNED WIDGET-ID 2 NO-TAB-STOP RECT-39 AT ROW 1.24 COL 2 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 1 ROW 1 SIZE 148.6 BY 24.76. /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartFrame Allow: Basic,Browse,DB-Fields,Query,Smart Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target Design Page: 3 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 fFrameWin ASSIGN HEIGHT = 24.71 WIDTH = 148.6. /* END WINDOW DEFINITION */ */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB fFrameWin /* ************************* Included-Libraries *********************** */ {src/adm2/containr.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR WINDOW fFrameWin VISIBLE,,RUN-PERSISTENT */ /* SETTINGS FOR FRAME fMain NOT-VISIBLE FRAME-NAME Custom */ /* BROWSE-TAB Br_BesGebKo 1 fMain */ /* BROWSE-TAB Br_GebindeSaldo Br_BesGebKo fMain */ ASSIGN FRAME fMain:HIDDEN = TRUE. ASSIGN Br_BesGebKo:COLUMN-RESIZABLE IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_Gebinde IN FRAME fMain 6 */ ASSIGN F_Gebinde:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_Recycling IN FRAME fMain 6 */ ASSIGN F_Recycling:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_Retour IN FRAME fMain 6 */ ASSIGN F_Retour:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_Spesen IN FRAME fMain 6 */ ASSIGN F_Spesen:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_Total IN FRAME fMain 6 */ ASSIGN F_Total:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_WW IN FRAME fMain 6 */ ASSIGN F_WW:READ-ONLY IN FRAME fMain = TRUE. /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_BesGebKo /* Query rebuild information for BROWSE Br_BesGebKo _TblList = "AnaDat.BesGebKo" _Options = "NO-LOCK INDEXED-REPOSITION" _FldNameList[1] > AnaDat.BesGebKo.Menge "BesGebKo.Menge" ? ? "decimal" ? ? ? ? ? ? yes ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[2] > "_" "Bez @ Bez" "Bezeichnung" "x(30)" ? ? ? ? ? ? ? no ? no no "28" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[3] > "_" "GeTot @ GeTot" "Betrag" "zzz9.999-" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _Query is NOT OPENED */ /* BROWSE Br_BesGebKo */ &ANALYZE-RESUME &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_GebindeSaldo /* Query rebuild information for BROWSE Br_GebindeSaldo _START_FREEFORM OPEN QUERY {&SELF-NAME} FOR EACH tAufGKon. _END_FREEFORM _Query is NOT OPENED */ /* BROWSE Br_GebindeSaldo */ &ANALYZE-RESUME &ANALYZE-SUSPEND _QUERY-BLOCK FRAME fMain /* Query rebuild information for FRAME fMain _Options = "" _Query is NOT OPENED */ /* FRAME fMain */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define BROWSE-NAME Br_BesGebKo &Scoped-define SELF-NAME Br_BesGebKo &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_BesGebKo fFrameWin ON RETURN OF Br_BesGebKo IN FRAME fMain DO: IF iStatus <> 2 THEN DO: DYNAMIC-FUNCTION ('fehlerMeldung':U, 1109, '' ) NO-ERROR. RETURN NO-APPLY. END. DO WITH FRAME {&FRAME-NAME}: APPLY 'ENTRY' TO FRAME {&FRAME-NAME}. {&BROWSE-NAME}:READ-ONLY = FALSE. BesGebKo.Menge:READ-ONLY IN BROWSE {&BROWSE-NAME} = FALSE. DYNAMIC-FUNCTION('SetMutflag':U, INPUT TRUE , Progname ) NO-ERROR. APPLY 'ENTRY' TO BesGebKo.Menge IN BROWSE {&BROWSE-NAME}. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_BesGebKo fFrameWin ON ROW-DISPLAY OF Br_BesGebKo IN FRAME fMain DO: DYNAMIC-FUNCTION('getBez':U IN THIS-PROCEDURE, INPUT BesGebKo.Geb_Cd ) NO-ERROR. DYNAMIC-FUNCTION('getTotalBetr':U IN THIS-PROCEDURE, INPUT BesGebKo.Betrag_1, INPUT BesGebKo.Betrag_2, INPUT BesGebKo.Betrag_3 ) NO-ERROR. RUN FARBE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME BesGebKo.Menge &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL BesGebKo.Menge Br_BesGebKo _BROWSE-COLUMN fFrameWin ON LEAVE OF BesGebKo.Menge IN BROWSE Br_BesGebKo /* Menge */ DO: DO WITH FRAME {&FRAME-NAME}: xRecid = RECID(BesGebko). RUN MUTATION ( INPUT xRecid, INPUT DECIMAL(BesGebKo.Menge:SCREEN-VALUE IN BROWSE {&BROWSE-NAME}) ). FIND BesGebKo WHERE RECID(BesGebKo) = xRecid NO-LOCK. DYNAMIC-FUNCTION('GETTOTALBETR':U, INPUT BesGebKo.Betrag_1, INPUT BesGebKo.Betrag_2, INPUT BesGebKo.Betrag_3 ) NO-ERROR. GeTot:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = STRING(GeTot). BesGebKo.Menge:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = STRING(BesGebKo.Menge). RUN FARBE. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL BesGebKo.Menge Br_BesGebKo _BROWSE-COLUMN fFrameWin ON RETURN OF BesGebKo.Menge IN BROWSE Br_BesGebKo /* Menge */ DO: DEFINE VARIABLE iRecid AS RECID NO-UNDO. DO WITH FRAME {&FRAME-NAME}: xRecid = RECID(BesGebko). RUN MUTATION ( INPUT xRecid, INPUT DECIMAL(BesGebKo.Menge:SCREEN-VALUE IN BROWSE {&BROWSE-NAME}) ). FIND BesGebKo WHERE RECID(BesGebKo) = xRecid NO-LOCK. DYNAMIC-FUNCTION('GETTOTALBETR':U, INPUT BesGebKo.Betrag_1, INPUT BesGebKo.Betrag_2, INPUT BesGebKo.Betrag_3 ) NO-ERROR. GeTot:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = STRING(GeTot). BesGebKo.Menge:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = STRING(BesGebKo.Menge). RUN FARBE. APPLY 'ENTRY' TO FRAME {&FRAME-NAME}. SELF:READ-ONLY = TRUE. {&BROWSE-NAME}:READ-ONLY = TRUE. DYNAMIC-FUNCTION('SetMutflag':U, INPUT FALSE , Progname ) NO-ERROR. PUBLISH 'GET_CURRENT_BESKO' ( OUTPUT iBesnr ). FIND Besko NO-LOCK WHERE Besko.Firma = Firma AND Besko.Besnr = iBesnr. iRecid = RECID(Besko). RELEASE Besko. DYNAMIC-FUNCTION ('calculateRetourenGebinde':U IN THIS-PROCEDURE, iRecid ) NO-ERROR. hSaldo:QUERY-OPEN(). APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK fFrameWin /* *************************** Main Block *************************** */ SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR. Firma = DYNAMIC-FUNCTION('getMandant':U) NO-ERROR. lView = FALSE. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN ENDE IN hKontainer. RETURN NO-APPLY. END. ON 'END-ERROR':U OF BROWSE {&BROWSE-NAME} DO: RUN ENDE IN hKontainer. RETURN NO-APPLY. END. ON 'ROW-DISPLAY':U OF BROWSE Br_GebindeSaldo DO: IF tAufGKon.Mwst_Cd = 1 THEN DYNAMIC-FUNCTION ('setZeilenFarbe':U, 8 ) NO-ERROR. ELSE DYNAMIC-FUNCTION ('setZeilenFarbe':U, 15) NO-ERROR. END. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN /* Now enable the interface if in test mode - otherwise this happens when the object is explicitly initialized from its container. */ RUN initializeObject. &ENDIF /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects fFrameWin _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 destroyObject fFrameWin PROCEDURE destroyObject : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ IF VALID-HANDLE ( hSaldo ) THEN DO: hSaldo:QUERY-CLOSE() NO-ERROR. DELETE OBJECT hSaldo NO-ERROR. END. DEF VAR hBrowser AS HANDLE NO-UNDO. hBrowser = Br_GebindeSaldo:HANDLE IN FRAME {&FRAME-NAME}. DYNAMIC-FUNCTION('setBrowserDaten':U, INPUT hBrowser, INPUT 'GebindeSaldo' ) 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 DETAILS fFrameWin PROCEDURE DETAILS : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE ix AS INTEGER NO-UNDO. DEFINE VARIABLE VKonto AS CHARACTER NO-UNDO. DEFINE VARIABLE iMenge AS INTEGER NO-UNDO. DEFINE BUFFER bBesko FOR Besko . DEFINE BUFFER bBesze FOR Besze . DEFINE BUFFER bBesGebKo FOR BesGebKo. DEFINE BUFFER bGebKonto FOR GebKonto. DEFINE BUFFER bAdresse FOR Adresse . IF NOT VALID-HANDLE ( hDaten ) THEN DO: IF VALID-HANDLE ( hKontainer) THEN RUN selectPage IN hKontainer ( 1 ). RETURN. END. ASSIGN F_Spesen = 0.00 F_Recycling = 0.00 F_Total = 0.00 F_WW = 0.00 F_Retour = 0.00 F_Gebinde = 0.00. ARecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ). IF ARecid = ? THEN DO WITH FRAME {&FRAME-NAME}: RUN OPENBESGEBKO IN THIS-PROCEDURE. DISPLAY {&List-6}. RETURN. END. FIND bBesko NO-LOCK WHERE RECID(bBesko) = ARecid. iBesnr = bBesko.Besnr. aBesnr = bBesko.Besnr. iLager = bBesko.Lager. DO WHILE TRUE: FIND FIRST bBesGebKo NO-LOCK WHERE bBesGebKo.Firma = Firma AND bBesGebKo.Besnr = iBesnr NO-ERROR. IF AVAILABLE bBesGebKo THEN LEAVE. REPEAT TRANSACTION: FOR EACH tGebRueck: CREATE bBesGebKo. BUFFER-COPY tGebRueck TO bBesGebKo. ASSIGN bBesGebKo.Firma = Firma bBesGebKo.Besnr = iBesnr. IF bBesGebKo.Kto_Cd1 <> '' THEN DO: FIND bGebKonto NO-LOCK WHERE bGebKonto.Firma = bBesGebKo.Firma AND bGebKonto.Geb_Cd = bBesGebKo.Kto_Cd1. ASSIGN bBesGebKo.Wert_1 = bGebKonto.Depot + bGebKonto.Gebuehr. RELEASE bGebKonto. END. IF bBesGebKo.Kto_Cd2 <> '' THEN DO: FIND bGebKonto NO-LOCK WHERE bGebKonto.Firma = bBesGebKo.Firma AND bGebKonto.Geb_Cd = bBesGebKo.Kto_Cd2. ASSIGN bBesGebKo.Wert_2 = bGebKonto.Depot + bGebKonto.Gebuehr. RELEASE bGebKonto. END. IF bBesGebKo.Kto_Cd3 <> '' THEN DO: FIND bGebKonto NO-LOCK WHERE bGebKonto.Firma = bBesGebKo.Firma AND bGebKonto.Geb_Cd = bBesGebKo.Kto_Cd3. ASSIGN bBesGebKo.Wert_3 = bGebKonto.Depot + bGebKonto.Gebuehr. RELEASE bGebKonto. END. END. RELEASE bBesGebKo. LEAVE. END. LEAVE. END. RELEASE bBesGebKo. EMPTY TEMP-TABLE tAufGKon. DYNAMIC-FUNCTION ('calculateRetourenGebinde':U IN THIS-PROCEDURE, RECID(bBesko) ) NO-ERROR. DYNAMIC-FUNCTION ('calculateEingangsGebinde':U IN THIS-PROCEDURE, RECID(bBesko) ) NO-ERROR. RELEASE bBesko. RELEASE bBesGebKo. RELEASE bGebKonto. fOpen = TRUE. RUN OPENBESGEBKO IN THIS-PROCEDURE. DO WITH FRAME {&FRAME-NAME}: VTotal = 0. IF SAktiv THEN DO: DYNAMIC-FUNCTION('calculateBeskoTotal':U, Firma, iBesnr, OUTPUT VTotal ) NO-ERROR. END. F_WW = VTotal[01]. F_Gebinde = VTotal[03]. F_Recycling = VTotal[04]. F_Spesen = VTotal[02]. F_Retour = VTotal[05]. F_Total = VTotal[10]. DISPLAY {&List-6}. hSaldo:QUERY-OPEN(). END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI fFrameWin _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 fMain. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject fFrameWin PROCEDURE enableObject : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE cString AS CHARACTER NO-UNDO. DEFINE VARIABLE cKey AS CHARACTER NO-UNDO. DEFINE VARIABLE hBrowse AS HANDLE NO-UNDO. RUN SUPER. DO WITH FRAME {&FRAME-NAME}: BesGebKo.Menge:READ-ONLY IN BROWSE {&BROWSE-NAME} = TRUE. {&BROWSE-NAME}:READ-ONLY = TRUE. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. END. IF sAktiv THEN DO: hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR. hKontainer = DYNAMIC-FUNCTION('getContainerSource':U ) NO-ERROR. Progname = DYNAMIC-FUNCTION('getProgname':U IN hKontainer) NO-ERROR. hQuery = {&BROWSE-NAME}:QUERY. END. CREATE QUERY hSaldo. hSaldo:SET-BUFFERS ( htAufGKon ). hSaldo:QUERY-PREPARE ( 'FOR EACH tAufGKon NO-LOCK WHERE (tAufGKon.Eingang <> 0 OR tAufGKon.Ausgang <> 0)' ). BROWSE br_GebindeSaldo:QUERY = hSaldo. EMPTY TEMP-TABLE tGebRueck. FOR EACH GebRueck WHERE GebRueck.Firma = Firma NO-LOCK: CREATE tGebRueck. BUFFER-COPY GebRueck TO tGebRueck. END. EMPTY TEMP-TABLE tGebKonto. FOR EACH GebKonto WHERE GebKonto.Firma = Firma NO-LOCK: CREATE tGebKonto. BUFFER-COPY GebKonto TO tGebKonto. END. EMPTY TEMP-TABLE tBrowser. hBrowse = Br_GebindeSaldo:HANDLE IN FRAME {&FRAME-NAME}. hBrowse:COLUMN-MOVABLE = TRUE. DYNAMIC-FUNCTION ('getBrowserDaten':U, htBrowser, hBrowse, 'GebindeSaldo') NO-ERROR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI fFrameWin _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 F_WW F_Gebinde F_Recycling F_Spesen F_Total F_Retour WITH FRAME fMain. ENABLE Br_BesGebKo Br_GebindeSaldo F_WW F_Gebinde F_Recycling F_Spesen F_Total F_Retour RECT-39 WITH FRAME fMain. {&OPEN-BROWSERS-IN-QUERY-fMain} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FARBE fFrameWin PROCEDURE FARBE : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DO WITH FRAME {&FRAME-NAME}: IF BesGebKo.Menge <> 0 THEN DO: BesGebKo.Menge:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8. Bez:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8. GeTot:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8. END. ELSE DO: BesGebKo.Menge:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. Bez:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. GeTot:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. END. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE hideObject fFrameWin PROCEDURE hideObject : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ RUN SUPER. FOpen = FALSE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject fFrameWin PROCEDURE initializeObject : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ RUN SUPER. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MUTATION fFrameWin PROCEDURE MUTATION : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipRecid AS RECID NO-UNDO. DEFINE INPUT PARAMETER ipMenge AS DECIMAL DECIMALS 4 NO-UNDO. DEFINE BUFFER bBesGebKo FOR BesGebKo. DEFINE VARIABLE DiffMenge AS INTEGER NO-UNDO. DEFINE VARIABLE MW AS INTEGER NO-UNDO. REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}: FIND bBesGebKo WHERE RECID(bBesGebKo) = ipRecid. VTotal[10] = VTotal[10] + bBesGebKo.Betrag_1 + bBesGebKo.Betrag_2 + bBesGebKo.Betrag_3. VTotal[05] = VTotal[05] + bBesGebKo.Betrag_1 + bBesGebKo.Betrag_2 + bBesGebKo.Betrag_3. DiffMenge = ipMenge - bBesGebKo.Menge. IF DiffMenge = 0 THEN DO: RELEASE bBesGebKo. LEAVE. END. bBesGebKo.Menge = ipMenge. ASSIGN bBesGebKo.Betrag_1 = bBesGebKo.Anz_1 * bBesGebKo.Wert_1 * bBesGebKo.Menge bBesGebKo.Betrag_2 = bBesGebKo.Anz_2 * bBesGebKo.Wert_2 * bBesGebKo.Menge bBesGebKo.Betrag_3 = bBesGebKo.Anz_3 * bBesGebKo.Wert_3 * bBesGebKo.Menge. VTotal[10] = VTotal[10] - bBesGebKo.Betrag_1 - bBesGebKo.Betrag_2 - bBesGebKo.Betrag_3. VTotal[05] = VTotal[05] - bBesGebKo.Betrag_1 - bBesGebKo.Betrag_2 - bBesGebKo.Betrag_3. RELEASE bBesGebKo. F_WW = VTotal[01]. F_Gebinde = VTotal[03]. F_Recycling = VTotal[04]. F_Spesen = VTotal[02]. F_Retour = VTotal[05]. F_Total = VTotal[10]. DISPLAY {&List-6}. LEAVE. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENBESGEBKO fFrameWin PROCEDURE OPENBESGEBKO : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE cWhere AS CHARACTER NO-UNDO. IF NOT fOpen THEN RETURN. cWhere = 'FOR EACH BesGebKo NO-LOCK ' + 'WHERE BesGebKo.Firma = "&1" ' + 'AND BesGebKo.Besnr = &2 BY BesGebKo.Sort_Cd '. cWhere = SUBSTITUTE(cWhere, Firma, iBesnr). hQuery:QUERY-PREPARE(cWhere). hQuery:QUERY-OPEN(). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject fFrameWin PROCEDURE viewObject : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ fOpen = TRUE. iStatus = DYNAMIC-FUNCTION ('getStatus':U IN hKontainer ) NO-ERROR. RUN SUPER. RUN DETAILS. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Implementations ***************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION calculateEingangsGebinde fFrameWin FUNCTION calculateEingangsGebinde RETURNS LOGICAL ( ipiRecid AS RECID ): /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE iMenge AS INTEGER NO-UNDO. DEFINE BUFFER bBesko FOR Besko. DEFINE BUFFER bBesze FOR Besze. FIND bBesko NO-LOCK WHERE RECID(bBesko) = ipiRecid. FOR EACH tAufGKon WHERE tAufGKon.Firma = bBesko.Firma AND tAufGKon.Aufnr = bBesko.Besnr: ASSIGN tAufGKon.Eingang = 0. END. FOR EACH bBesze NO-LOCK WHERE bBesze.Firma = bBesko.Firma AND bBesze.Besnr = bBesko.Besnr AND bBesze.Artnr > 0: iMenge = (IF bBesze.MGel <> 0 THEN bBesze.GGeb_EG ELSE bBesze.GGeb_Me). IF iMenge <> 0 THEN DO: FIND FIRST tAufGKon WHERE tAufGKon.Firma = bBesze.Firma AND tAufGKon.Aufnr = bBesze.Besnr AND tAufGKon.Geb_Cd = bBesze.GGebKto NO-ERROR. IF NOT AVAILABLE tAufGKon THEN DO: FIND GebKonto NO-LOCK WHERE GebKonto.Firma = bBesze.Firma AND GebKonto.Geb_Cd = bBesze.GGebKto NO-ERROR. CREATE tAufGKon. ASSIGN tAufGKon.Firma = bBesze.Firma tAufGKon.Aufnr = bBesze.Besnr tAufGKon.Geb_Cd = bBesze.GGebKto tAufGKon.MWSt_Cd = (IF GebKonto.Depot <> 0 THEN 0 ELSE 1) tAufGKon.Depot = GebKonto.Depot tAufGKon.Gebuehr = GebKonto.Gebuehr tAufGKon.Bez = GebKonto.Bez. END. ASSIGN tAufGKon.Eingang = tAufGKon.Eingang + iMenge tAufGKon.Saldo = tAufGKon.Eingang - tAufGKon.Ausgang tAufGKon.Betrag = (tAufGKon.Eingang - tAufGKon.Ausgang) * (IF tAufGKon.Depot <> 0 THEN tAufGKon.Depot ELSE tAufGKon.Gebuehr). DO: END. END. iMenge = (IF bBesze.MGel <> 0 THEN bBesze.VGeb_EG ELSE bBesze.VGeb_Me). IF iMenge <> 0 THEN DO: FIND FIRST tAufGKon WHERE tAufGKon.Firma = bBesze.Firma AND tAufGKon.Aufnr = bBesze.Besnr AND tAufGKon.Geb_Cd = bBesze.VGebKto NO-ERROR. IF NOT AVAILABLE tAufGKon THEN DO: FIND GebKonto NO-LOCK WHERE GebKonto.Firma = bBesze.Firma AND GebKonto.Geb_Cd = bBesze.VGebKto NO-ERROR. CREATE tAufGKon. ASSIGN tAufGKon.Firma = bBesze.Firma tAufGKon.Aufnr = bBesze.Besnr tAufGKon.Geb_Cd = bBesze.VGebKto tAufGKon.MWSt_Cd = (IF GebKonto.Depot <> 0 THEN 0 ELSE 1) tAufGKon.Depot = GebKonto.Depot tAufGKon.Gebuehr = GebKonto.Gebuehr tAufGKon.Bez = GebKonto.Bez. END. ASSIGN tAufGKon.Eingang = tAufGKon.Eingang + iMenge tAufGKon.Saldo = tAufGKon.Eingang - tAufGKon.Ausgang tAufGKon.Betrag = (tAufGKon.Eingang - tAufGKon.Ausgang) * (IF tAufGKon.Depot <> 0 THEN tAufGKon.Depot ELSE tAufGKon.Gebuehr). DO: END. END. iMenge = (IF bBesze.MGel <> 0 THEN bBesze.KGeb_EG ELSE bBesze.KGeb_Me). IF iMenge <> 0 THEN DO: FIND FIRST tAufGKon WHERE tAufGKon.Firma = bBesze.Firma AND tAufGKon.Aufnr = bBesze.Besnr AND tAufGKon.Geb_Cd = bBesze.KGebKto NO-ERROR. IF NOT AVAILABLE tAufGKon THEN DO: FIND GebKonto NO-LOCK WHERE GebKonto.Firma = bBesze.Firma AND GebKonto.Geb_Cd = bBesze.KGebKto NO-ERROR. CREATE tAufGKon. ASSIGN tAufGKon.Firma = bBesze.Firma tAufGKon.Aufnr = bBesze.Besnr tAufGKon.Geb_Cd = bBesze.KGebKto tAufGKon.MWSt_Cd = (IF GebKonto.Depot <> 0 THEN 0 ELSE 1) tAufGKon.Depot = GebKonto.Depot tAufGKon.Gebuehr = GebKonto.Gebuehr tAufGKon.Bez = GebKonto.Bez. END. ASSIGN tAufGKon.Eingang = tAufGKon.Eingang + iMenge tAufGKon.Saldo = tAufGKon.Eingang - tAufGKon.Ausgang tAufGKon.Betrag = (tAufGKon.Eingang - tAufGKon.Ausgang) * (IF tAufGKon.Depot <> 0 THEN tAufGKon.Depot ELSE tAufGKon.Gebuehr). DO: END. END. END. RELEASE bBesko. RELEASE bBesze. RELEASE GebKonto. RETURN TRUE. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION calculateRetourenGebinde fFrameWin FUNCTION calculateRetourenGebinde RETURNS LOGICAL ( ipiRecid AS RECID ): /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEFINE BUFFER bBesko FOR Besko. DEFINE BUFFER bBesGebKo FOR BesGebKo. FIND bBesko NO-LOCK WHERE RECID(bBesko) = ipiRecid. FOR EACH tAufGKon WHERE tAufGKon.Firma = bBesko.Firma AND tAufGKon.Aufnr = bBesko.Besnr: ASSIGN tAufGKon.Ausgang = 0. END. FOR EACH bBesGebKo NO-LOCK WHERE bBesGebKo.Firma = bBesko.Firma AND bBesGebKo.Besnr = bBesko.Besnr: DO WHILE bBesGebKo.Kto_Cd1 <> '': FIND tAufGKon WHERE tAufGKon.Firma = bBesGebKo.Firma AND tAufGKon.Aufnr = bBesGebKo.Besnr AND tAufGKon.Geb_Cd = bBesGebKo.Kto_Cd1 NO-ERROR. IF NOT AVAILABLE tAufGKon THEN DO: FIND GebKonto NO-LOCK WHERE GebKonto.Firma = bBesGebKo.Firma AND GebKonto.Geb_Cd = bBesGebKo.Kto_Cd1 NO-ERROR. CREATE tAufGKon. ASSIGN tAufGKon.Firma = bBesGebKo.Firma tAufGKon.Aufnr = bBesGebKo.Besnr tAufGKon.Geb_Cd = bBesGebKo.Kto_Cd1 tAufGKon.MWSt_Cd = (IF GebKonto.Depot <> 0 THEN 0 ELSE 1) tAufGKon.Depot = GebKonto.Depot tAufGKon.Gebuehr = GebKonto.Gebuehr tAufGKon.Bez = GebKonto.Bez. END. ASSIGN tAufGKon.Ausgang = tAufGKon.Ausgang + (bBesGebKo.Anz_1 * bBesGebKo.Menge) tAufGKon.Saldo = tAufGKon.Eingang - tAufGKon.Ausgang tAufGKon.Betrag = (tAufGKon.Eingang - tAufGKon.Ausgang) * (IF tAufGKon.Depot <> 0 THEN tAufGKon.Depot ELSE tAufGKon.Gebuehr). LEAVE. END. DO WHILE bBesGebKo.Kto_Cd2 <> '': FIND tAufGKon WHERE tAufGKon.Firma = bBesGebKo.Firma AND tAufGKon.Aufnr = bBesGebKo.Besnr AND tAufGKon.Geb_Cd = bBesGebKo.Kto_Cd2 NO-ERROR. IF NOT AVAILABLE tAufGKon THEN DO: FIND GebKonto NO-LOCK WHERE GebKonto.Firma = bBesGebKo.Firma AND GebKonto.Geb_Cd = bBesGebKo.Kto_Cd2 NO-ERROR. CREATE tAufGKon. ASSIGN tAufGKon.Firma = bBesGebKo.Firma tAufGKon.Aufnr = bBesGebKo.Besnr tAufGKon.Geb_Cd = bBesGebKo.Kto_Cd2 tAufGKon.MWSt_Cd = (IF GebKonto.Depot <> 0 THEN 0 ELSE 1) tAufGKon.Depot = GebKonto.Depot tAufGKon.Gebuehr = GebKonto.Gebuehr tAufGKon.Bez = GebKonto.Bez. END. ASSIGN tAufGKon.Ausgang = tAufGKon.Ausgang + (bBesGebKo.Anz_2 * bBesGebKo.Menge) tAufGKon.Saldo = tAufGKon.Eingang - tAufGKon.Ausgang tAufGKon.Betrag = (tAufGKon.Eingang - tAufGKon.Ausgang) * (IF tAufGKon.Depot <> 0 THEN tAufGKon.Depot ELSE tAufGKon.Gebuehr). LEAVE. END. DO WHILE bBesGebKo.Kto_Cd3 <> '': FIND tAufGKon WHERE tAufGKon.Firma = bBesGebKo.Firma AND tAufGKon.Aufnr = bBesGebKo.Besnr AND tAufGKon.Geb_Cd = bBesGebKo.Kto_Cd3 NO-ERROR. IF NOT AVAILABLE tAufGKon THEN DO: FIND GebKonto NO-LOCK WHERE GebKonto.Firma = bBesGebKo.Firma AND GebKonto.Geb_Cd = bBesGebKo.Kto_Cd3 NO-ERROR. CREATE tAufGKon. ASSIGN tAufGKon.Firma = bBesGebKo.Firma tAufGKon.Aufnr = bBesGebKo.Besnr tAufGKon.Geb_Cd = bBesGebKo.Kto_Cd3 tAufGKon.MWSt_Cd = (IF GebKonto.Depot <> 0 THEN 0 ELSE 1) tAufGKon.Depot = GebKonto.Depot tAufGKon.Gebuehr = GebKonto.Gebuehr tAufGKon.Bez = GebKonto.Bez. END. ASSIGN tAufGKon.Ausgang = tAufGKon.Ausgang + (bBesGebKo.Anz_3 * bBesGebKo.Menge) tAufGKon.Saldo = tAufGKon.Eingang - tAufGKon.Ausgang tAufGKon.Betrag = (tAufGKon.Eingang - tAufGKon.Ausgang) * (IF tAufGKon.Depot <> 0 THEN tAufGKon.Depot ELSE tAufGKon.Gebuehr). LEAVE. END. END. RELEASE GebKonto. RELEASE bBesko. RELEASE bBesGebKo. RETURN TRUE. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getBez fFrameWin FUNCTION getBez RETURNS CHARACTER ( ipGeb_Cd AS CHARACTER ) : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ FIND GebRueck USE-INDEX GebRueck-k1 WHERE GebRueck.Firma = Firma AND GebRueck.Geb_Cd = ipGeb_Cd NO-LOCK NO-ERROR. IF AVAILABLE GebRueck THEN Bez = GebRueck.Bez. ELSE Bez = "??????????". RETURN Bez. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getTotalBetr fFrameWin FUNCTION getTotalBetr RETURNS DECIMAL ( Betr_1 AS DECIMAL, Betr_2 AS DECIMAL, Betr_3 AS DECIMAL ) : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ GeTot = Betr_1 + Betr_2 + Betr_3. RETURN GeTot. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setZeilenFarbe fFrameWin FUNCTION setZeilenFarbe RETURNS LOGICAL ( ipFarbe AS INTEGER ): /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ { incl/brwsetzeilenfarbe.i } END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME