Autor Tema: Estructura de un programa ABAP IV  (Leído 16134 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado joancarles

  • Novato
  • *
  • Mensajes: 5
    • Ver Perfil
Estructura de un programa ABAP IV
« en: 25 de Octubre de 2007, 03:57:59 pm »
Hola a todos, nos estamos iniciando en el mundillo de ABAP IV, y queria si pudiera ser posbile que alguien me ayudara.

Venimos del numdo de la programacion desde un AS400 (RPG IV), y me gustaria saber si es posible, al igual que este lenguaje es muy estructurado, y me han comentado que ABAP IV, también lo es, como se estructura un programa de ABAP.

Es decir si primero se definen las bases de datos, validaciones de pantalla, como se muestra una pantalla etc etc.


Muchisimas gracias de antemano.

Desconectado Nuria

  • Usuario Completo
  • ***
  • Mensajes: 90
    • Ver Perfil
Re: Estructura de un programa ABAP IV
« Respuesta #1 en: 25 de Octubre de 2007, 04:44:19 pm »
Hola,

Este es un ejemplo muy muy muy... básico de como se estructura un programa, aunque se puede hacer de mil maneras distintas.


REPORT <nombre>.      "Nomre del programa.

TABLES:               "Definición de las tablas

DATA:                 "Definición de variables

TOP-OF-PAGE.          "Inicio de la cabecera del programa.
    <Sentencias>
END-OF-PAGE.          "Fin de la cabecera
    <Sentencias>

START-OF-SELECTION.   "Inicio del programa.
    <Sentencias>

END-OF-SELECTION.     "Fin del programa.
    <Sentencias>


Y un mini programa de ejemplo...

Código: [Seleccionar]

REPORT zztr003.
TABLES: lfa1.

* Pantalla de Selección.
PARAMETERS: c1 LIKE lfa1-lifnr.

* Inicio del programa
START-OF-SELECTION.

  SELECT SINGLE * FROM lfa1
             WHERE lifnr EQ c1.
END-OF-SELECTION.

  WRITE: lfa1-lifnr, lfa1-name1.

INITIALIZATION.
  c1 = '1001'.


Desconectado joancarles

  • Novato
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Estructura de un programa ABAP IV
« Respuesta #2 en: 25 de Octubre de 2007, 04:50:25 pm »
Muchas gracias Nuria, tan sólo en el ejemplo que me has pasado el write

WRITE: lfa1-lifnr, lfa1-name1.


corresponde a un listado o a un formato de pantalla.

Gracias


Desconectado Nuria

  • Usuario Completo
  • ***
  • Mensajes: 90
    • Ver Perfil
Re: Estructura de un programa ABAP IV
« Respuesta #3 en: 25 de Octubre de 2007, 05:03:00 pm »
El ejemplo de tabla a la que accedemos LFA1 se corresponde al maestro de proveedores.

Y lo que se esta pintando en pantalla es el código de proovedor y su nombre.

El WRITE corresponde al listado que pintamos.   :)



Desconectado Carlos

  • Usuario Sr.
  • ****
  • Mensajes: 176
    • Ver Perfil
Re: Estructura de un programa ABAP IV
« Respuesta #4 en: 25 de Octubre de 2007, 05:45:47 pm »
En SAP hay muchos ejemplos sencillos de programas.

Solo hay que poner en la SE38 --> DEMO* y dar a  'F4'.

Lo que no sé, es si estos programas existen en la versión del minisap.  :-\

Este puede ser uno de ellos...

Código: [Seleccionar]
REPORT demo_list_standard.

TABLES spfli.

SKIP.
ULINE AT /(62).

SELECT * FROM spfli WHERE connid GE 0017
                      AND connid LE 0400.
  WRITE: / sy-vline, spfli-connid, sy-vline,
         (15) spfli-cityfrom, 26 sy-vline,
         31 spfli-cityto, 51 sy-vline, 62 sy-vline,
         / sy-vline, 8 sy-vline,
         spfli-deptime UNDER spfli-cityfrom, 26 sy-vline,
         spfli-arrtime UNDER spfli-cityto,   51 sy-vline,
         spfli-fltime, 62 sy-vline.
  ULINE AT /(62).
ENDSELECT.

WRITE: /10 'SAP *** SAP *** SAP *** SAP *** SAP *** SAP',
         /19(43) 'Flight Information System',
         /19(43) 'International Connections'.

Desconectado joancarles

  • Novato
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Estructura de un programa ABAP IV
« Respuesta #5 en: 25 de Octubre de 2007, 05:50:48 pm »
INITIALIZATION.
  c1 = '1001'.

Que significa esto

Desconectado Nuria

  • Usuario Completo
  • ***
  • Mensajes: 90
    • Ver Perfil
Re: Estructura de un programa ABAP IV
« Respuesta #6 en: 25 de Octubre de 2007, 08:38:57 pm »
El INITIALIZATION es lo primero que se ejecuta y le estamos pasando a la variable 1 el proveedor 1001.


Desconectado molaci

  • Usuario Sr.
  • ****
  • Mensajes: 113
    • Ver Perfil
Re: Estructura de un programa ABAP IV
« Respuesta #7 en: 27 de Noviembre de 2007, 01:43:40 pm »
Una forma que me han pasado para estructurar un programa.

Código: [Seleccionar]
************************************************************************
* REPORT ZREPORT_001
*
* Descripción: Seguimiento de …
*
* MODULO AL QUE PERTENECE: Gestión de …
*-----------------------------------------------------------------------
*
*  AUTOR:             EMPRESA:           FECHA: 01/01/2007
*
*-----------------------------------------------------------------------
* CONTROL DE MODIFICACIONES
* AUTOR         EMPRESA     FECHA       MOTIVO
* ..........    .........   DD/MM/AA    ................................
*
************************************************************************
REPORT  ZREPORT_001.

************************************************************************
* Definición de tablas del sistema
************************************************************************


************************************************************************
* Definición de Includes
************************************************************************

************************************************************************
* Definición de constantes
************************************************************************

************************************************************************
* Definición de variables
************************************************************************

************************************************************************
* Definición de estructuras
************************************************************************

************************************************************************
* Definición de tablas internas
************************************************************************

************************************************************************
* Definición de rangos
************************************************************************

************************************************************************
* Declaración de Field symbols
************************************************************************

************************************************************************
* Declaración de Field groups
************************************************************************
************************************************************************
* Definición de pantalla de selección
************************************************************************


************************************************************************
*
*                  LOGICA DEL PROGRAMA
*
************************************************************************
************************************************************************
* Definición de inicializaciones
************************************************************************
INITIALIZATION.

************************************************************************
* Proceso principal
************************************************************************
START-OF-SELECTION.

************************************************************************
* Acciones de final de proceso
************************************************************************
END-OF-SELECTION.

************************************************************************
* Definición de cabeceras del listado
************************************************************************
TOP-OF-PAGE.

************************************************************************
* Acciones previas a mostrar la pantalla
************************************************************************
AT SELECTION-SCREEN OUTPUT.

************************************************************************
* Acciones en la pantalla de selección
************************************************************************
AT SELECTION-SCREEN.

************************************************************************
* Acciones cuando se selecciona una linea (double click)
************************************************************************
AT LINE-SELECTION.

************************************************************************
* Acciones dependientes de usuario
************************************************************************
AT USER-COMMAND.

************************************************************************
* Acciones dependientes de las teclas de función
************************************************************************
AT PFN.

************************************************************************
*
*                  SUBRUTINAS
*
************************************************************************