martes, 5 de mayo de 2015

SAP FI - Curiosidades de la tabla BSEG

La tabla BSEG al igual que la transacción SPRO, son el pan de cada día para muchos consultores SAP, haciéndolas en muchas ocasiones que sea imposible que pasen desapercibidas.
El origen de la tabla BSEG se remonta a las primeras versiones de SAP, lo que se refleja en el diseño de la misma, aunque considerando que en las décadas de los 70 y 80, en las cuales el principal foco de las estrategias de diseño se encontraban en el rendimiento y optimización de los recursos de hardware.
SAP decide entonces orientar su desarrollo hasta una arquitectura universal de sistemas operativos y bases de datos, por lo que se hacia necesario implementar una capa de abstracción que sirviese de interprete entre las funciones de alto nivel y los diferentes entornos de ejecución.

¿Pero y donde entra la tabla BSEG?

Justamente considerando la decisión de soportar varias bases de datos, tales como: Oracle, MSSQL, SAPdb, Sybase, Informix, DB2, etc. Se tiene como resultado encontrar restricciones de diseño en todos lados, relacionadas especialmente con funcionalidades que no son estándar, esto es que solo unos cuantos RDBMS hacen y otros no.La tabla BSEG sirve esencialmente a un propósito funcional muy importante, esto es permitir la persistencia de los documentos de contabilidad, conteniendo todos los datos necesarios para las integraciones con los módulos de CO, MM, FI-AA, SD, etc. Es por esto que se plantea  que la tabla deberá contener muchos campos, lo que se traduce en un conflicto con la capa de abstracción, frente a lo que se presenta una pequeña "solución", esto es diseñar la tabla BSEG como un cluster, es decir, la estructura de la tabla lógica es diferente de la tabla física en la base de datos.BSEG: Tabla Cluster,
RFBLG: Tabla POOL.


Tabla RFBLG


Então os dados da Tabela BSEG é armazenada em formato RAW, ou seja, concatenam-se todos os bytes de dados de cada campo em uma só "linguiça" e fatia-se em tamanhos de 3800 bytes.
Por isto não se acostuma-se utilizar "select's" na tabela BSEG, pois se é necessário filtrar por um simples campo de conta contábil, o SAP irá solicitar todos os registros do banco e verificar para cada registro a equivalência de bytes posicionais de cada registro com a conta contábil.
Só é permitido o uso através do uso de leitura da tabela pela sua chave primária.

La nota 1892354 permite transformar la tabla BSEG desde una tabla cluster a una tabla.
 
De tal manera que desde este punto  se genera una nueva lista de programas, integraciones, Jobs, exits, etcs... que no requerirán acceder a las tablas auxiliares BSIS, BSAS, BSAD, BSID, BSAK, BSIK.
 
1)  En la tabla BSEG para todas las bases de daros el tamaño de registro corresponde a un registro de la tabla  RFBLG, por lo que no necesita leer dos o más registros para conformar un registro de la tabla BSEG.
 
2) La transferencia de datos entre RFBLG y BSEG se realiza directamente en el direccionamiento de memoria, no existe la necesidad de conversión.
 
3) Debido a la existencia de tablas de índice, la mayor parte del tratamiento de los datos de lectura y la actualización se lleva a cabo a través de estas tablas y la tabla BSEG no se consulta.
 
4) La ganancia en el procesamiento de inserción en la base de datos es insignificante y distribuido en toda transacción comercial. Debido a esto, probablemente se presentan los retrasos en la actualización de la BSEG.
 
Para aplicaciones, transacciones, informes de código de cliente, se abre toda una nueva gama de aplicaciones.

1) Permite realizar consultas en la tabla BSEG haciendo uso de campos diferentes a la clave primaria.
2) Permite la creación de índices para optimizar las consultas.
3) Permite la creación de vistas Trasparentes con otras tablas.
4) Permite el uso de la tabla BSEG haciendo uso de Queries para atender soluciones puntuales e inmediatas.
 

Verificación de Carga de Extractos Electronicos en SAP

Utilizando la transacción FF67 se visualiza el estado del proceso de carga del extracto

Busco con los últimos 4 dígitos de la cuenta bancaria





Paso siguiente es utilizar la transacción FEBA, para visualizar las partidas que quedaron compensadas y las que no, así.

Se ejecuta

Se señala en otra representación y se abre el detalle, los registros marcados con color verde se encuentran compensados,  los marcados con rojo quedan en estado pendiente,