MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 07/05/08, 12:25:58
Jarpi Jarpi is offline
Senior Member
 
Fecha de Ingreso: abr 2007
Localización: Argentina
Mensajes: 453
Saldos Acumulado en Columna

Buenos días para todos,

Recurro a ustedes para ver si alguno me puede ayudar con algo que me está complicando la vida.

Tengo armado un reporte que me muestra los pedidos de venta con sus respectivos remitos de salida, por ende, puede suceder que una línea de un pedido se repita más de una vez.

Una de las columnas del reporte calcula el saldo pendiente de entrega, haciendo cantidad prevista en el pedido contra cantidad entregada en el remito.

El problema que tengo que es no se como hacer para que en las columnas de saldo tome en cuenta todas las entregas para el mismo pedido, entonces el saldo está siempre mal.

Alguno de ustedes sabrá como debo hacer? Qué código debo poner para que hga eso??

Les pongo parte del código.

REPORT Z_PED_SINR.

DATA: Begin OF t_pedidos occurs 0,

AUDAT TYPE VBAK-AUDAT, "Fecha de creación del pedido
VBELN TYPE LIPS-VBELN, "Número del pedido
KUNNR TYPE KNA1-KUNNR, "Número del deudor
NAME1 TYPE KNA1-NAME1, "Descipción del deudor
MATNR TYPE VBAP-MATNR, "Número del material
ARKTX TYPE VBAP-ARKTX, "Descripción del material
KWMENG TYPE VBAP-KWMENG, "Cantidad pedida
NETPR TYPE VBAP-NETPR, "Precio por cantidad
NETWR TYPE VBAP-NETWR, "Total por línea
ERNAM TYPE VBAK-ERNAM, "Creador del pedido
LFGSK TYPE VBUK-LFGSK, "Status del pedido
LFIMG TYPE LIPS-LFIMG, "Cantidad entregada
DIFER TYPE VBAP-KWMENG, "Cantidad pendiente
VGBEL TYPE LIPS-VGBEL, "Número de remito
ERDAT TYPE LIPS-ERDAT, "Fecha de creación del remito
end OF t_pedidos.

DATA: Begin OF t_pedidos1 occurs 0,

ERDAT TYPE VBAK-ERDAT, "Fecha de creación del pedido
VBELN TYPE VBAK-VBELN, "Número del pedido
KUNNR TYPE KNA1-KUNNR, "Número del deudor
NAME1 TYPE KNA1-NAME1, "Descipción del deudor
MATNR TYPE VBAP-MATNR, "Número del material
ARKTX TYPE VBAP-ARKTX, "Descripción del material
KWMENG TYPE VBAP-KWMENG, "Cantidad pedida
NETPR TYPE VBAP-NETPR, "Precio por cantidad
NETWR TYPE VBAP-NETWR, "Total por línea
ERNAM TYPE VBAK-ERNAM, "Creador del pedido
LFGSK TYPE VBUK-LFGSK, "Status del pedido
LFIMG TYPE LIPS-LFIMG, "Cantidad entregada
DIFER TYPE VBAP-KWMENG, "Cantidad pendiente
end OF t_pedidos1.



* Variables

DATA: wa_ped LIKE LINE OF t_pedidos.

*======================================================================*
* TYPE POOLS *
*======================================================================*

TYPE-POOLS: slis.

* Tabla interna para armar catálogo

DATA: t_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
w_layout TYPE slis_layout_alv,
w_grid TYPE lvc_s_glay.

*======================================================================*
* PARAMETROS DE SELECCION *
*======================================================================*

SELECTION-SCREEN SKIP.
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
select-options: clien FOR wa_ped-kunnr,
mater FOR wa_ped-matnr,
fecha FOR wa_ped-audat,
respo FOR wa_ped-ernam.
SELECTION-SCREEN: END OF BLOCK b1.

SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME TITLE text-t02.
PARAMETERS p_ped1 RADIOBUTTON GROUP g1 DEFAULT 'X'.
PARAMETERS p_ped2 RADIOBUTTON GROUP g1.
SELECTION-SCREEN: END OF BLOCK b2.

INITIALIZATION.

*======================================================================*
* START OF SELECTION *
*======================================================================*

START-OF-SELECTION.

IF p_ped1 EQ 'X'.
* Busco los datos para mostrar en el reporte.
PERFORM busco_datos1.

* Armo el catálogo para el ALV
PERFORM armar_catalogo1.

* Armo el LAYOUT
PERFORM armar_layout.

* Muestro los datos requeridos en el ALV
PERFORM mostrar_alv1.

ELSEIF p_ped2 EQ 'X'.
* Busco los datos para mostrar en el reporte.
PERFORM busco_datos.

* Armo el catálogo para el ALV
PERFORM armar_catalogo.

* Armo el LAYOUT
PERFORM armar_layout.

* Muestro los datos requeridos en el ALV
PERFORM mostrar_alv.

ENDIF.

*----------------------------------------------------------------------*
* Form busco_datos. Busca los datos para el reporte
*----------------------------------------------------------------------*
FORM busco_datos.

SELECT vk~audat vk~vbeln vk~ernam k~kunnr k~name1 vp~matnr vp~arktx
vp~kwmeng vp~netpr vp~netwr vu~lfgsk vk~kunnr lp~lfimg lp~vbeln
lp~vgbel vp~posnr lp~posnr lp~erdat

INTO CORRESPONDING FIELDS OF t_pedidos
FROM vbak as vk
inner join vbap as vp on vk~vbeln = vp~vbeln
inner join vbuk as vu on vk~vbeln = vu~vbeln
inner join kna1 as k on vk~kunnr = k~kunnr
inner join lips as lp on vk~vbeln = lp~vgbel
AND vp~matnr = lp~matnr
AND vp~posnr = lp~posnr
WHERE vk~audat IN fecha
AND vk~ernam IN respo
AND vk~kunnr IN clien
AND vp~matnr IN mater
AND vu~lfgsk EQ 'B'.

t_pedidos-DIFER = t_pedidos-KWMENG - t_pedidos-LFIMG.

APPEND t_pedidos.

* Se ordena la t_pedidos que se muestra en el ALV alfabeticamente.
SORT t_pedidos BY vgbel ASCENDING.

ENDSELECT.

ENDFORM. "busco_datos.

*----------------------------------------------------------------------*
* Form busco_datos1. Busca los datos para el reporte
*----------------------------------------------------------------------*
FORM busco_datos1.

SELECT vk~erdat vk~vbeln vk~ernam k~kunnr k~name1 vp~matnr vp~arktx
vp~kwmeng vp~netpr vp~netwr vu~lfgsk vk~kunnr

INTO CORRESPONDING FIELDS OF t_pedidos1
FROM vbak as vk
inner join vbap as vp on vk~vbeln = vp~vbeln
inner join vbuk as vu on vk~vbeln = vu~vbeln
inner join kna1 as k on vk~kunnr = k~kunnr
WHERE vk~erdat IN fecha
AND vk~ernam IN respo
AND vk~kunnr IN clien
AND vp~matnr IN mater
AND vu~lfgsk EQ 'A'.

APPEND t_pedidos1.

* Se ordena la t_pedidos1 que se muestra en el ALV alfabeticamente.
SORT t_pedidos1 BY vbeln ASCENDING.

ENDSELECT.

ENDFORM. "busco_datos1.

END-OF-SELECTION.

*------------------------------------------------------------------------*

Y también les adjunto un print del reporte para que se entienda lo que les comenté.

Desde ya les agradezco mucho!

Saludos.
Archivos Adjuntos
Tipo de Archivo: zip Ejemplo Reporte.zip (27.7 KB, 27 visitas)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 12:31:07.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web