Ayuda SAP

Relacion Entre las tablas BKPF y VBRK

Buenas tardes alguien me podria ayudar a realizar la relacion entre estas dos tablas para sacar el documento contable (BKPF) de la factura (VBRK).

Agradezco mucho de su ayuda. gracias de antemano.

1 me gusta

Imagina que tienes la factura, porque de algun punto tienes que partir, en este caso tienes la factura y buscas el documento contable.

Vas a la tabla BKPF y buscas el campo Cleve de referencia, es aqui donde se aloja el documento de factura en el ambito financiero.

Y listo, ya el query lo hara el abap, y si eres el abap, sabras como hacerlo ^^

Espero te sea de utilidad.

gracias x la info @smota hasta ahi lo tengo claro estas usando la se16n para visualizar las tablas y utilizas VBRK-VBLN y la BKPF-cl.referencia-awkey para sacar el documento contable perfecto, el inconveniente q tengo es q lo estoy realizando mediante la trasaccion SQVI pero no me deja enlazar los campos y apenas estoy comenzando con abap. :smiley:

@smota pude realizar el enlace con las tablas VBRK y BSID y pude realizar el sqvi. gracias por el consejo.

2 Me gusta

@Hainer_Romero Ten en cuenta que cuando compensen (paguen) esa factura se desaparecerá de la tabla BSID y se moverá para la BSAD. Solo en caso de que no lo sepas.

2 Me gusta

Gracias @Haden_Yasser_ por tu aporte en el tema en que otra tabla podria hacer la relacion de la factura para sacar el documento contable.

Solucion Parcial :smiley:

Lo que puedes hacer es agregar la tabla BSAD(Documentos compensados) a tu query y relacionarla con la VBRK tal como hiciste con la BSID, así siempre te traerá el doc.contable sin importar si está o no compesado. Otra tabla que tiene la relación SD/FI es la BSEG mediante el campo VBELN, pero no te recomiendo usarla.

Otra solución es usar la transacción SQ01 en lugar de la SQVI, también es para hacer queries pero te permite mucho más. Si se te complica usarla o ya estás muy avanzado con lo que has hecho en la SQVI entonces agrega la tabla BSAD como te comenté.

Espero puedas resolver.

bn el aporte @Haden_Yasser_ te comento q con BSAD realice la relacion de numero de factura VBELN y BSAD VBELN y no me arroja los resultados esperados, mientras que con BSEG me dice que no se puede usar en el join.

@Hainer_Romero la BSEG es una tabla cluster, no permite JOINS pero sí selects directos.
Cuáles son los resultados que esperas y como definiste las relaciones entre esas 3 tablas (BSID-VBRK-BSAD)?

De todas formas lo mejor sería que hicieras un reportico sencillo con ALV, sale más barato a mi parecer.

Saludos @Hainer_Romero estas haciendo un query sin un fin en concreto, debes decidir y organizar primero lo que buscas. si haces el join a la bsid y a la bsad no optendras resultados porque estas haciendon inner join.
Para que te arroje algo tendrias que hacer un left o right join pero con la SQVI no podras. Entonces a la BSEG no le puedes hacer el joins porque no tienes el campo y si lo tienes lo mas probable que sea una tabla Cluster y a estas tablas no se les puede hacer joins.

En conclusion, tu primera consulta donde haces el join solo con la bsid funciona, y solo tendras las partidas habiertas, ese seria tu limite. Despues de ahi, tendras que hacer un desarrollo y abandonar la SQVI.

gracias @smota por participar en el tema, te comento q si tiene un fin en concreto, que cuando le diga el numero de la factura me arroje el documento contable, lo pude realizar uniendo VBRK con BSIG y como tu dices es una limitante.

Con la SQVI solo podras ver las facturas abiertas o las facturas pagadas, puedes hacer esto, te haces dos transacciones, una para partidas abiertas y otra para facturas ya pagadas o compensadas. y asi si podras hacerlo con la SQVI, primero una relacion como la hiciste a la BSID y luego otra con la relacion a la BSAD, y los usuarios la usaran igual, solo le explicas que con una veran todo lo que no se ha pagado y en la otra todo lo que si se ha pagado.

De otro modo, deberas ir al desarrollo particular y ahi si podrias hacer un solo reporte que muestre lo que mostraras con dos t-code SQVI.

@Hainer_Romero Si la razón de ser de ese reporte es obtener el doc.contable según la factura entonces has un alv sencillo y no compliquemos el tema.

Select single belnr from BKPF into v_documento
where awkey = v_doc_ventas
and bukrs = sociedad
and gjahr = ejercicio.

Soy nuevo aca @Haden_Yasser_ no se como realizar el alv si no seria mucha molestia me podrias ayudar paso a paso :). ?

apenas estoy conociendo este nuevo mundo y he realizado algunas consultas sencillas mediante sqvi para conocer las tablas.

Entonces tendremos que conseguirte algún manual de iniciación ABAP, ya que hacer un reporte así de sencillo implica creación pantalla de selección, variables, tablas internas, las funciones para la salida del ALV, etc etc.

2 Me gusta

Gracias @Haden_Yasser_

Con el manual BC400 puedes iniciarte en programación, con ese fué que empecé yo hace 4 años.

1 me gusta

tendrias alguna forma de enviarme este manual.