PDA

Ver la Versión Completa : Pedidos de Ventas


Yanett Ponce Seares
17/03/10, 14:14:48
Necesito generar un indicador para medir el tiempo que tenemos en responder los pedidos.
Desde que se genera el pedido- Facturación y su entrega.
Si alguien sabe cuales serian las tablas adecuadas para el reporte .
Muchas graciasc

DavidXD_XD
17/03/10, 14:45:36
Hola puedes sacarlas de las siguientes tablas

Pedido: VBAK
Facturacion: VBRK
Entrega: LIKP

Dentro de ellas existen campo de fecha y hora de creación :D

Yanett Ponce Seares
17/03/10, 14:50:08
Hola puedes sacarlas de las siguientes tablas

Pedido: VBAK
Facturacion: VBRK
Entrega: LIKP

Dentro de ellas existen campo de fecha y hora de creación :D
Te pasaste muchas gracias !!!

Yanett Ponce Seares
17/03/10, 15:37:46
Te pasaste muchas gracias !!!
Estuve viendo las tablas y tengo duda en la
LIKP de entrega es cabecera, existe el detalle de esta?
gracias

DavidXD_XD
17/03/10, 15:46:41
Si, esas tablas son las cabeceras, los detalles son estos:

VBAK-VBAP
VBRK-VBRP
LIKP-LIPS

Yanett Ponce Seares
17/03/10, 16:34:17
Si, esas tablas son las cabeceras, los detalles son estos:

VBAK-VBAP
VBRK-VBRP
LIKP-LIPS
Muchas gracias , ,,,

Yanett Ponce Seares
18/03/10, 19:19:27
Si, esas tablas son las cabeceras, los detalles son estos:

VBAK-VBAP
VBRK-VBRP
LIKP-LIPS
Hola, Sabes he estado tratando de encontrar los campos por donde estan enlazados estas tablas VBAK con VBRK y LIKP , la verdad que no encuentro como ... me puedes ayudar en como deberia enlazar un pedido relacionado con su entrega y factura ... Muchas gracias

DavidXD_XD
18/03/10, 20:26:12
Holas, esas se integran en la tabla de flujos VBFA, para que lo veas mejor puedes usar una funcion: RV_ORDER_FLOW_INFORMATION donde solo colocas como parametro el numero de la entrega en COMWA-VBELN, ahi te saldra el inicio y fin del flujo de documentos, espero te ayude :D

Yanett Ponce Seares
22/03/10, 14:19:36
Holas, esas se integran en la tabla de flujos VBFA, para que lo veas mejor puedes usar una funcion: RV_ORDER_FLOW_INFORMATION donde solo colocas como parametro el numero de la entrega en COMWA-VBELN, ahi te saldra el inicio y fin del flujo de documentos, espero te ayude :D
Hola sigo con el tema, y gracias la información que me has dado pude realizar mi requerimiento, pero me pasa que se demora demasiado al realizar la consulta de un mes, a partir del pedido traer la Factura y Entrega que tiene relacionado.
Alomejor existe una forma de acelerar mis instrucciones u otra forma de plantearlo ... Muchas Gracias ...

DavidXD_XD
22/03/10, 14:57:30
Hola Yanett como lo estas consultando??? por lo que tengo entendido tu parametro de entrada es el pedido de ventas, como t comente yo normalmente uso la funcion y ahi tbm funciona colocandole el pedido

ls_conwa-vbeln = (pedido_venta).

CALL FUNTION 'RV_ORDER_FLOW_INFORMATION'
EXPORTING
conwa = ls_conwa
TABLES
vbfa_tab = lt_vbfa.

En la tabla lt_vbfa te botara todo el flujo que necesitas muy rapido ... pero supongo q el problema es obtener los datos del flujo y luego tener el detalle de esos datos como fecha y hora para poder controlar lo que quieres cierto?

Yanett Ponce Seares
22/03/10, 15:27:59
Hola Yanett como lo estas consultando??? por lo que tengo entendido tu parametro de entrada es el pedido de ventas, como t comente yo normalmente uso la funcion y ahi tbm funciona colocandole el pedido

ls_conwa-vbeln = (pedido_venta).

CALL FUNTION 'RV_ORDER_FLOW_INFORMATION'
EXPORTING
conwa = ls_conwa
TABLES
vbfa_tab = lt_vbfa.

En la tabla lt_vbfa te botara todo el flujo que necesitas muy rapido ... pero supongo q el problema es obtener los datos del flujo y luego tener el detalle de esos datos como fecha y hora para poder controlar lo que quieres cierto?

Hola, exactamente, lo que hago es rescatar todos los pedidos que se hacen en undeterminado periodo, despues en un loop la recorro accediendo a la function que me indicas mas arriba, y rescato la informaciòn de los documentos asociado al pedido, en esta instancia es donde se demora una eternidad ...
De hecho ahora estaba probando de hacer un select join de la tablas VBAK-VBFA haber si me acelera mi consulta ... Ojala lo entiendas y gracias nuevamente ...

DavidXD_XD
22/03/10, 15:45:58
Pues si ... la unica forma de sacar el flujo es por la funcion o por el enlace de tablas VBAK, VBRK, LIKP ... aunq puede ser aconsejable sacarla por el JOIN de las 3 tablas con un FOR ALL ENTRIES y de paso que sacas los datos de fecha y hora de creacion en un solo paso para evitar esos 2 pasos (rescatar flujo, recuperar detalle de cada documento), nos cuentas como te fue :D

Yanett Ponce Seares
22/03/10, 17:58:37
Pues si ... la unica forma de sacar el flujo es por la funcion o por el enlace de tablas VBAK, VBRK, LIKP ... aunq puede ser aconsejable sacarla por el JOIN de las 3 tablas con un FOR ALL ENTRIES y de paso que sacas los datos de fecha y hora de creacion en un solo paso para evitar esos 2 pasos (rescatar flujo, recuperar detalle de cada documento), nos cuentas como te fue :D
mmmm ahí estoy super mal ya que los for all entries no lo se usar si los he escuchado ... y con 3 tablas igual voy a buscar . pero lo que tengo en este m,inuto es
SELECT vbfa~vbeln as factura vbfa~erdat as erdatf vbfa~erzet as erzetf
vbfa~vbelv as pedido vbfa~erdat as erdatp vbfa~erzet as erzetp vbak~auart vbak~kunnr vbfa~vbtyp_v vbfa~vbtyp_N
INTO TABLE TI_PEDIDO
FROM vbfa JOIN vbak ON vbfa~vbelv = vbak~vbeln
WHERE vbfa~vbtyp_v = 'C' and ( vbfa~vbtyp_n = 'M' OR vbfa~vbtyp_n = 'J' )
AND VBFA~rfmng <> 0
AND VBFA~POSNN = 10
AND vbak~vtweg <> 'EX'
and vbak~erdat >= w_fecini
and vbak~erdat <= w_fecfin .

Me podrias dar un ej. de For all Entries
gracias

DavidXD_XD
22/03/10, 19:34:08
Los FOR ALL ENTRIES son como un SELECT anidado pero con mejor tiempo de busqueda, es como realizar lo siguiente

LOOP AT it_bkpf.
SELECT *
APPENDING TABLE lt_bseg
FROM bseg
WHERE bukrs = it_bkpf-bukrs
AND belnr = it_bkpf-belnr
AND gjahr = it_bkpf-gjahr.
ENDLOOP.

Este codigo equivale a:

SELECT *
INTO TABLE lt_bseg
FROM bseg
FOR ALL ENTRIES IN lt_bkpf
WHERE bukrs = it_bkpf-bukrs
AND belnr = it_bkpf-belnr
AND gjahr = it_bkpf-gjahr.

Como te puedes dar cuenta para hacer el FOR ALL ENTRIES necesitarias los datos del pedido, pero veo en tu SELECT que estas recuperando todos los pedidos de una condicion muy general, tal vez seria mejor no trabajar con la VBFA a menos que estes sacando informacion que no se encuentren en las tablas normales (VBAK, VBRK, LIKP) y hacer un JOIN con solo esas 3 tablas

Yanett Ponce Seares
23/03/10, 10:16:51
[QUOTE=DavidXD_XD]Los FOR ALL ENTRIES son como un SELECT anidado pero con mejor tiempo de busqueda, es como realizar lo siguiente

LOOP AT it_bkpf.
SELECT *
APPENDING TABLE lt_bseg
FROM bseg
WHERE bukrs = it_bkpf-bukrs
AND belnr = it_bkpf-belnr
AND gjahr = it_bkpf-gjahr.
ENDLOOP.

Este codigo equivale a:

SELECT *
INTO TABLE lt_bseg
FROM bseg
FOR ALL ENTRIES IN lt_bkpf
WHERE bukrs = it_bkpf-bukrs
AND belnr = it_bkpf-belnr
AND gjahr = it_bkpf-gjahr.

Como te puedes dar cuenta para hacer el FOR ALL ENTRIES necesitarias los datos del pedido, pero veo en tu SELECT que estas recuperando todos los pedidos de una condicion muy general, tal vez seria mejor no trabajar con la VBFA a menos que estes sacando informacion que no se encuentren en las tablas normales (VBAK, VBRK, LIKP) y hacer un JOIN con solo esas 3 tablas[/QUOT
Ya entiendo lo que me quieres decir, pero sabes cual es mi problema que no conozco bien las tablas y por mas que busco como unir las 3 tablas . Me entiendes porque campos deberia realizar el join para decir que el pedido x tiene una factura j y una entrega l de un period determinado.

Yanett Ponce Seares
23/03/10, 10:20:23
[QUOTE=DavidXD_XD]Los FOR ALL ENTRIES son como un SELECT anidado pero con mejor tiempo de busqueda, es como realizar lo siguiente

LOOP AT it_bkpf.
SELECT *
APPENDING TABLE lt_bseg
FROM bseg
WHERE bukrs = it_bkpf-bukrs
AND belnr = it_bkpf-belnr
AND gjahr = it_bkpf-gjahr.
ENDLOOP.

Este codigo equivale a:

SELECT *
INTO TABLE lt_bseg
FROM bseg
FOR ALL ENTRIES IN lt_bkpf
WHERE bukrs = it_bkpf-bukrs
AND belnr = it_bkpf-belnr
AND gjahr = it_bkpf-gjahr.

Como te puedes dar cuenta para hacer el FOR ALL ENTRIES necesitarias los datos del pedido, pero veo en tu SELECT que estas recuperando todos los pedidos de una condicion muy general, tal vez seria mejor no trabajar con la VBFA a menos que estes sacando informacion que no se encuentren en las tablas normales (VBAK, VBRK, LIKP) y hacer un JOIN con solo esas 3 tablas[/QUOT
Ya entiendo lo que me quieres decir, pero sabes cual es mi problema que no conozco bien las tablas y por mas que busco como unir las 3 tablas . Me entiendes porque campos deberia realizar el join para decir que el pedido x tiene una factura j y una entrega l de un period determinado.
jajajaj sorry al escribir la respuesta borre el final del mensaje y se union con el tuyo , te lo remito ... jejeje

Ya entiendo lo que me quieres decir, pero sabes cual es mi problema que no conozco bien las tablas y por mas que busco como unir las 3 tablas . Me entiendes porque campos deberia realizar el join para decir que el pedido x tiene una factura j y una entrega l de un period determinado.

Yanett Ponce Seares
25/03/10, 13:16:53
[QUOTE=Yanett Ponce Seares]
jajajaj sorry al escribir la respuesta borre el final del mensaje y se union con el tuyo , te lo remito ... jejeje

Ya entiendo lo que me quieres decir, pero sabes cual es mi problema que no conozco bien las tablas y por mas que busco como unir las 3 tablas . Me entiendes porque campos deberia realizar el join para decir que el pedido x tiene una factura j y una entrega l de un period determinado.


Gracias David por todas las ayuda que me brindaste, como se dice buscando se encuentra cierto !!! pues ya encontre como hacer el proceso que no se hiciera tan lento ...con 2 join inner independientes para las 3 tablas y despues las uno por pedido ...