TB1300 04 DI API Business Objects
TB1300 04 DI API Business Objects
TB1300 04 DI API Business Objects
PUBLIC
Objetos de negocio: objetivos del tema
Objetos de negocio:
Representa la funcionalidad de la aplicación SAP Business One.
Siga la lógica empresarial adecuada y no comprometerá la integridad de los
datos.
Cualquier acceso a datos mediante objetos comerciales es independiente de la
plataforma y la versión.
Objeto:
<Objeto comercial>
Métodos :
Agregar un nuevo objeto
+Agregar
+ Obtener por clave Obtener el objeto por clave
+Eliminar Retire el objeto (si es posible)
+ Guardar XML Guarde el objeto como archivo XML
+Actualizar Actualizar el objeto
Propiedades:
+ Código de tarjeta Establece o devuelve el nombre del cliente o proveedor
Objetos secundarios:
+ Navegador Permite la navegación / navegación encima registros
+ Campos de usuario Una colección de objetos de campos, que son campos definidos por el usuario.
+ Líneas_documento Representa las entradas de línea de un documento.
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 4
Objetos de negocio: Arquitectura – Objetos secundarios
Objeto:
< Objeto hijo >
Métodos :
+Agregar Agregar un nuevo registro
+Establecer línea actual Establecer la línea actual
+Eliminar Eliminar un registro (disponible para la mayor parte de los objeto
Propiedades:
…
oBP.CardCode = "C08154711"
oBP.CardName = "James Tiberius Kirk"
oBP.CardType = SAPbobsCOM.BoCardTypes.cCustomer
'…
Si oBP.GetByKey ( " C08154711 " ) = True entonces ' aquí usamos un registro existente...
' Primera linea es siempre preparado (en cualquier negocio objeto eso tiene líneas …)
oBP.ContactEmployees.Name = "Juan Cash “
' Preparar / declarar la segunda línea ... ( se posiciona automáticamente en una nueva línea)
oBP.ContactEmployees.Add () ' No en la base de datos aquí; por lo tanto, funcionará siempre ...
oBP.ContactEmployees.Nombre = " John Walker "
' Tenga en cuenta: En caso de que necesite posicionarse en una línea particular...
' oBP.ContactEmployees.SetCurrentLine (<número de línea basado en 0>)
oOrderDoc.Lines.ItemCode = "A00002"
oOrderDoc.Lines.Cantidad = 1
Ventajas de XML:
Habilite el intercambio de datos a gran escala entre la base de datos de la empresa SAP
Business One y sistemas externos.
Estándar
Barato
Conveniente
Simple
Objeto social
■ oCompany.GetBusinessObjectFromXML ( FilePath_OR_XMLString , Índice)
■ oCompañía.GetXMLelementCount ( FilePath_OR_XMLString )
■ oCompany.GetXMLobjectType ( FilePath_OR_XMLString , Índice)
■ oCompany.GetBusinessObjectXmlSchema ( Tipo de objeto )
Objetos de negocio
■ oBusinessObject.SaveXML ( FilePath_OR_XMLString )
■ oBusinessObject.Browser.ReadXML ( FilePath_OR_XMLString )
Utilice ReadXML para actualizar un archivo existente objeto
Tipo de exportación XML : especifica los tipos para exportar datos, por ejemplo, para
exportar datos de solo lectura.
■ oCompany.XmlExportType = SAPbobsCOM.BoXMLExportTypes.xet_ExportImportMode
Trabajar con XML como una cadena XML (no como un archivo XML)
■ oCompany.XMLAsString = Verdadero
Método ActualizaciónDesdeXML
• Puede eliminar líneas de subobjetos del objeto a través del archivo XML.
Disponible para
Objeto de artículos
Objeto BusinessPartners
Objeto de documentos
Objeto ProductTrees
oCompany.XmlExportType = SAPbobsCOM.BoXmlExportTypes.xet_ExportImportMode
iRetVal = oBP.Agregar ()
' ...manejar el error...
Finalizar si es
siguiente ii
Transacción global
Permite realizar varias operaciones de datos y luego una confirmación o reversión completa según criterios
específicos.
Si alguna de las operaciones de datos falla, la transacción global se revertirá por completo
El inicio y el final de una transacción global se pueden gestionar utilizando el objeto Empresa:
oCompany.StartTransaction ()
booleano oCompany.InTransaction
oCompany.EndTransaction ([ wf_RollBack / wf_Commit ])
Iniciar transacción
La reversión automática ya
ocurrió, la transacción ha sido
¿Retrocede ¿Comprom
cancelada
r? eterse?
Detener error de
procesamiento y manejo !
Finalizar transacción
Tenga en cuenta : la
propiedad " InTransaction " del
objeto Compañía contiene
información sobre si la
transacción global aún está
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC activa. 20
Cómo recibir notificaciones sobre cambios en objetos comerciales
Desafío
■ No hay notificaciones basadas en datos de DI API (solo eventos FormData en la API de UI; consulte la presentación de la API
de UI)
■ ¡No se permite agregar activadores SQL en el nivel de la base de datos!
Solución
■ Habilite la notificación de transacciones en SAP Business One (Administración > Inicialización del sistema > Configuración
general > Servicio).
Esto se puede lograr estableciendo la propiedad EnableTransactionNotification en el objeto CompanyInfo .
■ Inserte el objeto requerido en la tabla <companyDB> .CTNS .
Nota
Consumir los eventos de SBOCOMMON.SEVT SAP
13 2
■
Observaciones importantes:
■ El marco de integración para SAP Business One también puede utilizar la tabla
SBOCOMMON.SEVT . El servicio EventSender limpia la tabla automáticamente .
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 21
Objetos comerciales: ejercicio
Ahora deberías:
Trabajar con Business Objects en general
Utilice las capacidades XML
Practique el manejo de transacciones junto con los ejercicios al final de esta unidad.