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

 X 

✒️ABAP Las características de los programas ABAP

ABAP Las características de los programas ABAP

ABAP Las características de los programas ABAP

CREACION DE UN REPORTE

Los pasos a seguir para crear un reporte.

  • Entrar en la transacción SE38. Aquí una aclaración, la transacción SE80 proporciona un entorno mucho más amplio de trabajo y desde ella se pueden tener acceso al mismo tiempo a muchas funcionalidades típicas de otras transacciones, pero en esta ocasión no se va a utilizar. Es opcional usar la transacción con la que se sienta más cómodo.

Herramientas / Workbench ABAP / Desarrollo / SE38 – Editor ABAP

Herramientas / Workbench ABAP / Resumen / SE80 – Object Navigator

  • Escribir el nombre del reporte. El nombre del programa debe empezar por el carácter ‘Z’ seguido de un nombre descriptivo del reporte.
  • Seleccionar el botón Crear. Una vez seleccionado ingresar la información requerida con propiedades del reporte.

o Título: la descripción corta que se va a tener el reporte.

o Tipo, Programa Ejecutable: ¿El programa será directamente ejecutable? Si es así, entonces el programa será del tipo ejecutable. Otros tipos se definen en la propia ayuda del campo. Este punto es muy importante.

o Status: este punto no tiene mucha importancia pero sirve para clasificar el programa dentro del workbench ABAP. Se puede decir que es un ‘programa de test’ porque nunca va a subir al sistema productivo de SAP sino que sólo es un ejemplo. Sin embargo, si fuese un programa real aquí se especifica ‘Programa estándar SAP productivo’.

o Aplicación: Corresponde al área funcional del reporte. Si en el documento técnico suministrado se especifica que el reporte requiere un grupo de autorizaciones, debe ser agregado en las propiedades del reporte en el campo Grupo autorizaciones. Y si el reporte requiere la utilización de una Base de Datos Lógica, seleccionar la Base de Datos correspondiente en el campo Base de datos lógica.

Una vez ingresada la información correspondiente a las propiedades del reporte se procede a guardar el mismo. Seleccionar el botón Grabar.

o A continuación se debe ingresar el paquete al cual se va a pertenecer el reporte. Seguidamente ingresar la orden (Workbench) de transporte en la cual se almacenara el reporte. La estructura del programa debe ser modular, es recomendable crear un programa de tipo Include para declarar los datos globales y las pantallas del programa, un Include para las subrutinas y uno para la rutina principal.

o Los demás campos se dejan como aparecen. Si se marca el flag ‘Bloqueo de editor’ se estará indicando que solo el usuario que lo abrió podrá modificar en el futuro este programa. No es nada recomendable ya que se estaría dificultando el trabajo de futuros programadores que trabajasen en la aplicación.

  • Presionar ‘Grabar’ y aparece una nueva pantalla que pide indicar el paquete. Un paquete es un objeto que agrupa programas del mismo tipo. Además al introducir un paquete se está indicando a SAP que este programa se va a transportar y lo siguiente que va a pedir es una orden de transporte. Con una orden de transporte se podrá traspasar el programa del entorno de desarrollo y otros entornos de integración o producción. Si no se desea que el programa vaya a ningún entorno productivo, se marcar ‘Objeto local’. Así no se creará ninguna orden de transporte.

Los INCLUDE se crean de la siguiente manera:

  • Seleccionar el nombre del Include (doble click), se muestra una ventana para crear el objeto. Seleccionar el botón Si.
  • Se muestran las propiedades del Include a crear. En esta pantalla solo seleccionamos el botón de continuar.
  • Guardar en la misma orden Workbench donde inicialmente se guardó el programa.

ACOTACIONES:

1.- Si el reporte utiliza una base de datos lógica, se debe declarar la estructura asociada a la misma con la sentencia TABLE.

2.- La salida del reporte puede visualizarse a través de:

– ALV GRID, haciendo uso de la funciones REUSE_ALV_GRID_DISPLAY y REUSE_ALV_LIST_DISPLAY, o el Método SET_TABLE_FOR_FIRST_DISPLAY.

– Por impresión en pantalla con la sentencia WRITE.

3.- Comentar el código del programa para hacer más sencilla la navegación por el mismo y ayudar a su comprensión a la hora de hacer alguna modificación.

REPORTES INTERACTIVOS

Se muestran igual por pantalla que los normales (la lista básica- Se puede usar un modelo estándar de listado, y adaptarlo a cada report concreto), salvo que en ellos el usuario puede lanzar una(s) lista(s) secundaria(s) en función del (los) evento(s) que active. La lista secundaria opaca en pantalla la primera lista. Pueden generarse como mucho 20 nuevos listados, salvo que se use la sentencia WINDOW para crear una ventana nueva para el nuevo listado. Sentencias o eventos propios de estos listados:

  • AT LINE-SELECTION - el usuario puede seleccionar elementos de la lista mostrada. Se activa si el usuario selecciona (pick-up: doble clic) una línea del informe (generada por WRITE, ULINE, SKIP, ... Pueden incluso seleccionarse líneas en blanco o no válidas: el programa debe discriminarlas), y sólo tras mostrar el informe básico, o bien pulsando F2 o por menú EditChoose. Se usa para ver información asociada al elemento seleccionado.
  • AT PFn - Se activa al ser pulsada la tecla de función Fn especificada (n va de 0 a 99), y sólo tras mostrar el informe básico. Sin crear un status específico, se pueden usar las funciones Fn que no estén ya predefinidas (como son F1 para la ayuda o F3 para back); el código de la tecla Fn pulsada se guarda en SY-UCOMM. Pero este evento debería usarse sólo para probar el programa; para su versión final usar AT USER-COMMAND.
  • AT USER-COMMAND - Se procesa si el susuarioactiva un comando asociado a un ícono, botón o elemento de menú, en un status específico, y sólo tras mostrar el informe básico. Una vez disparado el evento es cuando se puede decidir qué comando se ha pulsado, consultando el campo del sistema SY-UCOMM. Para que el evento TOP-OF-PAGE se active en un listado secundario (así como las cabeceras estándar), debe tener el parámetro DURING LINE-SELECTION. En cambio sí funciona el END-OF-PAGE. Dentro de uno de estos 3 eventos propios de los listados interactivos, usar IF o CASE para decidir las acciones a realizar, en lugar de intentar activar otros eventos. Los siguientes campos del sistema (tabla SYST) pueden servir para controlar el flujo de programa:
    • SY-LSIND: Número del listado (el básico es el nº 0), aunque esté en una ventana diferente.
    • SY-LISTI: Nº de la lista en la que se activó el evento.
    • SY-LILLI: Nº de línea de la lista en la que se activó el evento.
    • SY-LISEL: Contenido de la línea en la que se activó el evento.
    • SY-CUROW: Posición de la línea en la que se activó el evento.
    • SY-UCOMM: Código de función que activó el evento.
    • SY-PFKEY: Status de la lista.

Dentro de ellos NO se pueden codificar sentencias / eventos GET para acceder a bases de datos lógicas (deberá hacerse con SELECT’s), ni hacer SUBMIT’s (llamadas a otros programas).

Se puede volver a la lista anterior con el botón BACK (ç) o bien F3. También se puede fijar un valor para el campo SY-LSIND, y darle el número de lista a la que se debe ir (la básica es la 0). El sistema borra los datos de las listas con número mayor al especificado (con lo que con este método sólo se puede retroceder), las anteriores no. Debe actualizarse SY-LSIND como última sentencia del evento o bloque, para evitar que otras sentencias interfieran y aparezcan problemas.

Pueden asignarse distintos status a las listas secundarias, para crearles botones, menús, … Para ello usar la sentencia SET PF-STATUS nombre [ EXCLUDING f | tabla ]. Con el parámetro EXCLUDING se desactiva en el status dado uno (f) o más (los de la tabla) códigos de función. Así los status pueden hacerse más reutilizables.

Hay 3 formas para pasar datos del listado secundario al programa:

  • Usando directamente los campos del sistema SY-LSIND, SY-UCOMM.
  • Usando sentencias específicas para ello, como HIDE, READ LINE, SET CURSOR FIELD o GET CURSOR LINE.
  • O bien pasando atributos del listado al programa con las sentencias DESCRIBE LIST (NUMBER, LINE o PAGE).

REPORTES ALV

Existen funcionalidades avanzadas para el desarrollo de reportes, mucho más sencillos de construir que los reportes WRITE y mucho más elegantes y prácticos que estos, ya que permiten cierto dinamismo, como agrupar, totalizar columnas numéricas, añadir y quitar columnas, guardar los cambios realizados, exportar a Excel y otros formatos, etc.

Cuando se crea un reporte utilizando funciones ALV es necesario:

Incluir en el programa la librería SLIS, que tiene definidas todas las estructuras de los parámetros de entrada y de salida de esta función.

Esta librería se importa con la instrucción TYPE-SPOOLS: slis.

  • Definir correctamente el catálogo de campos.
  • Definir en el programa todas las subrutinas que implementarán el comportamiento de éste ante la ejecución de determinados eventos o ante la interacción del usuario.
  • Pasarle los datos que deben ser mostrados en el reporte a la función utilizando tablas internas.

Utilizando las funciones ALV, ninguna sentencia WRITE aparecerá en el programa. Se informa a la correspondiente función de los datos que van a ser mostrados, la definición y características de cada uno de éstos datos y de la apariencia, y todo es implementado por la función. En el momento que se llama a una de las funciones ALV para que imprima el reporte, se perderá el control del programa. Esto es, cualquier evento del programa como NEW-PAGE, TOP-OF-PAGE, END-OF-PAGE, etc.

Será controlado e implementado por la función, a no ser que se le indique a la función qué eventos se quieren implementar en el programa. Cada tipo de ALV cuenta con diferentes parámetros de entrada opcionales, pero estos 3 son obligatorios en todos los casos.

Existen 3 tipos principales de reportes ALV, el uso de cada uno dependerá de lo se requiera en un momento dado.

  1. ALV List: permite simular el trazado de un reporte WRITE, pero con las funcionalidades y bondades de un ALV.
  2. ALV Grid: Permite generar una tabla gráfica, totalmente editable desde su presentación (añadir y quitar columnas, agrupar y ordenar, totalizar valores, entre otras).
  3. ALV Jerárquico: Es un tipo de reporte que consta de 2 cabeceras, y permite enlazar la información de ambas partes de una manera gráficamente legible.

Cada uno de ellos tiene su propio módulo de funciones con sus respectivas estructuras

PROGRAMA DE DIALOGO

Un diálogo no es más que una pantalla (dynpro) más un programa Abap subyacente que actúa según las elecciones del usuario (meter datos, elegir comandos, ...) sobre la pantalla presentada. Una transacción llama al proceso de programa asociado. Por tanto, en programación de diálogo se usan diversos objetos: transacciones, dynpros y programas Abap/4 tipo M (module pool).

Las dynpro´s se crean y editan con el Screen Painter.

FORMULARIOS

Los formularios en SAP se utilizan para crear documentos que necesitan ser impresos o enviados por correo electrónico. Ejemplos de los mismos son las facturas, recibos, remitos, etc.

En SAP existen 4 tipos diferentes de formularios:

  • Sapscripts: fueron la primera herramienta de SAP para desarrollar formularios. No es muy amigable y tampoco es muy flexible, pero todavía existen muchos formularios de este tipo en los sitemas SAP.
  • SMARTSTYLES en la cual se definen tipo de parágrafos, tipo de caracteres, los fonts que se van a usar, el tamaño que tendrán, los tabuladores, etc.
  • Smartforms: reemplazaron a los sapscripts en la versión 4.7 de SAP. Son más amigables al desarrollador, y ofrecen más flexibilidad y otras ventajas, como la posibilidad de enviarlos por correo electrónico en formato PDF.
  • Adobe Forms: es la última tecnología de SAP en cuanto a formularios. Es producto de una alianza con Adobe. Estos formularios tienen la ventaja de poder ser interactivos, es decir que es posible crear campos que el usuario deba completar y luego ser enviados por correo electrónico o bien procesados por el sistema.

Los formularios SmartForms son una de las últimas técnicas de SAP para la impresión y envió vía mail y fax de reportes e información tabulada y formateada. A diferencia de la transacción SE71 que se utiliza habitualmente para la creación y edición de los forms estándar en SAP, en los nuevos formularios creados con Smartforms se debe trabajar con dos transacciones.

También cambiara la forma en que se escribe la lógica del programa que controlara el formulario, antes lo hacíamos directamente desde SE38, ahora el sistema escribirá automáticamente las rutinas del control del formulario y nosotros podremos invocar al formulario a través de un par de funciones estándar de sistema dejando de lado la vieja manera del WRITE_FORM etc.

BATCH INPUT

No es más que un proceso automático que permite usar un guión para ejecutar transacciones de forma masiva. Cuando se habla de Bacth-Input se puede estar refiriendo a un fichero plain-text que necesita que un programa standard o propio recoja dicha información, o un programa que simula el proceso de llenado de las pantallas como si el usuario estuviese delante.

Para crear una grabación se ingresa a la transacción SM35 y se da click en el botón "Grabación" o se accesa directamente desde la transacción SHDB dando click en "grabación nueva", aparece una ventana donde se digita el nombre de la grabación y código de transacción y se da click en "Iniciar Grabación", terminar el proceso de la transacción y al regresar a la ventana principal de la SHDB se tendra en el listado el juego de datos (grabación).

USERS EXITS

Es una herramienta de programación abap que se utilizan en sap para implementar validaciones y ampliaciones en el código standard de sap, es decir sirven para acomodar los requerimientos específicos de un cliente a las transacciones estándar de sap.

El código generado por SAP en sus transacciones estándar (para realizar un pedido,…) no se puede modificar (salvo para implementar un parche de SAP), ya que se perdería el soporte que este ofrece a su producto. Para esto están las ampliaciones (BADI’s, user exits, field exits) que al fin y al cabo no son más que fragmentos de código que SAP permite ingresar dentro de su código estándar para realizar ciertas operaciones a medida, en este caso ingresar la información que se necesita en una tabla cuando se crea el pedido en concreto.

FIELD EXITS

Una field exit es como una user exit que se utiliza para relacionar un campo determinado de una dynpro (pantalla) con un programa determinado. A una FIELD EXIT se le llama también EXIT DE CAMPO. Se hace a nivel del elemento de datos. En ella se pueden poner las comprobaciones para un campo en el programa que se quiera. Se pueden tener varias field exit para un mismo campo en distintas pantallas. Se utilizan para relacionar un campo de una Dynpro de un determinado programa con un código de programa o mejor con una función (ir a SE37, biblioteca de funciones, digitar field_exit_* y luego pulsar F4, se visualizan todos los field_exit del sistema). El nexo de unión entre la función y el campo es a través del elemento de datos de dicho campo. Una FIELD EXIT es una función que tiene la particularidad que sólo tiene un parámetro de entrada INPUT y uno de salida OUTPUT.

De inicio a fin no se puede conocer ningún dato más, aunque siempre se pueden utilizar otras field exits para guardar el contenido de otros campos en variables globales al grupo de función, o utilizar la función DYNP_VALUES_READ para leer valores de otros campos de la misma pantalla.

En un Field exit NO podemos usar ninguna de las siguientes instrucciones:

  • BREAK-POINT
  • CALL SCREEN
  • CALL DIALOG
  • CALL TRANSACTION
  • SUBMIT
  • COMMIT WORK
  • ROLLBACK WORK
  • MESSAGE

Para poder activar los Field Exits debemos tener el parámetro abap/fieldexit = YES seteado en el servidor (Transacción RZ10).

FUNCIONES

Una función es una subrutina externa especial que se almacena en una “biblioteca central” de SAP. Hay muchas predefinidas, de librería, así como subrutinas, que pueden ser llamados desde cualquier programa Abap/4. Se pueden crear otras nuevas (indicando el grupo de funciones al que van a pertenecer). Las funciones se crean por menú en Workbench Abap/4 – Biblioteca de Funciones. También se pueden ver y testear (probar su funcionamiento introduciendo valores en los parámetros de entrada de forma manual, al pulsar en el botón Test).

  • Grupo de funciones: Sirve para reutilizar funciones (son programas que calculan algo, que devuelven algo como parámetro(s) de salida). Es análogo a un pool de subrutinas (agrupación de subprogramas). El grupo de funciones crea un programa module pool (se compone sólo de sentencias INCLUDE) de nombre SAPLXXXX, con XXXX el nombre del grupo de funciones.
  • Sintaxis de la llamada a una función: Con esta sentencia se llama a un módulo de función desde programa. Conviene escribir la sintaxis de esta sentencia usando el botón de Traer Modelo del Editor Abap/4, para que aparezcan automáticamente los parámetros concretos de la función. CALL FUNCTION nombre [EXPORTING f1 = a1 … fn = an][IMPORTING f1 = a1 … fn = an ] [CHANGING f1 = a1 … fn = an][TABLES f1 = a1 … fn = an] [EXCEPTIONS f1 = a1 … fn = an].
  • EXPORTING: Parámetros que van hacia el módulo, son los de entrada (la función por tanto no los modifica). Se dan valores actuales a1 … an a los parámetros formales f1… fn de la función (que estarán declarados como IMPORT en la función).
  • IMPORTING: Parámetros de salida (en la función estarán declarados como EXPORT). CHANGING: Parámetros de entrada / salida (son modificables). TABLES: Se usa para pasar tablas internas como parámetros.
  • EXCEPTIONS: Se usa para gestionar excepciones y errores. Cuando se activa la excepción fi, en el campo de retorno SY-SUBRC se tendrá el valor ai. Así se puede saber qué ocurrió al ejecutar la función. Con OTHERS = a se da tratamiento a errores no contemplados.
  • ERROR-MESSAGE = re. Se usa para tratar errores generando un mensaje. Se tendrá el valor re en SY-SUBRC. Se podrá mandar el mensaje desde el programa llamante, accediendo a los campos del sistema: SY-MSGID (nombre del mensaje), SY-MSGNR (número del mensaje), SY-MSGTY (tipo del mensaje), SY-MSGV1SY-MSGV4 (4 textos para los 4 posibles parámetros & del mensaje).

Un Módulo de Función visto desde la SE37 cuenta con en el formulario con las pestañas Atributos, Import, Export, Modif., Tablas, Excep. y Cód.fte.

  • En la pestaña IMPORT será donde crearemos los 3 parámetros de entrada.
  • En la pestaña EXPORT será donde se creará el parámetro de salida. En esta pestaña también creará la tabla que necesitamos.
  • En la pestaña EXCEP se crearán las excepciones requeridas.
  • En la pestaña FTE será donde crearemos el código de la función.
  • La pestaña ATRIBUTOS contiene la información general del Módulo de Función.

Los módulos de función se mantienen utilizando la biblioteca de funciones. Desde esta pantalla se pueden crear, modificar o visualizar todas las partes de un módulo de función marcando las distintas opciones de objetos parciales. Para crear un módulo de función se deberá especificar el nombre en la pantalla inicial y pulsar el botón de crear con la opción ‘Gestión’ activada.

Se debe indicar el grupo de funciones a la que pertenece el módulo de función junto con su la descripción de la función.

Una vez especificado el grupo de función se deberán informar los datos de gestión del módulo de función. Al finalizar la introducción de los datos de gestión se deberá grabar el módulo de función.

EVENTOS DE UN PROGRAMA

Cada evento posible es capturado por la sentencia correspondiente. Un programa Abap no es más que un conjunto de bloques de proceso, cada uno correspondiente a un evento (por tanto, no se ejecutan secuencialmente). Dichas sentencias son: INITIALIZATION, START-OF-SELECTION, END-OF-SELECTION, GET[LATE], TOP-OF-PAGE, END-OF-PAGE, AT SELECTION-SCREEN, AT LINE-SELECTION, AT PFn, AT USER-COMMAND (estos tres últimos son eventos específicos para reports o listados interactivos).

INITIALIZATION - Se ejecuta siempre antes de que aparezca la pantalla de selección, una sola vez. Se usa para inicializar parámetros y criterios de selección. Ejemplo:

PARAMETERS fecha TYPE D DEFAULT sy-datum. INITIALIZATION. fecha 6(2) = '01'. fecha = fecha – 1. START-OF-SELECTION. WRITE fecha.

El tipo D indica tipo fecha (8 caracteres. En este caso con el formato aaaammdd); con DEFAULT se indica el valor inicial por defecto (en este caso es la fecha de hoy, que se obtiene del campo del sistema SY-DATUM). Offsets: fecha 6(2) selecciona desde el carácter 6 de la cadena fecha, los 2 siguientes (el primer carácter es el 0). Así selecciona el día dentro de la fecha. También, con fecha(n) se obtiene el carácter n-ésimo de ese string. La función STRLEN (campo) devuelve la longitud de salida de ‘campo’ (no el máximo declarado, sino el valor ‘relleno’). Por tanto, este programa devuelve la fecha del último día del mes anterior a la actual (el cual se calcula bien, ya sea 30, 31 ó 28).

  • El select-options permite meter un rango de valores para cliente, en lugar de uno solo. Adicionalmente pueden introducirse varios valores individuales, o varios intervalos. El valor ‘i’ para el campo sign indica que el valor está incluido; ‘eq’ indica seleccionar los valores que sean iguales, es decir, los que coincidan con el criterio de selección introducido.

START-OF-SELECTION - Bloque de proceso que se ejecutará tras procesar la pantalla de selección (después de INITIALIZATION), y antes de acceder a las tablas de la base de datos lógica, para empezar a escribir la salida (normalmente un programa Abap hará uso de una o más bases de datos lógicas, que son programas estándar que acceden las tablas SAP de forma simple y jerárquica). En este evento tiene lugar la selección de datos por parte del usuario.

END-OF-SELECTION - Se activa tras procesar todas las tablas de la base de datos lógica (que se acceden en/con el evento GET), o tras finalizar el START-OF-SELECTION si no se usan éstas.

GET tabla [ LATE ] [ FIELDS c1 c2 ...] - Llama al programa de la base de datos lógica, y devuelve la entrada leída de la tabla especificada. Con LATE, GET se activa cuando se han procesado todas las tablas jerárquicamente inferiores a la dada (las tablas se organizan en árbol, y se van recorriendo pasando por ellas hasta alcanzar el dato a leer). Sin LATE, GET se dispara al leer la primera tabla; con LATE espera a recorrer la rama del árbol de tablas. Sin FIELDS se leen todos los campos; con FIELDS sólo se leen los campos especificados, aparte de los clave.

TOP-OF-PAGE [ DURING LINE-SELECTION ] - Se activa justo antes de imprimir la página actual (antes del primer WRITE). Sirve para escribir cabeceras de páginas y títulos. Se ejecuta antes de la primera línea de cada página. Sin la opción DURING LINE-SELECTION, se activa sólo en el informe básico; con esta opción, se activa además en los informes secundarios. La sentencia END-OF-PAGE no activa este evento, pero NEW-PAGE sí lo activa.

END-OF-PAGE - Se activa si se alcanza el área de la página reservada para este evento (con la opción LINE-COUNT en PROGRAM o REPORT) al final de la página; si no hay área definida, no se activa el evento. Con RESERVE n LINES se reservan n líneas al final de la página para escribir el pie de página. La sentencia NEW-PAGE no activa este evento.

AT SELECTION-SCREEN [varios parámetros] - Bloque de proceso que se activa mientras se procesa la pantalla de selección, o bien después de ésta (PAI). Según sus parámetros, se activará cuando el usuario realice cierta acción en la pantalla de selección, como dar valor a un SELECT-OPTIONS. Por tanto, se usa para controlar los datos que introduce el usuario, y sólo tiene sentido en reports.

Parámetros: ON RADIOBUTTON GROUP grupo, ON criterio_selección, ONBLOCK bloque, ON END OF criterio_ selección, ON VALUE REQUEST FOR criterio_selección, ON OUTPUT (se ejecuta el evento cada vez que se pulse Enter en la pantalla de selección, mientras que el evento INITIALIZATION sólo se ejecuta una vez, esa es la diferencia).

DEBUGGUER

El debugger es una de las herramientas más poderosas que tiene SAP para el análisis y la solución de problemas. Se utiliza para ejecutar programas paso a paso y durante el proceso se puede verificar la lógica, inspeccionar el contenido de variables de programa, tablas internas, variables del sistema, áreas de memoria entre otras opciones. Son procesos que se ejecutan en modo batch desde la transacción SM37. Si no se puede modificar el código para agregar una sentencia WAIT o un loop infinito, se debe buscar otra solución al problema.

En versiones iniciales de SAP, el debugger Clásico tenía una interface algo anticuada y era algo limitado así que fue reemplazado por un Nuevo debugger más completo y amigable, haciendo más eficiente el análisis de programas.

Las versiones nuevas de SAP incorporan tanto el debugger clásico como el nuevo, de modo que es posible alternar el uso de los dos modos. Para cambiar el debugger por defecto ingresamos a la transacción SE38 y seleccionamos el menú Utilidades y luego hacemos clic en Opciones. Seleccionamos después la pestaña Debugging y activamos la opción Func.debugging clás o F.Debugging según sea el caso.

Características del nuevo Debugguer

A partir de la versión del SAP Netweaver Application Server 6.40 para Netweaver 2004, ya existe una versión del debugger con funciones extra comparándolo con el debugger clásico.

Sin embargo, la versión nueva del debugger para Netweaver 2004s (SAP Netweaver 7.0) mantiene esas características distintivas y agrega otras tantas que aumentan la potencialidad del producto, a saber:

  • Mismas características que el editor a la hora de visualizar el código, con los distintos formatos presentes y una interfaz similar en este sentido
  • Comparación exhaustiva entre variables
  • Análisis de la memoria
  • Análisis de las pantallas (screens)
  • Información sobre programas cargados
  • Información sobre áreas del sistema
  • La posibilidad de configurar 3 escritorios de prueba (Desktop 1, 2 y 3), permite crear diferentes entornos para realizar depuraciones específicas.

Una vez que se obtiene el entorno de prueba deseado, se puede guardar para ser utilizado en futuras sesiones de debugging. Para ello “salvar el layout”, desde el menú Debugger →Debugger Session→ Save Layout. De esta forma, la próxima vez que se ingrese al debugger, figurarán en el escritorio, las herramientas anteriormente elegidas.

  • La visualización de estructuras y tablas es un agregado importante, ya que permite observar en una misma ventana el contenido de 2 estructuras de datos, facilitando notablemente el trabajo de comparación.
  • De la misma manera, la comparación entre variables viene integrada en una solapa estándar (Diff) que permite seleccionar dos variables sin restricción e ir comparando su contenido paso a paso en la ejecución del programa, permitiendo la modificación de su valor.

Ambas herramientas tienen un log histórico de los objetos seleccionados, de manera que si se quiere volver a enfrentar dos variables o estructuras, simplemente deben elegirse desde dicho log.

La nueva versión del debugger presenta una serie de características que facilita notablemente el trabajo del programador, presentando a su vez una interfaz amigable similar a la del nuevo editor, lo cual impacta en el usuario dando una idea de herramientas que trabajan en conjunto.


 

 

 

2 Agradecimientos:

Han agradecido este aporte: Francisco Compte Sanchez, Juan Giron Ruiz

Favorito:

Está publicación ha sido agregada a sus favoritos por: Juan Giron Ruiz


Sobre el autor

Publicación académica de Sergio Armando Beltran Castaneda, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

Sergio Armando Beltran Castaneda

Profesión: Ingeniero de Sistemas con Especialización en Gerencia de Proyectos - Colombia - Legajo: WK55K

✒️Autor de: 70 Publicaciones Académicas

🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Soy ingeniero de sistemas desde hace mas de 10 años y quiero enfocarme en el mundo sap, iniciando en el lenguaje abap, con miras a ampliar mi conocimiento profesional y laboral.

Certificación Académica de Sergio Beltran

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Las características de los programas ABAP" de la mano de nuestros alumnos.

SAP Expert


Las características principales de los programas ABAP son las siguientes: Orientado a negocios: ABAP está diseñado para abordar problemas y procesos comerciales específicos, lo que permite a los desarrolladores crear soluciones empresariales personalizadas para las necesidades de una organización. Integración con SAP: ABAP es el lenguaje nativo de programación de SAP, lo que significa que está estrechamente integrado con el sistema SAP y puede interactuar directamente con sus componentes y bases de datos. Lenguaje estructurado: ABAP es un lenguaje de programación estructurado que se basa en el uso de procedimientos, funciones y...

Acceder a esta publicación

Creado y Compartido por: Darling Geraldino

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

SAP SemiSenior

Resumen Lección: Características de los programas ABAP Aplicaciones ABAP Reporte, Reporte Interactivo y Reporte ALV. Programas de Dialogo. Formularios. Batch Input. User Exits. Field Exits. Funciones y RFC. Reporte: Es un programa que consiste en una serie de instrucciones y palabras claves cuyo objetivo es procesar datos de entrada o datos que se obtienen de las tablas del sistema y mostrar los resultados del procesamiento por pantalla. Existen cuatro tipos de palabras claves: Declarativas. Eventos. Control. Operativas. Estructura de un Reporte: REPORT <Nombre> (Nombre de programa). TABLES: (Se definen las tablas del diccionario de datos). DATA: (Definimos las...

Acceder a esta publicación

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

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

SAP Senior

Abap características de los programas abap dentro del mundo ABAP se pueden crear distintos tipos de objetos. Los más comunes de ellos son: Reportes clásicos, Reportes Interactivos y Reportes ALV Programas de Dialogo Formularios Batch Input User Exits Field Exits Módulos de Funciones y RFCs Analicemos cada uno de ellos: El Reporting Clásico se caracteriza por listados voluminosos o muy frecuentes, listados pre-impresos, con mezcla de informaciones detalladas y resumidas. El Reporting Interactivo se caracteriza por ser orientado a pantalla, con listados cortos y con datos resumidos. Informaciones detalladas en sublistados o ventanas controlados por teclas de función. Tanto el...

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


Aplicaciones ABAP -------------------------- Se pueden crear distintos tipos de objetos en ABAP. . Reportes, Reporte interactivo y Reporte ALV. . Programa de Diálogo . Formularios. . Batch Input. . User exits. . Field exits. . Funciones y RFC. REPORTE Es un tipo de programa ABAP donde generalmente existe una pantalla de selección, en la cual se introducen ciertos parámetros, luego a partir de estos parámetros se realiza una selección de datos a tablas SAP o tablas Z y finalmente se muestra los datos obtenidos por pantalla mediante la utilización de la sentencia write. Lo que describimos anteriormente se conoce en ABAP como "Reporte Clásico" es decir un reporte generado a partir...

Acceder a esta publicación

Creado y Compartido por: Jorge Iván Pérez Becerra / Disponibilidad Laboral: PartTime + Carta Presentación

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

SAP Junior

Caracteristicas de los programas ABAP Reportes :Es un programa que consiste en una serie de instrucciones y palabras claves cuyo objetivo es procesar datos de entrada o datos que se obtienen de las tablas del sistema Evento de un programa ABAP: es una etiquete que identifica una sección de código dentro de un programa.No importa el orden en el que se escriban los eventos dentro de un programa.

Acceder a esta publicación

Creado y Compartido por: Franklin David Bracho Gutierrez / Disponibilidad Laboral: PartTime

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

SAP Junior

Características programas ABAP. Distintos tipos de objetos en el mundo ABAP. Reporte = Programa ABAP donde existe pantalla de selección, luego se consulta datos tablas SAP o Z,mostrando los datos en pantallas Reporte interactivo = Primer listado de pantalla donde se selecciona un capo y muestra mas información. Reporte ALV = Reporte especifico de ABAP donde nos entrega mas funciones como Grillas , listas y jerarquicos. Programa de Dialogo = consiste en una serie de pantallas o dynpros por las que el usuario va navegando a medida que se ejecuta el programa. Formularios = objeto sap que utilizan para la creacion de documentos que necesitan ser impresos ...

Acceder a esta publicación

Creado y Compartido por: Jose Antonio Aguayo Morales / Disponibilidad Laboral: FullTime

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

SAP Senior

LOS OBJETOS ABAP. Dentro del mundo ABAP se pueden crear distintos tipos de objetos. El tipo de objeto que vamos a necesitar crear o modificar en el sistema va a depender del requerimiento o la necesidad del usuario del sistema SAP. Los objetos ABAP más comunes con los que vamos a trabajar en el día a día como programadores ABAP son los siguientes: Los reportes, dentro de los cuales tenemos los reportes clásicos, el reporte interactivo y el reporte ALV. Los programas de diálogo o también llamado module pool. Los módulos de funciones y los módulos de funciones RFC. Los formularios dentro de los cuales vamos a trabajar principalmente con los SAPScripts y los Smartforms. ...

Acceder a esta publicación

Creado y Compartido por: Juan Alberto Peñalver Alvarez / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


Características de los programas ABAP Los objetos ABAP - Dentro del mundo ABAP, se pueden crear distintos tipos de objetos. El tipo de objeto que vamos a necesitar crear o modificar en el sistema va a depender del requerimiento o la necesidad del usuario del sistema SAP. Los objetos ABAP más comunes con los que vamos a trabajar en el día a día como programadores ABAP son los siguientes: Los reportes, que pueden ser clásicos, interactivos y el reporte ALV Los programas de dialogo o también llamado module pool Los módulos de función y los módulos de función RFC Los formularios Los Batch input, que son un tipo de programa que se utiliza para el ingreso...

Acceder a esta publicación

Creado y Compartido por: Ducelvis Lolimar Arcia Cova / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

Aplicaciones ABAP Reportes programas de dialogo Formularios Batch Input User exits Field exits Funciones y RFC REPORTES Programa cuya finalidad es procesar los datos de entrada y mostrar los resultados mediante pantalla, Existen 4 tipos de palabras clave: declarativas eventos control operativas *para hacer un comentario en ABAP se utiliza un * en la primera columna Evento: es una etiqueta que identifica una sección de código y estas son palabras reservadas. Principales eventos Initialization At-selection-Screen Start-of-Selection End-of-Selection At-line-selection At-user-command Top-of-page End-of-page

Acceder a esta publicación

Creado y Compartido por: Jetzabel Citlali Mendoza Rangel

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

SAP Expert


Unidad 2: Características de los programas ABAP Lección 1: Características de los programas ABAP. 1.1 Aplicaciones ABAP Ø Reporte. Programa que consiste en una serie de instrucciones y palabras clave cuyo objetivo es procesar datos de entrada o datos que se obtienen de las tablas del sistema y mostrar los resultados del procesamiento por pantalla. Ø Palabras clave: o Declarativas: declarar datos que vamos a usar dentro del programa o Eventos: o Control : de flujo o Operativas: 1.2 Eventos de un programa ABAP. Ø INIIALIZATION: (CLEAR) inicializa campos de la pantalla de selección o variable. Ø AT SELECTION-SCREEN: validar datos introducidos...

Acceder a esta publicación

Creado y Compartido por: Brenda Castillo Domínguez / Disponibilidad Laboral: FullTime

 


 

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