🚀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 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 Expert


Módulos de Función: son funciones creadas y almacenadas en SAP que pueden ser usadas por cualquier programa ABAP. En la SE37 se accede a estas funciones (biblioteca de funciones). Se llama mediante la sentencia CALL FUNCION con parámetros EXPORTING, IMPORTING y TABLES y la sentencia EXCEPTIONS.

Acceder a esta publicación

Creado y Compartido por: Daniel Alejandro Monteros Segura

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

SAP SemiSenior

MÓDULOS DE FUNCIÓN. Son funciones que han sido creadas y almacenadas en SAP y que pueden ser utilizadas por cualquier programa ABAP. La transacción SE37, se utiliza para crear, modificar y visualización de los módulos de funciones existentes en el sistema. COMO CREAR UN MODULO DE FUNCIÓN. Se ingresa a la transacción SE37 , allí se escribe el nombre de la función que se desea crear. Solapas funciones. Atributos. se especifica la descripción de la función y el tipo de función que puede ser normal, RFC o update module. Import. Aquí se especifican los parámetros de de entrada de la función. Export. Aquí se especifican los parámetros...

Acceder a esta publicación

Creado y Compartido por: Fabio Gallo

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

SAP Senior

Módulos de función Son funciones que han sido creadas y almacenadas en SAP y que pueden ser utilizadas por cualquier programa ABAP. Modelo (Pettern) Nos permite crear dentro de un programa el esqueleto de cualquier función creada a través de la transacción SE37, simplemente ingresando el nombre de la función que necesitemos. Grupo de funciones Es un respositorio que agrupa funciones y que se utiliza principalmente para compartir subrutinas y declaraciones de variables entre las distintas funciones pertenecientes al grupo.

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Becerra

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

SAP Master

Lección 2: 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. Para el manejo de estas funciones se utiliza la transacción SE37. En el menú del editor ABAP, existe el botón MODELO (Pattern) que permite crear dentro del programa el esqueleto de cualquier función. Para crear un módulo de función accedemos a la transaccion SE37 y escribimos el nombre de la función y damos crear. Grupo de funciones: Es un repositorio que agrupa funciones y que se utiliza para compartir subrutinas y declaraciones de variables entre las distintas funciones del grupo. Cuando...

Acceder a esta publicación

Creado y Compartido por: Calixto Gutiérrez

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

SAP SemiSenior

MODULOS DE FUNCIÓN Son funciones que han sido creadas y almacenadas en SAP y que pueden ser utilizadas por cualquier programa ABAP SE37: Transacción estandar para crear, modificar y borrar modulos 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 un programa ABAP llama a un módulo de función , la función...

Acceder a esta publicación

Creado y Compartido por: Axel Jamil Hayes Guerrero

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

SAP Senior

MODULOS DE FUNCIONES Son funciones que han sido creadas y almacenadas en SAP y pueden ser utilizadas poc cualquier programa abap para crear estas funciones lo hacmos mediante la transacción se37. GRUPO DE FUNCIONES Es un repositorio que agrupa funciones y que se utiliza principalmente para compartir subrutinas y declaraciones de varibles entre las diferentes funciones pertnecientes al grupo

Acceder a esta publicación

Creado y Compartido por: Melissa Rodriguez Dominguez

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

SAP Senior

- Módulos de Función - ¿Qué son los 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. Transacción SE37: Biblioteca de funciones utilizada para la creación, modificación y visualización de los módulos de funciones existentes en el sistema. Cuenta con una interfaz definida, y su diseño facilita el paso de parámetros tanto de entrada como de salida. CALL FUNCTION <nombre_función> EXPORTING <parámetros_entrada> IMPORTING <parámetros_salida> ...

Acceder a esta publicación

Creado y Compartido por: Sandra Erika Bernabe Abreu

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

SAP SemiSenior

MÓDULOS DE FUNCIÓN: Son funciones que han sido creadas y almacenadas en SAP y pueden ser usadas por cualquier programa ABAP, se usa la SE37. SE37: maneja las funciones, da oportunidad para el manejo de los parámetros, tiene una interfaz definida ya que su diseño facilita el paso de parámetros. CALL FUNCTION <NOMBRE_FUNCION> EXPORTING <parámetros_entrada> IMPORTING <parámetros_salida> TABLES <tablas> EXCEPTIONS <exepciones> POPUP_TO_CONFIRM (se utiliza para confirmar información del usuarios antes de tomar una acción determinada). ejemplo: CALL FUNCTION POP_UP_TOCONFIRM' EXPORTING titlebar = 'Aplicación de bancos' text_qestion = 'Desea borrar el...

Acceder a esta publicación

Creado y Compartido por: Gerardo De La Rosa Rivera

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

SAP Senior

Lección: Módulos de Función 1. ¿Qué son los módulos de función? Son funciones que han sido creadas y almacenadas en SAP y que pueden ser utilizadas por cualquier programa ABAP. Para acceder a estas funciones, utilizaremos la transacción SE37, que nos permite crear, modificar y visualizar los módulos de funciones existentes en el sistema. Tiene una interfaz definida, ya que su diseño facilita el paso de parámetros tanto de entrada como de salida: CALL FUNCTION <nombre_función> EXPORTING <parámetros_entrada> IMPORTING <parámetros_salida> TABLES <tablas> EXCEPTIONS <excepciones>....

Acceder a esta publicación

Creado y Compartido por: Pedro Alejandro Arroyo Gutierrez

 


 

👌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!