MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Llamar Una Transaccion Dese Un Alv (foro/showthread.php?t=32357)

johava 14/09/09 20:11:03

Llamar Una Transaccion Dese Un Alv
 
1 Adjunto(s)
Hola a todos, tengo la siguiente situación he hecho un reporte ALV para mostrar los pagos realizados a un acreedor pero con mayor detalle que la transacción FBL1N (combina datos de Presupuesto, tesoreria, CXP y contabilidad), el objetivo es que cuando se genere la grilla con los datos, el usuario pueda dar doble click en ciertas columnas e invoque transacciones que permmitan visualizar documentos (Ej: para un pago o una cxp llama a la FB03, si es un compromiso debe llamar a la FMZ3 o ME23N, dependiendo si es de MM o PRESUPUESTO), todas me funcionan bien excepto la FMZ3.

los resultados que se obtienen en la FMZ3 son 2:

* Invoca la transacción FMZ3 pero no exporta los datos que pide el programa.

* Siempre muestra los datos del primer documento de la grilla


pongo el codigo utilizado para que alguien me diga que error tengo o como solucionarlo

when 'VREFBN'. "Documento rpc

if t_faccom-wrttp = '65'.
set parameter id 'KBL' field t_faccom-vrefbn.
set parameter id 'KBP' field ''.
call transaction 'FMZ3' and skip first screen.
else.
set parameter id 'BES' field t_faccom-vrefbn.
call transaction 'ME23N' and skip first screen.
endif.


NOTA: anexo pantallazo con los datos de la grilla y de las 2 situaciones que se presentan

gracias
Harold Valencia

Mike 15/09/09 13:54:27

El problema que veo es que no estas haciendo un read table en la posicion que diste doble click, no puedes hacer directamente if t_faccom-wrttp = '65'. porque t_faccom-wrttp va a ser igual a la ultima posicion que tocaste, tienes que posicionarte en la posicion del doble click.

Si estas haciendolo con funciones, en el evento del user command el parametro slis_selfield-tabindex te dice en donde diste doble clik y si lo estas haciendo con objetos usa el metodo GET_CURRENT_CELL para saber la celda y a partir de alli haces el read table para luego hacer el call transaction.

johava 15/09/09 16:57:38

Call Transaction Desde Alv
 
MIKE, si estoy haciendo el read, te mando el codigo completo

form user_command using r_ucomm like sy-ucomm

rs_selfield type slis_selfield.
case r_ucomm.
when '&IC1'. "Doble Click

* Determina el campo (pago, doc compensado, factura, rpc) por el cual se desea ver detalle de documento
read table t_faccom index rs_selfield-tabindex.
if sy-subrc = 0.


case rs_selfield-fieldname.

when 'BELNR'. "Documento de pago

set parameter id 'BLN' field t_faccom-belnr.
set parameter id 'GJR' field t_faccom-gjahr.
set parameter id 'BUK' field t_faccom-bukrs.
call transaction 'FB03' and skip first screen.


when 'REBZG'. "Documento factura

set parameter id 'BLN' field t_faccom-rebzg.
set parameter id 'GJR' field t_faccom-gjahr1.
set parameter id 'BUK' field t_faccom-bukrs.
call transaction 'FB03' and skip first screen.

when 'AUGBL'. "Documento compensación

set parameter id 'BLN' field t_faccom-augbl.
set parameter id 'GJR' field t_faccom-gjahr2.
set parameter id 'BUK' field t_faccom-bukrs.
call transaction 'FB03' and skip first screen.

when 'VREFBN'. "Documento rpc

if t_faccom-wrttp = '65'.
set parameter id 'KBL' field t_faccom-vrefbn.
set parameter id 'KBP' field ' '.
call transaction 'FMZ3' and skip first screen.
else.
set parameter id 'BES' field t_faccom-vrefbn.
call transaction 'ME23N' and skip first screen.
endif.



endcase.


endif.
endcase.


endform. "USER_COMMAND

Atlas 16/09/09 12:47:28

me paso lo mismo, al final como no averigüe por que, lo arregle haciendo un call transaction using bdcdata ( una chapuza, lo se )

johava 18/09/09 21:56:05

Call Transaction
 
Gracias Atlas, me funciono bien el USING


Husos Horarios son GMT. La hora en este momento es 13:46:39.

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