Llamar Una Transaccion Dese Un Alv

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • johava
    Member
    • abr
    • 79

    #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
    Archivos Adjuntos
  • Mike
    Senior Member
    • mar
    • 144

    #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.

    Comentario

    • johava
      Member
      • abr
      • 79

      #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

      Comentario

      • Atlas
        Senior Member
        • ago
        • 107

        #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 )

        Comentario

        • johava
          Member
          • abr
          • 79

          #5
          Call Transaction

          Gracias Atlas, me funciono bien el USING

          Comentario

          Trabajando...