![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️SAP BI / BW BO Data Store Objects (ODS o DSO)
SAP BI / BW BO Data Store Objects (ODS o DSO)
![SAP BI / BW BO Data Store Objects (ODS o DSO) SAP BI / BW BO Data Store Objects (ODS o DSO)](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/420.jpg)
Data Store Objects (ODS o DSO)
1 | Clases de Objetos DataStore
SAP BI distingue entre tres clases de objeto DataStore: Actualización estándar, optimizada para escritura y actualización directa. Estas tres clases de ODS se muestran en la imagen siguiente.
ODS estándar: consiste en tres tablas (cola de activación, tabla de datos activas y log de modificaciones). Está totalmente integrado en el proceso de staging. En otras palabras, los datos se pueden cargar y descargar de los objetos DataStore durante el proceso de staging.
Utilizar un log de modificaciones significa que todas las modificaciones también se escriben y están disponibles como actualizaciones delta para destinos de datos conectados.
ODS Optimizado para escritura: es un nuevo tipo de objeto DataStore. Está dirigido al nivel de almacén de la arquitectura ya que por ejemplo los datos con la misma clave no son agregados, por lo tanto podríamos tener como fue variando históricamente.
Tiene como ventaja principal la mayor rapidez de las cargas. Este tipo de ODS es utilizado para reportes que necesitan los datos actualizados rápidamente, pero hay que tener en cuenta que los reportes que utilizan este tipo de ODS tienen un desempeño muy pobre en cuanto a Performance.
ODS actualización directa: (ODS transaccional 3.x anterior) sólo tiene la tabla con datos activos. Esto significa que no se integra tan fácilmente en el proceso de staging. En lugar de eso, esta clase de objeto DataStore se rellena utilizando APIs y se puede leer a través de un BAPI.
Las siguientes BAPIs son entregadas por SAP (pueden ver su código ABAP a través de la transacción SE37):
- BAPI BAPI_ODSO_READ_DATA_UC
- RSDRI_ODSO_INSERT
- RSDRI_ODSO_INSERT_RFC
- RSDRI_ODSO_MODIFY
- RSDRI_ODSO_MODIFY_RFC
- RSDRI_ODSO_UPDATE
- RSDRI_ODSO_UPDATE_RFC
- RSDRI_ODSO_DELETE_RFC
Transacción SE37
Mediante la transacción SE37 podremos probar muchos de los módulos de funciones entregados por SAP. También podemos ver el código ABAP de las funciones.
2 | Comparación de PSA, ODS e InfoCubo
Los PSA almacenan datos fuente brutos, los InfoCubos almacenan datos de resumen y existen tres clases de objetos DataStore. Veamos una comparación rápida de estos tres objetos antes de que profundicemos más en los objetos DataStore estándar.
La utilización principal del PSA es almacenar temporalmente los datos del sistema fuente antes de que se transfieran a los destinos de datos reales. Por esta razón, no podrá modificar los datos del sistema SAP BI antes que pasen por el PSA. Aquí sólo se realiza una copia de los datos del sistema fuente, funcionaría como una memoria intermedia.
Los ODS se utilizan principalmente para armonizar o consolidar datos. Resultan especialmente apropiados para esta utilización, puesto que proporcionan varias opciones diferentes.
Por otro lado, los ODS están formados por tablas planas que se pueden leer de manera simple (sirven como tablas de distribución o consulta, por ejemplo). Los objetos en sí contienen muchas funciones (determinación delta, por ejemplo). Teniendo en cuenta todas estas propiedades, los objetos DataStore cubren muchas de las demandas que se realizan dentro del proceso de staging.
3 | Posicionamiento de ODS en el flujo de dato
En muchas situaciones, es necesario o ventajoso, incorporar ODS adicionales al proceso de Almacenamiento. SAP BI le permite integrar uno o más ODS en el flujo de datos entre la PSA y los InfoCubos. Normalmente, estos ODS almacenan datos en un nivel detallado y se pueden utilizar para armonizar y consolidar los datos antes de ser almacenados en InfoCubos multidimensionales de forma agregada.
Como puede verse en la parte derecha del gráfico PSA / Objeto DataStore / InfoCubo, la integración de objetos DataStore en el flujo de datos es opcional.
También es posible actualizar datos desde una Fuente de Datos a un InfoCubo directamente y no utilizar ODS como vemos marcado en la imagen a continuación.
Analizándolo como una situación de implementación, podemos distinguir tres clases de ODS en diferentes posiciones del flujo de datos basándonos en su utilización:
Datos fuente similares
En este caso, los datos se almacenan de la misma forma que los ha entregado la fuente de datos del sistema fuente. Si desea conservar un historial completo de las modificaciones de los datos, deberá incluir una referencia temporal consistente en la clave del objeto DataStore.
Requerido técnicamente
En estos objetos DataStore, los datos se almacenan de forma armonizada. El proceso de armonización engloba varios aspectos:
Armonización de tipos de datos de variante y longitudes.
Un ejemplo podría ser aquel en el que el número de cliente tiene 10 caracteres en el sistema fuente, pero 13 caracteres en otro sistema. SAP BI necesita armonizar la longitud del número de cliente. Puede hacerlo implementando un ODS en el que el cliente tenga un número de cliente de 13 caracteres. Debe realizar las transformaciones necesarias antes de implementar este objeto DataStore.
Armonización de diferentes métodos delta del sistema fuente
Un objeto DataStore puede convertir diferentes métodos delta desde los sistemas fuente (delta aditivo y After-Image para registros rectificados) en un único delta con una clase. Ello garantiza que a los destinos conectados adicionales (en especial InfoCubos) se les proporcione un método delta apropiado.
Esta armonización resulta especialmente útil al derivar un delta, siempre que un sistema fuente sólo sea capaz de extraer actualizaciones completas.
El Delta es complicado, por lo tanto será explicado detalladamente en el módulo avanzado.
Los Atributos Navegacionales son atributos que pertenecen a alguna Característica incluida en el ODS o InfoCubo. Este tipo de atributos tienen la ventaja de poder ser utilizados luego en el armado de reportes con BEx Query Designer.
Supongamos que se cargan dos solicitudes REQU1 y REQU2 en un objeto DataStore. Ello puede ocurrir de forma secuencial o paralela. El proceso de carga contabiliza ambas solicitudes en una cola de activación.
En la imagen siguiente, se activa esta solicitud nueva. El nuevo registro de datos sobrescribe entonces al existente en la tabla activa del objeto DataStore. Esto crea un valor actualizado de 30 para el pedido de la tabla activa. También se introduce un nuevo registro en el log de modificaciones, ya que tiene una clave técnica nueva.
Durante la activación de ratios en el modo sobrescribir, el proceso de activación crea un registro con signos invertidos y lo coloca en el log de modificaciones.
En este caso, se trata de un registro para un valor 4711 de -10. Como resultado, al final de la ejecución de la activación, aparecen tres registros de datos de dos solicitudes en el log de modificaciones.
En nuestro ejemplo, ambos registros cargados pertenecen a la misma clave semántica: Nº doc.. Por este motivo, la tabla con los datos activos sólo tiene una entrada. Una vez más, después de la activación satisfactoria, la cola de activación está vacía.
Los números de solicitud generados por la activación en el log de modificaciones no son los mismos que los de la cola de activación, ya que documentan dos sistemas de eventos diferentes.
NOTA.- Si el objeto DataStore no estaba en el flujo de datos en este ejemplo, y los datos fuente fluyeron directamente a un InfoCubo, el InfoCubo añadiría el 10 al 30 y obtendría un valor incorrecto de 40.
Si en su lugar pasamos los datos del log de modificaciones al InfoCubo, 10, -10 y 30 se añaden al valor correcto de 30. En este ejemplo, se necesitó un objeto DataStore en el flujo de datos antes del InfoCubo. No siempre es necesario, pero muchas es recomendable.
Es ofrecer una estrucutura de almacenamiento previa dentro del flujo de carga en el cual se almacena la informacion con mayor detalle que en el infoprovider final ya se un infocubo o un ODS. Al crear un ODS la creacion automatica de SITS en ACTIVACIÖN por checkbox si es para reportes
 
 
 
Sobre el autor
Publicación académica de David Carmona, en su ámbito de estudios para la Carrera Consultor en SAP BI / BW BO.
David Carmona
Profesión: Consultor en Procesos E Implementación de Sistemas - Mexico - Legajo: PE46H
✒️Autor de: 37 Publicaciones Académicas
🎓Cursando Actualmente: Consultor en SAP BI / BW BO Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Muchas gracias, esperemos apoyarnos en todo momento para salir adelante
Certificación Académica de David Carmona