Problema con MACHCODE OBJECT

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • rodisa
    Member
    • jul
    • 49

    #1

    Problema con MACHCODE OBJECT

    Quisiera hacer un Select-Options pero que me saliera la ayuda de selección de un dominio inventado por mí (z_s_posicion), y mi código sería:
    SELECT-OPTIONS: p_status FOR ekpo-loekz MATCHCODE OBJECT z_s_posicion.

    Me compila y se ejecuta, pero cuando le voy a dar para seleccionar el valor me sale el error:
    "Imposible Visualizar(inconsistencia del pulsador para entradas posibles).

    Y el caso que el tipo de valor de ekpo-loekz es CHAR de 1 y el de z_s_posicion también.

    ¿Alguien me puede ayudar o indicarme cómo podría hacerlo??
  • eljota
    Member
    • dic
    • 48

    #2
    alternativa

    hola,

    bueno, habría q ver el codigo q usas para crear ese matchcode. Ahora, tengo una alternativa:

    En tu select-options, quita la parte en la q asocias con el mathcode.

    Declara la tabla interna:
    DATA: BEGIN OF IT_MATCH OCCURS 0,
    SHLPNAME LIKE DDSHRETVAL-SHLPNAME,
    FIELDNAME LIKE DDSHRETVAL-FIELDNAME,
    RECORDPOS LIKE DDSHRETVAL-RECORDPOS,
    FIELDVAL LIKE DDSHRETVAL-FIELDVAL,
    RETFIELD LIKE DDSHRETVAL-RETFIELD,
    END OF IT_MATCH.

    Luego, agrega este codigo luego del selection-screen:

    AT SELECTION-SCREEN ON VALUE-REQUEST FOR *Nombre_Campo_select-options*.

    * Llenado de las opciones q mostrara tu matchcode
    * debes crear una tabla interna (it_tabla) con la estructura q desees y luego asignarle valores, q puede ser obtenidos de una tabla BD

    SELECT *campos*
    INTO TABLE it_tabla
    FROM TablaBD
    WHERE ...

    *Luego llama a la función:
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
    RETFIELD = *nombrecampotablainternaretorno*
    WINDOW_TITLE = 'Titulo d la ventana'
    VALUE_ORG = 'S'
    TABLES
    VALUE_TAB = it_tabla
    RETURN_TAB = IT_MATCH
    EXCEPTIONS
    PARAMETER_ERROR = 1
    NO_VALUES_FOUND = 2
    OTHERS = 3.

    IF SY-SUBRC EQ 0.
    READ TABLE IT_MATCH INDEX 1.
    *Nombre_Campo_select-options* = IT_MATCH-FIELDVAL.
    * Si es un select-options, entonces debes definir donde iria: en el high o en el low

    ENDIF.

    espero q esto te sirva

    salu2
    Jaime Zegarra V.
    ________________
    ABAP Developer

    Comentario

    Trabajando...