Set Parameter Id

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Arkady
    Junior Member
    • ago
    • 5

    #1

    Set Parameter Id

    Hola, llevo toda la tarde intentando esto y no hay manera, he buscado en foros y demás pero nada que me haya servido de ayuda.
    Quiero establecer unas IDs a unos campos para luego darles valores.

    Tengo esto en un report que he convertido en una transacción.

    parameters: v1 like sy-datum .
    select-options: v2 for kna1-ort01.

    SET PARAMETER ID 'ID1' FIELD v1.
    SET PARAMETER ID 'ID2' FIELD v2-high.
    SET PARAMETER ID 'ID3' FIELD v2-low.

    ----------------------
    Y esa transacción la llamo desde otro report, y desde ahí es donde tiene que tomar los datos.
    DATA : t_param TYPE STANDARD TABLE OF rfc_spagpa,
    wa_param TYPE rfc_spagpa.

    wa_param-parid = 'ID2'. "por ejemplo
    wa_param-parval = 'Valor'.
    APPEND wa_param TO t_param.

    CALL FUNCTION 'ABAP4_CALL_TRANSACTION'
    EXPORTING
    tcode = 'ZMiTransaccion'
    SKIP_SCREEN = 'X'
    TABLES
    SPAGPA_TAB = t_param
    *esta tabla contiene los pares IDs-Valor que usaré en mi transacción
    .

    y no hay manera, no consigo que desde la transacción tome los valores que le paso. Cuando hago el CALL_TRANSACTION con otra transacción de SAP lo hace sin problemas, pero con mi transacción no. No me acepta los IDs

    A ver si alguien tiene alguna idea
    Gracias de antemano

    (mañana contestaré a las respuestas)
  • temaljose
    Senior Member
    • oct
    • 203

    #2
    set parameter

    Amigo para llevar un parametro a memoria y luego traerlo de memoria debes hacer lo siguiente:
    en el momento de definir la variable debes utilizar el parametro memory id, ejemplo.
    parameter: v1(6) type c memory id 'ZXX'.

    O puedes cambiar este valor, con set parameter id 'ZXX' field <valor>.

    Y para llamarlo de memoria haces lo siguiente en el programa donde lo vayas a recibir:
    data: v1(6) type c.

    get parameter id 'ZXX' field v1.


    eso funciona.
    Lo unico que se, es que no se nada.....

    Comentario

    • Arkady
      Junior Member
      • ago
      • 5

      #3
      La pista del parameters: ... memory id me ha servido de mucho, es que con el SET PARAMETER ID no me funcionaba. Muchas gracias. Ahora tengo algo así como esto y funciona en parte


      ---En la transacción desde la que recojo los parametros
      parameters: v1 like sy-datum memory id VA1.
      select-options: v2 for kna1-ort01 memory id VA2.

      ---En el report que llama a la transacción
      Y esa transacción la llamo desde otro report, y desde ahí es donde tiene que tomar los datos.

      DATA : t_param TYPE STANDARD TABLE OF rfc_spagpa,
      wa_param TYPE rfc_spagpa.

      wa_param-parid = 'VA1'.
      wa_param-parval = sy-datum.
      APPEND wa_param TO t_param.

      wa_param-parid = 'VA2'.
      wa_param-parval = 'Madrid'.
      APPEND wa_param TO t_param.

      CALL FUNCTION 'ABAP4_CALL_TRANSACTION'
      EXPORTING
      tcode = 'ZMiTransaccion'
      SKIP_SCREEN = 'X'
      TABLES
      SPAGPA_TAB = t_param
      .

      ---
      Esto funciona y rellena los huecos del parameter y el primero del select options, ya solo me queda rellenar el otro campo del select. Supongo que será simple, en cuanto lo tenga posteo como

      Comentario

      Trabajando...