181 lines
7.3 KiB
Transact-SQL
181 lines
7.3 KiB
Transact-SQL
UPDATE TBDD_BASECONFIG SET DB_VERSION = '2.7.0';
|
|
GO
|
|
USE [DD_ECM]
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_POSITIONS] Script Date: 22.06.2026 14:04:20 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
--CHANGED 22.06.2026 ItemVal Länge
|
|
--CHANGED 09.06.2026 Param 2 und NLCK
|
|
--CHANGED 13.11.2025
|
|
--CHANGED 06.10.2025 Über Area
|
|
--CHANGED 02.06.2025 Nur Items mit INhalt
|
|
--CHANGED 25.04.2025 INV_POSITION_UNIT_TYPE integriert
|
|
--CHANGED 06.03.2025 INV_POS_NOTE integriert
|
|
ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_POSITIONS] (@pMSGID VARCHAR(100),@INDEX INT)
|
|
RETURNS @TABLE TABLE(SPEC_NAME VARCHAR(100),ITEM_VALUE VARCHAR(5000),Area VARCHAR(60),SequenceItem INT,Display BIT,Y_eq_lastrow BIT)
|
|
AS
|
|
BEGIN
|
|
DECLARE @GROUP_COUNTER INT
|
|
DECLARE cursGroupCounter CURSOR FOR
|
|
select GROUP_COUNTER
|
|
from TBEDMI_ITEM_VALUE (NOLOCK) WHERE REFERENCE_GUID = @pMSGID And SPEC_NAME = 'INVOICE_POSITION_AMOUNT' ORDER BY GROUP_COUNTER
|
|
OPEN cursGroupCounter
|
|
FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
DECLARE @SPEC_NAME VARCHAR(100),@ITEM_VALUE VARCHAR(5000),@Display BIT,@Y_eq_lastrow BIT
|
|
DECLARE cursPosItems CURSOR FOR
|
|
select
|
|
A.SPEC_NAME,ITEM_VALUE,Display,B.Y_eq_lastrow
|
|
from
|
|
TBEDMI_ITEM_VALUE A (NOLOCK)
|
|
INNER JOIN TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE B (NOLOCK) ON A.SPEC_NAME = B.SPECNAME
|
|
WHERE
|
|
REFERENCE_GUID = @pMSGID And B.Area = 'POSITION' AND GROUP_COUNTER = @GROUP_COUNTER
|
|
AND LEN(ITEM_VALUE) > 0
|
|
ORDER BY B.SequenceItem
|
|
OPEN cursPosItems
|
|
FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display,@Y_eq_lastrow
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
SET @INDEX += 1
|
|
INSERT INTO @TABLE (SPEC_NAME,ITEM_VALUE,Area,SequenceItem,Display,Y_eq_lastrow) VALUES
|
|
(@SPEC_NAME,@ITEM_VALUE,'POSITION',@INDEX,@Display,@Y_eq_lastrow);
|
|
FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display,@Y_eq_lastrow
|
|
END
|
|
CLOSE cursPosItems
|
|
DEALLOCATE cursPosItems
|
|
FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER
|
|
END
|
|
CLOSE cursGroupCounter
|
|
DEALLOCATE cursGroupCounter
|
|
RETURN
|
|
END
|
|
GO
|
|
|
|
--CHANGED 22.06.2026 ItemVal Länge
|
|
ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_INCL_NOTES] (@pMSGID VARCHAR(100),@INDEX INT)
|
|
RETURNS @TABLE TABLE(SPEC_NAME VARCHAR(100),ITEM_VALUE VARCHAR(5000),Area VARCHAR(60),Row_Caption Varchar(100), SequenceItem INT,Display BIT,Y_eq_lastrow BIT)
|
|
AS
|
|
BEGIN
|
|
DECLARE @GROUP_COUNTER INT,@AREA NVARCHAR(100),@AREA_CODE NVARCHAR(10)
|
|
DECLARE cursGroupCounter CURSOR FOR
|
|
select
|
|
GROUP_COUNTER,CASE ITEM_VALUE
|
|
WHEN 'AAI' THEN 'INCL_NOTE#Allgemeine Informationen/General Information (AAI)'
|
|
WHEN 'SUR' THEN 'INCL_NOTE#Verkäuferhinweise/Information Seller (SUR)'
|
|
WHEN 'REG' THEN 'INCL_NOTE#Regulatorische Informationen/Regulatory information (REG)'
|
|
WHEN 'ABL' THEN 'INCL_NOTE#Rechtliche Infos/Legal information (ABL)'
|
|
WHEN 'TXD' THEN 'INCL_NOTE#Steuer Infos/Tax information (TXD)'
|
|
WHEN 'CUS' THEN 'INCL_NOTE#Zoll Infos/Customs Information (CUS)'
|
|
WHEN 'AAK' THEN 'INCL_NOTE#Preisbedingung/Pricing terms (AAK)'
|
|
ELSE 'INCL_NOTE#Notes (IncludedNotes)' END,
|
|
ITEM_VALUE
|
|
from
|
|
TBEDMI_ITEM_VALUE (NOLOCK)
|
|
WHERE
|
|
REFERENCE_GUID = @pMSGID
|
|
And SPEC_NAME = 'INCLUDED_NOTE_SUBJCODE' ORDER BY GROUP_COUNTER,ITEM_VALUE
|
|
OPEN cursGroupCounter
|
|
FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER,@AREA,@AREA_CODE
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
DECLARE @SPEC_NAME VARCHAR(100),@ITEM_VALUE VARCHAR(5000),@Display BIT
|
|
DECLARE cursPosItems CURSOR FOR
|
|
select
|
|
A.SPEC_NAME,ITEM_VALUE, @AREA, 1
|
|
from
|
|
TBEDMI_ITEM_VALUE A (NOLOCK)
|
|
WHERE
|
|
REFERENCE_GUID = @pMSGID And A.SPEC_NAME = 'INCLUDED_NOTE_CONTENT' AND GROUP_COUNTER = @GROUP_COUNTER ORDER BY A.GUID
|
|
OPEN cursPosItems
|
|
FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@AREA,@Display
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
SET @INDEX += 1
|
|
INSERT INTO @TABLE (SPEC_NAME,ITEM_VALUE,Area,Row_Caption, SequenceItem,Display,Y_eq_lastrow) VALUES
|
|
(@SPEC_NAME,@ITEM_VALUE,@AREA,'', @INDEX,@Display,0)
|
|
FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Area,@Display
|
|
END
|
|
CLOSE cursPosItems
|
|
DEALLOCATE cursPosItems
|
|
FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER,@AREA,@AREA_CODE
|
|
END
|
|
CLOSE cursGroupCounter
|
|
DEALLOCATE cursGroupCounter
|
|
RETURN
|
|
END
|
|
GO
|
|
|
|
USE [DD_ECM]
|
|
GO
|
|
|
|
/****** Object: UserDefinedFunction [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_CUST_RESULT] Script Date: 22.06.2026 15:29:36 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
|
|
|
|
|
|
--CHANGED 22.06.2026 VCHR in NVRCHR
|
|
--CHANGED 09.06.2026 Tabelle und Max(index)
|
|
--CHANGED 13.11.2025 Y_eq_lastRow
|
|
--CHANGED 16.09.2025 Nur auf die Area gehen
|
|
--CHANGED 25.04.2025 INV_POSITION_UNIT_TYPE integriert
|
|
--CHANGED 25.04.2025 INV_POSITION_UNIT_TYPE integriert
|
|
--CHANGED 06.03.2025 INV_POS_NOTE integriert
|
|
ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_CUST_RESULT] (@pMSGID NVARCHAR(100))
|
|
RETURNS @TABLE TABLE (SPEC_NAME NVARCHAR(100),ITEM_VALUE NVARCHAR(3500),Area NVARCHAR(60), Row_Caption NVARCHAR(100), SequenceItem INT,Display BIT,
|
|
XPosition Integer, Y_eq_lastrow BIT,ORDER_SEQ INT)
|
|
AS
|
|
BEGIN
|
|
INSERT INTO @TABLE (
|
|
SPEC_NAME, ITEM_VALUE, Area, Row_Caption, SequenceItem, Display, XPosition, Y_eq_lastrow, ORDER_SEQ)
|
|
|
|
SELECt A.SPEC_NAME,A.ITEM_VALUE, A.Area, A.Row_Caption, A.SequenceItem, A.Display, A.xPosition, A.Y_eq_lastrow, A.SequenceItem
|
|
FROM VWDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE_ITEMS A
|
|
WHERE REFERENCE_GUID = @pMSGID
|
|
AND A.Area NOT IN ('ALLOWANCE','POSITION','INCLUDED_NOTE');
|
|
DECLARE @IDX INTEGER = (SELECT MAX(SequenceItem) FROM @TABLE)
|
|
--POSITIONEN EINTRAGEN
|
|
INSERT INTO @TABLE (
|
|
SPEC_NAME, ITEM_VALUE, Area, Row_Caption, SequenceItem, Display, XPosition, Y_eq_lastrow, ORDER_SEQ)
|
|
SELECT SPEC_NAME, ITEM_VALUE, Area, '', SequenceItem, Display, 10, Y_eq_lastrow, SequenceItem
|
|
FROM [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_POSITIONS] (@pMSGID,@IDX)
|
|
--TAXES EINTRAGEN
|
|
SELECT @IDX = MAX(SequenceItem) FROM @TABLE
|
|
INSERT INTO @TABLE (
|
|
SPEC_NAME, ITEM_VALUE, Area, Row_Caption, SequenceItem, Display, XPosition, Y_eq_lastrow, ORDER_SEQ)
|
|
SELECT SPEC_NAME, ITEM_VALUE, Area, '', SequenceItem, Display, 10, 0, SequenceItem
|
|
FROM [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_TAX] (@pMSGID,@IDX)
|
|
--NOTES EINTRAGEN
|
|
SELECT @IDX = MAX(SequenceItem) FROM @TABLE
|
|
INSERT INTO @TABLE (
|
|
SPEC_NAME, ITEM_VALUE, Area, Row_Caption, SequenceItem, Display, XPosition, Y_eq_lastrow, ORDER_SEQ)
|
|
SELECT SPEC_NAME, ITEM_VALUE, Area, Row_Caption, SequenceItem, Display, 10, Y_eq_lastrow, SequenceItem
|
|
FROM [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_INCL_NOTES] (@pMSGID,@IDX);
|
|
--ALLOWANCES EINTRAGEN
|
|
SELECT @IDX = MAX(SequenceItem) FROM @TABLE
|
|
INSERT INTO @TABLE (
|
|
SPEC_NAME, ITEM_VALUE, Area, Row_Caption, SequenceItem, Display, XPosition, Y_eq_lastrow, ORDER_SEQ)
|
|
SELECT SPEC_NAME, ITEM_VALUE, Area, '', SequenceItem, Display, 10, Y_eq_lastrow, SequenceItem
|
|
FROM [dbo].[FNDD_ZUGFERD_VIEW_ALLOWANCE_POSITIONS] (@pMSGID,@IDX);
|
|
|
|
INSERT INTO @TABLE (
|
|
SPEC_NAME, ITEM_VALUE, Area, Row_Caption, SequenceItem, Display, XPosition, Y_eq_lastrow, ORDER_SEQ)
|
|
SELECT SPECNAME, Row_Caption, Area, Row_Caption , SequenceItem, Display, 10, 0, SequenceItem
|
|
FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Area = 'INTERNAL'
|
|
RETURN
|
|
END
|
|
GO
|
|
|
|
|