Estimados… buenos dias.
Estoy creando mi primer desarrollo para producción y ando un poco perdido.
Ya con mucho esfuerzo cree una función con un par de valores de input y una estructura de output. La he probado con un codigo en duro y funciona.
Pero, quisiera consultar si alguno tiene un ejemplo de cóigo para la función que tenga un select y que el resultado lo exporte en una estructura.
mi estructura es esta y si pongo los valores asi en duro el export funciona correctamente, pero ahora debo poner los resultados de una query y enviarlos en el export. (y no lo he podido hacerrrrr!!! )
Luis, puedes enviarme la definiciones de esos campos y te envío una codificación de ejemplo que puedes utilizar
Lo que deberías hacer en es crear es una estructura tipo Table y colocar la misma en la definición pestaña export de tu función.
Dentro de la función hacer el Select y poblar una tabla interna que luego lo moverás a la tabla que definiste en la pestaña Export
y este es el trozo de programa quer ya he logrado depurar para que no me de error
DATA:BEGIN OF TI_OBJETOS OCCURS 0,
CODIGO_OB TYPE CSKS-KOSTL,
* TIPO_OB TYPE C,
OBJETO TYPE CSKT-LTEXT,
CLASE_OBJETO TYPE CSKS-KOSAR,
RESPONSABLE TYPE CSKS-VERAK,
NOM_RESPONSABLE TYPE USER_ADDRP-NAME_TEXT,
END OF TI_OBJETOS.
SELECT CSKS~KOSTL AS CODIGO_OB,
CSKT~LTEXT AS OBJETO,
CSKS~KOSAR AS CLASE_OBJETO,
CSKS~VERAK AS RESPONSABLE,
'LUCHO' AS NOM_RESPONSABLE
INTO CORRESPONDING FIELDS OF TABLE @TI_OBJETOS
FROM CSKS
INNER JOIN CSKT ON CSKS~KOSTL = CSKT~KOSTL
WHERE CSKS~KOKRS = 'UCM0'
and CSKS~BUKRS = 'UCM'.
hasta aqui no me da error pero no se como es la sintaxis de los comandos para que el resultado de ese select se vaua al parametro de output con todos sus registros.
Hola Luis un gusto saludarte prodrias hacer un loop con field symbol a tu tabla de salida tjve un problema parecido al tuyo pero en mi caso era por los includes q usaba mi función no me reconoció los parámetros de entrada
@paulo_vargas muchas gracias… se que por ahí va la respuesta. lo que no conozco es la sintaxis para usar el loop y llenar la estructura.
Intentare o buscaré ejemplos para lo que me indicas. Saludos
Por lo que veo la estructura que definiste localmente (TI_OBJETOS) y el tipo ZFICORRESPONSABLES que asignaste en el export es el mismo, si es así quita el ITAB de la pestaña de “export” y ponlo en la de “tablas”, luego en tu SELECT cambia el INTO CORRESPONDING FIELDS OF TABLE @TI_OBJETOS por INTO CORRESPONDING FIELDS OF TABLE @ITAB y listo.
GRACIAS @PAULO_VARGAS… Lo puse y yta parece que va andando… aún tengo problemas con la salida pues me dice que trae cero registros cuando ya comprobé que deben ser dos.
Pero ahí sigo intentando con los aportes como el tuyo. Te agradezco montones.
gracias @ponxo123
Agregué tu aporte y en teoría el programa debería funcionar pero me devuelve cero registros debiendo devolver 2.
Te cuento que, siguendo el código paso a paso hasta el select llega todo correctamente
(El select esta correcto pues lo verifiqué probandolo separadamente.)
pero luego que sale del select ya el sy-subrc llega con problemas.
Si pongo a mano el valor de de la tabla itab el programa continuo normalmente y sale con los datos.
Supongo que ahora lo único que me resta por descubrir es por qué el selct no devuelve datos al ejecutarse. imagino que será algún tipo de dato el que me está molestando.
Gracias por aportarme.
Saludos
Gracias a sus aportes pude por fin “ver la luz”.
Logré recuperar datos desde la query en una tabla de export.
Fue difícil pero con esfuerzo, tesón y la ayuda de uds, pude sacar adelante.