Neu Artikel nicht Aktivierbar für Connector Shop

SaschaR1987

Mitglied
7. Dezember 2019
43
14
Version 1.5.42.0
Artikel lassen sich nicht für den Online Shop Aktivieren!
Jemand eine Lösung es kommt immer eine Fehlermeldung!


Unbehandelte Ausnahme #5ABF3B2D097A9D0 vom Typ System.Data.SqlClient.SqlException in Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action])
System.Data.SqlClient.SqlException (0x80131904): Für die aktuelle Transaktion kann kein Commit ausgeführt werden. Sie unterstützt außerdem keine Vorgänge, die in die Protokolldatei schreiben. Führen Sie ein Rollback für die Transaktion aus.
Die Anweisung wurde beendet.
bei System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
bei System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
bei System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
bei System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
bei System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
bei System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
bei System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
bei System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
bei JTL.Database.DbCommandHelpers.ExecuteNonQuery(IDbCommand command)
bei JTL.Database.DbConnectionExtensions.<>c__DisplayClass2_0.<ExecuteNonQuery>b__0()
bei JTL.Database.DbConnectionHelpers.Execute[T](IDbConnection connection, Func`1 func, Boolean keepAlive)
bei JTL.Database.DbConnectionExtensions.ExecuteNonQuery(IDbConnection connection, IDbCommand command)
bei JTL.Database.Commands.Entities.KeylessCreateCommand.ExecuteChunk(IDatabaseConnection connection, Int32 startOfLastChunk)
bei JTL.Database.Commands.Entities.CreateCommandBase.Execute(IDatabaseConnection connection)
bei jtlDatabase.jtlObjectRepositoryBase.pQ6dMNcHAE(IEnumerable`1 , Type )
bei jtlDatabase.jtlObjectRepositoryBase.GoddSEP1Bd(IGrouping`2 )
bei System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
bei System.Linq.Enumerable.Sum(IEnumerable`1 source)
bei jtlDatabase.jtlObjectRepositoryBase.Create(IEnumerable`1 items)
bei jtlDatabase.jtlObject.insertInDB()
bei jtlDatabase.jtlObject.Save()
bei jtlDatabase.classes.Models.Shop.Artikel.ArtikelShop.UpdateParentAndSaveInDb(Int32 parentPk)
bei jtlDatabase.Collections.SimpleDeltaBindingChildList`1.UpdateParentAndSyncToDatabase(Int32 parentPk)
bei jtlDatabase.classes.Models.Artikeldetails.Artikel.HDkdKNssMgl()
bei jtlDatabase.classes.Models.Artikeldetails.Artikel.s6OdKSVlqfC()
bei jtlDatabase.classes.Models.Artikeldetails.Artikel.SaveArtikelChanges()
bei jtlDatabase.classes.Models.Artikeldetails.Artikel.Save(Boolean overrideNotifyAsNew, Boolean skipNotify)
bei jtlDatabase.classes.Models.Artikeldetails.Artikel.Save()
bei jtlCore.Models.MVCModels.ArtikelDetails.Context.ArtikelDetailsContext.Save()
bei jtlCore.ControllerClasses.ArtikelDetails.ArtikelDetailsController.TPbcBrTink9()
bei jtlCore.ControllerClasses.ArtikelDetails.ArtikelDetailsController.<ClickSaveOnRunAsync>d__59.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei jtlCore.ControllerClasses.ArtikelDetails.ArtikelDetailsController.<ClickSaveOnRunAndCloseAsync>d__41.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
ClientConnectionId:b5a4ddce-8fc4-429a-952e-960ff52f200d
Fehlernummer (Error Number):3930,Status (State):1,Klasse (Class):16
SQL-Fehlerinformationen: [DESKTOP-NNB7DAK,1443\JTLWAWI .Net SqlClient Data Provider] Fehler #3930 (Klasse 16) in Zeile 16: Für die aktuelle Transaktion kann kein Commit ausgeführt werden. Sie unterstützt außerdem keine Vorgänge, die in die Protokolldatei schreiben. Führen Sie ein Rollback für die Transaktion aus. dbo.spErrorHandler
SQL-Fehlerinformationen: [DESKTOP-NNB7DAK,1443\JTLWAWI .Net SqlClient Data Provider] Fehler #3621 (Klasse 0) in Zeile 1: Die Anweisung wurde beendet.
HelpLink.ProdName = Microsoft SQL Server
HelpLink.ProdVer = 15.00.2080
HelpLink.EvtSrc = MSSQLServer
HelpLink.EvtID = 3930
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476
WasHandled = True
ConnectionString = Data Source=DESKTOP-NNB7DAK,1443\JTLWAWI;Initial Catalog=eazybusiness;Integrated Security=False;Persist Security Info=True;User ID=sa;Password=*****;MultipleActiveResultSets=True;Connect Timeout=120;Application Name=" JTL-Wawi C#";Current Language=German
CommandText = INSERT INTO [dbo].[tArtikelShop] ([kArtikel], [kShop], [cInet], [cDelInet], [nAktion], [nInBearbeitung]) VALUES (@kArtikel, @Kshop, @cInet, @cDelInet, @nAktion, @nInBearbeitung);

Parameter @kArtikel = 49178
Parameter @Kshop = 4
Parameter @cInet = 'Y'
Parameter @cDelInet = ''
Parameter @nAktion = 0
Parameter @nInBearbeitung = 0
LineNr = 16
Codefragment =
System.Object = <null>

2021-03-24T15:48:05 DEBUG - SELECT * FROM [tArtikelbildPlattformSeo] WHERE [kArtikelbildPlattform] = @kArtikelbildPlattform
@kArtikelbildPlattform = 606482
2021-03-24T15:48:05 DEBUG - Dauer bis zum Reader: 0ms
2021-03-24T15:48:05 DEBUG - Dauer: 0 ms, 0 Zeilen
2021-03-24T15:48:05 DEBUG - SELECT * FROM [tArtikelbildPlattformSeo] WHERE [kArtikelbildPlattform] = @kArtikelbildPlattform
@kArtikelbildPlattform = 606492
2021-03-24T15:48:05 DEBUG - Dauer bis zum Reader: 0ms
2021-03-24T15:48:05 DEBUG - Dauer: 0 ms, 0 Zeilen
2021-03-24T15:48:05 DEBUG - SELECT * FROM [tArtikelbildPlattformSeo] WHERE [kArtikelbildPlattform] = @kArtikelbildPlattform
@kArtikelbildPlattform = 606502
2021-03-24T15:48:05 DEBUG - Dauer bis zum Reader: 0ms
2021-03-24T15:48:05 DEBUG - Dauer: 0 ms, 0 Zeilen
2021-03-24T15:48:05 DEBUG - SELECT * FROM [tArtikelbildPlattformSeo] WHERE [kArtikelbildPlattform] = @kArtikelbildPlattform
@kArtikelbildPlattform = 606512
2021-03-24T15:48:05 DEBUG - Dauer bis zum Reader: 0ms
2021-03-24T15:48:05 DEBUG - Dauer: 0 ms, 0 Zeilen
2021-03-24T15:48:05 DEBUG - CREATE TABLE #ccad7fe3ba0a44f9b072ca05f617ddb5 ( kSprache Int NOT NULL , cAlternativtext NVarChar(max) NULL , kBild Int NOT NULL , kArtikel Int NOT NULL , kPlattform Int NOT NULL , kShop Int NOT NULL );
2021-03-24T15:48:05 DEBUG - Dauer: 1ms
2021-03-24T15:48:05 DEBUG -
-- Änderungen an Artikel Bildern synchronisieren
WITH targetData AS
(
SELECT tArtikelbildPlattformSeo.*
FROM dbo.tArtikelbildPlattformSeo
JOIN dbo.tArtikelbildPlattform ON tArtikelbildPlattform.kArtikelBildPlattform = tArtikelbildPlattformSeo.kArtikelBildPlattform
WHERE tArtikelbildPlattform.kArtikel IN ( @kArtikel )
)

MERGE INTO targetData
USING (SELECT #ccad7fe3ba0a44f9b072ca05f617ddb5.*, tArtikelbildPlattform.kArtikelBildPlattform
FROM #ccad7fe3ba0a44f9b072ca05f617ddb5
JOIN dbo.tArtikelbildPlattform ON #ccad7fe3ba0a44f9b072ca05f617ddb5.kArtikel = tArtikelbildPlattform.kArtikel
AND #ccad7fe3ba0a44f9b072ca05f617ddb5.kPlattform = tArtikelbildPlattform.kPlattform
AND #ccad7fe3ba0a44f9b072ca05f617ddb5.kShop = tArtikelbildPlattform.kShop
AND #ccad7fe3ba0a44f9b072ca05f617ddb5.kBild = tArtikelbildPlattform.kBild ) AS sourceData
ON targetData.kArtikelBildPlattform = sourceData.kArtikelBildPlattform AND targetData.kSprache = sourceData.kSprache

WHEN NOT MATCHED BY TARGET THEN
INSERT (kArtikelBildPlattform, kSprache, cAlternativtext)
VALUES (sourceData.kArtikelBildPlattform, sourceData.kSprache, sourceData.cAlternativtext)

WHEN MATCHED AND ( targetData.cAlternativtext <> sourceData.cAlternativtext )
THEN
UPDATE SET
targetData.cAlternativtext= sourceData.cAlternativtext

WHEN NOT MATCHED BY SOURCE THEN
DELETE;
@kArtikel = 49178
2021-03-24T15:48:05 DEBUG - Dauer: 10ms, AffectedRows: 0
2021-03-24T15:48:05 DEBUG - INSERT INTO [dbo].[tArtikelShop] ([kArtikel], [kShop], [cInet], [cDelInet], [nAktion], [nInBearbeitung]) VALUES (@kArtikel, @Kshop, @cInet, @cDelInet, @nAktion, @nInBearbeitung);

@kArtikel = 49178
@Kshop = 4
@cInet = 'Y'
@cDelInet = ''
@nAktion = 0
@nInBearbeitung = 0
2021-03-24T15:48:05 WARN - Dauer: 22ms, Error: Für die aktuelle Transaktion kann kein Commit ausgeführt werden. Sie unterstützt außerdem keine Vorgänge, die in die Protokolldatei schreiben. Führen Sie ein Rollback für die Transaktion aus.
Die Anweisung wurde beendet.
2021-03-24T15:48:05 DEBUG - IF OBJECT_ID('dbo.tErrorlog', 'U') IS NULL SELECT 0 ELSE SELECT 1;
2021-03-24T15:48:05 DEBUG - Dauer: 0ms, Result: 1
2021-03-24T15:48:05 DEBUG - SELECT TOP 1 * FROM dbo.tErrorlog WHERE cRechnername = @cRechnername AND nFehlerID = @nFehlerID ORDER BY dErstelltUtc ASC
@cRechnername = 'DESKTOP-G01R63F'
@nFehlerID = 408688140536490448
2021-03-24T15:48:05 DEBUG - Dauer bis zum Reader: 1ms
2021-03-24T15:48:05 DEBUG - Dauer: 0 ms, 1 Zeilen
2021-03-24T15:48:05 DEBUG - UPDATE [dbo].[tErrorlog] SET dErstelltUtc = @dErstelltUtc_0 WHERE kErrorlog = @kErrorlog_0;

@dErstelltUtc_0 = '2021-03-24 02:48:05'
@kErrorlog_0 = 1128
2021-03-24T15:48:05 DEBUG - Dauer: 1ms, AffectedRows: 1
Zeitstempel: 2021-03-24T15:48:07
Locale: German (Germany)
Locale: German (Germany)
Version: 1.5.42.0
Plattform: Wawi
WawiSeed: 0.7.71441.77001
Prozessname: JTL-Wawi
Physikalischer Speicher: 581525504 / Peak: 591101952
Basispriorität: 8
Prioritätsklasse: Normal
CPU-Zeit (User): 0:00:23,546875
CPU-Zeit (System): 0:00:11,4375
Page-Size (Sytem): 2169184 / Peak: 570413056
Page-Size: 558702592 / Peak: 570413056
Offene Handles: 1880
Database:
Build: 2103221059 b1c1374385db9dbc54f49f109bf809557b468868
 

Immanuel

Moderator
Mitarbeiter
24. August 2016
1.307
270
Hallo @SaschaR1987,

das Problem ist bekannt und sollte mit nachfolgender SQL in der JTL-Wawi Datenbank behoben werden können. Dieser Fix fließt voraussichtlich in JTL-Wawi Version 1.5.43.0.
SQL:
ALTER TRIGGER [dbo].[tgr_tArtikelShop_INSUP]
ON [dbo].[tArtikelShop]
AFTER INSERT, UPDATE
AS
SET NOCOUNT ON;
SET ANSI_NULLS, ANSI_NULL_DFLT_ON, ANSI_PADDING, CONCAT_NULL_YIELDS_NULL, XACT_ABORT ON;
BEGIN TRY
    IF NOT EXISTS (SELECT 1 FROM INSERTED) RETURN;
    IF TRIGGER_NESTLEVEL(@@PROCID) > 1 RETURN;

    IF (OBJECT_ID('tempdb..#tgrtArtikelShopInsup') IS NOT NULL)
    BEGIN
        DROP TABLE #tgrtArtikelShopInsup;
    END

    CREATE TABLE #tgrtArtikelShopInsup
    (
        kArtikel INT NOT NULL,
        kShop INT NOT NULL,
        nInserted BIT NOT NULL
    );

    INSERT INTO #tgrtArtikelShopInsup (kArtikel, kShop, nInserted)
        SELECT
            Inserted.kArtikel,
            Inserted.kShop,
            CASE WHEN Deleted.kArtikel IS NULL THEN 1 ELSE 0 END AS nInserted
        FROM Inserted
        FULL OUTER JOIN Deleted ON Deleted.kArtikel = Inserted.kArtikel
            AND Deleted.kShop = Inserted.kShop

    IF(UPDATE(kArtikel))
    BEGIN
        IF EXISTS (SELECT 1 FROM #tgrtArtikelShopInsup WHERE #tgrtArtikelShopInsup.nInserted = 1)
        BEGIN
            INSERT INTO dbo.tMerkmalBildPlattform (kMerkmal, kBild, kPlattform, kShop, nInet)
                SELECT
                    tArtikelMerkmal.kMerkmal,
                    StandardBild.kBild,
                    2 AS kPlattform,
                    #tgrtArtikelShopInsup.kShop,
                    1 AS nInet
                FROM #tgrtArtikelShopInsup
                JOIN dbo.tArtikelMerkmal ON tArtikelMerkmal.kArtikel = #tgrtArtikelShopInsup.kArtikel
                JOIN dbo.tMerkmalBildPlattform AS StandardBild ON StandardBild.kMerkmal = tArtikelMerkmal.kMerkmal
                    AND (StandardBild.kShop IS NULL OR StandardBild.kShop = 0)
                LEFT JOIN dbo.tMerkmalBildPlattform ON tMerkmalBildPlattform.kMerkmal = tArtikelMerkmal.kMerkmal
                    AND tMerkmalBildPlattform.kShop = #tgrtArtikelShopInsup.kShop
                WHERE tMerkmalBildPlattform.kShop IS NULL
                    AND #tgrtArtikelShopInsup.nInserted = 1
                GROUP BY tArtikelMerkmal.kMerkmal,
                    #tgrtArtikelShopInsup.kShop,
                    tMerkmalBildPlattform.kBild,
                    tMerkmalBildPlattform.kShop,
                    StandardBild.kBild;

            INSERT INTO dbo.tMerkmalwertBildPlattform (kMerkmalwert, kBild, kPlattform, kShop, nInet)
                SELECT
                    tArtikelMerkmal.kMerkmalWert,
                    StandardBild.kBild,
                    2 AS kPlattform,
                    #tgrtArtikelShopInsup.kShop,
                    1 AS nInet
                FROM #tgrtArtikelShopInsup
                JOIN dbo.tArtikelMerkmal ON tArtikelMerkmal.kArtikel = #tgrtArtikelShopInsup.kArtikel
                JOIN dbo.tMerkmalwertBildPlattform AS StandardBild ON StandardBild.kMerkmalwert = tArtikelMerkmal.kMerkmalWert
                    AND (StandardBild.kShop IS NULL OR StandardBild.kShop = 0)
                LEFT JOIN dbo.tMerkmalwertBildPlattform ON tMerkmalwertBildPlattform.kMerkmalwert = tArtikelMerkmal.kMerkmalWert
                    AND tMerkmalwertBildPlattform.kShop = #tgrtArtikelShopInsup.kShop
                WHERE tMerkmalwertBildPlattform.kShop IS NULL
                    AND #tgrtArtikelShopInsup.nInserted = 1
                GROUP BY tArtikelMerkmal.kMerkmalWert,
                    #tgrtArtikelShopInsup.kShop,
                    tMerkmalwertBildPlattform.kBild,
                    tMerkmalwertBildPlattform.kShop,
                    StandardBild.kBild;

            --
            -- tEigenschaftWertPict fuellen
            --
            DECLARE @tpk int;
            SET @tpk = (SELECT tpk.nummer FROM tpk WHERE tpk.cName = 'tEigenschaftWertPict');

            INSERT INTO tEigenschaftWertPict (kEigenschaftWertPict, kEigenschaftWert, kBild, nInet, kPlattform, kShop)
                SELECT
                    @tpk + ROW_NUMBER() OVER (ORDER BY #tgrtArtikelShopInsup.kArtikel) AS kEigenschaftWertPict,
                    teigenschaftwert.kEigenschaftWert,
                    StandardBild.kBild,
                    1 AS nInet,
                    2 AS kPlattform,
                    #tgrtArtikelShopInsup.kShop
                FROM #tgrtArtikelShopInsup
                JOIN dbo.teigenschaft ON teigenschaft.kArtikel = #tgrtArtikelShopInsup.kArtikel
                JOIN dbo.teigenschaftwert ON teigenschaftwert.kEigenschaft = teigenschaft.kEigenschaft
                JOIN dbo.tEigenschaftWertPict AS StandardBild ON StandardBild.kEigenschaftWert = teigenschaftwert.kEigenschaftWert
                    AND ISNULL(StandardBild.kPlattform, 0) IN (1, 0)
                WHERE #tgrtArtikelShopInsup.nInserted = 1

            UPDATE tpk
            SET nummer = (ISNULL((SELECT MAX(ISNULL(kEigenschaftWertPict,0)) FROM tEigenschaftWertPict), 0) + 1),
                dChanged = (SELECT CONVERT(VARCHAR(10),GETDATE(),121))
            WHERE cName = 'tEigenschaftWertPict';

            --
            -- Connector
            --
            --
            -- Artikel vollständig zu Webshops senden, wenn Änderungen vorgenommen wurden
            --
            UPDATE dbo.tArtikelShop
            SET tArtikelShop.nAktion = 1,
                tArtikelShop.cInet = 'Y'
            FROM dbo.tArtikelShop
            JOIN #tgrtArtikelShopInsup ON #tgrtArtikelShopInsup.kArtikel = tArtikelShop.kArtikel
                AND #tgrtArtikelShopInsup.kShop = tArtikelShop.kShop
                AND #tgrtArtikelShopInsup.nInserted = 1;

            --
            -- Vater mit zum Webshop schicken wenn Kind geändert
            --
            UPDATE dbo.tArtikelShop
                SET tArtikelShop.nAktion = 1,
                    tArtikelShop.cInet = 'Y'
            FROM dbo.tArtikelShop
            JOIN dbo.tArtikel ON tArtikel.kVaterArtikel = tArtikelShop.kArtikel
            JOIN #tgrtArtikelShopInsup ON #tgrtArtikelShopInsup.kArtikel = tArtikel.kArtikel
                AND #tgrtArtikelShopInsup.kShop = tArtikelShop.kShop
                AND #tgrtArtikelShopInsup.nInserted = 1;
               
            --
            -- Bilder vollständig zu Webshop senden, wenn Änderungen vorgenommen wurden
            --
            UPDATE dbo.tArtikelbildPlattform
                SET dbo.tArtikelbildPlattform.nInet = 1
            FROM dbo.tArtikelbildPlattform
            JOIN #tgrtArtikelShopInsup ON dbo.tArtikelbildPlattform.kArtikel = #tgrtArtikelShopInsup.kArtikel
                AND dbo.tArtikelbildPlattform.kShop = #tgrtArtikelShopInsup.kShop
            WHERE dbo.tArtikelbildPlattform.nInet = 0
                AND #tgrtArtikelShopInsup.nInserted = 1;

            --
            -- Evtl. bestehenden Löscheinträge in tQueue entfernen
            --
            DELETE dbo.tQueue
            FROM dbo.tQueue
            JOIN #tgrtArtikelShopInsup ON #tgrtArtikelShopInsup.kShop = tQueue.kShop
                AND #tgrtArtikelShopInsup.kArtikel = tQueue.kWert
            WHERE tQueue.kPlattform = 2
                AND tQueue.cName = 'tArtikel'
                AND tQueue.nAction = 2
                AND #tgrtArtikelShopInsup.nInserted = 1;

            IF (OBJECT_ID('tempdb..#tgrtArtikelShopInsupConnector') IS NOT NULL)
            BEGIN
                DROP TABLE #tgrtArtikelShopInsupConnector;
            END

            CREATE TABLE #tgrtArtikelShopInsupConnector
            (
                kHersteller INT NOT NULL,
                kShop INT NOT NULL,
                nAnzahl INT NOT NULL
            );

            INSERT INTO #tgrtArtikelShopInsupConnector (kHersteller, kShop, nAnzahl)
                SELECT
                    tArtikel.kHersteller,
                    #tgrtArtikelShopInsup.kShop,
                    ISNULL(Result.Anzahl, 0)
                FROM #tgrtArtikelShopInsup
                JOIN dbo.tShopKonfiguration ON tShopKonfiguration.kShop = #tgrtArtikelShopInsup.kShop
                    AND tShopKonfiguration.nHerstellerGefiltertSenden = 1
                JOIN dbo.tArtikel ON tArtikel.kArtikel = #tgrtArtikelShopInsup.kArtikel
                LEFT JOIN
                (
                    SELECT
                        tHersteller.kHersteller,
                        tArtikelShop.kShop,
                        COUNT(1) AS Anzahl
                    FROM dbo.tArtikel
                    JOIN dbo.tHersteller ON tHersteller.kHersteller = tArtikel.kHersteller
                    JOIN dbo.tArtikelShop ON tArtikelShop.kArtikel = tArtikel.kArtikel
                    GROUP BY tHersteller.kHersteller,
                        tArtikelShop.kShop
                ) AS Result ON Result.kHersteller = tArtikel.kHersteller
                    AND Result.kShop = #tgrtArtikelShopInsup.kShop
                WHERE #tgrtArtikelShopInsup.nInserted = 1

            DELETE dbo.tQueue
            FROM dbo.tQueue
            JOIN #tgrtArtikelShopInsupConnector ON #tgrtArtikelShopInsupConnector.kHersteller = tQueue.kWert
                AND #tgrtArtikelShopInsupConnector.nAnzahl = 1
                AND #tgrtArtikelShopInsupConnector.kShop = tQueue.kShop
                AND tQueue.cName = 'tHersteller'
                AND tQueue.nAction = 2

            INSERT INTO tQueue(kWert, kShop, cName, kPlattform, nAction)
                SELECT
                    #tgrtArtikelShopInsupConnector.kHersteller,
                    #tgrtArtikelShopInsupConnector.kShop,
                    'tHersteller' AS cName,
                    2 AS kPlattform,
                    1 AS nAction
                FROM #tgrtArtikelShopInsupConnector
                GROUP BY #tgrtArtikelShopInsupConnector.kHersteller,
                    #tgrtArtikelShopInsupConnector.kShop,
                    #tgrtArtikelShopInsupConnector.nAnzahl
                HAVING #tgrtArtikelShopInsupConnector.nAnzahl = COUNT(#tgrtArtikelShopInsupConnector.kHersteller)

            --
            -- POS
            --
            IF(OBJECT_ID('tempdb..#tgr_tArtikelShop_Sync') IS NOT NULL)
            BEGIN
                DROP TABLE #tgr_tArtikelShop_Sync;
            END

            CREATE TABLE #tgr_tArtikelShop_Sync
            (
                kId INT,
                kShop INT,
                nSyncType TINYINT,
                nEntityType TINYINT,
                kEntityId INT,
            );

            --
            -- Artikel
            --
            INSERT INTO #tgr_tArtikelShop_Sync (kId, kShop, nSyncType, nEntityType, kEntityId)
                SELECT
                    #tgrtArtikelShopInsup.kArtikel,
                    #tgrtArtikelShopInsup.kShop,
                    tShop.nTyp,
                    1 AS nEntityType,
                    tEntityPlatform.kEntityId
                FROM #tgrtArtikelShopInsup
                JOIN dbo.tShop ON tShop.kShop = #tgrtArtikelShopInsup.kShop
                LEFT JOIN Sync.tEntityPlatform ON tEntityPlatform.kShop = #tgrtArtikelShopInsup.kShop
                    AND tEntityPlatform.kEntityId = #tgrtArtikelShopInsup.kArtikel
                    AND tEntityPlatform.nEntityType = 1
                WHERE tShop.nTyp NOT IN (2, 3)
                    AND #tgrtArtikelShopInsup.nInserted = 1
                GROUP BY #tgrtArtikelShopInsup.kArtikel,
                    #tgrtArtikelShopInsup.kShop,
                    tShop.nTyp,
                    tEntityPlatform.kEntityId;

            --
            -- Stueckliste
            --
            INSERT INTO #tgr_tArtikelShop_Sync (kId, kShop, nSyncType, nEntityType, kEntityId)
                SELECT
                    tArtikel.kStueckliste,
                    #tgrtArtikelShopInsup.kShop,
                    tShop.nTyp,
                    7 AS nEntityType,
                    tEntityPlatform.kEntityId
                FROM #tgrtArtikelShopInsup
                JOIN dbo.tArtikel ON tArtikel.kArtikel = #tgrtArtikelShopInsup.kArtikel
                JOIN dbo.tShop ON tShop.kShop = #tgrtArtikelShopInsup.kShop
                LEFT JOIN Sync.tEntityPlatform ON tEntityPlatform.kShop = #tgrtArtikelShopInsup.kShop
                    AND tEntityPlatform.kEntityId = tArtikel.kStueckliste
                    AND tEntityPlatform.nEntityType = 7
                WHERE tArtikel.kStueckliste > 0
                    AND tShop.nTyp NOT IN (2, 3)
                    AND #tgrtArtikelShopInsup.nInserted = 1
                GROUP BY tArtikel.kStueckliste,
                    #tgrtArtikelShopInsup.kShop,
                    tShop.nTyp,
                    tEntityPlatform.kEntityId;

            --
            -- Konfiggruppe
            --
            INSERT INTO #tgr_tArtikelShop_Sync (kId, kShop, nSyncType, nEntityType, kEntityId)
                SELECT
                    tartikelkonfiggruppe.kKonfiggruppe,
                    #tgrtArtikelShopInsup.kShop,
                    tShop.nTyp,
                    8 AS nEntityType,
                    tEntityPlatform.kEntityId
                FROM #tgrtArtikelShopInsup
                JOIN dbo.tartikelkonfiggruppe ON tartikelkonfiggruppe.kArtikel = #tgrtArtikelShopInsup.kArtikel
                JOIN dbo.tShop ON tShop.kShop = #tgrtArtikelShopInsup.kShop
                LEFT JOIN Sync.tEntityPlatform ON tEntityPlatform.kShop = #tgrtArtikelShopInsup.kShop
                    AND tEntityPlatform.kEntityId = tartikelkonfiggruppe.kKonfiggruppe
                    AND tEntityPlatform.nEntityType = 8
                WHERE tShop.nTyp NOT IN (2, 3)
                    AND #tgrtArtikelShopInsup.nInserted = 1
                GROUP BY tartikelkonfiggruppe.kKonfiggruppe,
                    #tgrtArtikelShopInsup.kShop,
                    tShop.nTyp,
                    tEntityPlatform.kEntityId;

            --
            -- Konfigitem
            --
            INSERT INTO #tgr_tArtikelShop_Sync (kId, kShop, nSyncType, nEntityType, kEntityId)
                SELECT
                    tkonfigitem.kKonfigitem,
                    #tgr_tArtikelShop_Sync.kShop,
                    #tgr_tArtikelShop_Sync.nSyncType,
                    9 AS nEntityType,
                    tEntityPlatform.kEntityId
                FROM dbo.tkonfigitem
                JOIN #tgr_tArtikelShop_Sync ON #tgr_tArtikelShop_Sync.kId = tkonfigitem.kKonfiggruppe
                    AND #tgr_tArtikelShop_Sync.nEntityType = 8
                LEFT JOIN Sync.tEntityPlatform ON tEntityPlatform.kShop = #tgr_tArtikelShop_Sync.kShop
                    AND tEntityPlatform.kEntityId = tkonfigitem.kKonfigitem
                    AND tEntityPlatform.nEntityType = 9
                GROUP BY tkonfigitem.kKonfigitem,
                    #tgr_tArtikelShop_Sync.kShop,
                    #tgr_tArtikelShop_Sync.nSyncType,
                    tEntityPlatform.kEntityId;

            --
            -- Insert tEntityPlatform
            --
            IF EXISTS (SELECT TOP(1) 1 FROM #tgr_tArtikelShop_Sync
                        WHERE #tgr_tArtikelShop_Sync.kEntityId IS NOT NULL)
            BEGIN
                UPDATE Sync.tEntityPlatform
                    SET tEntityPlatform.dActive = GETDATE(),
                        tEntityPlatform.dInactive = NULL
                FROM Sync.tEntityPlatform
                JOIN #tgr_tArtikelShop_Sync ON #tgr_tArtikelShop_Sync.kEntityId = tEntityPlatform.kEntityId
                    AND #tgr_tArtikelShop_Sync.kShop = tEntityPlatform.kShop
                    AND tEntityPlatform.nEntityType = #tgr_tArtikelShop_Sync.nEntityType;
            END

            IF EXISTS (SELECT TOP(1) 1 FROM #tgr_tArtikelShop_Sync
                        WHERE #tgr_tArtikelShop_Sync.kEntityId IS NULL)
            BEGIN
                INSERT INTO Sync.tEntityPlatform (kEntityId, nEntityType, kShop, dActive, dInactive)
                    SELECT
                        #tgr_tArtikelShop_Sync.kId AS kEntityId,
                        #tgr_tArtikelShop_Sync.nEntityType AS nEntityType,
                        #tgr_tArtikelShop_Sync.kShop AS kShop,
                        GETDATE() AS dActive,
                        NULL AS dInactive
                    FROM #tgr_tArtikelShop_Sync
                    WHERE #tgr_tArtikelShop_Sync.kEntityId IS NULL;
            END

            --
            -- Insert tEntityTracking
            --
            INSERT INTO Sync.tEntityTracking (kEntityId, nEntityType, nSyncType, dCreated, dLastModified)
                SELECT
                    #tgr_tArtikelShop_Sync.kId AS kEntityId,
                    #tgr_tArtikelShop_Sync.nEntityType AS nEntityType,
                    #tgr_tArtikelShop_Sync.nSyncType,
                    GETDATE() AS dCreated,
                    GETDATE() AS dLastModified
                FROM #tgr_tArtikelShop_Sync  
                LEFT JOIN Sync.tEntityTracking ON tEntityTracking.kEntityId = #tgr_tArtikelShop_Sync.kId
                    AND tEntityTracking.nEntityType = #tgr_tArtikelShop_Sync.nEntityType
                    AND tEntityTracking.nSyncType = #tgr_tArtikelShop_Sync.nSyncType
                WHERE Sync.tEntityTracking.kEntityId IS NULL
                GROUP BY #tgr_tArtikelShop_Sync.kId,
                    #tgr_tArtikelShop_Sync.nEntityType,
                    #tgr_tArtikelShop_Sync.nSyncType;
        END
    END
END TRY
BEGIN CATCH
    DECLARE @DeadlockRetries TINYINT = 0;
    EXEC dbo.spErrorHandler
        @DeadlockRetries = @DeadlockRetries OUTPUT;
    THROW;
END CATCH

GO
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Seriennummern Artikel kann nicht ausgeliefert werden.kLieferscheinPos = 999999999 JTL-Wawi - Fehler und Bugs 8
Neu Artikel wird nicht aus Kategorie gelöscht im Shop JTL-Wawi - Fehler und Bugs 1
Neu Artikel werden im JTL WAWI Menü Artikel nicht angezeigt User helfen Usern - Fragen zu JTL-Wawi 10
Neu Bilder / Artikel werden nicht übertragen Connector 6 Shopware-Connector 1
Neu Artikel werden nicht bzw. nicht komplett synchronisiert Shopify-Connector 0
Neu Artikel bei ebay einstellen geht nicht eBay-Anbindung - Fehler und Bugs 0
Gelöst Ich kann Artikel nicht bearbeiten Gelöste Themen in diesem Bereich 1
Neu Englische Artikel werden nicht in Deutsche Wawi importiert WooCommerce-Connector 0
Verwiesen an Support JTL-Packtisch+ Artikel für Zustandsänderung nicht auswählbar JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 2
Neu Artikel werden nicht entfernt JTL-Ameise - Fehler und Bugs 14
Neu Ebay Überverkauf, da Artikel nicht abgeglichen wird eBay-Anbindung - Fehler und Bugs 0
Neu Ebay Überverkauf, da Artikel nicht abgeglichen wird eBay-Anbindung - Fehler und Bugs 3
Neu Freitextposition Artikel im Auftrag erstellt -> Name wird im Auftrag nicht angezeigt. User helfen Usern - Fragen zu JTL-Wawi 6
Neu Artikel kann nicht in Warenkorb hinzugefügt werden - Paypal Plugin JTL-Wawi - Fehler und Bugs 0
Neu Artikel nicht sichtbar bei Gambio User helfen Usern - Fragen zu JTL-Wawi 0
Neu Artikel im JTL-Shop nicht sichtbar... User helfen Usern - Fragen zu JTL-Wawi 3
Neu In Wawi erstellter Artikel wird nicht in den WooCommerce Shop übertragen WooCommerce-Connector 1
Neu Wawi Artikel in Variationen Mengen passen nicht Onlineshop-Anbindung 1
Neu Problem bei Artikel Import über Ameise / Variationen werden nicht erstellt wenn Variationsnamenwert 1 leer ist. JTL-Ameise - Fehler und Bugs 1
In Bearbeitung Artikel wird nicht per UPC gefunden JTL-POS - Fehler und Bugs 4
Neu WAWI 1.5.4.1.1 Teilgutschriften verursachen die Listung bei nicht bezahlter Artikel Amazon-Anbindung - Fehler und Bugs 0
In Bearbeitung (wahrscheinlich kein Fehler) JTL-POS erkennt besonderen EAN/ISBN nicht als Artikel JTL-POS - Fehler und Bugs 2
Neu Eigene Artikel Felder in Druckvorlage einbinden funktioniert nicht Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 10
In Bearbeitung Artikel aus dem Wawi wird nicht POS angezeigt! JTL-POS - Fehler und Bugs 21
Beantwortet Artikel export - Preise ohne Trennzeichen JTL-Ameise - Fehler und Bugs 1
Neu Eazyshipping - Artikelscan zeigt Picklisten an, wo der Artikel schon versendet wurde JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 1
Neu "Normale" Artikel in Chargen-Artikel umwandeln User helfen Usern - Fragen zu JTL-Wawi 1
Neu Produktstream Artikel und Sticker Betrieb / Pflege von JTL-Shop 1
Neu Artikel Etiketten sehen an jedem Arbeitsplatz anderes aus Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
In Bearbeitung Artikel-Rückgabe ohne Bon Allgemeine Fragen zu JTL-POS 3
Neu Berichtscontainer, Artikel vollständig, Seitenumbruch Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Berichtscontainer, Artikel sollen vollständig abgebildet werden oder vorher einen Seitenumbruch machen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Artikel über Import (Ameise) mehreren Kategorien zuweisen User helfen Usern - Fragen zu JTL-Wawi 1
Neu Google Shopping einzelne Artikel rausnehmen Plugins für JTL-Shop 1
Neu Kategorie/Artikel nur für bestimmte Zeit am Tag anzeigen oder bestellen User helfen Usern - Fragen zu JTL-Wawi 1
Beantwortet FBA Artikel zusätzlich auch mit Eigenversand anbieten Einrichtung und Installation von JTL-eazyAuction 1
Neu Shopify Artikel ID in eigenes Feld Shopify-Connector 1
Neu Workflow: Auftrag für alle Artikel erstellen WENN User helfen Usern - Fragen zu JTL-Wawi 2
Neu Gleicher Artikel von Verschiedenen Lieferanten richtig in WAWI aufnehmen für Drop Shipping. User helfen Usern - Fragen zu JTL-Wawi 3
Neu Artikel über die Ameise Minusbuchen JTL-Ameise - Ideen, Lob und Kritik 2
Beantwortet Bedingung: Bestimmter Artikel auf Lager JTL-Workflows - Fehler und Bugs 3
JTL Shop 5.0.1 - Kein richtiger Abgleich der Artikel-Fotos zwischen WAWI und Shop Einrichtung JTL-Shop5 4
Neu Artikel richtig bestellen VPE User helfen Usern - Fragen zu JTL-Wawi 6
Beantwortet Artikel im POS gesammelt bearbeiten? Einrichtung / Updates von JTL-POS 11
Neu einzelne Artikel im Shop ohne Lieferzeitangabe User helfen Usern - Fragen zu JTL-Wawi 0
Neu Versandkosten für bestimmte Artikel ins Ausland User helfen Usern - Fragen zu JTL-Wawi 0
Neu Versandkosten Ausland pro Artikel Allgemeine Fragen zu JTL-Shop 6
Neu Mit Ameise: "Anzahl der verkauften Artikel" möglich zu exportieren? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Initialer Import - Artikel aus Prestashop werden mehrfach in WAWI angelegt. PrestaShop-Connector 2
Neu Web-Request über alle Artikel im Auftrag User helfen Usern - Fragen zu JTL-Wawi 0

Ähnliche Themen