Exchange Currency

martes, 31 de mayo de 2016

SMARTFORMS

SMARTFORM


Smartform tecnología SAP utilizada para la creación de formularios. Reemplazaron a los SapScripts a partir de la versión 4.7 de SAP. Son los más amigables al desarrollador y los más flexibles a la hora realizar cambios.

SAP ABAP TCODE SMARTFORMS

Sap abap tcode smartforms mediante la transacción SMARTFORMS podremos crear, modificar y visualizar en el sistema los llamados Formularios Smartforms.

La tecnología SmartForms vino a reemplazar a los llamados formularios SapScripts, que es una herramienta que todavía puede utilizarse pero no es muy amigable ni flexible a la hora de crear formularios de cierta complejidad.

Un formulario SmartForms va a estar compuesto siempre por un programa impresor y un formulario.

ABAP CONCEPTO DE SMARTFORM

Abap concepto de smartform los Formularios son objetos de SAP que se utilizan para crear documentos que necesitan ser impresos, visualizados por pantalla o enviados por correo electrónico.

Ejemplos de formularios son Facturas, Remitos, Órdenes de compra, Solicitudes de pedido o cualquier otro documento que queramos crear como formulario SAP.

SAP posee varias tecnologías especialmente diseñadas para la creación de formularios. Ellas son:

Ø      SAPScripts: es la primera herramienta que creo SAP para el desarrollo de formularios. No es muy amigable y tampoco muy flexible pero todavía se continúan utilizando en muchos entornos de trabajo, principalmente donde encontramos las versiones más antiguas de SAP.
Ø      SmartForms: reemplazaron a los SAPScripts a partir de la versión 4.7 de SAP. Son los más amigables al desarrollador y los más flexibles a la hora de realizar cambios. Poseen muchas ventajas con respecto a sus antecesores.
Ø      AdobeForms: es la última tecnología de SAP en cuanto a formularios. Es producto de la alianza entre SAP y Adobe.

ABAP FORMULARIO SMARTFORM TEXTOS, VARIABLES Y CAMPOS

Abap formulario smartform textos, variables y campos para crear un texto en un formulario presionamos el botón derecho del mouse encima de la ventana en donde queremos crear el texto y seleccionamos la opción Crear/Texto.

Existen cuatro tipos posibles de textos. Ellos son:
Ø      Elemento de Texto (Text Element)
Ø      Módulo de Texto (Text Module)
Ø      Texto Estándar (Include Text)
Ø      Texto dinámico (Dynamic Text)

Para que un Smartform pueda distinguir entre un texto literal que hallamos escrito en un Elemento de texto y una variable de la cual queremos imprimir su contenido, debemos utilizar el botón para insertar campos en el editor.

Al presionar el botón veremos una ventana de diálogo en donde podremos introducir campos entre & tal como vemos a continuación:

&V_PAIS&

Tenemos disponible un conjunto de variables para utilizar en los smartforms, las más relevantes son:

Ø      &SFSY-DATE&: Muestra la fecha.
Ø      &SFSY-TIME&: Muestra la hora del día en el formato HH:MM:SS.
Ø      &SFSY-PAGE&: Inserta el número de la página de impresión actual en el texto.
Ø      &SFSY-FORMPAGES&: Muestra el número total de páginas para el formulario que se está procesando. Esto permite incluir textos como ‘página x de y’ en la salida.
Ø      &SFSY-JOBPAGES&: Contiene el número total de páginas de todos los formularios en el pedido de impresión que se está procesando.

ABAP FORMULARIO SMARTFORM CONFIGURACIÓN GENERAL, PÁGINAS Y VENTANAS

Abap formulario smartform configuración general, páginas y ventanas cuando ingresamos a la transacción SMARTFORMS, lo primero que vemos dentro de la carpeta Parametrizaciones Globales (Global Settings) son los atributos del formulario.

Aquí podremos asignar una descripción a nuestro formulario. En este caso escribiremos "Formulario de Usuarios".

En la solapa Propiedades Generales (General Attributes) vemos el idioma de creación del formulario, que será ES (Español) y podremos seleccionar los distintos idiomas en los que traduciremos el formulario.

Uno de los puntos más fuertes de los formularios SmartForms es que pueden ser traducidos a varios idiomas con un mínimo de trabajo.

Un formulario SmartForm está compuesto por distintos objetos, dos de los más importantes son:

Ø      Páginas: Un formulario consiste en una o más páginas. La primera página es la de inicio que ya existe cuando se crea el formulario. Debemos cambiar su nombre y descripción ya que por defecto ABAP le asigna un nombre genérico que este caso es%PAGE1. Lo cambiaremos por PRIMERA con la descripción "Primera página".
Ø      Ventanas: Las ventanas son áreas de salida para los datos que mostramos dentro de las páginas en el formulario. Cuando creamos un formulario nuevo automáticamente se generará la ventana MAIN dentro de la página %PAGE1.

Existen varios tipos de ventanas pero se utilizan dos generalmente: la principal o MAIN Window que puede ser una sola por página y las secundarias o Ventana auxiliar (SECONDARY Window) que pueden existir tantas como necesitemos.

ABAP FORMULARIO SMARTFORM CONTROL DEL FLUJO, DIRECCIONES, CARPETAS Y TRADUCCIONES
Abap formulario smartform control del flujo, direcciones, carpetas y traducciones dentro de la estructura del árbol de objetos que vemos a la izquierda de la pantalla en la transacción Smartforms, existen varias opciones que nos permiten controlar el procesamiento del formulario. Ellos son:

Ø      ALTERNATIVA: Se utiliza para nodos o objetos alternativamente incluyendo los sucesores de este.
Ø      LOOPS O BUCLES: Se utilizan para leer datos de una tabla interna línea a línea. 
Ø      COMANDOS: Utilizaremos un comando cuando queramos pasar a una nueva página en el formulario. 
Ø      CONDICIONES DE SALIDA: Todos los objetos que creamos presentan la solapa de Condiciones. Aquí podremos suprimir el procesamiento en base al cumplimiento de determinadas condiciones

Podremos crear Direcciones que son un tipo de objeto especial que se utiliza para almacenar los datos de direcciones. Para crear una DIRECCION presionamos el botón derecho del mouse encima de una ventana y seleccionamos la opción Crear/Dirección.

Mientras más extenso se vuelva un formulario, menos claro se torna la jerarquía de nodos en la estructura jerárquica. Para evitar esto, se pueden combinar nodos relacionados agregándolos en un nodo carpeta.

Para crear un nodo carpeta, presionamos el botón derecho del mouse encima del nodo en la estructura de árbol y seleccionamos Crear/Carpeta.

Se pueden traducir a otros idiomas todos los textos que se visualizan en los formularios, en los estilos y en general en cualquier programa ABAP.

Para realizar la traducción de los textos utilizaremos la transacción SE63.

ABAP TABLE PAINTER EN LOS SMARTFORMS

Abap table painter en los smartforms utilizaremos el Table Painter para realizar el diseño de las Ventanas. El Table Painter ofrece las siguientes funcionalidades:

Ø      Dibujo de líneas y columnas, esto incluye la posibilidad de utilizar colores y sombras.
Ø      Inserción,  cortar, copiar y borrar líneas.
Ø      Eliminación de las celdas.
Ø      Cambio del tamaño de las celdas y mover líneas que separan las celdas.
Ø      La división de las celdas.
Ø      Selección de patrones de tablas.

La gran ventaja que ofrece el Table Painter es que es una herramienta muy fácil de manejar y bastante intuitiva, lo que favorece ampliamente la rapidez en el diseño de las tablas.

ABAP FORMULARIO SMARTFORM TABLAS, LÍNEAS DE CÓDIGO Y GRÁFICOS

Abap formulario smartform tablas, líneas de código y gráficos podemos crear una tabla para mostrar sus registros en un formulario Smartform. Para ello, creamos el objeto TABLA presionando el botón derecho del mouse encima de la ventana donde queremos crear la tabla y seleccionamos la opción Crear/Tabla.

Podemos insertar líneas de código ABAP como un objeto dentro de un Smartform.
Estas líneas pueden ser utilizadas por ejemplo para calcular un total, verificar el valor de una variable, etc.

Para crear una línea de código presionamos el botón derecho del mouse encima de la ventana o carpeta en donde queremos crear el código y seleccionamos la opción Crear/Lógica proceso/Líneas de programa.

Podemos agregar fácilmente gráficos a nuestros formularios smartform. Utilizaremos la transacción SE78 para importar, administrar, transportar y visualizar gráficos.
Los formatos de gráficos soportados son archivos .BMP y .TIF.

Para importar un gráfico accedemos al menú Gráfico/Import.

Si deseamos subir archivos de imágenes con otros formatos podemos utilizar la transacción estándar OAER.

ABAP CONVERSIÓN DE UN SMARTFORM A PDF

Abap conversión de un smartform a pdf podemos convertir un formulario Smartforms a PDF fácilmente. Este tipo de conversiones es muy solicitado actualmente en el ámbito laboral.

Una forma de convertir un formulario smartform al formato PDF consiste en enviar al spool la impresión del formulario smartform. De esta forma estaremos generando un número de orden de spool.

Luego deberemos ejecutar el programa estándar RSTXPDFT4, introduciendo en la pantalla de selección el número de la orden de spool, tildamos la opción "Hacer download de fichero PDF" e introducimos la ruta y el nombre del archivo PDF que generaremos.

Finalmente luego de introducir estos datos habremos obtenido nuestro smartform en formato PDF.

miércoles, 25 de mayo de 2016

Información sobre ABAP POO Parte 4.

Información sobre ABAP POO Parte 4.



SAP ABAP POO - CREACIÓN DE UNA TRANSACCIÓN ORIENTADA A OBJETOS Definición
Sap abap poo - creación de una transacción orientada a objetos tal como ocurre con todos los tipos de programas en ABAP, los Programas Orientados a Objetos necesitan tener una transacción asociada para poder ser ejecutados por los usuarios.
Para crear una transacción orientada a objetos vamos a utilizar la transacción estándar SE93. Al ejecutar la transacción SE93 visualizaremos en pantalla el campo “Código de transacción” en el cual introduciremos el nombre de la nueva transacción y presionamos el botón “Crear”.
A continuación veremos una ventana de diálogo en donde vamos a introducir un Texto breve para la transacción a crear y vamos a seleccionar el tipo de transacción a crear entre los que se encuentran:
  • Transacción de diálogo
  • Transacción de report
  • Transacción OO
  • Transacción variante
  • Transacción de parámetros
Aquí seleccionamos la opción “Transacción OO” y presionamos continuar.
En la siguiente pantalla deberemos introducir el nombre de la clase, el método que se ejecutará y diferentes configuraciones propias de la creación de clases.

SAP ABAP POO RTTS Definición

Sap abap poo rtts a partir de la versión SAP Web AS 6.10, los ((Objetos ABAP)) permiten consultar los tipos de los atributos en tiempo de ejecución mediante las clases estándar de SAP. Este concepto es llamado RTTI (Información del tipo en tiempo de ejecución).
Para la versión SAP Web AS 6.40, se ha mejorado este concepto para permitir laCreación de tipos en tiempo de ejecución conocida como RTTC.
La combinación de ambos conceptos forman RTTS (Tipo de servicio en tiempo de ejecución).
En conclusión podemos decir que:
RTTS = RTTI + RTTC
Sugiero ampliamente consultar los siguientes programas estándar sobre RTTI, los cuales te serán de gran utilidad como ejemplo:
  • SAPBC401_DYND_DATADECL_RTTI
  • SAPBC401_DYND_RTTI_OBJECT 

SAP ABAP POO OBJETOS COMPARTIDOS Definición

Sap abap poo objetos compartidos a partir de la versión SAP Web AS 6.40, se pueden guardar los datos como objetos compartidos en la memoria compartida, a través de diferentes programas e incluso sesiones de usuario diferente. En consecuencia, se pueden crear aplicaciones en las que ciertos usuarios escriben datos y otros usuarios leen dichos datos y los utilizan más tarde.
Podemos imaginar muchas aplicaciones potenciales para los diferentes objetos compartidos:
  • Guardar un catálogo: un autor escribe el catálogo en el área de objetos compartidos y luego muchos usuarios pueden acceder a él al mismo tiempo.
  • Guardar un carrito de compras: un comprador completa un carrito de compras y el vendedor lo lee luego.
La memoria compartida es un área de memoria dentro del servidor de aplicación que puede ser accedida por todos los programas ABAP que se ejecutan en el servidor.
Antes de que existan los objetos compartidos, teníamos que utilizar las sentenciasEXPORT e IMPORT con las adiciones SHARED BUFFER y SHARED MEMORY para acceder al área de memoria.
Las instancias de las clases viven exclusivamente en la sesión interna de un programa ABAP. Con la introducción de los objetos compartidos, la memoria compartida ha sido mejorada con los Objetos de memoria compartida, donde los objetos compartidos pueden ser guardados.

SAP ABAP POO DESARROLLO DE UNA APLICACIÓN DE OBJETOS COMPARTIDOS Definición

Sap abap poo desarrollo de una aplicación de objetos compartidos utilizaremos la transacción SHMA para crear y mantener las áreas de memoria. Para crear un área nueva ingresamos su nombre y presionamos Crear.
El nombre del área debe comenzar con Z o con Y.
A continuación introducimos una descripción para el área y la clase raíz (Root Class).
Luego presionamos el botón guardar y se creará la clase raíz. Esta clase se creará como una subclase de la clase estándar CL_SHM_AREA.
En la clase raíz ZCL_SHM_ROOT_OBJECT seleccionamos la opción Apto memoria compartida.
El checkbox Final indica que la clase ZCL_SHM_ROOT_OBJECT es una clase final, es decir no tendrá subclases.
Por último, dentro de la solapa Atributos creamos el atributo MENSAJE como un CHAR de 100 posiciones.

SAP ABAP POO BADIS Definición

Sap abap poo badis son un nuevo tipo de extensión al sistema SAP, basado en la utilización de objetos ABAP para la implementación de validaciones y ampliaciones al código estándar de SAP, sin tener que modificar el código estándar.
Mediante las Badis podremos realizar modificaciones al estándar de modo de poder satisfacer los requerimientos del cliente.
Utilizando Badis podremos definir filtros para la ejecución de forma tal de poder tener diferentes procesos para, por ejemplo, países diferentes. Esto le permite a SAP poder utilizar las Badis para realizar localizaciones del sistema; por eso es que el sistema estándar ya incluye varias implementaciones de Badis.
Mediante las implementaciones de las Badis se pueden hacer aplicaciones para negocios específicos como petroleras, papeleras, químicas, etc. Esto hace que las Badis sean muy útiles debido a que poseen una arquitectura Multicapa (SAP, partners, soluciones de clientes, localizaciones, soluciones específicas para industrias, etc).
Existen dos tipos de Badis:
  • Badis Clásicas: son las primeras que existieron.
  • Badis Nuevas: también conocidas como Puntos de ampliación o Enhancement Spot que incorporan las últimas tecnologías de SAP.

SAP SD POOL DE FACTURACIÓN Definición

Sap sd pool de facturación al tratar los pools de facturación, no es necesario indicar los documentos individuales que hay que facturar. El sistema lista los documentos que se deben facturar según el alcance de la selección indicado. También puede combinar varias entregas en una factura.
Se puede tratar el pool de facturación como una ejecución de prueba simulada. Todos los documentos marcados para la facturación se procesarán y el sistema mostrará una lista con los documentos de facturación que puede crear. Todos los documentos de facturación que contengan errores se visualizarán con el status de tratamiento relevante.
Si el pool de facturación se ha procesado previamente y se necesita saber qué documentos de facturación se han creado a partir de este pool de facturación, se puede visualizar el log de este proceso de facturación.

SAP BASIS NETWEAVER ADMINISTRACIÓN DE SPOOL SERVERS Definición

Sap basis netweaver administración de spool servers un servidor de spool, puede ser asignado a múltiples dispositivos de salida lo cual incrementa el riesgo de sobrecarga en este servidor o también de no disponer de muchas impresoras si una instancia no se encuentra operativa con lo cual cobra vital importancia la administración de los Spool Servers.
Por estos motivos sería convenientes tener un mecanismo para balancear la carga entre varios servidores de aplicación SAP. La inclusión de servidores lógicos en el planeamiento de impresión para el landscape de SAP desde un primer momento puede ahorrar mucho esfuerzo en el mantenimiento de la operación.
Cuando el sistema SAP se escala en el tiempo con instancias adicionales y spool work process se ponen a disposición, los servidores de spool lógico facilitan la adaptación del landscape de impresión.
Un servidor de spool es un servidor de aplicación SAP con al menos un spool work process. Cada output request es procesado en un servidor de spool real de este tipo. Un dispositivo de salida es creado en el sistema SAP y se asigna a un servidor de spool directamente. Sin embargo, existen varias ventajas asociadas con una capa adicional  lógica entre el dispositivo de salida y el servidor de spool. Podemos utilizar servidores de spool lógicos para este propósito.


lunes, 23 de mayo de 2016

Información sobre ABAP POO Parte 3.

Información sobre ABAP POO Parte 3.



SAP ABAP POO - CREACIÓN DE UNA CLASE GLOBAL Definición

Sap abap poo - creación de una clase global para crear una clase global debemos utilizar el Constructor de Clases o Class Builder correspondiente a la transacción estándar SE24.

Una vez que ingresamos a la transacción SE24 debemos introducir un nombre para la clase global que crearemos y a continuación presionamos el botón “Crear”.

A continuación veremos una ventana de diálogo en donde introducimos una descripción para la clase global. Aquí mismo podremos definir una relación de herencia especificando el nombre de la superclase correspondiente a la clase que estamos creando.

También en esta misma ventana de diálogo, en el campo “Instanciación” vamos a definir la visibilidad de la clase. Esta puede ser pública, protegida o privada.

A continuación podremos definir los atributos de la clase, un atributo puede ser definido como “de instancia”, “estático” o “constante”. Deberemos definir la visibilidad del atributo, la cual puede ser pública, protegida o privada.

Vamos a definir los métodos de la clase. Para los métodos también deberemos el nivel de encapsulación (Publico, protegido o privado) y si es de instancia o estático.

También definiremos los eventos de la clase, en donde especificaremos si es “de instancia” o “estático” y definimos su visibilidad.

SAP ABAP POO FRIENDS Definición

Sap abap poo friends en cualquier lenguaje de programación orientado a objetos el acceso a los componentes privados y protegidos, ya sea a los atributos o a los métodos, se encuentra prohibido.

Si alguien trata de acceder a ellos, el compilador generará un error de sintaxis.

A veces, puede ser ventajoso dar acceso a los atributos protegidos y privados de otra clase. Esto puede lograrse utilizando la adición FRIENDS.

Adición que se agrega en una clase para permitir que otra clase pueda acceder a sus componentes protegidos y privados.
Esta adición se debe agregar en la clase cuyos atributos necesitan ser accedidos.

También podemos especificar una interface como "amiga" de una clase. Si hacemos esto entonces todas las clases que implementen la interface LIF_FRIEND, tendrán el acceso garantizado a la clase.

SAP ABAP POO INTRODUCCIÓN AL ALV GRID CONTROL Definición

Sap abap poo introducción al alv grid control el sistema SAP nos permite crear controles Z utilizando objetos ABAP. Uno de los controles de los que hablamos es el ALV GRID CONTROL con el cual podremos crear reportes ALV utilizando objetos.

Con este control tendremos disponibles todas las funciones estándar de la barra de menús y también podremos configurar todas las propiedades del ALV para adaptarlo a nuestras necesidades.

Para crear el ALV utilizaremos un Contenedor. Este objeto puede contener otros controles a parte del ALV GRID CONTROL como por ejemplo Tree Control, SAP Picture Control, SAP Splitter Control y más.

El contenedor proporciona un área física para la visualización de los objetos. Todos los controles existen dentro de un contenedor.
Utilizaremos dos objetos para administrar los controles Z y el ALV GRID CONTROL. Ellos son las clases: 
  • CL_GUI_CUSTOM_CONTAINER
  • CL_GUI_ALV_GRID 

SAP ABAP POO ALV GRID CONTROL - CATÁLOGO DE CAMPOS Definición

Sap abap poo alv grid control - catálogo de campos es una tabla interna en donde se almacenan los campos que se visualizarán en la salida de un reporte ALV.

Las columnas que mostramos en un reporte son especificadas por el programador.

La tabla interna del catálogo es del tipo estándar LVC_T_FCAT. Cada una de las líneas que componen a esta tabla es del tipo  LVC_S_FCAT y está compuesta por los campos que determinan las propiedades que se pueden configurar de cada una de las columnas que se mostrarán en el reporte ALV Grid.

También es posible configurar las propiedades de cada uno de los campos de la estructura LVC_S_FCAT de modo de que dichas configuraciones se apliquen en la salida de nuestro reporte ALV.

Para ello, a continuación explicaremos el significado de las algunas propiedades de la estructura LVC_S_FCAT: 
  • TABNAME: contiene el nombre de la tabla interna de salida del ALV.
  • FIELDNAME: contiene el nombre del campo de la tabla interna del ALV.
  • REF_TABLE: tabla de referencia del diccionario de datos ABAP.

SAP ABAP POO EL LAYOUT DEL ALV GRID CONTROL Definición

Sap abap poo el layout del alv grid control podemos cambiar el Layout o Disposición de nuestro ALV GRID CONTROL, por ejemplo asignando un título al reporte, creando rayas en el listado (zebra) o optimizando el ancho de las columnas entre otras alternativas disponibles.

Para ello, declararemos dentro de nuestro programa una estructura del tipo estándar LVC_S_LAYO y deberemos completar los campos de dicha estructura que queramos configurar.

Los principales campos del layout que debemos tener en cuenta son: 
  • GRID_TITLE: muestra un título con un máximo de 70 caracteres.
  • ZEBRA: si es 'X' el listado se muestra rayado.
  • NO_HEADERS: si es 'X' no muestra la columna de cabecera.
  • SEL_MODE: configuración que determina cuantas celdas, columnas o filas pueden ser seleccionadas.
  • NO_TOOLBAR: esconde la barra de herramientas.
  • TOTALS_BEF: muestra los totales antes de la primera línea.


SAP ABAP POO EL EVENTO DOUBLE CLICK DEL ALV GRID CONTROL Definición

Sap abap poo el evento double click del alv grid control un ALV GRID CONTROL puede reaccionar a los eventos definidos por el usuario. Si miramos los eventos existentes para la clase CL_GUI_ALV_GRID veremos todos los posibles eventos con los que podemos trabajar.

Uno de los eventos existentes es por ejemplo el double click del mouse. Una posible reacción es que el procesamiento subsecuente al doble clic del mouse sobre determinado sector del reporte, muestre información adicional de la línea del reporte a la cual se le ha realizado el doble clic.

Desde el punto de vista técnico, el evento DOUBLE_CLICK es capturado a través de un método manejador de eventos.

SAP ABAP POO MANEJO DE EXCEPCIONES EN LOS OBJETOS ABAP Definición

Sap abap poo manejo de excepciones en los objetos abap utilizamos el término "Excepción" para referirnos a una situación que sucede cuando un programa se está ejecutando y por alguna razón ocurre una situación anormal en el programa, la cual es tratada ya que previamente fue contemplada en el mismo programa.

Muchas veces, la acción asociada a una excepción, es simplemente producir un mensaje informativo y terminar el procesamiento. Otras veces, es sólo la indicación de la necesidad de un cambio en la estrategia de resolución del problema.

A partir de la versión SAP Web AS 6.10, SAP introduce un nuevo concepto en las excepciones de los objetos ABAP, en paralelo al que describimos anteriormente. Este nuevo concepto es el de las "Excepciones basadas en clases".

Las excepciones basadas en clases pueden lanzarse utilizando la sentencia RAISE EXCEPTION o por el entorno de ejecución.


La división por cero es un ejemplo de una excepción causada por el entorno de ejecución.

lunes, 16 de mayo de 2016

Información sobre ABAP POO Parte 2.

Información sobre ABAP POO Parte 2.



SAP ABAP POO TRATAMIENTO DE OBJETOS Definición 

Sap abap poo tratamiento de objetos los programas sólo pueden acceder a los componentes de las instancias usando las referencias de las variables referenciadas.

Los métodos funcionales son aquellos que tienen un parámetro RETURNING. Esto significa que devuelven un valor. El parámetro RETURNING siempre debe ser pasado usando la adición VALUE, es decir se debe pasar por valor.

Los métodos funcionales pueden ser llamados directamente dentro de varias expresiones: 

  • Expresiones Lógicas: IF, ELSEIF, WHILE, CHECK, WAIT 
  • Condiciones CASE: CASE, WHEN 
  • Expresiones Aritméticas: COMPUTE 
  • Fuentes de valores como copia local: MOVE 
  • Condiciones de búsqueda para ((tablas internas)), asumiendo que el operando no es un componente de la fila: LOOP AT ... WHERE 

Dentro de una clase se puede acceder también a los componentes individuales mediante la referencia a sí mismo ME.
SAP ABAP POO CONSTRUCTORES Definición 

Sap abap poo constructores es un método especial que es llamado por el sistema en tiempo de ejecución de forma implícita.

Existen dos tipos de métodos en los Objetos ABAP. Aquellos que son llamados en forma explícita mediante la sentencia CALL METHOD (o la forma abreviada) y aquellos que son llamados en forma implícita que son los Constructores.

Un constructor será necesario si después de crear una instancia de una clase necesitamos:


  • Asignar recursos. 
  • Inicializar atributos que no pueden ser cubiertos con la adición VALUE de la sentencia DATA.
  • Modificar atributos estáticos. 
  • Enviar mensajes que indiquen que un nuevo objeto ha sido creado. 


Existen dos tipos de constructores que pueden ser declarados:

  • El constructor de instancia que lleva el nombre de CONSTRUCTOR. Este método es llamado por el sistema tan pronto como él objeto ha sido generado en memoria. 
  • El constructor estático que lleva el nombre de CLASS_CONSTRUCTOR 

SAP ABAP POO HERENCIA Definición

Sap abap poo herencia es la capacidad que tiene una clase de heredar los atributos y métodos de otra clase.

La herencia permite crear una nueva clase a partir de una existente, heredando la nueva clase sus propiedades.

Denominaremos Especialización a la relación en donde una clase (la subclase) hereda todas las principales características de otra clase (la superclase).

La subclase puede agregar nuevos componentes (atributos y métodos) y reemplazar las implementaciones con los métodos heredados.

Si invertimos el punto de vista, es decir la superclase hereda las características de las subclase entonces hablaremos de Generalización.

Las principales ventajas de la herencia son:

  • Los componentes comunes solo existen una única vez en la superclase de modo que pueden ser mantenidos centralmente. 
  • Los componentes en las superclases están disponibles también en las subclases, esto evita las implementaciones redundantes. 

SAP ABAP POO POLIMORFISMO Definición

Sap abap poo polimorfismo también se lo conoce como Redefinición, significa que métodos que se llaman exactamente igual pueden comportarse de manera distinta en clases diferentes.

Dicho de otra forma, el polimorfismo consiste en conseguir que un objeto de una clase se comporte como un objeto de cualquiera de sus subclases, dependiendo de la forma de llamar a los métodos de dicha clase o subclases.

Todas las subclases contienen los componentes de todas las clases existentes entre ellas mismas y el nodo raíz del árbol de herencia. La visibilidad de un componente no puede ser nunca cambiada.

En cambio se puede usar la adición REDEFINITION en la sentencia METHODS para redefinir un método público o protegido dependiente de instancia en una subclase y hacer que realice una función más especializada.

Cuando se redefine un método no se puede cambiar su interface, el método mantiene el mismo nombre y la misma interface de parámetros, pero tiene una nueva implementación.

La declaración y la implementación de un método en una superclase no se ven afectadas cuando se redefine un método en una subclase. La implementación de la redefinición en la subclase ‘oculta’ la implementación original en la superclase.

SAP ABAP POO - ENCAPSULACIÓN Definición

Sap abap poo - encapsulación es una propiedad que presentan los objetos que garantiza la integridad de los datos que contiene un objeto.

El usuario de una clase en particular no necesita saber cómo están estructurados los datos dentro de ese objeto, es decir, un usuario no necesita conocer la implementación. Al evitar que el usuario modifique los atributos directamente y forzándolo a utilizar funciones definidas para modificarlos (llamadas interfaces), se garantiza la integridad de los datos (por ejemplo, uno puede asegurarse de que el tipo de datos suministrados cumple con nuestras expectativas bien que los se encuentran dentro del periodo de tiempo esperado).

La encapsulación define los niveles de acceso para elementos de esa clase. Estos niveles de acceso definen los derechos de acceso para los datos, permitiéndonos el acceso a datos a través de un método de esa clase en particular, desde una clase heredada o incluso desde cualquier otra clase. Existen tres niveles de acceso:

  • Público: funciones de toda clase pueden acceder a los datos o métodos de una clase que se define con el nivel de acceso público. Este es el nivel de protección de datos más bajo. 

  • Protegido: el acceso a los datos está restringido a las funciones de clases heredadas, es decir, las funciones miembros de esa clase y todas las subclases. 

  • Privado: el acceso a los datos está restringido a los métodos de esa clase en particular. Este es nivel más alto de protección de datos. 

SAP ABAP POO EVENTOS Definición

Sap abap poo eventos en objetos ABAP hay ciertos métodos que se conocen como disparadores (triggers) y otros que se conocen como manejadores (handlers). Los triggers son los métodos que disparan un evento, mientras que los handlers son los métodos que se ejecutan cuando ocurre un evento.

Para disparar un evento una clase tiene que:

  • Declarar el evento en la parte declarativa.
  • Disparar el evento en uno de sus métodos. 

Los eventos se declaran en la parte declarativa de una clase o en una ((interface)).

Cuando se declara un evento se puede usar la adición EXPORTING para especificar parámetros que se pasan al manejador del evento. Los parámetros se pasan siempre por valor.

Los eventos dependientes de instancia siempre contienen el parámetro implícito SENDER, el cual tiene el tipo de una referencia al tipo o a la interface en la cual el evento es declarado.

Los eventos dependientes de instancia sólo pueden ser desencadenados en un método dependiente de instancia.

Todos los métodos (dependientes de instancia y estáticos) pueden desencadenar eventos estáticos.

Los eventos estáticos son el único tipo de eventos que puede ser desencadenado por un método estático.
SAP ABAP POO INTERFACES Definición

Sap abap poo interfaces las clases, sus instancias (los objetos) y el acceso a los objetos usando variables referenciadas son la base de la programación orientada a objetos en ABAP.

Además, hay veces en las que es necesario para clases similares proporcionar funcionalidades similares pero que están codificadas diferentes en cada clase, las cuales dan un punto de contacto común con el usuario.

Por ejemplo, podríamos tener dos clases similares, Cuenta corriente y Cuenta de ahorro, las cuales tienen un método para calcular las comisiones del año. Las interfaces y nombres de los métodos son los mismos pero la implementación es diferente.

El usuario de las clases y las instancias tiene que ser capaz de ejecutar el método para todas las cuentas sin preocuparse del tipo de cada cuenta individual.

Con objetos ABAP esto es posible mediante el uso de las interfaces.

El ámbito específico de una clase viene definido por sus componentes y sus secciones de visibilidad.

Por ejemplo, los componentes públicos de una clase definen su ámbito público, ya que todos sus atributos y los parámetros de los métodos pueden ser utilizados por todos los usuarios.

Los componentes protegidos de una clase definen su ámbito en lo que se refiere a sus subclases. Las interfaces extienden el ámbito de una clase añadiendo sus propios componentes a la sección pública. Esto permite a los usuarios acceder a diferentes clases por medio de un punto de contacto común.

miércoles, 11 de mayo de 2016

Información sobre ABAP POO Parte 1.

POO Definición 

Poo programación Orientada a Objetos. Es un método de desarrollo de software basado en el comportamiento de los objetos en el mundo real.




ABAP SPOOL Definición.

Abap spool en las empresas se genera una gran cantidad de información que en muchas ocasiones interesa imprimir en papel a través de informes, listados, análisis y en otros casos en donde no es necesaria la impresión en papel, si se desea guardar dicha información en el sistema para poder consultarla nuevamente.


Para cumplir con este requerimiento tan común en el día a día de las empresa, SAP proporciona el El spool, que es un almacén receptor de solicitudes de impresión que proporciona una serie de utilidades para controlar la salida de información. Aunque se asocia directamente spool con imprimir en papel, en SAP las posibilidades son más amplias: podemos enviar una orden de spool por fax, o guardarla en un archivo.

Para acceder al SPOOL en SAP utilizaremos la transacción estándar SP01.

Desde esta transacción accederemos a todas las llamadas “ordenes de spool” es decir los requisitos de impresión generados en el sistema por nuestro usuario de SAP.

En ella nos encontramos inicialmente una pantalla con diferentes criterios de selección.
Aquí podemos elegir las órdenes de spool por varios criterios; los más habituales son el creador de la orden y la fecha. Tras pulsar F8 nos encontramos con un listado de las órdenes seleccionadas. 

ABAP POO EVENTOS Definición


Abap poo eventos dado que los Workflows son procesos de negocio, es vital para una aplicación de negocio poder comunicarse con los Workflows.


Por ejemplo una aplicación de negocio necesita informar:
  • Cuando comienza un proceso de negocio.
  • Cuando termina un proceso de negocio o una actividad dentro del proceso.
  • Cuando una actividad o proceso que ha comenzado ya no se necesita.
  • Cuando dada una circunstancia ha cambiado el ambiente en el cual el proceso se ejecuta. Para poder comunicarse la aplicación de negocio utiliza eventos.
Un evento en Workflow representa el cambio de estado de una instancia de un objeto de negocio (Business Object).



Para usar un evento como interfase entre la aplicación y un Workflow se necesita lo siguiente:

  • Definición del Evento: Es el nombre técnico del evento definido en un tipo de objeto. Se definen como un verbo en pasado (creado, modificado, liberado, etc.).
  • Creador del Evento: Es el programa, Workflow, persona que ha creado el evento.
  • Receptor del Evento: Es el término genérico que se usa para denominar a todo aquello que reaccionará ante el evento. Normalmente son Workflows o tareas de espera.
  • Linkage del Evento: El linkage especifica la relación entre el evento y su receptor. Se pueden a su vez especificar las reglas que gobiernan esta relación. Las reglas determinan cuando y como el receptor recibirá el evento.
ABAP POO CREACIÓN DE OBJETOS Definición



Abap poo creación de objetos los Objetos son instancias de las clases.


Cada objeto tiene una identidad propia y tiene sus propios atributos. Todos los objetos transitorios residen en el contexto de una sesión interna (área de memoria de un programa ABAP).

Una clase puede tener un número indefinido de instancias.

Un objeto existe mientras se esté usando en el programa, lo que quiere decir que existe siempre que al menos una referencia apunte hacia él, o al menos un método del objeto esté registrado como método manejador de eventos.

Las referencias a objetos son punteros a los objetos ABAP.

Las referencias a objeto se usan para acceder a un objeto desde un programa ABAP. En ABAP los objetos están siempre contenidos en variables referenciadas.

Las variables referenciadas o bien contienen el valor inicial o bien contienen la referencia a un objeto ya existente. La identidad de un objeto depende de su referencia. Una variable referenciada que apunta a un objeto es la que conoce la identidad del objeto. Los usuarios no pueden acceder a la identidad del objeto directamente.

MODULE POOL Definición


Module pool tipo de programa ABAP que está formado por una serie de dynpros o pantallas por las que el usuario interactua mientras navega por la aplicación. Cada dynpro tiene una lógica de procesamiento que está especificada en módulos.


ORDEN DE SPOOL Definición

Orden de spool es un número único existente en SAP que identifica una impresión en el sistema.


POOL Definición


Pool refiere a un juego de datos que puede ser utilizable para tratamientos de forma más rápida y sencilla.


SPOOL Definición



Spool es un almacén receptor de solicitudes de impresión que proporciona una serie de utilidades para controlar la salida de la información.


SAP GESTIÓN DEL SPOOL Definición

Sap gestión del spool en cualquier entorno de gestión empresarial se produce una gran cantidad de información que en muchas ocasiones interesa pasar a papel a través de informes, listados, análisis.

El Spool es un almacén receptor de solicitudes de impresión que proporciona una serie de utilidades para controlar la salida de información.

Aunque se asocia directamente spool con imprimir en papel, en SAP las posibilidades son más amplias: podemos enviar una orden de spool por fax, o imprimirla en un archivo.

Para poder administrar todas las peticiones de spool que hacemos SAP provee de la transacción SP01. En ella nos encontramos inicialmente una pantalla con diferentes criterios de selección.

Aquí podemos elegir las órdenes de spool por varios criterios; los más habituales son el creador de la orden y la fecha. Tras pulsar F8 nos encontramos con un listado de las órdenes seleccionadas. Este listado tiene la misma característica que el de la transacción de gestión de jobs; es un programa de selección, listado y gestión simultáneamente.

Las operaciones que podemos hacer sobre una orden de spool incluyen la creación de órdenes de salida, el cambio de los atributos, el borrado de la orden o la visualización de su contenido.

viernes, 6 de mayo de 2016

VIDEO:¿Existe la madre perfecta? conmovedor y excelente!!!

¿Existe la madre perfecta? o mejor la cambiamos por otra.... Vídeo conmovedor y excelente!!!


forex, forex trading, mba, insurance, course, abap, sap abap, hosting, dominio

¿Que opinan de este vídeo? comenten por favor.

jueves, 28 de abril de 2016

¿Cómo crear una tabla de SAP?

Buen día a todos, en este tema les hablare sobre Cómo crear una tabla de SAP?. Copiare unas imagenes de internet, ya que de momento no tengo acceso al sistema.

 
Cada tabla tiene un nombre único y consiste en filas y columnas. El número de columnas de una tabla es fija, sino que puede tener cualquier número de filas.


forex, forex trading, mba, insurance, course, abap, sap abap, hosting, dominio
Diccionario ABAP se encarga de la parte DDL de SQL en SAP. Ir al diccionario ABAP (SE11) para crear una tabla SAP. Introduce el nombre de la tabla a ser creada y pulse enter.




Introduzca una breve descripción adecuada de la tabla y mantener la clase de entrega como "A" (Tabla de Aplicaciones). A continuación, pulse en la pestaña Campos para mantener los campos de la tabla.
Introduzca los campos de la tabla y mantener los elementos de datos apropiados para los campos de la tabla. Puede utilizar los elementos de datos estándar o puede crear sus propios elementos de datos.


Mantener la clave principal y pulse Guardar. Para mantener los atributos técnicos de la tabla como espacio de tabla, tamaño, etc., pulse el botón atribuye el técnico en la barra de herramientas de la aplicación.
 Introduzca la clase de datos, categoría de tamaño y guardar.
A continuación, pulse de nuevo, guardar y activar la tabla.
Recuerden dejar sus comentarios, con ello ayudan a mejorar el blog.

Technology

Publicidad