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

 X 

✒️Social Break - Seminario de Inserción Laboral SAP

Social Break - Seminario de Inserción Laboral SAP

Social Break - Seminario de Inserción Laboral SAP

CURSO PROGRAMADOR ABAP

Unidad 2 - DECLARACION Y PROCESAMIENTO DE DATOS

Lección 1 – Las características de los programas ABAP

1 – Los objetos de ABAP:

Dentro de SAP se pueden crear muchos tipos de objetos, pero los más comunes con los que vamos a trabajar son:

.Reportes (Clásicos, Interactivos y ALV)

.Programas de diálogo o module pool

.Módulos de funciones o funciones RFC

.Formularios (los principales SAP Scripts y Smartforms

.Batch Input (se utilizan para el ingreso masivo de datos al sistema

.Ampliaciones (User Exit, Customer Exit, Field Exit, Screen Exit, Menu Exit y Enhancement)

.Las Interfaces (los archivos de entrada y los de salida)

Reportes: programa cuyo objetivo es procesar datos de entrada mediante una ´pantalla de selección´o de ´tablas de bases de datos del sistema´. Los datos ingresados se procesan y luego se muestran los resultados en pantalla o se genera un archivo de salida.

En el ejemplo de programa mostrado algunas palabras están escritas en color azul, eso es porque son palabras reservadas del lenguaje ABAP. Existen cuatro tipos de palabras reservadas o claves:

.Declarativas (declaran datos que se usaran dentro del programa. Ej: DATA, TABLES o CONSTANT

.Eventos (eventos que ocurren en el programa. Ej: START-OF-SELECTION, TOP-OF-PAGE o INITIALIZACION)

.De Control (Controlan el flujo del programa. Ej: IF, WHILE o DO)

.Operativas (Realizan funciones según la palabra, ej. WRITE, MOVE o TRANSLATE)

Para la legibilidad del programa es conveniente insertar comentarios en el programa. Existen dos formas de hacerlo:

. Con un asterisco (*) en la primer posición de la fila. Toda la fila quedaría como un comentario

. Con comillas dobles (“), luego del punto de finalización del comando (el comentario quedaría a la derecha de la fila

Dentro de la SE38 en el menú ‘Utilidades / Opciones / Editor ABAP / Editor “, podemos seleccionar si trabajamos con el editor nuevo o el viejo.

2 - Los eventos de un programa:

ABAP es estructurado y orientado a eventos, y a partir de una determinada versión incorpora la programación orientada a objetos.

¿Qué es un evento? Es una etiqueta que identifica una sección de código, comienza con esta etiqueta y termina cuando el siguiente nombre de evento se encuentra. Los nombres de eventos son palabras reservadas y no se pueden crear nuevos eventos, solo utilizar los existentes.

Los principales son:

INITIALIZATION (es el primer evento que se ejecuta dentro del programa, inicializa los campos de la pantalla de selección, una variable, se le puede asignar un tipo y un valor)

AT SELECTION-SCREEN (valida los datos introducidos en los parámetros que conforman a la pantalla de selección, por lo tanto este evento lo encontraremos en los reportes que cuenten con dicha pantalla

START-OF-SELECTION (este evento se procesa luego de procesar las operaciones incluidas en la instrucción REPORT. Este evento realiza el procesamiento central del programa, por ej.: selección de datos, procesar un archivo, realizar operaciones aritméticas, etc.

Si escribimos sentencias sin etiquetas de evento, estas se adjudican por defecto en START-OF-SELECTION

END-OF-SELECTION (el código de este evento se procesa cuando se termina el procesamiento central, es decir, luego de START-OF-SELECTION. Son las últimas sentencias que se ejecutaran en el programa, por lo general realizan impresiones por pantalla o la generación de archivos de salida

AT LINE-SELECTION (se utiliza en el llamado reporte interactivo en donde se muestra en pantalla un listado inicial y a partir de hacer doble clic en alguna línea de este listado se muestra una segunda pantalla con información adicional o detallada, y así cuantos niveles se desee. Con este evento podemos saber en cual línea de la pantalla se hizo doble clic.

AT USER-COMAND (este evento se ejecuta cuando el usuario hace clic en un botón del menú del reporte)

TOP-OF-PAGE (se procesa antes de que el primer dato aparezca en cada página y se utiliza para imprimir o generar títulos o cabeceras

END-OF-PAGE (se lanza automáticamente una nueva página en un listado de salida. Esto ocurre cuando el número de líneas procesado sobrepase al número de líneas fijado para la página en la sentencia REPORT)

(Escribir el programa de ejemplo que está en el curso en este punto específico, para ver una muestra de algunos eventos)

3 – El navegador de eventos:

El navegador de objetos corresponde a la transacción SE80, cuando aparezca la ventana del navegador, nosotros siempre vamos a tener seleccionado Browser de Repository.

Tenemos una lista desplegable a la izquierda de la pantalla, que nos permite seleccionar el tipo de objeto que vamos a utilizar (programa, paquete, grupo de funciones, etc.)

.Jerarquía de aplicaciones: con esta opción puedo crear todos los elementos de la lista desplegable

Lección 2 – El Debugger de ABAP

1 – El Debugger de ABAP:

Deugger es una herramienta para el análisis y la solución de problemas. Se utiliza para ejecutar programas paso a paso y en ese proceso verificar la lógica, contenido de variables, tablas internas, variables del sistema, memoria, etc.

Se accede mediante la transacción SE38 y se puede configurar alguna de las dos versiones disponibles, desde el menú Utilidades / Opciones

Para hacer debuggin se utilizan breakpoints, los cuales se deben insertar en el código fuente del programa.

Breakpoint es un punto de interrupción que se pone en el código fuente, de tal forma que cuando la ejecución del programa llegue a ese punto, se detendrá y podremos analizar su estado en ese momento, justo antes de ejecutar esa línea de código.

Pueden ser:

Estáticos, se escribe el comando Break-Point

Dinámicos, de los cuales tenemos tres tipos:

De debugger (doble clic a la izquierda de una línea particular en código ABAP o a través del icono STOP. Se borran al cerrar el Debugger).

De sesión (solo válidos para la sesión actual, son independientes del usuario SAP que los coloque. Para colocar uno de estos pulsar sobre el botón STOP/Monitor del Debugger. Una vez colocado aparecerá en la barra de status "Sesión de breakpoint fijada").

Externos (son válidos para cualquier aplicación que se ejecute en el sistema, tienen una validez de 2 horas y se asocian a un usuario SAP en particular. Para colocar uno de estos se debe pulsar sobre el botón STOP/Usuario del Debugger).

Una vez colocado un breakpoint de cualquier tipo, se abre un nuevo modo de SAP en donde se visualiza el debugger ABAP.

Una vez que estamos ejecutando el programa en modo debugg, tenemos cuatro opciones para avanzar con la ejecución:

F5: ejecución paso a paso

F6: Ejecuta subrutina a subrutina sin entrar en el contenido de c/u

F7: retorna a la subrutina de nivel superior de la subrutina actual

F8: continúa con la ejecución hasta el final del programa

Para visualizar el contenido de una variable en modo debuggin hacemos doble clic sobre la variable y luego vamos a visualizar a la derecha de la pantalla, allí pulsando sobre el lápiz podemos modificar el valor de la variable, luego dando ENTER, se carga ese valor modificado en la variable.

Watchpoint: Es parecido a un breakpoint pero se activa solo cuando cambia el contenido de un campo especificado.

Como los break-points dinámicos, son específicos del usuario y no afectan a otros usuarios. Solo se pueden activar desde el debugger de ABAP.

Para insertarlo se debe pulsar el boton Watchpoint en la barra de Herramientas, luego de esto se debe especificar el nombre de la variable y si hay la condición (valor) que se debe cumplir para que se ejecute el Watchpoint.

El modo debuggin se puede activar estando en el código del programa, se escribe el comando /H y luego se ejecuta el programa F8

Lección 3 – La Declaración de Datos

1 – Los Tipos de Datos de SAP:

ABAP es un lenguaje tipado, y vamos a necesitar crear tipos de datos ya que los programas utilizan variables, constantes y otros objetos para almacenar los datos a utilizar.

Como lenguaje tipado, cada variable que utilizamos en ABAP tiene un tipo específico, y solo puede contener datos que correspondan a ese tipo de datos.

El lenguaje de programación ABAP divide los tipos de datos en dos grupos:

Tipos Completos y Tipos Incompletos.

Completos: la longitud del dato ya está establecida por el sistema estándar

Incompletos: la longitud del dato la fija en el momento de declarar la variable.

Dentro de los Completos tenemos 8 tipos.

D: Date AAAAMMDD

T: Time HHMMSS

I: Integer Numero de 4 bytes

F: Flotante Numero de 8 bytes

DECFLOAT16 Y DECFLOAT34: Numero decimal de punto flotante de una longitud de 8 y 16 bytes respectivamente

STRING: Carácter de longitud dinámica

XSTRING: Secuencias de bytes de longitud dinámica (cadena hexadecimal)

Dentro de los Incompletos tenemos 4 tipos (a los cuales hay que especificar la longitud fija)

C: Carácter

N: Número

X: Secuencia de bytes (cadena hexadecimal)

P: Números Empaquetados, también es posible especificar la cantidad de puntos decimales

Para declarar una variable en ABAP se utilizan las palabras reservadas: DATA y TYPE

Ej. : DATA: vfecha TYPE d.

Para asignar un valor a una variable o constante, se utiliza la palabra VALUE:

DATA: vfecha TYPE d VALUE ‘20220725’.

DATA vhora TYPE t VALUE ’18:34:00’.

DATA vcantidad TYPE i VALUE ‘1000’.

DATA vnombre(30) TYPE c VALUE ‘Juan Domingo’.

En las variables de tipo c, si no se especifica la longitud, el sistema asumirá que la longitud es de 1 carácter

DATA vtelefono(10) TYPE n VALUE ‘2616353535’.

DATA vtipo TYPE p DECIMALS 11 VALUE ‘3.12345678911’.

Otra forma de declarar variables utilizando TYPE consiste en asignarle a la variable un tipo de datos ya existente en el Diccionario de Datos de SAP:

DATA vnumero TYPE kunnr.

(kunnr es número de cliente en el Diccionario de Datos de SAP. Si hacemos doble clic sobre el tipo KUNNR vamos a visualizar su definición en el Diccionario de Datos)

También podemos declarar una variable que sea igual a otro tipo de datos de otra variable ya creadas en el sistema, para eso utilizamos la palabra LIKE:

DATA vcarrid LIKE sflight_carrid.

(La tabla SFLIGHT es standard del Sistema SAP y contiene información sobre vuelos y que generalmente se utiliza para pruebas o demo)

2 – Las Estructuras de Datos:

Los datos declarados anteriormente son datos simples, pero también existen datos compuestos por varios tipos de datos diferentes, como por ejemplo las Estructuras (puede estar formado por campos relacionados, otras estructuras o inclusive tablas).

Las estructuras por lo general se utilizan cuando trabajamos con tablas internas (son tablas en memoria que permiten guardar gran cantidad de datos organizados en campos con la misma estructura. Cuando termina la ejecución del programa, los datos de estas tablas se pierden.

Existen cuatro formas de declarar una Estructura en un programa ABAP:

.Utilizando la palabra clave DATA. En el ejemplo se declarara una estructura que tendrá los mismos campos que tiene la tabla SFLIGHT:

DATA: wa_vuelos TYPE sflight.

. En la segunda forma vamos a declarar una estructura con solo ciertos campos de la tabla:

DATA: BEGIN OF wa_vuelos,

carrid TYPE s_carr_id, ‘denaminacion breve de la compañia

connid TYPE s_conn_id, ‘codigo de conexion de vuelo

fldate TYPE s_date, ‘fecha del vuelo

END OF wa_vuelos.

. En la tercera forma podemos declarar la estructura tal como en la forma anterior, pero utilizando los tipos de datos completos o incompletos estándar de SAP:

DATA: BEGIN OF wa_vuelos,

Carrid(3) TYPE c, ‘denaminacion breve de la compañia

connid (4) TYPE n, ‘codigo de conexion de vuelo

fldate TYPE d, ‘fecha del vuelo

END OF wa_vuelos.

. En la cuarta forma declaramos una estructura utilizando TYPES (TIPOS) que son formatos de estructuras que pueden ser utilizados por cualquier otra estructura sin necesidad de reescribir el código:

TYPES: BEGIN OF ty_vuelos,

carrid TYPE s_carr_id, ‘denaminacion breve de la compañia

connid TYPE s_conn_id, ‘codigo de conexion de vuelo

fldate TYPE s_date, ‘fecha del vuelo

END OF ty_vuelos.

DATA: wa_vuelos TYPE ty_vuelos

3 – Las Constantes:

Es una variable que se declara dentro de un programa y cuyo valor permanecerá constante a lo largo de la ejecución del programa.

Para declarar una constante se utiliza la palabra reservada CONSTANTS y debemos especificar el tipo de dato y el valor.

Si declaramos una constante de tipo de datos incompleto, debemos especificar la longitud:

CONSTANTS: vc_x(1) TYPE c VALUE ‘X’.

Si declaramos una constant de tipo de datos complete:

CONSTANTS: vnombre TYPE string VALUE ‘Daniel’.

Utilizar constants en lugar de textos entre comillas, es una buena práctica de programación.

4 – Los Include de Datos y de Subrutinas:

Es un tipo de programa u objeto ABAP que se utiliza para modularizar los programas grandes, para que estos sean más legibles y mantenibles.

Esto se llama modularizacion del código

Hay dos tipos de Include: de Datos y de Subrutinas.

Para crear un Include, luego de la sentencia REPORT, se debe utilizar la palabra INCLUDE seguida del nombre del include de datos:

REPORT z_programa.

INCLUIDE z_programa_datos. (Como regla copiar el nombre del programa y agregar _datos)

(Para el caso de Include de subrutinas agregar _sub)

Al hacer clic sobre z_programa_datos el sistema nos preguntara si queremos crea el include de datos. Aquí veremos una ventana de diálogo que nos muestra el objeto que será creado, donde podremos modificar el titulo por defecto y en tipo debemos verificar que estamos creando un programa de tipo Include. Luego hacemos clic en Grabar. A continuación le asignamos un paquete al Include y grabamos.

Creamos una Orden de Transporte y la asociamos al Include de datos.

En este punto aparecerá en el editor de ABAP el programa Include z_programa_datos que estábamos creando, para que empecemos a declarar los datos que necesitamos (variables, constantes, estructuras, etc.).

Usar INCLUDE es considerado una buena práctica de programación.

5 – Las Variables del Sistema:

Además de las variables que define el programador, existen otras variables que han sido definidas por el sistema y son de gran utilidad. Se encuentran en la tabla base de datos SYST, y contienen información que va desde la hora del sistema hasta si se ejecutó correctamente una sentencia. Sus contenidos no se pueden modificar en los programas, solo cambian con la ejecución de los mismos.

Las variables más comunes del sistema son:

SY-SUBRC indica si se ejecutó correctamente una sentencia ABAP 0=si 1=no

SY-DATUM indica la fecha del sistema en formato AAAAMMDD

SY-UZEIT indica la hora del sistema en formato HHMMSS

SY-TABIX contiene el índice de una tabla interna (uno de los casos donde se utiliza es en los bucles LOOP)

Lección 4 – La Gestión de Versiones

1 - La Gestión de Versiones de ABAP:

Cuando creamos un programa u objeto en SAP, o modificamos uno existente, se genera una nueva versión del objeto. Esta nueva versión del programa u objeto está asociada a una Orden de Transporte, que vamos a utilizar para transportarlo a otro ambiente (Testing o Producción).

Si modificamos el programa u objeto luego de haber liberado la orden de transporte, el sistema nos pedirá asociar la modificación a una nueva orden de transporte.

Dentro de la transacción SE38 está la herramienta de Gestión de Versiones de ABAP (dentro del menú Utilidades / Versiones), allí veremos todas las versiones existentes, la versión activa y distintas funcionalidades.

Cada versión tiene asociado un número que comienza con 00001, además la versión de SAP, la Orden de Transporte asociada, la fecha y hora de creación y el usuario de SAP que creo la versión.

La versión activa, por lo general es la última.

Funcionalidades:

.Visualizar, hay que tildar la versión que queremos ver, y des tildar las otras. Solo se puede ver una a la vez.

.Comparar, nos permite comparar el código ABAP de dos versiones diferentes del mismo objeto. En este caso tildamos las dos versiones a comparar y luego pulsamos Comparar, el sistema nos indicara las diferencias.

.Rescatar, permite pisar o sobre escribir la versión actual del objeto SAP por la versión del objeto que hayamos tildado. Esto es útil cuando ya hemos hecho modificaciones en un programa, y se decide no implementar las modificaciones y volver atrás. En este caso se tilda la versión del programa a la que queremos volver y luego se pulsa el botón Rescatar.

Lección 5 – El Procesamiento De Los Datos

1 - La Inicialización de las variables:

Cuando en un programa ABAP trabajamos con variables, primero las declaramos y luego debemos inicializarlas o blanquearlas, es decir, antes de usarlas debemos asegurarnos que su contenido este vacio.

Para esto se utiliza la sentencia CLEAR

CLEAR v_fecha.

o

CLEAR v_fecha2.

CLEAR v_fecha3.

CLEAR v_fecha4.

o

CLEAR: v_fecha, v_fecha2, v_fecha3.

Dependiendo del tipo de variable declarada, al limpiarlas con CLEAR el contenido inicial varía:

Fecha ‘00000000’ hora ‘000000’ caracter ‘ ‘ string ‘ ‘ numérico(13) ‘0000000000000’

La sentencia IS INITIAL nos sirve para consultar si el contenido de una variable es inicial (vacío) o no.

IF v_fecha IS INITIAL.

WRITE ‘La fecha esta vacia’.

ENDIF.

Esta sentencia es útil cuando trabajamos con Tablas Internas.

2 - La asignación de valores a las variables:

Luego de declarar las variables e inicializarlas, debemos asignarles un valor:

v_cantidad2 = V_cantidad1.

MOVE v_cantidad1 TO v_cantidad2.

3 - La referencia de utilización de las variables:

La Referencia de Utilización de Las Variables, se utiliza para saber en qué partes de un programa extenso de ABAP se utilizó una determinada variable.

Hay dos formas de acceder a esto:

.Seleccionamos la variable a consultar (dentro del programa ABAP) y pulsamos el icono de Referencia de Utilización (un cuadro con tres flechas) en la barra de Herramientas del editor de ABAP, luego tildamos donde deseamos buscar la referencia, y el sistema nos mostrara donde se utiliza.

.Hacemos doble clic sobre la variable en el programa y el sistema nos llevara a la declaración de la variable, y volvemos a hacer doble clic sobre ella. Como en la forma anterior, tildamos donde deseamos buscar la referencia, y el sistema nos mostrara donde se utiliza.

4 - Las operaciones con caracteres:

Sentencias para tratar caracteres:

CONCATENATE, concatena varios campos alfanuméricos

CONCATENATE v_campo1 v_campo2 INTO v_campo SEPARATED BY ‘,’.

También se puede usar para trabajar con un solo campo y concatenar parte del mismo, para separar las partes con algún carácter, ejemplo un punto.

Con SEPARATED BY se puede utilizar un campo alfanumérico que se utilizara para separar los campos.

TRANSLATE, se utiliza para convertir a mayúsculas o minúsculas y sustitución de caracteres.

REPLACE, reemplaza cierta parte de una cadena por otra cadena de caracteres.

SPLIT, divide un campo alfanumérico en varios campos por un separador.

SHIFT, desplaza el contenido de un campo alfanumérico, hasta un string dado.

SEARCH, busca una cadena de caracteres dentro de un campo alfanumérico. Si lo encuentra la variable SY-SUBRC es 0, si no es 4.

También se puede utilizar el reporte estándar: rsrscan1

CONDENSE, elimina espacios en blanco en campos alfanuméricos.

5 - Las operaciones aritméticas:

Las cuatro operaciones aritméticas básicas se pueden implementar de dos maneras diferentes:

v_1 = v_2 + v_3

COMPUTE v_1 = v:2 + v_3

ADD 1 TO v_num.

SUBTRACT 1 FROM v:num.

MULTIPLY v_num BY 2.

DIVIDE v_num BY 2.

Lección 6 – El Control Del Flujo de Datos

1 - Las condiciones:

Consisten en la ejecución de una o varias sentencias, en base al cumplimiento, o no, de una determinada expresión lógica. Estas pueden ser verdaderas o falsas.

IF condición.

Sentencia1.

ELSE.

Sentencia2.

ENDIF.

IF anidados: (no es considerado una buena práctica de programación)

IF condición >9

Sentencia1.

ELSEIF condición BETWEEN 4 AND 6.

Sentencia2

ELSEIF condición BETWEEN 7 AND 8.

Sentencia3

ELSE.

Sentencia2.

ENDIF.

Otra forma de representar condiciones:

CASE variable.

WHEN ‘10’.

WRITE ‘resultado1’.

WHEN ‘7’.

WRITE ‘resultado2’.

WHEN ‘8’

WRITE ‘resultado 3’.

WHEN OTHERS.

WRITE ‘otros resultados’.

ENDCASE.

Operadores Logicos: AND OR EQ NE GT LT GE LE

= <> > < >= <=

2 - Los bucles:

Bucle o Ciclo secuencia de instrucciones de código que se ejecuta repetidas veces, hasta que la condición asignada deje de cumplirse.

LOOP – ENDLOOP lo utilizaremos exclusivamente cuando trabajamos con tablas internas. Ej:

Recorreremos la tabla interna ti_salida y lo vamos a almacenar en la estructura wa_salida

LOOP AT ti_salida INTO wa_salida.

WRITE:/ wa_salida-codigo.

wa_salida-nombre.

Wa_salida-apellido.

ENDLOOP.

Con el agregado de la cláusula WHERE se puede restringir el número de líneas a leer:

LOOP At ti_salida INTO wa_salida WHERE codigo > 100.

La utilizaciondel WHERE es considerada una Buena práctica de programación.

DO – ENDDO lo utilizaremos para trabajar con variables y no con tablas internas. Ej:

DO 5 TIMES.

ADD 1 TO variable.

WRITE:/ variable.

ENDDO.

3 - Las sentencias de control:

Se utilizan para terminar el procesamiento de un bucle, de una subrutina o de todo un programa.

CHECK verifica si la condición es verdadera

CHECK sy-surc EQ 0. (si esta condición esta en un bucle LOOP y es verdadera, saltara del LOOP y ejecutara la siguiente sentencia al bucle.

EXIT si ejecutamos esta sentencia dentro de un bucle saldremos del bucle, o dentro de una subrutina saldremos de la subrutina.

IF sy-subrc = 0.

EXIT.

ENDIF.

CONTINUE se utiliza solo dentro de un bucle. Luego de esta sentencia el programa continua con la siguiente iteración del bucle.

DO 5 TIMES.

ADD 1 TO variable.

IF variable = 5.

WRITE:/ variable.

ELSE.

CONTINUE.

ENDIF.

ENDDO

STOP finaliza el programa en ejecucion pero antes se ejecuta el evento END-OF-SELECTION, si es que esta escrito.

IF sy-subrc = 0.

STOP.

ENDIF.

LEAVE finaliza el programa en ejecución y no se ejecuta el evento END-OF-SELECTION

IF sy-subrc = 0.

LEAVE.

ENDIF.

Hay que ser cuidadosos con las sentencias de control, ya que alteran el flujo de control de un programa ABAP.

Lección 7 – El Formato De Salida De Los Datos

1 – El formato de salida de los datos:

Generan reportes de manera sencilla, la más popular es WRITE

WRITE:/ <offset> (<long>) ‘textos a visualizar’.

:/ salto de línea

<offset> columna donde comienza la impression

(<long>) longitud de impresión

WRITE ‘Este es mi primer programa’

WRITE:/20(35)'fin primera parte', v_fecha.

Comando adiciones de WRITE:

LEFT-JUSTIFIED

CENTER

RIGHT-JUSTIFIED

NO-ZERO

NO-GAPS el blanco después del campo que se desea imprimir es omitido

NO-SIGN el signo no aparece en la salida

DECIMALS n define el numero de dígitos decimales

ROUND n redondea el campo de salida para los tipos p

DD/MM/YYYY fecha con separadores

Ejemplo:

WRITE:/20(35)'fin primera parte', v_fecha DD/MM/YYYY, v_legajo no-zero.

NEW-PAGE salta una página.

SKIP n salta n cantidad de líneas, en lugar de write/5

Hay eventos dentro de un programa ABAP destinados especialmente a darle formato a la salida de un reporte, ya sea por pantalla o impresora.

TOP-OF-PAGE cambia la cabecera de una página.

Ej:

TOP-OF-PAGE.

WRITE:/ ‘Cabecera de la página’.

ULINE.

START-OF-SELECTION.

END-OF-PAGE imprime por pantalla los datos, de modo de separar la impresión del procesamiento de datos. Se ejecuta luego de START-OF-SELECTION

Ej:

END-OF-SELECTIOM.

WRITE:/ ‘Se mostro un registro’.

NO STANDARD PAGE HEADING LINE-SIZE con esta sentencia podemos modificar la cantidad de líneas y columnas en la pantalla. Se utiliza a la derecha del comando REPORT.

Ej:

REPORT z_report1 NO STANDARD PAGE HEADING LINE-SIZE 200 cantidad de lineas

LINE-COUNT cantidad de columnas

SY-VLINE antes o despues de un campo, texto o variable, imprime una linea vertical.

El comando ULINE (solo en una línea de programa, imprime una línea horizontal en el ancho de la pantalla.

EJ:

WRITE :/.
ULINE
.
WRITE:/1 sy-vline,
'fin primera parte',
sy
-vline,
v_fecha
.
ULINE.

Lección 8 – La Pantalla De Selección

1 – Los parámetros de selección:

Son delimitadores a nuestro programa para que solo se ejecute para ciertos datos que el usuario introducirá en la pantalla.

Para esto debemos crear una PANTALLA DE SELECCIÓN para nuestro reporte, por lo general se escribe despues de la declaración de datos, dentro del Include de declaración de datos.

La PANTALLA DE SELECCIÓN va a estar compuesta por parámetros de entrada de datos, básicamente existen dos tipos de parámetros:

Los PARAMETER en los cuales el usuario podrá ingresar valores individuales.

Los SELECT-OPTIONS en donde el usuario podrá ingresar rangos de valores.

Ej:

PARAMETER <nombre-parametro> TYPE o LIKE <tipo de parámetro>.

PARAMETERs: p_fecha LIKE sy-datum,

P_nombre(10) TYPE c.

La longitud máxima del nombre de un parámetro es de 8 caracteres.

En la pantalla de selección, y así como está el comando anterior, en el nombre del primer dato a ingresar aparecerá p_fecha, para evitar esto crearemos los llamados TEXTOS DE SELECCIÓN, para cada parametro de selección:

Menú PASAR A / ELEMENTOS DE TEXTO / TEXTOS DE SELECCIÓN

Agregados para PARAMETERS:

OBLIGATORY, parámetro obligatorio, se mostrara con un tilde al costado, lo cual indica que es obligatorio.

DEFAULT, asigna un valor por defecto al parámetro.

Ej:

PARAMETERS: p_fecha LIKE sy-datum OBLIGATORY,

P_fecha2 DEFAULT sy-datum,

P_nombre(10) TYPE C OBLIGATORY,

P_list AS CHECKBOX,

P_Mendoza RADIOBUTTON GROUP bo2,

P_San_Luis RADIOBUTTON GROUP bo2.

SELECT-OPTIONS, permiten ingresar rangos de valores, o sea desde y hasta un valor, ademas de valores individuales:

SELECT-OPTIONS <nombre_parametro> FOR <tipo_parametro>.

Ej:

DATA: v_clavep TYPE land1_gp.

SELECT-OPTIONS s_clavep FOR v_clavep. ‘‘clace de Pais

FRAME, encuadra los parametros de la pantalla de seleccion

Ej:

SELECTON-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

SELECTION-SCREEN END OF BLOCK b1.

Lección9 – El Evento AT SELECTION-SCREEN y Los Tipos de Mensajes

1 –Los Tipos de Mensajes:

Existen diferentes tipos de mensajes que podemos utilizar, según una situación en particular, ocurrencia de un programa. Los tipos son:

S Éxito Se visualiza en la barra de estado (abajo).Luego de su ejecución el procesamiento del programa continua. A la izquierda del texto aparece un icono verde con un tilde

I Información Mostrara una ventana de dialogo para que el usuario interactúe. Se pausar el procesamiento hasta que interactúe el usuario. Al costado del texto se muestra un icono de información

E Error Produce la terminación del procesamiento de la pantalla de selección. A la izquierda del texto se muestra un icono de color rojo con el signo de exclamación

W Warning-advertencia Se muestran en la barra de status de la pantalla, son similares a los mensajes de error, con la excepción que el usuario puede saltear este tipo de mensajes presionando Enter. A la izquierda del texto se muestra un icono rojo con un signo de exclamación.

A Terminación Se muestran en una ventana de dialogo dentro de la pantalla y termina el programa. A la izquierda del texto se muestra la imagen de STOP

X Dump o error en tiempo de ejecución Es un error en tiempo de ejecucion que interrumpe el procesamiento del programa, no se puede utilizar intencionalmente en los programas ABAP, si que ocurre cuando se produce un error no contemplado en la lógica del programa, ej división oir cero.

2 –Las Clases de Mensajes:

Para poder trabajar con mensajes en los programas ABAP, necesitamos primero crear una CLASE DE MENSAJES.

Es un objeto que se utiliza para almacenar todos los mensajes relativos a un proyecto o transacción.

Para crear esta clase utilizamos la transacción SE91, por ejemplo podemos crear la clase Z_CLASE-TEST

Una vez creada la clase de mensaje (el cual es un objeto independiente del programa que necesita ser activado, para luego ser transportado.

En el programa utilizaremos la sentencia MESSEGE para emitir mensajes:

MESSAGE E001(ZCLASE_MENSAJE) WITH <parametroi1><parametro2>

E tipo de mensaje

001 numero del mensaje

(ZCLASE clase del mensaje

Los parámetros son opcionales

En el programa vamos a declarar el evento AT SELECTIOM-SCREEN y allí escribiremos el código correspondiente para ejecutar la validación:

AT SELECTION-SCREEN.

IF p_fecha < sy-datum.

MESSAGE e001(z_clase_test).

ENDIF.

Dentro de los mensajes se pueden mostrar el contenido de variables, o parte texto y parte parámetros.

3 –El evento AT SELECTION-SCREEN:

Se utiliza para validar los datos introducidos en los parámetros de la pantalla de selección, cuestión que no sucede con otros eventos de un programa ABAP.

Todo esto tiene sentido para los programa ABAP que se ejecutan en forma online, o sea, hay interacción con el usuario.

Para poder cumplir con esto vamos a declarar un evento AT SELECTION-SCREEN ON para cada uno de los parámetros que deseamos validar. Ej:

AT SELECTION-SCREEN ON p_fecha.

Instrucciones de validación.

AT SELECTION-SCREEN ON p_nombre.

Instrucciones de validation.

Lección 10 – Social Break - Seminario de Inserción Laboral SAP

Leer, analizar, recordar y poner en práctica todos los consejos dados en esta lección, pensando en futuro.


 

 

 


Sobre el autor

Publicación académica de Daniel Eliseo Perez, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Training

Daniel Eliseo Perez

Profesión: Pycg - Argentina - Legajo: EG88F

✒️Autor de: 5 Publicaciones Académicas

🎓Egresado del módulo:

Presentación:

Me gusta aprender y que ese conocimiento sirva como crecimiento personal, profesional y de utilidad para mi lugar de trabajo y el equipo de trabajo.

Certificación Académica de Daniel Perez

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Social Break - Seminario de Inserción Laboral SAP" de la mano de nuestros alumnos.

SAP Master

Social Break - Seminario de inserción laboral La definición de su ámbito de formación Áreas funcionales. Perfiles SAP funcionales Áreas técnicas. Perfiles SAP técnicos El seniority training Junior. Menos de 2 años de experiencia Semi senior. Entre 2 y 6 años de experiencia Senior. Más de 6 años de experiencia Lugares en donde buscar empleo La búsqueda activa. Consultoras IT, grupos sociales, portales de empleo La búsqueda pasiva. Perfil de la certificación CVOSoft, publicaciones académicas, LinkedIn Googlea tu nombre y apellidos completos para averiguar cuál es tu imagen que mundo tiene de ti!...

Acceder a esta publicación

Creado y Compartido por: David Brito Melado

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

SAP Expert


La inserción laboral para un programador ABAP puede ser bastante prometedora debido a la alta demanda de profesionales con conocimientos en SAP y ABAP en el mercado laboral. Aquí hay algunas estrategias y consejos para mejorar la inserción laboral como programador ABAP: Formación y Certificación: Obtener una formación sólida en ABAP a través de cursos de capacitación y certificaciones oficiales de SAP puede marcar la diferencia en la búsqueda de empleo y demostrar habilidades y conocimientos técnicos. Experiencia Práctica: Buscar oportunidades para ganar experiencia práctica en proyectos de desarrollo ABAP, ya sea...

Acceder a esta publicación

Creado y Compartido por: Darling Geraldino

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

SAP SemiSenior

Hola, soy de Buenos Aires, Argentina tengo 52 años y me perfilo por el lado técnico, trabaje como usuario SAP por más de 3 años, luego de realizar una academia ABAP, trabaje como abaper durante 6 años más en diferentes consultoras, adquirí mucha experiencia junto a mis pares, pero luego deje el mundo IT por un proyecto personal, despues de 10 años, vuelto a retomar SAP ABAP, eligiendo a cvosoft y toda su experiencia para volver a actualizarme. Por el momento no estoy participado de entrevistas pero lo haré a la brevedad, si lo hice en su momento y todo lo descripto en este seminario, estal cual. Inicie mis primeros pasas en la consultora Teknoda la cual daba la capacitación...

Acceder a esta publicación

Creado y Compartido por: Marcelo Alejandro Iacovino / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Master


Lizeth Lorena Castro Ruiz, 42 años, vivo en San Cristóbal, Estado Táchira, Venezuela. Tengo 7 años de experiencia como Full Stack Java, soy amante del mundo de la programación. Estoy iniciando en SAP, como programador ABAP; pues me apasiona trabajar en el mundo empresarial para innovar y dar soluciones enfocadas en satisfacer las necesidades del cliente. En la actualidad la edad no es un límite para aprender nuevas cosas, creo que una forma de mantener activa tu mente es estar en constante aprendizaje. Mi objetivo es llegar a nivel experto, primero como desarrollador ABAP y luego profundizar en aplicaciones web conociendo SAP Fiori. Me gusta LinkedIn como red laboral, veo que a diario se publican ofertas...

Acceder a esta publicación

Creado y Compartido por: Lizeth Lorena Castro Ruiz / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Master

Sobre el tema de la insercion laboral es necesario exporner, que como siempre todo depende de usted y de su actitud al momento de abocarse a tener exito sobre un determinado objetivo. En el momento que baje los brazo, se canse de intentar, deje de golpear puertas o simplemente le gane el desanimo usted perdio. Cada que vez que piensa que no puede hacer algo, alguien piensa que si puede hacerlo ¿ Y adivina quien es el ganador-? 1- En que modulos o areas tengo experiencia? En mi caso tengo experiencia en el area logistica y motivado a ello realice el modulo SD. GANAR EXPERIENCIA VS GANAR DINERO Tomar una persona sin experiencia es un enorme desafio para toda compañia. Nunca permita en una etapa inicial que sus pretensiones salariales...

Acceder a esta publicación

Creado y Compartido por: Pedro Salazar / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Training

CURSO PROGRAMADOR ABAP Unidad 2 - DECLARACION Y PROCESAMIENTO DE DATOS Lección 1 – Las características de los programas ABAP 1 – Los objetos de ABAP: Dentro de SAP se pueden crear muchos tipos de objetos, pero los más comunes con los que vamos a trabajar son: .Reportes (Clásicos, Interactivos y ALV) .Programas de diálogo o module pool .Módulos de funciones o funciones RFC .Formularios (los principales SAP Scripts y Smartforms .Batch Input (se utilizan para el ingreso masivo de datos al sistema .Ampliaciones (User Exit, Customer Exit, Field Exit, Screen Exit, Menu Exit y Enhancement) .Las Interfaces (los archivos de entrada y los de salida) Reportes: programa cuyo objetivo es procesar...

Acceder a esta publicación

Creado y Compartido por: Daniel Eliseo Perez

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

SAP Junior

Hola a todos !! Mi nombre es Jorge Cortés, les cuento que tuve la oportunidad de trabajar con SAP como Usuario Funcional del módulo PP y PM. Esta experiencia la viví sobre el 2012, tuve la oportunidad de no solo ser un usuario , sino , colaborar en el levantamiento de información y estructura del proyecto para la empresa que trabajaba, pues estuve coordinando el proceso de implementación. Vivo y soy de Colombia, tengo 31 años y hoy he volcado mi perfil hacia la tecnología. Como les comentaba empecé mi formación profesional en la industria manufacturera, y mi formación y conocimiento me llevaron a las llamadas Fintech, de ahí la tecnología movió mi camino...

Acceder a esta publicación

Creado y Compartido por: Jorge Cortes / Disponibilidad Laboral: PartTime + 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!