Cuentas contables sap

Hola buen dia, alguien sabe por que razon en las consultas o generacion de reportes via crystal, aparecen las cuentas contables de esta forma: como codigo _SYS00000000768

Y no, como deberia 1120-001-001

image

Es probable que tu catálogo sea segmentado.

Y no hay forma que aparezca como numero de cuenta normal?

El catálogo es segmentado? si es así utiliza en los reportes los campos Segment de la tabla OACT

Como identificas que esta segmentado?, el plan de cuentas lo veo bien

En Detalles de Sociedad - Inicialización Básica, se indica si utilizas segmentación de cuentas.

Ok. ya veo dejame checar gracias

en tu reporte de cuentas de crystal utiliza un case, y pones case T0.“Cuenta” = xxxxxx then “no. de cuenta correcto”

bueno asi lo haria yo jajaja, saludos.

Buenos días

Según veo, tu catalogo si está segmentado, razón por la cual, todas las cuentas afectables tienen el código SYS a nivel tabla del sistema, incluso si revisas la tabla JDT1 donde se guarda el detalle de las lineas de pólizas, tiene el código SYS y no la cuenta contable como tal.

1.- Cuando requieras extraer la cuenta contable desde la tabla del catalogo (OACT), basta con realizar una condicionante, CASE Postable WHEN 'Y' THEN (segment_0 + '-' + segment_1 + '-' + segment_2) ELSE AcctCode END Cuenta
NOTA: Las cuentas Afectables, tienen el valor ‘Y’ en el campo Postable, las cuentas acumuladoras o padres, tienen el valor ‘N’
2.- Cuando requieras mostrar registros de las pólizas (OJDT y/o JDT1), deberás realizar un INNER JOIN o bien mediante una subconsulta, para recuperar le cuenta como tal, recordando que en las pólizas solo tienen cuentas afectables.

Saludos
SAP B1, v9.2 PL03
México

2 Me gusta

Gracias por tu ayuda, deja reviso y valido

La unica pregunta, si tambien aplica el mismo procedimiento, para sap on hana?

Buenas tardes

Buena pregunta, jajajaja, desconozco HANA, por eso plasmo al pie de mis respuestas, que yo trabajo con SAP B1, versión 9.2 parche 03 (SAP B1, v9.2 PL03) y la región (México), sin embargo, tomando en cuenta el ejemplo de la imagen que muestras, aparentemente es lo mismo, ahora, es fácil y rápido cerciorarte de ello; revisa la tabla OACT en el campo “AcctCode” y la tabla “JDT1” en el campo “Account”, en la primera tabla, todas las cuentas afectables deberán tener el código SYS y no la cuenta, y en la segunda tabla, todas las cuentas (porque son afectables), también deberán tener el código SYS.

NOTA: Sobre el punto de… si se tiene un catálogo segmentado, se debe tener activado el check de la opción “Utilizar segmentación de cuentas”, dentro de “Detalles sociedad” , pestaña “Inicialización básica
imagen

Saludos
SAP B1, v9.2 PL03
México

Si efectivamente tengo segmentadas mis cuentas, pero tengo que desarrollar el informe de estado de perdidas y ganancias por centro de costos, ya se que ya lo trae el sistema, pero el area de contraloria quiere el reporte salga automaticamente por sistema, y como empece a ver y al realizar consultas para ver como lo iba a generar, me salian _SYS00000000789.

image

De acuerdo, que todo salga bien !!!

Saludos
Chava

1 me gusta

Disculpa, solo una molestia, me puedes mostrar tu codigo, que usas en sap b1 sql?

Con gusto @ingdamien , sin embargo, no comprendí del todo tu pregunta, ahora, si te refieres a…

1.- Mostrar la cuenta y su descripción desde la tabla OACT, puede ser:
Select CASE T0.Postable WHEN 'Y' THEN (T0.Segment_0 + '-' + T0.Segment_1 + '-' + T0.Segment_2) ELSE T0.Acctcode END Cuenta, T0.AcctName From OACT T0 Order by GroupMask, GrpLine

2.- Enlazar los códigos SYS de las lineas de las pólizas mediante un INNER JOIN, entonces puedes hacerlo de DOS formas:
2.1 Mediante un INNER JOIN entre las tablas JDT1 y OACT
Select top(100) (T2.Segment_0 + '-' + T2.Segment_1 + '-' + T2.Segment_2) as Cuenta, T2.AcctName, T1.Debit as Cargo, T1.Credit as Abono From JDT1 T1 inner join OACT T2 on T1.Account = T2.AcctCode
2.2 Mediante subconsultas o consultas anidadas, con el término que las conozcas
Select top(100) (Select (T2.Segment_0 + '-' + T2.Segment_1 + '-' + T2.Segment_2) From OACT T2 Where T2.AcctCode = T1.Account) as Cuenta, (Select T2.AcctName From OACT T2 Where T2.AcctCode = T1.Account) as [Nombre de la Cuenta], T1.Debit as Cargo, T1.Credit as Abono From JDT1 T1

NOTA: “top(100)”, es para limitar la extracción de 100 registros

COMENTARIO: En lo personal, según pruebas que he realizado, en ciertas situaciones la consulta se ejecuta más rápido con Sub-Consultas que con el INNER JOIN.

Saludos
SAP B1, v9.2 PL03
México

No pues no, me parece por ser hana se maneja diferente, gracias de todas formas

Saludos Cordiales

Solo una pregunta mas, para efecto de validacion en mi version de sap on hana, la consulta mediante un INNER JOIN entre las tablas JDT1 y OACT, las haz generado a nivel consulta, en el query manager de SAP

la genera el query manager en automatico, tal parece y a nivel consulta solo seria conocer los campos.

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.