✒️ABAP El procesamiento de los datos
ABAP El procesamiento de los datos
La inicializacion de las variables: para la inicialización o el borrado del contenido de las variables utilizamos la sentencia CLEAR.
CLEAR v_fecha.
Si deseamos inisializar varias variables podemos utilizar una sentencia CLEAR por cada variable a inicializar.
O podemos en una solo o linea de codigo inicializar a todas las variables de la siguente forma utilizando los dos puntos luego de la sentencia
Ahora bien dependiendo del tipo de las variable entonces el contenido resultante de la inisialización será diferente.
DATA: v_fecha TYPE d,
v_hora TYPE t,
v_cantidad TYPE i,
v_titulo TYPE string,
v_nombreyape (40) TYPE c,
v_telefono (13) TYPE n,
v_pi TYPE p DECIMALES 11.
Y las inicializamos con CLEAR entonces el contenido de variables luego de la iniciazilación es el suiguente.
v_fecha '00000000'.
v_hora '000000'.
v_cantidad 0.
v_titulo ' '.
v_nombreyape ' '.
v_telefono 0000000000000.
v_p 0,00000000000.
Una sentencian muy importante a la hora de consultar el contenido de las variables que declaramos en nuestro programa es IS INITIAL. podemos utilizar esta sentencia para consultar si el contenido de una variable determinada es inicial o no, es decir si el contenido de la variable está vacio o no.
IF v_fecha IS INITIAL.
WRITE 'la fecha esta vacia'.
ENDIF.
La asignación de valores a las variables:
Ya declaramos las variables, luego las inicializamos y y ahora lo que seguie es asignarles un valor determiodo. para ello tenemos dos alternativas
- v_cantidad2 = v_cantidad1. "asignamos v_cantidad1 a v_cantidad2
- MOVE v_cantidad1 TO v_cantidad2. "asignamos v_cantidad1 a v_cantidad2
La referencia de utilización de las variables:
existe una funcionalidad muy útil que nos permite saber en qué lugares del código de un programa ABAP utiliza una determinada variable.Esta funcionalidad es la referencia de utilización.
Podemos acceder a la funcionalidad de dos formas diferentes. Una de ellas consiste en seleccionar la variable de la cual deseamos saber donde se utiliza y hacemos clic en el icono de referencia de utilización. a continuacion vamos a tildar donde deseamos buscar la referecia de utilización de la variable, y finalmente el sistema nos muestra en donde se utiliza la variable.( podemos navegar a cada una de estas referencias haciendo doble clic soble ellas).
La otra forma de haceder a la funcionalidad de referencia de utilización de una variable es directamente hacer doble clic soble el nombre de la variable en el codigo del programa. a continuacion nos lleva a la declaración de la variable en el programa y hacemos doble clic sobre la declaracion de la variable.luego tal como hicimos anteriormente vamos a tildar donde deseamos buscar la referencia de utilización de la variable. y finalmente el sistema nos muestra donde se utiliza la variable.
Las operaciones con caracteres:
Existen algunas sentencias de ABAP que se utilizan para tratar caracteres y que son muy útiles en el trabajo diario de un programa ABAP. ellas son:
- CONCATENATE: esta sentencia se utiliza para concatenar varios campos alfanuméricos en uno solo
CONCATENATE v_campo1 v_campo2 v_campo3 INTO v_campo SEPARATED BY ' . '.
Todos estos campos son de tipo caracter. con la cláusula SEPARATED BY se puede espesificar un campo alfanumérico que se utiliza como separador.
"La sentencia CONCATENATE es muy útil cuando se trabaja con fechas ya que la fecha en SAP son del formato AAAAMMDD y cuando se muestra en una listado se deben convertir a DD.MM.AAAA.
- TRANSLATE: esta sentencia se utiliza para comvertir caracteres de mayúscula a minúscula o viceversa o para realizar sustituciones de caracteres a través de ciertas reglas.
TRANSLATE _texto TO PPER CASE.
La sentencia TRANSLATE convierte a mayúsculas el contenido de la variable v_texto, de tipo caracter.
TRANSLATE es muy útil para la comvercion de texto a mayúscula o munúscula.
- REPLACE: esta sentencia reemplaza cierta parte de una cadena de caracteres para otra cadena de caracteres o caracter.
REPLACE 'Hola mundo' WITH 'Casa' INTO v_texto.
La sentencia REPLACE reemplaza el contenido de la variable v_texto que es 'Hola' por el texto 'Casa'.
La sentencia REPLACE es muy útil cuando trabajamos con importes.
- SPLIT: esta sentencia divide a un campo alfanumérico en varios campos por un separador.
SPLIT v_texto_largo AT ' , ' INTO v_campo1 v_campo2 v_campo3 v_campo4.
La sentencia SPLIT utiliza el separador ' , ' para dividir el contenido del campo v_texto_largo en la variables v_campo1 v_campo2 v_campo3 v_campo4. que son de tipo caracter es desir TYPE c.
Si todos los campos despinos son lo suficionte grande para almacenar las parte del campo v_texto_largo, estonses el SY-SUBRC valdrá 0, caso contrario valdrá 4.
La sentencia SPLIT es muy útil cuando trabajamos con textos largos y es nesesario separarlos por algun caracter especial.
- SHIFT: esta sentencia se utiliza para desplazar el contenido de un campo alfanumérico Realiza el desplazamiento del contenido de un campo hasta un STRING lado.
SHIFT v_alfabeto BY 5 PLACES.
La sentencia SHIFT realiza el desplazamiento del campo v_alfabeto hasta la quinta posición, quedando el resto de los caracteres que compone a v_alfabero en la variable y aliminando los cinco primeros.
La sentencia SHIFT es muy útil cuando trabajamos con números de documentos o cualquiel otro que aya sido grabado en tablas SAP con ceros a la izquierda.
- SEARCH: esta sentencia se utiliza para buscar una cadena de caracteres dentro de un compo alfanumérico.
SEARCH v_alfabeto FOR 'ABC'.
La sentencia SEARCH busca en el campo v_alfabeto la secuncia de caracteres 'ABC'. como la secuencia existe, devolverá SY-SUBRC igual a 0. caso contrario, si no existiera, seria distinto de cero es desir igual a 4.
SEARCH es muy útil cuando trabajamos con tablas internas y se busca la ocurrencia de una determinada cadena en un campode la tabla.
- CONDENSE: esta sentencia es muy útil para borrar espacios en blanco en campos alfanuméricos borro cualquier secuencia de espacio en blanco, dejando solo uno que exista entre palabras existentes en el capo. los espacios en blanco por la izquierda tabmién desaparecen
CONDENSE wa_doctor.
La selida en pantalla de la sentencia CONDENSE seria 'Dr Rafael Castro'. con el agregado de la cláusula NO-GAPS al final de la sentencia, se eliminara todos los espacios en blanco, es desir que también se elimina los espacios existentes entre las palablas.
CONDENSE es muy útil en los reportes cuando queremos formatear la salida en pantalla de un campo determinado.
Las operaciones aritméticas:
En ABAP las cuatro operaciones básica que son la suma, la resta, la multiplicación y la divición se puede implementar de dos maneras diferentes obteniendo el mismo resultado.
Podemos utilizar la siguiente forma.
v_campo1 = v_campo2 + v_campo3.
y tambien podemos utilizar la sentencia COMPUTE obteniendo el mismo resultado de ambas formas.
COMPUTE v_campo1 = v_campo2 + v_campo3.
También se utiliza la siguiente sentencia para operar aritméticamente con datos:
ADD 1 TO v_numero. "suma 1 a la variable v_Numero
SUBTRACT 1 FROM v_numero. "Resta 1 a la variable v_Numero
MULTIPLY v_numero BY 2. "Multiplica por 2 a la variable v_Numero
DIVIDE v_numero BY 2. "Divide por 2 a la variable v_Numero
 
 
 
Sobre el autor
Publicación académica de Javier Miguel Angel Barcelo, en su ámbito de estudios para la Carrera Consultor ABAP.
Javier Miguel Angel Barcelo
Profesión: Militar - Argentina - Legajo: DQ34X
✒️Autor de: 26 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
Certificación Académica de Javier Angel