Anlage des Repos
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
|
||||
/****** Object: UserDefinedFunction [dbo].[FNDD_GET_MACROSUBARTICLE_PRICE] Script Date: 08.06.2021 13:04:22 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
-- FNDD_GET_MACROSUBARTICLE_PRICE
|
||||
-- =================================================================
|
||||
-- Die Funktion ermittelt für Makro-Sub-Artikel den Bundlepreis für
|
||||
-- einen definierten Makro-Artikel.
|
||||
-- Voraussetzung ist, dass es eine "Bundlepreisliste" gibt, und dass
|
||||
-- es für diese Preisliste und den Makroartikel einen speziellen Preis
|
||||
-- gibt.
|
||||
-- Wurde kein solcher Preis gefunden, gibt die Funktion -999 zurück.
|
||||
--
|
||||
-- Returns: Bundlepreis : FLOAT
|
||||
-- =================================================================
|
||||
-- Copyright (c) 2021 by Digital Data GmbH
|
||||
--
|
||||
-- Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
|
||||
-- Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
|
||||
-- =================================================================
|
||||
-- Creation Date / Author: 26.05.2021 / MP
|
||||
-- Version Date / Editor: 10.08.2021 / MP/VF
|
||||
-- Version Number: 1.0.0.2
|
||||
-- =================================================================
|
||||
-- History:
|
||||
-- 10.08.2021 / MP/VF - Rückgabewert auf Float geändert
|
||||
-- 08.06.2021 / MP - Bundlepreisliste aus dem Mandantenstamm ziehen
|
||||
|
||||
ALTER FUNCTION [dbo].[FNDD_GET_MACROSUBARTICLE_PRICE]
|
||||
(
|
||||
-- Parameters for this function
|
||||
@WinLineYear INT -- Mandatory Parameter, for the WinLine Year (yyyy) Expl: 1440 (= 2020)
|
||||
,@WinLineMandator VARCHAR(4) -- Mandatory Parameter, for the WinLine Mandator (~~~~) Expl: '500M'
|
||||
,@MakroArtikelnummer VARCHAR(30) -- Hauptartikelnummer des Makro-Artikels (T026.C003) Expl: 'XX1000001'
|
||||
,@MakroSubArtikelnummer VARCHAR(30) -- Hauptartikelnummer (T026.C003) Expl: 'AC0101001'
|
||||
)
|
||||
RETURNS FLOAT
|
||||
AS
|
||||
BEGIN
|
||||
-- Declare the return variable here
|
||||
DECLARE
|
||||
@RESULT FLOAT
|
||||
,@T044_PREISLISTENR INT
|
||||
,@T043_PREIS FLOAT
|
||||
|
||||
-- 1. Finde die Nummer der Bundlepreisliste in den Zusatzfeldern im Mandantenstamm
|
||||
SELECT TOP 1
|
||||
@T044_PREISLISTENR = t.c014
|
||||
FROM t057 t
|
||||
WHERE t.c031 = '001' -- Zusatzfelder aus dem Mandantenstamm
|
||||
AND t.mesocomp = @WinLineMandator
|
||||
AND t.mesoyear = @WinLineYear
|
||||
|
||||
-- 2. Finde einen Preis in der Preisliste für den Artikel (t043)
|
||||
IF (@T044_PREISLISTENR > 0)
|
||||
BEGIN
|
||||
SELECT TOP 1
|
||||
@RESULT = t.c013
|
||||
FROM T043 t WITH(NOLOCK)
|
||||
WHERE t.c000 = @MakroSubArtikelnummer
|
||||
AND t.c002 = @T044_PREISLISTENR
|
||||
AND t.c014 LIKE @MakroArtikelnummer
|
||||
AND t.mesocomp = @WinLineMandator
|
||||
AND t.mesoyear = @WinLineYear
|
||||
END
|
||||
|
||||
-- Failsafe
|
||||
SET @RESULT = ISNULL(@RESULT, -999)
|
||||
|
||||
RETURN @RESULT
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
Reference in New Issue
Block a user