CustomWorkflow Merkmale setzen

Lev1ath4n

Neues Mitglied
5. November 2024
2
1
Hallo zusammen,

Ich versuche aktuell einen eigenen Custom Workflow zu schreiben, bekomme laut Wawi aber immer folgende Fehlermeldung beim ausführen:

Fehler beim Konvertieren des nvarchar-Werts "Maßstab" in den int-Datentyp. BrowsePk: 3 WorkflowAktionId: 4 callerMemberName: AktionAusfuehren


Ich verstehe nicht so ganz wieso er hier überhaupt versucht irgendwas zu Konvertieren, vielleicht hat ja aber jemand von euch eine Ahnung bzw Idee.

SQL:
CREATE TYPE CustomWorkflows.Parameter_spMerkmaleSetzen_Merkmal FROM

NVARCHAR(255);

GO


CREATE TYPE CustomWorkflows.Parameter_spMerkmaleSetzen_Wert FROM

NVARCHAR(255);

GO


EXEC CustomWorkflows._SetActionParameterDisplayName

@parameterName = 'Parameter_spMerkmaleSetzen_Merkmal',

@displayName = 'Merkmal'

GO


EXEC CustomWorkflows._SetActionParameterDisplayName

@parameterName = 'Parameter_spMerkmaleSetzen_Wert',

@displayName = 'Wert'

GO


CREATE PROCEDURE CustomWorkflows.spMerkmalSetzen @kArtikel INT,

@cMerkmal Parameter_spMerkmaleSetzen_Merkmal, @cWert Parameter_spMerkmaleSetzen_Wert, @MerkmalINT INT, @WertINT INT

AS

BEGIN


    SELECT @MerkmalINT = [kMerkmal]

    FROM [eazybusiness].[dbo].[tMerkmalSprache]

    WHERE cName = @cMerkmal


    SELECT @WertINT = [kMerkmalWert]

    FROM [eazybusiness].[dbo].[tMerkmalWertSprache]

    WHERE cWert = @cWert


    INSERT INTO dbo.tArtikelMerkmal (kMerkmal, kMerkmalWert, kArtikel)

    VALUES (@MerkmalINT, @WertINT, @kArtikel)


END


Versuche ich das ganze selbst über SQL auszuführen Funktioniert es ohne Probleme (Beispiel):

SQL:
DECLARE @kArtikel INT, @cMerkmal NVARCHAR(255), @cWert NVARCHAR(255), @MerkmalINT INT, @WertINT INT
    
    SET @kArtikel = '3'
    SET @cMerkmal = 'Maßstab'
    SET @cWert = '1:18'
    
    SELECT @MerkmalINT = [kMerkmal]
    FROM [eazybusiness].[dbo].[tMerkmalSprache]
    WHERE cName = @cMerkmal

    SELECT @WertINT = [kMerkmalWert]
    FROM [eazybusiness].[dbo].[tMerkmalWertSprache]
    WHERE cWert = @cWert

    INSERT INTO dbo.tArtikelMerkmal (kMerkmal, kMerkmalWert, kArtikel)
    VALUES (@MerkmalINT, @WertINT, @kArtikel)
 

Lev1ath4n

Neues Mitglied
5. November 2024
2
1
Update:

Der Workflow Funktioniert doch. Eine Bereits erstelle Prozedur kann man nur nicht Überschreiben sondern muss sie mit einem anderen Befehl Ändern:


SQL:
ALTER PROCEDURE [CustomWorkflows].[spMerkmalSetzen]
AS
BEGIN

    ...

END

Außerdem musste ich eine Kleine Sache noch ändern. Wer interesse an dem Workflow hat hier einmal der Vollständig Funktionale:


SQL:
CREATE TYPE CustomWorkflows.Parameter_spMerkmaleSetzen_Merkmal FROM
NVARCHAR(255);
GO

CREATE TYPE CustomWorkflows.Parameter_spMerkmaleSetzen_Wert FROM
NVARCHAR(255);
GO

EXEC CustomWorkflows._SetActionParameterDisplayName
@parameterName = 'Parameter_spMerkmaleSetzen_Merkmal',
@displayName = 'Merkmal'
GO

EXEC CustomWorkflows._SetActionParameterDisplayName
@parameterName = 'Parameter_spMerkmaleSetzen_Wert',
@displayName = 'Wert'
GO

CREATE PROCEDURE CustomWorkflows.spMerkmalSetzen @kArtikel INT,
@cMerkmal Parameter_spMerkmaleSetzen_Merkmal, @cWert Parameter_spMerkmaleSetzen_Wert, @MerkmalINT INT, @WertINT INT
AS
BEGIN

    SELECT @MerkmalINT = [kMerkmal]
    FROM [eazybusiness].[dbo].[tMerkmalSprache]
    WHERE cName = @cMerkmal

    SELECT @WertINT = [kMerkmalWert]
    FROM [eazybusiness].[dbo].[tMerkmalWertSprache]
    WHERE cWert = @cWert

    INSERT INTO dbo.tArtikelMerkmal (kMerkmal, kMerkmalWert, kArtikel)
    VALUES (@MerkmalINT, @WertINT, @kArtikel)

END
GO

EXEC CustomWorkflows._SetActionDisplayName
@actionName = 'spMerkmalSetzen',
@displayname = 'Merkmal setzen'
GO

EXEC CustomWorkflows._CheckAction @actionName = 'spMerkmalSetzen';
 
  • Gefällt mir
Reaktionen: oliverk

Ähnliche Themen