TIPOS DE DATOS EN ABAP

Documentos relacionados
1. ESTRUCTURA DE UN PROGRAMA PASCAL Todo programa escrito en lenguaje Pascal, del más simple al más complejo, tiene la siguiente estructura:

Son objetos cuya función es el tratamiento de varios registros exclusivamente durante la ejecución de un programa.

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Guía práctica de estudio 05: Pseudocódigo

Manual de turbo pascal

DICCIONARIO DE DATOS

Elementos de un programa en C

Base de datos relacional. Diccionario ABAP. Modelo Base de datos. Mundo real

Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor

El programa en JavaScript debe ir encerrado entre la marca script e inicializada la propiedad type con la cadena text/javascript:

FUNDAMENTOS DE INFORMÁTICA

Autoestudio 2: Variables y Operadores

Programación Orientada a Objetos en C++

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Características de JavaScript

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

Curso de Java Introducción a la Programación II

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

Instituto Tecnológico de Celaya

Los parámetros: son los campos que se comunican a los métodos de los objetos.

MySQL por línea de comandos

JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.

Algoritmos y Programación Orientada a Objetos I. Contenedoras de tamaño variable y uso de ciclos en otros contextos

Tema 6: Clases. Índice

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

JavaScript: Operadores

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

Clases y Objetos en C++

Tema 5 Tabla de Símbolos

Informática. JavaScript: Lenguaje de programación. Fco J. Martín Mateos Carmen Graciani

Programación en Visual Basic Ricardo Rodríguez García

Unidad II: Análisis semántico

Programación de Videojuegos Tema 15 Tipos de Dato I. 15. Tipos de Dato I

Curso de Programación en C. Licenciatura, FCQeI. APUNTADORES.

PHP: Lenguaje de programación

Uso de variables en Maple

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa

El lenguaje C. 1. Identificadores, constantes y variables

Conocimientos previos

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL

UNIDAD 4. MODIFICAR TABLAS DE DATOS

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

MODIFICAR TABLA DE DATOS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.

POO. Por tanto, una clase nos permite crear varios objetos que pueden realizar la misma función o funciones diferentes.

{ acceso } tipo-de-dato nombre-de-la-variable { d1,..., dn } { = { lista-de-valores } }

Unidad Didáctica 1. Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

CALCULO GRADO EN INGEN. INFORM. DEL SOFTWARE PRACTICA 1. INTRODUCCIÓN A MATLAB

Para crear un arreglo de cualquier tipo de elementos la sintaxis es:

Tip en detalle Nro. 06

Guía práctica de estudio 05: Diagramas de flujo

Etapas en la solución de un problema

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica

Departamento de Informática Universidad de Valladolid Campus de Segovia LABORATORIO: INTRODUCCIÓN A LAS UNIDADES EN TURBO PASCAL

Informática PRÀCTICA 3 Curs Práctica Nº 3: Tipos de datos simples. Constantes y variables. Operadores aritméticos. Formato de salida.

ESTRUCTURA DE DATOS. Memoria estática Memoria dinámica Tipo puntero Declaración de punteros Gestión de memoria dinámica Resumen ejemplo

Comunicación entre objetos

Tipos Recursivos de Datos

12. Tipos de atributos

A partir de la información anterior haremos varios programas que utilicen los diferentes elementos del diccionario.

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28

PHP orientado a objetos:

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

CAPITULO I INTRODUCCIÓN

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes:

Introducción a PL/SQL

Tema: Entorno a C# y Estructuras Secuenciales.

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Operadores y Expresiones

Utilizar la cláusula RETURNS es obligatorio al momento de definir una función y sirve para especificar el tipo de dato que será devuelto.

Tutorial 6: Qué es una función? y como utilizarla

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

ARREGLOS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC

07 Variables. 7.1 Variables globales Definición

VARIABLES PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC

Programación: Estructuras de Control

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Informática I para Bachillerato

Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso.

Ejemplo de Palabras reservadas del lenguaje C

Vamos a profundizar un poco sobre los distintos tipos de datos que podemos introducir en las celdas de una hoja de cálculo

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Transcripción:

TIPOS DE DATOS EN ABAP

En ABAP existen los diferentes tipos de datos: Declaración de Campos Para declarar variables en un programa ABAP, debemos utilizar la sentencia DATA. Ejemplo: DATA var. Esta sentencia, (ejemplo de arriba), crea una variable llamada <var> del tipo C tamaño 1, que es la definición por defecto. NOTA: Todas las líneas de instrucciones que escribimos en ABAP deben estar terminadas en un punto. ; de lo contrario, el programa producirá errores de sintaxis. Si queremos que la variable sea de tamaño 4, debemos escribirlo de la siguiente manera: DATA var(4). Tipos de Datos en ABAP RichardRey.com - 2

Ahora, si lo que queremos es declarar una variable que no sea tipo C, por ejemplo, queremos declarar una variable tipo entero, utilizaremos la sentencia TYPE para indicar el tipo de dato que queremos: DATA var TYPE i. Con el parámetro LIKE podemos declarar una variable con los mismos atributos de longitud y tipo que una variable de base de datos: DATA var LIKE mara-matnr. MARA-MATNR hace referencia al campo MATNR de la tabla MARA; y la instrucción esta declarando una variable del mismo tipo de datos de dicho campo. (Luego veremos todo lo relacionado con las tablas y campos de la Base de Datos). La instrucción de arriba también puede escribirse como: DATA var TYPE mara-matnr. Con el parámetro VALUE podemos inicializar la variable con un valor distinto al que tiene por defecto: DATA var TYPE i VALUE 1. Esta instrucción declara una variable tipo entero con valor inicial de 1. Si queremos declarar dos o más variables a la vez, lo podemos hacer de dos formas, la primera es escribiendo una línea debajo de otra de la manera como lo hemos venido viendo hasta ahora: DATA var1 TYPE i VALUE 1. DATA var2 TYPE mara-matnr. DATA var3 LIKE mara-matnr. La segunda opción es escribiendo la sentencia DATA una sola vez seguida de dos puntos (: ) y terminando cada línea con coma (, ) en vez de punto, colocando el punto al final de la última línea de declaración; veamos el ejemplo anterior escrito bajo esta forma: Tipos de Datos en ABAP RichardRey.com - 3

DATA: var1 TYPE i VALUE 1, var2 TYPE mara-matnr, var3 LIKE mara-matnr. También podemos crear una estructura de datos, esto es, un conjunto de datos relacionados lógicamente en una estructura. Luego de la sentencia DATA; utilizamos las sentencias BEGIN OF y END OF para determinar el inicio y final de la estructura. Ejemplo: DATA: BEGIN OF nombre_estructura, var1 TYPE i, var2 TYPE i, END OF nombre_estructura. Posteriormente, el acceso a los campos de la estructura será con la instrucción: <nombre_estructura> - <campo_estructura>. Ejemplos: nombre_estructura-var1. nombre_estructura-var2. Tablas Internas. El tema de las tablas internas se tocará a fondo en un capítulo posterior, por ahora quédate con que, en ABAP existe una variante de las tablas tradicionales de Bases de Datos (BD), que son llamadas las tablas internas ; éstas, a diferencia de las tablas de BD se guardarán en memoria y solo serán accesibles desde el programa que las creó, y no son tablas guardadas en la BD general consumiendo recursos del sistema. En SAP, las tablas normales se les conoce como tablas transparentes, mientras que a estas secciones de memoria que permiten almacenar una serie de registros dentro de un programa, con una estructura de datos determinada, se les conoce como tablas internas. Quédate con esto por ahora y si no se entendió muy bien, no te preocupes que le dedicaremos un capítulo entero a esto más adelante. Tipos de Datos en ABAP RichardRey.com - 4

Las tablas en SAP, tanto las internas como las transparentes, están formadas por estructuras de datos, por lo que hay dos maneras de declarar una tabla interna en un programa ABAP: a) Declarando la estructura de datos y la tabla en una misma sentencia, utilizando OCCURS. DATA: BEGIN OF itab OCCURS 100, nombre LIKE LFA1-NAME1, ciudad LIKE LFA1-ORT1, ventas LIKE LFC3-SOLLL, END OF itab. b) Declarando por un lado la estructura de datos, y luego declarando la tabla interna indicando la sentencia TYPE TABLE OF. DATA: BEGIN OF ed, nombre LIKE LFA1-NAME1, ciudad LIKE LFA1-ORT1, ventas LIKE LFC3-SOLLL, END OF ed. DATA: itab TYPE TABLE OF ed. Las dos sentencias crean una tabla interna llamada ITAB, con 3 campos (nombre, ciudad y ventas), la diferencia es que la primera tabla tiene un espacio reservado de 100 líneas en memoria principal. Esto no significa que el tamaño máximo de la tabla sea el indicado, ya que si este se desborda los datos se guardan en un fichero de paginación, bajando lógicamente el tiempo de proceso de las tablas internas, pero evitando que el área global de almacenamiento destinado por SAP para tablas internas se agote. Las tablas internas se declaran, inicializan y referencian como una estructura de datos. También podemos utilizar la misma estructura que una tabla de base de datos. Para ello utilizaremos la instrucción INCLUDE STRUCTURE. DATA BEGIN OF sociedad OCCURS 10. INCLUDE STRUCTURE T001. DATA END OF sociedad. Tipos de Datos en ABAP RichardRey.com - 5

T001 es una estructura del diccionario de datos de SAP, esto lo veremos en el siguiente capítulo. Variables del sistema El sistema SAP tiene algunas variables internas que se van actualizando automáticamente y que pueden ser utilizadas en los programas. Todas ellas empiezan por el prefijo SY- y entre las más utilizadas tenemos <SY-SUBRC>; que nos da el código de retorno de una instrucción, o <SY-TABIX>; que contiene la línea de proceso de una tabla interna. Todas las variables del sistema se encuentran en la estructura de datos llamada SYS. En el siguiente artículo enumero las variables del sistema más utilizadas en el entorno de programación ABAP: http://richardrey.com/index.php/abap-tips/campos-del-sistema-sap-mas-utilizados-en-abap/ Asignando valores Existen diversas formas de asignar valores a una variable en ABAP/4. Una asignación directa, como resultado de una operación aritmética o como resultado de una conversión automática entre campos con valores de diferente tipo de datos. La instrucción MOVE realiza un transporte del contenido del <var1> al campo <var2>. MOVE <var1> TO <var2>. Esta última instrucción también se puede escribir de la siguiente manera: <var2> = <var1>. Ejemplos: MOVE var1 TO var2. var2 = var1. Tipos de Datos en ABAP RichardRey.com - 6

Si deseamos, por algún motivo, inicializar las variables que estamos utilizando, (borrarles el valor que tienen y dejarlas en blanco), aplicaríamos la sentencia CLEAR como se muestra en el ejemplo: CLEAR var. CLEAR inicializa al valor que tiene asignado como valor inicial (ver Tabla 1) sin tener en cuenta las cláusulas VALUE que haya. La asignación e inicialización de las estructuras de datos funciona de la misma forma que en las variables normales. Un CLEAR inicializa todos los campos del registro. Con respecto a las tablas internas, hay una diferencia, la instrucción CLEAR solo inicializa la línea de cabecera (más adelante se verá que es esto); para inicializar una tabla interna completa requerimos la sentencia REFRESH. REFRESH itab. Existen otras consideraciones para las tablas internas, pero las abordaremos más adelante. Podremos conseguir una asignación más potente con MOVE-CORRESPONDING. MOVE-CORRESPONDING <var1> TO <var2>. Esta instrucción mueve de <var1> a <var2> aquellos campos que tengan idéntico nombre. Operaciones Aritméticas en ABAP/4 En ABAP/4 las operaciones aritméticas básicas se pueden implementar de dos formas: Con la instrucción COMPUTE y los símbolos +, -, /, *. COMPUTE var1 = <Expresión Aritmética>. Donde la sentencia COMPUTE es opcional; es decir, se puede omitir de la sentencia, veamos un ejemplo: Tipos de Datos en ABAP RichardRey.com - 7

COMPUTE var1 = var2 + var3. var1 = var2 + var3. Ambas instrucciones suma las variables <var2> con <var3> y guarda el resultado en <var1>. Si se trata de una operación compleja donde necesitemos paréntesis, dejaremos un espacio en blanco precediendo y siguiendo al paréntesis. Ejemplo: var1 = var1 + ( var2 + var3 ). También existe una serie de instrucciones para realizar operaciones matemáticas, como las siguientes: ADD TO. SUBSTRACT FROM. MULTIPLY BY. DIVIDE BY. EXP. LOG. SIN. COS. SQRT. DIV. MOD. STRLEN. Procesando campos de tipo texto El lenguaje ABAP ofrece una cantidad de instrucciones para el procesamiento de cadenas de texto, veamos algunas de ellas: SHIFT <campo>. Realiza un desplazamiento de un carácter hacia la izquierda. SHIFT <campo> BY <n> PLACES (RIGHT).Realiza un desplazamiento de N caracteres hacia la Izquierda o si se especifica hacia la derecha, introduciendo blancos por el lado opuesto. SHIFT <campo> BY 2 PLACES CIRCULAR (RIGHT). Realiza un desplazamiento cíclico hacia la izquierda o si se especifica hacia la derecha. Tipos de Datos en ABAP RichardRey.com - 8

REPLACE <cadena1> WITH <cadena2> INTO <campo>. Reemplaza <cadena1> por <cadena2> dentro de la variable campo. Si la variable del sistema SY-SUBRC es diferente de 0; es que <cadena1> no existe dentro de la variable <campo>. Existe otra instrucción de sustitución, TRANSLATE. TRANSLATE <campo> TO UPPER CASE.Pasa el contenido de <campo> a Mayúsculas. TO LOWER CASE.Como la anterior, pero pasando el contenido a minúsculas. La instrucción SEARCH busca una cadena dentro de un campo o una tabla. SEARCH <campo>/<tabla> FOR <cadena>. Si el Resultado es positivo, SY-SUBRC es igual a 0. En caso de que sea una tabla, SY-TABIX contiene la línea de la tabla donde se ha encontrado. Para borrar los blancos de una cadena utilizaremos CONDENSE. CONDENSE <campo> (NO-GAPS). Esta instrucción borra todos los blancos que se encuentren comenzando la cadena por la izquierda y en caso de encontrar series de blancos intermedios dejará únicamente uno por serie. La cláusula NO-GAPS borra todos los blancos estén donde estén. Tipos de Datos en ABAP RichardRey.com - 9