on 01-07-2011 10:22 AM
Hallo zusammen,
ich beschäftige mich grad für einen Kunden mit den SP_Notifications und versuche die Bedingung einzufügen, dass ein Auftrag nur dann gespeichert werden kann, wenn ein bestimmter Artikel im Auftrag vorhanden ist. Leider klappt das nicht so ganz wie ich es mir vorstelle.
Hat jemand einen Hinweis für mich? Hier ist mein Code:
Declare @DistRule nvarchar(100)
if @object_type = '13' and @transaction_type = N'A'
begin
select @DistRule = ItemCode from INV1 where ItemCode = @list_of_cols_val_tab_del
if (@DistRule,'') = 'ZA-Druck'
begin
set @error = -1
set @error_message = "Artikel ZA-Druck fehlt."
end
end
Gruß Steffen
Try this:
If @object_type = '13' and @transaction_type = N'A'
Begin
If exists (select ItemCode from INV1
where ItemCode ='ZA-Druck'
and DocEntry= @list_of_cols_val_tab_del )
Select @error = -1, @error_message = 'Artikel ZA-Druck fehlt.'
End
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
> Try this:
>
If @object_type = '13' and @transaction_type = N'A' > Begin > If exists (select ItemCode from INV1 > where ItemCode ='ZA-Druck' > and DocEntry= @list_of_cols_val_tab_del ) > Select @error = -1, @error_message = 'Artikel ZA-Druck fehlt.' > End
Der Analyser vom Management Studio führt diese Funktion zwar ohne Fehler aus, aber im B1 passiert im Kundenauftrag leider nichts. Eigentlich soll ja der Auftrag ohne den Artikel "ZA-Druck" nicht gespeichert werden können.
Jemand noch eine Idee?
Wenn ich das richtig sehe (auf die schnelle) müsste es heißen:
If @object_type = '13' and @transaction_type = N'A'
Begin
If NOT exists (select ItemCode from INV1 where ItemCode ='ZA-Druck' and DocEntry= @list_of_cols_val_tab_del )
Begin
Select @error = -1, @error_message = 'Artikel ZA-Druck fehlt.'
End
End
So wie es ist, kann man keinen Auftrag mehr speichern, in welchem der genannte Artikel vorkommt!
hdh
Andreas
Das ist äußerst merkwürdig. Bist Du auf der richtigen Datenbank?
Ich würde in so einem fall zunächst eine TN einbauen, die IMMER zuschlägt. Dann weiß man es.
Sonst kannst Du es noch umbauen, so zum beispiel:
declare @Anzahl as int
If @object_type = '13' and @transaction_type = N'A'
Begin
select @Anzahl = count(*) from INV1 t0 where t0.docentry=@list_of_cols_val_tab_del AND ItemCode ='ZA-Druck'
if @Anzahl = 0
Begin
Select @error = -1, @error_message = 'Artikel ZA-Druck fehlt.'
End
End
hdh
Andreas
Hi.....
Please try this......
if @object_type = '13' and @transaction_type= 'A'
begin
select T0.ItemCode from INV1 T0 where T0.DocEntry= @list_of_cols_val_tab_del
Where T0.ItemCode = 'ZA-Druck'
begin
set @error = -1
set @error_message = "Artikel ZA-Druck fehlt."
end
end
Regards,
Rahul
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
99 | |
9 | |
9 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.