Vous êtes sur la page 1sur 20

CURSO SAP/ABAP

DESDE CERO
/clevermexico
¿QUÉ ES SAP-ABAP?

ABAP Significa (Advanced Business


Application Programming ), ABAP
también conocido como SAP ABAP. Este
es el lenguaje de programación
propiedad del Sistema SAP, que se utiliza
para programar en la mayoría de los
productos de la empresa.
¿CUÁL ES EL OBJETIVO DE SAP ABAP?

Crear nuevas transacciones que no existen en el estándar de SAP, pero también sirve para ampliar transacciones que ya existen en el
estándar cuando la funcionalidad que proveen es insuficiente para su negocio.

¿Cuáles son las características de SAP ABAP?


• Es un lenguaje orientado a eventos bien definidos.
• Interpretado, no compilado.
• Se utiliza tanto en programación de informes como en programación de diálogo para SAP.
• Se encuentra completamente integrado dentro del entorno de desarrollo de SAP.

Por último es importante destacar que SAP ha desarrollado nuevas tecnologías para llevar sus soluciones al desarrollo web y móvil, estás
tecnologías se basan en estándares web (OData, HTML, CSS, Javascript, etc).
DEFINICIÓN DE SAP ABAP TCODE SE38

• SA38 = To execute a program


• SE38 = Program editor

• SAP ABAP tcode se38: la transacción SE38, conocida como el Editor ABAP, es la transacción más
importante dentro del mundo de la programación en ABAP, ya que mediante ella podremos crear,
modificar y visualizar los programas ABAP Z que desarrollamos, así como también los programas ABAP
estándar que ya vienen incorporados en el sistema.
• Es importante tener en cuenta que para poder crear o modificar un programa ABAP, nuestro usuario de
SAP debe tener asignada una clave de desarrollador, la cual deberemos introducir en el sistema la
primera vez que intentemos crear o modificar un objeto.
TRANSACCIONES MAS UTILIZADAS
DESARROLLO SISTEMA TABLAS/ESTRUCTURA
• SE38: Editor ABAP SM04: Eliminar sesiones abiertas • SE11: Diccionario ABAP
• SE80: Examinador de objetos SM12: Liberar bloqueos • SE16: Visualizar tabla
• SM35: BatchInput SE01: Transporte entre sistemas • SE16N: Visualizar tabla
• SE37: Funciones STMS: Transporte entre mandantes • SE30: Visualizar tabla e incluir código ABAP
• BAPI: Explorador Bapis SPAD: Impresoras • SM30: Vistas de actualización / Mantenimiento
• SE93: Transacciones SP01: Spool de impresiones en general de cualquier usuario • BS22: Status de órdenes
• ST05: Traza de programas SP02: Spool de impresiones propias o del usuario utilizado • SNRO: Secuencias de números
• SE18: Consultar BADI (definición) SE03: Buscar objetos en orden de transporte y tareas
• SE19: Modificar BADI (implementación) SM59: Cambiar de sistema (internamente)
• ST22: Ver dumps SM36: Crear Jobs
• SE24: Class Builder SM62: Crear eventos
• SM36: Crear JOBs SM37: Borrar Jobs
• SM37: Traza de JOBs ST05: Trazas
• SM62: Creación eventos SU01: Configuración de usuarios
• SAAB: Gestión de break-points y asserts AL11: Navegador sistema de ficheros
• SLG0: Crear objetos de LOG SXDA: Direct Input
• SLG1: Consultar LOGs SM69: Ejecución de comandos del S.O.
• SLG2: Borrar LOGs CACS_FILE_COPY: Subir/Bajar ficheros del servidor
• WE60: Consulta de IDOCs LSMW: Legacy System Migration Workbench (carga masivas de datos)
• DWDM: Ejemplos ABAP BDLR: Biblioteca de programas para cargas de datos
• SWO3: Explorador de Business Objects SCC1: Transportar ordenes de un mandante a otro
RSBDCOS0: Reporte para ejecutar comandos a nivel de SO
AL11: Transaccion para ver/navegar en la estructura de directorios del S.O.
DATOS MAESTROS

T-Code T-Code Description Number of Customers Processing time saved


by automation
MM02 Change Material 751 86.52%
MM01 Create Material 630 88.20%
XD02 Customer Change 440 79.80%
VK11 Create Condition Records 408 78.60%

XK02 Vendor Change 392 86.70%


XD01 Customer Create 341 93.60%
XK01 Vendor Create 287 89.90%
VK12 Change Condition Records 242 77.80%

KS02 Change Cost Center 178 74.60%


KS01 Create Cost Center 177 94.00%
FINANZAS
T-Code T-Code Description Number of Customers Processing time saved by
automation
AS02 Change Asset 240 85.00%
FB50 Enter G/L Account Document: Company Code XXXX 219 95.80%

FB01 Post Document: Header Data 211 95.20%

AS01 Create Asset 191 88.50%


FB60 Enter Vendor Invoice: Company Code XXXX 172 95.20%

FD32 Customer Credit Management Change 164 82.40%

FB02 Change Document 153 76.90%


KO01 Create Internal Order 120 93.40%
F-02 Enter G/L Account Posting: Header Data 113 92.90%

FB70 Enter Customer Invoice: Company Code XXXX 91 95.60%


CADENA DE SUMINISTRO

T-Code T-Code Description Number of Customers Processing time saved


by automation
VA02 Change Sales Order 391 78.00%
VA01 Create Sales Order 348 91.40%
CS01 Create Material Bill of Material 255 86.80%

CS02 Change Material Bill of Material 244 82.00%

ME22N Change Purchase Order 239 91.90%


ME21N Create Purchase Order 206 94.70%
MIGO Goods Receipt for a Purchase Order 190 84.90%

CA02 Change Routing 152 73.10%


IW32 Change Order 150 73.90%
CA01 Create Routing 102 83.50%
PLANT MAINTENANCE

T-Code T-Code Description Number of Customers Processing time saved


by automation
IE02 Change Equipment 258 75%
IW32 Change Order 177 85%
IE01 Create Equipment 176 96%
IL02 Change Functional Location 159 85%

IP02 Change Maintenance Plan 114 81%

IW31 Create Order 72 88%


IP10 Schedule Maintenance Plan 71 59%

CV01N Create Document 71 92%


IA05 Create Gerneal Task List 71 95%
RECURSOS HUMANOS

T-Code T-Code Description Number of Customers Processing time saved


by automation
PA30 Maintain Personnel Master Data 280 88.30%

PA40 Personnel Actions 182 92.40%


PO13 Maintain Position 103 88.30%
PP01 Maintain Plan Data (Menu Guided) 84 80.90%

PP02 Maintain Plan Data (Open) 55 88.50%

CAT2 Time Sheet (Change) 42 92.20%


PO10 Maintain Organizational Unit 40 67.90%

PP03 Maintain Plan Data (Event Guided) 32 90.50%

PO03 Maintain Job 21 90.50%


PA20 Display Personnel Master Data 14 93.40%
TIPOS DE DATOS
Por su estructura se clasifican en elementales(predefinidos: C, D, F, I, N, P, T, X. Estos nombres son fijos; y
definidos por el usuario: a partir de los anteriores. Su nombre es libre) y estructurados(predefinidos: tablas del
Diccionario de Datos (se declaran con TABLES); y definidos por el usuario: field-strings y tablas internas (ambos
se declaran con DATA)).

La longitud se mide en caracteres, NO en bytes.


TIPOS DE TABLAS

Tablas cluster.
Las tablas cluster son un conjunto de tablas que, como su propio nombre indica, se guardan en un cluster de Base de datos.
Los registros de las tablas SAP se guardan con la misma clave del cluster en el cluster físico de la base de datos. Esto
permite, por ejemplo, almacenar textos continuos como documentación.
Tablas pool.
Las tablas pool son las tablas que almacenan la información en una tabla física dentro del gestor de bases de datos.
Estas tablas se utilizar para almacenar los datos de control, los parámetros de programas, …. Esto permite recopilar varias
tablas pool en un pool de tablas correspondiente a una tabla física en el sistema de bases de datos.
Tablas transparentes.
Las tablas transparentes son las tablas físicas dentro del sistema de bases de datos. Esto implica que los nombres de la tablas
físicas coinciden con la definición lógica de la tabla del diccionario de ABAP.
Estas tablas se utilizan para almacenar todos los datos empresariales y de aplicación que se usan dentro de SAP.
Tablas internas.
Las tablas internas son tablas temporales que tienen vigencia sólo durante el tiempo que se está ejecutando el programa o
reporte que las define.
CARACTERÍSTICAS DEL PROGRAMA ABAP

• El lenguaje de programación ABAP no distingue entre mayúsculas y minúsculas. Pero es


un espacio sensible, debe tener espacio entre las palabras de programación.
• ABAP solo distingue entre mayúsculas y minúsculas durante la comparación.
• Cada declaración ABAP debe finalizar con un punto (punto y aparte).
• El nombre del programa no debe contener caracteres especiales como ", - ()", espacios,
etc.
• El nombre del programa debe ser exclusivo y la longitud de la descripción de hasta 30
caracteres.
PRE-REQUISITOS PARA CREAR PROGRAMAS
ABAP
• Cada programa SAP ABAP debe tener un nombre y debe comenzar con una letra Y o Z. Las
letras de A a X están reservadas para los programas de SAP.
• Título: - Descripción del programa
• Tipo: - Los tipos de programa ABAP son
• Programa ejecutable,
• Incluye programa y
• programa de grupo de módulos

• Paquete: paquete de un lugar donde el programa debe ser creado y almacenado. En tiempo
real, el paquete se crea para cada módulo / submódulo pero no para particulares.
EJEMPLO DE UN PROGRAMA:
CREACIÓN DE UNA TABLE PERSONALIZADA
(TABLAZ)
• Código de transacción SE11
• Hacer clic en la tabla
• Introducir el nombre de la tabla que comienza con (Z
o Y)
• Ej: Zstudent
• Hacer clic en crear
• Ingresar la descripción sobre la mesa
ESTRUCTURA

El programa de ABAP consiste en la


siguiente estructura

• Encabezado
• Delcaraciones Globales
• Lógica de procesamiento
• Definición de bloques reutilizables
COMPARATIVO

REPORT <nombre>. "Nomre del programa. REPORT zztr003.


TABLES: lfa1.
TABLES: "Definición de las tablas
* Pantalla de Selección.
DATA: "Definición de variables PARAMETERS: c1 LIKE lfa1-lifnr.

TOP-OF-PAGE. "Inicio de la cabecera del programa. * Inicio del programa


<Sentencias> START-OF-SELECTION.
END-OF-PAGE. "Fin de la cabecera
<Sentencias> SELECT SINGLE * FROM lfa1
WHERE lifnr EQ c1.
START-OF-SELECTION. "Inicio del programa. END-OF-SELECTION.
<Sentencias>
WRITE: lfa1-lifnr, lfa1-name1.
END-OF-SELECTION. "Fin del programa.
INITIALIZATION.
<Sentencias>
c1 = '1001'.
IMPORTANTE RECORDAR

• Una tabla Z no es más que una tabla de BD creado por la empresa que adquirió SAP y la utiliza para poder agrupar datos
estándar y/o datos propios que SAP no puede almacenar dentro de las tablas de BD estándar.

• Se agregan esas tablas Z's mediante las herramientas en ABAP llamadas Enhacement, ahí podemos llenar las tablas Z's y al
mismo tiempo no interrumpir un determinado proceso de las transacciones standard

• Al igual que una tabla Z, un programa Z es un programa creado por el adquiriente de SAP para poder realizar alguna tarea y/o
aplicación que SAP no contempla, a parte de eso para poder automatizar procesos o realizar alguna tarea muy puntual

• Un Job de fondo son programas que se ejecutan en segundo plano y Batch Input son simplemente la simulación de procesar
una transacción mediante un programa ya sea estándar o Z, ahora normalmente los JOB son hechos para procesos pesados y
los Batch Input's tbm pueden ser procesados mediante JOB's
ENCUENTRA AL PROGRAMADOR ABAP