Obtener Valor de un Campo en una dynpro

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Rosalin Rodriguez
    Junior Member
    • jun
    • 7

    #1

    Obtener Valor de un Campo en una dynpro

    Hola Chicos ...

    Estoy tratando de obtener el valor del campo Grupo de Articulo en la transaccion WRCR desde el user exit SAPMWWG2. Ya he probado con estas dos Call function : 'UA_READ_FIELD_FROM_DYNPRO' y
    'C14Z_DYNP_READ_FIELD'

    Y nada que me retorna el contenido del campo. Seguí por debug el Call Function y me lleva a esta parte del programa donde el sy-subrc es 1 que indica " invalid_dynpronamecall "

    Les Agradezco su ayuda ....

    call 'HELP_GET_FIELDS' id 'DYNAME' field dyname
    id 'DYNUMB' field dynumb
    id 'REQUEST' field request
    id 'DPOVNAME' field syst-repid
    id 'DPOVNUMB' field syst-dynnr
    id 'SSF' field ssf
    id 'PROOT' field <startdynpro>
    id 'STACKPOS' field start_search_on_scr_stackpos
    id 'PATH' field searchpath_of_subscreen_areas
    id 'DPOV' field <dpovtab>."#EC CI_CCALL
    case sy-subrc.
    when 0.
    ***AQUI QUEDA EL PROGRAMA***
    when 1.
    raise invalid_dynproname.
    ***
    when 2.
    raise invalid_dynpronummer .
    when 3.
    raise invalid_request.
    when 4.
    raise invalid_dynprofield.
    when 5.
    raise invalid_abapworkarea.
    when 6.
    raise no_fielddescription .
    when 8.
    raise invalid_parameter.
    when others.
    raise undefind_error.
    endcase.
    Rous
  • Astaroth_SA
    Member
    • jul
    • 58

    #2
    Originalmente publicado por Rosalin Rodriguez
    Hola Chicos ...

    Estoy tratando de obtener el valor del campo Grupo de Articulo en la transaccion WRCR desde el user exit SAPMWWG2. Ya he probado con estas dos Call function : 'UA_READ_FIELD_FROM_DYNPRO' y
    'C14Z_DYNP_READ_FIELD'

    Y nada que me retorna el contenido del campo. Seguí por debug el Call Function y me lleva a esta parte del programa donde el sy-subrc es 1 que indica " invalid_dynpronamecall "

    Les Agradezco su ayuda ....

    call 'HELP_GET_FIELDS' id 'DYNAME' field dyname
    id 'DYNUMB' field dynumb
    id 'REQUEST' field request
    id 'DPOVNAME' field syst-repid
    id 'DPOVNUMB' field syst-dynnr
    id 'SSF' field ssf
    id 'PROOT' field <startdynpro>
    id 'STACKPOS' field start_search_on_scr_stackpos
    id 'PATH' field searchpath_of_subscreen_areas
    id 'DPOV' field <dpovtab>."#EC CI_CCALL
    case sy-subrc.
    when 0.
    ***AQUI QUEDA EL PROGRAMA***
    when 1.
    raise invalid_dynproname.
    ***
    when 2.
    raise invalid_dynpronummer .
    when 3.
    raise invalid_request.
    when 4.
    raise invalid_dynprofield.
    when 5.
    raise invalid_abapworkarea.
    when 6.
    raise no_fielddescription .
    when 8.
    raise invalid_parameter.
    when others.
    raise undefind_error.
    endcase.
    ¿Conseguiste resolver el problema? A mi me pasa lo mismo cuando quiero recoger el valor de un checkbox de la EA60 en una función propia y por más que busco no encuentro solución por ningún lado.

    Comentario

    • vanesamacri
      Senior Member
      • jun
      • 146

      #3
      ¿Intentaste referenciando al campo de manera similar a la siguiente?

      (REAPRIN0)TEST_PR

      Donde dentro de los paréntesis va el nombre del programa del ámbito del campo cuyo valor querés obtener e inmediatamente después (fuera de los paréntesis), el nombre del campo en sí.

      Desconozco la ubicación en la que estás dentro de la lógica y cuál es el campo que te interesa leer, pero la forma anterior es de utilidad para poder referenciar valores dentro de colas de programas. Fijate si te sirve.

      Comentario

      • calanis
        Senior Member
        • oct
        • 147

        #4
        Hola Rosalin!
        Prueba con lo siguiente:
        Código:
        DATA:
        lv_field type char30 value '(RETAIL_RECLASSIFICATION)NEWWG'.
        FIELD-SYMBOLS <fs_newwg> type matkl.
        
        ASSIGN (lv_field) TO <fs_newwg>.
        
        IF <fs_newwg> IS ASSIGNED.
        *La operación que deseas hacer
        ENDIF.
        Espero te sirva
        Carlos D. Alanis
        <=<< Compartir conocimiento es una manera de innovar >>=>

        Comentario

        Trabajando...