Skip to Content
avatar image
Former Member

Como des-habilitar campos en SAP BO

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

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

4 Answers

  • Best Answer
    avatar image
    Former Member
    Sep 12, 2014 at 04:42 PM

    Javier

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

    Add comment
    10|10000 characters needed characters exceeded

    • 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

  • Sep 12, 2014 at 10:36 AM

    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

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Sep 16, 2014 at 01:55 PM

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

    Add comment
    10|10000 characters needed characters exceeded

    • 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

  • avatar image
    Former Member
    Sep 16, 2014 at 03:31 PM

    muchas gracias Javier...

    todo funciona bien .....

    Add comment
    10|10000 characters needed characters exceeded