W Pub: ABAP Curso SE 37

Una funcin de SAP es como una API de windows, puede considerarse como un trozo de cdigo fuente independiente que se llama para realizar ciertas tares y obtener un resultado con ella. Un ejemplo claro puede ser el que tenemos en pantalla, convertir una moneda que tenemos en una tabla a moneda local, de esta forma en nuestro cdigo no hace falta volver a picar este cdigo, simplemente se hace una llamada a la funcin y obtenemos el resultado.

Una funcin consta de cuatro partes, que en verdad son cinco.

  • Un Grupo de Funciones: Es aquel que nos agrupa todas las funciones de un mismo tipo, por ejemplo, todas las conversiones de monedas, temperaturas, pesos, podrian estar agrupadas en un grupo conocido como "UNIDADES".
  • Interface, no es ms que una forma rpida de crear la funcin y de definir todos los parmetros que va a utilizar, tanto de entrada como de salida, as como las excepciones de error.
  • El Texto fuente como su nombre indica es la codificacin propia en ABAP.
  • Cuando se crea un grupo de funciones o se añade una funcin al grupo hay algo que siempre tienen en comn, que son los datos globales, en dichos datos definimos vas variables, tablas y estructuras comunes para todas las funciones del grupo.
  • Y por ltimo, el programa principal es aquel que alberga a todas las llamadas de todas las funciones.

Una de las ventajas de las funciones es que se pueden "testear" sin tener que hacer un programa, ya que SAP nos brinda la posibilidad de ello.

Una vez que entramos en el interface de una funcin, vemos que est est distribuida en diferentes pestañas, la primera para configurar los atributos del objeto y las subsiguientes para su definicin de parametros de entradas y salidas.

  • Importacin, son los datos que van a ser recibidos por la funcin.
  • Exportacin, son los datos que la funcin va a devolver a quien le ha llamado
  • Modificacin, son aquellos datos que el programa envia a la funcin y que luego esta retorna con valor diferente al inicial
  • Tablas, a una funcin tambin se le pueden pasar tablas de datos enteras para ser tratadas o puede incluso devolver tablas.
  • Excepciones son los errores que esta funcin va a devolver, en definitiva son los valores que va a tomar la variable de sistema subrc.
  • Documentacin, es la zona donde podremos poder un comentario a cada uno de los campos de import/export que hemos declarado.

En esta otra imagen, se puede ver perfectamente como los campos han sido declarados, vemos que dichos campos se pueden declarar de forma opcional de esta forma su pase de parametros no tiene que ser obligatorio. Normalmente cuando se declaran los parmetros estos son una referencia a otro campo de otra tabla, es decir, contienen la misma declaracin tcnica que ellos, o puede ser declarados segn los tipos (ver dominios). O incluso los parmetros pueden tener un valor por defecto.

Ya veremos ms adelante que cuando se llama a una funcin desde un programa la estructura de export/import varia, as pues para el programa su zona de export ser la zona de import de la funcin, mientras que en la funcin su zona de export ser la zona de import del programa ya que siempre debe mirarse desde el punto de vista del objeto.