Files
SqlScripts/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.7.sql
Developer01 19113a5f36 Zugferd Sichtbeleg DD_ECm
INHERIT_VALUE Prüfung taskFLOW
2026-06-24 12:04:10 +02:00

115 lines
4.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