MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 15/02/11, 20:39:57
goyleo goyleo is offline
Senior Member
 
Fecha de Ingreso: sep 2007
Mensajes: 102
Funciones dinamicas

Hola! estaba intentando hacer una funcion dinamica pero no me sale!

La idea es que el nombre de la funcion puede cambiar al igual que los parametros que envia y recibe. Pero no me esta saliendo, alguien lo hizo alguna vez?

Paso un codigo de ejemplo que me tira error.

DATA c_funcion(19) TYPE c VALUE 'Z_MM_900_CONV_AKONT'.


DATA g_akont TYPE akont. "(Se debe declarar dinamicamente)
DATA g_country(100) TYPE c.
DATA g_akont_to(100) TYPE c.
DATA g_akont_from(100) TYPE c.

MOVE 'country' TO g_country.
MOVE 'akont_from' TO g_akont_from.
MOVE 'akont_to' TO g_akont_to.

CALL FUNCTION c_funcion
EXPORTING
g_country = 'AR'
g_akont_from = 'AKONT'
IMPORTING
g_akont_to = g_akont.

IF sy-subrc = 0.

ENDIF.
Responder Con Cita
  #2  
Viejo 15/02/11, 23:50:46
Tu amo Tu amo is offline
Member
 
Fecha de Ingreso: oct 2010
Mensajes: 40
Esta correcta tu forma de llamar dinamicamente a la funcion, pero no los parametros

Si tienes una version anterior a 6.10, solo puedes usar los parametros estaticamente
Si tienes alguna version mas nueva, revisa la ayuda de SAP para ver como usar el call function con parameter-table
Responder Con Cita
  #3  
Viejo 17/02/11, 18:29:16
goyleo goyleo is offline
Senior Member
 
Fecha de Ingreso: sep 2007
Mensajes: 102
Solucion

Hola muchachos pude resolver el problema... coloco la solucion asi le sirve a alguien en el futuro

Si bien el codigo es sobre algo puntual que estoy trabajando si lo explico un poco se entiende.

Se declara una estructura dinamica y se obtienen los campos claves de la tabla mediante una funcion.

Luego se vuelcan los valores de un campo llamado VAKEY a la misma.

Se reccorren dinamicamente los campos y se arma la funcion con el nombre del campo. Se determina si esa funcion existe en la tabla TFDIR, de ser asi se obtienen los parametros de la misma en la tabla FUPARAREF, se agregan a una tabla interna y se llama a la funcion dinamicamente y con los parametros obtenidos de la misma

SE HIZO MEDIO EXTENSO pero seguramente quien lo necesite lo va a leer

aca va el codigo

Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 23:34:36.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web