🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP Los módulos de funciones

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.



 

 

 


Sobre el autor

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

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 Master


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. Se crean con la función con la transacción SE37. Un grupo de funciones es un repositorio que agrupa funciones y que se utiliza principalmente para compartir subrutinas y declaraciones de variables entre las distintas funciones presentes al grupo. Al momento de activar el módulo de funciones es indispensable activar los demás objetos involucrados. Esto se realiza en la pantalla de activación junto con el módulo de funciones.

Acceder a esta publicación

Creado y Compartido por: Wellington Pierre / Disponibilidad Laboral: PartTime + Carta Presentación

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

SAP SemiSenior

Resumen Lección: Módulos de Función. Módulos de Función Son funciones que han sido creadas y almacenadas en SAP y que pueden ser utilizadas por cualquier programa ABAP. Grupos de Funciones Es un repositorio que agrupa funciones y que se utiliza principalmente para compartir subrutinas y declaraciones de variables entre distintas funciones pertenecientes al grupo.

Acceder a esta publicación

Creado y Compartido por: Alexander José Tovar Rodríguez

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

SAP Master

Los módulos de funciones son objetos que realizan operaciones que pueden ser utilizadas en varios programas. Al crear un módulo de función con el código que realiza una operación, se evita tener que repetirlo en todos los programas que realicen esa operación añadiendo en ellos una llamada al módulo de función. Además de evitar que se repita el mismo código en diferentes programas, se facilita el mantenimiento del proceso, ya que las modificaciones que se realicen en un módulo de función afectan a todos los programas que lo utilicen. SAP dispone de un gran número de módulos de función predefinidos que se pueden utilizar en nuestros...

Acceder a esta publicación

Creado y Compartido por: William Alejandro Lemus

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

SAP Expert


Los módulos de funciones en SAP ABAP son objetos que encapsulan un conjunto de operaciones o procesos que pueden ser invocados desde otros programas o sistemas. Los módulos de funciones permiten la comunicación y la interacción entre sistemas SAP y sistemas externos de manera estandarizada. Los módulos de funciones son similares a las funciones en otros lenguajes de programación y proporcionan una interfaz para llamar a operaciones específicas en sistemas SAP. Aquí hay información clave sobre los módulos de funciones en ABAP: Definición de un Módulo de Función: Los módulos de funciones se definen en el diccionario de datos y se pueden encontrar...

Acceder a esta publicación

Creado y Compartido por: Darling Geraldino

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

SAP Master

Módulos de funciones Funciones que pueden ser utilizadas por los programas ABAP. Hay muchas funciones creadas ya Transacción SE37 para crear, modificar y visualizar los módulos de funciones Palabra CALL FUNCTION <nombre_del_módulo_de_funciones> EXPORTING para los parámetros de entrada IMPORTING para los parámetros de salida TABLES para las tablas internas EXCEPTIONS para las excepciones El paso a paso para la creación de un módulo de funciones Transacción SM37 Nombre del módulo de funciones y Crear Primero creamos el grupo de funciones Segundo creamos el módulo de funciones generando varios includes ...

Acceder a esta publicación

Creado y Compartido por: David Brito Melado

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

SAP Expert


Módulos de función: Son funciones que han sido creadas y almacenadas en SAP para ser utilizadas por cualquier programa ABAP. Grupo de funciones: Es un repositorio que agrupa funciones y que se usa para compartir subrutinas y declaraciones de variables entre las distintas funciones pertenecientes al grupo.

Acceder a esta publicación

Creado y Compartido por: José Luis Zevallos Mamani

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

SAP SemiSenior

2| MODULO DE FUNCIONES MÓDULOS DE FUNCIONES funciones creadas y almacenadas en SAP. Pueden ser utilizadas x cualquier programa abap GRUPO DE FUNCIONES Repositorio que agrupa módulos de funciones según funcionalidad y se usa principalmente para compartir subrutinas y declaraciones de variables, entre distintos módulos de funciones del mismo grupo. SE37 CALL FUNCTION <nombre_módulo_de_funciones> EXPORTING <parámetros_de_entrada> IMPORTING <parámetros_de_salida> TABLES <tablas_internas> EXCEPTIONS <excepciones>. PASO A PASO - creación de módulo de funciones grupo de funciones - creación de datos globales para m. de func. SE37 - Pasar...

Acceder a esta publicación

Creado y Compartido por: Maximiliano Andres Fraga / Disponibilidad Laboral: FullTime

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

SAP Senior

Abap módulos de función en la programación ABAP, se pueden definir Módulos de Funciones. Los Módulos de Funciones son objetos de ABAP que se crean para ser utilizados en distintos programas, de modo de no tener que generar dicho código en cada uno de los programas ABAP. Estos módulos de función permiten encapsular y reusar funciones globales en el sistema SAP y son manejados en una biblioteca central de funciones, que es la transacción SE37. El sistema SAP estándar contiene muchos módulos de funciones predefinidos que también pueden ser llamados por cualquier programa ABAP desarrollado por el usuario. Siempre que se define un módulo de función será...

Acceder a esta publicación

Creado y Compartido por: Jose Miguel Sanchez Gonzalez / Disponibilidad Laboral: FullTime

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

SAP Master

Módulos de función son los procedimientos especiales que se encuentran visibles de manera global y que pueden ser llamados desde dentro de otros programas ABAP . Sólo pueden ser definidos e implementado en programas ABAP especiales , que se llaman grupos de funciones . Grupos de funciones son programas que no son ejecutables, no pueden ser iniciados usando códigos de transacción o mediante la introducción de sus nombres . Sirven exclusivamente como principal programas para los módulos de función . En la mayoría de los casos , un grupo de funciones contiene varios módulos de función que realizan funciones relacionadas o que operan con los mismos datos. Cuando...

Acceder a esta publicación

Creado y Compartido por: Juan Carlos Ayala Chira

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

SAP SemiSenior

LOS MÓDULOS DE FUNCIONES: Qué son 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 funciones predefinidas 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, tanto estándar como Z, se utiliza la transacción estándar SE37 correspondiente a la Biblioteca de funciones. Transacción SE37: la transacción SE37 permite utilizar la biblioteca correspondiente para la creación,...

Acceder a esta publicación

Creado y Compartido por: Carmelo Salomón Ortiz González / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.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!