PDA

Ver la Versión Completa : Ayuda con función F4IF_INT_TABLE_VALUE_REQUEST


kilofafeure
11/08/09, 09:04:14
Hola, estoy haciendo una ayuda de búsqueda y tengo un problema. El problema que tengo es que no se me cargan los datos en el desplegable correspondiente y no se porque. Si debugo el código veo que el select me rellena correctamente la tabla interna, sin embargo a la hora de que me muestre los valores en la dynpro (SELECCIO_LLOC) no me aparecen. Espero me puedan ayudar ya que seguramente sea una tonteria pero llevo con esto mucho rato y no consigo ver cual es el error. Muchas gracias.


TYPES: BEGIN OF ty_ubicacio,
objid LIKE hrp1000-objid,
stext LIKE hrp1000-stext,
END OF ty_ubicacio.

DATA: it_ubicacio TYPE STANDARD TABLE OF ty_ubicacio,
it_return TYPE STANDARD TABLE OF ddshretval,
wa_ubicacio LIKE LINE OF it_ubicacio.

SELECT objid stext FROM hrp1000
INTO CORRESPONDING FIELDS OF TABLE it_ubicacio
WHERE otype = 'F' AND
endda GE sy-datum AND
plvar = '01' AND
istat = '1'.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
ddic_structure = 'HRP1000'
retfield = 'STEXT'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'SELECCIO_LLOC'
value_org = 'S'
multiple_choice = 'X'
TABLES
value_tab = it_ubicacio
return_tab = it_return
* EXCEPTIONS
* PARAMETER_ERROR = 1
* NO_VALUES_FOUND = 2
* OTHERS = 3
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Bmamba
11/08/09, 10:20:03
has probado a desasteriscar las excepciones y el mensaje asociado? quizá te aporte información sobre el problema.

saludos

kilofafeure
11/08/09, 10:49:14
has probado a desasteriscar las excepciones y el mensaje asociado? quizá te aporte información sobre el problema.

saludos

Me da sy-subrc = 0, no muestra ningún mensaje

Bmamba
11/08/09, 10:52:06
y si le pasas las tablas internas con cabecera te da error?

kilofafeure
11/08/09, 10:57:57
y si le pasas las tablas internas con cabecera te da error?

No, hace exactamente lo mismo. El desplegable vacio y el sy-subrc de la función = 0.

abaper_biz
11/08/09, 15:10:37
Hola, estoy haciendo una ayuda de búsqueda y tengo un problema. El problema que tengo es que no se me cargan los datos en el desplegable correspondiente y no se porque. Si debugo el código veo que el select me rellena correctamente la tabla interna, sin embargo a la hora de que me muestre los valores en la dynpro (SELECCIO_LLOC) no me aparecen. Espero me puedan ayudar ya que seguramente sea una tonteria pero llevo con esto mucho rato y no consigo ver cual es el error. Muchas gracias.


TYPES: BEGIN OF ty_ubicacio,
objid LIKE hrp1000-objid,
stext LIKE hrp1000-stext,
END OF ty_ubicacio.

DATA: it_ubicacio TYPE STANDARD TABLE OF ty_ubicacio,
it_return TYPE STANDARD TABLE OF ddshretval,
wa_ubicacio LIKE LINE OF it_ubicacio.

SELECT objid stext FROM hrp1000
INTO CORRESPONDING FIELDS OF TABLE it_ubicacio
WHERE otype = 'F' AND
endda GE sy-datum AND
plvar = '01' AND
istat = '1'.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
ddic_structure = 'HRP1000'
retfield = 'STEXT'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'SELECCIO_LLOC'
value_org = 'S'
multiple_choice = 'X'
TABLES
value_tab = it_ubicacio
return_tab = it_return
* EXCEPTIONS
* PARAMETER_ERROR = 1
* NO_VALUES_FOUND = 2
* OTHERS = 3
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.





Hola:

Podrias probar con creando la estructura 'ty_ubicacio' pero en el diccionario y luego reemplazarlo en


CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
ddic_structure = 'TY_UBICACIO' <-------modif aqui
retfield = 'STEXT'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'SELECCIO_LLOC'
value_org = 'S'
multiple_choice = 'X'
TABLES
value_tab = it_ubicacio
return_tab = it_return

kilofafeure
13/08/09, 06:49:10
Al final lo he conseguido quitándole en la función ddic_structure...es decir:


CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'STEXT'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'SELECCIO_LLOC'
value_org = 'S'
multiple_choice = 'X'
TABLES
value_tab = it_ubicacio
return_tab = it_return[/QUOTE]



Gracias por su ayuda y su tiempo!!