Solved

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

Posted on 2010-08-16
4
247 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

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Slow Connectivity over ODBC 8 34
create an aggregate function 9 34
Return 0 on SQL count 24 29
SQL Query assistance 16 23
Let's review the features of new SQL Server 2012 (Denali CTP3). It listed as below: PERCENT_RANK(): PERCENT_RANK() function will returns the percentage value of rank of the values among its group. PERCENT_RANK() function value always in be…
Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function
Viewers will learn how the fundamental information of how to create a table.

770 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