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
Similar Messages
-
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. -
Use SP Transaction Notification for trigger on user defined table
Hi i need some help. I have a user defined table in sap (@LAU_ACCT) .
I need way to catch the event on the table (update , delete , add).
I heard about SP Transaction Notification , but how use it with udt ?
Thanks!Hi Pavel,
it is only possible if the UDT is registered as part of an object ( UDO ) - further info http://scn.sap.com/thread/3277846 . So for pure UDT actions you have to find another way ( SQL trigger, UI API, periodic query ).
regards,
Maik -
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 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 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 For User Defined Object
Dear Expert,
I want to create a transaction notification for my user defined form. I have a matrix on my form which has a field as 'Code'. I want that this field (On Row Level) should have unique values all the time while adding or updating the form.
Object Type: MaterialMaster
Table Name: MaterialDetails
FieldName: U_Code
Plz help me to get this notification.
RegardsHi Amit,
Please check below query.
IF @object_type = 'MaterialMaster' AND @transaction_type IN('A','U') and @error = 0
BEGIN
IF ( SELECT COUNT(*)
FROM MaterialDetails A
WHERE A.U_Code IN (SELECT U_Code FROM MaterialDetails WHERE U_Code = @list_of_cols_val_tab_del)
GROUP BY A.U_Code
HAVING COUNT(*) > 1
) >1
BEGIN
set @error = -10
set @error_message = 'You can not Add Dublicate Code'
END
End
Hope this help
Regards::::
Atul Chakraborty -
TRANSACTION NOTIFICATION, COMO BLOQUEAR CAMPO CARDNAME EN DATOS MAESTROS-SN
COMO PUEDO PONER UN BLOQUEO EN EL TRANSACTION NOTIFICATION PARA QUE NO SE PERMITA MODIFICAR EL CAMPO DE RAZON SOCIAL (CARDNAME) NI CONDICIONES DE PAGO (GROUPNUM) DE DATOS MAESTROS DE SOCIOS DE NEGOCIOS (OCRD)??
GRACIAS DE ANTEMANO A TODOS.MUCHAS GRACIAS, ME SIRVIO TU RESPUESTA PARA VER COMO IBA A SACAR EL ULTIMO CAMBIO DE X SOCIO DE NEGOCIOS.
LO QUE PUDE CONSTRUIR FUE ESTO:
-- BLOQUEO DE RAZON SOCIAL EN DATOS MAESTROS SN
-- Aqui le decimos que actue solo cuando el tipo de objeto sea 2 (Ventana de Socios de Negocios, y cuando este en modo Crear y Actualizar)
IF @object_type = 2 and @transaction_type in ('U')
BEGIN
-- Declaramos una variable que guarde el valor de la razon social de SN
declare @newname varchar(100)
--en la sig. consulta el nombre de razon social que estamos llenando lo guardamos en @newname
Select @newname=cardname from ocrd where cardcode=@list_of_key_cols_tab_del
--En la consulta anterior no estoy seguro si este correcto utilizar @list_of_key_cols_tab_del para que se tome el valor
--del cardcode del campo que estamos llenando de razon social.
if @newname <> (select CardName from acrd where CardName=@list_of_key_cols_tab_del and LogInstanc=(select max(loginstanc)
from acrd where CardCode=@list_of_key_cols_tab_del and cardcode=@list_of_key_cols_tab_del))
--en consulta anterior se compara si el valor nuevo a guardar o actualizar es diferente al que ya existe en la tabla de historial de SN
begin
set @error = 1
set @error_message = 'Acceso denegado para cambio de Razon Social'
end
END
--END
MUCHAS GRACIAS POR SU AYUDA.. -
Buen día, quiero hacer un transaction notification que dispare un update a una tabla en el momento que se escriban seriales en la tabla OSRN, pero no tengo idea de como hacerlo en el SP, es decir, como veo en el transaction notification que se hizo una operacion sobre esa tabla? o mejor dicho como capturo la operacion?
Saludos.Hola Alejandro, si uso este pedazo de codigo me afecta si alguien crea otra cosa relacionada con ese codigo 100000045 o ya esta casado con la tabla OSRN alli??
IF @object_type=10000045 AND @transaction_type IN ('A')
BEGIN
Declare @Serial varchar(59)
Set @Serial = (Select DistNumber From osrn where AbsEntry = (@list_of_cols_val_tab_del))
update [@TS_SERIALES] set U_ts_usado = 1 where U_ts_co_chasis = (@Serial)
--set @error = 1
set @error_message = N'Serial actualizado' +@Serial +' S/N : ' + @IntSer
end
Saludos -
Transaction Notification en Proceso de Autorizacion
Sera posible ejecutar un Transaction Notification, en el momento que se aprueba un documento?
Ejemplo:
Recibe la alerta de solicitud de aprobación, elije Aprobar y luego da click en el boton OK o Aceptar.
Mi pregunta es: en ese momento que le da Click, es posible ejecutar un Transaction Notification, debido a que revise la tabla
OWDD y WDD1 y no tiene un objtype propio, o no es reconocido como un Documento.
En espera de sus Repsuestas.
Gracias anticipadas.Buen 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 -
SP Transaction Notification For Service Type Documens Only
Hi All,
Just a little help here please.
I have a query in my Transaction Notification that I only want to run for service type documents however when I put the code in I am getting an error.
Below you will see my query and the part I put in for service type documents is the first part of the WHERE clause.
Please explain to me how to do this correctly.
/*Check for Cost Center On Marketing Documents*/
IF ((@transaction_type = 'A'
OR @transaction_type = 'U')
AND (@object_type = '13'
OR @object_type = '14'
OR @object_type = '18'
OR @object_type = '19'
OR @object_type = '20'
OR @object_type = '22'))
BEGIN
SELECT @table = CASE @object_type
WHEN '13' THEN 'INV'
WHEN '14' THEN 'RIN'
WHEN '18' THEN 'PCH'
WHEN '19' THEN 'RPC'
WHEN '20' THEN 'PDN'
WHEN '22' THEN 'POR'
END
SELECT 1 cnt
INTO #temptable15
WHERE 1 = 0
SET @sqlstr = ' insert into #temptable15
SELECT 1 AS cnt
FROM [' + @table + '1] INNER JOIN
[O' + @table + '] ON [' + @table + '1].DocEntry = [O' + @table + '].DocEntry
WHERE ([O' + @table + '].DocType = S) AND ([' + @table + '1].OcrCode IS NULL) AND ([' + @table + '1].DocEntry = ' + @list_of_cols_val_tab_del + ')'
EXECUTE( @sqlstr)
SET @CostCenter = (SELECT TOP 1 cnt
FROM #temptable15)
DROP TABLE #temptable15
IF (@CostCenter = 1)
BEGIN
SELECT @error = 1
SELECT @error_message = 'Please fill in Cost Center!!!'
END
END
Any help will be greatly appreciated.
Regards,
QuinnHi Quinn Verburgt ,
Check This...
This SP make Cost Center field mandetory for Service Type Document.
If @object_type in ('17','22','14','18','19','20') and @transaction_type='A'
BEGIN
If Exists (Select T0.DocEntry from ORDR T0 Inner Join RDR1 T1
On T0.DocEntry=T1.DocEntry
Where T1.OcrCode Is Null and T0.DocType ='S'
And T0.DocEntry = @list_of_cols_val_tab_del)
(Select T0.DocEntry from OPOR T0 Inner Join POR1 T1
On T0.DocEntry=T1.DocEntry
Where T1.OcrCode Is Null and T0.DocType ='S'
And T0.DocEntry = @list_of_cols_val_tab_del)
(Select T0.DocEntry from ORIN T0 Inner Join RIN1 T1
On T0.DocEntry=T1.DocEntry
Where T1.OcrCode Is Null and T0.DocType ='S'
And T0.DocEntry = @list_of_cols_val_tab_del)
(Select T0.DocEntry from OPCH T0 Inner Join PCH1 T1
On T0.DocEntry=T1.DocEntry
Where T1.OcrCode Is Null and T0.DocType ='S'
And T0.DocEntry = @list_of_cols_val_tab_del)
(Select T0.DocEntry from ORPC T0 Inner Join RPC1 T1
On T0.DocEntry=T1.DocEntry
Where T1.OcrCode Is Null and T0.DocType ='S'
And T0.DocEntry = @list_of_cols_val_tab_del)
(Select T0.DocEntry from OPDN T0 Inner Join PDN1 T1
On T0.DocEntry=T1.DocEntry
Where T1.OcrCode Is Null and T0.DocType ='S'
And T0.DocEntry = @list_of_cols_val_tab_del)
BEGIN
Select @error = -1,
@error_message = 'Please fill in Cost Center!!!'
End
End
Thanks,
Srujal Patel -
Ejecutar Transaction Notification
Hola, buenas tardes, quisiera saber si me pueden ayudar con el siguiente escenario:
Al crear una orden de venta se solicita una autorización y necesito ver si esposible ejecutar un Transaction Notification antes de solicitarla
De antemano muchas graciasHola..
Imagino que habla de un procedimiento de autorización. Este tipo de procedimiento tiene condiciones. Si el caso es que la condición por defecto es siempre, puede modificar este criterio al cumplimiento de una condición. Luego podría crear un campo de usuario (el llenado de este campo sería la condición) que permita evitar el proceso de autorizacion. Luego su transaction notification incluye todas las validaciones que ud. necesita y obliga al usuario a llenar además este campo de usuario, para que una vez regularizado el documento....al momento de crearlo, el procedimiento de autorización se base en la condicion de campo de usuario con información.
Realice las pruebas y nos comenta los resultados,
Espero sea de ayuda
Saludos Cordiales, -
Transaction code for Table Maitainence for table
Hi all,
i have created Table Maintainece for Table and also i need to create transaction code
for table maintainence.
there when i create transaction code with TRANSACTION with PARAMETERS and SKIP FIRST SCREEN.
I can see all the records in the table into table Maintainence.
Is ther is any possibility like i can restrict records on the key fields (like selection screen).
Will anybody let me know how to goahead with this requirement.
Regards,
MadhaviYou can build a small report that call the maintenance view. In the report, convert the SELECT-OPTIONS input to the [DBA_SELLIST|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=dba_sellist&adv=false&sortby=cm_rnd_rankvalue] parameter of function module [VIEW_MAINTENANCE_CALL|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=view_maintenance_call&adv=false&sortby=cm_rnd_rankvalue].
If you have "pertinent" key to filter the data, you may define these as sub-key in a mainetance view, those fields will be asked for when entering the maintanance dialog. Or you can build a [view cluster|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=se55&adv=false&sortby=cm_rnd_rankvalue] using these sub-set keys.
Regards -
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 -
Is it possible to find the transaction code via table name ??
Hi
Can any body please let me know is it possible to find the transaction code via table name ??
Thanks in advance
Sesh
Edited by: seshu_sapfico on Dec 8, 2009 12:21 PMPlease, specify your requirement... A table could be modified by various programs which are called by numerous transactions.
Maybe you are looking for
-
Deleting apps from iTunes Library and IOS Devices at once.
Hi there, I tend to delete all unneeded apps from iTunes library on my Mac, because when I delete them from there, it just take one syncing session to deleted them from all my other devices. But recently I noticed that this way is no longer helpful,
-
Unified/Documented problems with Creative WOW Wireless/wired headsets
This thread is to properly present the problems encountered with the WOW Wireless/wired headsets. I will be linking this post to the facebook page as well as World of Warcraft's facebook and Blizzards facebook if I can find one. Also Lucas Arts and T
-
Need a stand alone flash player
currently l have version 7 installed that came with Flash MX problem is on occasion l find its not up to its job.. basically put l want a more up to date version of the stand alone player so l can run files made with newer versions as the stand alone
-
Why does the following get an 00642 error (local collections not allowed in SQL statement) in 11g? type coupon_names is table of varchar2(30); CPN_NAMES COUPON_NAMES := COUPON_NAMES(); l_coupons VARCHAR2(4000); begin -- CPNTBL has the header informat
-
Also if I'm watching video and open a new browser, the new browser displays over the existing window - that's normal, but the new windows is light grey and useless- like it crashed.