| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- /* Connected Databases
- anadat PROGRESS
- */
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- {adecomm/appserv.i}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS dTables
- /*------------------------------------------------------------------------
- File:
- Description: from DATA.W - Template For SmartData objects in the ADM
- Input Parameters:
- <none>
- Output Parameters:
- <none>
- Modified: February 24, 1999
- ------------------------------------------------------------------------*/
- /* This .W file was created with the Progress AppBuilder. */
- /*----------------------------------------------------------------------*/
- /* Create an unnamed pool to store all the widgets created
- by this procedure. This is a good default which assures
- that this procedure's triggers and internal procedures
- will execute in this procedure's storage, and that proper
- cleanup will occur on deletion of the procedure. */
- CREATE WIDGET-POOL.
- /* *************************** Definitions ************************** */
- /* Parameters Definitions --- */
- /* Local Variable Definitions --- */
- DEF VAR iKnr AS INT NO-UNDO.
- DEF VAR iArtnr AS INT NO-UNDO.
- DEF VAR iInhalt AS INT NO-UNDO.
- DEF VAR iJahr AS INT NO-UNDO.
- DEF VAR iPreis_Grp AS INT NO-UNDO.
- &SCOPED-DEFINE Tabelle SpezPrei
- &SCOPED-DEFINE TabWhere /* USE-INDEX Benutzer-k1 ~
- WHERE {&Tabelle}.Benutzer = tRowObject.Benutzer
- */
- { incl/datdefinition.i }
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Global-define DATA-LOGIC-PROCEDURE .p
- &Scoped-define PROCEDURE-TYPE SmartDataObject
- &Scoped-define DB-AWARE yes
- &Scoped-define ADM-SUPPORTED-LINKS Data-Source,Data-Target,Navigation-Target,Update-Target,Commit-Target,Filter-Target
- /* Db-Required definitions. */
- &IF DEFINED(DB-REQUIRED) = 0 &THEN
- &GLOBAL-DEFINE DB-REQUIRED TRUE
- &ENDIF
- &GLOBAL-DEFINE DB-REQUIRED-START &IF {&DB-REQUIRED} &THEN
- &GLOBAL-DEFINE DB-REQUIRED-END &ENDIF
- &Scoped-define QUERY-NAME Query-Main
- /* Internal Tables (found by Frame, Query & Browse Queries) */
- &Scoped-define INTERNAL-TABLES SpezPrei
- /* Definitions for QUERY Query-Main */
- &Scoped-Define ENABLED-FIELDS Firma Knr Kunde Artnr Inhalt Jahr Ab_Datum Bis_Datum Menge Proz_Betr Wert~
- Marge AltPreis Artikel PreisMut VP_Normal lAktion lNetto
- &Scoped-define ENABLED-FIELDS-IN-SpezPrei Firma Knr Artnr Inhalt Jahr ~
- Ab_Datum Bis_Datum Menge Proz_Betr Wert lAktion lNetto
- &Scoped-Define DATA-FIELDS Firma Knr Kunde Artnr Inhalt Jahr Ab_Datum Bis_Datum Menge Proz_Betr Wert~
- Marge AltPreis Artikel PreisMut VP_Normal lAktion lNetto
- &Scoped-define DATA-FIELDS-IN-SpezPrei Firma Knr Artnr Inhalt Jahr Ab_Datum ~
- Bis_Datum Menge Proz_Betr Wert lAktion lNetto
- &Scoped-Define MANDATORY-FIELDS
- &Scoped-Define APPLICATION-SERVICE
- &Scoped-Define ASSIGN-LIST
- &Scoped-Define DATA-FIELD-DEFS "d-spezprei.i"
- &Scoped-Define DATA-TABLE-NO-UNDO NO-UNDO
- &Scoped-define QUERY-STRING-Query-Main FOR EACH SpezPrei NO-LOCK INDEXED-REPOSITION
- {&DB-REQUIRED-START}
- &Scoped-define OPEN-QUERY-Query-Main OPEN QUERY Query-Main FOR EACH SpezPrei NO-LOCK INDEXED-REPOSITION.
- {&DB-REQUIRED-END}
- &Scoped-define TABLES-IN-QUERY-Query-Main SpezPrei
- &Scoped-define FIRST-TABLE-IN-QUERY-Query-Main SpezPrei
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Prototypes ********************** */
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getCurrentRecid dTables _DB-REQUIRED
- FUNCTION getCurrentRecid RETURNS RECID
- ( /* parameter-definitions */ ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getDaten dTables _DB-REQUIRED
- FUNCTION getDaten RETURNS DECIMAL
- ( /* parameter-definitions */ ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getQueryBuffer dTables _DB-REQUIRED
- FUNCTION getQueryBuffer RETURNS HANDLE
- ( /* parameter-definitions */ ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD openQuery dTables _DB-REQUIRED
- FUNCTION openQuery RETURNS LOGICAL
- ( /* parameter-definitions */ ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- /* *********************** Control Definitions ********************** */
- {&DB-REQUIRED-START}
- /* Query definitions */
- &ANALYZE-SUSPEND
- DEFINE QUERY Query-Main FOR
- SpezPrei SCROLLING.
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- /* ************************ Frame Definitions *********************** */
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartDataObject
- Allow: Query
- Frames: 0
- Add Fields to: Neither
- Other Settings: PERSISTENT-ONLY COMPILE APPSERVER DB-AWARE
- */
- /* 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 dTables ASSIGN
- HEIGHT = 1.62
- WIDTH = 72.6.
- /* END WINDOW DEFINITION */
- */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB dTables
- /* ************************* Included-Libraries *********************** */
- {src/adm2/data.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR WINDOW dTables
- VISIBLE,,RUN-PERSISTENT */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK QUERY Query-Main
- /* Query rebuild information for SmartDataObject Query-Main
- _TblList = "AnaDat.SpezPrei"
- _Options = "NO-LOCK INDEXED-REPOSITION"
- _FldNameList[1] > AnaDat.SpezPrei.Firma
- "Firma" "Firma" ? ? "character" ? ? ? ? ? ? yes ? no 8 yes ?
- _FldNameList[2] > AnaDat.SpezPrei.Knr
- "Knr" "Knr" ? ? "integer" ? ? ? ? ? ? yes ? no 7.2 yes ?
- _FldNameList[3] > "_<CALC>"
- "IF sAktiv THEN DYNAMIC-FUNCTION('getAdressAnzeige':U, RowObject.Knr) ELSE ''" "Kunde" "Kunde" "x(50)" "character" ? ? ? ? ? ? yes ? no 50 no ?
- _FldNameList[4] > AnaDat.SpezPrei.Artnr
- "Artnr" "Artnr" ? ? "integer" ? ? ? ? ? ? yes ? no 7.2 yes ?
- _FldNameList[5] > AnaDat.SpezPrei.Inhalt
- "Inhalt" "Inhalt" ? ? "integer" ? ? ? ? ? ? yes ? no 5.2 yes ?
- _FldNameList[6] > AnaDat.SpezPrei.Jahr
- "Jahr" "Jahr" ? ? "integer" ? ? ? ? ? ? yes ? no 4.8 yes ?
- _FldNameList[7] > AnaDat.SpezPrei.Ab_Datum
- "Ab_Datum" "Ab_Datum" ? ? "date" ? ? ? ? ? ? yes ? no 10.8 yes ?
- _FldNameList[8] > AnaDat.SpezPrei.Bis_Datum
- "Bis_Datum" "Bis_Datum" ? ? "date" ? ? ? ? ? ? yes ? no 10.8 yes ?
- _FldNameList[9] > AnaDat.SpezPrei.Menge
- "Menge" "Menge" ? ? "decimal" ? ? ? ? ? ? yes ? no 6.8 yes ?
- _FldNameList[10] > AnaDat.SpezPrei.Proz_Betr
- "Proz_Betr" "Proz_Betr" ? ? "logical" ? ? ? ? ? ? yes ? no 9.2 yes ?
- _FldNameList[11] > AnaDat.SpezPrei.Wert
- "Wert" "Wert" ? ? "decimal" ? ? ? ? ? ? yes ? no 9.2 yes ?
- _FldNameList[12] > "_<CALC>"
- "0.0000" "Marge" "Marge" "->>,>>9.99" "Decimal" ? ? ? ? ? ? yes ? no 10.2 no ?
- _FldNameList[13] > "_<CALC>"
- "0.0000" "AltPreis" "alter Preis" "->>,>>9.99" "Decimal" ? ? ? ? ? ? yes ? no 10.2 no ?
- _FldNameList[14] > "_<CALC>"
- "''" "Artikel" "Artikel" "x(40)" "character" ? ? ? ? ? ? yes ? no 40 no ?
- _FldNameList[15] > "_<CALC>"
- "FALSE" "PreisMut" ? "Yes/No" "Logical" ? ? ? ? ? ? yes ? no 3.6 no ?
- _FldNameList[16] > "_<CALC>"
- "DYNAMIC-FUNCTION('getDaten':U IN THIS-PROCEDURE)" "VP_Normal" "norm. VP" "->>,>>9.99" "Decimal" ? ? ? ? ? ? yes ? no 10.2 no ?
- _FldNameList[17] > AnaDat.SpezPrei.lAktion
- "lAktion" "lAktion" ? ? "logical" ? ? ? ? ? ? yes ? no 6.4 yes ?
- _FldNameList[18] > AnaDat.SpezPrei.lNetto
- "lNetto" "lNetto" ? ? "logical" ? ? ? ? ? ? yes ? no 15.6 yes ?
- _Design-Parent is WINDOW dTables @ ( 1.14 , 2.6 )
- */ /* QUERY Query-Main */
- &ANALYZE-RESUME
-
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK dTables
- /* *************************** Main Block *************************** */
- { incl/datmainblock.i }
- SUBSCRIBE TO 'OPENPREIS' ANYWHERE.
- &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
- RUN initializeObject.
- &ENDIF
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DATA.CALCULATE dTables DATA.CALCULATE _DB-REQUIRED
- PROCEDURE DATA.CALCULATE :
- /*------------------------------------------------------------------------------
- Purpose: Calculate all the Calculated Expressions found in the
- SmartDataObject.
- Parameters: <none>
- ------------------------------------------------------------------------------*/
- ASSIGN
- rowObject.AltPreis = (0.0000)
- rowObject.Artikel = ('')
- rowObject.Kunde = (IF sAktiv THEN DYNAMIC-FUNCTION('getAdressAnzeige':U, RowObject.Knr) ELSE '')
- rowObject.Marge = (0.0000)
- rowObject.PreisMut = (FALSE)
- rowObject.VP_Normal = (DYNAMIC-FUNCTION('getDaten':U IN THIS-PROCEDURE))
- .
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE dataAvailable dTables _DB-REQUIRED
- PROCEDURE dataAvailable :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/datdataavailable.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI dTables _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. */
- IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE INAKTIVIEREN dTables _DB-REQUIRED
- PROCEDURE INAKTIVIEREN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/datinaktivieren.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject dTables _DB-REQUIRED
- PROCEDURE initializeObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/datinitialize.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENPREIS dTables _DB-REQUIRED
- PROCEDURE OPENPREIS :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DYNAMIC-FUNCTION('openQuery':U) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REAKTIVIEREN dTables _DB-REQUIRED
- PROCEDURE REAKTIVIEREN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/datreaktivieren.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPOS_TABELLE dTables _DB-REQUIRED
- PROCEDURE REPOS_TABELLE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/datrepos.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_FILTER dTables _DB-REQUIRED
- PROCEDURE SET_FILTER :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/datsetfilter.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_OPENFLAG dTables _DB-REQUIRED
- PROCEDURE SET_OPENFLAG :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/datsetopenflag.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_SORT dTables _DB-REQUIRED
- PROCEDURE SET_SORT :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/datsetsort.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- /* ************************ Function Implementations ***************** */
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getCurrentRecid dTables _DB-REQUIRED
- FUNCTION getCurrentRecid RETURNS RECID
- ( /* parameter-definitions */ ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/datgetcurrentrecid.i }
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getDaten dTables _DB-REQUIRED
- FUNCTION getDaten RETURNS DECIMAL
- ( /* parameter-definitions */ ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR dAbDatum AS DATE NO-UNDO.
- DEF VAR ListenEp AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR dWert AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR Ansatz AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VK_Spez AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VK_Norm AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR lInkl AS LOG NO-UNDO.
- DEF VAR lProzBetr AS LOG NO-UNDO.
- DEF VAR lMut AS LOG NO-UNDO.
- DEF BUFFER BArtPreis FOR ArtPreis.
- ASSIGN iKnr = rowObject.Knr
- iArtnr = rowObject.Artnr
- iInhalt = rowObject.Inhalt
- iJahr = rowObject.Jahr
- dWert = rowObject.Wert
- lProzBetr = rowObject.Proz_Betr
- dAbDatum = rowObject.Ab_Datum.
- /*
- IF lFirst THEN DO:
- MESSAGE iKnr SKIP
- iArtnr SKIP
- iInhalt SKIP
- iJahr SKIP
- dWert SKIP
- lProzBetr SKIP
- dAbDatum SKIP
- VIEW-AS ALERT-BOX.
- lFirst = FALSE.
- END.
- */
- FIND Artst NO-LOCK USE-INDEX Artst-k1
- WHERE Artst.Firma = Firma
- AND Artst.Artnr = iArtnr
- AND Artst.Inhalt = iInhalt
- AND Artst.Jahr = iJahr NO-ERROR.
- IF NOT AVAILABLE Artst THEN RETURN 0.0000.
- ListenEp = Artst.Listen_Ep.
- FIND FIRST Artbez NO-LOCK USE-INDEX Artbez-k1
- WHERE Artbez.Firma = Firma
- AND Artbez.Artnr = iArtnr
- AND Artbez.Inhalt = iInhalt
- AND Artbez.Jahr = iJahr NO-ERROR.
- rowObject.Artikel = TRIM(Artbez.Bez1 + ' ' + Artbez.Bez2).
- FIND Debst NO-LOCK USE-INDEX Debst-k1
- WHERE Debst.Firma = Firma
- AND Debst.Knr = iKnr NO-ERROR.
- iPreis_Grp = Debst.Preis_Grp.
- FIND Wust NO-LOCK USE-INDEX Wust-k1
- WHERE Wust.CodeK = Debst.MWST
- AND Wust.CodeA = 99 NO-ERROR.
- lInkl = Wust.Incl.
- FIND AbwPrGrp NO-LOCK USE-INDEX AbwPrGrp-k1
- WHERE AbwPrGrp.Firma = Firma
- AND AbwPrGrp.Knr = iKnr
- AND AbwPrGrp.Wg_Grp = Artst.Wg_Grp NO-ERROR.
- IF AVAILABLE AbwPrGrp THEN iPreis_Grp = AbwPrGrp.Preis_Grp.
- FIND LAST ArtPreis NO-LOCK USE-INDEX ArtPreis-k1
- WHERE ArtPreis.Firma = Firma
- AND ArtPreis.Artnr = iArtnr
- AND ArtPreis.Inhalt = iInhalt
- AND ArtPreis.Jahr = iJahr
- AND ArtPreis.Preis_Grp = iPreis_Grp
- AND ArtPreis.Ab_Datum <= TODAY
- AND ArtPreis.Aktion = FALSE
- AND ArtPreis.Aktiv = TRUE NO-ERROR.
- IF NOT AVAILABLE ArtPreis THEN DO:
- FIND LAST ArtPreis NO-LOCK USE-INDEX ArtPreis-k1
- WHERE ArtPreis.Firma = Firma
- AND ArtPreis.Artnr = iArtnr
- AND ArtPreis.Inhalt = iInhalt
- AND ArtPreis.Jahr = iJahr
- AND ArtPreis.Preis_Grp = Debst.Preis_Grp
- AND ArtPreis.Ab_Datum <= TODAY
- AND ArtPreis.Aktion = FALSE
- AND ArtPreis.Aktiv = TRUE NO-ERROR.
- END.
- IF NOT AVAILABLE ArtPreis THEN DO:
- FIND LAST ArtPreis NO-LOCK USE-INDEX ArtPreis-k1
- WHERE ArtPreis.Firma = Firma
- AND ArtPreis.Artnr = iArtnr
- AND ArtPreis.Inhalt = iInhalt
- AND ArtPreis.Jahr = iJahr
- AND ArtPreis.Preis_Grp = 0
- AND ArtPreis.Ab_Datum <= TODAY
- AND ArtPreis.Aktion = FALSE
- AND ArtPreis.Aktiv = TRUE NO-ERROR.
- END.
- lMut = FALSE.
- IF AVAILABLE ArtPreis THEN DO:
- IF lInkl THEN VK_Norm = ArtPreis.VK_Brutto.
- ELSE VK_Norm = ArtPreis.VK_Netto.
- rowObject.PreisMut = (IF ArtPreis.Ab_Datum > (TODAY - 90 ) THEN TRUE ELSE FALSE).
-
- FIND LAST BArtPreis NO-LOCK USE-INDEX ArtPreis-k1
- WHERE BArtPreis.Firma = ArtPreis.Firma
- AND BArtPreis.Artnr = ArtPreis.Artnr
- AND BArtPreis.Inhalt = ArtPreis.Inhalt
- AND BArtPreis.Jahr = ArtPreis.Jahr
- AND BArtPreis.Preis_Grp = ArtPreis.Preis_Grp
- AND BArtPreis.Ab_Datum <= ArtPreis.Ab_Datum
- AND BArtPreis.Aktion = FALSE NO-ERROR.
- IF AVAILABLE BArtPreis THEN rowObject.AltPreis = BArtPreis.VK_Netto.
- ELSE rowObject.AltPreis = 0.
- END.
- Ansatz = (ArtPreis.VK_Brutto * 100 / ArtPreis.VK_Netto) NO-ERROR.
- IF Ansatz = ? THEN Ansatz = 0.
-
- IF NOT lProzBetr THEN VK_Spez = dWert.
- ELSE VK_Spez = VK_Norm * (100 - dWert) / 100.
- IF lInkl THEN VK_Spez = VK_Spez / Ansatz * 100.
-
- IF ListenEP = 0 THEN rowObject.Marge = 0.
- ELSE rowObject.Marge = 100 - (ListenEP * 100 / VK_Spez).
-
- RETURN VK_Norm.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getQueryBuffer dTables _DB-REQUIRED
- FUNCTION getQueryBuffer RETURNS HANDLE
- ( /* parameter-definitions */ ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- RETURN BUFFER rowObject:HANDLE.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
- {&DB-REQUIRED-START}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION openQuery dTables _DB-REQUIRED
- FUNCTION openQuery RETURNS LOGICAL
- ( /* parameter-definitions */ ) :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR Felder AS CHAR NO-UNDO.
- DEF VAR Inhalt AS CHAR NO-UNDO.
- DEF VAR ix AS INT NO-UNDO.
- DEF VAR cFeld AS CHAR NO-UNDO.
-
- IF NOT fOpen THEN RETURN FALSE.
- xWhere = ''.
- xSort = ''.
- xString = ''.
- Felder = DYNAMIC-FUNCTION('getForeignFields':U) NO-ERROR.
- Inhalt = DYNAMIC-FUNCTION('getForeignValues':U) NO-ERROR.
- /* ix = LOOKUP('Feld', Felder, ',') / 2. */
- /* cFeld = ENTRY (ix , Inhalt, CHR(01)). */
- /* xWhere = 'Aufko.Firma = ' + QUOTER(Firma) + ' AND ' */
- /* + 'Aufko.Auf_Sta = ' + STRING(Auf_Sta) + ' '. */
- /* xString = 'FOR EACH Debop ' + xSort + 'WHERE ' */
- /* + 'Debop.Firma = "' + Firma + '" AND ' */
- /* + 'Debop.Knr = ' + STRING(Knr) + ' ' */
- /* + 'NO-LOCK BY Debop.FakDat DESCENDING INDEXED-REPOSITION '. */
- { incl/datopenquery.i }
- IF xWhere <> '' THEN DYNAMIC-FUNCTION('setQueryWhere':U , INPUT xWhere ).
- IF xString <> '' THEN DYNAMIC-FUNCTION('setQueryString':U, INPUT xString).
- IF xSort <> '' THEN DYNAMIC-FUNCTION('setQuerySort':U , INPUT xSort ).
- RETURN SUPER( ).
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- {&DB-REQUIRED-END}
|