#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?? |
#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 |
Herramientas | Buscar en Tema |
Desplegado | |
|
|