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,
    Costas

    Hi 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.
    Regards

    Hi 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..

  • Transaction Notification OSRN

    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,
    Quinn

    Hi 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 gracias

    Hola..
    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,
    Madhavi

    You 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 me

    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

  • 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 PM

    Please, specify your requirement... A table could be modified by various programs which are called by numerous transactions.

Maybe you are looking for