Solved

How to handle "No Checkout Authority could be found for PO" Error Message in SQL Server?

Posted on 2010-08-16
4
246 Views
Last Modified: 2012-05-10
Dear, I have written a trigger, when user voilates trigger gives proper Error Message, but user need to close that PO and reopen it to make it correct. if user does not re-open the PO. he gets the error which is in attached file.
trigger code is given eblow.
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER TRIGGER [POSOProcessing]  
   ON  [dbo].[InvNum]
   AFTER UPDATE

AS
      SET NOCOUNT ON;
Begin
      If exists(select * from _btblInvoiceLines      Where iInvoiceID in ( Select AutoIndex From Inserted) and fUnitpriceincl >1000)
      Begin
            RAISERROR ('Enter Price for KG',16,1)
      End
End


set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

go



ALTER TRIGGER [POSOProcessing]  

   ON  [dbo].[InvNum] 

   AFTER UPDATE 

	

AS 

	SET NOCOUNT ON;



Begin

	If exists(select * from _btblInvoiceLines	Where iInvoiceID in ( Select AutoIndex From Inserted) and fUnitpriceincl >1000)

	Begin

		RAISERROR ('Enter Price for KG',16,1)

	End

End

Open in new window

Check-out-Authority.bmp
0
Comment
Question by:mahmood66
  • 2
  • 2
4 Comments
 
LVL 11

Assisted Solution

by:Larissa T
Larissa T earned 500 total points
ID: 33445830
Not sure what it means "user need to close that PO and reopen it"
Even if user gets error message all updated on a table  will be already done
In general This type of validation is better to do in UI level.

here is test for your trigger:
create table mytable (c int)
go
create TRIGGER tr_mytable   ON  mytable    AFTER UPDATE
AS
Begin
            RAISERROR ('Enter Price for KG',16,1)
End
go
insert into mytable values(5)
go
select * from  mytable
update mytable set c=10
select * from  mytable
0
 

Author Comment

by:mahmood66
ID: 33461693
Dear, i cannot do at UI level, because the source code we are not having, that's why i am trying to ristrict using trigger.
"Even if user gets error message all updated on a table will be already done" ( your are right but when my statement RaisError executes it rollbacks the transaction so my database is not save the wrong data).
0
 
LVL 11

Accepted Solution

by:
Larissa T earned 500 total points
ID: 33464811
execute all actions needed for
"user need to close that PO and reopen it"  
and then raise error
0
 

Author Closing Comment

by:mahmood66
ID: 33816853
with the help of experts idea, i have done.
0

Featured Post

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
MS SQL Inner Join - Multiple Join Parameters 2 23
Sql Count with Select Distinct 4 27
SQL Server stored proc 2 13
SQL Query Syntax Join 4 34
Why is this different from all of the other step by step guides?  Because I make a living as a DBA and not as a writer and I lived through this experience. Defining the name: When I talk to people they say different names on this subject stuff l…
This article shows gives you an overview on SQL Server 2016 row level security. You will also get to know the usages of row-level-security and how it works
Via a live example, show how to setup several different housekeeping processes for a SQL Server.
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now