TB 1300 -
Capa de servicio del SDK de SAP Business One:
introducción
julio, 2019
PUBLIC
Agenda
Introducción a la capa de servicios de SAP Business One
Documentación para la capa de servicio
Opciones de consulta de la capa de servicio
Conéctese a la capa de servicio usando herramientas
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 2
Introducción a la capa de servicios de SAP
Business One
Introducción: Objetivos del tema
Después de completar este tema, podrá:
Conozca más sobre la arquitectura.
Describir el servicio Load Balancer
Describir los elementos y términos clave.
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 4
Introducción: capa de servicio
La Capa de Servicio está
disponible SÓLO para SAP
Business One, versión para
SAP HANA
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 5
Capa de servicio B1: extensibilidad para una nueva generación de
aplicaciones
Nueva generación de API de extensión para consumir datos y SAP UI5
servicios de SAP Business One.
Cobertura BO equivalente a DI API
construido sobre protocolos centrales como HTTP y OData
altamente escalable ( procesamiento paralelo )
alta disponibilidad (equilibrio de carga)
Propuesta de Valor
Satisfacer las necesidades de los clientes en cuanto al uso de
aplicaciones móviles y web.
Capa de servicio SAP Business One
Alto volumen para respaldar nuevos segmentos de clientes e
industrias
One Box para plataforma OLTP, OLAP y DEV
Tablas Físicas
SERVIDOR SAP HANA
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 6
Introducción: arquitectura de la capa de servicio
SAP UI5
HTTP/OData
Capa de servicio SAP Business One
Administrado
Analizador de
OData
Núcleo DI … r de sesión
Observado
r
Objeto de
negocio C++
Objeto de
negocio C++
… Objeto de
negocio C++
ODBC
ODBC
Tablas Físicas
SERVIDOR SAP HANA
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 7
Introducción: equilibrador de carga de la capa de servicio
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 8
Introducción: elementos y términos clave
Llave Descripción/Actividad URL/código de muestra
Elementos y
términos
URL raíz del servicio Identifica la raíz de la API de la capa de http://<servidor>:<puerto>/b1s/<versión>
servicio. Se admiten conexiones HTTP y Ejemplo : http://hanaserver:50000/b1s/v1
HTTPS. https://<servidor>:<puerto>/b1s/<versión>
Ejemplo : https://hanaserver:8443/b1s/v1
Ruta de recursos Identifica el recurso con el que se va a http://<servidor>:<puerto>/b1s/<versión>/<ruta_recurso>
interactuar. Puede ser una colección de Ejemplo :
entidades o una sola entidad. http://hanaserver:50000/b1s/v1/Items
Opciones de consulta Especifica múltiples opciones de consulta y http://<servidor>:<puerto>/b1s/<versión>/
parámetros de operación. <ruta_recurso>?<opciones_consulta>
Ejemplo :
http://hanaserver:50000/b1s/v1/Items?
$top=2&$orderby=itemcode
Verbo HTTP Indica la acción a tomar contra el recurso, de En el siguiente ejemplo, las 2 solicitudes son
acuerdo con los principios arquitectónicos equivalentes:
RESTful. · CORREO
https://hanaserver/b1s/v1/Iniciar sesión
· PUBLICAR /Iniciar sesión
Recurso JSON Representa e interactúa con contenido {"clave1": "valor1", "arr1": [100, 200], "clave2": "valor2"}
Representación estructurado, integrado en solicitudes y
respuestas de la capa de servicio.
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 9
Documentación de la capa de servicio
Documentación: Objetivos del tema
Después de completar este tema, podrá:
Conozca más sobre la documentación integrada
Conozca más sobre la referencia de API de la capa de servicio
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 11
Documentación: documentación incorporada
https://<servidor>:< Puerto del equilibrador de carga>
Ejemplo: https://hanaserver:50000
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 12
Documentación: Manual de usuario
El documento más reciente Trabajar con SAP Business One Service Layer
también está disponible en el portal de ayuda de SAP .
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 13
Documentación: Referencia de API de capa de servicio
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 14
Documentación: Referencia de API de capa de servicio
Entidad BusinessPartners
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 15
Características de la capa de servicio
Características: Objetivos del tema
Después de completar este tema, podrá:
Conozca más sobre las operaciones
Conozca más sobre las operaciones por lotes
Conozca más sobre las opciones de consulta
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 17
Características: Operaciones
Operaciones de creación/recuperación/actualización/eliminación (CRUD)
• POST – Creación de entidades .
POST /Socios comerciales
{"CardCode": "c1", "CardName": "cliente c1", "CardType": "cCliente"}
• OBTENER : Recuperar entidades.
OBTENER /Socios comerciales('c1')
• PUT – Actualización de entidades: establece los valores de propiedades no especificados en
valor predeterminado o nulo.
• PATCH – Actualización de entidades (recomendado): mantiene el valor de las propiedades
no especificadas.
PARCHE /Socios comerciales('c1')
{"CardName": "Nombre del cliente actualizado"}
• ELIMINAR : eliminar entidades.
BORRAR /Socios comerciales('c1')
Operaciones / Acciones Especiales
• Acción vinculada : vinculada a la entidad para operaciones distintas a CRUD.
POST /Pedidos(22)/Cerrar
• Acción global : se utiliza principalmente para exponer los servicios de SAP Business One.
POST /ActividadesServicio_GetActividad
{"ActivityParams":{ "ActivityCode": 1}}
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 18
Características: operaciones por lotes
Envíe una única solicitud HTTP ejecutando múltiples
operaciones. Código de muestra:
PUBLICAR https://hanaserver:443/b1s/v1/$batch
Versión de OData: 4.0
Es necesario utilizar el método POST para la solicitud por lotes Tipo de contenido: multiparte/mixto; límite: lote_MyBatch2
Es necesario utilizar el URI de $batch --batch_MyBatch2
Tipo de contenido: multiparte/mixto;
https://servicelayerhost:8443/b1s/v1/$batch límite=changeset_MyChangeSet1
Encabezados de solicitud por lotes : debe contener un tipo de --changeset_MyChangeSet1
Tipo de contenido: aplicación/http
contenido Codificación de transferencia de contenido: binario
Tipo de contenido: multiparte/mixto; límite = <límite del lote>
ENVIAR /b1s/v1/BusinessPartners
Cuerpo de solicitud por lotes : una serie de solicitudes Tipo de contenido: aplicación/json
individuales y conjuntos de cambios, cada uno representado {"CódigoTarjeta": "SL01", "NombreTarjeta": "SL 01"}
como una parte MIME distinta y separados por el límite
--changeset_MyChangeSet1
definido en el encabezado Content-Type. Tipo de contenido: aplicación/http
Codificación de transferencia de contenido: binario
Conjunto de cambios : unidad atómica de obras
ENVIAR /b1s/v1/BusinessPartners
Ejecutar todas las operaciones en una transacción Tipo de contenido: aplicación/json
global.
No debe contener solicitudes GET ni otros conjuntos de {"CódigoTarjeta": "SL02", "NombreTarjeta": "SL 02"}
cambios. --changeset_MyChangeSet1--
Cualquier subsolicitud fallida en un conjunto de cambios --batch_MyBatch2--
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 19
hará que se revierta todo el conjunto de cambios.
Características: Opciones de consulta
$filter : consulta colecciones de entidades.
$select : devuelve las propiedades que se solicitan explícitamente.
$orderby : especifica el orden en que se devuelven las entidades.
$top : devuelve los primeros n registros (enteros no negativos).
$skip : especifica el resultado excluyendo las primeras n entidades.
$count : devuelve el recuento de una colección de entidades.
$inlinecount : permite a los clientes solicitar la cantidad de recursos coincidentes en línea con los recursos en la
respuesta.
GET /BusinessPartners?$filter=NombreTarjeta eq 'Unitec'
OBTENER /BusinessPartners?
$filter=startswith(CardCode,'post')
GET /BusinessPartners?$select=Código de tarjeta,Nombre de
tarjeta
GET /BusinessPartners?$orderby=Descripción del código de
tarjeta
OBTENER /Socios comerciales?$top=2&$skip=4
GET /BusinessPartners/$count GET /BusinessPartners?$top=2
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 20
Características: Opciones de consulta
paginación
Implementado mediante top y skip, permite recuperar los datos fragmento por fragmento.
Ejemplo:
Al seleccionar todos los pedidos:
OBTENER /Pedidos
La capa de servicio devuelve:
HTTP/1.1 200 correcto
{
"valor": [
{"EntradaDocumento": 7,"NúmDocumento": 2,...},
{"EntradaDocumento": 8,"NúmDocumento": 3,...},
...
{"EntradaDoc": 26,"NúmDoc": 21,...}
],
"odata.nextLink": "/b1s/v1/Orders?$skip=20" }
Nota: El tamaño de página predeterminado es 20 (0 = sin paginación).
Se puede personalizar mediante:
• Opción de configuración PageSize en conf/b1s.conf .
• Utilice la anotación recomendada por OData odata.maxpagesize en el encabezado de la solicitud
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 21
Características: Opciones de consulta
Navegación y Asociaciones
Pueden estar asociadas dos entidades (relacionadas independientemente).
1. Recuperar propiedades de navegación como entidad
OBTENER BusinessPartners('c1')/Pedidos
¿OBTENER pedidos?$filter=CardCode eq 'c1'
OBTENER pedidos(1)/Socio comercial
OBTENER pedidos(1)/Socio comercial/Pedidos
2. Recuperando propiedades de navegación mediante $expand
¿OBTENER pedidos(1)?$select=*,BusinessPartner&$expand=BusinessPartner
¿OBTENER pedidos(1)?$select=Código de tarjeta,Socio comercial/Nombre de
tarjeta&$expand=Socio comercial
¿OBTENER pedidos?$select=*,BusinessPartner&$expand=BusinessPartner
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 22
Características: Opciones de consulta
Agregación
El comportamiento de agregación se activa mediante la opción de consulta $apply .
1. Suma de funciones
OBTENER /b1s/v1/Orders?$apply=aggregate(DocRate con suma como TotalDocRate)
2. Promedio de funciones
OBTENER /b1s/v1/Orders?$apply=aggregate(VatSum con promedio como AvgVatSum)
3. Función máxima
OBTENER /b1s/v1/Orders?$apply=aggregate(DocEntry con max como MaxDocEntry)
4. Función mín.
GET/b1s/v1/Orders?$apply=aggregate(DocEntry con min como MinDocEntry)
5. función recuentodistinto
OBTENER /b1s/v1/Orders?$apply=aggregate(CardCode con countdistinct como CountDistinctCardCode)
6. recuento de funciones
OBTENER /b1s/v1/Orders?$apply=agregar($count as OrdersCount)
7. Función de recuento en línea
OBTENER /Bancos?$inlinecount=allpages
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 23
Características: Opciones de consulta
Agrupamiento
El comportamiento de agrupación se activa mediante la opción de consulta aplicar y la palabra
clave groupby .
1. grupo sencillo
¿OBTENER pedidos?$apply=groupby((CardCode, DocEntry))
¿OBTENER pedidos?$apply=groupby((Pedidos/Código de tarjeta, Pedidos/DocEntry))
2. Método de grupo con agregación : admite la combinación de agrupación con agregación
¿OBTENER pedidos?$apply=groupby((CardCode), agregado(DocNum con suma como
TotalDocNum))
3. Grupo con método de agregación y filtro : el filtro se aplicará antes de la agrupación
¿OBTENER pedidos?$apply=filter(Orders/CardCode eq
'c001')/groupby((CardCode),aggregate(DocNum con suma como TotalDocNum))
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 24
Características: Opciones de consulta
Uniones cruzadas
Consultar entidades relacionadas mediante la definición de propiedades de navegación en el modelo de
datos.
1. Uniones cruzadas con expandir
GET /b1s/v1/$crossjoin(Orders,BusinessPartners)?$expand=Orders($select=DocEntry,DocNum),
BusinessPartners($select=CardCode)&$filter=Orders/CardCode eq BusinessPartners/CardCode and
Orders/DocNum le 3 y comienza con(BusinessPartners/CardCode,'c00')
El SQL equivalente en HANA es:
SELECCIONE T0."DocEntry", T0."DocNum", T1."CardCode" FROM "ORDR" T0 ,"OCRD" T1 DONDE T0."CardCode" = T1."CardCode"
AND T0."DocNum" <= 3 Y T1."Código de tarjeta" como 'c00%'
2. Uniones cruzadas con cálculo
operaciones aritméticas simples sobre las propiedades seleccionadas y condiciones de filtro (agregar, sub, mul y div)
GET /b1s/v1/$crossjoin(Pedidos,BusinessPartners)?$expand=Pedidos($select=DocEntry mul (DocNum sub
1) as DocSeq),BusinessPartners($select=CardCode,CardName)&$filter=Pedidos/CardCode eq Socios
comerciales/Código de tarjeta y pedidos/DocEntry ge Pedidos/DocNum sub 3
El SQL equivalente en HANA es:
SELECCIONE T0."DocEntry" * (T0."DocNum" - 1) COMO "DocSeq", T1."CardCode", T1."CardName" FROM "ORDR" T0, "OCRD" T1
DONDE T0."CardCode" = T1 ."CódigoTarjeta" Y T0."DocEntry" >= T0."DocNum" – 3
3. Uniones cruzadas con agregación
/b1s/v1/$crossjoin(Pedidos,Socios comerciales)?$apply=filter(Pedidos/CardCode eq
Socios comerciales/Código de tarjeta)/groupby((Socios comerciales/Código de tarjeta,
Pedidos/EntradaDoc),agregado(Pedidos(DocNum con recuento distinto como DistinctDocNum)))
El SQL equivalente en HANA es:
SELECCIONE T1."CardCode", T0."DocEntry", COUNT(DISTINCT T0."DocNum") COMO "DistinctDocNum" DESDE "ORDR" T0, "OCRD"
T1 DONDE T0."CardCode" = T1."CardCode" GRUPO POR T1."CódigoTarjeta", T0."EntradaDoc"
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 25
Características: Opciones de consulta
Filtro de nivel de fila
Resultado:
Para cumplir plenamente con OData, Service Layer expone un nuevo
servicio de consulta para el filtro de nivel de fila, que se implementa {
"odata.metadata" :"$metadata#Collection(Edm.ComplexType)",
en función de las capacidades de $crossjoin al separar QueryPath y "valor" : [
QueryOption en la URL de consulta. {
"Pedidos" : {
"Entrada de documento": 3,
El servicio de consulta se expone a la manera de FunctionImport "NúmDocumento": 3
<FunctionImport Name="QueryService_PostQuery" ReturnType="Edm.String" },
m:HttpMethod="POST"> "Pedidos/Líneas de documentos": {
"Código de artículo": "S10000",
<Nombre del parámetro="QueryPath" Tipo="Edm.String"/>
"Núm de línea": 0
<Nombre del parámetro="QueryOption" Tipo="Edm.String"/> }
</ImportaciónFunción> },
{
Ejemplo: "Pedidos" : {
"Entrada de documento": 4,
POST /b1s/v1/QueryService_PostQuery {"QueryPath":
"NúmDocumento": 4
"$crossjoin(Pedidos,Pedidos/Líneas de documentos)", "QueryOption": },
"$expand=Pedidos($select=DocEntry,DocNum),Pedidos/DocumentLines($sele "Pedidos/Líneas de documentos": {
ct=ItemCode ,LineNum) &$filter=Pedidos/DocEntry eq "Código de artículo": "C00001",
Pedidos/DocumentLines/DocEntry y Pedidos/DocEntry ge 3 y "Núm de línea": 0
Pedidos/DocumentLines/LineNum eq 0"} }
}
]
}
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 26
Características: Objetos definidos por el usuario (UDO)
Al igual que con las entidades normales, puede realizar operaciones CRUD en UDO, consultar UDO, etc.
El nombre de la entidad UDO se basará en el nombre de la tabla UDO principal.
<EntitySet EntityType= " SAPB1.MY_UDODOC " Nombre = " UDO_DOC_NAME "/>
Ejemplo: agregue una entrada a MY_UDODOC UDO (tabla principal de UDO llamada MY_UDODOC):
ENVIAR /MI_UDODOC
{
"U_NombreCliente": "c1",
"U_DocTotal": 620,
"ColecciónMisLíneasdePedido": [
{
"U_ItemName": "elemento1",
"U_Precio": 100,
"U_Cantidad": 3
},
{
"U_ItemName": "elemento2",
"U_Precio": 80,
"U_Cantidad": 4
}
]
}
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 27
Opciones de consulta: metadatos
• Objetos B1 (operaciones CRUD)
• B1Servicios
• Enumeraciones
• UDF/UDT/UDO
• Navegación/Asociaciones
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 28
Características: Exposición de vista de capa semántica de SAP Business
One
Dos categorías principales
Vistas integradas del sistema: tipo de vista de cálculo y con el sufijo de consulta en su nombre, por
ejemplo, SalesOrderDetailQuery
Vistas personalizadas: tipo de vista de cálculo
Totalmente compatible con OData versión 4, con compatibilidad con versiones anteriores de
OData versión 3
Se puede utilizar como reemplazo del objeto RecordSet en DI API
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 29
Características: Exposición de vista de capa semántica de SAP Business
One
Preparación de uso
1. Cree su vista semántica : conjunto de vistas virtuales (modelos) predefinidas que representan los datos de una empresa
Conozca más sobre la Capa Semántica para SAP Business One, versión para SAP HANA.
2. Prepare el paquete : exporte el modelo SAP HANA y cree el paquete
SAP HANA Studio → Archivo → Exportar → Contenido SAP HANA (modo desarrollador) → seleccione el sistema → agregue el
objeto y defina la carpeta de destino.
Empaquetar el modelo SAP HANA mediante la herramienta SAP HANA Model Package Tool para SAP Business One – Nota SAP
2008991 .
3. Implemente la vista semántica : esté por encima del servicio analítico de SAP Business One
https://hanaserver:40000/Enablement → pestaña Empresa → haga clic en el botón Inicializar .
4. Exposición de la vista Semántica : el filtro se aplicará antes de la agrupación
Inicie el cliente SAP Business One → Administración → Configuración → General → Gestión de modelos SAP HANA → seleccione
vistas y marque la casilla de verificación Exposición de capa de servicio correspondiente .
5. Reinicie el servicio de la capa de servicio : es necesario reiniciar el servicio para efectuar los cambios.
6. Asignar autorización : el usuario normal de forma predeterminada no tiene permiso para acceder a las vistas de la capa semántica
Inicie el cliente SAP Business One → Administración → Inicialización del sistema → Autorizaciones → Autorizaciones generales →
puede ver todas las autorizaciones relacionadas en el tema Análisis .
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 30
Características: Exposición de vista de capa semántica de SAP Business
One
Uso generaldel servicio de capa semántica : GET
• Metadatos /b1s/v1/sml.svc/$metadata
• Obtener todos los registros de la vista : exportar el modelo SAP HANA y crear el paquete
OBTENER /b1s/v1/sml.svc/AveragePurchasingPriceQuery
• Vista de consultas con opciones de consulta : están por encima del servicio analítico de SAP Business One
OBTENER /b1s/v1/sml.svc/AveragePurchasingPriceQuery?$select=PostingYear,BusinessPartnerCode&$skip=1&
$filter=PostingYear eq '2019' y comienza con(BusinessPartnerCode,'1')&$orderby=PostingYear
• Consulta de vista por clave : obtenga una línea por clave de entidad
Obtenga una línea por clave de entidad: GET /b1s/v1/sml.svc/AveragePurchasingPriceQuery(1)
Obtener propiedades por clave de entidad: GET/b1s/v1/sml.svc/AveragePurchasingPriceQuery(1)?$select=PostingYear,
BusinessPartnerCode
Obtener entidad de parámetro por clave de entidad: GET
/b1s/v1/sml.svc/BalanceSheetQueryParameters(P_FinancialPeriod='2019', P_AddVoucher='N')
• Vista de consulta con marcadores de posición : es necesario reiniciar el servicio para efectuar los cambios
OBTENER /b1s/v1/sml.svc/BalanceSheetQueryParameters(P_FinancialPeriod='2019',P_AddVoucher='N')
/¿ConsultaBalanceSheet?$select=AñoFiscal, CódigoCuenta
• Vista de consulta con agregación : el usuario normal, de forma predeterminada, no tiene permiso para acceder a las vistas de la
capa semántica
OBTENER /b1s/v1/sml.svc/AveragePurchasingPriceQuery?$apply=groupby((PostingYear,PostingMonth), agregado($count as
ItemCode_COUNT, AverageUnitPriceLC con suma como AverageUnitPriceLC_SUM))&$orderby=PostingYear asc,PostingMonth
asc
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 31
Conéctese a la capa de servicio usando
herramientas
Conéctese a la capa de servicio mediante herramientas: Objetivos del tema
Después de completar este tema, podrá:
Conéctese a la capa de servicio usando herramientas externas
Conéctese desde la solución complementaria a la capa de servicio
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 33
Conéctese a la capa de servicio: herramientas de terceros
Postman
Descargue la herramienta desd
getpostman.com
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 34
Conéctese a la capa de servicio: cartero
Envíe la solicitud de inicio de
sesión.
Recibiendo el mensaje de
respuesta.
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 35
Conéctese a la capa de servicio usando herramientas: Ejercicio
Ahora deberías practicar:
Conéctese al servicio, obtenga los metadatos y desconéctese del servicio
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 36
Capa de servicio: limitaciones
■ No se admite el objeto comercial RecordSet (SQL directo).
■ Service Layer no admite la operación de ImportFromXML y ExportToXML
■ No se puede acceder al UDO/UDF/UDT recién creado a menos que se reinicie la capa de
servicio.
■ No se admiten transacciones de usuario. No existe una operación tipo DI
StartTransaction/EndTransaction. Las transacciones se utilizan internamente en cada solicitud
(incluida la solicitud por lotes de OData), pero no pueden cruzar solicitudes.
■ La capa de servicio no admite JSONP, ya que esta característica es opcional.
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 37
Capa de servicio: más contenido de aprendizaje
Una capacitación en línea para cubrir todos los temas del desarrollo
de SAP HANA que son relevantes para el mundo de SAP Business
One.
Aprendizaje electrónico de SAP Business One sobre el desarrollo de
HANA
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 38