Como pasar un select options a una función
Buenas de nuevo.
Tengo en mi código un select options: select-options: si_nie for T7EHS00_SERVICE-pernr. y quisiera pasar el valor que contenga este select options a una función, lo he hecho de la siguiente forma: CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = so_nie IMPORTING output = it_lineatabla-nie. y me da todo el rato error. Como pongo en el input el select options? Gracias otra vez. Salu2 |
Leete esto a ver si te sirve de algo.
|
El select options es una especie de tabla interna. La función en cuestión no admite tablas internas, solo parámetros. Por ello debes hacer lo siguiente:
Debes hacer un loop at si_nie Dentro llamas a la funcion pasándole como parametro si_nie-low, que representa cada valor del select-options. con lo que te devuelva la función rellenas la cabecera de tu tabla interna it_lineatabla y le haces un append. |
hola no te preocupes es entras a la se37
muy facil y sencillo a tu funcion en la pestaña de tables creas un parametro ejemplo parametro tipificaci tipo_ref T_MATERIAL LIKE BAPI_RANGESMATNR --> "en este caso he conseguido una estructura estandar de rangos" si no sabes cual es ubicala en se11 opcion "tipo de datos" o creas una. luego en el codigo de la funcion se lo pasas como un range ejemplo select * into table xxxxx from mara where matnr in t_material. --> viste q se comporta como un range, porque un range es una tabla interna o estructra de datos saludos |
ahh me olvidaba
en tu programa principal tienes lo siguiente select-option s_matnr for mara-matnr.. start-of-selection CALL FUNCTION 'ZRFC_TUFUNCION' TABLES T_MATERIAL = S_MATNR |
Gracias, por tu ayuda. Esto que me indicas, me funciona a medias. Si le meto un rango de valores, por ejemplo del 1 al 20, si_nie_low siempre sera 1. Como puedo solucionar esto? |
tendrias que crear una funcion que sea inteligente y lea los valores de la tabla interna.
y poder crear el rango de 1 a 20 o de 0 a n o ver si solo es un parametro. saludos |
Si pero cual es el campo del select-option que contiene el valor?
Me refiero a si el valor es si_nie o si_nie-algun campo... Perdonan mi ignorancia |
por ejemplo si declaras un s_matnr como select los valores los tienes en s_matnr-low y s_matnr-high.
y en s_matnr-option tienes si es bt = entre, EQ = igual, etc. ahi tendrias que meter tu logica. |
Entonces, por ejemplo para los intervalos, lo que tendría que hacer es recorrer desde s_matnr-low y hasta el s_matnr-high y coger lo que contenga s_matnr-low, no? Lo único, tendría q ir aumentandole en una unidad cada pasada no? Estoy muy verde, lo siento. :oops: |
Husos Horarios son GMT. La hora en este momento es 01:46:45. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web