This commit is contained in:
2025-02-27 11:46:26 +01:00
parent d9af559839
commit 2aa04c696b
16 changed files with 1456 additions and 17 deletions

View File

@@ -0,0 +1,23 @@
USE ProductCompendium
GO
DECLARE @phar INT = 2759829
DECLARE @coNr INT = 13368
DECLARE @priTyp NVARCHAR(6) = N'PGRO'
SELECT * FROM dbo.ART_Art WHERE Pharmacode = @phar
SELECT * FROM dbo.PA_Pa WHERE CompanyNr = @coNr
SELECT * FROM dbo.ART_CoPri WHERE Code = @priTyp
DECLARE @artPK INT = ( SELECT Art_PK FROM ART_Art WHERE Pharmacode = @phar )
DECLARE @coPK INT = ( SELECT Pa_PK FROM dbo.PA_Pa WHERE CompanyNr = @coNr )
DECLARE @ptPK TINYINT = ( SELECT CoPri_PK FROM dbo.ART_CoPri WHERE Code = @priTyp )
SELECT ArtPri_PK, Art_FK, Pa_FK, CoPri_FK, FromDate, ToDate, Price, WithdrawnDate, Db_Status, Db_InsDt, Db_UpdDt, DATEADD(MINUTE, -1, FromDate) AS CouldBeToDate
FROM dbo.ART_ArtPri
WHERE Art_FK = @artPK AND Pa_FK = @coPK AND CoPri_FK = @ptPK
DECLARE @apPK INT = 0
DECLARE @td VARCHAR(100) = ''
SELECT ' UPDATE ART_ArtPri SET ToDate = ''' + @td + ''' WHERE ArtPri_PK = ' + CAST(@apPK AS VARCHAR(10))

View File

@@ -0,0 +1,87 @@
USE RedApp
GO
BEGIN TRY
/* set RP, LinkType and LIE values here */
-- RP company number
DECLARE @rp INT = __RP_Nr__
DECLARE @rpKey INT = ( SELECT rp.Pa_PK FROM PA_Pa rp WHERE rp.CompanyNr = @rp )
-- LinkType code
DECLARE @typ NVARCHAR(20) = 'RP_to_LIE'
DECLARE @typKey INT = ( SELECT CoLink_PK FROM PA_CoLink WHERE Code = @typ )
-- LIE company number
DECLARE @lie INT = __LIE_Nr__
DECLARE @lieKey INT = ( SELECT lie.Pa_PK FROM PA_Pa lie WHERE lie.CompanyNr = @lie )
--DECLARE @parent INT = 0
-- error vars
DECLARE @err NVARCHAR(MAX) = ''
DECLARE @errFound BIT = 0
/* validation on values provided */
-- RP exists
IF (@rpKey IS NULL)
BEGIN
SET @err = 'RechnungsPartner with CompanyNr ' + CAST(@rp AS varchar(10)) + ' does NOT exist - cannot continue'
SET @errFound = 1
END
-- LinkType exists
IF (@typKey IS NULL)
BEGIN
SET @err = ISNULL(' | ' + @err, '') + 'Partner LinkType ' + @typ + ' does NOT exist - cannot continue'
SET @errFound = 1
END
-- LIE exists
IF (@lieKey IS NULL)
BEGIN
SET @err = ISNULL(' | ' + @err, '') + 'Lieferant with CompanyNr ' + CAST(@rp AS varchar(10)) + ' does NOT exist - cannot continue'
SET @errFound = 1
END
-- if error found then throw error
IF (@errFound = 1)
BEGIN
RAISERROR (@err, 16, 1)
END
-- show possible values
SELECT @rp AS RP, @rpKey AS RP_Key, rp.ShortName AS RP_Name, @typ AS LinkType,
@lie AS LIE, lie.Pa_PK AS LIE_Key, lie.ShortName AS LIE_Name
FROM PA_Pa rp
CROSS JOIN PA_Pa lie
WHERE rp.Pa_PK = @rpKey AND lie.Pa_PK = @lieKey
BEGIN TRANSACTION
-- show current data
SELECT 'BEFORE' AS Stat, PaLink_PK, Pa_FK, @rp AS RP_CompanyNr, CoLink_FK, @typ AS LinkType, Linked_Pa_FK, @lie AS LIE_CompanyNr, Db_Status, Db_InsDt, Db_InsUser, Db_UpdDt, Db_UpdUser
FROM PA_PaLink
WHERE Pa_FK = @rpKey OR Linked_Pa_FK = @lieKey
-- insert into PA_PaLink
INSERT INTO PA_PaLink (Pa_FK, CoLink_FK, Linked_Pa_FK)
SELECT @rpKey AS Pa_FK, @typKey AS CoLink_FK, @lieKey AS Linked_Pa_FK
-- show results after insert
SELECT 'AFTER' as Stat, PaLink_PK, Pa_FK, @rp AS RP_CompanyNr, CoLink_FK, @typ AS LinkType, Linked_Pa_FK, @lie AS LIE_CompanyNr, Db_Status, Db_InsDt, Db_InsUser, Db_UpdDt, Db_UpdUser
FROM PA_PaLink
WHERE Pa_FK = @rpKey OR Linked_Pa_FK = @lieKey
--
ROLLBACK TRANSACTION
-- COMMIT TRANSACTION
--SELECT * FROM PA_Pa WHERE Parent_Pa_FK = ( SELECT Pa_PK FROM PA_Pa WHERE CompanyNr = @parent ) ORDER BY CompanyNr
END TRY
BEGIN CATCH
EXECUTE [master].dbo.sp_RethrowError
END CATCH