PDA

Ver la Versión Completa : Como llenar un search help con una tabla interna


fa.luis
09/08/13, 17:24:57
Que onda abapers, tengo un problemilla, tengo un parameter el cual le quiero añadir la funcionalidad de search help, lo quiero llenar desde una tabla interna pero no se puede, les muestro mi tabla:
WA_Statu-Value = 'P'. WA_Statu-Text = 'Pendientes de sustituir'.
APPEND WA_STATU TO TI_STATU.

WA_Statu-Value = 'S'. WA_Statu-Text = 'Surtidas'.
APPEND WA_STATU TO TI_STATU.

WA_Statu-Value = 'N'. WA_Statu-Text = 'No tratadas'.
APPEND WA_STATU TO TI_STATU.

Mi parameter:
PARAMETERS: P_STATU TYPE CHAR25.
y como intento llenarlo:
INITIALIZATION. "< bscablfran

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_STATU.



CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING

RETFIELD = 'Text'
WINDOW_TITLE = 'Text'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = ti_statu
RETURN_TAB = IT_MATCH
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2 ." BSCABLFRAN >

"Leemos lo que obtenermos y se lo pasamos a nuestro parámetro
READ TABLE IT_MATCH INDEX 1.
MOVE IT_MATCH-FIELDVAL TO P_STATU.
pero simplemente cuando le doy clic al matchcode me dice que no existen valores :( es decir no me muestra nada de los valores de mi tablita.
Que puede ser?
Saludos.

joau_fedipe
09/08/13, 21:24:19
Estimado, declarar en el evento indicado así:

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_statu.

TYPES: BEGIN OF ty_tab,
value TYPE char01,
text TYPE char25,
END OF ty_tab.

DATA: ti_statu TYPE STANDARD TABLE OF ty_tab WITH HEADER LINE,
it_match TYPE STANDARD TABLE OF ddshretval WITH HEADER LINE.

CLEAR: ti_statu[], it_match[].
wa_statu-value = 'P'. wa_statu-text = 'Pendientes de sustituir'.
APPEND wa_statu TO ti_statu.

wa_statu-value = 'S'. wa_statu-text = 'Surtidas'.
APPEND wa_statu TO ti_statu.

wa_statu-value = 'N'. wa_statu-text = 'No tratadas'.
APPEND wa_statu TO ti_statu.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'TEXT'
window_title = 'Text'
value_org = 'S'
TABLES
value_tab = ti_statu
return_tab = it_match
EXCEPTIONS
parameter_error = 1
no_values_found = 2. " BSCABLFRAN >

"Leemos lo que obtenermos y se lo pasamos a nuestro parámetro
READ TABLE it_match INDEX 1.
MOVE it_match-fieldval TO p_statu.


Nos comentas al respecto.
Saludos:)