cancel
Showing results for 
Search instead for 
Did you mean: 

Como des-habilitar campos en SAP BO

Former Member
0 Kudos

Como puedo hacer para poner inactiva o des-habilitar la fecha de la orden de venta en sap, para que no pueda ser modificado ya que esto se genera automáticamente........

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Javier

gracias por tu ayuda, Transaction Notification puedo bloquear el campo que quiero, por necesito que este no pueda ser modificado.....

javier_facessantos
Contributor
0 Kudos

Hola Alexander

Creo que no te he entendido bien entonces. Te refieres a que lo que necesitas es impedir que se modifique la fecha de una orden de venta ya creada, que esté aún abierta ¿no?.

Entonces la solución también pasaría por construir una query de validación en el Transaction Notification, pero controlando solamente la modificación del documento (@transaction_type = N'U').


Luego, en vez de comparar la fecha del documento modificado con la fecha del día actual, tendrás que controlar que no se genera ninguna entrada en la tabla ADOC (Histórico de los documentos de marketing) para órdenes de venta en la que el campo ADOC.DocDate sea distinto del campo su campo equivalente en la tabla de órdenes de venta ORDR.DocDate.


La consulta quedaría así:

IF  @object_type = '17' AND @transaction_type = N'U'

BEGIN

            IF((SELECT COUNT(1) FROM [ORDR] T0 INNER JOIN [ADOC] T1 ON T0.[DocNum] = T1.[DocNum]

            WHERE (T0.[DocEntry] = @list_of_cols_val_tab_del) AND (T0.[DocDate] <> T1.[DocDate]))!=0)

          

            BEGIN

          

                        SELECT @error = 1

                        SELECT @error_message = 'Mensaje sistema!: No puede modificar la fecha contable de un pedido de ventas'

            END

END

Ya la he probado en mi sistema y bloquea correctamente cuando se va a modificar una fecha contable, pero permite las modificaciones de los otros campos. Debería servirte.

Un saludo

Answers (3)

Answers (3)

Former Member
0 Kudos

muchas gracias Javier...

todo funciona bien .....

javier_facessantos
Contributor
0 Kudos

De nada Alexander

Si ya has recibido la solucion a un problema debes cerrarla marcando una de las respuestas que te hayan dado como correcta.

Un saludo

Former Member
0 Kudos

Javier

Si yo quisiera bloquear el campo fecha TaxDate y no el DocDate de la tabla ORDR seria la misma sintaxis o no y también veo que en la tabla Adoc no se muestran todas las ordenes de venta, ¿ que tipo de ordenes de ventas se almacenan en esta tabla? .....

gracias por tu apoyo......

javier_facessantos
Contributor
0 Kudos

De nada Alexander

Si quieres bloquear la fecha de documento en vez de la contable, la sintaxis de la consulta seria efectivamente igual que la que te he puesto, solo que cambiando los campos DocDate por TaxDate como tu bien has dicho.

En cuanto al contenido de la tabla ADOC. Esa tabla almacena todas las entradas antiguas de todo aquel documento de marketing que haya sido alguna vez modificado. Es por ello por lo que no ves en ella todas las Ordenes de ventas, sino solamente aquellas que han sido alguna vez modificadas. Pero esto tambien significa que una orden de venta que ha sido odificada m'as de una vez aparecer'a en la tabla tantas veces como modificaciones haya sufrido.

Un saludo

javier_facessantos
Contributor
0 Kudos

Hola Alexander

Las fechas en los documentos de marketing no son campos que se puedan ocultar o desactivar mediante las parametrizaciones de formulario.

Con lo cual para conseguir lo que te propones, que entiendo que consiste en evitar que se contabilicen ordenes de venta con una fecha distinta a la del día en el que nos encontremos, tendrías que crear una consulta de validación en el Transaction Notification utilizando la función GETDATE() para obtener la fecha del día y compararla contra la del documento que se esté intentando contabilizar. Con el fin de que en caso de que sea distinta se bloquee la contabilización.

Un saludo