MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Call Transaccion pasando un rango de valores (foro/showthread.php?t=43141)

andresf02 09/05/11 16:29:49

Call Transaccion pasando un rango de valores
 
Buenos dias.

Cree un reporte que muestra todas las ordenes de venta que se quedan retenidas o bloqueadas por algun tema de credito. El reporte es interactivo y al hacer click sobre una linea (Orden de venta por linea) hace un ]"call transaction" a la transaccion VKM3 (Liberacion de credito) pasando como parametro el numero de la orden de venta de la linea donde se hice click.

Lo anterior funciona perfecto. Lo que estoy pensando ahora es crear un boton en el reporte para que si el usuario quiere liberar todas las ordenes de venta al tiempo, se haga el mismo CALL TRANSACTION a la VKM3 pero pasandole todas las ordenes de venta que se esten mostrando en ese momento en el reporte.
Por ejemplo:

El reporte muestra lo siguiente:


Orden de venta | Status Credito
--------------------------------
1000000000001 | B
1000000000002 | B
1000000000003 | B


En este momento si se da click sobre la linea 2 (orden 1000000000002) se llama sin problemas a la VKM3 y se pasa la orden 1000000000002 y el usuario la puede liberar y volver al reporte.

Pero, lo que quiero es que si se da click al boton "LIBERAR TODO", se haga el mismo CALL TRANSACTION a la VKM3, pero se pasen al mismo tiempo todas las ordenes que muestra el reporte 1000000000001, 1000000000002, 1000000000003. Asi cuando el usuario vea la VKM3, pueda liberar las 3 al mismo tiempo.


Mi codigo para hacer la llamada por orden de venta individual es:


Lo que necesitaria es como poder pasar una lista de valores al ID 'AUN'

Gracias!

kiboqac 09/05/11 17:58:13

No comprendo mucho el funcionamiento de la transaccion; pero entiendo que quieres pasarle todos los documentos juntos en el Select Option de la transaccion.

Para eso deberias de utilizar un SUBMIT al reporte RVKRED04 y pasarle tu tabla interna al Select Option del VBELN.

Tal vez entendi mal el problema, pero la otra opcion seria realizar un Loop a todas las ordenes y realizar tu call transaction.

Si no es ninguna de las dos, entonces no entendi nada :P

javi_garcia18 09/05/11 20:49:36

Hola andresf02 lo que entiendo es que necesitas pasar todas las ordenes de venta con solo darle click a un boton, entonces ya no se utilizaria un call transaction mas bien como dice kiboqac tendrias que armar un rango con todas las ordenes de venta que muestra tu alv y por ultimo hacerle un submit al programa que tiene la transaccion VKM3 y retornarias el programa. por ejemplo:

SUBMIT rfitemgl
WITH sd_bukrs-low EQ p_bukrs
WITH sd_saknr IN gr_hkont
WITH x_opsel EQ ' '
WITH x_aisel EQ 'X'
WITH x_norm EQ 'X'
WITH x_park EQ ' '
WITH x_merk EQ ' '
WITH so_budat IN s_budat
WITH FREE SELECTIONS texpr
WITH pa_vari EQ gv_variante AND RETURN.

aqui lo que hago estoy haciendo un submit a un programa estandar como es tu caso y ademas le estoy mandando un rango de cuentas en el gr_hkont y por ultimo le estoy haciendo un RETURN para que cuando termine de ejecutar el programa me retorne a mi programa asi es transparente para el usuario.

espero que te haya servido, cualquier cosa me comentas.

andresf02 10/05/11 12:41:06

Muchas gracias a ambos.

Si, efectivamente lo solucioné con un SUBMIT.

Aqui esta el codigo por si a alguien mas le sirve




Muchas Gracias de nuevo


Husos Horarios son GMT. La hora en este momento es 17:41:31.

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