#1
|
|||
|
|||
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. |
#2
|
|||
|
|||
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 |
#3
|
|||
|
|||
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 |
Herramientas | Buscar en Tema |
Desplegado | |
|
|