Mensajes SAP, definicion de tipos propios.
26 03 2007Nota:Esto esta medio incompleto, no me abucheen, ya lo completare.
Transacciones:
ST22: Logs de errores del server.
SE21: Clase de mensajes, se utiliza para definir el equivalente a constantes, las cuales contienen los textos que se mostraran a los usuarios. Forma parte del modulo de internacionalizacion y su objetivo es que tenga los mensajes mostrados en el idioma correspondiente al usuario activo.
SE93:Display report transaction. Muestra la transaccion a la que pertenece el reporte en el que nos encontramos.
Funcion Message
Message [tipo][nro_mensaje]([clase]).
Parametros:
Tipo:Es el tipo de mensaje, sus valores pueden ser:
i: Informacion, si esta en frontend muestra un popup, si no, escribe en el log.
s: Escribe en la barra de status.
a: Error no fatal. Muestra popup en frontend.
e: Error no fatal tipo 2, aborta el programa.
x: Error fatal, aborta el programa.
Nro Mensaje:
Creacion de una transaccion para mi programa
desde el SE38, presiono crtl+shift+f5 y en el arbol, boton derecho sobre mi programa y selecciono "create transaction". Ingresar un nombre que comience con "z" y seleccionar la opcion --program and seleccion screen(report transaction)--.
Definiendo tipos de dato
Para definir lo que seria un registro de pascal o un struct de C, la sitaxis es la siguiente:
-
types begin of nombretipo
-
nombre(30) type c.
-
apellido(30 type c.
-
edad type i.
-
end of nombretipo, *<---con coma indico que voy a definir mas tipos
-
-
*defino otro tipo variable
-
r_1 type sarlanga
-
*--defino mas cosas...
-
end of r_1.
-
-
*ahora uso el tipo
-
-
my_bar type nombretipo.
Copiando datos entre estructuras
Supongamos que tengo dos variables del tipo entero. Para asignas el valor de una a la otra:
-
a type i.
-
b type i.
-
-
b=10.
-
-
a=b.
-
* la linea anterior la puedo poner asi
-
mov b to a.
De la misma manera puedo hacer con estructuras:
-
types begin of nombretipo
-
nombre(30) type c.
-
apellido(30 type c.
-
edad type i.
-
end of nombretipo, *<---con coma indico que voy a definir mas tipos
-
-
*defino otro tipo variable
-
r_1 type sarlanga
-
*--defino mas cosas...
-
nombre(30) type c.
-
apellido(30 type c.
-
edad type i.
-
dni(8) type c.
-
end of r_1.
-
-
a type nombretipo.
-
b type r_1.
-
-
*seteo una de las variables, la b(esto nos lo vamos a imaginar
-
-
-
move-corresponding b to a.
Esto copiara todos los campos de b que existan en a, a la variable a.
Veamos un ejemplo completo de creacion, asignacion y acceso.
-
*&---------------------------------------------------------------------*
-
-
*& Report ZWEREM20070323B *
-
-
*& *
-
-
*&---------------------------------------------------------------------*
-
-
*& *
-
-
*& *
-
-
*&---------------------------------------------------------------------*
-
-
REPORT zwerem20070323b .
-
-
TYPES: BEGIN OF usuario,
-
-
nombre(30) TYPE c,
-
-
apellido(30) TYPE c,
-
-
edad TYPE i,
-
-
END OF usuario.
-
-
DATA my_user TYPE usuario.
-
-
my_user-nombre = 'pablo'.
-
-
my_user-apellido = 'weremczuk'.
-
-
my_user-edad = 28.
-
-
WRITE my_user-nombre.







