Está en la página 1de 381

Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e

Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e

1
Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

P r e s e n ta c i n m d u lo :
Programador ABAP Nivel Inicial

CVOSOFTITAcademyFormacinenSistemas.

Manual de Estudios del mdulo

Programador ABAP Nivel


Inicial

El presente manual forma parte del material entregado al alumno de la Academia CVOSOFT como integrante de
sus materiales de estudio.
Este manual no se comercializa por separado.
EDITORIAL CVOSOFT | Todos los derechos reservados.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 1


2
Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CarreraConsultorTcnicoenDesarrolloABAP

MDULO:PROGRAMADORABAPNIVELINICIAL

Domina el lenguaje de programacin mejor pago del mercado

Aprende de una manera fcil y rpida desde tu casa

Adquiere un conocimiento que te proporcione una insercin laboral rpida y efectiva

Trabaja en empresas de primer nivel

Preprate para rendir la Certificacin SAP ABAP C_TAW12_70

1|MduloProgramadorABAPNivelInicial

1.1|Objetivos

El objetivo del mdulo de estudios es que el alumno adquiera todos los conocimientos iniciales necesarios para el
desarrollo de aplicaciones ABAP dentro de un entorno de trabajo SAP.

1.2|Requisitos

Conocimientos bsicos sobre manejo de PC y muchas ganas de aprender.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 2


3
Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

1.3|UnidadesdelPlandeestudio

Unidad 1: Introduccin a ABAP y a SAP

Unidad 2: Declaracin y Procesamiento de datos

Unidad 3: Diccionario de datos

Unidad 4: Subrutinas, Funciones y Batch

Unidad 5: Reportes

Unidad 6: Tratamiento de Archivos y Field Symbols

Unidad 7: Batch Input vs Bapis y Temas avanzados

Unidad 8: Entrega de Materiales y Bibliografa

2|LaEditorialCVOSOFT

EDITORIALCVOSOFT

ISBN: 9789872754921
Copyright 2011
Todos los Derechos Reservados

Todos los nombres propios de programas, sistemas operativos, equipo de


hardware, etc, que aparecen en esta carrera son marcas registradas de sus
respectivas compaas u organizaciones.

El contenido de esta obra est protegido por la Ley, que establece penas de
prisin y/o multas, adems de las correspondientes indemnizaciones por
daos y perjuicios, para quienes reprodujeren, plagiaren, distribuyeren, o
comunicaren pblicamente, en todo o en parte, una obra literaria, artstica o
cientfica, o su transformacin, interpretacin o ejecucin fijada en cualquier
tipo de soporte o comunicada a travs de cualquier medio, sin la perceptiva
autorizacin.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 3


4
Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 4


5
Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

In ic io Nu e v a Un id a d :
Unidad 1: Introduccin a SAP y a ABAP
Introduccin a SAP y ABAP

Curso: Programador ABAP Nivel Inicial

CVOSOFTITAcademyFormacinenSistemas.

Le damos la Bienvenida a una nueva unidad!

Unidad 1: Introduccin a
SAP y a ABAP

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 6


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

:: Descripcin de Unidad

CarreraConsultorTcnicoenDesarrolloABAP

MODULO:ProgramadorABAPNivelInicial

UNIDAD:IntroduccinaSAPyABAP

Presentacin e Inicio de Unidad Introduccin a SAP y a ABAP

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 7


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

:: Lecciones que componen esta unidad

Las siguientes lecciones componen a esta unidad de estudios:

Leccin: Instalacin de SAPNetWeaver


AnalizaremosdetalladamentecadaunodelospasosnecesariospararealizarlainstalacindeSAPNETWEAVERennuestroequipo.

Leccin: Qu es un sistema ERP?


Aprenderemos que es un ERP, cuales son sus caractersticas, el mercado de los ERPs, cuales son los beneficios de utilizarlos, razones para que una
empresalosimplementeylasdesventajasquepresentan.

Leccin: Qu es SAP?
Definimos que es SAP, que soluciones ofrece, conocemos el SAP ECC y otros productos de la empresa. Tambin definimos su arquitectura, los
mdulosfuncionalesquelocomponenylassolucionesdeSAPparaPymes.

Leccin: Qu es ABAP?
DefinimosqueesABAPycualessonsusprincipalesfortalezas,caractersticasyherramientas.

Leccin: Ambientes, Mandantes y Clases de desarrollo o Paquetes


DefinimosenqueconsistenlosAmbientes,losMandantesylasClasesdedesarrollooPaquetes.

Leccin: Login al sistema SAP, ayuda en ABAP y el concepto de transaccin


Mostramos como loguearnos al sistema SAP, las diferentes formas de buscar ayuda en ABAP y explicamos detalladamente el concepto de transaccin
enSAP.

Leccin: Mi primer programa ABAP


CreamosnuestroprimerprogramaABAPyvemosquesonlasrdenesdeTransporte,cualessonsustiposycualessusestados.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 8


Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e

9
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e

10
Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 11


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Instalacin de SAPNetWeaver
Analizaremos detalladamente cada uno de los pasos necesarios para realizar la
instalacin de SAPNETWEAVER en nuestro equipo.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 1: Introduccin a SAP y a ABAP

CVOSOFTITAcademyFormacinenSistemas.

1|QuesSAPNetWeaver?

SAPNetWeaver es una versin reducida de SAP que es perfecta para empezar a aprender la programacin en ABAP,
entre otros temas. La licencia inicial de SAPNetWeaver es por 30 das pero puede extenderse. Esto lo explicaremos
ms adelante en el curso.

2|Dndedescargarlo?

Vamos a descargar el SAPNetWeaver de la SDN, pero previamente a la descarga debemos registrarnos como
usuarios.

Una vez registrados, se nos enviar a nuestro correo personal un mail con el usuario y password. La password
podemos cambiarla una vez logueados a la SDN.

Ahora s, estamos listos para descargar el SAPNetweaver y lo haremos desde el link que mostramos a continuacin.
Aqu descargaremos dos archivos de ms de 3GB de tamao entre los dos, que deberemos descargar en una misma
carpeta en nuestro disco rgido.

Es importante saber que en la SDN existen varias versiones disponibles para instalar. Nosotros
explicaremos el procedimiento de instalacin de la versin SAP NetWeaver 7.02.

Si bien la instalcin de las otras versiones es casi idntica, pueden variar algunas pantallas del proceso
de instalacin.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 12


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.1DistintasversionesdeSAPNetWeaver

DESCARGADESAPNETWEAVERTRIAL

La descarga se debe realizar ingresando al siguiente link :


http://scn.sap.com/community/downloads

Luego de ingresar al sitio realizar la bsqueda colocando SAP NETWEAVER TRIAL como muestra la
siguiente imagen:

Por ltimo, seleccionar el link de 64 o 32 bit dependiendo del sistema operativo con el que cueste. (Si
posee windows 7, el mismo debe ser de 64 bit, en 32 bit no funciona)

Una vez finalizada la instalacin, utilice el usuario BCUSER con la password abcd1234 .

Ser necesario instalar la JRE en caso de no estar instalada en la mquina. Para esto, accederemos al sitio oficial de
Sun Microsystems, seleccionaremos la plataforma que en nuestro caso ser Windows y el lenguaje que ser Multi
lenguaje. Finalmente, descargaremos el programa en nuestra maquina y luego lo ejecutamos.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 13


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Para descomprimir los archivos de instalacin de SAPNetWeaver necesitaremos del programa Winrar.

3|Requerimientosdelsistema

Los requerimientos de la PC para realizar la instalacin de SAPNetweaver son:

Tener instalada la JRE 1.4.2.x

Windows XP Profesional Service Pack 2, Windows Server 2003 o Windows Vista.

En caso de utilizar Windows 7 u otro sistema operativo distinto a los anteriormente mencionados les
recomendamos la instalacin de una mquina virtual.

Este procedimiento lo explicamos en la seccin de descargas de esta leccin.

El Hostname no debe tener ms de 13 caracteres

Imagen3.1HostnamedelequipodondeinstalaremosSAPNetWeaver

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 14


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

El Filesystem debe ser NTFS

Imagen3.2FileSystemdelequipodondeinstalaremosSAPNetWeaver

En caso de no tener un sistema NTFS ser necesario convertirlo utilizando el procedimiento que se puede descargar
del rea de descargas de la leccin.

Internet Explorer 5.5 o superior o Firefox 1.0 o superior

Mnimo 2GB de memoria RAM

Mnimo Procesador Intel Pentium III 1.1 GHz o superior (o procesador compatible)
Mnimo 30 GB de espacio libre en el disco rgido (24GB permanentes libres)

Resolucin del monitor (1024*768 o superior a 256 colores)

Estar seguro que no existan otros sistemas SAP instalados en la mquina

Si ya realizamos la instalacin y fall, debemos desinstalarlo tal como se explica en la seccin de


descargas.

El sistema SAP requiere de muchos puertos para servicios de comunicacin. Por lo tanto, previamente a la
instalacin chequear que el archivo Windows/System32/drivers/etc/services no tenga entradas para los puertos 3200,
3600 y 8000. Si existen deben comentarse colocando un # delante de la lnea.

Para instalar y utilizar el sistema, hay que estar logueado como administrador

Si se utiliza un servidor DHCP para asignar dinmicamente la direccin IP de la mquina, no ser necesario
instalar ningn agregado. Caso contrario, o si la mquina no se conecta a internet, se deber instalar el Ms
LoopBack Adapter. El procedimiento de instalacin del Ms LoopBack Adapter est documentado dentro de la
documentacin de la instalacin y lo comentamos en los siguientes puntos de la leccin.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 15


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

4|Recomendaciones

Desactivar el firewall de windows y el antivirus que tengamos instalado

Es recomendable desactivar el firewall de windows y desinstalar el antivirus que tenemos instalado.

Servicio Servidor de nombre lanmanserver funcionando

Asegurarse que este servicio est activo y funcionando ya que sino la instalacin falla. Debe estar fijado en modo de
inicio automtico.

Imagen4.1Serviciolanmanserveractivoyfuncionando

Aumentar el tamao de la memoria virtual del equipo

Para ello utilizar el Procedimiento para aumentar la memoria virtual del equipo que est disponible en la seccin de
descargas de la leccin.

Usuario del sistema como Administrador y con password

El usuario con el que accedemos a Windows debe tener permisos de administrador y contrasea. Es importante ya que
la consola de SAP trabajar con este usuario y con su contrasea. Si no la fijamos la consola fallar.

Generar un punto de restauracin en Windows previo a la realizacin de la instalacin para realizar la vuelva
atrs en caso de error.

Este procedimiento lo explicamos en la seccin de descargas de la leccin.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 16


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

5|Observacinpreliminar

Antes de comenzar con el procedimiento formal de la instalacin del sistema consultaremos la documentacin oficial
que viene con los archivos que previamente descargamos en nuestra mquina.

Lo primero que haremos ser ejecutar el primero de los dos archivos de instalacin, y dentro de los archivos que se
descomprimen, haremos doble clic en el archivo START.htm.

Imagen5.1ArchivosquecomponenlosejecutablesdeSAPNetWeaver

Luego de unos minutos, veremos la siguiente pantalla de bienvenida:

Imagen5.2BienvenidoalaInstalacindeSAPNetWeaver

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 17


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Presionamos Next y vemos la siguiente pantalla What to expect:

Imagen5.3Quesperaracercadelproducto

Presionamos Next y vemos la pantalla de requisitos para que el sistema funcione. En el ltimo punto de esta pantalla
figura el paso a paso para la instalacin del MS LoopBack Adapter slo en caso de tener configurada una IP fija en la
computadora.

Imagen5.4Requisitosparaqueelsistemafuncione

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 18


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Presionamos Next y vemos la siguiente pantalla donde figura la direccin web para renovar la licencia.

Imagen5.5DonderenovarlalicenciadeSAPNetWeaver

Presionamos Next y veremos la pantalla con la explicacin del procedimiento de instalacin.

Imagen5.6PasosallevaracabolainstalacindeSAPNetweaver

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 19


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

6| Pasos de la instalacin

La instalacin del SAPNetWeaver consiste en la instalacin del servidor de aplicaciones y del SAPGUI que es la
interfase grfica que nos va a permitir acceder al sistema SAP.

La instalacin de ambas aplicaciones puede tardar ms de cuatro horas dependiendo del funcionamiento
de la computadora.

Los pasos para la instalacin son los siguientes:

Debemos colocar, si no lo hemos hecho antes, los dos archivos ejecutables dentro de una misma carpeta.

Instalacindelservidordeaplicacin:

Imagen6.1Archivosquecomponenelejecutabledelservidordeaplicacin

Veremos la siguiente pantalla donde seleccionaremos la opcin SAP Netweaver 7.0 SR1 including Enhacement
Package 1/SAP Application Server ABAP/MaxDB/Central System/Central System y presionamos Next.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 20


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen6.2Elegimoselescenarioainstalar

Luego leemos y aceptamos la licencia del producto.

Imagen6.3AcuerdodelicenciaparalainstalacindeSAPNetWeaver

En caso de no tener instalada la JRE veremos la siguiente pantalla. Aqu tendremos que utilizar el browser para
colocar la ruta donde se encuentra la carpeta de la JRE.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 21


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

En caso de tener instalada correctamente la JRE versin 1.4.2.X no veremos esta pantalla.

Imagen6.4InstalacindelaJRE

Luego debo elegir un nombre para el SAPSID y presiono Next.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 22


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen6.5ElegimosunnombreparaelsistemaSAP

En la siguiente pantalla, simplemente presionamos el botn Next sin ingresar datos.

Imagen6.6SistemaDNSdeSAP

Ahora ingresamos la password master para todos los usuarios. Si presionamos F1 sobre el campo veremos las
condiciones que debe cumplir la password.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 23


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen6.7Ingresamoslapasswordmaster

En la siguiente pantalla, el programa de instalacin evaluar si la configuracin de nuestra computadora cumple con los
prerequisitos para la instalacin.

Seguramente habr alguno o ms puntos que no cumplamos. Igual as, seguiremos adelante con la instalacin
presionando el botn Cancel.

Imagen6.8Prerequisitosquenocumplenuestroequipo

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 24


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Luego veremos la siguiente pantalla para la instalacin del SAP CRYPTOGRAPHIC SOFTWARE. Simplemente
presionamos el botn Next.

Imagen6.9InstalacindelsoftwareCriptogrficodeSAP

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 25


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

En la siguiente pantalla vemos un resumen de las configuraciones previamente realizadas. Presionamos Next.

Imagen6.10Resumendelasconfiguracionesseleccionadas

Ahora s, la instalacin del servidor de aplicaciones ha comenzado.

Imagen6.11Comenzlainstalacindelservidordeaplicaciones

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 26


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Luego de cuatro horas aproximadamente, dependiendo del equipo, si la instalacin finaliz correctamente, veremos la
siguiente ventana.

Imagen6.12Finalizcorrectamentelainstalacindelservidordeaplicaciones

Luego de finalizada la instalacin del servidor de aplicacin, veremos en nuestro escritorio el cono del SAP
Management Console.

Imagen6.13conodelSAPManagementConsole

InstalacindelSAPGUI

Ahora vamos a instalar el SAP GUI. Para esto, tendremos que ejecutar el archivo

SAPGUI710C3

SAP_GUI_7.10_C3_Trial_

2009217_1034.exe

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 27


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

y veremos la siguiente pantalla.

Imagen6.14ComenzamoslainstalacindelSAPGUI

Luego, en la siguiente pantalla, tildaremos a la izquierda del texto SAP GUI 7.10 C3 Trial y presionamos el botn Next.

Imagen6.15ElegimoslaversinainstalardelSAPGUI

Finalizada la instalacin del SAP GUI, veremos en el escritorio de nuestra PC dos conos nuevos, uno es el TWEAK
SAP GUI el cual nos permitir configurar ciertos aspectos no obligatorios de visualizacin de la pantalla y el otro es
el SAP Logon el cual nos permitir loguearnos al sistema SAP.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 28


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen6.16conosquesegeneranenelescritorioluegodelainstalacindelSAPGUI

Llegado a este punto de la instalacin, deberemos reiniciar la computadora.

7| Configurando el SAP Logon

Antes de poder tener acceso al sistema SAP, se tiene configurar una nueva entrada en el SAPLogon. Para esto,
hacemos doble clic en el SAP Logon y veremos la siguiente pantalla.

Imagen7.1SAPLogon

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 29


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Presionamos el botn Nueva entrada y luego continuar y en la siguiente pantalla completamos los campos con los
siguientes datos y despus presionamos el botn Terminar.

Imagen7.2ConfigurandoelSAPLogon

8|IniciandoelsistemaSAP

Una vez que hayamos terminado la instalacin del servidor de aplicaciones y el SAPGUI reiniciaremos nuestro equipo y
al iniciarse veremos dos usuarios: uno es el del administrador que comnmente utilizamos y el otro es el NSPADMIN
que crea la instalacin.

Para utilizar el sistema SAPNetWeaver, utilizaremos el usuario administrador con el que venimos
trabajando, no se debe utilizar el usuario NSPADMIN.

Para poder trabajar con el sistema SAP, cada vez que encendamos nuestra PC, debemos levantar el servidor de
aplicaciones. Para ello, hacemos doble clic en el cono SAP Management Console.

Una vez abierta la aplicacin, abrimos el men NSP/Todas las tareas y presionamos Start.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 30


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen8.1LevantamoselservidordeaplicacionescadavezqueiniciamoslaPC

Luego en la siguiente pantalla, se nos pedir que ingresemos la password del usuario Administrador de Windows con
el que instalamos la aplicacin.

Imagen8.2IngresamoslapassworddeadministradordeWindows

Finalmente, si todo resulto bien, al cabo de un minuto o menos veremos en verde los procesos.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 31


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen8.3Servidordeaplicacionesactivado

9|RecomendacionesPostinstalacin

Es importante tener en cuenta las siguientes recomendaciones luego de realizada correctamente la instalacin:

No debemos actualizar la versin de la JRE a pesar de las recomendaciones de Windows.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 32


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Qu es un sistema ERP?
Aprenderemos que es un ERP, cuales son sus caractersticas, el mercado de los
ERPs, cuales son los beneficios de utilizarlos, razones para que una empresa los
implemente y las desventajas que presentan.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 1: Introduccin a SAP y a ABAP

CVOSOFTITAcademyFormacinenSistemas.

1|QuesunERP?

Las empresas cuentan con diferentes recursos: humanos, tecnolgicos, materiales, financieros e informacin. A medida
que estas crecen, el proceso de control de dichos recursos se hace complicado.

Ante esta circunstancia, la tecnologa de la informacin (TI) ofrece como solucin la implementacin de los sistemas
ERP (Enterprise Resource Planning o Planeacin de Recursos de la Empresa).

ERP

Son sistemas integrales de gestin empresarial que estn diseados para modelar y automatizar los
procesos de una empresa (rea de finanzas, comercial, logstica, produccin, etc.).

Imagen1.1reasquecomponenunsistemaERP

El propsito fundamental de un ERP es otorgar apoyo a los clientes del negocio, tiempos rpidos de respuesta a sus
problemas, disminucin de los costos totales de operacin as como un eficiente manejo de informacin, la cual es
unificada y ordenada en un solo lugar de modo de permitir la toma oportuna de decisiones y acortando los ciclos
productivos.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 33


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Alumno este mdulo de estudios posee muchos "Tips de audio" para que disfrutes, pero no basta con
simplemente escucharlos, sin que hay que "asimilarlos" y aprender los conceptos que en los mismos
se ensean.

Para ello te aconsejo:

Escucha atentamente el tip, cuando lo consideres, pausalo y toma apuntes de lo aprendido.



Si algo no te qued del todo claro, no hay problema, vuelve atrs y analiza nuevamente el
tema, una vez asimilado toma apuntes de lo aprendido.

2|CaractersticasdelosERP

Los sistemas ERP no solo sirven para integrar varios departamentos de una empresa. Para verdaderamente ser
considerado ERP, el sistema debe poseer algunas de las siguientes caractersticas fundamentales:

Flexibilidad: un sistema ERP es flexible de tal manera que responde a las constantes transformaciones de las
empresas. La tecnologa clienteservidor permite al sistema ERP operar sobre diferentes bases de datos por las
conexiones de bases de datos abiertas, pues es muy probable que el mismo producto migre de un rea de produccin
para otra durante el ciclo total de produccin.

Modularidad: el sistema ERP es un sistema de arquitectura abierta, es decir, puede usar un mdulo libremente sin
que este afecte los restantes.

El sistema soporta plataformas mltiples de hardware pues muchas empresas poseen sistemas heterogneos. Debe
tambin facilitar la expansin y/o adaptabilidad de otros mdulos posteriormente.

Comprensivo: el sistema debe estar apto a soportar las diferentes estructuras organizacionales de las empresas, as
como una vasta rea de negocios.

Conectividad: el sistema no se debe confinar al espacio fsico de la empresa y permitir la conexin con otras
entidades pertenecientes al mismo grupo empresarial.

Seleccin de diferentes formas de negocio: debe contener una seleccin de las mejores prcticas de negocios en
todo el planeta.

Simulacin de la realidad: debe permitir la simulacin de la realidad de la empresa en el computadora. De forma


alguna el control del sistema debe estar fuera del proceso y debe ser posible la elaboracin de informes para los
usuarios que controlan el sistema.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 34


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

3|ElmercadodelosERPs

El mercado ofrece a las empresas opciones que varan no slo en precio sino en integracin, plataformas soportadas y
funcionalidad.

Antes de iniciar el proceso de seleccin es muy importante que la empresa tenga muy claro el objetivo por el cual est
implantando un ERP y responda las siguientes preguntas:

Cul es el resultado que se espera?

De cunto tiempo dispone la empresa para alcanzar dicho objetivo?

Quines en la empresa conocen ms a fondo los procesos?

Quines poseen la autoridad para modificar los procesos de uno u otro departamento?

En el siguiente grfico podemos apreciar cuales son los tipos de industrias que ms y menos implementan sistemas
ERP:

Imagen3.1IndustriasquemsimplementansistemasERP

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 35


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Entre los ERP ms conocidos se encuentran:

JD Edwards (Estados Unidos)

Oracle PeopleSoft (Estados Unidos)

Baan (Holanda)

R/3 (Alemania)

A continuacin podemos ver una escala de la presencia en el mercado de los ERP mencionados anteriormente:

Imagen3.2ElmercadomundialdelossistemasERP

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 36


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

4|BeneficiosdelossistemasERP

Varios son los puntos de vista en cuanto a los diferentes beneficios que se esperan en una implementacin de un
ERP, as como los impactos que este tendr en la organizacin.

Es importante mencionar que las diferentes marcas creadoras de software ERP tienen sus beneficios caractersticos.
Sin embargo la mayora de los ERP tienen en comn varios beneficios. Algunos de ellos son:

Solo un sistema para manejar muchos de sus procesos comerciales.

Permiten la integracin entre las funciones de las aplicaciones.

Reducen los costos de la gerencia.

Incrementan el retorno de inversin ROI.

Son una fuente de Infraestructura abierta.

5|RazonesporlascualesunaempresadeseaimplementarunERP

Imagen5.1RazonesporlascualesseimplementaunsistemaERP

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 37


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Existen cinco razones por las cuales las empresas desean implementar un sistema ERP:

Integracin de la informacin financiera: el CEO (Chief Executive Officer) siempre busca tener informacin
financiera. En su bsqueda puede encontrarse con muchas versiones diferentes a la real.

Cada departamento tiene por lo general sus propios nmeros financieros, finanzas tiene su propio juego de nmeros, el
rea de ventas tiene otra versin y las diferentes unidades comerciales de la empresa pueden tener sus nmeros
propios referente a cuanto estn contribuyendo para la empresa.

Con la implementacin de los ERP todos tendrn solo una versin de los nmeros, con esto no habr vuelta de hojas,
todo estar unificado.

Integracin de la informacin de los pedidos de los clientes: con los sistemas ERP es posible centralizar y darle
un seguimiento a los pedidos de los clientes, desde que se recibe el pedido hasta que se entrega la mercanca.

Esto en lugar de tener varios sistemas los cuales se encarguen del seguimiento de los pedidos, ya que por lo regular
se originan problemas de comunicacin entre los sistemas. Con los ERPs esta tarea ser ms fcil.

Estandarizar y agilizar los procesos de manufacturacin: los sistemas ERP vienen con los mtodos estndares
para automatizar algunos de los pasos de un proceso de fabricacin. Estandarizar esos procesos y usar un solo
sistema informtico, integrado puede ahorrar tiempo, aumentar la productividad y reducir los costos.

Minimizar el inventario: los ERPs agilizan el flujo del proceso industrial ms fcilmente, y mejoran la visibilidad del
proceso de cumplimiento de orden por parte de la empresa.

Eso puede originar que los inventarios sean reducidos y ayudar tambin a los usuarios para que desarrollen mejores
planes de entrega con respecto a los pedidos de los clientes. Claro est, que para mejorar realmente el flujo de la
cadena de suministro, sera necesario implementar un sistema que administre a la misma, sin embargo los ERPs
ayudan en gran parte.

Estandarizacin de la informacin de RH (Recursos Humanos): especialmente en compaas con mltiples


unidades de negocios, RH puede no tener un simple mtodo unificado, para seguir el tiempo de los empleados y
comunicarse con ellos sobre beneficios y servicios. Un ERP puede encargarse de eso.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 38


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

6|DesventajasdelosERP

Definitivamente no todo lo que rodea a un ERP es bueno, tambin tienen sus desventajas:

Son caros.

Requieren cambios en la compaa y en los procesos para su instalacin.

Son complejos y muchas compaas no pueden ajustarse a ellos.


Hay pocos expertos en el mercado en ERPs.

Cuando hablamos de sistemas ERPs se nos viene a la mente que estos se utilizan unicamente en mega empresas,
pero desde unos aos que las principales empresas desarrolladoras de sistemas ERP orientaron su mirada hacia las
pequeas y medianas empresas PYMES.

Para poder satisfacer esta amplia brecha del mercado tuvieron que adaptar sus precios a los que una pequea y
mediana empresa puede pagar.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 39


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Qu es SAP?
Definimos que es SAP, que soluciones ofrece, conocemos el SAP ECC y otros
productos de la empresa. Tambin definimos su arquitectura, los mdulos funcionales
que lo componen y las soluciones de SAP para Pymes.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 1: Introduccin a SAP y a ABAP

CVOSOFTITAcademyFormacinenSistemas.

1|QuesSAP?

SAP(Sistemas,AplicacionesyProductos)

Es una empresa alemana creada en 1972, con sede principal en Walldorf, que se dedica a la
comercializacin de aplicaciones de tipo ERP, cuyo objetivo es la administracin integral de una empresa.

Imagen1.1CasacentraldeSAPenAlemania

SAP proporciona una completa gama de aplicaciones de software empresarial y soluciones empresariales para
fortalecer cada aspecto del negocio de una empresa.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 40


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|SolucionesdeSAP

SAP BUSINESS SUITE es una completa familia de aplicaciones empresariales que permite a las empresas administrar
toda su cadena de valores y los procesos empresariales ms importantes.

Ofrece una solucin de software flexible para empresas con muchos usuarios y procesos en constante evolucin.

Imagen2.1ComponentesdelSAPBusinessSuitesegneltamaodelaempresa

Finanzas, recursos humanos y logstica son el ncleo de toda empresa. SAP ERP combina todos estos procesos
empresariales cruciales de una empresa y proporciona funciones tanto para la central de la misma como para las
subsidiarias ms pequeas. Todas las empresas pueden beneficiarse del uso de SAP ERP.

Todo el software debe adaptarse a cada empresa. Una empresa pequea con pocos empleados y unos procesos
relativamente estables pueden utilizar sistemas SAP preconfigurados.

SAP Business AllinOne es el nombre de la marca de soluciones verticales (especficas del ramo o del pas)
basadas en la tecnologa de SAP Business Suite.

SAP Business ByDesign es la solucin empresarial ms completa y adaptable del mundo diseada para liberar a
las empresas medianas de las restricciones de TI tradicional.

SAP Business One es una aplicacin ERP integrada y de gran alcance con una interfase parecida a la de
Microsoft Windows.

A partir del ao 2004 SAP ofrece una nueva plataforma tecnolgica denominada SAPNETWEAVER. Esta plataforma
tecnolgica convierte a SAP en un programa Web enabled, lo que significa que est totalmente preparado para trabajar
con l mediante la web.

Se puede trabajar con SAP mediante cualquier navegador de internet si se tienen los componentes apropiados de SAP
NetWeaver.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 41


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.2EstructurageneraldeSAPNetWeaver

Netweaver es una plataforma de integracin y aplicacin que reduce el costo total de adquisicin en toda la
infraestructura de TI y soporta la evolucin de SAP Business Suite hacia una arquitectura orientada hacia los servicios.

3|SAPERPCentralComponent(ECC):elsucesordeR/3

SAP R/3 ha pasado por varios ciclos de release o nuevas versiones del sistema. En cada nueva versin, las funciones
se han ampliado, las aplicaciones se han optimizado y las interfases con otros componentes de software se han
ampliado.

A medida que SAP lanza nuevas versiones de su sistema va descontinuando el mantenimiento que les
ofrece a las empresas de sus versiones anteriores.

De este modo se obliga a las empresas a actualizar su versin del sistema SAP mediante un proyecto
de Upgrade.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 42


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

SAP ERP Central Component (SAP ECC) es el sucesor de SAP R/3.

R/3

En R/3 la R significa procesamiento en tiempo real y el nmero 3 se refiere a las tres capas de la
arquitectura de proceso: bases de datos, servidor de aplicaciones y cliente.

El predecesor de R/3 fue R/2.

El sistema SAP est compuesto por una serie de reas funcionales o mdulos que responden de forma completa y en
tiempo real a los procesos operativos de las compaas.

Aunque pueden ser agrupados en cuatro grandes reas (financiera, logstica, recursos humanos y funciones
multiaplicaciones), funcionan de un modo integrado, dado que existen conexiones naturales entre los distintos procesos.

Imagen3.1MdulosquecomponenSAPERP

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 43


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Los principales mdulos de la solucin son:

SD (Comercial)

MM (Gestin de Materiales)

PP (Planificacin de Producto)

QM (Gestin de Calidad)

PM (Mantenimiento)

HR (Gestin de Recursos Humanos)

FI (Gestin Financiera)

CO (Controlling)

TR (Tesoreria)

PS (Sistema de Proyectos)

WF (Workflow)

IS (Soluciones Sectoriales)

4|OtrosproductosdeSAP

Las funciones y soluciones principales de SAP ERP se ven reforzadas y ampliadas con las siguientes aplicaciones de
SAP Business Suite:

APO (Advanced Planner and Optimizer)

BW (Business Information Warehouse)

BI (Business Intelligence)

PORTAL (Portal de SAP)

CRM (Customer Relationship Management)

SRM (Supplier Relationship Management)

EHRMS (Human Resource Management Systems)

PLM (Product Lifecycle Management)

KW (Knowledge Warehouse)

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 44


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

5|SolucionesSAPparasectores

SAP tambin ofrece aplicaciones especficas de sector. Muchos sectores requieren soluciones que se agrupan y
enriquecen de manera especial con funciones y procesos especficos. SAP satisface esta necesidad con portafolios de
soluciones para sectores.

Hoy en da existen ofertas disponibles para ms de 20 sectores. Entre ellas se incluyen soluciones para:

Banca ( SAP Banking )

Empresas de servicios ( SAP ISUUtilities )

Industria Qumica SAP For Chemicals

Sanidad SAP For HealthCare

Petrleo y gas SAP for Oil and Gas

Administracin Pblica SAP for Public Sector

Comercio al por menor SAP Retail

6|ArquitecturadeSAP

SAP se configura como una arquitectura clienteservidor de tres capas, con un reparto claro de las funciones.

Las bases de datos estn instaladas en un servidor y componen la capa de datos, el sistema es instalado en otro
servidor y compone la capa de aplicacin y la capa de presentacin est formada por el SAP GUI que es la interfase
grfica del usuario de SAP.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 45


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen6.1ArquitecturadecapasdeSAP

7|SolucionesSAPparaPYMES

PYMES

Siglas con las que se designa a las pequeas y medianas empresas.

Aunque sus principales aplicaciones estn destinadas a grandes empresas, SAP tambin se dirige a la pequea y
mediana empresa PYMES con productos como SAP Business One y mySAP Allinone.

Estas son soluciones SAP desarrolladas para responder a las necesidades de las PyMEs, preparadas para acompaar
el crecimiento futuro de las empresas.

Hoy, ms que nunca, las empresas, cualquiera sea su tamao, deben competir en una perspectiva global, disponer de
las tecnologas de informacin ms modernas y poder aplicarlas de forma eficaz y rentable.

Las empresas pueden tener distintos tamaos, pero todas ellas desarrollan actividades similares (comprar, vender,
relacionarse con sus clientes, organizar la contabilidad, gestionar los recursos humanos y adaptarse a las
modificaciones de las normas legales y financieras).

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 46


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Por este motivo, tambin las pequeas y medianas empresas deben adoptar software para PyMEs que den soporte
total a sus requerimientos y que les permitan reaccionar de forma rpida y flexible a los acontecimientos externos,
interviniendo en la organizacin comercial, en la logstica de la produccin y en la toma de decisiones financieras.

SAP dispone de una estrategia de negocio, adecuando el alcance y los costos de sus soluciones a la dimensin y
estructura de las pequeas y medianas empresas. Para ellas, SAP dispone de las siguientes soluciones:

7.1|Paraempresasmedianas:

SAP Business AllinOne: es la solucin preconfigurada para los requerimientos especficos de los distintos
sectores de actividad y para garantizar una rpida implementacin. Adicionalmente, pueden ser personalizado para que
se adapte totalmente a los requerimientos individuales de cada empresa.

SAP Business AllinOne entiende los problemas reales del cliente, respondiendo directamente a sus problemas,
requisitos y necesidades.

Imagen7.1SAPBusinessAllinOne

7.2|Parapequeasempresas:

SAP Business One: es un software empresarial simple, pero poderoso, que sale al encuentro de las necesidades
nicas de las pequeas y medianas empresas. Con una vasta gama de funciones, incluyendo contabilidad, elaboracin
de informes, logstica y gestin de oportunidades de ventas, entre otras.

Disponible en un paquete de fcil utilizacin y de rpida implementacin, este software para empresas abarca todas las
necesidades y continuar hacindolo, acompaando el crecimiento de cada negocio.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 47


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen7.2SAPBusinessOne

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 48


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Qu es ABAP?
Definimos que es ABAP y cuales son sus principales fortalezas, caractersticas y
herramientas.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 1: Introduccin a SAP y a ABAP

CVOSOFTITAcademyFormacinenSistemas.

1|QuesABAP?

Aunque la cantidad de aplicaciones desarrolladas por SAP es enorme, siempre existe la posibilidad que el cliente
que adquiera el sistema, tenga alguna necesidad tan especfica de su negocio que no est contemplada en el
estndar.

Tambin puede darse el caso que la funcionalidad que ofrece el estndar no se ajuste completamente a las
necesidades del cliente. Para resolver estas situaciones existe un entorno completo de desarrollo de nuevas
aplicaciones integradas en el sistema SAP.

Este entorno, que SAP denomina ABAP Development Workbench, se compone de una serie de herramientas
integradas que permiten crear desarrollos nuevos en poco tiempo.

ABAP

Es un lenguaje de programacin de cuarta generacin, propiedad de SAP, que se utiliza para programar
la mayora de sus productos.

El lenguaje de programacin ABAP se caracteriza por su total integracin en el sistema SAP. No en vano todo el
software de aplicacin, que se calcula en ms de treinta millones de lneas de cdigo, que el cliente recibe cuando
adquiere SAP, est escrito en ABAP.

Mediante ABAP se desarrollan nuevas aplicaciones como complemento a las ya existentes, en la versin de SAP
instalada o como apoyo a la configuracin del sistema, lo que es llamado en SAP como Z y permite a los usuarios
cumplimentar los requerimientos no satisfechos por la versin estndar del sistema.

Podemos decir que la programacin ABAP es estructurada ya que en su mayora, los programas tendrn la tpica
estructura TOPDOWN.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 49


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.1SecuenciadeejecucindeeventosdeunprogramaABAP

No importa el orden en el cual estn escritos los eventos dentro de un programa ABAP debido a que
existe un orden preestablecido de ejecucin de los eventos y este orden es el que se tiene en cuenta al
momento de la ejecucin.

Tambin podemos afirmar que la programacin ABAP es Orientada a Eventos ya que si el usuario no realiza alguna
accin, tal como presionar un botn de la pantalla, nada suceder.

En una de las ltimas versiones del lenguaje ABAP se introduce la programacin Orientada a Objetos de modo de
estar a tono con las ltimas tendencias del mercado mundial.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 50


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|FortalezasdeABAP

Las principales fortalezas del lenguaje son:

Utiliza sentencias de OPEN SQL para conectarse con prcticamente cualquier base de datos.

Es un lenguaje estructurado que puede ser tambin programado orientado a objetos.

Cuenta con miles de funciones para el manejo de archivos, bases de datos, fechas, etc.

Permite conexiones RFC para conectar a los sistemas SAP con cualquier otro sistema o lenguaje de
programacin.

Permite la creacin de aplicaciones multiidioma.

Posee una ayuda muy potente sobre la sintaxis y la semntica del lenguaje.

Permite la realizacin de reportes en forma rpida y sencilla.

3|HerramientaspropiasdeABAP

ABAP posee determinadas herramientas que son propias del lenguaje y no estn presentes en otros entornos de
desarrollo. Ellas son:

Diccionario de Datos (Transaccin SE11): es el punto de referencia para los programadores ya que permite
aislarles del sistema de gestin de base de datos que se utilice por debajo.

Desde un misma pantalla se puede crear, modificar y borrar los objetos de base de datos, entre los que se incluyen:
tablas bases de datos, estructuras, vistas, elementos de datos y dominios.

Las definiciones de las tablas, por ejemplo, pueden ser referenciadas directamente en los programas permitindonos
modificar posteriormente las tablas sin tener que cambiar los programas. Tenemos la posibilidad de gestionar otros
objetos del Diccionario de datos como las ayudas de bsqueda, los objetos de bloqueo o los objetos de autorizacin.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 51


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.1DiccionariodeDatosABAP

Editor de programas (Transacciones SE38 y SE80): el editor ABAP, aparte de proveer de las funciones bsicas
para la edicin de texto, tiene mltiples caractersticas que facilitan la programacin enormemente.

Nos permite efectuar una verificacin de sintaxis y aceptar las sugerencias del dispositivo de correccin automtica que
tiene incluido. Tambin nos permite resaltar las palabras clave y tener una vista en forma de estructura jerrquica que
ofrece la posibilidad de ocultar o desglosar bloques sintcticos.

De esta manera, el programador obtiene una buena visin de conjunto de la estructura general del programa.

Imagen3.2EditorABAP

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 52


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Screen Painter (Transaccin SE51): con esta herramienta crearemos rpidamente interfases grficas de usuario
incluyendo una amplia gama de elementos de control, como botones de pulsacin, botones de radio, checkboxes,
etiquetas, campos de entrada, listas de base de datos, etc.

Las pantallas que se crean se denominan dynpros y en ellas se incluye la definicin de la pantalla y sus campos y la
lgica de proceso de la misma.

Esta lgica de proceso est dirigida por eventos, como los lenguajes visuales modernos, aunque la variedad de
eventos posibles esta bastante limitada.

Imagen3.3ScreenPainter

Entorno de depuracin (Dentro de la transaccin SE38): el modo debugging de ABAP es posiblemente la


herramienta ms alabada por los programadores habituales de este lenguaje.

Tiene todas las ventajas de este tipo de ayudas a la programacin (creacin de breakpoints, watchpoints, ejecucin
paso a paso, ejecucin por bloques...) pero adems nos permite hacer todo esto viendo el cdigo fuente del programa,
por lo que la localizacin del lugar del error es exacta.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 53


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.4EntornodedepuracinABAP

Otras herramientas: existen una gran variedad de herramientas adicionales cuyo uso no es tan frecuente como el
Menu Painter, el anlisis del tiempo de ejecucin, el Object Browser, el sistema de test asistido por ordenador, etc.

4|ElciclodetrabajodeunConsultorABAP

A continuacin vamos a explicar cuales son las tareas que realizan los Consultores Tcnicos ABAP, como es su
interaccin con los Consultores Funcionales de SAP y como es la metodologa de trabajo ms comnmente utilizada en
el ciclo de vida de desarrollo de SAP.

Cada empresa posee su propia metodologa de trabajo, esta metodologa afecta directamente la manera en que la
informacin fluye entre los distintos niveles jerrquicos de la empresa. Si se encuentra bien implementada, mejora el
control de los costos de las peticiones o requerimientos de los usuarios antes de llevarlas a cabo, aunque en primera
instancia pudiera parecer un tanto burocrtica, la misma garantiza la calidad del producto final y la organizacin del
trabajo a realizar, ya que "en teora" los tiempos han sido calculados con antelacin, no teniendo que trabajar a las
apuradas o con demasiado tiempo ocioso improductivo.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 54


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen4.1ElciclodevidadeunrequerimientoenSAP

Veamos un ejemplo para comprender en detalle este concepto.

1LaPeticindelClientealConsultorFuncional

Es muy raro que un gerente de ventas contacte a un consultor Abap o Abaper directamente ante un requerimiento o
peticin de trabajo.

Lo que habitualmente sucede (y es correcto que pase) es que el gerente de ventas cita a un Consultor Funcional SAP,
para este ejemplo, por tratarse de un requerimiento del sector/mdulo de Ventas, tendra que tomar esta peticin un
Consultor Funcional SAP SD, al cual el gerente le comentar sus necesidades de informacin. Por ejemplo:
necesitamos un reporte de ventas que nos sirva para poder medir la productividad de nuestros vendedores a lo largo
del mes.

Luego el Consultor Funcional analizar el pedido del cliente y evaluar si ese trabajo se puede realizar
"parametrizando" el sistema SAP, es decir configurando el sistema a travs de las transacciones existentes. Para el
caso de nuestro reporte de ventas, existe la posibilidad que SAP ya nos proporcione un reporte estndar de ventas
para medir la productividad de los vendedores de la empresa.

Si se puede realizar la adaptacin mediante una "parametrizacin", o si SAP ya nos brinda dicho reporte y el mismo
satisface las necesidades de informacin del cliente entonces ser cuestin de utilizarlo y nuestro trabajo habr
terminado.

Lo que suele suceder en cambio, es que el requisito del cliente excede a una parametrizacin o un reporte ya
existente y es all cuando el "Consultor Funcional" y el "Consultor Tcnico" (el abaper para nuestro caso) se ponen a
trabajar en equipo.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 55


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2LaelaboracindelDiseoFuncional:

La forma ms bsica de realizar este trabajo Funcional y Tcnico en conjunto, es que el Consultor Funcional, lo inicie
elaborando una documentacin llamada "Diseo Funcional", en este documento se le indica al Consultor Tcnico
entre otras cosas lo siguiente:

Si se trata de hacer un programa Nuevo o modificar un programa existente.

La funcionalidad del programa a realizar.

El detalle de la interfaz grfica de seleccin de datos que debe tener el programa o bien la modificacin/es.

Las tablas bases de datos que se accedern para obtener la informacin del programa.

Las pruebas bsicas a realizar luego que el programa est terminado.

Dems documentacin que crea necesaria o til al Consultor ABAP.

Una vez que el Consultor Funcional elabor el "Diseo Funcional", en base a la metodologa con la que trabaje la
empresa, se le pedir al Consultor Tcnico, que en base al Diseo Funcional elabore y entregue un "Diseo Tcnico",
el cual es un documento en donde se especifica el trabajo que deber realizar desde el punto de vista tcnico, es decir
se detalla:

El nombre del programa a crear.

Los campos que componen lo que se denomina en ABAP la pantalla de seleccin.

La forma de acceder a las tablas de la base de datos para obtener informacin.

Las validaciones que se realizarn en el programa.

Si se imprimirn datos en pantalla.

Si se generar un archivo de salida y muchas cuestiones ms.

Normalmente aqu tambin se incluir la estimacin de las horas que se presume insumir realizar o modificar el
programa. Esta estimacin por la general se elabora de comn acuerdo entre el Consultor Funcional y el Consultor
Tcnico ABAP en base a:

La dificultad de la tarea a realizar.

La experiencia que posee el Consultor ABAP como programador.

3LaelaboracindelDiseoTcnicoylaProgramacin

Una vez finalizado el Diseo Tcnico, el Consultor ABAP comenzar el desarrollo del programa o modificacin a
realizar.

Al terminarlo lo probar, realizando lo que se conoce como "Pruebas Unitarias", es decir pruebas bsicas para
asegurarnos que el programa cumple con los requisitos que nos solicitaron y avisa al consultor funcional.

El Consultor Funcional a su vez realizar sus propias pruebas, las cuales se conocen como "Pruebas integrales", en
donde se probar el programa rigurosamente y si est todo en orden, avisar al cliente, cerrando de esta manera el
requerimiento establecido en un principio.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 56


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

La programacin del requerimiento puede ser efectuada por el mismo Consultor ABAP que elabor el
diseo tcnico o puede ser asignada a otro Consultor ABAP, lo cual en ciertos casos resulta ms
eficiente ya que incorpora la visin de otra persona, la cual puede ayudar a reducir los errores
cometidos al elaborar la especificacin tcnica.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 57


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Ambientes, Mandantes y Clases de desarrollo
o Paquetes
Definimos en que consisten los Ambientes, los Mandantes y las Clases de desarrollo
o Paquetes.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 1: Introduccin a SAP y a ABAP

CVOSOFTITAcademyFormacinenSistemas.

1|AmbientesyMandantes

Como en todos los mbitos de desarrollo de software, se configuran en SAP tres ambientes, uno de desarrollo, uno
de pruebas y otro de produccin, que es donde se utilizan las aplicaciones desarrolladas y probadas satisfactoriamente.

AMBIENTE

Es un servidor donde ha sido instalado el sistema SAP.

Por ejemplo: el ambiente de desarrollo se instala en el servidor 1, el ambiente de pruebas se instala en


el servidor 2 y el ambiente de produccin se instala en el servidor 3.

Los programadores tendremos acceso para desarrollar nuestros programas en el ambiente de desarrollo.

Accederemos al ambiente de testing o pruebas para probar en forma integral y con datos actualizados nuestros
programas y muy ocasionalmente ingresaremos al ambiente de produccin, en caso de que se haya reportado alguna
incidencia o error, que requiere de nosotros para ser detectado y solucionado.

A su vez, en cada ambiente, existen distintos mandantes, siendo independientes los datos que se visualizan en cada
mandante dentro del mismo ambiente. Por ejemplo, puede existir el mandante 100, que se utiliza para la configuracin
del sistema, el mandante 200 que se utiliza para el desarrollo de las aplicaciones y el mandante 300, que se utiliza
para las pruebas unitarias dentro del ambiente de desarrollo.

MANDANTE

Es una instancia creada dentro de un ambiente, que se utiliza para configuracin, desarrollo o pruebas.

Por ltimo, existen dentro de cada mandante, dos tipos de objetos, los que son independientes de mandante y los
que son dependientes de mandante. Por ejemplo, un programa es independiente de mandante ya que si lo creamos
en el mandante 200, el programa tambin va a existir en los mandantes 100 y 300.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 58


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Los datos de una tabla son dependientes del mandante ya que si a esta tabla le ingresamos registros en el mandante
200, estos registros no van a existir en los restantes mandantes dentro del mismo ambiente.

En el grfico que vemos a continuacin, tenemos una posible distribucin de los mandantes y los ambientes dentro de
una instalacin SAP.

Imagen1.1EstructuradeAmbientesyMandantestpicadeunaimplementacinSAP

Los datos de las bases de datos y los formularios (concepto que veremos ms adelante) son
dependientes del mandante en el que fueron creados.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 59


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|MandantesEstndar

Cualquier sistema SAP se instala inicialmente con tres mandantes estndar.

Imagen2.1MandantesestndardeSAP

Las funciones de los mandantes estndar son las siguientes:

Mandante 000: es el mandante de referencia. No contiene datos de parametrizacin empresarial y por lo tanto las
creaciones de mandante propios se deben hacer como copias de este para asegurarnos que empezamos la
parametrizacin desde cero.

Durante un cambio de versin de SAP los datos dependientes de mandante se actualizan automticamente en el 000 y
los cambios al resto de mandantes se deben hacer desde aqu.

No debe modificarse o borrarse ningn aspecto del mandante 000.

Mandante 001: es el mandante de ejemplo. Inicialmente es idntico al 000 y salvo que lo cambiemos nosotros,
ninguna actualizacin de SAP lo va a modificar, al contrario de lo que ocurre con el 000. Siempre lo podemos tener
como ejemplo de la instalacin inicial aunque SAP no impone ninguna prohibicin de cambiarlo o borrarlo.

Mandante 066: es el mandante del servicio EarlyWatch, cuyo objetivo es garantizar la confidencialidad de nuestros
datos reales en productivo. Este mandante est aislado y es al cual se conecta SAP cuando le pedimos que nos
realice un servicio de deteccin de problemas de rendimiento. Los usuarios de este mandante tiene las autorizaciones
mnimas para poder ejecutar el informe de rendimiento. Este mandante tampoco debe ser borrado ni modificado
nunca.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 60


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

3|MandantesPropios

A partir del mandante de referencia 000 podemos crear tantos mandantes como queramos (siempre que el tamao de
nuestra base de datos nos lo permita). En el ambiente de desarrollo se suelen crear varios mandantes, en integracin
o testing algunos menos y en el ambiente de produccin solo debe existir un mandante propio.

A continuacin vamos a describir los mandantes que se crean habitualmente y cuales son sus funciones. Aunque
vemos que tienen un nmero asignado, esto se ha hecho para facilitar la diferenciacin entre ellos.

Imagen3.1MandantespropiosdeSAP

En nuestro sistema SAP nosotros podemos darle el nmero que queramos a cada mandante propio.

Es posible implementar SAP con ms o menos mandantes de los indicados pero hay que buscar el equilibrio entre
muchos y pocos. Con pocos mandantes podemos tener conflictos durante la parametrizacin, el desarrollo de
programas o las pruebas, pero con muchos mandantes estaremos aumentando el tamao de la base de datos y
empeorando el rendimiento adems de requerir un mayor esfuerzo en los procedimientos de administracin de
sistemas.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 61


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Las funciones de los mandantes propios son las siguientes:

Mandante 200: Desarrollo y parametrizacin en el sistema de desarrollo. Aqu iniciamos nuestro prototipo de empresa
y creamos los primeros desarrollos a medida que sean necesarios. Los programadores y consultores de aplicacin
trabajan en este sistema. No tendremos datos maestros ni transaccionales de manera que la pruebas las realizaremos
en el mandante 220 despus de pasar todos los cambios hechos aqu.

Mandante 210: se lo conoce como Sandbox. Las pruebas inusuales de parametrizacin las realizaremos en el 210
de manera que no interrumpamos el trabajo normal del mandante 200. Los cambios que hagamos aqu no se registran
en ningn sitio de manera que si probamos algo en lo que nos va bien debemos repetirlo a mano en el 200 para que
quede grabado en una orden de transporte (concepto que veremos ms adelante) y se pueda pasar al mandante de
pruebas unitarias. Peridicamente y para mantener el mandante limpio se har una copia de refresco desde el 220.

Mandante 220: Pruebas unitarias en desarrollo. Los responsables de desarrollo y parametrizacin efectuarn aqu las
pruebas unitarias del prototipo que se est creando. Aqu si que tendremos datos maestros y transaccionales aunque
no sern muy fiables debido a que la parametrizacin puede cambiarse.

Mandante 300: Pruebas integradas y control de calidad en integracin. La funcin de este mandante es similar a la
del 220 pero con la diferencia de que las pruebas incluyen la interaccin entre los diferentes mdulos, rendimiento y
aprobacin del usuario.

Tambin se comprueba que el paso de las rdenes de transporte desde el ambiente de desarrollo sea correcto como
garanta de que el paso de esas mismas rdenes a produccin tambin lo sea.

Mandante 310: Formacin a usuarios finales. Una vez superadas las pruebas correspondientes al mandante 300,
pasamos el prototipo aqu para que los usuarios finales reciban los cursos de formacin y tengan un sitio donde poder
seguir practicando despus. De esta manera, los datos maestros y transaccionales que crean no nos interfieren en
nuestro trabajo habitual.

Mandante 320: Maestro de parametrizacin. Este mandante se usa nicamente como referencia para poder consultar
la parametrizacin que tenemos en productivo sin tener que acceder a la mquina de productivo, no obligndonos a
dar acceso a la misma a personal no autorizado.

Para que cumpla su funcin se deben transportar los cambios al mandante 400 y al 320 al mismo tiempo y
mantenerlos siempre sincronizados.

Mandante 400: Mandante productivo. Aqu es donde se lleva a cabo la explotacin real del software. Este es el nico
mandante propio que debe existir en el ambiente productivo. Antes del arranque en productivo realizaremos aqu las
cargas iniciales de datos maestros, movimientos e histricos.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 62


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

4|ClasededesarollooPaquete

CLASEDEDESARROLLO

La Clase de Desarrollo o tambin llamada "Paquete", es una forma de organizar todos los nuevos
objetos que se crean en SAP, clasificndolos generalmente por mdulos.

Poniendo un ejemplo, un objeto sera un archivo y la clase de desarrollo sera la carpeta donde guardamos el archivo.

Existe la Clase de Desarrollo $ TMP, que se utiliza para los objetos temporales que no se van a transportar entre
ambientes, es decir para pruebas.

Al momento de crear un nuevo objeto en el sistema, SAP nos proporcionar la pantalla que vemos a continuacin para
que le asignemos el Paquete al que pertenece. En este caso, el paquete es Z_WEB_SERVICE.

Imagen4.1Asignacindelpaqueteoclasededesarrollo

TransaccinSE80

Las Clases de Desarrollo o Paquetes se crean a travs de la transaccin estndar SE80.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 63


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Login al sistema SAP, ayuda en ABAP y el
concepto de transaccin
Mostramos como loguearnos al sistema SAP, las diferentes formas de buscar ayuda
en ABAP y explicamos detalladamente el concepto de transaccin en SAP.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 1: Introduccin a SAP y a ABAP

CVOSOFTITAcademyFormacinenSistemas.

1|LoginalsistemaSAP

Como dijimos anteriormente, la arquitectura que utiliza SAP es Clienteservidor de tres capas, donde el sistema y las
bases de datos estn instaladas en el servidor y los usuarios se conectan a ste a travs del SAP Logon.

Imagen1.1SAPLogon

Si hacemos doble clic en el SAP Logon podremos visualizar en pantalla todas los sistemas configurados en el. Para
ingresar a estos sistemas basta con marcar la entrada y presionar el botn Acceder al sistema.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 64


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.2SistemasconfiguradosenelSAPLogon

En la pantalla que visualizamos a continuacin introducimos los siguiente datos:

El mandante o cliente al que nos vamos a loguear.

Nuestro usuario de acceso a SAP.

La password de dicho usuario.

Imagen1.3CompletamosnuestrousuarioypassworddeSAP

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 65


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Y finalmente presionamos enter. Inmediatamente luego visualizamos el modo SAP con el men correspondiente al
usuario logueado.

Imagen1.4MeninicialdeSAP

Desde este sector, podemos acceder a todas las transacciones permitidas para el usuario logueado.

Otra forma de hacer lo mismo es escribir la transaccin a la que deseamos ir en el campo de comandos.

Imagen1.5Campodecomandos

Por ejemplo, ms adelante veremos que la transaccin SE38 nos lleva al Editor ABAP.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 66


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|AyudaenABAP

Existen cuatro sistemas de ayuda para aprender y desarrollar en ABAP. Es muy importante tenerlos en cuenta para
resolver rpido cualquier inquietud que nos surja. Ellos son:

Desde el entorno de trabajo, presionando F1 sobre cualquier sentencia, el sistema nos proporcionar ayuda con
ejemplos que generalmente son muy tiles.

Imagen2.1AyudapresionandoF1sobreunasentenciadeABAP

Usando la ayuda extendida de SAP. En todas las pantallas de SAP tenemos la opcin Ayuda desde la que podemos
buscar informacin.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 67


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.2Ayudaextendidaporaplicacin

SDN en donde vamos a encontrar una enorme cantidad de informacin y ayuda sobre cualquier tema dentro del
mundo SAP.

Imagen2.3AyudaatravsdelaSDN

Internet en general. Aparte de la SDN, existen muchas otras pginas, foros y blogs donde encontraremos informacin
muy til.
CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 68
Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

3|ElconceptodetransaccinenSAP

Una transaccin comercial es un intercambio entre una parte del sistema y otra. La planta de produccin, por ejemplo,
quiere un suministro desde el almacn a cambio de un recibo. El almacn sabr utilizar este recibo para conciliar el
saldo de esta pieza en el inventario de las mismas.

Mientras tanto, el departamento de contabilidad habr anotado que el material ha pasado de la cuenta del almacn a la
de la planta de produccin y definir una transaccin financiera para registrar el intercambio de valor por el material.

Cuando un usuario est trabajando en una terminal, por ejemplo un cajero automtico, una transaccin con el sistema
no queda terminada hasta que ste verifica que las entradas de informacin son correctas. El sistema registrar
automticamente la transaccin como un documento que queda en el sistema en prueba de quin hizo la transaccin y
cundo sta ocurri exactamente.

Llevando esta visin al sistema SAP:

TRANSACCIN

Se compone de una o varias pantallas por las que va pasando el usuario, en las que se le pide los
datos referentes a la operacin que quiere llevar a cabo.

Tras completar toda la informacin obligatoria y parte de los campos opcionales, el usuario tiene la opcin de grabar la
transaccin (en el caso de que hablemos de una transaccin de creacin o modificacin) o de desechar toda la
operacin.

Este es el punto clave de una transaccin si se graba, entonces todos los datos quedarn registrados, si se cancela,
entonces ningn dato se grabar.

Tiposdetransaccionesexistentes

Existen distintos tipos de transacciones en SAP: existen transacciones de creacin, de modificacin y de


visualizacin.

El concepto de transaccin implica que no pueden grabarse slo una parte de los datos, porque esto provocara una
inconsistencia en el sistema.

En el ejemplo anterior, si slo se registrar el movimiento de mercancas entre la planta y el almacn y no se grabar
la anotacin contable correspondiente, no podramos, en un momento dado, sacar un balance contable correcto.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 69


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

En SAP accedemos a las transacciones generalmente a travs del men, pero tambin podemos acceder
directamente utilizando su cdigo de transaccin.

Los usuarios novatos o principiantes no suelen utilizar este ltimo mtodo descrito, pero a medida que se acostumbran
al sistema y se dan cuenta que suelen ejecutar siempre la misma decena de transacciones, aprenden el cdigo y lo
utilizan.

Importantesobrelaejercitacin

Es importante que tenga en cuenta que cualquier modificacin que realice sobre su entorno SAP puede
afectar al resto de los usuarios que utilizan el sistema.

Por ello, debe tener precaucin con las modificaciones que realice de modo que las mismas se acoten
estrictamente a lo solicitado en los ejercicios prcticos.

Por favor te pedimos que estes al tanto de nuestras:


NormasdePermanencia

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 70


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Mi primer programa ABAP
Creamos nuestro primer programa ABAP y vemos que son las rdenes de
Transporte, cuales son sus tipos y cuales sus estados.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 1: Introduccin a SAP y a ABAP

CVOSOFTITAcademyFormacinenSistemas.

1|MiprimerprogramaABAP

Vamos a crear nuestro primer programa en ABAP. Para esto nos logueamos a SAP como lo vimos anteriormente,
escribimos en el campo de comandos la transaccin SE38 y presionamos enter.

TransaccinSE38

El Editor ABAP correspondiente a la transaccin SE38 es la transaccin estndar del sistema SAP que
utilizaremos para crear, modificar y visualizar los programas ABAP.

Visualizaremos el Editor ABAP, all escribimos el nombre del programa que vamos a crear, el cual debe comenzar con
Z y presionamos el botn

Imagen1.1IngresamoselnombredelprogramaacrearenelEditorABAP

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 71


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

A continuacin veremos una ventana en la cual el sistema SAP advierte que nuestro usuario no est registrado como
desarrollador del sistema, por lo que nos solicita la clave de acceso.

Para registrarnos como desarrollador debemos introducir por nica vez el cdigo de 20 dgitos que corresponde a
nuestra clave de desarrollador en la pantalla.

Esta clave es generalmente proporcionada por la gente que dentro de la empresa se encarga de la
administracin del sistema SAP, es decir los SAP BASIS, al momento de crear el usuario en SAP.

Imagen1.2ClavededesarrolladorABAP

Luego de introducir el nmero de 20 dgitos presionamos el botn Continuar.

En la prxima pantalla el sistema nos solicitar para que ingresemos los siguientes datos relacionados con el nuevo
programa:

Ttulo: debe ser lo ms descriptivo posible. En este caso ser "Mi primer programa Abap".

Tipo: se refiere al tipo de objeto que estamos creando. Generalmente ser "Programa ejecutable".

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 72


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.3Introducimoselttuloyeltipodelprograma

Luego presionamos Grabar y el sistema, en una nueva ventana, nos solicitar que ingresemos el paquete o clase de
desarrollo, a lo que presionaremos el botn Objeto local que es lo mismo que escribir $ TMP y presionar Grabar.

Imagen1.4Introducimoselpaqueteoclasededesarrollolocal

En el editor escribiremos el siguiente cdigo:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 73


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.5EscribimosnuestrasprimeraslneasdecdigoABAP

Y luego activamos el programa presionando el botn "Activar" . Para ello tendremos que seleccionar el objeto que
deseamos activar de la pantalla de activacin que vemos en el siguiente grfico y presionamos el botn .

Imagen1.6ActivamoselprogramaABAP

Todas las sentencias en ABAP terminan con un punto.

ABAP no distingue entre minsculas y maysculas.

Una sentencia ABAP puede ocupar ms de una linea.

Las cadenas de texto se escriben entre comillas simples.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 74


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Una vez activado sin errores, lo ejecutaremos con el botn ejecutar o presionando la tecla F8.

La pantalla de salida que visualizaremos ser la siguiente:

Imagen1.7Salidaporpantallaluegodelaejecucin

Felicitaciones! acabas de crear tu primer programa ABAP.

PRETTYPRINTER

Se utiliza para unificar los criterios de maysculas y minsculas en los programas ABAP.

Para configurarlo debemos acceder a:

UTILIDADES/OPCIONES/EDITOR ABAP/PRETTY PRINTER.

Para utilizarlo presionamos el siguiente botn de la barra de herramientas superior:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 75


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|OrdenesdeTransporte

En el ejemplo anterior, creamos un objeto que como es de prueba, lo asignamos a la clase de desarrollo $ TMP. Pero
si quisiramos transportarlo a otro ambiente tenemos que asignarlo a una clase de desarrollo o paquete que no sea de
prueba.

Supongamos que volvemos a crear el programa ZPRUEBA_ABAP desde el principio y en la ventana de dilogo que
visualizamos a continuacin introducimos la clase de desarrollo o paquete Z_WEB_SERVICE o cualquier otra disponible
en el sistema y presionamos el botn Grabar .

Imagen2.1AsignamosunaclasededesarrolloopaqueteZ

En la siguiente ventana de dilogo podemos elegir entre Crear una nueva rden de transporte o utilizar una que
exista en el sistema presionando el botn rdenes propias .

Imagen2.2Creacindeunanuevaordendetransporte

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 76


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

ORDENDETRANSPORTE

Es un nmero unvoco dentro el sistema SAP que se utiliza para agrupar objetos que van a ser
transportados entre ambientes.

En este caso presionamos el botn para crear una nueva orden de transporte .

En la siguiente pantalla completaremos una Descripcin breve para nuestra orden de transporte y presionamos el
botn Grabar .

Imagen2.3Introducimosunadescripcinbreve

Luego SAP nos propondr asociar el objeto que acabamos de crear a un nmero de orden de transporte nico en el
sistema.

Imagen2.4Asociamoselobjetocreadoaunaordendetransporte

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 77


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

El nmero de la orden de transporte es generado automticamente por SAP, es decir no lo generamos


nosotros.

Por ltimo, activamos el programa presionando el botn Activar .

3|TiposyEstadosdeunaOrdendeTransporte

Una orden de transporte puede ser de dos tipos:

Customizing: cuando se utiliza para la configuracin del sistema.

Workbench: cuando se utiliza para el desarrollo de programas.

TransaccionesSE01,SE09ySE10

Estas transacciones son utilizadas para la administracin de las rdenes de transporte en el sistema.

Una orden de transporte puede tener dos estados:

Modificable: cuando la orden puede ser modificada, es decir se le pueden agregar o quitar objetos.


Liberada: cuando la orden no puede ser modificada, est lista para ser transportada a otro ambiente.

Para liberar una orden, basta con presionar el botn para transportar sobre la tarea que compone la orden y
tambin sobre la orden misma.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 78


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.1Liberacindeunaordendetransporte

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 79


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 80


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

In ic io Nu e v a Un id a d :
Unidad 2: Declaracin y Procesamiento de
datos
Declaracin y Procesamiento de datos

Curso: Programador ABAP Nivel Inicial

CVOSOFTITAcademyFormacinenSistemas.

Le damos la Bienvenida a una nueva unidad!

Unidad 2: Declaracin y
Procesamiento de datos

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 81


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

:: Descripcin de Unidad

CarreraConsultorTcnicoenDesarrolloABAP

MDULO:PROGRAMADORABAPINICIAL

UNIDAD:DeclaracinyProcesamientodedatos

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 82


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

:: Lecciones que componen esta unidad

Las siguientes lecciones componen a esta unidad de estudios:

Leccin: Caractersticas de los programas ABAP


Analizamos las distintas aplicaciones o objetos que se pueden crear con ABAP, los Eventos de un programa ABAP y aprendemos a utilizar el
debugger.

Leccin: Declaracin de datos


Analizamos los Tipos de datos existentes en ABAP, que son las Estructuras de datos, que son las Constantes y los Includes de datos. Finalmente
aprendemosparaqueseutilizanlasVariablesdelsistema.

Leccin: Procesamiento de los datos


Aprenderemos a asignar valores e inicializar variables. Tambin analizamos las operaciones con caracteres y operaciones aritmticas ms importantes
ycomnmenteutilizadas.

Leccin: Control del Flujo de Datos


Aprenderemosatrabajarconcondiciones,buclesysentenciasdecontrol.

Leccin: Formateando un Listado


Aprenderemosaformatearlasalidadelosdatosyatrabajarlosformatosdepgina.

Leccin: Pantalla de seleccin


Aprenderemosacrearlaspantallasdeseleccindenuestrosprogramasyacrearclasesdemensajes.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 83


Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e

84
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e

85
Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 86


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Caractersticas de los programas ABAP
Analizamos las distintas aplicaciones o objetos que se pueden crear con ABAP, los
Eventos de un programa ABAP y aprendemos a utilizar el debugger.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 2: Declaracin y Procesamiento de datos

CVOSOFTITAcademyFormacinenSistemas.

1|AplicacionesABAP

Dentro del mundo ABAP se pueden crear distintos tipos de objetos. Los ms comunes de ellos son:

Reporte, Reporte interactivo y Reporte ALV

Programa de Dialogo

Formularios

Batch Input
User exits

Field exits

Funciones y RFC

A medida que avanza el curso vamos a ir viendo en detalle cada uno de ellos. Ahora nos vamos a ocupar de los
llamados Reportes Clsicos o simplemente Reportes.

REPORTE

Es un 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.

Existen cuatro tipos de palabras claves:

Declarativas: se utilizan para declarar datos que vamos a usar dentro del programa. Ej.: DATA, TABLES y
CONSTANT.

Eventos: que ocurren en el programa. Ej.: STARTOFSELECTION, TOPOFPAGE, etc.

Control: sentencias de control de flujo de programa. Ej.: IF, WHILE, DO, etc.

Operativas: realizan funciones segn la palabra clave. Ej.: WRITE, MOVE, etc.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 87


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Generalmente la estructura de un reporte va a ser de la siguiente manera:

Imagen1.1EstructuradeunreporteoprogramaABAP

Existen dos formas de utilizar los comentarios en un programa ABAP:

Con un asterisco en la primera columna de la fila.

Con comillas dobles en cualquier posicin de la lnea.

Imagen1.2ComentariosenunprogramaABAP

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 88


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|EventosdeunprogramaABAP

Como dijimos anteriormente, la programacin ABAP es orientada a eventos.

EventodeunprogramaABAP

Es una etiqueta que identifica una seccin de cdigo dentro de un programa.

La seccin de cdigo asociada con un evento, comienza con un nombre de evento y termina cuando el
siguiente nombre de evento se encuentra.

Los nombres de eventos son palabras reservadas. No podemos crear nuevos eventos, solamente
podemos usar los que ya existen.

Los principales eventos que pueden ocurrir dentro de un programa son:

INITIALIZATION

Es el primer evento que se ejecuta. Nos permite inicializar los campos de la pantalla de seleccin de un programa o
cualquier otra variable.

ATSELECTIONSCREEN

Este evento se utiliza para validar los datos introducidos en los parmetros que conforman a la pantalla de seleccin.

STARTOFSELECTION

Este evento se lanza cuando se procesa la instruccin REPORT.

En ese momento se empieza a ejecutar el cdigo que se encuentra entre REPORT y la palabra reservada STARTOF
SELECTION.

Inmediatamente despus se procesa el bloque contenido dentro de este evento.

El evento STARTOFSELECTION se utiliza para realizar el procesamiento central del programa, tal como puede ser
realizar la seleccin de los datos, procesar un archivo, realizar operaciones aritmticas, etc.

Es el evento por defecto, es decir si escribimos sentencias ejecutables sin etiqueta de evento, estas se adjudican por
defecto a STARTOFSELECTION.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 89


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

ENDOFSELECTION

El cdigo de este evento se procesa cuando se termina el procesamiento central del programa, es decir luego del
evento STARTOFSELECTION.

Contiene las ltimas sentencias que se ejecutarn en el programa.

En general se lo utiliza para realizar la impresin de listados.

ATLINESELECTION

Permite al usuario seleccionar una lnea de un listado y realizar alguna accin. Se utiliza en los llamados reportes
interactivos.

ATUSERCOMMAND

Se ejecuta cuando el usuario presiona un botn del men en un reporte.

TOPOFPAGE

Este evento se procesa antes de que el primer dato aparezca en cada pgina.

Se suele utilizar para colocar ttulos o cabeceras.

ENDOFPAGE

Este evento se lanza cuando se crea automticamente una nueva pgina.

Esto ocurrir cuando el nmero de lneas procesado sobrepase el nmero de lneas fijado para la pgina en la
sentencia REPORT.

Veamos un ejemplo de como usaramos los eventos en un programa ABAP. Para ello, nos logueamos a SAP,
ingresamos a la transaccin SE38 y creamos el programa Z_PRUEBA_EVENTOS que lo grabamos como programa
ejecutable y como objeto local con el siguiente cdigo:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 90


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.1EventosenunprogramaABAP

Si ejecutamos este programa produciramos la siguiente salida:

Imagen2.2SalidadeunprogramaABAP

No importa el orden en el que se escriban los eventos dentro de un programa.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 91


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

3|Utilizandoeldebugger

Es muy importante saber utilizar el debugger o depurador ya que en programacin las cosas solo funcionan si y solo si
son perfectas, es decir sin errores.

Algunos errores se detectan a simple vista pero para resolver otros vamos a necesitar ejecutar nuestro programa y
saber exactamente cuales son los valores que van tomando las variables internas del mismo. Para esto existe el
debugger.

Veamos como debaguear el programa Z_PRUEBA_EVENTOS que acabamos de crear. Para ello, visualizamos el
programa a travs de la transaccin SE38 y colocamos un breakpoint luego de la declaracin de las variables

presionando el botn para breakpoints de sesin que durarn mientras la sesin este abierta o para
breakpoints externos.

Imagen3.1Colocamosunbreakpoint

Luego ejecutaremos el programa y veremos en debugger en accin.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 92


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.2EldebuggerABAPenaccin

Presionando el botn Single step o la tecla F5, ejecutaremos paso a paso es decir sentencia a sentencia.

Presionando el botn Execute o la tecla F6, ejecutaremos subrutina a subrutina sin entrar en el contenido de cada
una. Ms adelante veremos el concepto de subrutina en detalle.

Presionando el botn Return o la tecla F7, retornaremos a la rutina de nivel superior de la rutina actual en
ejecucin.

Presionando el botn Run o la tecla F8, continuaremos la ejecucin hasta el final del programa.

En la parte inferior de la pantalla del debugger podemos ingresar el nombre de cualquiera de las variables del
programa para saber cual es su contenido en cualquier momento del mismo. Tambin podemos modificar el contenido
de una variable para saber cual sera el resultado del programa con esta modificacin.

ModificacindelDebugger

Si visualizas una pantalla de Debug diferente a la que presentamos en las imgenes anteriores es
porque tienes configurado el Debug Nuevo.

Para cambiar el debug debes ir:

> Utilidades
|> Opciones
|> Editor ABAP
|> Debugging
|> Funcin Debugging y cambiar la funcin del debug.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 93


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Configuramos el nuevo debug seleccionando la opcin F.debugging nueva tal como vemos a continuacin:

Imagen3.3Configuracindelnuevodebugger

Y al ejecutar nuevamente el debugger visualizaremos la siguiente pantalla:

Imagen3.4Visualizamoselcontenidoalmacenadoenlasvariables

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 94


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Declaracin de datos
Analizamos los Tipos de datos existentes en ABAP, que son las Estructuras de datos,
que son las Constantes y los Includes de datos. Finalmente aprendemos para que se
utilizan las Variables del sistema.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 2: Declaracin y Procesamiento de datos

CVOSOFTITAcademyFormacinenSistemas.

1|Tiposdedatos

Los principales tipos de datos que se utilizan en ABAP son:

Imagen1.1PrincipalestiposdedatosexistentesenABAP

Tambin existen los Tipos STRING que se utilizan para cadenas de longitud variable y XSTRING que se utilizan como
un string hexadecimal para cadenas de caracteres muy grandes.

Para declarar una variable utilizaremos la palabra clave DATA y TYPE tal como vemos en el siguiente ejemplo.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 95


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.2Ejemplosdedeclaracindevariables

Con el agregado de VALUE, inicializamos con un valor determinado a una variable.

Cuando declaramos variables de tipo caracter TYPE c debemos especificar la longitud de la cadena.

De lo contrario el sistema asumir que su longitud es 1 caracter.

Tambin podemos declarar variables que sean de igual tipo que otras ya creadas en el sistema. Para esto utilizamos la
sentencia LIKE.

En el siguiente caso, creamos la variable V_CARRID que es del mismo tipo que el campo CARRID de la tabla
SFLIGHT de Vuelos de SAP.

Imagen1.3DeclaracindelavariableV_CARRID

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 96


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

TablaSFLIGHT

La tabla base de datos SFLIGHT es una tabla estndar del sistema SAP que contiene informacin sobre
Vuelos y que generalmente es utilizada para realizar programas de prueba o demo en el sistema.

Otra tabla base de datos similar, muy comnmente utilizada con el mismo proposito es la tabla SPFLI.

2|Estructurasdedatos

ESTRUCTURA

Es un conjunto de campos relacionados, cuyos componentes pueden ser simples campos, otras
estructuras o inclusive tablas.

Existen tres formas de definir una estructura:

La primera es utilizando la palabra clave DATA. En el siguiente ejemplo creamos una estructura de vuelos que tendr
los mismos campos que la tabla de vuelos SFLIGHT.

Imagen2.1DeclaracindeunaestructuradelmismotipoqueSFLIGHT

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 97


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

En la segunda forma tambin utilizamos la palabra clave DATA pero vamos a crear una estructura de vuelos solo con
ciertos campos.

Imagen2.2Declaracindeunaestructuraconciertoscamposparticulares

La tercera forma es utilizando TIPOS, que son formatos de estructuras que pueden ser utilizados por cualquier otra
estructura sin necesidad de reescribir el cdigo. Para esto se utiliza la palabra reservada TYPES.

Imagen2.3Utilizacindetiposendeclaracionesdeestructuras

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 98


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

3|Constantes

CONSTANTE

Es una variable que se declara dentro de un programa cuyo valor permanecer tal como lo indica su
nombre constante a lo largo del programa.

Para su declaracin se utiliza la palabra reservada CONSTANTS.

Imagen3.1Ejemplodedeclaracindeconstantes

La utilizacin de constantes ayuda a que el mantenimiento de las aplicaciones ABAP sea ms sencillo.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 99


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

4|Includededatos

INCLUDE

Es un objeto ABAP que se utiliza para modularizar los programas de manera que estos resulten ms
legibles y mantenibles.

Existen dos tipos de INCLUDES. Ellos son:

INCLUDE de datos: se utiliza para agrupar declaraciones de datos.

INCLUDE de subrutinas: se utiliza para agrupar declaraciones de subrutinas, concepto que veremos en detalle
ms adelante.

En este momento nos concentraremos en los Include de datos. Para su creacin se utiliza la palabra clave INCLUDE
seguida del nombre del include.

Imagen4.1Declaracindeunincludededatos

Al hacer doble clic sobre z_prueba_abap_datos veremos la siguiente ventana de dilogo donde se nos consulta si
deseamos crear el objeto, a la cual responderemos que s.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 100


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen4.2Ventanadedilogodeconsulta

Luego veremos la ventana de dilogo que nos muestra el objeto que ser creado. Aqu simplemente presionamos el
botn Grabar.

Imagen4.3Presionamosgrabarparacrearelinclude

Finalmente habremos creado el INCLUDE Z_PRUEBA_ABAP_DATOS.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 101


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen4.4Includededatoscreado

La utilizacin de INCLUDES es considerada una buena prctica de programacin.

5|Variablesdelsistema

A parte de las variables que define el programador, existen otras que han sido definidas por el sistema y que son de
gran utilidad dentro de los programas ABAP.

Estas se encuentran en la tabla base de datos SYST y contienen informacin que va desde la hora del sistema, a
saber si se ejecuto correctamente una sentencia ABAP o una actualizacin a una base de datos. Su contenido no
puede ser modificado en los programas sino que cambia simplemente con la ejecucin de los mismos.

TablaSYST

La tabla base de datos SYST almacena a las variables del sistema de un programa ABAP.

Las ms comnmente utilizadas son:

SYSUBRC: cdigo de retorno posterior a la ejecucin de una sentencia ABAP. Si el resultado de la ejecucin fue
exitoso, entonces es 0, sino es distinto de cero.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 102


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen5.1LavariableSYSUBRC

SYDATUM: contiene la fecha del sistema.

Imagen5.2LavariableSYDATUM

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 103


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

SYUZEIT: contiene la hora del sistema.

Imagen5.3LavariableSYUZEIT

SYTABIX: contiene el ndice de una tabla interna.

Imagen5.4LavariableSYTABIX

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 104


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Procesamiento de los datos
Aprenderemos a asignar valores e inicializar variables. Tambin analizamos las
operaciones con caracteres y operaciones aritmticas ms importantes y comnmente
utilizadas.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 2: Declaracin y Procesamiento de datos

CVOSOFTITAcademyFormacinenSistemas.

1|Asignacindevalores

Existen dos formas bsicas para asignar un valor a una variable. La primera consiste en la asignacin simple.

Imagen1.1Asignacinsimpledevariables

La segunda forma es mediante la sentencia MOVE.

Imagen1.2AsignacindevariablesmedianteMOVE

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 105


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|Inicializacindevariables

Para la inicializacin o borrado del contenido de las variables utilizamos la sentencia CLEAR.

Imagen2.1InicializacindevariablesmedianteCLEAR

Si inicializamos las variables que declaramos a continuacin:

Imagen2.2Declaracindevariablesainicializar

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 106


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

El contenido de los campos sera el siguiente:

Imagen2.3Variablesinicializadas

Una sentencia muy importante a la hora de consultar el contenido de las variables que declaramos en nuestros
programas es IS INITIAL. En la siguiente imagen vemos un ejemplo de su utilizacin.

Imagen2.4UtilizacindelasentenciaISINITIAL

La sentencia IS INITIAL es muy til cuando se trabaja con tablas internas (concepto que veremos ms
adelante en el curso).

Para ms ayuda presionar F1 sobre la sentencia.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 107


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

3|Operacionesconcaracteres

Existen algunas funciones que se utilizan para tratar caracteres que son muy tiles en el trabajo diario de un
programador ABAP. Ellas son:

CONCATENATE: se utiliza para concatenar varios campos alfanumricos en uno solo.

Imagen3.1UtilizacindelasentenciaCONCATENATE

Esta sentencia concatena los campos V_CAMPO1, V_CAMPO2 y V_CAMPO3 en la variable V_CAMPO. Todos estos
campos son de tipo caracter. Con la clusula SEPARATED BY se puede especificar un campo alfanumrico que se
utilizar como separador entre los campos V_CAMPO1, V_CAMPO2 y V_CAMPO3.

La sentencia CONCATENATE es muy til cuando se trabaja con fechas ya que las fechas en SAP son
del formato AAAAMMDD y cuando se muestran en un listado se deben convertir a DD.MM.AAAA.

Para ms ayuda presionar F1 sobre la sentencia.

TRANSLATE: se utiliza para convertir caracteres de mayscula a minscula o viceversa, o para realizar sustituciones
de caracteres a travs de ciertas reglas.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 108


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.2UtilizacindelasentenciaTRANSLATE

La sentencia anterior convierte a maysculas el contenido de la variable V_TEXTO, siendo V_TEXTO de tipo caracter.

La sentencia TRANSLATE es muy til para la conversin de texto a mayscula o minscula.

Para ms ayuda presionar F1 sobre la sentencia.

REPLACE: reemplaza cierta parte de una cadena de caracteres por otra cadena de caracteres o caracter.

Imagen3.3UtilizacindelasentenciaREPLACE

La sentencia anterior reemplaza el contenido de la variable V_TEXTO que es 'Hola' por el texto 'Casa'.

La sentencia REPLACE es muy til cuando se trabaja con importes.

Para ms ayuda presionar F1 sobre la sentencia.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 109


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

SPLIT: divide a un campo alfanumrico en varios campos por un separador.

Imagen3.4UtilizacindelasentenciaSPLIT

La sentencia anterior utiliza el separador ',' para dividir el contenido del campo V_TEXTO_LARGO en las variables
V_CAMPO1, V_CAMPO2, V_CAMPO3 y V_CAMPO4 que son de tipo caracter (TYPE c).

Si todos los campos destino son lo suficientemente grandes para almacenar las partes del campo V_TEXTO_LARGO,
SYSUBRC valdr 0, caso contrario valdr 4.

La sentencia SPLIT es muy til cuando se trabaja con textos largos y es necesario separarlos por algn
caracter especial.

Para ms ayuda presionar F1 sobre la sentencia.

SHIFT: se utiliza para desplazar el contenido de un campo alfanumrico. Realiza el desplazamiento del contenido de
un campo hasta un string dado.

Imagen3.5UtilizacindelasentenciaSHIFT

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 110


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

La sentencia anterior realiza el desplazamiento del campo V_ALFABETO hasta la quinta posicin, quedando el resto de
los caracteres que componen a V_ALFABETO en la variable y eliminando los cinco primeros.

La sentencia SHIFT es muy til cuando se trabaja con nmeros de documentos o cualquier otro nmero.
que haya sido grabado en tablas SAP con ceros a la izquierda.

Para ms ayuda presionar F1 sobre la sentencia.

SEARCH: se utiliza para buscar una cadena de caracteres dentro de un campo alfanumrico.

Imagen3.6UtilizacindelasentenciaSEARCH

La sentencia anterior busca en el campo V_ALFABETO la secuencia de caracteres 'ABC'. Como la secuencia existe,
devolver SYSUBRC igual a 0. Caso contrario, si no existiera, sera distinto igual a 4.

La sentencia SEARCH es muy til cuando se trabaja con tablas internas y se busca la ocurrencia de una
determinada cadena en un campo de la tabla.

Para ms ayuda presionar F1 sobre la sentencia.

CONDENSE: se utiliza para borrar espacios en blanco en campos alfanumricos. Borra cualquier secuencia de
espacios en blanco, dejando solo uno que exista entre palabras existentes en el campo. Los espacios en blanco por la
izquierda tambin desaparecen.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 111


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.7UtilizacindelasentenciaCONDENSE

La salida en pantalla de la sentencia anterior sera 'Dr. Rafael Castro'. Con el agregado de la clusula NOGAPS al
final de la sentencia, se eliminarn todos los espacios en blanco, es decir que tambin se eliminan los espacios
existentes entre las palabras.

La sentencia CONDENSE es muy til en los reportes, cuando se quiere formatear la salida en pantalla
de un campo determinado.

Para ms ayuda presionar F1 sobre la sentencia.

4|OperacionesAritmticas

En ABAP las cuatro operaciones bsicas ( suma , resta, multiplicacin y divisin ) se pueden implementar de dos
maneras obteniendo el mismo resultado.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 112


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen4.1Dosformasdeimplementarlasoperacionesartimticasbsicas

Siendo el resultado el mismo de ambas formas. Tambin se utilizan las siguientes sentencias para operar
aritmticamente con datos:

Imagen4.2Operacionesaritmticasbsicas

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 113


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Control del Flujo de Datos
Aprenderemos a trabajar con condiciones, bucles y sentencias de control.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 2: Declaracin y Procesamiento de datos

CVOSOFTITAcademyFormacinenSistemas.

1|Condiciones

Las condiciones en ABAP se pueden representar de dos formas. Una es utilizando la palabra clave IFENDIF.

Imagen1.1CondicionesutilizandoIFENDIF

Si ninguna de las condiciones es valida, el sistema ejecutar las declaraciones que estn debajo del ELSE. La otra
forma es mediante CASEENDCASE.

Imagen1.2CondicionesutilizandoCASEENDCASE

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 114


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Si ninguna de las condiciones es valida, el sistema ejecutar las declaraciones que estn debajo del WHEN
OTHERS. En ambas formas se utilizan los siguientes operadores lgicos.

Imagen1.3Operadoreslgicos

Si en cada condicin, se chequea que la variable sea igual a determinado valor y la cantidad de
condiciones es alta, sera aconsejable utilizar CASEENDCASE.

2|Bucles

Los bucles en ABAP se puede pueden representar de varias formas. La primera es mediante la palabra clave LOOP
ENDLOOP.

Imagen2.1BuclesutilizandoLOOPENDLOOP

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 115


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

En el ejemplo anterior, Tabla es una tabla interna (Concepto que veremos en detalle ms adelante).

Con el agregado de la clusula WHERE se puede restringir el nmero de lneas a leer, ya que se producir la iteracin
siempre y cuando se cumpla la condicin. Para ms informacin presionar F1 sobre la sentencia.

La utilizacin de la clusula WHERE siempre y cuando sea posible, es considerada una buena prctica
de programacin.

Imagen2.2AgregadodelaclusulaWHERE

Otra forma es mediante la palabra clave DOENDDO.

Imagen2.3BuclesutilizandoDOENDDO

La iteracin se ejecutar solo si la condicin es verdadera.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 116


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.4EjemplodelautilizacindeDOENDDO

3|SentenciasdeControl

Las sentencias de control se utilizan para terminar el procesamiento de un bucle, de un proceso o de un programa.
Ellas son:

CHECK : verifica si la condicin es verdadera. Si la condicin es falsa, y la sentencia est dentro de un bucle, se
saltearn todas las sentencias siguientes que estn dentro del bucle y se continuar con la siguiente iteracin. Fuera
de un bucle, se saltearn todas las sentencias hasta el final del evento o del programa en proceso.

Imagen3.1UtilizacindelasentenciaCHECK

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 117


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

EXIT: dentro de un bucle saldr del bucle, dentro de una subrutina saldr de la misma y fuera de un bucle saldr del
programa.

Imagen3.2UtilizacindelasentenciaEXIT

CONTINUE: se utiliza solo dentro de bucle. Luego de la ejecucin de la sentencia el sistema continua con la
siguiente iteracin.

Imagen3.3UtilizacindelasentenciaCONTINUE

STOP: se finaliza el programa en ejecucin pero antes se ejecuta el evento ENDOFSELECTION.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 118


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.4UtilizacindelasentenciaSTOP

LEAVE: se finaliza el programa en ejecucin pero no se ejecutar el evento ENDOFSELECTION.

Imagen3.5UtilizacindelasentenciaLEAVE

Debemos tener sumo cuidado en la utilizacin de las sentencias de control CHECK, EXIT, CONTINUE,
LEAVE y STOP debido a que estas alteran en forma directa el flujo de control de un programa ABAP.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 119


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Formateando un Listado
Aprenderemos a formatear la salida de los datos y a trabajar los formatos de pgina.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 2: Declaracin y Procesamiento de datos

CVOSOFTITAcademyFormacinenSistemas.

1|Formatodesalidadelosdatos

ABAP ofrece una serie de instrucciones especialmente diseadas para generar reportes de manera sencilla. Una de
ellas es la sentencia WRITE.

Imagen1.1LasentenciaWRITE

Donde offset indica la columna donde empezar la impresin y long indica la longitud de los valores a visualizar.

Veamos un ejemplo:

Imagen1.2EjemplodeutilizacindeLasentenciaWRITE

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 120


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Y la salida por pantalla es:

Imagen1.3SalidaporpantalladelasentenciaWRITE

Existen muchos comandos adicionales a WRITE que se utilizan para producir una salida por pantalla determinada.
Algunos de ellos son:

Leftjustified Salida justificada a izquierda

Centered Salida Centrada

Right
Salida justificada a derecha
justified

Si el campo contiene ceros, estos sern cambiados por


nozero
blancos

El blanco despus del campo que se desea imprimir es


nogap
omitido

nosign El signo no aparece en la salida

decimals n n define el nmero de dgitos decimales

round n Redondea el campo de salida para los tipos p

dd/mm/yyyy Fecha con separadores

Tabla1.1ComandosAdicionalesaWrite

Veamos un ejemplo de como centrar un texto con el comando CENTERED:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 121


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.4CentradodeuntextoconCENTERED

Y la salida por pantalla ser la siguiente:

Imagen1.5Salidaporpantallacentrada

Para dejar una lnea en blanco se utiliza la sentencia SKIP y para escribir una lnea horizontal se utiliza la sentencia
ULINE.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 122


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.6LassentenciasSKIPyULINE

ProgramaDEMO_LIST_SKIP

Para probar como funciona la sentencia SKIP podemos ejecutar el programa estndar DEMO_LIST_SKIP.

2|FormatosdePgina

Existen instrucciones especialmente destinadas a darle formato a la salida de un reporte ya sea por pantalla o por
impresora.

El evento TOPOFPAGE se utiliza para cambiar la cabecera de una pgina. Este evento ocurre tan pronto como el
sistema empieza a procesar una nueva pgina. Por ejemplo, si queremos escribir un ttulo particular al comienzo de
cada pgina pondremos:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 123


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.1EleventoTOPOFPAGE

El evento ENDOFSELECTION se utiliza para realizar la impresin por pantalla de los datos, de modo que se separe
esto del procesamiento de los mismos. Este evento se ejecuta luego del evento STARTOFSELECTION.

Imagen2.2EleventoENDOFSELECTION

Para modificar la cantidad de lneas o columnas que se visualizan en la pantalla se utiliza la sentencia NO STANDARD
PAGE HEADING.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 124


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.3LasentenciaNOSTANDARDPAGEHEADING

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 125


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Pantalla de seleccin
Aprenderemos a crear las pantallas de seleccin de nuestros programas y a crear
clases de mensajes.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 2: Declaracin y Procesamiento de datos

CVOSOFTITAcademyFormacinenSistemas.

1|Parmetrosdeseleccin

Si queremos introducir algunas delimitaciones a nuestro programa de modo que nuestro reporte solo se ejecute para
ciertos datos que el usuario deber introducir en la pantalla entonces deberemos crear una pantalla de seleccin.

PANTALLADESELECCIN

Es un rea dentro de los reportes en donde se especifican los parmetros de seleccin por los cuales
se va a ejecutar el programa.

Se utiliza para restringir el procesamiento y la salida de los datos. Por lo general se coloca despus de
la declaracin de datos.

Dentro de una pantalla de seleccin se pueden declarar dos tipos de objetos: PARAMETER en los cuales el usuario
podr ingresar valores individuales y SELECTOPTIONS en donde el usuario podr ingresar rangos de valores. En el
siguiente ejemplo declaramos los parmetros P_FECHA y P_NOMBRE.

Imagen1.1Declaracindeparmetrosenlapantalladeseleccin

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 126


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

La longitud mxima que puede tener el nombre de un parmetro es de 8 posiciones.

El agregado de la clusula OBLIGATORY hace que el parmetro sea obligatorio.

El agregado de la clusula DEFAULT asigna un valor por defecto al parmetro. Si ejecutamos nuestro reporte veremos
lo siguiente:

Imagen1.2LasclusulasOBLIGATORYyDEFAULT

Lo que vemos es que al ejecutar nuestro reporte nos aparece la pantalla de seleccin que acabamos de crear. Vemos
que a la derecha de la fecha nos aparece el icono .

Si presionamos sobre el cono o presionamos F4 dentro del campo fecha, se abrir la siguiente ventana:

Imagen1.3Ayudadebsquedadelcalendarioparacamposdefecha

Aqu estamos viendo la ayuda de bsqueda asociada al campo SYDATUM el cual es el tipo de nuestro parmetro. El
tema de las ayudas de bsqueda lo veremos en detalle en la prxima unidad.
CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 127
Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Ahora vamos a cambiar las descripciones de los parmetros que aparecen en pantalla. Para esto vamos a ir a:

Imagen1.4Opcindelmenparamodificarlostextosdeseleccin

Y ingresamos las descripciones que mejor se adapten a nuestro propsito.

Imagen1.5Modificamoslostextosdeseleccin

Tambin se pueden crear parmetros tipo Checkbox en donde el usuario puede tildar las opciones que prefiera o tipo
Radiobutton donde el usuario selecciona una de las opciones entre todas las existentes. Veamos un ejemplo de estos
dos tipos de parmetros:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 128


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.6Declaracindeparmetroscheckboxyradiobutton

Los cuales se visualizarn de la siguiente manera en pantalla:

Imagen1.7Visualizacinenpantalladecheckboxyradiobutton

Los SELECTOPTIONS son iguales a los PARAMETER salvo que en ellos se puede ingresar rangos de valores, es
decir un valor desde y un valor hasta, a parte de valores individuales.

En el siguiente ejemplo, declaramos el SELECTOPTIONS S_CLAVEP.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 129


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.8Declaracindeselectoptions

De nuevo, si ejecutamos el reporte, a la derecha del campo Clave de pas nos aparece el icono , si lo presionamos
vemos la ayuda de bsqueda correspondiente al tipo LAND1_GP que es un tipo de la tabla KNA1.

TablaKNA1

La tabla base de datos estndar KNA1 corresponde al Maestro de Clientes.

De cada cliente se guarda en SAP informacin tal como el nmero de cliente, el pas, el nombre, el
cdigo postal y muchos otros datos ms.

Podemos crear un "Marco" que encuadre a los parmetros de la pantalla de seleccin. Para ello,
debemos colocar a la declaracin de los parmetros dentro de las siguientes sentencias:

SELECTIONSCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text001.


....

..

SELECTIONSCREEN END OF BLOCK b1.

Donde b1 es el nombre del marco y text001 es el ttulo que se visualizar en el extremo superior
izquierdo del marco.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 130


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|ClasesdeMensajes

Una vez que ingresamos todos los parmetros de nuestro reporte y ejecutamos el programa, lo que vamos a querer es
que dependiendo de los parmetros introducidos se produzcan determinadas acciones.

Para analizar el contenido de los parmetros existe el evento AT SELECTIONSCREEN. En este evento es donde se
validan los valores ingresados en la pantalla de seleccin.

Supongamos que queremos que la fecha ingresada por pantalla sea mayor o igual a la fecha actual y que si no es as
se emita un mensaje en la pantalla advirtiendo que el valor introducido es incorrecto. Para esto, vamos a tener que
crear una Clase de mensajes a travs de la transaccin SE91 tal como vemos a continuacin:

Imagen2.1CreacindeclasesdemensajesatravsdelatransaccinSE91

TransaccinSE91

La transaccin estndar SE91 se utiliza para la creacin, modificacin y visualizacin de las clases de
mensajes en SAP, las cuales nos permiten agrupar los mensajes que utilizaremos en una aplicacin.

Le asignamos una descripcin y grabamos.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 131


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.2Asignamosuntextobrevealaclasedemensajes

Y creamos nuestro primer mensaje.

Imagen2.3Creamosnuestroprimermensaje

Luego en nuestro programa, escribiremos el cdigo correspondiente en el evento AT SELECTIONSCREEN para hacer
cumplir con esta validacin.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 132


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.4EscribimoselmensajeeneleventoATSELECTIONSCREEN

Por ltimo, ejecutamos nuestro reporte con una fecha de la pantalla de seleccin anterior a la fecha actual y vemos el
siguiente mensaje en el extremo inferior izquierdo de la pantalla.

Imagen2.5Visualizamoselmensajeenpantalla

El mensaje que mostramos es un mensaje de error. Esto est determinado por la letra e que se antecede al nmero
del mensaje y la clase de mensajes entre parntesis.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 133


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Los tipos de mensajes existentes son:

Significadodel Elmensaje
Tipo Comportamiento
mensaje apareceen

S Status El programa continua sin interrupcin La lnea de status

Una ventana de
I Informacin El programa continua despus de la interrupcin
dilogo

W Warning Depende del contexto del mensaje Barra de status

Depende del contexto del mensaje (puede causar la


E Error Barra de status
cancelacin del programa)

Una ventana de
A Terminacin El programa termina despus de un cuadro de dialogo
dilogo

X Dump Error en tiempo de ejecucin tipo X Un dump

Tabla2.1Tiposdemensaje

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 134


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 135


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

In ic io Nu e v a Un id a d :
Unidad 3: Diccionario de datos
Diccionario de datos

Curso: Programador ABAP Nivel Inicial

CVOSOFTITAcademyFormacinenSistemas.

Le damos la Bienvenida a una nueva unidad!

Unidad 3: Diccionario de
datos

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 136


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

:: Descripcin de Unidad

CarreraConsultorTcnicoenDesarrolloABAP

MDULO:PROGRAMADORABAPINICIAL

UNIDAD:Diccionariodedatos

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 137


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

:: Lecciones que componen esta unidad

Las siguientes lecciones componen a esta unidad de estudios:

Leccin: Tablas internas


AprenderemosquesonlastablasinternasytodolorelativoasuutilizacinenABAP.

Leccin: Tablas Bases de datos, elementos de datos y dominios


Analizaremos los distintos datos existentes en el sistema SAP, que es el diccionario de datos y como crear una tabla base de datos, un elemento de
datosyundominio.

Leccin: Actualizacin y visualizacin de registros, Estructuras y Ayudas de bsqueda


Analizaremos como crear una superficie de actualizacin para una tabla, como visualizar los registros de una tabla, como crear una estructura y una
ayudadebsquedaparaparmetros.

Leccin: Instrucciones SQL: La sentencia SELECT


AprenderemosautilizarlasentenciaSELECT.

Leccin: INSERT, UPDATE, MODIFY, DELETE y actualizacin y recuperacin de la BD


AprenderemosautilizarlassentenciasINSERT,UPDATE,MODIFY,DELETEycomorealizarlaactualizacinyrecuperacindelabasededatos.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 138


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 139


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 140


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 141


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Tablas internas
Aprenderemos que son las tablas internas y todo lo relativo a su utilizacin en ABAP.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 3: Diccionario de datos

CVOSOFTITAcademyFormacinenSistemas.

1|QusonlasTablasinternas?

Si queremos guardar una coleccin de registros de datos de la misma estructura en memoria, sin necesidad de
acceder continuamente a las bases de datos y poder realizar diversas operaciones con este conjunto de informacin,
entonces utilizaremos tablas internas.

TABLAINTERNA

Es un objeto de datos que permite guardar en memoria grandes cantidades de registros de datos con la
misma estructura.

La cantidad de registros mxima est relacionada con los lmites especificados en la instalacin del
sistema.

El uso tpico que se le da a una tabla interna es:

Para almacenar temporalmente los datos de las bases de datos para un procesamiento futuro.

Para estructurar y formatear datos que se mostrarn como salida del programa.

Para formatear datos para ser utilizados por otros servicios.

2|CmosedeclaraunaTablainterna?

La sintaxis para su declaracin es la siguiente:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 142


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.1Sintaxisparaladeclaracindeunatablainterna

De esta manera definiremos una tabla interna con n lneas en memoria ms una lnea de cabecera o rea de trabajo.
La cantidad de lneas que se especifican en OCCURS no limitan el tamao de la tabla sino la cantidad de registros
que se guardarn en memoria simultneamente.

Por lo general, en el parmetro OCCURS se especifica la cantidad 0 lo que permite trabajar con tablas
de gran cantidad de registros.

En el prximo ejemplo declaramos la tabla interna TI_PROVEEDORES.

Imagen2.2Ejemplodedeclaracindeunatablainterna

Otra forma de declarar la misma tabla sera:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 143


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.3Otraformadedeclararlamismatablainterna

3|Llenadodeunatablainterna

Para llenar con datos una tabla interna utilizamos:

APPEND TO : se aade un registro a la tabla interna en la ltima posicin con los valores que tengamos en el rea
de trabajo. Veamos un ejemplo:

Imagen3.3Agregadoderegistrosaunatablainterna

Llenamos la tabla interna con el contenido de una base de datos. Esto lo haremos con la sentencia SELECT que
veremos en detalle en la prxima leccin.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 144


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

4|Ordenamientodeunatablainterna

Para ordenar una tabla interna utilizamos la sentencia SORT.

Imagen4.1Ordenamientodeunatablainterna

En el ejemplo anterior ordenamos la tabla TI_PROVEEDORES de forma descendente por DNI lo cual invertir el orden
en el que fueron cargados originalmente los registros. Para ordenar de menor a mayor hay que utilizar la clusula
ASCENDING.

5|Procesamientodeunatablainterna

Para recorrer una tabla interna y procesar registro a registro utilizaremos la sentencia LOOPENDLOOP.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 145


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen5.1Recorremosunatablainterna

Si no existe ningn registro que cumpla la condicin especificada en la clusula WHERE, el SYSUBRC ser distinto
de cero.

6|Lecturadeunatablainterna

Para leer un registro concreto de una tabla interna sin necesidad de recorrerla utilizamos la sentencia READ TABLE.

Imagen6.1Lecturadeunatablainterna

Si se encuentra el registro buscado, el SYSUBRC ser cero, caso contrario, ser distinto de cero. Si se desea leer los
datos que se encuentran en una posicin particular de la tabla se utilizar la clusula INDEX tal como vemos en el
siguiente ejemplo.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 146


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen6.2Lecturadeunatablainternaporndice

El agregado de la Clusula BINARY SEARCH en la sentencia READ TABLE hace que la bsqueda sea
ampliamente ms eficiente.

Para ms informacin sobre la sentencia presionar F1.

7|Modificandounatablainterna

Para modificar el contenido de un registro de una tabla interna utilizamos la sentencia MODIFY. En el
siguiente ejemplo modificamos el campo DNI correspondiente al primer registro de la tabla interna.

Imagen7.1Modificacindeunatablainterna

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 147


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Si intentamos modificar un registro de una tabla interna y el mismo no existe entonces el SYSUBRC
ser distinto de cero.

Para insertar un registro en una posicin determinada de una tabla interna utilizamos la sentencia INSERT. En el
siguiente ejemplo insertamos un registro en la posicin 2.

Imagen7.2Insercinderegistrosenunatablainterna

Para borrar el contenido de un registro de una tabla interna utilizamos la sentencia DELETE. En el siguiente ejemplo
borramos el registro de la tabla interna de proveedores con DNI igual a 20857492.

Imagen7.3Borradodeunregistrodeunatablainterna

Para borrar todo el contenido de una tabla interna utilizamos la sentencia REFRESH. En el siguiente ejemplo
inicializamos la tabla interna TI_PROVEEDORES.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 148


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen7.4Borradodelcontenidocompletodeunatablainterna

Para saber cuantos registros tiene una tabla interna utilizamos la sentencia DESCRIBE TABLE. En el siguiente ejemplo
declaramos V_LINEAS que es la variable que va a contener la cantidad de filas de la tabla interna TI_PROVEEDORES
luego de ejecutar la sentencia DESCRIBE TABLE.

Imagen7.5Cantidadderegistrosdeunatablainterna

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 149


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Tablas Bases de datos, elementos de datos y
dominios
Analizaremos los distintos datos existentes en el sistema SAP, que es el diccionario
de datos y como crear una tabla base de datos, un elemento de datos y un dominio.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 3: Diccionario de datos

CVOSOFTITAcademyFormacinenSistemas.

1|LosdatosenelsistemaSAP

Podemos clasificar los datos del sistema SAP en tres tipos: datos maestros, datos de movimientos y datos del sistema
o de control.

Datos maestros: son datos que no se modifican muy a menudo. Por ejemplo: datos de materiales, cuentas,
bancos, clientes, etc.

Datos de movimientos: son datos muy voltiles y con gran volumen de generacin. Por ejemplo: datos de
facturas, pedidos, etc.

Datos del sistema o de control: son datos que tienen que ver con la configuracin del sistema.

2|QueselDiccionariodedatos?

El diccionario de datos permite la administracin de todas las definiciones de datos usadas en el sistema SAP. Se
accede a l a travs de la transaccin SE11 tal como vemos a continuacin:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 150


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.1EldiccionariodedatosABAP

Aqu, podemos crear, modificar y visualizar tablas base de datos, Vistas, Estructuras, Elementos de datos, Grupos de
tipos, Dominios, Ayudas para bsqueda y Objetos de bloqueo.

TransaccinSE11

La transaccin estndar SE11 corresponde al Diccionario de datos ABAP.

Esta es una de las transacciones ms utilizadas tanto por los Consultores Tcnicos ABAP como por los
Consultores Funcionales de los distintos mdulos.

3|Cmocrearunatablabasededatos,unelementodedatosydominio?

Vamos a crear la tabla ZTABLA_USUARIOS. Para esto ingresamos el nombre de la nueva tabla a la derecha del texto
"Tabla base datos" y presionamos el botn Crear.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 151


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.1Creacindeunatablabasededatos

Luego veremos la siguiente pantalla:

Imagen3.2SolapaEntregayActualizacin

Completamos la Descripcin breve de la nueva tabla con el texto "Tabla de usuarios".

En la solapa Entrega y actualizacin completamos la Clase de entrega con "A" que significa que la tabla es de
aplicacin y que tiene datos maestros y de movimientos. Existen otras opciones que podremos ver si presionamos el
botn que aparece al posicionar el cursor en el cuadro de texto.

En Browser datos/Actual. vista tabla elegiremos la opcin "Visual./Actuali.permitida" esto significa que se podr
actualizar el contenido de la tabla mediante la transaccin SM30.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 152


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

TransaccinSM30

La transaccin estndar SM30 se utiliza para actualizar los registros de una tabla base de datos.

En las prximas lecciones veremos en detalle para que sirve esta funcionalidad y como se implementa.

En la solapa "Campos" vamos a ingresar los campos que va a tener nuestra tabla. Estos van a ser: DNI,
NOMBRE_APE, ESTADO_USU y el MANDANTE que no debe faltar en ninguna tabla.

Imagen3.3Camposdeunatablabasededatos

Todas las tablas base de datos que creemos deben tener el mandante como primer campo de la tabla.

Este debe ser parte de la clave.

A cada campo de la tabla se le puede asignar un tipo instalado seleccionando la lnea del campo y presionando el
botn Tipo Instalado , como podra ser CHAR de 30 posiciones o crear un elemento de datos para
cada campo.

En nuestra tabla, crearemos los elementos de datos Z_DNI, Z_NOMBRE_APE y Z_ESTADO_USU.

Tambin es posible utilizar elementos de datos que ya existen en el sistema, como es el caso del MANDT.

Para crear el elemento de datos Z_DNI haremos doble clic sobre el elemento, el sistema nos ofrecer guardar la tabla,
diremos que s y le asignaremos como paquete objeto local. Luego nos aparecer la siguiente ventana de dialogo:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 153


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.4Ventanadedilogodecreacindeelementosdedatos

Presionaremos la opcin "Si" y nos aparecer la siguiente pantalla:

Imagen3.5Definicindeltipodedatosdelelementodedatos

En la Descripcin breve completaremos una descripcin del contenido del campo. Luego podemos elegir entre crear un
dominio para este campo, utilizar un tipo instalado o predefined type ya existente en el sistema o utilizar un tipo
referencia o Reference type.

En este caso utilizaremos un tipo instalado y le asignaremos el tipo de datos NUMC de 8 posiciones.

Luego iremos a la solapa Denom.campo (Field Label) y actualizaremos los denominadores de campo que son los
ttulos con los que se ver el campo cuando se visualice en una transaccin o reporte.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 154


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.6Denominadoresdecampo

En este caso los denominadores de campo son todos iguales pero la idea es dar una descripcin ms detallada del
breve a la cabecera.

Por ltimo, activaremos el elemento de datos mediante el botn y nos aparecer una nueva ventana de dilogo
donde confirmaremos la activacin seleccionando el elemento a activar y presionando el botn .

Para el campo NOMBRE_APE crearemos el elemento de datos Z_NOMBRE_APE tal como hicimos con Z_DNI.

Imagen3.7ElementodedatosparaelcampoNombreyApellido

Para el campo ESTADO_USU, crearemos el elemento de datos Z_ESTADO_USU tal como hicimos con Z_DNI y
tambin crearemos el dominio ZZ_ESTADO_USU para asociarle el mbito de valores: A=Activo, I=Inactivo y
N=Anulado.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 155


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.8CreacindeundominioparaelcampoEstadodelUsuario

El objetivo de crear un dominio es asociarle un mbito de valores, sino es preferible utilizar un tipo
instalado.

Si hacemos doble clic sobre ZZ_ESTADO_USU el sistema nos preguntar en una ventana de dilogo si deseamos
crear el dominio. Contestaremos que s y veremos la siguiente pantalla:

Imagen3.9Definicindeltipodedatosparaeldominio

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 156


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Completamos la Descripcin breve del dominio con "Estado del usuario". El tipo de datos ser CHAR de 1 posicin.

Luego en la solapa Value Range o mbito de valores completaremos el mbito de los valores del dominio.

Imagen3.10Definicindelmbitodevaloresparaeldominio

Por ltimo, activamos el dominio ZZ_ESTADO_USU, luego activamos el elemento de datos Z_ESTADO_USU y
finalmente lo que nos queda antes de activar la tabla ZTABLA_USUARIOS es configurar las opciones tcnicas de la
tabla presionando el botn Opciones Tcnicas (Technical Settings) .

Aqu completaremos la Clase de datos con "APPL0" que es la correspondiente a "Datos maestros, tablas
transparentes" y la Categ.tamao con "3" que es el valor correspondiente a una tabla de 78.000 a 310.000 registros
de datos (Estos valores dependern de la instalacin).

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 157


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.11Configuracindelasopcionestcnicas

Luego activamos la tabla ZTABLA_USUARIOS y veremos la siguiente ventana de dilogo donde el sistema nos informa
que existen mensajes de advertencia.

Aqu se nos presentan dos opciones: si presionamos No la tabla se activar sin importar los mensajes de advertencia,
si presionamos S el sistema nos dir cuales son las advertencias para que las corrijamos previamente a la activacin
de la tabla. Dado que nuestro objetivo como desarrolladores ABAP siempre ser priorizar la calidad presionaremos S.

Imagen3.12Mensajesdeadvertenciaenactivacin

En la siguiente pantalla el sistema nos informa que falta definir la Categora de Ampliacin de la tabla base de datos
que acabamos de construir.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 158


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CATEGORADEAMPLIACIN

Determina si la tabla base de datos ser ampliable en el futuro.

Este concepto est muy ligado con las llamadas Estructuras Append las cuales veremos en detalle en el
Nivel Avanzado de la carrera SAP ABAP.

Imagen3.13Mensajesdeadvertenciarelativosalacategoradeampliacin

Para definir la Categora de ampliacin seleccionamos la opcin del men Detalles / Categora de ampliacin tal
como vemos a continuacin:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 159


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.14Definicindelacategoradeampliacin

Luego visualizaremos la siguiente ventana de dilogo donde el sistema nos informa que la categora de ampliacin de
la tabla no se encuentra clasificada. Presionamos el botn .

Imagen3.15Tablabasededatosnoclasificada

Finalmente seleccionamos la opcin Ampliable de cualquier manera y presionamos el botn Tomar.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 160


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.16SeleccionamoslaopcinAmpliabledecualquiermanera

Ahora s podremos activar nuestra tabla base de datos sin ninguna advertencia.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 161


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Actualizacin y visualizacin de registros,
Estructuras y Ayudas de bsqueda
Analizaremos como crear una superficie de actualizacin para una tabla, como
visualizar los registros de una tabla, como crear una estructura y una ayuda de
bsqueda para parmetros.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 3: Diccionario de datos

CVOSOFTITAcademyFormacinenSistemas.

1|Creacindeunasuperficiedeactualizacinparaunatabla

Una vez que creamos la tabla ZTABLA_USUARIOS vamos a crearle una superficie de actualizacin para poder
ingresarle registros. Para esto vamos a ingresar a la transaccin SE11 con el nombre de la tabla y vamos a ir a la
siguiente opcin del men:

Imagen1.1Creacindelasuperficiedeactualizacinatravsdelmen

Aqu veremos la siguiente pantalla en donde completaremos los campos:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 162


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.2Completamosloscamposnecesarios

Grupo de autorizaciones (Authorization group): con &NC& que significa que no estamos asociando la superficie a
ningn grupo en particular.

Grupo de Funciones (Function group): aqu colocaremos el mismo nombre de la tabla. Este tema lo veremos en
detalle en la unidad de Funciones y Subrutinas.

Tipo actualizacin (Maintenance type): seleccionaremos un nivel es decir one step.

TransaccinSE54

A esta misma pantalla que acabamos de visualizar en la imagen anterior podemos acceder en forma
directa a travs de la transaccin estndar SE54 desde el campo de comandos de SAP.

Luego presionaremos el botn Buscar NImgenes y el sistema nos ofrecer nmeros de imgenes.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 163


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.3SeleccionamoslaopcinProponernmerosdeimagen

Presionaremos el botn y se completar con nmeros, el campo de la pantalla "Imgen resumen". Finalmente
presionamos el botn y guardamos los cambios como "Objeto local".

Ahora vamos a probar de ingresar registros en la tabla ZTABLA_USUARIOS, para ello vamos a ir a la transaccin
SM30, escribiendo el nombre de nuestra tabla y presionamos el botn Actualizar .

Imagen1.4ActualizacindelatablabasededatosatravsdelatransaccinSM30

Aqu presionamos el botn Nuevas Entradas y comenzamos a cargar registros en nuestra tabla.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 164


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.5Introducimoslasnuevasentradasenlatabla

Al finalizar la carga presionamos el botn Grabar .

2|Visualizacindelosregistrosdeunatabla

Para visualizar los datos que acabamos de crear vamos a utilizar la transaccin SE16. All vamos a escribir el nombre
de nuestra tabla y presionamos enter.

Imagen2.1ImageninicialdelatransaccinSE16

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 165


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

TransaccinSE16

La transaccin estndar SE16 la utilizaremos para visualizar los datos almacenados en las tablas base
de datos.

Esta transaccin es muy utilizada tanto por Consultores Tcnicos ABAP como tambin por los
Consultores Funcionales de los distintos mdulos.

Inmediatamente despus, veremos la siguiente pantalla en donde podremos filtrar los datos a mostrar por cualquiera de
los campos que componen nuestra tabla.

Tambin podremos saber la cantidad de registros de nuestra tabla con el botn Cantidad de entradas
.

Imagen2.2Visualizamosloscamposparafiltrarlavisualizacindelosregistros

Aqu presionamos F8 y visualizaremos el contenido de la tabla ZTABLA_USUARIOS tal como vemos:

Imagen2.3Visualizacindelosregistrosalmacenadosenlatabla

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 166


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

3|Creacindeunaestructura

ESTRUCTURA

Es un tipo de dato complejo que contiene varios campos.

Vamos a crear una estructura, para ello accedemos a la transaccin SE11, en Tipo de datos colocamos el nombre de
nuestra estructura que ser ZUSUARIOS y presionamos el botn Crear.

Imagen3.1CreacindeunaestructuraatravsdelatransaccinSE11

Luego aparecer en la pantalla la siguiente ventana de dilogo, seleccionamos la opcin Estructura y presionamos el
botn continuar de la tilde verde.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 167


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.2SeleccionamoslaopcinEstructura

Luego ingresamos la Descripcin breve que ser "Estructura de usuarios" y los campos que tendr la estructura, que
en este caso sern los mismos de la tabla ZTABLA_USUARIOS como vemos a continuacin:

Imagen3.3Introducimosladescripcinbreveyloscamposdelaestructura

Finalmente activamos .

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 168


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

4|Creacindeunaayudadebsquedaparaparmetros

AYUDADEBSQUEDA

Es un objeto ABAP que se utiliza para definir posibles valores de seleccin.

Supongamos que tenemos un reporte ABAP con la siguiente pantalla de seleccin:

Imagen4.1Pantalladeseleccindeunreporte

Y queremos que al presionar F4 sobre el campo de entrada de la pantalla se muestren los nombre y apellidos de los
usuarios.

Para ello, tenemos que crear la ayuda de bsqueda Z_AYUDA_USUARIOS en la transaccin SE11. Ingresamos el
nombre Z_AYUDA_USUARIOS o la derecha del texto Ayuda de bsqueda (Search help) y presionamos el botn
Crear.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 169


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen4.2CreacindeunaayudadebsquedaatravsdelatransaccinSE11

Luego veremos la siguiente ventana de dilogo:

Imagen4.3Seleccionamosayudadebsquedaelemental

Aqu seleccionaremos la opcin Ayuda p.bsqueda elemental (Elementary search help) y completamos la pantalla
con los siguientes datos:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 170


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen4.4Configuramoslaayudadebsqueda

El mtodo de seleccin ser el nombre de la tabla de donde se obtienen los datos. Los campos NOMBRE_APE, DNI
y ESTADO_USU son los que se mostrarn por pantalla al utilizar la ayuda y el campo NOMBRE_APE en particular
ser el que se exporte a la pantalla del reporte por eso tiene tildada la columna EXP. Para finalizar activamos la
ayuda.

Luego, modificaremos la declaracin del parmetro de la pantalla de seleccin de nuestro reporte con la sentencia
MATCHCODE OBJECT seguida del nombre de la ayuda de bsqueda que acabamos de crear.

Imagen4.5Modificamosladeclaracindelparmetroenlapantalladeseleccin

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 171


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Vemos que al ejecutar el reporte aparece el icono a la derecha del campo Usuario. Finalmente, si lo presionamos
veremos el siguiente listado de opciones de seleccin:

Imagen4.6Visualizamoslaayudadebsquedaenpantalla

Antes de crear una nueva ayuda de bsqueda es conveniente chequear en el diccionario de datos si no
existe una que cumpla con mis requisitos.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 172


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Instrucciones SQL: La sentencia SELECT
Aprenderemos a utilizar la sentencia SELECT.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 3: Diccionario de datos

CVOSOFTITAcademyFormacinenSistemas.

1|LasentenciaSELECT

Existen en ABAP un conjunto de sentencias que se utilizan para acceder a las bases de datos. La principal sentencia
es SELECT, cuya sintaxis es la siguiente:

Imagen1.1LasentenciaSELECT

Si quisiramos obtener todos los registros de la tabla ZTABLA_USUARIOS usaramos el siguiente cdigo:

Imagen1.2LasentenciaSELECT*

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 173


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Donde TI_USUARIOS es una tabla interna del mismo tipo de la tabla ZTABLA_USUARIOS. El asterisco indica que se
obtendrn todos los campos de la tabla. La clusula INTO TABLE se utiliza cuando el resultado de la consulta se
guarda en una tabla interna.

Evitar el uso del * cuando solo se requiera obtener algunos campos de la tabla origen.

En la sentencia anterior, en caso de existir registros en la tabla ZTABLA_USUARIOS, estos pisarn el contenido de la
tabla interna TI_USUARIOS.

Podra ocurrir que queramos conservar el contenido de la tabla interna TI_USUARIOS luego de reiteradas selecciones.
En este caso tendramos que usar la clusula APPENDING TABLE en lugar de INTO TABLE.

Es recomendable hacer CLEAR y REFRESH de la tabla interna antes de realizar la seleccin.

Si quisiramos obtener de todos los campos de la tabla ZTABLA_USUARIOS el campo DNI deberamos crear una
tabla auxiliar solo con el campo DNI para alojar el resultado de la consulta.

Imagen1.3SELECTdeunsolocampoalmacenadoenunaestructura

Siempre despus de un SELECT se debe preguntar por el SYSUBRC para saber como proseguir.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 174


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Si quisiramos obtener la primera ocurrencia de la tabla ZTABLA_USUARIOS donde se cumpla determinada condicin
debemos usar la clusula SINGLE como vemos a continuacin:

Imagen1.4LasentenciaSELECTSINGLE

El resultado de esta consulta ser guardado en la estructura WA_USUARIOS que es del mismo tipo que la tabla
ZTABLA_USUARIOS.

Si quisiramos hacer la misma consulta anterior pero necesitamos obtener solo el campo DNI entonces ya no sera
necesaria la estructura WA_USUARIOS sino que guardaramos el resultado en la variable V_DNI tal como vemos en el
siguiente ejemplo:

Imagen1.5SELECTdeunsolocampoalmacenadoenunavariable

Si quisiramos obtener de una tabla los registros que cumplan una condicin pero queremos guardarlos en una tabla
interna que no tiene la misma estructura que la tabla, entonces tenemos que usar la clusula INTO CORRESPONDING
FIELDS OF TABLE.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 175


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.6LasentenciaSELECTINTOCORRESPONDINGFIELDSOFTABLE

En el ejemplo anterior, la tabla interna TI_USUARIOS2 est compuesta por los campos NOMBRE_APE y
ESTADO_USU.

Supongamos que tenemos un reporte que tiene la pantalla de seleccin:

Imagen1.7Pantalladeseleccindeunreporte

Donde Nombre y Apellido es el parameter P_NOMAPE y Estado Usuario es el selectoptions S_ESTADO. Si


quisiramos hacer una seleccin a la tabla ZTABLA_USUARIOS en base a lo que los usuarios ingresan por pantalla
haramos lo siguiente:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 176


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.8Seleccinutilizandolosparmetrosdelapantalladeseleccin

La clusula IN se utiliza para los selectoptions en las condiciones de un select.

Ahora, si quisiramos obtener el usuario activo con DNI ms alto tendramos que usar la clusula MAX de la siguiente
forma:

Imagen1.9LasentenciaSELECTSINGLEMAX

Si quisiramos saber la cantidad de usuarios con estado = "activo", debemos usar la clusula COUNT de la siguiente
manera:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 177


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.10LasentenciaSELECTSINGLECOUNT

Si quisiramos obtener de una tabla todos los registros que existan en una tabla interna cargada con datos, entonces
debemos utilizar la sentencia FOR ALL ENTRIES IN que nos permite especificar condiciones en tiempo de ejecucin.
Veamos un ejemplo:

Imagen1.11LasentenciaFORALLENTRIES

Si quisiramos obtener todos los registros que cumplan con un patrn de texto en alguno de sus campos, debemos
utilizar la sentencia LIKE como vemos en el siguiente ejemplo:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 178


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.12LasentenciaLIKE

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 179


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
INSERT, UPDATE, MODIFY, DELETE y
actualizacin y recuperacin de la BD
Aprenderemos a utilizar las sentencias INSERT, UPDATE, MODIFY, DELETE y como
realizar la actualizacin y recuperacin de la base de datos.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 3: Diccionario de datos

CVOSOFTITAcademyFormacinenSistemas.

1|LasentenciaINSERT

La sentencia INSERT permite introducir nuevos registros a una base de datos. Por ejemplo, si quisiramos introducir un
nuevo registro en la tabla ZTABLA_USUARIOS haramos lo siguiente:

Imagen1.1INSERTdeunregistroenunatablabasededatos

Siempre despus de un INSERT se debe preguntar por el SYSUBRC.

Si es cero, el registro se insert correctamente, caso contrario, se produjo un error y el registro no se


insert.

Si quisiramos introducir todos los registros de una tabla interna haramos lo siguiente:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 180


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.2INSERTdeunatablainternaenunatablabasededatos

Si existe algn registro en la base de datos con igual clave que un registro en la tabla interna se producir un error
(SYSUBRC distinto de cero).

2|LasentenciaUPDATE

La sentencia UPDATE permite actualizar el contenido de uno o varios registros de una tabla base de datos registros de
una tabla base de datos. Por ejemplo, si quisiramos actualizar un registro de una tabla base de datos haramos lo
siguiente:

Imagen2.1Actualizacindeunregistrodelatablabasededatos

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 181


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Siempre despus de un UPDATE se debe preguntar por el SYSUBRC.

Si es cero, el registro se actualizo correctamente, caso contrario, se produjo un error y el registro no se


actualizo.

Si quisiramos actualizar los registros de la tabla ZTABLA_USUARIOS que cumplan determinada condicin, haramos
lo siguiente:

Imagen2.2Actualizamoslosregistrosquecumplenlacondicin

Si quisiramos actualizar todos los registros de la tabla ZTABLA_USUARIOS a partir del contenido de una tabla interna
haramos lo siguiente:

Imagen2.3Actualizacindeunatablabasededatosapartirdeunatablainterna

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 182


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

3|LasentenciaMODIFY

La sentencia MODIFY permite modificar el contenido de uno o varios registros de una tabla base de datos. Por
ejemplo, si quisiramos modificar un registro de una tabla base de datos haramos lo siguiente:

Imagen3.1Modificacindeunregistrodelatablabasededatos

Siempre despus de un MODIFY se debe preguntar por el SYSUBRC.

Si es cero, el registro se modifico correctamente, caso contrario, se produjo un error y el registro no se


modifico.

Si quisiramos modificar todos los registros de la tabla ZTABLA_USUARIOS a partir del contenido de una tabla interna
haramos lo siguiente:

Imagen3.2Modificacindeunatablabasededatosapartirdeunatablainterna

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 183


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Si el registro que se intenta modificar, no existe en la tabla, este se crear.

4|LasentenciaDELETE

La sentencia DELETE permite borrar el contenido de uno o varios registros de una tabla base de datos. Por ejemplo, si
quisiramos borrar un registro de una tabla base de datos haramos lo siguiente:

Imagen4.1Borradodeunregistrodelatablabasededatos

Siempre despus de un DELETE se debe preguntar por el SYSUBRC.

Si es cero, el registro se borro correctamente, caso contrario, se produjo un error y el registro no se


borro.

La cantidad de registros borrados se guarda en SYDBCNT.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 184


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Si quisiramos borrar los registros de la tabla ZTABLA_USUARIOS que cumplan determinada condicin, haramos lo
siguiente:

Imagen4.2Borradodelosregistrosquecumplanlacondicin

Si quisiramos borrar todos los registros de la tabla ZTABLA_USUARIOS a partir del contenido de una tabla interna
haramos lo siguiente:

Imagen4.3Borradodelosregistrosqueexistanenlatablainterna

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 185


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

5|Actualizacinyrecuperacindeunabasededatos

Para finalizar una unidad de procesamiento lgico LUW de base de datos se utiliza un COMMIT WORK, que realiza
un update fsico en la base de datos, haciendo irrevocable cualquier modificacin en la base de datos.

Si deseamos deshacer todas las operaciones realizadas sobre la base de datos desde el ltimo COMMIT WORK,
realizaremos un ROLLBACK WORK.

Veamos un ejemplo al insertar registros en la base de datos ZTABLA_USUARIOS:

Imagen5.1LassentenciasCOMMITyROLLBACK

Es conveniente, despus de un INSERT, MODIFY, UPDATE o DELETE realizar un COMMIT WORK y


ROLLBACK WORK.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 186


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 187


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

In ic io Nu e v a Un id a d :
Unidad 4: Subrutinas, Funciones y Batch
Subrutinas, Funciones y Batch

Curso: Programador ABAP Nivel Inicial

CVOSOFTITAcademyFormacinenSistemas.

Le damos la Bienvenida a una nueva unidad!

Unidad 4: Subrutinas,
Funciones y Batch

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 188


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

:: Descripcin de Unidad

CarreraConsultorTcnicoenDesarrolloABAP

MDULO:PROGRAMADORABAPINICIAL

UNIDAD:Subrutinas,FuncionesyBatch

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 189


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

:: Lecciones que componen esta unidad

Las siguientes lecciones componen a esta unidad de estudios:

Leccin: Subrutinas
Aprenderemos que son las subrutinas y que tipos de subrutinas existen, analizaremos en detalle cada uno de ellos. Tambin analizaremos las distintas
formasdepasarparmetrosasubrutinas.

Leccin: Mdulos de Funcin


Aprenderemosquesonlosmdulosdefuncinycualessonlospasosnecesariosparacrearunmdulodefuncin.

Leccin: Mdulos de funcin RFC


AprenderemosqueesunmdulodefuncinRFC,comosecreaunaRFCycualessonlostiposdeRFCsexistentes.

Leccin: Destinos RFC


AprenderemosqueesundestinoRFC,cualessonlostiposdedestinosRFCexistentesycomocrear,visualizar,actualizarytesteardestinosRFC.

Leccin: Batch
AprenderemosqueeslaejecucindefondodeunprogramaABAPycomorealizarla.

Leccin: Uso de la memoria en ABAP


AprenderemosautilizarlamemoriaenABAP.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 190


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 191


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 192


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 193


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Subrutinas
Aprenderemos que son las subrutinas y que tipos de subrutinas existen, analizaremos
en detalle cada uno de ellos. Tambin analizaremos las distintas formas de pasar
parmetros a subrutinas.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 4: Subrutinas, Funciones y Batch

CVOSOFTITAcademyFormacinenSistemas.

1|Qusonlassubrutinas?

SUBRUTINAS

Las subrutinas son secciones de cdigo que pueden ser utilizadas ms de una vez.

La idea de pasar el cdigo de los programas a subrutinas, es para que los programas sean ms fciles de leer y de
mantener.

MODULARIZAR

Se llama as a la accin de pasar el cdigo de un programa a subrutinas, para mejorar la lectura y


mantenimiento del mismo.

Lo ideal es que una subrutina no tenga ms de 50 lneas de cdigo.

La modularizacin ayuda a encontrar ms fcilmente los errores en los programas. Esto se debe a que al debaguear
un programa solo me preocupo que el resultado de una subrutina sea el esperado sin entrar en detalle de como se
llega a ese resultado.

Una subrutina se declara con la palabra reservada PERFORM seguida del nombre de la subrutina. Veamos un
ejemplo:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 194


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.1Declaracindeunasubrutina

Aqu creamos una subrutina para modularizar la seleccin de los datos. Si hacemos doble clic en el nombre de la
subrutina, el sistema nos propondr crear la subrutina en la siguiente ventana de dilogo:

Imagen1.2Ventanadedilogodecreacindeunasubrutina

Contestaremos que s y el sistema nos preguntar donde queremos generar la subrutina, las opciones son: crear un
nuevo include de datos o crearlas en el mismo programa de control. En este caso, las crearemos en el programa de
control.

Luego el sistema generar el siguiente bloque de cdigo en nuestro programa para que lo completemos con el cdigo
que corresponda:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 195


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.3Generacindelasubrutina

Es importante que el nombre que se le asigne a una subrutina sea lo ms representativo posible del
resultado que produce la subrutina.

La longitud del nombre no puede exceder los 30 caracteres.

2|Tiposdesubrutinas

Existen dos tipos de subrutinas:

Internas: cuando la subrutina est dentro del mismo programa que la llama.

Externas: cuando la subrutina est en un programa distinto al que las llama. Como puede ser el caso de un
include de subrutinas o otro programa.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 196


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

3|Subrutinasinternas

Como vimos en el ejemplo del punto 1, para crear una subrutina interna usamos la palabra clave PERFORM seguida
del nombre de la subrutina. Esto crea un bloque FORMENDFORM donde colocamos nuestro cdigo.

Se pueden pasar datos entre los programas principales y una subrutina a travs de parmetros. A los parmetros
definidos en el programa principal, a la derecha de la palabra PERFORM se los llama parmetros actuales.

A los parmetros definidos en la subrutina, a la derecha de la palabra FORM, se los llama parmetros formales.

Los parmetros pueden ser de tres tipos:

De entrada: cuando se utilizan para pasar datos del programa principal a la subrutina.

De salida: cuando se utilizan para pasar datos de la subrutina al programa principal.

De entrada y salida: cuando se utilizan para pasar datos de la subrutina al programa principal y tambin
viceversa.

4|Pasodeparmetrosasubrutinas

Para pasar los parmetros utilizaremos tres opciones: USING, CHANGING y TABLES. Estas opciones se deben escribir
en el orden que mostramos a continuacin en el siguiente grfico:

Imagen4.1UtilizacindeUSING,CHANGINGyTABLES

En el bloque FORMENDFORM debemos especificar el tipo de los parmetros formales. De esta forma nos
aseguramos que solo se pasen parmetros del tipo que corresponde a la subrutina. Veamos un ejemplo donde
pasamos una tabla interna, una estructura y una variable de tipo carcter.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 197


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen4.2Ejemplodepasodeparmetros

Cuando una subrutina es llamada, los parmetros deben ser pasados en el mismo orden en el que
fueron declarados, por lo tanto, se debe respetar esta misma secuencia en el bloque FORMENDFORM.

Existen tres formas de pasar parmetros:

Paso por valor: durante la llamada a la subrutina, los parmetros formales son creados como copias de los
parmetros actuales. Los cambios en los parmetros formales no afectan a los parmetros actuales. Veamos un
ejemplo:

Imagen4.3Pasodeparmetrosporvalor

Y la salida ser B.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 198


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Paso por referencia: durante la llamada a la subrutina, solo la direccin de los parmetros actuales se transfieren a
los parmetros formales. Dentro de la subrutina, se trabaja con el campo del programa que hace la llamada.

Si cambiamos los parmetros formales, el contenido del campo del programa que hace la llamada tambin cambia.

Imagen4.4Pasodeparmetrosporreferencia

Y la salida ser A B y X X.

Paso por valor y resultado: durante la llamada a la subrutina, los parmetros formales son creados como copias de
los parmetros actuales. Los cambios en los parmetros formales son copiados a los parmetros actuales al final de la
subrutina.

Imagen4.5Pasodeparmetrosporvaloryresultado

Y la salida ser H1 es: B.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 199


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

5|Subrutinasexternas

Si quisiramos llamar a una subrutina que est en un programa distinto al que estamos procesando, debemos utilizar
la siguiente sintaxis:

Imagen5.1Sintaxisparalallamadadeunasubrutinaexterna

Tambin podemos agregar includes de subrutinas a nuestro programa de la siguiente manera:

Imagen5.2Declaracindeincludesdesubrutinas

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 200


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Mdulos de Funcin
Aprenderemos que son los mdulos de funcin y cuales son los pasos necesarios
para crear un mdulo de funcin.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 4: Subrutinas, Funciones y Batch

CVOSOFTITAcademyFormacinenSistemas.

1|QusonlosMdulosdeFuncin?

MDULOSDEFUNCIN

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 transaccin SE37 como vemos a continuacin:

Imagen1.1BibliotecadefuncionestransaccinSE37

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 201


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

TransaccinSE37

Utilizaremos la Biblioteca de funciones correspondiente a la transaccin estndar SE37 para la creacin,


modificacin y visualizacin de los mdulos de funciones existentes en el sistema.

Tienen una interfaz definida, ya que su diseo facilita el paso de parmetros tanto de entrada como de salida.

Imagen1.2Estructuradeunmdulodefunciones

Veamos un ejemplo de como utilizar un mdulo de funcin ya existente. Vamos a crear un nuevo programa ABAP,
donde vamos a ejecutar la funcin POPUP_TO_CONFIRM que se utiliza para pedir confirmacin al usuario antes de
tomar una accin determinada.

En el men del editor ABAP existe el botn Modelo (Pattern en Ingls) que nos permite crear dentro
de un programa el esqueleto de cualquier funcin creada a travs de la transaccin SE37, simplemente
ingresando el nombre de la funcin que necesitemos.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 202


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.3EjemplodedeclaracindePOPUP_TO_CONFIRM

La ejecucin de este programa dar como resultado la siguiente salida:

Imagen1.4EjecucindelafuncinPOPUP_TO_CONFIRM

2|CmocrearunMdulodefuncin?

Para crear un mdulo de funcin accedemos a la transaccin SE37. All escribiremos el nombre de nuestra funcin que
ser Z_TEST_CLIENTES y presionaremos el botn Crear, como vemos a continuacin:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 203


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.1Creamoselmdulodefunciones

Inmediatamente despus veremos la siguiente ventana de dilogo en donde debemos escribir el nombre del grupo de
funciones al que pertenece la funcin y una descripcin breve de la funcin que queremos crear.

Imagen2.2Introducimoselgrupodefuncionesyunadescripcin

Al presionar el botn Grabar el sistema nos informa que previamente a la creacin del mdulo de funciones debemos
crear el Grupo de funciones asociado:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 204


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.3Elgrupodefuncionesnoexisteporloquelocreamos

GRUPODEFUNCIONES

Es un repositorio que agrupa funciones y que se utiliza principalmente para compartir subrutinas y
declaraciones de variables entre las distintas funciones pertenecientes al grupo.

Para crear un grupo de funciones, debemos seleccionar en el men de la transaccin SE37 la ruta Pasar a / Gestin
gr.funciones / Crear grupo (Goto/Functions Groups/Create Group) tal como vemos a continuacin:

Imagen2.4Opcindelmenparacrearelgrupodefunciones

Aqu ingresaremos el nombre de nuestro grupo de funcin y presionamos el botn Grabar como vemos a continuacin:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 205


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.5Introducimoselnombredelgrupodefuncionesygrabamos

Luego veremos en la parte inferior de la pantalla el siguiente mensaje que nos indica que el grupo de funciones ha
sido creado correctamente:

Imagen2.6Elgrupodefuncioneshasidocreado

Si quisiramos definir variables que se puedan utilizar en todas las funciones pertenecientes a nuestro grupo de
funciones, debemos dirigirnos en el men de la transaccin SE37 a Pasar a / Datos Globales (Goto/GlobalData) y
veramos la siguiente pantalla donde definiremos las variables globales.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 206


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.7Declaracindedatosglobalesdeungrupodefunciones

Si quisiramos declarar subrutinas que puedan ser utilizadas por todas las funciones del grupo, debemos en el men
de la transaccin SE37, ir a Pasar a / Programa de Control (Goto/MainProgram).

Imagen2.8VisualizamoselmenPasara/Programadecontrol

All descomentamos el primero de los include que est especificado para Subprogramas, le cambiamos el nombre para
que comience con Z, lo creamos haciendo doble clic sobre l y luego colocamos las subrutinas en l.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 207


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.9Declaracindesubrutinasglobalesdeungrupodefunciones

Finalmente, volvemos a la transaccin SE37 con nuestro grupo de funciones creado, presionamos Crear, ingresamos el
grupo de funcin y la descripcin de la funcin, grabamos y veremos la funcin Z_TEST_CLIENTES creada tal como
muestra el siguiente grfico:

Imagen2.10Mdulodefuncionescreado

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 208


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Veamos la utilidad de cada una de las solapas que se visualizan:

Atributos (Attributes): aqu especificamos la descripcin de la funcin y el tipo de funcin que puede ser
Normal, RFC o Update module.

Import: aqu especificamos los parmetros de entrada de la funcin.


Export: aqu especificamos los parmetros de salida de la funcin.

Modificaciones (Changing): aqu especificamos los parmetros de salida que cambiarn de valor con la
ejecucin de la funcin.


Tablas (Tables): aqu especificamos las tablas que se utilizan en la funcin.

Excepciones (Exceptions): aqu especificamos las excepciones de la funcin. Una excepcin es un error que
se produce al ejecutar la funcin y que ha sido catalogado cuando se creo el mdulo de funcin de modo de
poder identificar rpidamente el motivo del error.

Cdigo Fuente (Source Code): aqu pondremos el cdigo ABAP de la funcin.

Ahora, volviendo a nuestra funcin Z_TEST_CLIENTES, vamos a agregarle como parmetro de entrada el DNI.

Imagen2.11Agregamoslosparmetrosdeentrada

Y como parmetro de salida, en la solapa Modificaciones definimos la estructura de usuarios de la tabla que creamos
en la unidad 2 ZTABLA_USUARIOS.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 209


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.12Agregamoslosparmetrosdesalida

Si quisiramos pasar como parmetro una tabla interna en lugar de una estructura, entonces debemos crear un Tipo
Tabla a travs de la transaccin SE11, por ejemplo ZTT_USUARIOS, el cual va a tener la estructura de la tabla
ZTABLA_USUARIOS.

Imagen2.13Comopasartablasinternascomoparmetros

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 210


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Luego pondremos cdigo en la solapa Cdigo Fuente para recuperar de la tabla ZTABLA_USUARIOS, los datos
del usuario al que pertenezca el DNI de entrada.

Imagen2.14Introducimoselcdigofuentedenuestromdulodefunciones

Finalmente activamos.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 211


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Y podremos probar nuestra funcin ejecutndola.

Imagen2.15EjecutamoselmdulodefuncionesdesdelatransaccinSE37

Y veremos los resultados de la ejecucin de la misma:

Imagen2.16Salidadelmdulodefuncionesluegodesuejecucin

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 212


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Mdulos de funcin RFC
Aprenderemos que es un mdulo de funcin RFC, como se crea una RFC y cuales
son los tipos de RFCs existentes.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 4: Subrutinas, Funciones y Batch

CVOSOFTITAcademyFormacinenSistemas.

1|QuesunmdulodefuncinRFC?

MDULODEFUNCINRFC

Consiste en una llamada a una funcin que existe en un sistema distinto al del programa que la llama.

El objetivo principal de las RFC es acceder a otros ambientes para obtener datos.

La comunicacin puede darse entre sistemas SAP o entre un sistema SAP y otro sistema que no sea SAP.

Para llamar a una funcin RFC se debe agregar la clusula DESTINATION al momento de declarar la funcin, como
vemos en el siguiente ejemplo.

La RFC llamada no existe en el sistema origen pero si debe existir en el sistema destino.

Veamos un ejemplo simple de cuando utilizaramos una RFC:

Si quisiramos leer un registro de un cliente del sistema o ambiente DCR, a travs de un programa ABAP existente en
el ambiente DTR, crearamos una RFC en DCR que devuelva los registros de los clientes.

Luego llamaramos a esta funcin en el ambiente DTR, utilizando un destino que previamente hemos creado a travs
de la transaccin SM59 como veremos ms adelante.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 213


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.1EjemplodeutilizacindeunafuncinRFC

Si se produjera un error en la ejecucin de una RFC, los mensajes de error son devueltos por el
sistema remoto y alojados en las variables del sistema SYMSGID, SYMSGTY, SYMSGNO, SYMSGV1,
SYMSGV2, SYMSGV3 y SYMSGV4.

2|CmocrearunaRFC?

Una funcin RFC se crea de la misma manera que se crea una funcin. Se accede a la transaccin SE37 y se
completan los mismos parmetros que completamos para crear una funcin a excepcin de que se debe seleccionar en
la solapa de Atributos la opcin Mdulo de acceso remoto (Remote Enabled Module).

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 214


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.1Marcamosmdulodeaccesoremoto

Los parmetros que se crean en una funcin RFC no se pueden pasar por Referencia, deben pasarse
por valor.

Esto se logra tildando el check Transportar valores (Pass value) para cada parmetro en las solapas
IMPORT, EXPORT y CHANGING.

A su vez , las funciones creadas como RFC, pueden ser utilizadas como mdulos de funcin Normales. Esto se logra
de dos maneras diferentes:

Utilizando la declaracin CALL FUNCTION DESTINATION 'NONE' .

Utilizando la declaracin de un mdulo de funcin normal, sin el agregado de la clusula DESTINATION.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 215


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

3|TiposdeRFC

Existen tres tipos de RFC:

Sincrnicas: ambos sistemas deben estar disponibles al momento de la llamada de la funcin. Estas RFC estn
basadas en una comunicacin sincrnica.

Generalmente, utilizaremos el tipo de RFC sincrnico para la mayora de nuestros desarrollos.

Transaccionales: los sistemas no necesitan estar disponibles al momento de la llamada a la funcin. Un nico ID de
transaccin es generado y los programas llamados son almacenados en el sistema junto con los datos. Para crear una
RFC transaccional debo utilizar el sufijo IN BACKGROUND TASK como mostramos en el siguiente grfico:

Imagen3.1EstructuradeunaRFCtransaccional

En las RFC transaccionales, el sistema deja un log con el pedido de la llamada remota en las tablas estndar de SAP
ARFCSSTATE y ARFCSDATA con todos los valores de los parmetros pasados en la ejecucin.

TablasARFCSSTATEyARFCSDATA

Tablas estndar del sistema SAP que almacenan informacin relacionada a la llamada de RFC
transaccionales en el sistema.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 216


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Para visualizar este log, utilizaremos la transaccin SM58.

Imagen3.2VisualizamosellogdeejecucinconlatransaccinSM58

TransaccinSM58

Transaccin estndar del sistema SAP que nos permite visualizar el log de errores de las RFC
transaccionales que se ejecutaron en el sistema.

Cuando el programa que ejecuta la RFC ejecuta la sentencia COMMIT WORK, entonces es cuando la llamada remota
es enviada al sistema remoto para su ejecucin.

Utilizaremos el tipo de RFC transaccional para ciertos casos especficos de actualizaciones donde no se
requiera que dichas actualizaciones se realicen en forma inmediata sino recin cuando el programa
llamador ejecuta un COMMIT WORK.

Asincrnicas: el programa llamador, llama a la funcin RFC y inmediatamente despus termina su procesamiento.
Luego la funcin RFC se ejecuta independientemente del programa llamador. Para crear una RFC asincrnica debo
utilizar el sufijo STARTING NEW TASK como mostramos en el siguiente grfico:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 217


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.3EstructuradeunaRFCasincrnica

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 218


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Destinos RFC
Aprenderemos que es un destino RFC, cuales son los tipos de destinos RFC
existentes y como crear, visualizar, actualizar y testear destinos RFC.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 4: Subrutinas, Funciones y Batch

CVOSOFTITAcademyFormacinenSistemas.

1|QuesundestinoRFC?

DESTINORFC

Es una puerta de enlace que permite comunicar un sistema SAP con otro sistema SAP o no SAP.

Los destinos de las RFC son creados en la tabla estndar SAP RFCDES a travs de la transaccin SM59.

Imagen1.1TransaccinestndarSM59

TransaccinSM59

A travs de la transaccin SM59 podremos crear, borrar y modificar Conexiones R/3, Conexiones
internas, Destinos lgicos, Conexiones TCP/IP y Conexiones con driver ABAP.

Esta transaccin es muy utilizada tanto por Consultores tcnicos Abap como tambin por los
Administradores del sistema SAP o SAP Basis.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 219


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|TiposdedestinosRFC

Los Tipos de destinos RFC que se pueden crear en SAP son los siguientes:

Conexiones ABAP

Conexiones HTTP a servidor externo

Conexiones internas

Conexiones lgicas (SNA o CPIC)

Conexiones TCP/IP

Conexiones con ABAP driver

Para comunicar una RFC entre distintos ambientes de sistemas SAP utilizaremos Conexiones ABAP
(tambin llamadas Destinos Lgicos).

3|Cmocrear,visualizar,actualizarytesteardestinos?

En la transaccin SM59 se pueden crear, visualizar, actualizar y testear destinos RFC.

Creacindeundestino

Para crear un nuevo destino RFC basta con presionar el botn Crear.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 220


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.1CreacindeundestinoRFC

Y luego ingresamos ciertos parmetros que dependern del tipo de conexin a crear.

Imagen3.2Parmetrospropiosdelaconexin

Ciertos parmetros que estn en blanco en esta pantalla, como es el Target Host son necesarios para la
creacin del destino.

En un ambiente real de trabajo debern ser solicitados a los administradores SAP.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 221


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Visualizacin/Modificacindeundestino

Para Visualizar o modificar un destino RFC basta con presionar el botn de visualizacin o modificacin dependiendo
de la accin deseada.

Imagen3.3ModificacinyvisualizacindeundestinoRFC

Testeodeundestino

Podemos chequear si un destino funciona correctamente. Para ello, hacemos doble clic sobre el destino y en la
pantalla que nos aparece presionamos el botn Test de conexin.

Imagen3.4PruebadeundestinoRFC

Si la conexin funciona correctamente, veremos la siguiente pantalla:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 222


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.5Testdeconexinexitoso

Siempre es conveniente testear un destino RFC para comprobar que la conexin funciona correctamente.

EntradaalsistemaRemoto

Podemos ingresar al sistema remoto a donde apunta la conexin RFC presionando el botn Entrada al sistema
Remota que vemos a continuacin:

Imagen3.6Entradaalsistemaremoto

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 223


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Al ejecutar esta opcin veremos la pantalla de conexin de SAP en donde deberemos introducir nuestros datos de
acceso del sistema destino.

Imagen3.7Introducimoslosdatosdeaccesoalsistema

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 224


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Batch
Aprenderemos que es la ejecucin de fondo de un programa ABAP y como realizarla.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 4: Subrutinas, Funciones y Batch

CVOSOFTITAcademyFormacinenSistemas.

1|EjecucindeFondo

Existen dos formas de ejecutar un programa en ABAP: Online y Batch. En la ejecucin Online el programa se ejecuta
al momento de presionar F8 y los resultados de la ejecucin se producen de manera inmediata. Esta forma de
ejecucin es conveniente para los programas donde se requiere interaccin con el usuario o cuando el tiempo de
ejecucin es muy poco.

Pero en ciertos otros casos, especialmente hablando en un ambiente real de trabajo, el tiempo de procesamiento de un
programa podra ser muy alto. Esto se puede deber a que el programa tiene muchos accesos a base de datos, que
tienen millones de registros, a la ejecucin de mltiples transacciones o a otras varias razones.

Para estos casos que acabamos de mencionar, va a ser conveniente la ejecucin Batch o de fondo. Veamos un
ejemplo paso a paso de como ejecutar un programa de fondo.

Supongamos que tenemos el programa ABAP ZPRUEBA_FONDO_B que obtiene los registros de la tabla
ZTABLA_USUARIOS y los imprime por pantalla.

Imagen1.1CdigodelprogramaZPRUEBA_FONDO_B

Ahora vamos a crear el nuevo programa ABAP ZPRUEBA_FONDO el cual cumplir el rol de programa padre del
programa ZPRUEBA_FONDO_B.

Lo primero que debemos hacer es crear un Job. Para esto le asignamos un nombre a la variable V_JOBNAME y luego
ejecutamos la funcin JOB_OPEN. Para modularizar vamos a crear la subrutina ABRIR_JOB que tendr el siguiente
cdigo.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 225


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.2AperturadeljobmediantelafuncinJOB_OPEN

Lo que sigue es lanzar el Job. Para esto vamos a crear la subrutina LANZAR_JOB, que ejecutar la sentencia
SUBMIT, la cual se utiliza para ejecutar un programa dentro de otro programa y con el agregado de la clusula VIA
JOB NUMBER la ejecucin del programa se realizar de fondo.

Mediante la sentencia SUBMIT se pueden pasar parmetros al programa llamado, los cuales deben
existir en la pantalla de seleccin de ste.

Para ms informacin sobre la sentencia, presionar F1.

Imagen1.3LanzamoseljobmediantelasentenciaSUBMIT

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 226


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Con el agregado de la clusula AND RETURN el programa llamador permanece en espera mientras se ejecuta el
programa llamado. Cuando el programa llamado termina, se devuelve el control al programa llamador.

Luego debemos cerrar el Job mediante la funcin JOB_CLOSE. Para esto vamos a crear la subrutina
CERRAR_JOB como vemos a continuacin.

Imagen1.4CerramoseljobmediantelafuncinJOB_CLOSE

Por ltimo, despus de cerrar el Job, imprimimos por pantalla el mensaje "Se lanzo el Job, para visualizarlo ir a la
Trx SM37".

Ahora vamos a ejecutar Online el programa ZPRUEBA_FONDO presionando F8. Veremos en la pantalla el mensaje
"Se lanzo el Job, para visualizarlo ir a la Trx SM37", por lo tanto vamos a ir a buscar el resultado a la transaccin
SM37. All presionamos F8 o Ejecutar.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 227


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.5BuscamoseljobenlatransaccinSM37

TransaccinSM37

Utilizaremos la transaccin estndar SM37 para visualizar los jobs procesados en el sistema SAP.

De cada job podremos visualizar distintos datos tales como el ID, el usuario SAP que lo ejecut, el
status (planeado, liberado, listo, activo, terminado o cancelado), la fecha y hora de inicio, la
duracin y el retraso.

Identificamos nuestro proceso, lo tildamos y presionamos el botn Spool.

Imagen1.6SeleccionamosnuestrojobypresionamoselbotnSpool

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 228


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Ahora vemos el pedido del Job correspondiente a nuestro programa.

Imagen1.7Visualizamoslaordendespoolcorrespondienteanuestrojob

Finalmente, presionamos el botn de visualizacin y vemos el resultado del procesamiento.

Imagen1.8Visualizamoslasalidadeljobenpantalla

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 229


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Uso de la memoria en ABAP
Aprenderemos a utilizar la memoria en ABAP.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 4: Subrutinas, Funciones y Batch

CVOSOFTITAcademyFormacinenSistemas.

1|LamemoriaenABAP

En ciertas oportunidades, podra pasar que mientras ejecutamos un programa o objeto ABAP, necesitemos de datos
que se obtengan en otro programa ABAP que se ejecuto previamente.

Existen varias formas de solucionar esto, una de ellas es pasando parmetros de un programa a otro, si es que ambos
objetos son programas. Otra opcin es utilizar la memoria para pasar los datos.

En ABAP existen sentencias que nos permiten manipular fcilmente los datos que subimos y bajamos de memoria.
Para subir datos a memoria vamos a utilizar la sentencia EXPORT tal como mostramos a continuacin.

Imagen1.1SintaxisdelasentenciaEXPORT

El ID que se utiliza debe ser nico. Veamos un ejemplo de como levantar o subir datos a memoria.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 230


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.2Ejemplodeexportacindedatosamemoria

Para bajar o descargar los datos de memoria utilizamos la sentencia IMPORT tal como mostramos a continuacin.

Imagen1.3SintaxisdelasentenciaIMPORT

Veamos un ejemplo de como bajar o descargar datos de memoria.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 231


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.4Ejemplodeimportacindedatosdesdememoria

Se pueden exportar e importar tanto variables, como estructuras o tablas internas a memoria.

Luego de bajar los datos de memoria, es conveniente liberar el rea de memoria utilizada. Esto lo hacemos con la
sentencia FREE MEMORY tal como vemos a continuacin.

Imagen1.5Liberamoslamemorialuegodeutilizada

Para que la exportacinimportacin de datos funcione correctamente se debe utilizar la misma sesin de
memoria o ejecucin.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 232


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Utilizaremos la sentencia SUBMIT para poder llamar a un programa dentro de la ejecucin de otro programa. Veamos
un ejemplo de un programa que exporta datos:

Imagen1.6Ejemplodeprogramaqueexportadatosamemoria

Luego en el programa que importa los datos haremos lo siguiente:

Imagen1.7Ejemplodeprogramaqueimportadatosdememoria

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 233


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 234


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

In ic io Nu e v a Un id a d :
Unidad 5: Reportes
Reportes

Curso: Programador ABAP Nivel Inicial

CVOSOFTITAcademyFormacinenSistemas.

Le damos la Bienvenida a una nueva unidad!

Unidad 5: Reportes

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 235


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

:: Descripcin de Unidad

CarreraConsultorTcnicoenDesarrolloABAP

MDULO:PROGRAMADORABAPINICIAL

UNIDAD:Reportes

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 236


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

:: Lecciones que componen esta unidad

Las siguientes lecciones componen a esta unidad de estudios:

Leccin: Conceptos importantes de reportes


Aprenderemos a crear una variante de ejecucin, a crear una transaccin asociada a un reporte. Analizaremos el navegador de objetos y la Utilizacin
decoloresenreportes.

Leccin: Status GUI y Ttulos


AprenderemosacrearlosStatusGUIylosttulosdenuestrosreportes.

Leccin: Reportes Interactivos


Aprenderemos que es un Reporte interactivo, cuales son los Eventos y las variables del sistema que debemos tener en cuenta en un reporte
interactivoycrearemosnuestroprimerreporteinteractivo.

Leccin: Reportes ALV: Grillas y Listas


AprenderemosqueesunALVycrearemosnuestroprimerreporteALV.

Leccin: Catlogo ALV automtico, logos, encabezados y status


AprenderemosacrearelcatlogodeunreporteALVenformaautomtica.AnalizaremoscomoincluirLogos,encabezadosyStatusGUIs.

Leccin: ALV Jerrquico y Agrupamiento


AprenderemosaagruparlosdatosdeunreporteALVyanalizaremoseltipodereporteALVJerrquico.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 237


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 238


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 239


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 240


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Conceptos importantes de reportes
Aprenderemos a crear una variante de ejecucin, a crear una transaccin asociada a
un reporte. Analizaremos el navegador de objetos y la Utilizacin de colores en
reportes.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 5: Reportes

CVOSOFTITAcademyFormacinenSistemas.

1|Creacindeunavariantedeejecucin

Supongamos que tenemos un reporte que tiene una pantalla de seleccin con 20 parmetros. Si cada vez que
queremos ejecutar nuestro reporte, tenemos que introducir en la pantalla el contenido de los 20
parmetros perderamos mucho tiempo.

Para solucionar este inconveniente, SAP creo el concepto de variante, que es aplicable tanto a reportes como a
cualquier objeto que se pueda ejecutar y que permite guardar los parmetros ingresados por pantalla, para no tener
que volver a cargarlos.

VARIANTE

En SAP llamamos variante a una imagen de informacin fija que podemos introducir en una pantalla de
seleccin de una transaccin.

Con una variante podemos introducir valores en cada uno de los campos de una pantalla de seleccin y
grabarla para ms tarde recuperarla de nuevo a la hora de ejecutar el programa o transaccin.

Para probar este nuevo concepto, vamos a crear el reporte ZPRUEBA_USUARIOS y le vamos a ingresar los
siguientes datos en la pantalla de seleccin que vemos a continuacin.

Imagen1.1Primerpasoparacrearunavariantedeejecucin

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 241


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Para crear el marco que vemos en la pantalla anterior, utilizamos la sentencia SELECTION SCREEN.

Para ms informacin sobre la sentencia presionar F1.

Luego, presionamos en el men el botn Guardar y veremos la siguiente pantalla donde asignaremos un nombre y
una descripcin a la variante.

Imagen1.2Asignamosunnombreydescripcinalavariante

Finalmente presionamos guardar de nuevo y quedar guardada la variante ZPRUEBA.

Imagen1.3Lavariantesecreacorrectamente

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 242


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Si ejecutamos otra vez el reporte, veremos en el men, el botn obtener variante.

Imagen1.4Elbotnobtenervariantes

Si hacemos clic, podremos ver las variantes disponibles para el reporte.

Imagen1.5Visualizamoslasvariantesdisponiblesparaelreporte

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 243


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|Creacindetransaccionesasociadasareportes

Para que los usuarios finales puedan utilizar los programas que nosotros desarrollamos, debemos crear transacciones
asociadas a los programas, ya que ellos no tienen acceso a la transaccin SE38, ni a ninguna otra transaccin de
desarrollo.

Mediante la transaccin estndar SE93, podemos crear transacciones asociadas a reportes.

TransaccinSE93

Transaccin estndar del sistema SAP mediante la cual podemos crear y actualizar las transacciones
denominadas Z y visualizar las transacciones estndar.

Veamos un ejemplo. Vamos a ejecutar la transaccin SE93, completamos el nuevo nombre de la transaccin, que ser
ZTRX_USUARIOS y hacemos clic en el botn Crear.

Imagen2.1CreacindeunatransaccinenlatransaccinSE93

Luego veremos una ventana de dilogo donde completamos la descripcin breve y seleccionamos el tipo de
transaccin, que en nuestro caso ser transaccin de reporte y hacemos clic en continuar.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 244


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.2Completamosladescripcinyseleccionamoseltipo

En la siguiente pantalla, ingresamos el nombre del programa (el cual debe existir previamente), la pantalla de seleccin
inicial, que por default (defecto) es la 1000, podemos agregar una variante para que se ejecute con la transaccin y
finalmente grabamos.

Imagen2.3Introducimoslosdatosdelprograma

Luego para ejecutar nuestra transaccin la escribimos en el campo de comandos y presionamos enter como con
cualquier otra transaccin estndar de SAP.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 245


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.4Ejecutamosnuestratransaccindesdeelcampodecomandos

3|Elnavegadordeobjetos

Mediante la transaccin SE80 podemos crear, modificar y visualizar todo tipo de objetos. Algunos de ellos son:
Paquetes, Programas, Mdulos de funcin, Clases, Aplicaciones WebDynpro, etc.

TransaccinSE80

Podemos utilizar el navegador de objetos correspondiente a la transaccin SE80 para trabajar con
nuestros programas ABAP y tambin para visualizar los programas estndar del sistema, as como lo
hacemos con la transaccin SE38.

Al momento de crear un programa de cierta complejidad, esta transaccin resulta mucho ms til que la SE38, ya que
permite crear directamente desde aqu, todos los objetos componentes de dicho programa.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 246


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.1ElnavegadordeobjetoscorrespondientealatransaccinSE80

4|Utilizacindecoloresenreportes

Se pueden utilizar colores a la hora de hacer impresiones por pantalla, tanto en un reporte interactivo como en un
reporte clsico. Para esto, vamos a ejecutar la sentencia FORMAT COLOR antes de hacer un WRITE tal como
mostramos a continuacin.

Imagen4.1LasentenciaFORMATCOLOR

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 247


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Y la salida de esta sentencia en un reporte ser:

Imagen4.2SalidaporpantallautilizandolasentenciaFORMATCOLOR

Existen muchas variantes de ejecucin de la sentencia FORMAT COLOR.

Para obtener ms informacin, presionar F1 sobre la sentencia.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 248


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Status GUI y Ttulos
Aprenderemos a crear los Status GUI y los ttulos de nuestros reportes.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 5: Reportes

CVOSOFTITAcademyFormacinenSistemas.

1|CreacindeunStatusGUI

STATUSGUI

Es un componente independiente de los programas ABAP, que se utiliza para proporcionarle al usuario
un amplio rango de funciones en la pantalla de los programas.

Est compuesto por barras de men, barras de herramientas estndar, barras de herramientas de aplicaciones y la
configuracin de teclas de funcin.

En el siguiente grfico, identificamos cada uno de los componentes en la pantalla de salida de un reporte ABAP.

Imagen1.1ComponentesexistentesenunSTATUSGUI

Vamos a crear un Status GUI para el reporte ZPRUEBA_EST_USUARIOS, que mostrar los usuarios activos y los
inactivos dependiendo de que botn de la barra de herramientas de la aplicacin ha sido presionado.

Para esto, accedemos a la transaccin SE80, ingresamos el nombre del programa, presionamos enter y lo creamos tal
como lo hacamos a travs de la transaccin SE38.

Luego, vamos a crearle un Status GUI, para ello sobre el nombre del programa, hacemos botn derecho Crear /
Status GUI tal como vemos en la siguiente imagen:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 249


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.2RutadelmenparacrearunSTATUSGUI

En la siguiente ventana, ingresamos el nombre del Status GUI, que ser 0100, una descripcin que podra ser "Status
del reporte de usuarios" y presionamos continuar.

Imagen1.3IntroducimosunnombreyunadescripcinparaelSTATUSGUI

Luego veremos a la derecha de la pantalla, los componentes del Status GUI como vemos a continuacin.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 250


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.4VisualizamosloscomponentesdelSTATUSGUI

Luego, desplegamos la lista que est en la Barra de pulsadores y en el primer tem en blanco, escribimos el cdigo
de funcin correspondiente a la ejecucin del botn de usuarios activos, que ser USU_ACTI y presionamos enter.

Imagen1.5Creamosunbotnenlabarradepulsadores

Aqu veremos una ventana de dilogo que nos indicar que no existe texto asignado a esa funcin y presionaremos
continuar.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 251


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.6Elcdigodefuncinasignadonosehautilizadoparaotrobotn

Luego veremos otra ventana donde completamos los datos referentes al nuevo botn.

Imagen1.7Completamoslainformacinrequeridaparaelnuevobotn

Cdigo de Funcin: se utiliza para darle un nombre al botn.

Texto funcin: se corresponde al texto que se muestra a la derecha del cono del botn.

Nombre cono: ser el cono que se visualice por pantalla dentro del botn. Este se puede elegir dentro de un
gran variedad de conos que se visualizan presionando F4.

Texto Info: es el nombre de ayuda del botn. Este se visualizar cuando dejemos quieto unos segundos el
puntero del mouse sobre el botn.

Luego presionamos continuar y en la siguiente ventana de dilogo asignaremos una tecla de funcin al botn, que
tendr el mismo efecto que cuando hacemos clic con el puntero del mouse el botn. Por ejemplo, seleccionamos Shift
F1 y presionamos continuar.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 252


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.8Seleccionamosunatecladefuncin

Finalmente con el botn creado veremos el primer tem de la siguiente manera.

Imagen1.9Visualizamoselbotncreadoenlabarradepulsadores

Aqu presionamos enter sobre el cdigo USU_ACTI y completamos en la siguiente ventana, el campo Icon text. que
ser el texto que se visualice dentro del botn en la pantalla de salida.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 253


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.10Completamosmsinformacindelbotn

Luego haremos lo mismo con el botn de usuarios inactivos, cuyo cdigo ser USU_INACTI y finalmente grabamos los
cambios realizados y activamos.

Imagen1.11Creamoselbotndeusuariosinactivos

Ahora vamos a introducir cdigo en el reporte para poder utilizar el nuevo Status GUI. Lo primero que debemos hacer
es declarar la utilizacin del status. Esto lo haremos mediante la sentencia SET PFSTATUS, tal como vemos a
continuacin.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 254


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.12DeclaramoselSTATUSmediantelasentenciaSETPFSTATUS

Luego para capturar cual botn presiono el usuario, utilizaremos el evento AT USERCOMMAND junto con la variable
del sistema SYUCOMM que contendr el cdigo de funcin correspondiente al botn presionado.

Las subrutinas USUARIOS_ACTIVOS y USUARIOS_INACTIVOS realizan la seleccin e impresin de los


correspondientes registros de la tabla ZTABLA_USUARIOS.

Imagen1.13Analizamosquebotnpresionelusuario

Finalmente activamos y al ejecutar el reporte veremos:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 255


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.14Visualizacindelosbotonesalejecutarelprograma

Si presionamos el botn "Reporte de usuarios activos" vemos un listado de los usuarios activos. Si no existen
registros de usuarios activos, visualizaremos un mensaje de error. Lo mismo suceder con los usuarios inactivos.

Imagen1.15Salidaporpantallaalpresionarelbotnreportedeusuariosactivos

Mediante la transaccin estndar SE41 se pueden copiar Status GUI de un programa ABAP a otro.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 256


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|CreacindeTtulos

Vamos a crear ttulos para nuestro reporte. Para ello, en la transaccin SE80, sobre el nombre del programa, hacemos
botn derecho Crear/Ttulos GUI, tal como vemos en la imagen siguiente.

Imagen2.1Rutautilizadaparalacreacindettulos

En la siguiente ventana asignaremos un nombre al ttulo y su descripcin, que ser la que se visualice en pantalla.

Imagen2.2Asignamosunnombreyunadescripcinalttulo

Luego crearemos el ttulo 0200 para los usuarios inactivos y el ttulo 0300 para la primer pantalla del
reporte. Finalmente, presionamos el botn "Ttulos (todos)" y veremos en pantalla los tres ttulos creados. Lo ltimo
que nos queda es activarlos.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 257


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.3Activamostodoslosttuloscreados

Para declarar la utilizacin de los ttulos en el reporte, usamos la sentencia SET TITLE tal como vemos en el siguiente
grfico.

Imagen2.4DeclaramoslosttulosmediantelasentenciaSETTITLE

Finalmente al ejecutar el reporte, visualizaremos los ttulos, segn los botones presionados de la pantalla.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 258


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.5Visualizamoslosttuloscreadosalpresionarlosbotonescorrespondientes

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 259


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Reportes Interactivos
Aprenderemos que es un Reporte interactivo, cuales son los Eventos y las variables
del sistema que debemos tener en cuenta en un reporte interactivo y crearemos
nuestro primer reporte interactivo.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 5: Reportes

CVOSOFTITAcademyFormacinenSistemas.

1|QuesunReporteinteractivo?

REPORTEINTERACTIVO

Es un tipo de reporte ABAP, donde se muestra un primer listado por pantalla, con cierta informacin y
luego haciendo doble clic a una lnea determinada del primer listado, se accede a otros datos relativos a
esa lnea y as sucesivamente por cuantos niveles tenga el listado.

A diferencia del Reporte clsico, que puede ser ejecutado tanto Online como Batch, el reporte interactivo es ejecutado
solo en forma Online, ya que requiere de la interaccin con el usuario.

La principal ventaja de los reportes interactivos es que con pocas lneas de cdigo se puede crear un
reporte con interaccin con el usuario, a diferencia de los programas de dilogo, que requieren de
mucho ms tiempo de construccin.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 260


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.1Lgicadeprocesamientodelosreportesinteractivos

Veamos un ejemplo para el cual nos convendra crear un reporte interactivo:

Supongamos que tenemos un primer listado que muestra los usuarios con sus nombres y luego cuando hacemos doble
clic sobre un usuario en particular, vemos datos detallados del usuario, como pueden ser el pas, cdigo postal, regin,
etc. En este caso, bastara con crear un reporte interactivo para cumplir con este requerimiento.

2|Eventosyvariablesdeunreporteinteractivo

Cuando hacemos clic en alguna posicin de la lista principal que se muestra por pantalla, se ejecutar el evento AT
LINESELECTION. Este evento debemos ubicarlo luego del evento STARTOFSELECTION. En este momento, ciertas
variables del sistema se completan con informacin muy til. Ellas son:

SYLSIND: contiene el indice de la lista de detalle.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 261


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.1LavariabledelsistemaSYLSIND

SYLISEL: tiene el contenido de la lnea seleccionada.

Imagen2.2LavariabledelsistemaSYLISEL

SYLILLI: contiene la lnea seleccionada de la lista.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 262


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.3LavariabledelsistemaSYLILLI

SYCUROW: contiene la posicin del cursor vertical en la pantalla.

Imagen2.4LavariabledelsistemaSYCUROW

Utilizaremos el evento TOPOFPAGE DURING LINESELECTION para imprimir por pantalla los textos de las
cabeceras de las listas de detalle.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 263


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Programasparatenerencuenta

Existen algunos programas de prueba estndar ABAP que nos pueden servir para practicar. Ellos son:

DEMO_LIST_INTERACTIVE_1

DEMO_LIST_INTERACTIVE_2

DEMO_LIST_INTERACTIVE_3

DEMO_LIST_INTERACTIVE_4

3|MiPrimerreporteinteractivo

Vamos a crear el reporte interactivo del ejemplo que dimos en el punto 1. Para esto, vamos a agregar en nuestra tabla
de usuarios ZTABLA_USUARIOS los campos: DIRECCION que ser CHAR de 30 posiciones, CODIGO_POSTAL que
ser CHAR de 4 posiciones, F_NACIMIENTO que ser DATS de 8 posiciones y ESTADO_CIVIL que tendr un
dominio, que ser CHAR de 1 posicin y admitir los valores S(Soltero) y C (Casado).

Modificacindeunatablabasededatos

Debido a que realizamos cambios en la estructura de la tabla, tendremos que adaptar la tabla base de
datos, utilizando la opcin del men:

> Utilidades
|> Objeto Base datos
|> Utilidad base datos
|> Activar y adaptar base de datos

Despus debemos volver a generar la superficie de actualizacin, que creamos en la unidad 3 y finalmente ingresamos
datos en la tabla a travs de la transaccin SM30.

Luego creamos el programa ABAP ZREPORTE_INT_USUARIOS. Dentro del evento STARTOFSELECTION realizamos
la seleccin del DNI y Nombre y Apellido de los usuarios. Despus imprimimos por pantalla el resultado de la seleccin
realizada.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 264


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.1Creamosnuestroprimerreporteinteractivo

La salida por pantalla de nuestro programa se ver de la siguiente manera:

Imagen3.2Salidaporpantalladelreporte

Ahora vamos a agregar el evento AT LINESELECTION. El cdigo que este dentro de este evento se ejecutar cuando
hagamos doble clic en algn lugar de la pantalla, donde se visualiza el primer listado. Utilizaremos la variable del
sistema SYLISEL para obtener el DNI correspondiente a la lnea de la pantalla a la cual le realizamos clic.

Luego crearemos la subrutina GENERAR_REPORTE_NIVEL2, la cual seleccionar de la tabla ZTABLA_USUARIOS los


datos de detalle correspondientes al usuario, cuyo DNI fue capturado anteriormente y los imprimir por pantalla.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 265


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.3Declaramoslasubrutinaquecreaelreportedenivel2

Utilizaremos el evento TOPOFPAGE DURING LINESELECTION para imprimir por pantalla la cabecera de cada nivel
de listados de detalle.

Imagen3.4Imprimimoselencabezadodecadanivel

Finalmente ejecutamos el reporte, hacemos clic en la lnea correspondiente al DNI 23547312 y veremos el siguiente
detalle.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 266


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.5Alpresionarunalneadellistadoprincipalvisualizamosellistadodenivel2

Otra posibilidad, es mostrar la pantalla del nivel de detalle como una ventana de dialogo o subscreen. Para esto
usamos la sentencia WINDOWS STARTING AT tal como mostramos a continuacin.

Imagen3.6LasentenciaWINDOWSSTARTINGAT

Y se visualizar la ventana de la siguiente manera:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 267


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.7Visualizamosellistadodenivel2enunaventanadedilogo

Se pueden crear tantos niveles de listados como se requiera.

El nivel del listado donde estamos lo tenemos en la variable SYLSIND.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 268


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Reportes ALV: Grillas y Listas
Aprenderemos que es un ALV y crearemos nuestro primer reporte ALV.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 5: Reportes

CVOSOFTITAcademyFormacinenSistemas.

1|QuesunALV?

ALV(ABAPListViewer)

Es una herramienta exclusiva de ABAP, que se utiliza para crear reportes de manera eficaz, rpida y
estandarizada.

Las principales ventajas de los reportes ALV son:

Simplifican el desarrollo de reportes, por lo tanto se reducen los tiempos de programacin

Proporcionan a nuestros reportes un montn de funcionalidad estndar

Proporcionan una salida por pantalla estandarizada e uniforme

Imagen1.1EjemplodeunreporteALVendondeidentificamossusprincipalescomponentes

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 269


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

La creacin de un Reporte ALV, se basa en la utilizacin de funciones. Los tipos de ALV ms comnmente usados son
tres: Grillas, Listas y Jerrquico.

Las Grillas y las Listas pueden utilizarse en cualquier reporte, pero el Jerrquico se utiliza slo en los casos donde se
muestran datos de cabecera y de detalle, como por ejemplo nmeros de factura y detalles o Aerolneas y vuelos.

A cada tipo de ALV le corresponde una funcin diferente. Ellas son:

Grillas > REUSE_ALV_GRID_DISPLAY

Imagen1.2ReporteALVGrilla

Listas > REUSE_ALV_LIST_DISPLAY

Imagen1.3ReporteALVLista

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 270


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Jerrquico > REUSE_ALV_HIERSEQ_LIST_DISPLAY

Imagen1.4ReporteALVJerrquico

2|MiprimerreporteALV

Vamos a crear nuestro primer reporte ALV. Para esto seguiremos los siguientes pasos:

PASO1ero.:Declaracionesdetipos,estructurasytablaspropiasdelALV

Dentro de este paso, declaramos el tipo SLIS, que es necesario para la utilizacin de reportes ALV.

Imagen2.1ElTYPEPOOLsslis

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 271


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Tambin declaramos una tabla y una estructura para el catlogo del ALV que son del tipo SLIS_T_FIELDCAT_ALV y
SLIS_FIELDCAT_ALV, otra estructura para la configuracin de la salida que es del tipo SLIS_LAYOUT_ALV y una
variable del tipo SYREPID, para almacenar el nombre del programa.

Imagen2.2DeclaramoselcatlogodelALV

PASO2do.:DeclaracindelatabladesalidadelALV

Vamos a declarar la tabla de salida TI_USUARIOS que se mostrar en el ALV.

Imagen2.3LatabladesalidadelALV

PASO3ero.:SeleccindelosdatosquesemostrarnenelALV

Ahora seleccionamos los datos de la tabla ZTABLA_USUARIOS, que mostraremos en el listado de salida y los
guardamos en la tabla interna TI_USUARIOS.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 272


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.4SeleccionamoslosdatosamostrarenelALV

PASO4to.:ArmadodelcatlogodelALV

Armamos el catlogo del ALV con los campos que sern las columnas de nuestro reporte. Para ello, completaremos
para cada columna del listado, los siguientes campos pertenecientes a la tabla del catlogo.

Imagen2.5CompletamoselcatlogodelALV

Existen muchsimas ms propiedades del catlogo que se pueden configurar segn lo que necesitemos
mostrar en el listado.

Para ms informacin, hacer doble clic en el tipo SLIS_T_FIELDCAT_ALV.

PASO5to.:ConfiguracindelasalidadelALV

Vamos a cargar con valores la estructura ST_LAYOUT para configurar ciertos aspectos de la salida del ALV.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 273


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.6ConfiguracindellayoutdelALV

Existen muchas ms opciones a configurar en el layout de un reporte ALV.

Para ms informacin, hacer doble clic en el tipo SLIS_LAYOUT_ALV.

PASO6to.:EjecucindelafuncindelALV

Por ltimo, lo que nos queda es la ejecucin de la funcin del ALV. Si queremos un reporte tipo grilla, ejecutaremos la
funcin REUSE_ALV_GRID_DISPLAY. Si queremos un reporte tipo lista, ejecutaremos la funcin
REUSE_ALV_LIST_DISPLAY.

Ambas funciones se completan de la misma manera. Como dijimos anteriormente, los ALV jerrquicos se utilizan para
cuando tenemos que mostrar datos de cabecera y detalle, por lo tanto no es aplicable para este ejemplo.

Si es grilla:

Imagen2.7LafuncinREUSE_ALV_GRID_DISPLAY

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 274


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Si es lista:

Imagen2.8LafuncinREUSE_ALV_LIST_DISPLAY

Finalmente si ejecutamos el reporte veremos, si usamos la funcin para grillas:

Imagen2.9SalidaporpantalladelALVGRID

Y si usamos la funcin para listas:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 275


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.10SalidaporpantalladelALVLIST

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 276


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Catlogo ALV automtico, logos, encabezados
y status
Aprenderemos a crear el catlogo de un reporte ALV en forma automtica.
Analizaremos como incluir Logos, encabezados y Status GUIs.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 5: Reportes

CVOSOFTITAcademyFormacinenSistemas.

1|Creacindelcatlogoenformaautomtica

Existen dos formas de crear el catlogo del ALV, la primera es en forma manual, ingresando campo por campo, tal
como hicimos en el ejemplo de la leccin anterior. La segunda, es crear el catlogo en forma automtica con la funcin
REUSE_ALV_FIELDCATALOG_MERGE.

Si tomamos el ejemplo de la leccin anterior, el cdigo para la creacin automtica sera el siguiente:

Imagen1.1CreacinautomticadelcatlogodelALV

Pero para poder hacer esto vamos a tener que modificar dos puntos del programa. El primero es la forma como se
declara la tabla interna del ALV. Si creamos el catlogo en forma automtica debemos declarar la tabla interna
utilizando LIKE y haciendo referencia a campos de una tabla base de datos existente.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 277


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.2DeclaracindelatablainternadelALV

Lo otro que debemos hacer es configurar el editor, para que se restrinja la cantidad de caracteres de ancho de la
pantalla a 72.

ConfiguracindelanchodelEditorABAP

Para configurar el ancho del editor ABAP a 72 lneas accedemos a la opcin del men:

> Utilidades
|> Opciones
|> Editor ABAP
|> Editor
|> Y tildamos Long. lineas compatib descend.(72)

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 278


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.3Configuracindeleditorpara72columnasdeancho

2|UtilizacindeLogosyencabezados

En los ALV Grilla podemos agregar logos y encabezados en los listados. Para ello, debemos declarar una tabla del tipo
SLIS_T_LISTHEADER y una estructura del tipo SLIS_LISTHEADER.

Imagen2.1Declaracindelatablayestructuraparaelencabezado

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 279


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Antes de completar el catlogo, vamos a llenar la tabla TI_HEADER con el encabezado del Reporte, el tipo de reporte
y la fecha del sistema.

Imagen2.2Llenamoslatablainternadelencabezado

Luego, agregamos en la llamada a la funcin del ALV, el parmetro exporting I_CALL_TOP_PAGE con el literal
'TOP_OF_PAGE', que ser el nombre de la subrutina que cargue el contenido del encabezado y el logo.

Imagen2.3ElparmetroEXPORTINGI_CALL_TOP_PAGE

Ahora creamos la subrutina TOP_OF_PAGE, con la llamada a la funcin REUSE_ALV_COMMENTARY_WRITE, que


carga el encabezado que definimos en la tabla interna TI_HEADER, junto con el logo 'ENJOYSAP_LOGO'.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 280


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.4LafuncinREUSE_ALV_COMMENTARY_WRITE

TransaccinSE78

Para ver los logos disponibles en el sistema o cargar nuevos debemos utilizar la transaccin SE78.

Finalmente ejecutamos el programa y vemos:

Imagen2.5Visualizamoselencabezadocontodalainformacincorrepondiente

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 281


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

3|UtilizacindeStatusGUIs

Para poder utilizar un Status GUI en un reporte ALV, vamos a agregar en la llamada a la funcin del ALV el parmetro
exporting I_CALLBACK_PF_STATUS_SET con el literal 'PF_STATUS', que ser el nombre de la subrutina que declare
la utilizacin del Status GUI y el parmetro exporting I_CALLBACK_USER_COMMAND con el literal
'USER_COMMAND', que ser el nombre de la subrutina que se ejecute para capturar la accin realizada por el
usuario.

Imagen3.1LosparmetrosI_CALLBACK_PF_STATUS_SETyI_CALLBACK_USER_COMMAND

Ahora definimos la subrutina PF_STATUS que setea el status.

Imagen3.2SubrutinaquedeclaraelSTATUS

Vamos a crear en el status, un botn con la descripcin "Usuarios activos" y el cdigo USU_ACTI.

Tambin en las Teclas de funcin (Function Keys) del status, agregamos los cdigos para poder navegar para atrs,
volver a la pantalla principal o salir del programa. Cuando creamos estos botones, debemos acordarnos de setearlos
con Tipo de funcin (Function Type) igual a ''E'', sino no funcionarn como esperamos.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 282


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.3Teclasdefuncindenavegacin

Imagen3.4EltipodefuncindebeserComandoExit

Por ltimo agregamos la subrutina que capturar las acciones realizadas por el usuario.

Imagen3.5Escribimoselcdigoqueprocesarlaaccindeseada

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 283


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Finalmente si ejecutamos el reporte, veremos en el Status GUI, el botn de usuarios activos y si lo ejecutamos, se
procesar el cdigo existente en la subrutina USER_COMMAND.

Imagen3.6VisualizamoselSTATUSGUIenlasalidadelreporte

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 284


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
ALV Jerrquico y Agrupamiento
Aprenderemos a agrupar los datos de un reporte ALV y analizaremos el tipo de
reporte ALV Jerrquico.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 5: Reportes

CVOSOFTITAcademyFormacinenSistemas.

1|AgrupamientoenunALV

Podemos agrupar los registros que mostramos en un ALV. Para ello, declaramos una tabla del tipo
SLIS_T_SORTINFO_ALV y una estructura del tipo SLIS_SORTINFO_ALV.

Imagen1.1TablayestructuranecesariasparaagruparelALV

Luego antes de llamar a la funcin del ALV, vamos a cargar la tabla TI_SORT con los registros en el orden en el que
deseamos agrupar.

Imagen1.2CargamoslatablainternadeagrupamientodelALV

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 285


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Ahora debemos completar el parmetro exporting IT_SORT con nuestra tabla interna TI_SORT.

Imagen1.3CompletamoselparmetroexportingIT_SORT

Finalmente, si ejecutamos el reporte, veremos la agrupacin por Estado Civil.

Imagen1.4Alejecutarelreportevisualizamoslaagrupacin

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 286


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|ALVJerrquico

Como dijimos anteriormente, los ALV Jerrquicos se utilizan cuando tenemos que mostrar en un reporte, datos de
cabecera y de posicin. En las declaraciones de las tablas internas de cabecera y posiciones, debe haber como
mnimo un campo en comn.

En el caso que mostramos a continuacin, el campo comn es el CARRID, que es la compaa area.

Imagen2.1TablasinternasquevamosautilizarenelALVJerrquico

Debemos declarar una estructura del tipo SLIS_KEYINFO_ALV, que ser ST_KEYINFO y contendr el campo clave
que une a las dos tablas internas.

Imagen2.2Estructuraquealmacenaelcampoclavedeunin

Ahora vamos a cargar las tablas internas de cabecera y detalle con un juego de datos para la compaa area ARG.
En el programa de ejemplo de la leccin, tambin cargamos un juego de datos para la compaa area LAN.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 287


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.3CargamoslastablasinternasdelALVJerrquico

Luego crearemos el catlogo del ALV para ambas tablas internas, sumando los campos de ambas tablas en la tabla
del catlogo TI_CATALOGO.

Imagen2.4Completamoselcatlogoenformaautomticaparaambastablasinternas

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 288


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Ahora tenemos que completar la estructura ST_KEYINFO. En los campos HEADER01 y ITEM01 va a ir el campo de
la tabla de cabecera que hace de vnculo con la tabla de detalles.

Imagen2.5Completamoselcampoclavedeunin

Por ltimo, ejecutamos la funcin REUSE_ALV_HIERSEQ_LIST_DISPLAY.

Imagen2.6LafuncinREUSE_ALV_HIERSEQ_LIST_DISPLAY

Y veremos el siguiente reporte ALV:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 289


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.7SalidaporpantalladelreporteALVJerrquico

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 290


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 291


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

In ic io Nu e v a Un id a d :
Unidad 6: Tratamiento de Archivos y Field
Symbols
Tratamiento de Archivos y Field Symbols

Curso: Programador ABAP Nivel Inicial

CVOSOFTITAcademyFormacinenSistemas.

Le damos la Bienvenida a una nueva unidad!

Unidad 6: Tratamiento de
Archivos y Field Symbols

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 292


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

:: Descripcin de Unidad

CarreraConsultorTcnicoenDesarrolloABAP

MDULO:PROGRAMADORABAPINICIAL

UNIDAD:TratamientodeArchivosyFieldSymbols

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 293


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

:: Lecciones que componen esta unidad

Las siguientes lecciones componen a esta unidad de estudios:

Leccin: Archivos Locales: Upload de datos


Aprenderemos a trabajar con archivos locales. Tambin analizaremos bsqueda de archivos locales en la PC y como realizar la lectura de datos de
losarchivoslocales.

Leccin: Archivos Locales: Download de datos


Aprenderemosagrabardatosenarchivoslocales.

Leccin: Archivos en Servidor: las sentencias OPEN y READ


Aprenderemosatrabajarconarchivosenelservidoryanalizaremoscomoserealizalaaperturaylecturadelosarchivosenelservidor.

Leccin: Archivos en Servidor: las sentencias TRANSFER, DELETE y CLOSE


Aprenderemosatransferirdatosalosarchivosdelservidor.Tambinanalizaremoselborrado,cierreybsquedadearchivosenelservidor.

Leccin: Field Symbols


AprenderemosquesonlosFieldSymbols,comosedeclaranycomoserealizalaasignacindedatosaunFieldSymbol.

Leccin: Los Estndares de Programacin


AprenderemosquesonlosEstndaresdeProgramacinyporqueestanimportantequelosutilicemos.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 294


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 295


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 296


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 297


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Archivos Locales: Upload de datos
Aprenderemos a trabajar con archivos locales. Tambin analizaremos bsqueda de
archivos locales en la PC y como realizar la lectura de datos de los archivos locales.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 6: Tratamiento de Archivos y Field Symbols

CVOSOFTITAcademyFormacinenSistemas.

1|Tratamientodearchivoslocales

ABAP nos proporciona una serie de mtodos muy tiles para el tratamiento de archivos locales ubicados en nuestra
PC mediante la clase CL_GUI_FRONTEND_SERVICES. Los conceptos de clases y mtodos los veremos en detalle en
el "Mdulo Programador ABAP Nivel Avanzado". Por ahora, nos basta con entender que los mtodos se ejecutan como
si fueran funciones.

Para visualizar todos los mtodos disponibles en la clase, editamos un programa ABAP y presionamos el botn Modelo
(Pattern).

Imagen1.1ElbotnModelo

Aqu marcamos la opcin Patrn p.objetos ABAP (ABAP Object Patterns) y presionamos continuar.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 298


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.2SeleccionamosPatrnparaparam.objetos

En la siguiente pantalla escribimos lo siguiente:

Imagen1.3IntroducimoslaclaseCL_GUI_FRONTEND_SERVICES

Y luego presionamos F4 en Mtodo (Method) y veremos la siguiente pantalla con todos los mtodos de la clase:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 299


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.4VisualizamostodoslosmtodosdelaclaseCL_GUI_FRONTEND_SERVICES

Veremos en detalle los siguientes mtodos:

FILE_OPEN_DIALOG: para mostrar la pantalla de navegacin que permita al usuario poder seleccionar el
archivo del directorio de su PC.

GUI_DOWNLOAD: para descargar datos de los programas a archivos en la PC.

GUI_UPLOAD: para bajar datos de los archivos de la PC a nuestros programas.

Otra forma de visualizar el contenido de la clase CL_GUI_FRONTEND_SERVICES es ingresando al Class


Builder que es la transaccin SE24.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 300


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|BsquedadearchivosenlaPC

Para buscar archivos locales en el directorio de nuestra PC, utilizaremos el mtodo FILE_OPEN_DIALOG. Veamos un
ejemplo de su utilizacin:

Imagen2.1ElmtodoFILE_OPEN_DIALOG

Analicemos los parmetros ms importantes del mtodo:

WINDOW_TITLE: asigna un ttulo a la ventana de bsqueda.

DEFAULT_FILENAME: contiene el nombre del archivo que buscamos en nuestra PC. Si colocamos el literal
asterisco podremos ver todos los archivos que se encuentren en los directorios.

FILE_TABLE: contiene la ruta y nombre del archivo seleccionado.

Al igual que las funciones, el mtodo FILE_OPEN_DIALOG tiene definidas excepciones. Cada excepcin tiene asociada
una descripcin que contempla cada uno de los errores posibles que pueden ocurrir al ejecutar dicho mtodo.

Si ejecutamos el cdigo anterior veremos la siguiente ventana de dilogo:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 301


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.2Ventanadedilogoparabuscararchivos

Es recomendable la utilizacin del mtodo FILE_OPEN_DIALOG, en los programas ABAP que trabajan
con archivos locales, ya que facilita ampliamente la interaccin entre el usuario y el programa y evita
errores de tipeo de datos.

3|Lecturadedatosdelosarchivoslocales

Para leer datos de los archivos locales en las tablas internas de nuestros programas, utilizaremos el mtodo
GUI_UPLOAD.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 302


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.1ElmtodoGUI_UPLOAD

Analicemos los parmetros ms importantes del mtodo:

FILENAME: contiene el directorio y nombre del archivo local con el que estamos trabajando.

FILETYPE: contiene el tipo o extensin del archivo local.

Los tipos admitidos son:

BIN: para archivos binarios.

ASC: para archivos ASCII.

DAT: para archivos excel. Las columnas son separadas utilizando tabs.

Las lneas son separadas con saltos de lnea.

WK1: para archivos excel y de lotus.

HAS_FIELD_SEPARATOR: indica que el archivo local tiene separadores.

DATA_TAB: es la tabla interna donde almacenaremos los datos del archivo local.

En este mtodo estn definidas excepciones con descripciones que contemplan cada uno de los errores que se pueden
producir al ejecutar el mtodo.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 303


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

En algunos programas ABAP, podemos ver que se utilizan las funciones WS_UPLOAD y UPLOAD.

No es recomendable la utilizacin de estas funciones debido a que actualmente son considerados


objetos obsoletos por SAP.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 304


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Archivos Locales: Download de datos
Aprenderemos a grabar datos en archivos locales.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 6: Tratamiento de Archivos y Field Symbols

CVOSOFTITAcademyFormacinenSistemas.

1|Grabacindedatosenarchivoslocales

Para grabar datos existentes en las tablas internas de nuestros programas a archivos ubicados en la PC, utilizaremos
el mtodo GUI_DOWNLOAD. Veamos un ejemplo de su utilizacin:

Imagen1.1ElmtodoGUI_UPLOAD

Analicemos algunos de los parmetros del mtodo:

FILENAME: contiene el directorio y nombre del archivo a descargar a la PC.

FILETYPE: contiene el tipo o extensin del archivo que descargamos a la PC.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 305


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Los tipos o extensiones admitidas son:

BIN: para archivos binarios. Se debe especificar la longitud del archivo en el parmetro

BIN_FILESIZE. La tabla interna que se utiliza debe tener un solo campo del tipo X.

ASC: para archivos ASCII.

DAT: para archivos excel. Las columnas son separadas utilizando tabs.

Las lneas son separadas con saltos de lnea.

WK1: para archivos excel y de lotus.

WRITE_FIELD_SEPARATOR: indica si se generar un separador de archivo o no y cual ser.

DATA_TAB: aqu se almacena el contenido del archivo. Esta tabla debe tener la misma estructura del archivo.

En este mtodo tambin estn definidas excepciones con descripciones que contemplan cada uno de los errores que
se pueden producir al ejecutar el mtodo.

Luego si ejecutamos el cdigo veremos el mensaje que dice que la transferencia de datos se realiz correctamente y
se especifica la cantidad de bytes transferida.

Imagen1.2Transferenciarealizadacorrectamente

En algunos programas ABAP, podemos ver que se utilizan las funciones DOWNLOAD y
WS_DOWNLOAD.

No es recomendable la utilizacin de estas funciones debido a que actualmente son consideradas


objetos obsoletos por SAP.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 306


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Archivos en Servidor: las sentencias OPEN y
READ
Aprenderemos a trabajar con archivos en el servidor y analizaremos como se realiza
la apertura y lectura de los archivos en el servidor.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 6: Tratamiento de Archivos y Field Symbols

CVOSOFTITAcademyFormacinenSistemas.

1|Tratamientodearchivosenelservidor

En un ambiente real de trabajo, es comn la utilizacin de un servidor de aplicaciones, para trabajar con archivos.

ABAP dispone de una serie de sentencias para el tratamiento de archivos ubicados en el servidor de aplicaciones.

Las principales sentencias para el manejo de archivos en el servidor de aplicaciones son:

OPEN DATASET: para la apertura de archivos del servidor.

READ DATASET: para la lectura de archivos del servidor.

TRANSFER: para transferir datos de archivos al servidor.

DELETE: para borrar archivos del servidor.

CLOSE: para cerrar archivos del servidor.

A continuacin veremos en detalle cada una de estas sentencias.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 307


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|Aperturadearchivosenelservidor

Utilizaremos la sentencia OPEN DATASET para la apertura de archivos. La sintaxis de la sentencia es la siguiente:

Imagen2.1LasentenciaOPENDATASET

Si la apertura del archivo se realiz correctamente, entonces el SYSUBRC ser 0. Caso contrario, ser
8.

El nombre del archivo junto con el directorio en donde se encuentra, pueden ingresarse como un literal entre comillas o
en una variable. Si no ingresamos el directorio y solo ingresamos el nombre, entonces el sistema intentar abrir el
archivo en el directorio en el que corre el servidor de aplicaciones.

Si queremos abrir un archivo para lectura, debemos utilizar la clusula FOR INPUT, tal como vemos a continuacin:

Imagen2.2Aperturadearchivosparalectura

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 308


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

El archivo que se intenta abrir debe existir. Caso contrario, el SYSUBRC ser 8.

Si el archivo existe y est abierto, el sistema se posicionar al comienzo del archivo.

Veamos un ejemplo:

Imagen2.3Ejemplodeaperturadearchivoparalectura

En el ejemplo anterior, p_path es una parmetro de la pantalla de seleccin en donde el usuario ingresa el directorio y
nombre del archivo.

Es recomendable cerrar todos los archivos que ya estn abiertos antes de realizar una reapertura con
la sentencia OPEN DATASET.

Si queremos abrir un archivo para escritura, debemos utilizar la clusula FOR OUTPUT, tal como vemos a
continuacin:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 309


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.4Aperturadearchivosparaescritura

Si el archivo no existe, se crear automticamente.

Si existe pero est cerrado el contenido ser sobrescrito.

Si existe y est abierto, el sistema se posicionar al comienzo del archivo.

Si la apertura se realiza correctamente, entonces el SYSUBRC ser 0. Caso contrario, ser 8.

Veamos un ejemplo:

Imagen2.5Ejemplodeaperturadearchivoparaescritura

Si queremos abrir un archivo para agregar informacin, debemos utilizar la clusula FOR APPENDING, tal como
vemos a continuacin.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 310


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.6Aperturadearchivosparaagregarinformacin

Si el archivo no existe, se crear automticamente.

Si existe pero est cerrado, el sistema lo abrir y se posicionar al final del mismo.

Si existe y est abierto, el sistema se posicionar al final del archivo.

Siempre el SYSUBRC ser 0.

Veamos un ejemplo:

Imagen2.7Ejemplodeaperturadearchivosparaagregarinformacin

Existen dos modos de apertura de archivos:

MODO TEXTO

Para abrir un archivo en modo texto, debemos utilizar la clusula IN TEXT MODE, tal como vemos a continuacin:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 311


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.8Aperturadearchivosenmodotexto

Si leemos o escribimos en un archivo que ha sido abierto en modo texto, la informacin es transferida
lnea a lnea.

Si utilizamos el modo texto debemos agregar la palabra reservada ENCODING DEFAULT.

Veamos un ejemplo:

Imagen2.9Ejemplodeaperturadearchivosenmodotexto

MODO BINARIO

Para abrir un archivo en modo binario, debemos utilizar la clusula IN BINARY MODE, tal como vemos a continuacin:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 312


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.10Aperturadearchivosenmodobinario

Si leemos o escribimos en un archivo que ha sido abierto en modo binario, la informacin es transferida
byte a byte.

Veamos un ejemplo:

Imagen2.11Ejemplodeaperturadearchivosenmodobinario

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 313


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

3|Lecturadearchivosdelservidor

Utilizaremos la sentencia READ DATASET para la lectura de archivos del servidor. La sintaxis de la sentencia es la
siguiente:

Imagen3.1LasentenciaREADDATASET

Para determinar en que variable debemos almacenar los datos que leeremos del archivo, debemos
conocer la estructura del archivo que leeremos.

Si la lectura se realiz correctamente, entonces el SYSUBRC ser 0. Caso contrario, ser 8.

Veamos un ejemplo:

Imagen3.2EjemplodelecturadearchivosconREADDATASET

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 314


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Archivos en Servidor: las sentencias
TRANSFER, DELETE y CLOSE
Aprenderemos a transferir datos a los archivos del servidor. Tambin analizaremos el
borrado, cierre y bsqueda de archivos en el servidor.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 6: Tratamiento de Archivos y Field Symbols

CVOSOFTITAcademyFormacinenSistemas.

1|Transferenciadearchivosalservidor

Utilizaremos la sentencia TRANSFER para transferir datos desde nuestros programas ABAP a los archivos ubicados
en el servidor de aplicaciones. La sintaxis de la sentencia es la siguiente:

Imagen1.1LasentenciaTRANSFER

El modo en que se realiza la transferencia de informacin se corresponde con el modo de apertura del
archivo.

Si el archivo no est abierto para escritura, el sistema intentar abrirlo en BINARY MODE o utilizando la
ltima ejecucin de la sentencia OPEN DATASET.

Veamos un ejemplo:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 315


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.2EjemplodetransferenciadearchivosconTRANSFER

2|Borradodearchivosdelservidor

Utilizaremos la sentencia DELETE DATASET para borrar archivos del servidor de aplicaciones. La sintaxis de la
sentencia es la siguiente:

Imagen2.1LasentenciaDELETEDATASET

Para borrar un archivo, previamente debemos abrirlo.

Si el borrado se realiza correctamente, entonces el SYSUBRC ser 0.


Caso contrario, ser 4.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 316


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Veamos un ejemplo:

Imagen2.2EjemplodelborradodearchivosconDELETEDATASET

3|Cierredearchivosdelservidor

Utilizaremos la sentencia CLOSE DATASET para cerrar archivos del servidor de aplicaciones. La sintaxis de la
sentencia es la siguiente:

Imagen3.1LasentenciaCLOSEDATASET

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 317


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Es ampliamente recomendable realizar siempre el cierre de los archivos.

Veamos un ejemplo:

Imagen3.2EjemplodecierredearchivosconCLOSEDATASET

4|Bsquedadearchivosenelservidor

Utilizando la funcin /SAPDMC/LSM_F4_SERVER_FILE podemos crear una ventana de navegacin en el servidor de


aplicaciones para poder seleccionar el archivo que deseamos. Veamos un ejemplo de su utilizacin:

Imagen4.1Lafuncin/SAPDMC/LSM_F4_SERVER_FILE

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 318


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Si ejecutamos el cdigo anterior veremos el siguiente mensaje ya que no disponemos de un servidor de aplicaciones
para probar.

Imagen4.2Mensajequenosinformaquenodisponemosdelserver

Si lo tuviramos, visualizaramos una ventana de dilogo donde podremos buscar los archivos en el servidor.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 319


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Field Symbols
Aprenderemos que son los Field Symbols, como se declaran y como se realiza la
asignacin de datos a un Field Symbol.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 6: Tratamiento de Archivos y Field Symbols

CVOSOFTITAcademyFormacinenSistemas.

1|QusonlosFieldSymbols?

FIELDSYMBOL

Es un tipo de sentencia ABAP que nos permite trabajar con los datos de los programas en forma
dinmica en tiempo de ejecucin.

Al contrario de lo que sucede con el acceso esttico de los datos, donde necesitamos especificar el nombre de un
objeto para poder hacer algo con l, los Field Symbol nos permiten acceder y pasar datos cuyos nombres y atributos
no conocemos hasta el momento de la ejecucin.

Se puede considerar a los Field Symbol como nombres simblicos de los datos, ya que cuando se utilizan, el
sistema trabaja con el contenido de los datos asignados y no con el contenido del field symbol.

Los Field Symbol nos proveen de gran flexibilidad debido a que:

Si queremos procesar partes de campos, nos permiten especificar el offset y el desplazamiento de un campo
en forma dinmica.

Se puede forzar a un Field Symbol para que tome diferentes atributos tcnicos que los del campo asignado a
l.

La mayora de los errores que cometamos en la utilizacin de Field Symbols los detectaremos recin en
tiempo de ejecucin. Esto hace que sean bastante ms difciles de detectar.

Por lo tanto, solo debemos utilizar Field Symbol si no podemos llegar al mismo resultado con las
sentencias ABAP convencionales.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 320


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|DeclaracindeunFieldSymbol

Para declarar un Field Symbol vamos a utilizar la siguiente sintaxis:

Imagen2.1SintaxisparaladeclaracindeunFieldSymbol

Si no especificamos un tipo a un Field Symbol, este puede contener cualquier dato.

Cuando asignamos un dato al Field Symbol, este hereda los atributos tcnicos del dato.

Los tipos de datos genricos posibles para un Field Symbol son:

Tipode
Objetodedatos
especificacin

TYPE ANY o sin Todos los tipos de objetos de datos son aceptados. El
especificacin field symbol adopta los atributos del dato.

TYPE C, N, P o Solo los tipos de datos C, N, P y X son aceptados. El


X field symbol adopta la longitud y decimales del dato.

TYPE TABLE El sistema chequea si la tabla es estndar.

TYPE ANY El sistema chequea si el campo es una tabla interna. El


TABLE field symbol hereda todos los atributos de la tabla.

TYPE INDEX El sistema chequea si el campo es una tabla indexada.


TABLE El field symbol hereda todos los atributos de la tabla.

TYPE STANDARD El sistema chequea si el campo es una tabla estndar.


TABLE El field symbol hereda todos los atributos de la tabla.

TYPE SORTED El sistema chequea si el campo es una tabla sorted. El


TABLE field symbol hereda todos los atributos de la tabla.

TYPE HASHED El sistema chequea si el campo es una tabla hashed.


TABLE El field symbol hereda todos los atributos de la tabla.

Tabla2.1|DatosgenricosposiblesparaunFieldSymbol

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 321


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Veamos un ejemplo de la utilizacin de un Field symbol:

Imagen2.2EjemplodeutilizacindeFieldSymbols

3|AsignacindedatosaunFieldSymbols

Para asignar datos a un Field Symbol utilizamos la sentencia ASSIGN.

La asignacin que utilizamos es esttica ya que sabemos el nombre del campo que queremos asignar al Field Symbol.

La sintaxis utilizada sera la siguiente:

Imagen3.1SintaxisdelasentenciaASSIGN

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 322


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Veamos un ejemplo:

Imagen3.2OtroejemplodeutilizacindeFieldSymbols

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 323


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Los Estndares de Programacin
Aprenderemos que son los Estndares de Programacin y porque es tan importante
que los utilicemos.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 6: Tratamiento de Archivos y Field Symbols

CVOSOFTITAcademyFormacinenSistemas.

1|QusonlosEstndaresdeProgramacinyporquestanimportanteque
losutilicemos?

ESTNDARESDEPROGRAMACIN

Determinan la forma en la que codificaremos nuestros programas ABAP.

Es decir, como declararemos las variables, estructuras, tablas, as como tambin la forma en que
debemos definir los objetos que creamos en el Diccionario de datos, o en cualquier otra transaccin de
SAP donde se creen objetos en el sistema.

La utilizacin de Estndares de Programacin es sumamente beneficiosa ya que hace que los programas sean mucho
ms simples de leer y mantener al momento de tener que realizar una modificacin.

Les propongo evaluar la utilidad de seguir estndares de programacin en la siguiente situacin hipottica pero
que se repite muy a menudo en el ambiente laboral real de SAP:

"Supongamos que en la empresa en donde trabajamos el equipo de Programacin o Desarrollo ABAP est compuesto
por dos programadores entre los cuales nos encontramos nosotros.

Supongamos que en esta empresa no se ha definido ningn Estndar de Programacin y que cada una de las dos
personas que se encargan de la programacin en ABAP tiene bien dividido el trabajo, de modo que dependiendo de
que trate el desarrollo ABAP a realizar lo tomar uno de los programadores o el otro.

Ahora por ltimo imaginemos que debido a la alta demanda de empleo en SAP, nuestro compaero de equipo se va
de la empresa y a nosotros nos toca tener que modificar los programas ABAP que l cre.

Si no se utiliz ningn Estndar de programacin es muy probable que modificar los programas ABAP desarrollados
por otro programador se convierta en una tarea complicada, que nos puede llegar a llevar ms del doble del tiempo
que debera."

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 324


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|Criteriosdeunbuenestndar

Hay muchos estndares de programacin que se pueden utilizar. Un buen estndar de programacin generalmente
considerar los siguientes factores:

Factor nemotcnico: para que el programador pueda recordar el nombre de una variable fcilmente.

Factor sugestivo: para que otros programadores puedan leer y entender rpidamente nuestro cdigo.

Consistencia: de modo que utilicemos las mismas convenciones de nomenclatura en todo el programa y
hagamos que el texto del cdigo sea "legible".

3|VentajasdelusodeEstndares

Podemos resumir algunos de los beneficios de utilizar estndares de programacin en los siguientes puntos:

Los nombres de variables sern nemotcnicos con lo que se podr saber el tipo de dato de cada variable con
slo ver el nombre de la variable.

Los nombres de variables sern sugestivos, de tal forma que se podr saber el uso y finalidad de dicha
variable o funcin fcilmente con solo ver el nombre de la variable.

La decisin de poner un nombre a una variable o funcin ser mecnica y automtica, puesto que seguir las
reglas definidas por el estndar.

Permiten el uso de herramientas automticas de verificacin de nomenclaturas tales como el Chequeo


Extendido del Cdigo o el Inspector de Cdigo.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 325


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

4|PorqulosEstndaresdeProgramacinsonutilizadostanpoco?

Si los estndares tienes tantos beneficios, entonces la pregunta es por qu los programadores los usan muy pocas
veces? La razn tiene que ver ms con los seres humanos que con la tecnologa:

Trabajan en un proyecto que no ha adoptado ningn estndar.

No los entienden o no los pueden recordar.

No ven el beneficio de utilizarlos.

Estn muy apurados o cansados.

Prefieren creatividad y consistencia arbitraria.

Piensan que es divertido usar nombres "bonitos" en el cdigo.

Son "artistas del software" y no quieren estar regidos por convenciones.

5|NuestrosEstndaresdeProgramacin

A continuacin les presentamos los Estndares de Programacin que utilizaremos a lo largo de la Carrera SAP ABAP.

Es importante que sepas que dentro de los estndares que definiremos a continuacin es probable que
mencionemos conceptos que desconoces, pero que iremos incorporando a lo largo de la Carrera
Consultor SAP ABAP.

Los estndares que les presento a continuacin fueron elaborados en base a la experiencia recopilada en los distintos
proyectos en los que he participado como Consultor SAP ABAP y como Lder del equipo de Desarrollo.

Para las declaraciones dentro de un programa ABAP utilizaremos los siguientes estndares:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 326


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen5.1EstndaresautilizardentrodeunprogramaABAP

Cuando hablamos de Variables Locales, Constantes Locales o cualquier otra declaracin local, nos
referimos a aquellas que se realizan dentro de subrutinas.

Cuando hablamos de Variables Globales, Constantes Globales o cualquier otra declaracin Global, nos
referimos a aquellas que se realizan dentro del programa principal, es decir dentro del evento START
OFSELECTION.

Para las declaraciones de los datos que creamos en el Diccionario de datos ABAP utilizaremos los siguientes
estndares:

Imagen5.2EstndaresautilizarparaobjetosdelDiccionariodedatos

Utilizaremos la siguiente nomenclatura para establecer los nombres de los siguientes objetos:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 327


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen5.3Estndaresautilizarparaelrestodelosobjetos

ParalosEncabezadosdeProgramasABAP

Cuando creamos un programa ABAP nuevo en SAP es recomendable utilizar siempre el mismo encabezado de modo
de unificar criterios entre todos los programadores de un mismo proyecto.

A continuacin les proponemos una versin del esqueleto de un programa ABAP que pueden utilizar para sus
desarrollos.

Imagen5.4EjemplodecomentariosenelencabezadodeunprogramaABAP

Ms abajo, dentro de la misma plantilla de programa nuevo, especificamos las declaraciones de los Includes, Tipos,
Tablas internas, etc.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 328


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen5.5Comentariosparadeclaracionesdeincludes,tiposytablas

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 329


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 330


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

In ic io Nu e v a Un id a d :
Unidad 7: Batch Input vs Bapis y temas
avanzados
Batch Inputs vs Bapis y temas avanzados

Curso: Programador ABAP Nivel Inicial

CVOSOFTITAcademyFormacinenSistemas.

Le damos la Bienvenida a una nueva unidad!

Unidad 7: Batch Input vs


Bapis y temas avanzados

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 331


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

:: Descripcin de Unidad

CarreraConsultorTcnicoenDesarrolloABAP

MDULO:PROGRAMADORABAPINICIAL

UNIDAD:BatchInputsvsBapisytemasavanzados

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 332


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

:: Lecciones que componen esta unidad

Las siguientes lecciones componen a esta unidad de estudios:

Leccin: El concepto de Batch Input


Aprenderemos que es un Batch Input, cuales son las tcnicas existentes para realizarlo, cuales son los pasos para creacin de un Batch Input y como
cargarlatablaBDCDATA.

Leccin: Subrutinas y Grabacin de datos de un BI


Aprenderemos a utilizar subrutinas en un Batch Input. Analizaremos como obtener los datos necesarios para la carga de la tabla BDCDATA y como
realizarlagrabacindeunBatchInput.

Leccin: Batch Input utilizando Call transaction


CreamosnuestroprimerBatchInpututilizandoCALLTRANSACTION.

Leccin: Batch Input utilizando Juego de Datos


Creamos nuestro primer Batch Input utilizando Juego de Datos y analizamos la utilizacin del programa RSBDCBTC para la ejecucin del juego de
datos.

Leccin: BAPIS
AprenderemosqueesunaBAPI,analizaremosalgunasbapisestndaryaprenderemosatrabajarconlatransaccinBAPI.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 333


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 334


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 335


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 336


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
El concepto de Batch Input
Aprenderemos que es un Batch Input, cuales son las tcnicas existentes para
realizarlo, cuales son los pasos para creacin de un Batch Input y como cargar la
tabla BDCDATA.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 7: Batch Input vs Bapis y temas avanzados

CVOSOFTITAcademyFormacinenSistemas.

1|QuesunBatchInput?

Cuando se instala una aplicacin en un ambiente de produccin, es necesario dar de alta toda la informacin que es
indispensable para que pueda funcionar. A este proceso lo llamamos carga inicial de datos.

Supongamos que necesitamos hacer la carga inicial de datos en SAP de 10.000 clientes. Para hacer esto, tendramos
que ingresar 10.000 veces a la transaccin maestro de clientes, lo que cual sera una tarea demasiado tediosa y
sumamente costosa en tiempo.

Algo similar ocurrira si necesitamos ingresar 10.000 registros en una tabla base de datos, ya que si bien, en este
caso, podramos crear un programa que mediante instrucciones Open SQL carguen los registros, no estaramos
utilizando todas las validaciones estndar que tienen las transacciones SAP, por lo que necesitaramos dedicar mucho
tiempo para cubrir ese bache.

Para solucionar estos inconvenientes, SAP introduce la tcnica de Batch Input, mediante la cual, podremos dar de alta,
modificar o borrar grandes cantidades de datos en el sistema, de forma automtica y utilizando las mismas
transacciones, con sus respectivas validaciones, tal como si lo hiciramos manualmente de a 1 dato por vez.

BATCHINPUT

Tcnica automtica mediante la cual podremos realizar la carga masiva de datos en el sistema utilizando
las validaciones de las transacciones.

Generalmente, la carga inicial de datos se realizar levantando los datos de un archivo, tal como vimos en la unidad
anterior.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 337


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.1CargainicialdedatosenSAP

2|TcnicasdeBatchInput

Existen dos tcnicas para realizar un Batch Input, una se realiza de forma Online y la otra en forma Batch. Ellas son:

CALL TRANSACTION: se realiza de forma Online, por lo que ejecuta las actualizaciones en el momento en que se
ejecuta el programa del Batch Input. Se utiliza la sentencia estndar CALL TRANSACTION.

JUEGO DE DATOS: se realiza de forma Batch (o de fondo) y queda almacenado en SAP para su posterior
ejecucin mediante la transaccin SM35. Consiste en la ejecucin de una serie de funciones estndar para la apertura,
ejecucin y cierre del juego de datos.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 338


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

3|PasosparalacreacindeunBatchInput

Los pasos para la generacin de un Batch Input dependen de la tcnica utilizada. Veamos cuales son los pasos a
seguir para cada tcnica:

CALLTRANSACTION

Paso 1ero: Declaracin de datos propios del Batch Input.

Paso 2do: Lectura de datos de archivo de entrada.

Paso 3ero: Carga de la tabla BDCDATA.

Paso 4to: Ejecucin de la sentencia CALL TRANSACTION.

EstructuraBDCDATA

Esta estructura estndar del sistema es muy utilizada en los batch inputs ya que define el tipo de datos
de la tabla interna que almacena los datos que se cargarn en el batch input.

JUEGODEDATOS

Paso 1ero: Declaracin de los datos propios del Batch Input.

Paso 2do: Lectura de datos de archivo de entrada.

Paso 3ero: Apertura de la sesin del Juego de Datos.

Paso 4to: Carga de la tabla BDCDATA.

Paso 5to: Insercin del Juego de Datos.

Paso 6to: Cierre de la sesin del Juego de Datos.

Paso 7mo: Ejecucin del Juego de Datos a travs de la transaccin SM35 o a travs de la creacin de un job
y la ejecucin del programa estndar RSBDCBTC.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 339


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

ProgramaRSBDCBTC

Este programa estndar del sistema nos permite realizar la ejecucin online de un juego de datos.

4|CargadelatablaBDCDATA

El paso ms importante en la ejecucin de un Batch Input es la carga de la tabla BDCDATA.

Tal como hacemos referencia, la tabla BDCDATA ser una tabla interna que tendr los mismos campos que la
estructura BDCDATA. Los campos que forman parte de esta estructura son:

Imagen4.1EstructuradelatablaBDCDATA

Veamos un ejemplo sencillo de como cargaramos la tabla BDCDATA. Supongamos que queremos hacer un Batch
Input, para cargar con un registro a nuestra tabla de usuarios ZTABLA_USUARIOS.

Si ejecutamos esta accin en forma manual, deberamos hacer lo siguiente:

Ingresar a la transaccin SM30, introducir el nombre de la tabla, presionar el botn de modificacin o maintain,
presionar el botn de nuevas entradas o new entries, introducir el contenido del registro con todos sus campos,
presionar el botn grabar y salir de la transaccin.

Si representamos en cdigo el procedimiento anteriormente descrito, escribiramos:

Para ingresar a la primer pantalla y presionar el botn de mantenimiento.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 340


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen4.2IntroducimoslosdatosdelaprimerpantallaenlatablaBDCDATA

Por cada vez que se ingrese en la tabla BDCDATA, una nueva pantalla, debe ingresarse un
BDC_OKCODE.

Luego, presionamos el botn de Nuevas entradas.

Imagen4.3PresionamoselbotnNuevasentradas

Los nmeros de las dynpros siempre deben tener 4 dgitos.

Despus ingreso el registro del usuario. En la imagen que vemos a continuacin no figuran todos los campos de la
tabla de usuarios.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 341


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen4.4Introducimosloscamposdelatabladeusuarios

El cdigo anterior est diseado para dar de alta un solo registro en la tabla de usuarios.

Si quisiramos ingresar ms de un registro, vamos a tener que manejar un indice. Esto lo veremos en
detalle en las prximas lecciones.

Por ltimo, grabamos y salimos de ambas pantallas.

Imagen4.5Grabamosysalimosdelatransaccin

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 342


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

En la prxima leccin veremos como hacer para obtener los datos para completar la tabla BDCDATA.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 343


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Subrutinas y Grabacin de datos de un BI
Aprenderemos a utilizar subrutinas en un Batch Input. Analizaremos como obtener los
datos necesarios para la carga de la tabla BDCDATA y como realizar la grabacin de
un Batch Input.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 7: Batch Input vs Bapis y temas avanzados

CVOSOFTITAcademyFormacinenSistemas.

1|UtilizacindesubrutinasenunBatchInput

Para hacer ms simple la creacin de un Batch Input, vamos a utilizar la subrutina BDC_FIELD, que nos van a
permitir modularizar los programas.

Imagen1.1LasubrutinaBDC_FIELD

Si cambiamos el cdigo de la leccin anterior, utilizando la subrutina BDC_FIELD, el mismo quedara de la siguiente
manera:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 344


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.2UtilizamoslasubrutinaBDC_FIELDennuestrocdigoABAP

En el ejemplo anterior, podemos ver lo importante que es la modularizacin en los programas Batch
Input.

2|CmoobtenerlosdatosnecesariosparalacargadelatablaBDCDATA?

Vamos a explicar como obtener los valores que cargamos en la tabla interna BDCDATA. Para ello, tomamos el ejemplo
de la carga de la tabla BDCDATA, que vimos en la leccin anterior.

Vamos a entrar a la transaccin SM30, y recuperar los datos correspondientes a la primer pantalla. Existen varias
formas de obtener informacin de una pantalla. Ellas son:

Parndonos sobre un campo de entrada de datos, presionamos F1:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 345


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.1PresionamosF1enelcampoTabla/Vista

Y luego hacemos clic en el botn de Informacin tcnica:

Imagen2.2Elbotndeinformacintcnica

Y veremos una ventana de dilogo con informacin relevante para el armado de la tabla BDCDATA, como es el
nombre del programa, el nombre de la dynpro y el nombre del campo.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 346


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.3Visualizamoslainformacintcnicadeladynpro

Parndonos sobre un botn de la pantalla presionamos F1:

Imagen2.4PresionamosF1sobreelbotnActualizar

Y veremos una ventana de dilogo con el nombre del programa y el cdigo de funcin correspondiente al botn.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 347


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.5Visualizamoslainformacintcnicadelbotn

En todas las pantallas de SAP, podemos visualizar en el extremo inferior derecho de las mismas, diferentes datos
de la pantalla como ser el nombre del programa en ejecucin, la transaccin, etc.

Imagen2.6InformacinpresenteentodaspantallasdeSAP

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 348


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

3|GrabacindeunBatchInput

Otra forma ms eficiente de obtener los datos para la carga de la tabla BDCDATA, consiste en realizar una grabacin
de los pasos que hacemos en la ejecucin de las transacciones, mediante la transaccin SM35.

Imagen3.1LatransaccinSM35

TransaccinSM35

La transaccin estndar SM35, conocida como "la grabadora", es utilizada para realizar la grabacin de
las sesiones de Batch Input que nos sern de gran utilidad a la hora de desarrollar nuestros programas.

Para realizar la grabacin, presionamos el botn Grabacin (Recording):

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 349


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.2Presionamoselbotngrabacin

Luego el botn Grabacin nueva (New Recording):

Imagen3.3PresionamoselbotnNuevagrabacin

Y veremos la siguiente ventana de dilogo:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 350


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.4Introducimoslosdatosnecesariosparainiciarlagrabacin

Grabacin (Recording): aqu asignamos un nombre a la grabacin.

Cdigo de Transaccin (Transaction code): aqu ingresamos el nombre de la transaccin.

El resto de las opciones, las dejamos como estn y presionamos el botn Iniciar grabacin (Start Recording).

Luego seguiremos la secuencia de pantallas hasta generar un registro en la tabla ZTABLA_USUARIOS, que finaliza
presionando el botn grabar y saliendo de la transaccin. Despus de esto, veremos la siguiente pantalla con la
grabacin.

Imagen3.5Lagrabacin

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 351


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Cuando estamos haciendo una grabacin en la transaccin SM35 y queremos ver el resultado de la
misma, debemos presionar el botn grabar o el botn exit de la pantalla.

Si nos fijamos, la tabla con las columnas que visualizamos en la grabacin tiene la misma estructura que la tabla
BDCDATA.

Luego si presionamos el botn grabar, la grabacin quedar almacenada en el sistema para consultarla mientras
hacemos el Batch Input. Tambin es posible exportarla a un archivo o importar de un archivo una grabacin.

Por ltimo, si volvemos para atrs, presionando el botn Back de la pantalla, veremos la grabacin que acabamos de
crear con cierta informacin de la misma.

Imagen3.6Volvemosatrspresionandoelbotnback

Podremos ejecutar la grabacin cuantas veces queramos, presionando el botn procesar y seleccionando la grabacin
de la pantalla. Tambin es posible modificar una grabacin creada para volver a ejecutarla.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 352


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Batch Input utilizando Call transaction
Creamos nuestro primer Batch Input utilizando CALL TRANSACTION.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 7: Batch Input vs Bapis y temas avanzados

CVOSOFTITAcademyFormacinenSistemas.

1|MiprimerBatchInpututilizandoCALLTRANSACTION

Vamos a crear nuestro primer Batch Input utilizando la tcnica de CALL TRANSACTION. El objetivo del Batch Input
ser la carga inicial de datos de la tabla ZTABLA_USUARIOS.

Para ello, vamos a crear un archivo de texto con registros que cumplan con la estructura de la tabla
ZTABLA_USUARIOS, sin tener en cuenta al campo mandante.

Imagen1.1Archivodetextodeentradacondatos

Como lo que vamos a hacer ser la carga inicial de la tabla de usuarios, borraremos su contenido previamente a la
ejecucin de este ejemplo. Ahora, seguiremos los pasos que establecimos en la primer leccin de la unidad.

Paso1ero.:Declaracindedatospropiosdelbatchinput

Declaramos una tabla interna y una estructura, ambas del tipo BDCDATA, otra tabla interna del tipo BDCMSGCOLL
con su estructura, que servirn para almacenar los mensajes que se produzcan cuando ejecutemos el CALL
TRANSACTION, la tabla interna de usuarios, que contendr los datos que levantemos del archivo de entrada y una
tabla para mostrar por pantalla los errores entre otras declaraciones.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 353


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.2DeclaramoslostiposdedatosnecesariospararealizarelBI

EstructuraBDCMSGCOLL

Esta estructura estndar del sistema es utilizada para definir la tabla interna que almacenar los
mensajes del batch input.

Paso2do.:Lecturadedatosdearchivodeentrada

Ejecutamos el mtodo GUI_UPLOAD para levantar el archivo de entrada con la informacin para generar el Batch
Input.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 354


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.3LevantamoselarchivodeentradaconelmtodoGUI_UPLOAD

Paso3ero.:CargadelatablaBDCDATA

Para cargar la tabla BDCDATA utilizamos la subrutina BDC_FIELD, que vimos en la leccin anterior. Antes debemos
inicializar la tabla interna del Batch Input y la de los mensajes.

Como vamos a ingresar ms de un registro, tendremos que manejar indices para saber en que fila de la pantalla
estamos cargando los datos. Esto lo solucionamos fcilmente, concatenando al nombre del campo el nmero de fila
que le corresponde en la pantalla entre parntesis.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 355


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.4CargadelatablaBDC_DATA

Paso4to.:EjecucindelasentenciaCallTransaction

Ahora vamos a ejecutar la sentencia CALL TRANSACTION. La sintaxis de la sentencia es la siguiente:

Imagen1.5EjecucindelasentenciaCALLTRANSACTION

Veamos en detalle cada una de las opciones.

USING: aqu especificamos la tabla BDCDATA que se utilizar.

MODE: determina el modo de procesamiento que utilizar el Batch Input. Los modos posibles de procesamiento son:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 356


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Modo Efecto

Procesamiento con la visualizacin de todas las pantallas. Es el


A
valor por default.

Procesamiento donde se muestran las pantallas solo si ocurre un


error.

E Si se alcanza un breakpoint, se termina el procesamiento con SY


SUBRC igual a 1001. El campo SYMSGTY contendr "S", SY
MSGID contendr "00", SYMSGNO contendr "344", SYMSGV1
contendr "SAPMSSY3" y SYMSGV2 contendr el "0131".

N Procesamiento donde no se muestran las pantallas.

Procesamiento donde no se muestran las pantallas.


P
Si se alcanza un breakpoint, se pasa el control al debugger.

Tabla1.1|Modosposiblesdeprocesamiento

Es conveniente utilizar una variable para asignar el modo de procesamiento a un Batch Input.

De esta forma podremos modificar su valor dinmicamente, durante la ejecucin del programa.

UPDATE: determina el modo de actualizacin de los cambios que producir el Batch Input. Los modos posibles son:

Update Efecto

Actualizacin Asincrnica.

La actualizacin se produce de igual forma a la que sucede si


A
utilizamos la sentencia COMMIT WORK .

Valor por defecto.

Actualizacin Sincrnica.

S La actualizacin se produce de igual forma a la que sucede si


utilizamos la sentencia COMMIT WORK AND WAIT.

L Actualizacin Local.

Tabla1.2|Modosdeacualizacin

MESSAGES INTO: con el uso de esta opcin, todos los mensajes generados durante el procesamiento del Batch
Input son almacenados en una tabla interna de tipo BDCMSGCOLL. Para armar los mensajes, vamos a utilizar la
funcin MESSAGE_PREPARE tal como vemos a continuacin:

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 357


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.6TratamientodemensajesconlafuncinMESSAGE_PREPARE

Ahora que ya terminamos con todos los pasos del Batch Input, vamos a ejecutarlo con modo de procesamiento "A",
que nos permite ver el paso a paso de las actualizaciones.

Lo primero que hacemos es ingresar a la transaccin SM30 con el nombre de la tabla y presionamos el botn
Actualizar (Maintain).

Imagen1.7EnmodopasoapasosepresionaelbotnActualizar

Luego presionamos el botn Entradas nuevas (New Entries).

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 358


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.8EnmodopasoapasosepresionaelbotnNuevasentradas

Se cargan todos los campos del registro y presionamos grabar.

Imagen1.9Enmodopasoapasosecarganloscamposdeunregistrocompleto

Finalmente salimos de la transaccin y repetiremos esta secuencia de pasos por cuantos registros de usuario
ingresemos en la tabla.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 359


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.10Enmodopasoapasosalimosdelatrxysecarganlosdemsregistrosdelarchivo

La sentencia CALL TRANSACTION tambin es muy utilizada en reportes, para acceder a una
transaccin determinada, a partir de los datos presionados en pantalla, con el agregado de la clusula
AND SKIP FIRST SCREEN.

Para ms informacin, presionar F1 sobre la sentencia.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 360


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Batch Input utilizando Juego de Datos
Creamos nuestro primer Batch Input utilizando Juego de Datos y analizamos la
utilizacin del programa RSBDCBTC para la ejecucin del juego de datos.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 7: Batch Input vs Bapis y temas avanzados

CVOSOFTITAcademyFormacinenSistemas.

1|MiprimerBatchInpututilizandoJuegodeDatos

Vamos a crear nuestro primer Batch Input utilizando la tcnica de Juego de datos. El objetivo del Batch Input ser la
carga inicial de datos de la tabla ZTABLA_USUARIOS.

Para ello, vamos a crear un archivo de texto con registros que cumplan con la estructura de la tabla
ZTABLA_USUARIOS, sin tener en cuenta el campo mandante.

Imagen1.1Creamosunarchivodeentradasinelcampomandante

Como lo que vamos a hacer ser la carga inicial de la tabla de usuarios, borraremos su contenido previamente a la
ejecucin de este ejemplo.

Ahora seguiremos los pasos que establecimos en la primer leccin de la unidad.

Paso1ero.:DeclaracindelosdatospropiosdelBatchInput

Declaramos una tabla interna y una estructura, ambas del tipo BDCDATA y otra tabla interna de usuarios que
contendr los registros que levantemos del archivo de entrada.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 361


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.2DeclaramoslostiposdedatosnecesariosparaelBI

Paso2do.:Lecturadedatosdearchivodeentrada

Ejecutamos el mtodo GUI_UPLOAD para levantar el archivo de entrada con la informacin para generar el batch
input.

Imagen1.3LecturadelarchivodeentradaconelmtodoGUI_UPLOAD

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 362


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Paso3ero.:AperturadelasesindelJuegodeDatos

Para realizar la apertura de la sesin del Juego de Datos, vamos a utilizar la funcin BDC_OPEN_GROUP,
especificando el mandante, el grupo y el usuario.

Imagen1.4Aperturadeljuegodedatos

Paso4to.:CargadelatablaBDCDATA

Para cargar la tabla BDCDATA utilizaremos la subrutina BDC_FIELD, que vimos en la leccin dos. Antes debemos
inicializar la tabla interna del Batch Input.

Paso5to.:InsercindelJuegodeDatos

Para realizar la insercin del Juego de Datos vamos a utilizar la funcin BDC_INSERT, tal como vemos a
continuacin.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 363


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.5Insercindeljuegodedatos

Paso6to.:CierredelasesindelJuegodeDatos

Para cerrar el Juego de Datos vamos a utilizar la funcin BDC_CLOSE_GROUP, tal como vemos a continuacin.

Imagen1.6Cierredeljuegodedatos

Paso7mo.:EjecucindelJuegodeDatos

Para realizar la ejecucin del Juego de Datos vamos a entrar a la transaccin SM35. Vamos a seleccionar el Juego de
Datos y lo ejecutamos presionando el botn Ejecutar (Process).

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 364


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.7EjecucindeljuegodedatosatravsdelatransaccinSM35

En la siguiente ventana de dalogo marcamos la opcin Invisible (Background) y presionamos Ejecutar (Process).

Imagen1.8Seleccionamosinvisible

Finalmente la sesin cambiar de status dependiendo del resultado de la ejecucin y los datos se actualizarn en la
tabla ZTABLA_USUARIOS.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 365


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen1.9Cambiaelestadodeljuegodedatosdependiendodelresultadodelaejecucin

Confo en que hayas interpretado y seguido cada uno de los pasos realizados.

De lo contrario ... no dudes en consultarme al realizar la prctica !!

2|UtilizacindelprogramaRSBDCBTCparalaejecucindeljuegodedatos

Podemos ejecutar el Juego de Datos en forma Online mediante la ejecucin del programa estndar RSBDCBTC. Para
ello, vamos a tener que crear un job, submitir la ejecucin del programa RSBDCBTC y cerrar el job, tal como vemos a
continuacin.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 366


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen2.1SUBMITalprogramaRSBDCBTC

Luego, si vamos a la transaccin SM35, vemos que el juego de datos se proces sin la necesidad de hacerlo
manualmente.

Imagen2.2JuegodedatosprocesadoenlatransaccinSM35

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 367


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
BAPIS
Aprenderemos que es una BAPI, analizaremos algunas bapis estndar y
aprenderemos a trabajar con la transaccin BAPI.

Curso: Programador ABAP Nivel Inicial


Unidad: Unidad 7: Batch Input vs Bapis y temas avanzados

CVOSOFTITAcademyFormacinenSistemas.

1|QuesunaBAPI?

BAPIS

Son mtodos estandarizados que nos permiten realizar acciones sobre los objetos de negocios de SAP,
como pueden ser, crear un pedido, crear un equipo, hacer un movimiento de mercancas.

Todos los procesos que hasta ahora hacamos mediante batch input.

VentajasdelasBAPISporsobrelosBatchInputs

Debido a que las BAPIS son generalmente estndar de SAP, utilizando BAPIS, nos aseguramos que los programas
que desarrollemos, sern compatibles con las versiones futuras de SAP. Esto no ocurre con los batch input, ya que
entre las distintas versiones de SAP, es comn que se modifiquen las pantallas de las transacciones, por lo tanto la
ejecucin del Batch Input fallar.

Decimos que las BAPIS son generalmente estndar ya que si bien se pueden crear mediante la
transaccin SE37 como funciones RFC, en rara ocasin tendremos que crear una nueva.

Se pueden utilizar BAPIS desde cualquier plataforma de desarrollo que soporte el uso de funciones RFC.

DesventajasdelasBAPIS

La mayor dificultad en la utilizacin de BAPIS, est en la carga correcta de los valores de las tablas de entrada.
Para superar esta dificultad, podemos utilizar la SDN.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 368


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

2|BAPISestndar

Existen ciertas BAPIS que son estndares y pueden ser implementadas para la mayora de los objetos de negocios.
Estas BAPIS tienen funciones especificas, como puede ser listar las instancias existentes de un objeto de negocio SAP.
Ellas son:

Bapisestndarparalecturadedatos

GetList(): con esta BAPI se pueden seleccionar un rango de objetos como pueden ser sociedades o nmeros
de materiales.

GetDetail(): se utiliza para recuperar los datos de una instancia de un objeto de negocio.

GetStatus(): se utiliza para obtener el status de un objeto de negocio.

ExistenceCheck(): chequea si existe una entrada determinada de un objeto de negocio.

Bapisestndarparacrearomodificardatos

Create() o CreateFromData(): se utilizan para crear instancias de objetos de negocios.

Change(): se utiliza para modificar una instancia de un objeto de negocio.


Delete() y Undelete(): se utilizan para borrar y para cancelar el borrado de una instancia de un objeto de
negocio.

Bapisestndarparaprocesamientomasivo

Las BAPIS para crear o modificar datos pueden ser utilizadas para procesamiento masivo, es decir para procesar
grandes cantidades de datos. Para ello, ser necesario agregar el sufijo Mltiple al nombre de los mtodos. Por
ejemplo: ChangeMultiple(), CreateMultiple() or DeleteMultiple().

Bapisestndarparareplicarinstanciasdeobjetos

Las BAPIS Replicate() y SaveReplicate() son utilizadas para copiar instancias de objetos de un sistema a otro.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 369


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

3|LatransaccinBAPI

Para visualizar las BAPIS existentes en el sistema, podemos utilizar la transaccin estndar BAPI.

Imagen3.1LatransaccinBAPI

TransaccinBAPI

Mediante la transaccin estndar BAPI denominada "Explorador BAPI" podremos acceder a todas las
BAPIS existentes en el sistema SAP.

Veamos por ejemplo la Bapi BAPI_USER_GET_DETAILS, que se utiliza para obtener los datos personales de los
usuarios de SAP.

Para buscarla seleccionamos en el men la opcin Tratar / Buscar.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 370


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.2Buscamosunabapienlatransaccin

Ingresamos el nombre del objeto que es USER y presionamos continuar.

Imagen3.3Introducimoselnombredelobjeto

Y dentro del men que vemos a la izquierda de la pantalla, vamos a User y all seleccionamos GetDetail.

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 371


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

Imagen3.4VisualizamoslaGETDETAIL

Si ejecutamos la BAPI desde la transaccin SE37, podremos acceder a los datos personales del usuario.

Imagen3.5EjecucindelabapiBAPI_USER_GET_DETAILenlatransaccinSE37

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 372


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 373


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 374


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

L e c c i n :
Bibliografa
Bibliografa utilizada a lo largo del mdulo de estudios.

Curso: Programador ABAP Nivel Inicial


Unidad: Entrega de Materiales y Bibliografa

CVOSOFTITAcademyFormacinenSistemas.

Bibliografautilizadaalolargodelcurso

Manual SAP BC400 Introduction to ABAP Workbench

Manual SAP BC405 Technics of List Processing and Sap Query

Manual SAP BC410 Transaction Programming 1 y 2

Manual SAP BC415 Programming Communications Interfaces in ABAP

Manual SAP BC420 Interfaces and Data Transfer

Manual SAP BC430 ABAP Dictionary

SAP BC ABAP Programming Release 4.6B December 1999

SAP Getting Started December 1999

SAP Introduccin R/3 Enterprise Junio 2003

Manual SAP TAW_10_1

Manual SAP TAW_10_2

Manual SAP TAW_10_3

Manual SAP TAW_12_1

Manual SAP TAW_12_2

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 375


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 376


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 377


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 378


Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e
Manual de estudios Curso Programador ABAP Nivel Inicial

CVOSOFT IT ACADEMY | ISBN 978-987-27549-2-1 | info@cvosoft.com | www.cvosoft.com 379




Y - Ingeniera en formacin profesional IT | CVOSOFT IT ACADEMY - Ingeniera | CVOSOFT IT ACADEMY - Ingeniera en formacin profesional IT e