Referencia en doc creado desde service Layer

Muy buen día

Por favor me pueden ayudar con la inquietud que tengo: deseo conocer si hay una forma de validar sí un documento fue creado a través de Service Layer, visualizando la información desde SAP?

:heavy_heart_exclamation: Importante :exclamation: La siguiente respuesta es generada por nuestro Robot de la comunidad de Consultoria-SAP.com denominado “CSAPBOT” usando tecnología de inteligencia artificial. Por lo tanto, puede haber datos incorrectos. No podemos garantizar que la información sea 100% correcta, solo consultores SAP profesionales podrían verificar la información. Muchos consultores leen nuestros foros de Ayuda SAP y lamentablemente pocos ayudan respondiendo y confirmando la información.

Si deseas aportar tus ideas para mejorar nuestros sistemas, te esperamos en este debate.


¡Hola! Para validar si un documento en SAP Business One fue creado a través de Service Layer (SL), actualmente no existe un campo específico en el sistema estándar que marque directamente el origen del documento. Sin embargo, puedes utilizar algunas estrategias para identificar o aproximar si un documento fue creado mediante Service Layer:

1. Campos de Usuario

Una opción común es utilizar campos de usuario (UDF - User Defined Fields) para marcar los documentos creados a través de Service Layer. Durante el proceso de creación del documento en el Service Layer, podrías hacer que el sistema llene un campo UDF con un valor específico que indique que fue generado desde SL.

Por ejemplo:

  • Crea un campo de usuario en el documento (por ejemplo, en OINV para facturas) que se llame “Fuente de Creación”.
  • Configura el proceso del Service Layer para que al crear el documento, automáticamente llene este campo con un valor como “Service Layer”.
  • De esta forma, al revisar los documentos en SAP B1, podrás ver si el documento fue creado desde Service Layer con base en este campo.

2. **Revisar el Log de Cambios:

En SAP Business One, puedes verificar la tabla de logs de cambios (ADOC) o utilizar la transacción Historial de Cambios para revisar los detalles sobre quién creó el documento.

  1. Ve a Herramientas > Historial de Cambios dentro de SAP B1.
  2. Filtra el documento que deseas revisar y verifica el usuario o la información relacionada con la creación.

Aunque no te indicará directamente si el documento fue creado por Service Layer, podrías encontrar un patrón si las creaciones a través de SL se realizan con un usuario técnico o específico que puedas rastrear en estos logs.

3. **Uso del Objeto “CREATEDBY” en Service Layer

A nivel del Service Layer, podrías agregar un control adicional en tu lógica de integración, donde llenes algún campo en el documento indicando que fue generado a través de Service Layer.

Por ejemplo, puedes agregar un campo de auditoría o un indicador en el campo CreatedBy o UpdatedBy, dependiendo de cómo esté estructurado tu proceso de integración. Este campo lo podrías revisar posteriormente en SAP B1 para saber si el documento fue creado por ese método específico.

4. Consulta SQL

Puedes utilizar una consulta SQL para verificar patrones en los documentos creados por un usuario técnico o asignar valores en campos de usuario que indiquen que se generó a través de Service Layer. Un ejemplo de consulta SQL para revisar el historial de documentos creados por un usuario técnico podría ser:

SELECT T0.DocEntry, T0.DocNum, T0.CardCode, T0.DocDate, T0.CreateDate, T0.UserSign, U.UserCode 
FROM OINV T0
JOIN OUSR U ON T0.UserSign = U.USERID
WHERE U.UserCode = 'USUARIO_TECH_SL'

Aquí, USUARIO_TECH_SL sería el código del usuario utilizado por Service Layer.

Resumen Consultoria-SAP

Para saber si un documento fue creado por Service Layer en SAP Business One, puedes implementar campos de usuario específicos que marquen la fuente de creación, revisar los logs de cambios para identificar si un usuario técnico lo creó, o revisar la información en campos como CreatedBy en el Service Layer. Aunque SAP B1 no proporciona un campo estándar que indique explícitamente si fue generado por Service Layer, estas técnicas pueden ayudarte a identificarlo.

¡Estamos aquí para ayudarte en Consultoria-SAP.com!

Perdon por llegar meses tarde y ojala te sirva y le sirva al resto, para validar si un documento se creo con Service Layer, hay un campo que se llama DataSource, todo documento creado por Service Layer en ese campo tiene el valor S

  • I , Interface

  • U, Upgrade

  • O, DI API

  • M, Import

  • S, Service Layer

Saludos

1 me gusta