| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &Scoped-define FRAME-NAME gPreismutationen
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gPreismutationen
- /*------------------------------------------------------------------------
- File:
- Description: from cntnrdlg.w - ADM2 SmartDialog Template
- Input Parameters:
- <none>
- Output Parameters:
- <none>
- Author:
- Created:
- ------------------------------------------------------------------------*/
- /* This .W file was created with the Progress AppBuilder. */
- /*----------------------------------------------------------------------*/
- /* Create an unnamed pool to store all the widgets created
- by this procedure. This is a good default which assures
- that this procedure's triggers and internal procedures
- will execute in this procedure's storage, and that proper
- cleanup will occur on deletion of the procedure. */
- CREATE WIDGET-POOL.
- /* *************************** Definitions ************************** */
- /* Parameters Definitions --- */
- /* Local Variable Definitions --- */
- DEFINE VARIABLE MaxPage AS INTEGER NO-UNDO.
- DEFINE VARIABLE AktSeite AS INTEGER NO-UNDO.
- DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
- DEFINE VARIABLE Firma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ok AS LOG NO-UNDO.
- DEFINE VARIABLE AddText AS CHARACTER NO-UNDO.
- DEFINE VARIABLE VWGrp AS INTEGER NO-UNDO.
-
- DEFINE TEMP-TABLE TArtPreis LIKE ArtPreis.
- DEFINE BUFFER BArtPreis FOR ArtPreis.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE SmartDialog
- &Scoped-define DB-AWARE no
- &Scoped-define ADM-CONTAINER DIALOG-BOX
- &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- /* Name of designated FRAME-NAME and/or first browse and/or first query */
- &Scoped-define FRAME-NAME gPreismutationen
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS F_Datum CB_PreisGrp T_Brutto CB_WGrp CB_PGrp ~
- F_vonInhalt F_bisInhalt R_Gebindeart CB_Land CB_Hersteller F_bemerkung ~
- F_LetztesDatum R_Runden CB_Art F_Wert Btn_OK Btn_Cancel RECT-5
- &Scoped-Define DISPLAYED-OBJECTS F_Datum CB_PreisGrp T_Brutto CB_WGrp ~
- CB_PGrp F_vonInhalt F_bisInhalt R_Gebindeart CB_Land CB_Hersteller ~
- F_bemerkung F_LetztesDatum R_Runden CB_Art F_Wert
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-6 F_Datum T_Brutto F_vonInhalt F_bisInhalt F_bemerkung ~
- F_LetztesDatum R_Runden F_Wert
- /* _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 15 BY 1
- BGCOLOR 15 .
- DEFINE BUTTON Btn_OK
- LABEL "&Starten"
- SIZE 15 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE CB_Art AS CHARACTER FORMAT "X(256)":U
- LABEL "Auf-/Abschlagsart"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEMS "Prozent","Betrag","Nettomarge"
- DROP-DOWN-LIST
- SIZE 25 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE CB_Hersteller AS CHARACTER FORMAT "X(256)":U
- LABEL "Hersteller"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE CB_Land AS CHARACTER FORMAT "X(256)":U
- LABEL "Herkunftsland"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE CB_PGrp AS CHARACTER FORMAT "X(256)":U
- LABEL "Produktegruppe"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE CB_PreisGrp AS CHARACTER FORMAT "X(256)":U
- LABEL "Preisgruppe"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE CB_WGrp AS CHARACTER FORMAT "X(256)":U
- LABEL "Warengruppe"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_bemerkung AS CHARACTER FORMAT "X(256)":U
- LABEL "Bemerkung"
- VIEW-AS FILL-IN NATIVE
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_bisInhalt AS INTEGER FORMAT "zzz9":U INITIAL 0
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 8 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999":U
- LABEL "ab Datum"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_LetztesDatum AS DATE FORMAT "99.99.9999":U
- LABEL "letztes Datum"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1 TOOLTIP "Letztes zu berücksichtigendes Preisdatum"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_vonInhalt AS INTEGER FORMAT "zzz9":U INITIAL 0
- LABEL "von - bis Inhalt (cl)"
- VIEW-AS FILL-IN NATIVE
- SIZE 8 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Wert AS DECIMAL FORMAT "zz9.9999-":U INITIAL 0
- LABEL "Wert"
- VIEW-AS FILL-IN NATIVE
- SIZE 14 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE R_Gebindeart AS INTEGER
- VIEW-AS RADIO-SET HORIZONTAL
- RADIO-BUTTONS
- "Kleingeninde", 1,
- "Artikelnummer", 2
- SIZE 38.2 BY 1 NO-UNDO.
- DEFINE VARIABLE R_Runden AS INTEGER
- VIEW-AS RADIO-SET VERTICAL
- RADIO-BUTTONS
- "Keine Rundung", 1,
- "5er Rundung", 2,
- "10er Rundung", 3
- SIZE 40 BY 2 NO-UNDO.
- DEFINE RECTANGLE RECT-5
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 86 BY 15.38.
- DEFINE VARIABLE T_Brutto AS LOGICAL INITIAL NO
- LABEL "Bruttopreis ?"
- VIEW-AS TOGGLE-BOX
- SIZE 17 BY 1 NO-UNDO.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME gPreismutationen
- F_Datum AT ROW 1.52 COL 20 COLON-ALIGNED
- CB_PreisGrp AT ROW 3 COL 20 COLON-ALIGNED
- T_Brutto AT ROW 3 COL 69
- CB_WGrp AT ROW 4 COL 20 COLON-ALIGNED
- CB_PGrp AT ROW 5 COL 20 COLON-ALIGNED
- F_vonInhalt AT ROW 6 COL 20 COLON-ALIGNED
- F_bisInhalt AT ROW 6 COL 30 COLON-ALIGNED
- R_Gebindeart AT ROW 6 COL 42.8 NO-LABELS WIDGET-ID 14
- CB_Land AT ROW 7 COL 20 COLON-ALIGNED WIDGET-ID 2
- CB_Hersteller AT ROW 8 COL 20 COLON-ALIGNED WIDGET-ID 8
- F_bemerkung AT ROW 9 COL 20 COLON-ALIGNED WIDGET-ID 10
- F_LetztesDatum AT ROW 10 COL 20 COLON-ALIGNED WIDGET-ID 12
- R_Runden AT ROW 11.24 COL 22 NO-LABELS WIDGET-ID 4
- CB_Art AT ROW 13.52 COL 20 COLON-ALIGNED
- F_Wert AT ROW 14.52 COL 20 COLON-ALIGNED
- Btn_OK AT ROW 13.52 COL 69
- Btn_Cancel AT ROW 14.52 COL 69
- RECT-5 AT ROW 1.24 COL 2
- SPACE(0.99) SKIP(1.32)
- WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
- SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
- TITLE "Preise Linear mutieren".
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartDialog
- Allow: Basic,Browse,DB-Fields,Query,Smart
- Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- Design Page: 1
- Other Settings: COMPILE
- */
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gPreismutationen
- /* ************************* Included-Libraries *********************** */
- {src/adm2/containr.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR DIALOG-BOX gPreismutationen
- FRAME-NAME Custom */
- ASSIGN
- FRAME gPreismutationen:SCROLLABLE = FALSE
- FRAME gPreismutationen:HIDDEN = TRUE.
- /* SETTINGS FOR FILL-IN F_bemerkung IN FRAME gPreismutationen
- 6 */
- /* SETTINGS FOR FILL-IN F_bisInhalt IN FRAME gPreismutationen
- 6 */
- /* SETTINGS FOR FILL-IN F_Datum IN FRAME gPreismutationen
- 6 */
- /* SETTINGS FOR FILL-IN F_LetztesDatum IN FRAME gPreismutationen
- 6 */
- /* SETTINGS FOR FILL-IN F_vonInhalt IN FRAME gPreismutationen
- 6 */
- /* SETTINGS FOR FILL-IN F_Wert IN FRAME gPreismutationen
- 6 */
- /* SETTINGS FOR RADIO-SET R_Runden IN FRAME gPreismutationen
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Brutto IN FRAME gPreismutationen
- 6 */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gPreismutationen
- /* Query rebuild information for DIALOG-BOX gPreismutationen
- _Options = "SHARE-LOCK"
- _Query is NOT OPENED
- */ /* DIALOG-BOX gPreismutationen */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME gPreismutationen
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gPreismutationen gPreismutationen
- ON END-ERROR OF FRAME gPreismutationen /* Preise Linear mutieren */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gPreismutationen gPreismutationen
- ON GO OF FRAME gPreismutationen /* Preise Linear mutieren */
- DO:
- /*
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
- */
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gPreismutationen gPreismutationen
- ON WINDOW-CLOSE OF FRAME gPreismutationen /* Preise Linear mutieren */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_OK
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gPreismutationen
- ON CHOOSE OF Btn_OK IN FRAME gPreismutationen /* Starten */
- DO:
- RUN NEURECHNEN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME CB_PreisGrp
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_PreisGrp gPreismutationen
- ON VALUE-CHANGED OF CB_PreisGrp IN FRAME gPreismutationen /* Preisgruppe */
- DO:
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
-
- RUN FIND_PREISGRUPPE ( INTEGER(SELF:SCREEN-VALUE), OUTPUT cString ).
- IF cString = '' OR
- cString = ? THEN RETURN NO-APPLY.
- IF INTEGER(ENTRY(3, cString, CHR(01))) = 1
- THEN T_Brutto:SCREEN-VALUE = STRING(TRUE).
- ELSE T_Brutto:SCREEN-VALUE = STRING(FALSE).
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME CB_WGrp
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_WGrp gPreismutationen
- ON VALUE-CHANGED OF CB_WGrp IN FRAME gPreismutationen /* Warengruppe */
- DO:
- DEFINE VARIABLE Wgr AS INTEGER NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- Wgr = INTEGER(CB_WGrp:SCREEN-VALUE) NO-ERROR.
- RUN COMBO_PRODUKTEGRUPPE (INPUT CB_PGrp:HANDLE, INPUT Wgr) NO-ERROR.
- cString = 'Alle;XXXXXX;' + CB_PGrp:LIST-ITEM-PAIRS.
- CB_PGrp:LIST-ITEM-PAIRS = cString.
- CB_PGrp :SCREEN-VALUE = ENTRY(2, CB_PGrp :LIST-ITEM-PAIRS, ';').
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gPreismutationen
- /* *************************** Main Block *************************** */
- MaxPage = 1.
- AktSeite = 1.
- Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
- SESSION:DATA-ENTRY-RETURN = TRUE.
- /* TRIGGERS ------------------------------------------------------ */
- ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* ------------------------------------------------------------------ */
- {src/adm2/dialogmn.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gPreismutationen _ADM-CREATE-OBJECTS
- PROCEDURE adm-create-objects :
- /*------------------------------------------------------------------------------
- Purpose: Create handles for all SmartObjects used in this procedure.
- After SmartObjects are initialized, then SmartLinks are added.
- Parameters: <none>
- ------------------------------------------------------------------------------*/
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gPreismutationen _DEFAULT-DISABLE
- PROCEDURE disable_UI :
- /*------------------------------------------------------------------------------
- Purpose: DISABLE the User Interface
- Parameters: <none>
- Notes: Here we clean-up the user-interface by deleting
- dynamic widgets we have created and/or hide
- frames. This procedure is usually called when
- we are ready to "clean-up" after running.
- ------------------------------------------------------------------------------*/
- /* Hide all frames. */
- HIDE FRAME gPreismutationen.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gPreismutationen
- PROCEDURE enableObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
-
- DEFINE VARIABLE Wgr AS INTEGER NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- RUN COMBO_LAND (INPUT CB_Land :HANDLE) NO-ERROR.
- CB_Land:LIST-ITEM-PAIRS = 'alle Länder;ALLE;' + CB_Land:LIST-ITEM-PAIRS.
- CB_Land:SCREEN-VALUE = ENTRY(2, CB_Land:LIST-ITEM-PAIRS, ';').
-
- RUN COMBO_HERSTELLER (INPUT CB_Hersteller:HANDLE) NO-ERROR.
- CB_Hersteller:LIST-ITEM-PAIRS = 'alle Hersteller;999999;' + CB_Hersteller:LIST-ITEM-PAIRS.
- CB_Hersteller:SCREEN-VALUE = ENTRY(2, CB_Hersteller:LIST-ITEM-PAIRS, ';').
-
- RUN COMBO_PREISGRP (INPUT CB_PreisGrp:HANDLE) NO-ERROR.
- RUN COMBO_WARENGRUPPE (INPUT CB_WGrp :HANDLE) NO-ERROR.
- cString = 'Alle;XXXXXX;' + CB_WGrp:LIST-ITEM-PAIRS.
- CB_WGrp:LIST-ITEM-PAIRS = cString.
- CB_PreisGrp:SCREEN-VALUE = ENTRY(2, CB_PreisGrp:LIST-ITEM-PAIRS, ';').
- CB_WGrp :SCREEN-VALUE = ENTRY(2, CB_WGrp :LIST-ITEM-PAIRS, ';').
- CB_Art:SCREEN-VALUE = CB_Art:ENTRY(1).
- END.
- RUN SUPER.
- DO WITH FRAME {&FRAME-NAME}:
- APPLY 'VALUE-CHANGED' TO CB_PreisGrp.
- APPLY 'VALUE-CHANGED' TO CB_WGrp.
- END.
-
- RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gPreismutationen _DEFAULT-ENABLE
- PROCEDURE enable_UI :
- /*------------------------------------------------------------------------------
- Purpose: ENABLE the User Interface
- Parameters: <none>
- Notes: Here we display/view/enable the widgets in the
- user-interface. In addition, OPEN all queries
- associated with each FRAME and BROWSE.
- These statements here are based on the "Other
- Settings" section of the widget Property Sheets.
- ------------------------------------------------------------------------------*/
- DISPLAY F_Datum CB_PreisGrp T_Brutto CB_WGrp CB_PGrp F_vonInhalt F_bisInhalt
- R_Gebindeart CB_Land CB_Hersteller F_bemerkung F_LetztesDatum R_Runden
- CB_Art F_Wert
- WITH FRAME gPreismutationen.
- ENABLE F_Datum CB_PreisGrp T_Brutto CB_WGrp CB_PGrp F_vonInhalt F_bisInhalt
- R_Gebindeart CB_Land CB_Hersteller F_bemerkung F_LetztesDatum R_Runden
- CB_Art F_Wert Btn_OK Btn_Cancel RECT-5
- WITH FRAME gPreismutationen.
- VIEW FRAME gPreismutationen.
- {&OPEN-BROWSERS-IN-QUERY-gPreismutationen}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gPreismutationen
- PROCEDURE ENDE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
- IF AktSeite > 1 THEN
- DO:
- RUN selectPage ( INPUT 1 ).
- RETURN NO-APPLY.
- END.
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
- APPLY 'GO' TO FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gPreismutationen
- PROCEDURE exitObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- RUN ENDE.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEURECHNEN gPreismutationen
- PROCEDURE NEURECHNEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE VWGrp AS INTEGER NO-UNDO.
- DEFINE VARIABLE VPGrp AS INTEGER NO-UNDO.
- DEFINE VARIABLE VPreisGrp AS INTEGER NO-UNDO.
- DEFINE VARIABLE VArt AS INTEGER NO-UNDO.
- DEFINE VARIABLE FBrutto AS LOG NO-UNDO.
- DEFINE VARIABLE VPreis AS DECIMAL DECIMALS 4 NO-UNDO.
- DEFINE VARIABLE WucdK AS INTEGER NO-UNDO.
- DEFINE VARIABLE WucdA AS INTEGER NO-UNDO.
- DEFINE VARIABLE Ansatz AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Rundbetr AS DECIMAL DECIMALS 4 NO-UNDO.
- DEFINE VARIABLE cLkz AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iHerst AS INTEGER NO-UNDO.
- DEFINE VARIABLE cDBUser AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iGebindeArt AS INTEGER NO-UNDO.
- EMPTY TEMP-TABLE tArtPreis.
- CREATE tArtPreis.
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- VPreisGrp = INTEGER(CB_PreisGrp :SCREEN-VALUE) NO-ERROR.
- VWGrp = INTEGER(CB_WGrp :SCREEN-VALUE) NO-ERROR.
- VPGrp = INTEGER(CB_PGrp :SCREEN-VALUE) NO-ERROR.
- iHerst = INTEGER(CB_Hersteller:SCREEN-VALUE) NO-ERROR.
- iGebindeArt = INTEGER(R_GebindeArt :SCREEN-VALUE) NO-ERROR.
- VArt = LOOKUP (CB_Art:SCREEN-VALUE, CB_Art:LIST-ITEMS).
- cLkz = CB_Land :SCREEN-VALUE NO-ERROR.
- IF CB_WGrp:SCREEN-VALUE = 'XXXXXX' THEN VWGrp = ?.
- IF CB_PGrp:SCREEN-VALUE = 'XXXXXX' THEN VPGrp = ?.
- IF F_LetztesDatum = ? THEN F_LetztesDatum = F_Datum - 1.
- IF iGebindeArt = ? THEN iGebindeArt = 1.
-
- IF F_Wert = 0 AND
- VArt = 3 THEN RETURN NO-APPLY.
- DISABLE Btn_OK Btn_Cancel.
-
- FBrutto = FALSE.
- IF T_Brutto = TRUE THEN FBrutto = TRUE.
-
- WucdK = 0.
- FOR EACH Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = Firma
- AND Debst.Preis_Grp = VPreisGrp NO-LOCK:
- WucdK = Debst.MWST.
- LEAVE.
- END.
- cDBUser = DYNAMIC-FUNCTION('getDBUser':U) NO-ERROR.
- FOR EACH Artst USE-INDEX Artst-k1
- WHERE Artst.Firma = Firma
- AND Artst.Aktiv = TRUE
- AND ((VWGrp = ?)
- OR (Artst.Wg_Grp = VWGrp))
- AND ((VPGrp = ?)
- OR (Artst.Prod_Grp = VPGrp))
- AND ((cLkz = 'ALLE')
- OR (Artst.Herk_Lkz = cLkz))
- AND ((iHerst = 999999)
- OR (Artst.Herst = iHerst)) NO-LOCK:
-
- CASE iGebindeArt:
- WHEN 1 THEN
- DO:
- FIND KGebinde USE-INDEX KGebinde-k1
- WHERE KGebinde.Firma = Artst.Firma
- AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-LOCK NO-ERROR.
- IF NOT AVAILABLE KGebinde THEN NEXT.
- IF KGebinde.Inhalt < F_VonInhalt OR
- KGebinde.Inhalt > F_BisINhalt THEN NEXT.
- END.
- WHEN 2 THEN
- DO:
- IF Artst.Inhalt < F_vonInhalt THEN NEXT.
- IF Artst.Inhalt > F_bisInhalt THEN NEXT.
- END.
- END CASE.
-
- FIND LAST ArtPreis USE-INDEX ArtPreis-k1
- WHERE ArtPreis.Firma = Artst.Firma
- AND ArtPreis.Artnr = Artst.Artnr
- AND ArtPreis.Inhalt = Artst.Inhalt
- AND ArtPreis.Jahr = Artst.Jahr
- AND ArtPreis.Aktion = FALSE
- AND ArtPreis.Preis_Grp = VPreisGrp
- AND ArtPreis.Ab_Datum <= F_LetztesDatum NO-ERROR.
- IF NOT AVAILABLE ArtPreis THEN NEXT.
- FIND FIRST tArtPreis.
- BUFFER-COPY ArtPreis TO tArtPreis
- ASSIGN
- tArtPreis.Ab_Datum = F_Datum
- tArtPreis.erstellt_am = TODAY
- tArtPreis.Aenderungs_Art = VArt
- tArtPreis.Aenderungs_Text = F_Bemerkung
- tArtPreis.Aenderungs_Wert = F_Wert
- tArtPreis.Aenderungs_Rundung = R_Runden
- tArtPreis.Aenderungs_Sabe = cDBUser.
-
- WucdA = Artst.MWST.
- FIND Wust USE-INDEX Wust-k1
- WHERE Wust.CodeK = WucdK
- AND Wust.CodeA = WucdA NO-LOCK NO-ERROR.
- FIND LAST MWSTAns USE-INDEX MWSTAns-k1
- WHERE MWSTAns.MWST_Cd = Wust.WuCd
- AND MWSTAns.Datum <= F_Datum NO-LOCK NO-ERROR.
- IF AVAILABLE MWSTAns THEN Ansatz = MWSTAns.Ansatz.
-
- IF FBrutto THEN VPreis = tArtPreis.VK_Brutto.
- ELSE VPreis = tArtPreis.VK_Netto.
-
- CASE VArt:
-
- WHEN 1 THEN
- DO: /* Prozent */
- Rundbetr = VPreis * (100 + F_Wert) / 100.
- END.
-
- WHEN 2 THEN
- DO: /* Betrag */
- Rundbetr = VPreis + F_Wert.
- END.
-
- WHEN 3 THEN
- DO: /* Betrag */
- IF Artst.Listen_Ep = 0 THEN
- DO:
- MESSAGE 'Dieser Artikel hat kein Listen-EP' SKIP
- 'Preismutation manuell machen ! ' SKIP
- 'Artikelnummer / Inhalt / Jahr '
- Artst.Artnr '/' Artst.Inhalt '/' Artst.Jahr
- VIEW-AS ALERT-BOX INFORMATION.
- END.
- Rundbetr = Artst.Listen_EP * (100 + F_Wert) / 100.
- IF FBrutto THEN Rundbetr = Rundbetr * (100 + Ansatz) / 100.
- END.
-
- END CASE.
-
- IF FBrutto OR
- R_Runden > 1 THEN
- DO:
- RUN RUNDEN ( INPUT (R_Runden - 1), INPUT-OUTPUT Rundbetr ).
- END.
-
- IF FBrutto THEN
- DO:
- tArtPreis.VK_Brutto = Rundbetr.
- tArtPreis.VK_Netto = Rundbetr / (100 + Ansatz) * 100.
- END.
- ELSE
- DO:
- tArtPreis.VK_Netto = Rundbetr.
- tArtPreis.VK_Brutto = Rundbetr * (100 + Ansatz) / 100.
- END.
-
- IF Artst.Listen_EP <> 0 THEN
- tArtPreis.Marge = 100 - (Artst.Listen_EP * 100 / tArtPreis.VK_Netto).
- ELSE tArtPreis.Marge = 0.
-
- FIND ArtPreis OF tArtPreis NO-ERROR.
- IF NOT AVAILABLE ArtPreis THEN
- DO:
- CREATE ArtPreis.
- END.
- BUFFER-COPY tArtPreis TO ArtPreis.
-
- END.
-
- ENABLE Btn_OK Btn_Cancel.
-
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|