#1
|
|||
|
|||
Llamar Una Transaccion Dese Un Alv
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 |
#2
|
|||
|
|||
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. |
#3
|
|||
|
|||
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 |
#4
|
|||
|
|||
me paso lo mismo, al final como no averigüe por que, lo arregle haciendo un call transaction using bdcdata ( una chapuza, lo se )
|
#5
|
|||
|
|||
Call Transaction
Gracias Atlas, me funciono bien el USING
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|