Você está na página 1de 3

BSEG , Adeus tabela BSEG, bem vinda tabela BSEG.

A Tabela BSEG, assim como a transao SPRO esto na boca de cada consultor SAP. Impossvel
no reconhecer e associar imediatamente.
A histria da BSEG muito interessante e remonta aos primrdios do SAP, acredito que venha l
do R/2, mas eu vi pelos meus prprios olhos no R/3 3.1FC e desde ento est da forma como foi
concebida.
J condenei muito solues da SAP e ao longo do tempo comecei a entender a origem e os
porqus destas solues. Hoje tenho um profundo respeito e ateno para as decises de
arquitetura e engenharia de software da SAP.
As decises tomadas pela SAP desde a sua concepo so de profunda coragem pois foram
contrrias ao foco e objetivos de sua poca. Na dcada de 70 e 80 onde praticamente todo o foco
se direcionava para a performance e otimizao de recursos de hardware, em uma poca que TI
ainda se chamava CPD, a SAP decide focar em uma arquitetura universal de Sistema
Operacional e Banco de Dados.
Para trabalhar com vrios Sistemas Operacionais e Banco de Dados, foi necessrio implementar
do zero uma camada de abstrao, criando-se de certa forma um MDC (Mximo Divisor Comum)
de todas as plataformas, no seria possvel fazer um kernel para cada SO e cada Banco., At
hoje o kernel distribudo na forma de um s arquivo: disp+work(.exe), cabendo a uma library a
adaptao para cada Banco de Dados.
Onde entra a Tabela BSEG nesta histria?
Nesta conta simples de MDC entre todos os bancos de dados que a SAP suporta ou suportou:
Oracle, MSSQL, SAPDB, Sybase, Informix, DB2, etc. O resultado certamente no seria animador,
restries de todos os lados, uma RDBMS faz isto outro faz aquilo, mas principalmente no faz
isto, no tem aquilo. Ento iniciam-se os vrios dilemas e solues diversas.
A Tabela BSEG atende uma finalidade funcional muito importante, ela responsvel para persistir
os dados de item de documento contbil e deve conter todos os dados necessrios para todas as
integraes com CO, MM, FI-AA, SD, etc. Isto gera a necessidade de uma tabela com muitos
campos. Em um certo ponto estes muitos campos, extrapola-se ou em nmero de campos ou em
tamanho de dados destes campos, o limite do "MDC".
Surge ento uma pequena "gambiarra": a tabela BSEG se torna uma Tabela Cluster e utiliza uma
tabela Pool, ou seja a estrutura da tabela lgica fica diferente da tabela fsica no Banco de Dados.
BSEG: Tabela Cluster, RFBLG: Tabela Pool.

Tabela RFBLG

Ento os dados da Tabela BSEG armazenada em formato RAW, ou seja, concatenam-se todos
os bytes de dados de cada campo em uma s "linguia" e fatia-se em tamanhos de 3800 bytes.
Por isto no se acostuma-se utilizar "select's" na tabela BSEG, pois se necessrio filtrar por um
simples campo de conta contbil, o SAP ir solicitar todos os registros do banco e verificar para
cada registro a equivalncia de bytes posicionais de cada registro com a conta contbil.
S permitido o uso atravs do uso de leitura da tabela pela sua chave primria.

A Nota da SAP nmero 1892354 transforma a tabela BSEG de uma tabela cluster para uma
tabela transparente.
Assim a partir deste ponto abrem-se toda uma nova linha de programas, integraes, jobs, exits
que no precisam fazer select's nas tabelas auxiliares BSIS, BSAS, BSAD, BSID, BSAK, BSIK.
Alm de fazer uma atividade impossvel, realizar SAP Query e InfoSet com join na BSEG.

Tchau BSEG, bem vinda BSEG.


PS.: Complementando o comentrio da Claudia, referente a performance.
1) A tabela BSEG para todos os bancos de dados de trabalhei, o tamanho do registro da BSEG
atende em 1 registro da tabela RFBLG, portanto no necessita-se ler dois ou mais registros para
compor um registro na BSEG.
2) A transferncia de dados entre RFBLG e BSEG feita diretamente em endereamento de
memria, no existe necessidade de converso.
3) Devido a existncia das tabelas ndices, a maior parte de tratamento de dados de leitura e
atualizao feita atravs destas tabelas e a tabela BSEG no consultada.
4) O ganho em processamento de Insert no Banco irrisrio e distribudo em cada transao
contbil.
Devido a isto, provavelmente, deve-se a morosidade na mudana da BSEG.
Para aplicaes, transaes, relatrios em cdigo de cliente, abre-se todo um novo range de
aplicaes.
1) Pode-se fazer consultas na tabela BSEG em campos diferentes da chave primria.
2) Pode-se finalmente criar ndices a fim de que estas consultas seja optimizadas.
3) Pode-se criar views "transparentes" com outras tabelas.
4) Desenvolvimento de SAP Queries de forma imediata por consultores funcionais.

Você também pode gostar