✒️ABAP / Los módulos de funciones Por Victor Wong

Selector Alummnos / Empresas

ABAP Los módulos de funciones

ABAP Los módulos de funciones

Tx SE37 - Biblioteca de Funciones
CALL FUNCTION <nombre_funcion>
EXPORTING <parametros_entrada>
IMPORTING <parametros_salida>
TABLES <tablas>
EXCEPTIONS <excepciones>.


CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
titlebar = 'Aplicación de Bancos'
text_question = 'Desea borrar el registro?'
text_button_1 = 'Si'
text_button_2 = 'No'
display_cancel_button = ' '
EXCEPTIONS
text_not_found = 1
OTHERS = 2.

En SE37 usar botón Pattern (Modelo) para insertar dentro del programa el esqueleto de cualquier función creada.


CONSULTAS AL INSTRUCTOR

Consulta Alumno:
Tengo una duda, en la leccion dice que para declarar una subrutina debemos ir a Pasar a / Programa de Control y en la solucion del ejercicio de practica utilizaste Pasar a / Datos Globales. Que diferencia hay en estas dos opciones, en que casos se debe utilizar cada una?

Respuesta Instructor:
Existen dos formas de hacer las cosas:

1-Podemos declarar variables globales y subrutinas globales dentro de la sección "Datos globales".

2-Podemos declarar variables globales dentro de la sección "Datos globales" y declarar subrutinas dentro de la sección "Programa de Control" es decir declarando un INCLUDE de Subrutinas y alli dentro colocar todas nuestras subrutinas.

Podemos utilizar cualquiera de las dos formas, no hay diferencia.


Consulta Alumno:

Buenas noches, he realizado mi ejercicio de crear funciones y grupos de funciones y lo tengo claro.

ahora bien, ¿Como llamo a la función que hemos creado (ZFUN_USUARIOS_UQ67T) en cualquier programa.

He probado con la siguiente linea de codigo despues del REPORT :

INCLUDE ZFUN_USUARIOS_UQ67T.

pero me sale el error de compilación:

"INCLUDE report ZFUN_USUARIOS_UQ67T is not found."

Respuesta Instructor:

Hola Diego, como estas?

Para ejecutar la función que acabas de crear en un programa debes: primero crear el programa, por ejemplo:

ZREPORTE_FUNCION_UQ67T

Y dentro del programa, modificandolo, presionas el botón de la barra de herramientas "Modelo".

A continuación en la ventana de dialogo que se visualiza en pantalla, en el campo CALL FUNCTION introduces el nombre de tu módulo de función y presionas el botón de la tilde verde (Continuar).

Esto provocará que se genere en el programa el esqueleto del modulo de funciones.

Por último, debes completar los parametros de entrada del modulo de funciones y activar el programa.


Consulta Alumno:

HOLA EZEQUIEL

CUANDO CREO EL GRUPO DE FUNCIONES Y QUIERO ACTIVAR EL MODULO DE FUNCION ME DA EL SIGUIENTE ERROR QUE HAGO

REPORT/PROGRAM statement missing, or program type is include.

the main program of the function zprueba_jqa does not begin with FUNCTION-POOL

Respuesta Instructor:

No te preocupes, que este error es muy común y se debe a que al momento de crear el modulo de funciones, estas creando tambien un grupo de funciones e include que tambien deben activarse, es decir cuando visualizas la pantalla de activación también debes seleccionarlos para ser activados junto con el módulo de funciones.


Consulta Alumno:

Hola, cuando trato de activar mi función me marca siempre un error en el grupo de funciones que cree: "REPORT/PROGRAM statement missing, or program type is INCLUDE", ¿A qué se debe?

Respuesta Instructor:
No te preocupes, es un error muy comun que sucede al trabajar con módulos de funciones.

Pasa lo siguiente, cuando creamos modulos de funciones, estamos creando tambien un grupo de funciones y varios includes que se crean en forma automática.

Es por ello que al momento de activar el modulo de funciones, en la pantalla de activación debes seleccionar todos los objetos que se crearon junto con el modulo de funciones, es decir los includes y el grupo de función.


Consulta Alumno:

Hola Ezequiel,

Estoy algo confundida con el ejercicio de practica. Primero porque se crean numerosos include automaticos que debo activar para que me funcione, luego tuve que declarar las variables y estructuras de datos en Pasar a/Programa de control y ahi dentro de INCLUDE LZFUN_USUARIOS_QV33QTOP. " Global Data, de lo contrario me daba un error de Function-Pool (Indicame si esto que hice esta bien???).

Ahora ya no tengo errores pero en la pantalla luego de la ejecucion me pide el valor de la Accion, coloco 'A' por ej, y en T_Usuarios coloca Resultado: 0 Entradas. En la barra de estatus sale por ej 'Se insertaron correctamente los registros', tal como se solicita en el ejercicio. Ahora bien, en T_Usuarios no deberia aparecer algo mas?

Respuesta Instructor:

Lo que hiciste hasta el momento esta perfecto.

Primero creamos el grupo de funciones, luego el módulo de funciones, conjuntamente y en forma automática se generan varios includes.

Posteriormente ingresamos el código correspondiente al módulo de funciones.

Las declaraciones de datos y subrutinas debemos realizarlas en los "Datos Globales".

Finalmente al momento de activar, debemos tener presente que debemos activar "todos" los objetos que se generaron, es decir:

1-El grupo de funciones

2-El módulo de funciones

3-Los includes

Ahora bien, para probar el módulo de funciones lo ejecutamos con F8.

Recordemos que nuestro módulo de funciones realizará Altas, Bajas y Modificaciones de registros existentes en la tabla base de datos Z que creamos anteriormente.

Al ejecutarlo visualizaremos la pantalla donde debemos ingresar los datos a nuestros parametros de entrada. que son:

1-La accion (A, B o M)

2-La tabla T_USUARIOS (1 o más registros)

Es decir lo que te esta faltando es cargar uno o más registros en la tabla T_USUARIOS para que el módulo de función los procese.


Consulta Alumno:
Cuando intento hacer el ejercicio me aparece este error:
PROGRAM/ REPORT statement missing or program type is INCLUDE

Que hago mal?

Respuesta Instructor:

Hola Victor, como estas?

Este error aparece cuando estas intentando activar el módulo de funciones.

Se debe a que al momento de activar, debes tener en cuenta que cuando creamos un módulo de funciones, también creamos un grupo de funciones y sin que nos demos cuenta tambien se crean varios INCLUDES, por lo que activar tambien debes seleccionar estos objetos de la pantalla de activación.


Consulta Alumno:

Hola Ezequiel,

Cuando intento seguir el ejercicio con el cual explicas el crear modulos de función, todo me trabaja bien hasta que en la pestaña TABLES coloco lo que dices ST_USUARIO, Typef: LIKE, Tipo Referencia: Z_TABLA_USARIO, Si intento moverme haci la pestaña de Código me da un error diciéndo "Tables parameter are obsolete".

Respuesta Instructor:

Hola Alberto,

No estas cometiendo ningun error, lo que ves es una advertencia de SAP que puedes saltearla presionando enter.


Consulta Alumno:
Donde se definen los valores de la funcion A y B?

Porque todos los mensajes tienen el mismo número 001 si son distintos?. Esto ya pasaba en el código de la lección anterior.

Respuesta Instructor:

Hola Victor,

La verdad que no comprendo tu primer consulta, te pido por favor que la reformules para poder contestarla.

En cuanto a los codigos de los mensajes esto se debe a que cuando creas una clase de mensajes mediante la transaccion SE91 podras ver que el primer mensaje de la clase es el 000,%uFFFDy que desde alli escribimos%uFFFDtodos los textos que vamos a utilizar.

Por costumbre siempre se comienza por el text-001 que seria el segundo%uFFFDde%uFFFDla clase de mensajes.

Reconsulta Alumno:

En el ejercicio propones dos opciones para el campo ACCION, A y B. ¿Como defino estas opciones en la función?

Respuesta Instructor:

Hola Victor,

Ahora si, la funcion que creamos tiene un campo de entrada que se llama ACCION.

Este campo puede recibir dos valores "A" o "B".

Si la entrada es "A" se realizará cierto procesamiento y si es "B" se realizará cierto otro procesamiento.

Lo importante es que A y B son dos valores que introduce el usuario que ejecuta la funcion a mano.



 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Victor Wong, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.

SAP Master

Victor Wong

Profesión: Técnico en Computación E Informática - Peru - Legajo: JK17P

✒️Autor de: 85 Publicaciones Académicas

🎓Egresado de los módulos:

Certificación Académica de Victor Wong

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Los módulos de funciones" de la mano de nuestros alumnos.

SAP Expert


¿Qué son los módulos de funciones? Los módulos de funciones son funciones que han sido creadas y almacenadas centralmente en SAP. A diferencia de las subrutinas (que suelen ser locales de un programa), los módulos de funciones son objetos globales que pueden ser llamados y utilizados por cualquier programa ABAP. SAP proporciona una gran cantidad de módulos estándar, pero el usuario también puede desarrollar sus propios módulos "Z". Gestión y Transacción Transacción SE37 (Biblioteca de funciones): Es la herramienta principal utilizada para crear, modificar, visualizar y testear los módulos de funciones,. Grupo de Funciones: Antes de crear...

Acceder a esta publicación

Creado y Compartido por: Gabriel José Luces González

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


Introducción a módulos de funciones Conceptos básicos de los módulos de funciones en SAP Los módulos de funciones son funciones almacenadas en SAP y utilizables por cualquier programa ABAP. SAP dispone de muchos módulos de funciones estándar, pero los usuarios también pueden crear sus propios módulos (denominados Z). Acceso y gestión a través de la transacción estándar SE37, permitiendo creación, modificación y visualización. Tienen una interfaz clara con parámetros de entrada (Exporting), salida (Importing), tablas internas (Tables) y manejo de excepciones (Exceptions). Utilización de un módulo de función...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

# Notas sobre Módulos de Función en ABAP ## ¿Qué son los módulos de función? - Son funciones predefinidas almacenadas en SAP que pueden ser reutilizadas por cualquier programa ABAP - SAP incluye muchos módulos estándar, pero también podemos crear nuestros propios módulos (comenzando con Z) - Se acceden mediante la transacción SE37 (Biblioteca de Funciones) ## Estructura de un módulo de función ```ABAP CALL FUNCTION '<nombre_módulo_de_funciones>' EXPORTING <parámetros_de_entrada> IMPORTING <parámetros_de_salida> TABLES <tablas_internas> EXCEPTIONS <excepciones>. ``` ## Grupos de Función...

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Introducción: Los módulos de función (FM) son bloques de código reutilizables almacenados en SAP, accesibles globalmente. Permiten encapsular lógica compleja, estandarizar procesos y facilitar la integración entre sistemas. ¡Imprescindibles para desarrollo profesional! ¿Qué son los Módulos de Función? Definición: Funciones almacenadas en la biblioteca de funciones (SE37) que pueden ser llamadas desde cualquier programa ABAP. Tipos: Estándar: Predefinidos por SAP (ej: POPUP_TO_CONFIRM). Personalizados (Z): Creados por desarrolladores (ej: Z_TEST_CLIENTES). ...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

Los módulos de funciones 1 | ¿Qué son los módulos de funciones? Los módulos de funciones Son funciones que han sido creadas y almacenadas en SAP y que pueden ser utilizadas por cualquier programa ABAP. SAP dispone de un gran número de módulos de funciones predefinidos que son estándar del sistema y que pueden ser llamados por cualquier programa ABAP desarrollado por el usuario- También el usuario puede desarrollar nuevos módulos de funciones Z. Para acceder a los módulos de funciones, ya sea que sean estándar del sistema o Z, utilizaremos la transacción estándar SE37 correspondiente a la Biblioteca de funciones. Transacción SE37 Utilizaremos...

Acceder a esta publicación

Creado y Compartido por: Gustavo Jose Rondon Hernandez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Los módulos de funciones 1 Qué son los módulos de funciones? Son bloques de código reutilizables en ABAP que se definen de forma global en el sistema SAP. A diferencia de las subrutinas, pueden ser utilizados desde cualquier programa o módulo dentro del sistema, lo que los convierte en herramientas fundamentales para la modularidad, reutilización y encapsulamiento de lógica. Características principales: Se crean y gestionan mediante la transacción SE37. Están contenidos dentro de lo que se conoce como un grupo de funciones. Pueden tener parámetros de entrada (IMPORTING), salida (EXPORTING), estructuras de paso (TABLES) y excepciones...

Acceder a esta publicación

Creado y Compartido por: Geovanny Martínez Campoverde

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



¿Qué son los Módulos de Funciones en SAP? En SAP, los módulos de funciones (o function modules en inglés) son componentes reutilizables de código que ejecutan tareas específicas. Pueden considerarse como "bloques de construcción lógicos" que agrupan instrucciones para realizar una función determinada, y están escritos en el lenguaje de programación ABAP (Advanced Business Application Programming). Estos módulos forman parte de la biblioteca de funciones estándar de SAP, aunque los desarrolladores también pueden crear módulos personalizados (Z-function modules). Se utilizan ampliamente en todo el sistema para promover la...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Módulo de funciones Son funciones que han sido creadas y almacenadas en SAP y que pueden ser utilizadas por cualquier programa ABAP. Los módulos de funciones tienen una interfaz o estructura definida, ya que su diseño facilita el paso de parámetros tanto de entrada como de salida y se declaran con la palabra reservada CALL FUNCTION seguida del nombre del módulo de funciones. CALL FUNCTION <nombre_módulo_de_funciones> EXPORTING <parámetros_de_entrada> IMPORTING <parámetros_de_salida> TABLES <tablas_internas> EXCEPTIONS <excepciones>. Ejemplo de uso de un módulo de funciones...

Acceder a esta publicación

Creado y Compartido por: Mauricio Ezequiel Yedro

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

LOS MÓDULOS DE FUNCIONES Son funciones que han sido creadas y almacenadas por SAP y pueden ser utilizadas por cualquier programa ABAP. SAP dispone de un gran número de módulos de funciones predefinidos que so un estándar del sistema y que pueden ser llamados por cualquier programa ABAP desarrollado por el usuario. También el usuario puede desarrollar nuevos módulos de funciones Z. Para acceder a los módulos de funciones ya sean estándar SAP o desarrollos Z utilizamos la transacción SE37 (crear, modificar y visualizar) correspondiente a la biblioteca de funciones. Los módulos de funciones tienen una interfaz o estructura definida, ya que su diseño facilita el paso de...

Acceder a esta publicación

Creado y Compartido por: Carvajal Encina Franco Erasmo / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Modulos de funciones Son funciones creadas y almacenadas por SAP que pueden ser usadas en cualquier programa ABAP. SAP dispone de muchos modulos predefinidos que son estandar en el sistema que pueden ser llamados por los programas, tambien un usuario puede desarrollar nuevos modulos. Para acceder a los modulos de funciones se utiliza la transaccion SE37 Biblioteca de funciones. (sirve para creacion, modificacion y visualizacion de modulos) Tienen una estructura definida y su diseño facilita el paso de parametros entrada/salida. Se declaran con la palabra reservada CALL FUNCTION: CALL FUNCTION <nombre_modulo> EXPORTING <parametro_entrada> (parametros de entrada del modulo de funciones) IMPORTING <parametros_salida>...

Acceder a esta publicación

Creado y Compartido por: Luciano Martinez / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!