SBO_Post Transaction Notification
SBO_Post Transaction Notification
Hi Experts!,
I´d like to get information about this Stored Procedure, can somebody give me any link, papers, etc?
Regards,
Ronald
Hi Ronald ,
Files are located in SBO_Knowledge_village group and below i paste is the link ,
Jimmy Michael (See top contributors Gordon,Suda,..Jimmy) is the moderator of the form .Ask him to join you in this group . You can acess more documentation .
http://tech.groups.yahoo.com/group/SBO_Knowledge_Village/files/Files/
Thank you
Bishal
Similar Messages
-
Unique Value Transaction Notification
Hi Experts
I have a problem in Transaction Notification
I have a one UDF and i dont want to repeat the value . so i want to restrict if the value has repetead then system block me to add the sales invoice .
my code is
If @transaction_type = 'A' And @object_type = '17'
Begin
if exists (
select u_dd_amt from ordr a where exists
(select 1 from ordr where u_dd_amt =
a.u_dd_amt)
and u_dd_amt =
@list_of_cols_val_tab_del
Begin
select @error = 1, @error_message = 'Duplicate value not allowed in DD Amount field'
end
end
the always error msg occured whenever i type any valye in UDF field please help meBuen dia Douglas,
No es posible realizarlo ya que como tu indicas no tiene un Objtype, para poder realizar un transaction debe existir un Objtype.
Saludos,
Wuilmer venegas -
Outgoing Payment Transaction notification...
Hi all,
I designed the following Transaction notification for outgoing payment.It is working well If doctype is 'C' or 'S'. I want to do this for Doctype 'A'. But not successful....
Waiting for your replies..
IF @transaction_type = 'A' AND @object_type = '46'
BEGIN
--If exists (SELECT T0.docentry FROM OVPM T0 where t0.docentry = @list_of_cols_val_tab_del and T0.cashsum>=20000000)
-- begin
-- SET @error = 10
-- SET @error_message = N'You cannot Pay Cash More than Rs. 2000/-'
-- end
If not exists (SELECT T0.docentry FROM OVPM T0 where t0.docentry = @list_of_cols_val_tab_del and
(((t0.cardcode like '%%VDLI%%' or t0.cardcode like '%%CDLI%%' ) and t0.Series = '61' and (t0.doctype = 'S' or t0.doctype = 'C' ))
or ((t0.cardcode like '%%VAHD%%' or t0.cardcode like '%%CAHD%%' ) and t0.Series = '64' and (t0.doctype = 'S' or t0.doctype = 'C' ))
or ((t0.cardcode like '%%VMUM%%' or t0.cardcode like '%%CMUM%%' ) and t0.Series = '63' and (t0.doctype = 'S' or t0.doctype = 'C' ))
or ((t0.cardcode like '%%VLDH%%' or t0.cardcode like '%%CLDH%%' ) and t0.Series = '66' and (t0.doctype = 'S' or t0.doctype = 'C' ))
or ((t0.cardcode like '%%VKOL%%' or t0.cardcode like '%%CKOL%%' ) and t0.Series = '62' and (t0.doctype = 'S' or t0.doctype = 'C' ))
begin
SET @error = 11
SET @error_message = N'BP Code,Location ,Series ,Tax code combination does not match'
end
END
Regards
Deepak tyagiHi Deepak,
Try this way:#
if @object_type='46'
BEGIN
IF @transaction_type='A' OR @transaction_type='U'
BEGIN
DECLARE @OPCHDocEntry int
DECLARE @OPCHDocType nvarchar(1)
SET @OPCHDocEntry = CAST(@list_of_cols_val_tab_del as int)
SET @OPCHDocType = (SELECT DocType FROM OPCH WHERE DocEntry=@OPCHDocEntry)
IF @OPCHDocType in ('S','C')
BEGIN
If not exists (SELECT T0.docentry FROM OVPM T0 where t0.docentry = @list_of_cols_val_tab_del and
(((t0.cardcode like '%%VDLI%%' or t0.cardcode like '%%CDLI%%' ) and t0.Series = '61' and (t0.doctype = 'S' or t0.doctype = 'C' ))
or ((t0.cardcode like '%%VAHD%%' or t0.cardcode like '%%CAHD%%' ) and t0.Series = '64' and (t0.doctype = 'S' or t0.doctype = 'C' ))
or ((t0.cardcode like '%%VMUM%%' or t0.cardcode like '%%CMUM%%' ) and t0.Series = '63' and (t0.doctype = 'S' or t0.doctype = 'C' ))
or ((t0.cardcode like '%%VLDH%%' or t0.cardcode like '%%CLDH%%' ) and t0.Series = '66' and (t0.doctype = 'S' or t0.doctype = 'C' ))
or ((t0.cardcode like '%%VKOL%%' or t0.cardcode like '%%CKOL%%' ) and t0.Series = '62' and (t0.doctype = 'S' or t0.doctype = 'C' ))
begin
SET @error = -1000
SET @error_message = N'BP Code,Location ,Series ,Tax code combination does not match'
end
END
IF @OPCHDocType ='A'
BEGIN
If not exists (SELECT T0.docentry FROM OVPM T0 INNER JOIN VPM4 T1 ON T0.DocEntry = T1.DocNum and t0.docentry = @list_of_cols_val_tab_del and
(t1.acctcode like '%%ADLI%%' and t0.Series = '61' and t0.doctype = 'A' and T1.LocCode = '1' )
or (t1.acctcode like '%%AAHD%%' and t0.Series = '64' and t0.doctype = 'A' and t1.LocCode = '2' )
or ( t1.acctcode like '%%AMUM%%' and t0.Series = '63' and t0.doctype = 'A' and t1.LocCode = '3' )
or ( t1.acctcode like '%%ALDH%%' and t0.Series = '66' and t0.doctype = 'A' and t1.LocCode = '5')
or ( t1.acctcode like '%%AKOL%%' and t0.Series = '62' and t0.doctype = 'A' and t1.LocCode = '4')
BEGIN
SET @error=-1001
SET @error_message = N'BP Code,Location ,Series ,Tax code combination does not match'
END
END
END
END
Thanks,
Neetu -
Dear All Experts,
My client having some custom requirement in Production Order.
1) When Production Order will created and its status will released then it will allowed user to update any quantity of any items or add any new items but it will not allowed to delete any items from row level.
2) When any item will be deleted then our transaction notification will be raised.
I created one Transaction Notification Code but it will restricted to update anything or delete.
IF (@transaction_type = 'A' or @transaction_type = 'U') AND @object_type = '202'
BEGIN
Declare @VisOrder1 nvarchar(255)
Set @VisOrder1=(SELECT Top 1 T1.VisOrder+1 FROM OWOR T0 INNER JOIN WOR1 T1 ON T0.DocEntry = T1.DocEntry
WHERE (T0.Status = 'R' and T1.VisOrder=(select TOP 1 VisOrder from wor1 where DocEntry=@list_of_cols_val_tab_del order by VisOrder Desc)))
If @VisOrder1 >0
begin
SET @error = 231
SET @error_message = 'You have not rights to delete any Item - Please Contact System Administrator ' + @VisOrder1
end
END
Please help me for solve this problem.
I wait for your warm replay.
Thanks & Regards,
Nishit MakadiaHi,
Please check these threads. Let me know your feedback.
http://scn.sap.com/thread/3518208
http://scn.sap.com/thread/3545101
Thanks & Regards,
Nagarajan -
Transaction Notification with DI Server
Hello
I am developing a Web Site with the DI Server, when I have validations in the Transaction Procedure the error message is incorrect.
Message: Could not commit transaction.
Transaction Notification
set @error='10'
set @error_message = 'SP: 123'
-- Select the return values
select @error, @error_message
end
I made the test with the DI - API and the message is correct.
Exists a workaround for this problem???
Thanks
Regrats
Edited by: Andres Naranjo on Sep 1, 2010 1:25 AMHello
This problem was solved in SAP Business One 8.8 PL20.
Regards -
Approval procedure vs Transaction Notification
Hello dear experts,
I have an issue with the approval procedures and the validations I have to do using the Transaction Notificacion Stored procedure.
this is the scenario and conditions to consider:
1.A purchase order (Doctotal) that are between 0 and 25,000 USD needs an approval.
2. A purchase order needs to have all the project column filled in before the approval procedure. this column is in the detail of a document, so all the rows have to be filled in with the right project code otherwise when your request have been submmited and your receive the approval you are not allowed to do any changes in the Detail Document.
I realized that the approval procedure is launched before the Transaction Notification SP.
So I decided to add a query for the approval procedure considering the validations in the project column:
SELECT distinct 'true'
FROM OPOR
WHERE $[OPOR.DocTotalSy.number] Between 0 and 24999.99 ---This part works perfeclty!!!
AND LEN(isnull($[POR1.Project.0],''))>0 and $[POR1.U_SubJob.0]>0 ) --This part does not work
As you see in the query, I am trying to validate that all the rows have the project code (Project) and a UDF (U_SubJob) filled in.
Have anybody been done this before? How can I access to the detail values of the document? It is easy to acces values on the header.
I appreciate any help on this. Thank you very much
Regards,
MaryHi,
You must use both in approval procedure or use both in SBO store procedure transaction notification.
To request approval for a project, you this following approval query:
if (SELECT $[$38.31.0]) > ' '
select 'true'
the other query is for doctotal approval as follows:
if ($[opor.doctotalsys.number]) between 0 and 24999.99
SELECT 'true'
or
select distinct 'true' FROM OPOR
WHERE $[OPOR.DocTotalSy.number] Between 0 and 24999.99
Both are able to use and work simultanously.
JimM -
Transaction Notification for Blocking Batch
Dear Experts,
I am facing a critical situation. My Client wants to Block the material movement if it is not inspected through Quality Personal. I have already Locked batches through General Settings > Inventory > Batch Status . But it only blocks the batches for Goods Issue and Receipts Transactions. It is not working in case of Inventory transfers.
I have created UDF on GRPO called U_InspStatus where by default value is Pending once the Quality personal changes the UDF value to Completed then only the batch should be able to move through Inventory Transfer.
Can anyone help me in creating Transaction Notification on Inventory Transfer Document which can block batches if there status is pending ?
Waiting for your replies.
Regards,
RKHi Naga,
Please find below mentioned answer to your queries -
1. Inventory transfer done by means of posting inventory transfer document? - Yes
2. Inventory transfer as applicable to customer not vendor. How do you select vendor in inventory transfer document? - Not selecting the customer in Inventory Transfer document not required I am moving material from one warehouse to another.
3. How did you update inspection status in inventory transfer document - Inspection status is updated in Quality Add on and not in Inventory Transfer. But if I am transferring material from one warehouse to another without Inspection then it should block the batch whose Inspection status is pending. -
Transaction Notification Considering Old transaction as well
Dear Experts,
If (@transaction_type = 'A' AND @Object_type = '140000009')
begin
if exists (SELECT T0.DocEntry FROM OOEI T0 WHERE (T0.U_ModVatCatg = 'N' AND T0. Series = 34) or (T0.U_ModVatCatg = 'M' AND T0. Series = 40) and T0.DOCENTRY = @list_of_cols_val_tab_del)
select @Error = 1, @error_message = 'Wrong Series Selected for the given MODVAT Category'
end
The above transaction notification is written to check the series with a UDF. It was working fine till a few days back.
However, a historical transaction was needed to be updated in a way that the condition in the transaction notification was not met.
After having updated the transaction, this notification blocks all further documents even though the condition is satisfied.
It seems the transaction notification is also considering the historical transaction and hence blocking the new transactions. However, this is not the way transaction notifications are meant to work.
Kindly advise on how to over come this issue.
Regards,
JimitHi Jimmit,
Seems you have 3 condition here
1. (T0.U_ModVatCatg = 'N' AND T0. Series = 34)
2. (T0.U_ModVatCatg = 'M' AND T0. Series = 40)
3. T0.DOCENTRY = @list_of_cols_val_tab_del
You place OR between 1 and 2, and place AND between 2 and 3, but no bracket to group condition 1 and 2.
Seems fishy, try this
if exists
SELECT T0.DocEntry FROM OOEI T0
WHERE ((T0.U_ModVatCatg = 'N' AND T0. Series = 34) or (T0.U_ModVatCatg = 'M' AND T0. Series = 40))
and T0.DOCENTRY = @list_of_cols_val_tab_del
Hope this help.
Best Regards,
Hendry Wijaya -
Transaction Notification - User Table
Hi experts.
I'm wondering if it's even possible to create an IF statement on SAP Transaction Notification that looks up to an user table.
Regards,
Eduardo Araujo.So, I take this and I use the name of my table instead of "@PODGRUPA"?
@EDIT
I've tried this:
IF(@object_type = '-3 @FLAGCADPAC' AND @transaction_type IN ('A', 'U'))
BEGIN
IF (1=1)
BEGIN
SET @error = 1
SET @error_message = 'Teste'
END
END
But with no success.
I've tried "IF (1=1)" o make an test if it works.
Between "-3" and my table name, I've used TAB, space, and even without anything between them, but no success too.
Regards. -
Transaction Notification - Consulta
Hola Comunidad SAP en español,
Quiero consultar de que manera puedo hacer lo siguiente en el transaction notification:
Necesito que cuando una orden de venta sea ingresada, la misma pueda ser modificada en sus valores, siempre y cuando se mantenga el precio establecido y que uno de los campos de usuario sea el mismo.
Como puedo realizar esto?
Muchas Gracias.
Saludos,
Guillermo.-Revisa estas soluciones que propuse, te pueden dar una idea
[Re: TRANSACTION NOTIFICATION, COMO BLOQUEAR CAMPO CARDNAME EN DATOS MAESTROS-SN] -
Transaction Notification - Journal Entry
Dear Experts,
Can anyone tell me how to validate Journal Entry line wise using Transaction Notification Stored Procedures. I want to validate each and every row of the Journal Entry.
Thanks in advance
Regards
NeslinHi,
Please close this duplicated thread. Check this announcement:
FYI
Thanks & Regards,
Nagarajan -
TRANSACTION NOTIFICATION PARA ORDENES DE PRODUCCION
BUENAS TARDES. ALGUIIEN QUE ME PUEDA DECIR PARA QUE SIRVEN LAS SIG. LINEAS DEL TRANSACTION NOTIFICATION
@num_of_cols_in_key int,
@list_of_key_cols_tab_del nvarchar(255) SE QUE ESTE TOMA EL VALOR DEL CAMPO CLAVE DE LA TABLA SOBRE LA CUAL HACEMOS EL CODIGO.
@list_of_cols_val_tab_del nvarchar(255)
Y SI ALGUIEN A CONSEGUIDO BLOQUEAR UNA ORDEN DE PRODUCCION PARA QUE NO PUEDA SER CERRADA SI NO HAN INGRESADO LOS PRODUCTOS QUE SE FABRICARON.Hola...
Hace tiempo que no pasaba por acá, revisa el siguiente post..
Espero te sea de ayuda
Saludos, -
Transaction Notification en Tablas de Usuario
Buenos dias,
Tengo la siguiente pregunta, se puede usar el SP Transaction Notification para validar el llenado de tablas de usuario y como lo hago???
como determino el objectype????
Gracias.
Pasen buen dia.Buen dia Douglas,
Las tablas de usuario no poseen ObjecType debido que el objec type es propio de las tablas de SAP Business one.
Para poder colocarle Transaction Notification debes crear un UDO vinculado a tu tabla de usuario, en ese momento se crea el ObjectType a tu tabla de usuario.
Saludos,
Wuilmer Venegas -
Transaction Notification with Addon
Hi guys,
I want to be able to get a transaction notification whenever a sales order is added in SAP B1. I want to retrieve the document entry of the sales order in an Addon that uses only the DI API. I have a lot of experience in building addons, but have no experience with transaction notification. How can this be done?
Thanks,
CostasHi Costas
Is your customer a new one? I mean:
Pricing is only applicable to new customers with a contract date after July 15th 2013.
Take into account that in case you only want to be able to get new SO from B1 system you would probably need to buy only one license which suggested price is 750 EUR. I know it is certainly not nothing but still it is not that much.
As for your question regarding TN I'd do it like this:
use PostTransactionNotice procedure to grab a DocEntry of new SO and insert it into your own log table; you can also write a trigger on ORDR table to achieve it
create CLR procedure to do something with logged DocEntry from your table using DotNet; you probably want to be able to pass a parameter to this procedure and get some output after its execution
use a SQL job to grab only new records from your log table and execute a CLR against each one; update status in your log table; write down error, error message and so on...
If have never done any CLR before check this link to learn how easily it can be done to use regex within SQL Server:
http://www.sqllion.com/2010/12/pattern-matching-regex-in-t-sql/
Kind regards,
Radek -
Transaction Notification Question
I am having a little trouble getting my transaction notification working. What I want to do is stop an order from adding or updating if the NumatCard field exists on another order from the same customer.
Here is my code so far, any suggestions would be greatly appreciated
-- If BP on Hold then block add or update
DECLARE @PORef nvarchar(100)
DECLARE @BPCode Nvarchar (35)
IF @transaction_type in('A','U') AND @object_type = '17'
BEGIN
Set @PORef = (Select T1.NumAtCard
FROM ORDR T1
WHERE T1.docentry = @list_of_cols_val_tab_del)
Set @BPCode = (Select T1.CardCode
FROM ORDR T1
WHERE T1.docentry = @list_of_cols_val_tab_del)
IF @PORef, @BPCode In (Select T0.NumatCard, T0.CardCode
From ORDR T0)
BEGIN
SET @error = 11
SET @error_message = N'Customer PO is already in the system'
END
ENDTry this:
DECLARE @PORef nvarchar(100)
DECLARE @BPCode Nvarchar (35)
IF @transaction_type in('A','U') AND @object_type = '17'
BEGIN
Set @PORef = (Select T1.NumAtCard
FROM ORDR T1
WHERE T1.docentry = @list_of_cols_val_tab_del)
Set @BPCode = (Select T1.CardCode
FROM ORDR T1
WHERE T1.docentry = @list_of_cols_val_tab_del)
IF @PORef (Select T0.NumatCard
From ORDR T0 WHERE T0.docentry != @list_of_cols_val_tab_del and T0.CardCode = @BPCode)
BEGIN
SET @error = 11
SET @error_message = N'Customer PO is already in the system'
END
END
Thanks,
Gordon
Edited by: GordonDu on Nov 10, 2010 4:07 PM
Maybe you are looking for
-
How do I use user_datastore with a feeder proc to add an mdata section?
Hi, I have text data spread across a number of different tables. I have created a user_datastore with a feeder procedure that creates an xml document which is then indexed into a dummy column on the parent table. This works fine. However I need to ad
-
ITunes won't open after OS update to Yosmite
ITunes won't open after OS update, ITunes has been updated, it won't open or bounce. It will not allow me to move it to trash or reinstall it. I have already updated to OS X Yosmite two times as directed by apple, I have rebooted in safe made as well
-
Lock Code request after hard reset
Hi, So I did a hard reset and I knew that I'll lose the Ovi Store. What it's completely new for me is that now each time I'm starting the phone I am requested to input the lock code. I have given 12345 but a message saying "Code fail" is shown and af
-
Difficulty positioning drop zone images
I have carefully and repeatedly read the sizing and positioning instructions for images in iDVD drop zones. I am just not "getting it". There must be more info. somewhere about putting predictability into this process. The photo does not appear in th
-
Discoverer 9.0.4 on windows 2003 server
Hi I install discoverer 9.0.4 on windows server know i an getting an even application error on windows "Faulting application dis51ws.exe, version 9.0.4.43, faulting module unknown, version 0.0.0.0, fault address 0x00000000", I have reserch this error