Cuentas contables sap


#1

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


Codigo cuenta no aparece segun transacciones
#2

Es probable que tu catálogo sea segmentado.


#3

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


#4

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


#5

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


#6

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


#7

Ok. ya veo dejame checar gracias


#8

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.


#9

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


#10

Gracias por tu ayuda, deja reviso y valido


#11

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


#12

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


#13

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


#14

De acuerdo, que todo salga bien !!!

Saludos
Chava


#15

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


#16

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


#18

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

Saludos Cordiales


#19

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


#20

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