Está en la página 1de 73

CONTINUACION REPORTES ABAP/4

ABAP/4 DEVELOPMENT WORKBENCH


Creando programas ABAP/4 Editor ABAP/4 Sintaxis Estatuto Select Estatuto Write

ABAP/4
Programacin en dilogo

Archivos secuenciales Reportes

ABAP/4

Batch Input

Creando programas
Especificar atributos: Clase de desarrollo ($TMP, ZGTO)

Aplicacin (inventarios, finanzas)


Tipo (Module pool, report) Nombre del nuevo programa

Editor ABAP/4 - Diferentes modos

Modo comando

PC Mode con numeracin de lneas

PC Mode sin numeracin de lneas

Sintaxis ABAP/4
DATA CONTADOR TYPE I. DATA NOMBRE(20). MOVE 2 TO CONTADOR. MOVE ABC TO NOMBRE. . . .

WRITE NOMBRE. WRITE CONTADOR.

Encadenamientos de estatutos
WRITE XYZ. WRITE NOMBRE. WRITE CONTADOR. WRITE: XYZ, NOMBRE, CONTADOR.

Comentarios
DATA: TOTAL TYPE P, CONTADOR TYPE P. * Limpia la variable total. CLEAR TOTAL. Totales por campo

Estatuto Select
Descripcin de la tabla en el Diccionario de datos Tabla SBOOK
CARRID MXC CONNID 7475 FLDATE 24/12/99 BOOKID 56845698
SBOOK-CARRID SBOOK-CONNID SBOOK-FLDATE SBOOK-BOOKID CHAR NUM DATE NUMC C N D N 3 4 8 8

REPORT ZPRUEBA. TABLES SBOOK.


SELECT * FROM SBOOK. WRITE: / SBOOK-CARRID, SBOOK-CONNID, SBOOK-FLDATE. ENDSELECT.

Select & Where & Write


REPORT ZPRUEBA. TABLES SBOOK.
WRITE: / ****************************************. WRITE: / FECHA: , SY-DATUM. WRITE: / ****************************************. SELECT * FROM SBOOK WHERE CARRID = MXC. WRITE: / SBOOK-CARRID, SBOOK-CONNID. ENDSELECT. PRUEBA 1

*********************************** FECHA: 24.12.1999 *********************************** MXC 7475

Formato
REPORT ZPRUEBA. WRITE: / 5 **************************************. WRITE: / 5 FECHA: , 40 SY-DATUM, / 5 HORA: , 40 SY-UZEIT, / 5 **************************************. ULINE / 5 ( 50 ). SKIP 2. ULINE. PRUEBA *********************************************** FECHA: 21.12.1999 HORA: 16:30:33 ********************************************** ______________________________________________ _____________________________________________________ 1

Columna 5

Columna 40

Preguntas de revisin (Development Workbench)


Qu significa ABAP?

Cules son los atributos que se deben de especificar al crear un programa ABAP?
Para qu se utiliza el estatuto SELECT? Cmo se puede filtrar la seleccin de datos en un programa ABAP?

DICCIONARIO ABAP/4
Relacin entre programas ABAP/4 y el Diccionario de Datos
Objetos bsicos del Diccionario de Datos Tablas Transparentes Estructuras

Integracin con el Workbench

ABAP/4

DATA MODELER

SCREEN PAINTER

ABAP/4 Dictionary

ABAP/4 INTERPRETER

DIALOG CONTROL

INTERFACE PROGRAM

SCREEN INTERPRETER

Objetos bsicos del Diccionario


TABLE Data element Domain

campo

Tabla SBOOK PRECIO_ACT

Tabla SFLIGHT

PRECIO

Data element PRECIO_ACTUAL Mismo dominio

Data element S_PRECIO

Domain S_PRECIO

Tablas Transparentes
DICCIONARIO ABAP/4 Definicin lgica de la tabla
Campo1 Campo2 Campo3 Campo4

BASE DE DATOS Definicin fsica de la tabla


Campo1 Campo2 Campo3 Campo4

Tablas que se encuentran en SAP

Estructuras
ABAP/4 Diccionario Definicin lgica de la tabla

Campo1 Campo2 Campo3 Campo4

Para realizar clculos y transferir datos entre programas.

Preguntas de revisin (Diccionario de Datos)

Qu es el Diccionario de Datos?

Cules son los objetos bsicos del diccionario de datos?


Qu es una tabla transparente?

Qu es una estructura?

TIPOS DE DATOS Y ESTATUTOS DE CONTROL


Declaracin de Datos y Tipos de Datos Declaracin de Datos con atributos similares

Asignacin de valores
Expresiones aritmticas Operaciones con string Declaracin de Parmetros Estatutos de Control

Tipos de Datos y sus Atributos


Tipo de dato P I F N C D T X Significado Packed number Integer Floating point no. Numeric text Text Date (YYYYMMDD) Time (HHMMSS) Hexadecimal Valor inicial 0 0 0.000 00 Blank 00000000 000000 X00

Declaracin
TYPES: NOMBRES LIKE SCUSTOM-NAME. DATA: NOMBRE1 TYPE NOMBRES, SUMA(5) TYPE P DECIMALS 2, FECHA TYPE D.

Declarando datos con atributos similares


TYPES: NOMBRE_TIPO1 LIKE SCUSTOM-NAME. DATA: NOMBRE1 TYPE NOMBRE_TIPO1, NOMBRE2 LIKE NOMBRE1, PRIMER_LINEA TYPE I, SIGUIENTE_LINEA TYPE I,

Asignacin de valores
MOVE SAP TO NOMBRE1. MOVE 1 TO PRIMER_LINEA. NOMBRE2 = NOMBRE1. COMPUTE SIGUIENTE_LINEA = PRIMER_LINEA + 1. ADD 1 TO SIGUIENTE_LINEA.

Expresiones aritmticas
PROGRAM ZEJERCICIO. DATA: CONTADOR TYPE I, CANTIDAD TYPE P VALUE 1000, SUMA TYPE P, RESULTADO TYPE P, NUMERO TYPE I VALUE 10, RAIZ_CUADRADA TYPE F. COMPUTE: CONTADOR = CONTADOR + 2, RESULTADO = CANTIDAD * CONTADOR. SUMA = RESULTADO + NUMERO - CONTADOR. RAIZ_CUADRADA = SQRT( NUMERO + CONTADOR ).

Subcampos
DATA: FECHA LIKE SY-DATUM, MES(2) TYPE C, DIA(2) TYPE C, ANIO(4) TYPE C.

DIA = FECHA(2). MES = FECHA+ 2(2). ANIO = FECHA+4(4).

Operaciones con String


CONCATENATE FI F2 F3 INTO G.

F1

F2

F3

SPLIT G AT SPACE INTO F1 F2 F3

F1

F2

F3

Declaracin de Parmetros
PARAMETERS: PARAMETRO1 TYPE P, PARAMETRO2 DEFAULT X. MOVE PARAMETRO1 TO .. WRITE: PARAMETRO1, PARAMETRO2.

PARAMETRO1 ____ PARAMETRO2 X

Selection Screen

Estatutos de Control

Operadores Relacionales

IF

ENDIF

CASE ENDCASE

CHECK
EXIT

DO

ENDDO

WHILE ENDWHILE

Operador EQ = NE <> >< GT > GE >= => LT < LE <= =< BETWEEN IS INITIAL

Significado Igual Diferente Mayor que Mayor que o igual Menor que Menor que o igual Rangos Valor inicial

Estatuto IF
IF <expresin lgica>. ----------------------ENDIF. IF <expresin lgica>. -----------ELSE. -----------ENDIF.

IF <expresin lgica>. -----------ELSEIF <expresin lgica>. ------------ELSE. -----------ENDIF.

Estatuto CASE
CASE <campo> WHEN <valor1>. --------------------------------WHEN <valor2>. ---------------------------------

WHEN <valor3>. --------------------------------WHEN OTHERS. ----------------ENDCASE.

Ciclo DO

DO <n> TIMES. -------------------------------

ENDDO.

DO. ---------------IF EXIT. ENDIF. ENDDO.

SY-INDEX

Index del ciclo

Ciclo WHILE

WHILE <expresin lgica>. --------------------------------ENDWHILE.

Salida del ciclo

Estatuto CHECK
CHECK <expresin lgica>.

CHECK DENTRO DE UN LOOP WHILE CONTADOR GT 0. ----------------------------CHECK BANDERA NE SPACE. ENDWHILE.

CHECK FUERA DE UN LOOP

--------------CHECK <condicin>. ---------------------------

Estatuto EXIT
EXIT.

EXIT DENTRO DE UN LOOP DO.

IF CONTADOR GE 100. EXIT. ENDIF. ENDDO.

EXIT FUERA DE UN LOOP

--------------IF <condicin>. EXIT. ENDIF.

Preguntas de revisin (Estatutos de control)


En un programa ABAP existen varias formas de asignar valor a una variable, mencione algunas. Cmo funcionan los comandos Concatenate y Split?

Cuntos y cules son los estatutos de control?

TABLAS INTERNAS
Campo String Tabla Interna Procesamiento de Tablas Internas con lnea de encabezado Procesamiento de Tablas Internas sin lnea de encabezado

Definicin de Tabla Interna

Una tabla interna es un conjunto de registros que poseen la misma estructura.

A diferencia de las tablas transparentes, las tablas internas slo existen durante la ejecucin del programa en donde fueron declaradas.
campo1 campo2 campo3 campo4 campo5

c c c

i i i

d d d

p p p

c c c

Campos String & Tablas Internas


Campo String
DATOS DE VUELO

Carrier Connection date Price

Tabla Interna
LISTA DE VUELOS

Carrier Connection date Price

Header Line

Declarando Campos String


DATA: BEGIN OF <nombre>, END OF <nombre>.
REPORT ZPRUEBA. DATA: BEGIN OF INFO_VUELO, CARRID LIKE SFLIGHT-CARRID, FLDATE LIKE SFLIGHT-FLDATE, PRICE LIKE SFLIGHT-PRICE, END OF INFO_VUELO.

MOVE LH TO INFO_VUELO-CARRID. MOVE 03121999 TO INFO_VUELO-FLDATE.

WRITE: / INFO_VUELO-CARRID, INFO_VUELO-FLDATE.

Transfiriendo valores campo por campo


MOVE-CORRESPONDING <estructura1> TO <estructura2>. REPORT ZEJERCICIO. TABLES: SFLIGHT. DATA: BEGIN OF INFO_VUELO, CARRID LIKE SFLIGHT-CARRID, FLDATE LIKE SFLIGHT-FLDATE, PRICE LIKE SFLIGHT-PRICE, END OF INFO_VUELO. SELECT * FROM SFLIGHT WHERE . MOVE-CORRESPONDING SFLIGTH TO INFO_VUELO. ENDSELECT.

SFLIGHT

CARRID CONNID LH 2407

FLDATE 29111999

MOVE-CORRESPONDING SFLIGTH TO INFO_VUELO

CARRID FLDATE LH 29111999

PRICE

INFO_VUELO

Tablas Internas con Lnea de Encabezado


DATA: BEGIN OF <nombre> OCCURS <n>, END OF <nombre>. REPORT ZPRUEBA. DATA: BEGIN OF LISTA_VUELOS OCCURS 5, CARRID LIKE SFLIGHT-CARRID, FLDATE LIKE SFLIGHT-FLDATE, PRICE LIKE SFLIGHT-PRICE, END OF LISTA_VUELOS. LISTA_VUELOS
CARRID FLDATE
Header Line

PRICE

Estructuras del Diccionario ABAP/4


INCLUDE STRUCTURE <itab> REPORT ZPRUEBA. TABLES: SFLIGHT. DATA: BEGIN OF tabla OCCURS 5, INCLUDE STRUCTURE sflight. DATA: END OF tabla. Estructura de la tabla SFLIGHT

SFLIGHT-MANDT SFLIGHT-CARRID SFLIGHT-CONNID SFLIGHT-FLDATE

CLNT CHAR NUMC DATS

C C N D

3 3 4 8

Llenando Tablas Internas (Con lnea de


encabezado)
APPEND <itab>.
APPEND INFO_VUELO.

APPEND <itab> SORTED BY <field>.


APPEND INFO_VUELO SORTED BY PRICE.

CARRID

CONNID

PRICE

CARRID

CONNID

PRICE

CC
AA AA DL LH LH UA

4521
64 64 1975 400 425 589

7500
12300 3450 6721 10000 5600 4856

CC

4521

7500

AA AA DL LH LH UA

64 64 1975 400 425 589

12300 10000 6721 5600 4856 3450

Llenando Tablas Internas (Con lnea de


encabezado)
REPORT ZLLENAR_TABLA. TABLES: SFLIGHT. DATA: BEGIN OF LISTA_VUELO OCCURS 10, CARRID LIKE SFLIGHT-CARRID, CONNID LIKE SFLIGHT-CONNID, PRICE LIKE SFLIGHT-PRICE, END OF LISTA_VUELO. SELECT * FROM SFLIGHT. MOVE-CORRESPONDING SFLIGHT TO LISTA_VUELO. APPEND LISTA_VUELO. ENDSELECT.

O R D E N A R

APPEND LISTA_VUELO SORTED BY PRICE.

Sumarizando datos de una Tabla Interna


COLLECT <itab>.
Type P

CARRID PRICE LH 100 AA 322 DL 456 LH 150

REPORT SUMA. TABLES: SFLIGHT. DATA: BEGIN OF LISTA_VUELO OCCURS 10, CARRID LIKE SFLIGHT-CARRID, CONNID LIKE SFLIGHT-CONNID, PRICE LIKE SFLIGHT-PRICE, 250 END OF LISTA_VUELO.

SELECT * FROM SFLIGHT. MOVE-CORRESPONDING SFLIGHT TO LISTA_VUELO. COLLECT LISTA_VUELO. ENDSELECT.

Ordenando Tablas Internas


SORT <itab> BY <campo1> <campo2>.
REPORT ZSUMA. TABLES: SFLIGHT. DATA: BEGIN OF LISTA_VUELO OCCURS 10, CARRID LIKE SFLIGHT-CARRID, CONNID LIKE SFLIGHT-CONNID, PRICE LIKE SFLIGHT-PRICE, FLDATE LIKE SFLIGHT-FLDATE, END OF LISTA_VUELO.

SELECT * FROM SFLIGHT. MOVE-CORRESPONDING SFLIGHT TO LISTA_VUELO. APPEND LISTA_VUELO. ENDSELECT.


SORT LISTA_VUELO. SORT LISTA_VUELO BY PRICE FLDATE. SORT LISTA_VUELO BY PRICE ASCENDING FLDATE DESCENDING.

Procesando Tablas Internas


LOOP AT <itab> ENDLOOP.

SELECT * FROM SFLIGHT. MOVE-CORRESPONDING SFLIGHT TO LISTA_VUELO. APPEND LISTA_VUELO. ENDSELECT. LOOP AT LISTA_VUELO. WRITE: / LISTA_VUELO-CARRID, LISTA_VUELO-CONNID ENDLOOP. LOOP AT LISTA_VUELO WHERE CARRID = LH. WRITE: / LISTA_VUELO-CARRID, LISTA_VUELO-CONNID ENDLOOP. IF SY-SUBRC NE 0. ------------ENDIF.

Leyendo registros de una Tabla Interna


READ TABLE <itab> WITH KEY ..

DATA:

BEGIN OF LISTA_VUELO OCCURS 10, --------------, END OF LISTA_VUELO, INDICE TYPE I.

SELECT * FROM SFLIGHT. MOVE-CORRESPONDING SFLIGHT TO LISTA_VUELO. APPEND LISTA_VUELO. ENDSELECT. READ TABLE LISTA_VUELO WITH KEY LH 0400. READ TABLE LISTA_VUELO INDEX INDICE.

Modificando Tablas Internas


INSERT <itab>INDEX <i>. MODIFY <itab> INDEX <i>. DELETE <itab> INDEX <i>.

DATA:

BEGIN OF LISTA_VUELO OCCURS 10, --------------, END OF LISTA_VUELO, INDICE TYPE I.

READ TABLE LISTA_VUELO WITH KEY LH 0400. MOVE 122.5 TO INFO_VEULO-PRICE. MODIFY INFO_VUELO INDEX SY-TABIX. INSERT INFO_VUELO INDEX 1.

DELETE INFO_VUELO INDEX 1.

Limpiando Tablas Internas


CLEAR <itab>.
Limpia la Lnea de Encabezado

REFRESH <itab>.
Borra todos los registros El espacio en memoria permanece

FREE <itab>.
Borra todos los registros El espacio en memoria es liberado

Obteniendo informacin de Tablas Internas


DESCRIBE TABLE <itab>.

DATA:

BEGIN OF LISTA_VUELO OCCURS 10, --------------, END OF LISTA_VUELO, LINE_COUNT TYPE I, OCCURS_COUNT TYPE I.

DESCRIBE TABLE INFO_VUELO LINES LINE_COUNT OCCURS OCCURS_COUNT.

No. de registros actuales No. max. de registros

Declarando Tablas Internas sin Lnea de Encabezado


DATA: <itab> TYPE <type< OCCURS <n>.

REPORT ZEJERCICIO. TYPES: BEGIN OF TIPO_VUELO, CARRID LIKE SFLIGHT-CARRID, FLDATE LIKE SFLIGHT-FLDATE, PRICE LIKE SFLIGHT-PRICE, END OF TIPO_VUELO. DATA: LISTA_VUELO TYPE TIPO_VUELO OCCURS 4.
CARRID CONNID FLDATE PRICE

Llenado Tablas Internas sin Lnea de Encabezado.


APPEND <wa> TO <itab>.
APPEND LISTA_WA TO LISTA_VUELO.

CARRID

CONNID

PRICE

AA
AA AA DL LH LH UA

64
64 64 1975 400 425 589

8900
12300 3450 6721 10000 5600 4856

WORK AREA

Leyendo Tablas Internas sin Lnea de Encabezado.

READ TABLE <itab> INTO <wa> WITH KEY

LOOP AT <itab> INTO <wa> ENDLOOP.

Preguntas de revisin (Tablas internas)


Qu es una tabla interna y cul es la principal diferencia con una tabla transparente? Qu es el Header Line o lnea de encabezado?

Cmo se declara una tabla interna?


Para qu se utiliza el estatuto Move-corresponding y cul es la diferencia con el estatuto Append? Para qu se utiliza el estatuto LOOP? Explica las diferencias entre los estatutos CLEAR, REFRESH y FREE.

ABAP/4 OPEN SQL


Acceso individual

Seleccin sin restricciones


Seleccin con restricciones Leyendo columnas individuales

Funciones agregadas
Leyendo componente por componente Seleccin con Rango

Seleccin con Template


Seleccin con Lista Seleccin con operador IN

Acceso individual
Obtener registro

Conocer llave

SELECT SINGLE * FROM SPFLI WHERE CARRID EQ LH AND CONNID EQ 0400. IF SY-SUBRC = 0. WRITE: / SPFLI-CARRID, SPFLI-CONNID, SPFLI-CITYFROM, SPFLI-CITYTO. ENDIF.

Seleccin sin restricciones

SELECT * FROM SPFLI. WRITE: / SPFLI-CARRID, SPFLI-CONNID, SPFLI-CITYFROM, SPFLI-CITYTO. ENDSELECT.

Seleccin con restricciones

SELECT * FROM SPFLI WHERE CITYFROM EQ MEXICO. WRITE: / SPFLI-CARRID, SPFLI-CONNID, SPFLI-CITYFROM. ENDSELECT.
Operador EQ = NE <> >< GT > GE >= => LT < LE <= =< BETWEEN IS INITIAL Significado Igual Diferente Mayor que Mayor que o igual Menor que Menor que o igual Rangos Valor inicial

Leyendo columnas individuales

DATA: ZDEST LIKE SPFLI-CITYTO, ZORIGEN LIKE SPFLI-CITYFROM. SELECT CITYTO CITYFROM INTO ( ZDEST, ZORIGEN ) FROM SPFLI WHERE CARRID = LH. WRITE: / ZDEST, ZORIGEN. ENDSELECT.

Leyendo columnas individuales Funciones Agregadas


MAX( DISTANCE ). Cantidad mxima encontrada en la tabla Cantidad mnima encontrada en la tabla Cantidad total de registros en la tabla

MIN( DISTANCE ).

COUNT( * ).

Leyendo Componente por Componente


SELECT INTO CORRESPONDING FIELDS OF <wa>. SELECT INTO CORRESPONDING FIELDS OF TABLE <wa>. SELECT APPENDING INTO CORRESPONDING FIELDS OF TABLE <wa>.
TABLES: SPFLI. DATA: BEGIN OF TABLA OCCURS 10, ORIGEN LIKE SPFLI-CITYFROM, DESTINO LIKE SPFLI-CITYTO, END OF TABLA. SELECT * FROM SPFLI INTO CORRESPONDING FIELDS OF TABLE TABLA. LOOP AT TABLA. WRITE: /10 TABLA-ORIGEN, TABLA-DESTINO. ENDLOOP.

Seleccin con Rangos


SELECT * FROM SFLIGHT WHERE SEATSMAX BETWEEN 100 AND 900. WRITE: / SFLIGHT-CARRID, SFLIGHT-CONNID, SFLIGHT-SEATSMAX. ENDSELECT.

Seleccin con Template


SELECT * FROM SFLIGHT WHERE CITYFROM LIKE _R%. WRITE: / SFLIGHT-CARRID, SFLIGHT-CONNID, SFLIGHT-CITYFROM. ENDSELECT.

Seleccin con Lista


SELECT * FROM SFLIGHT WHERE PRICE IN ( 123, 1000 ). WRITE: / SFLIGHT-CARRID, SFLIGHT-CONNID, SFLIGHT-PRICE. ENDSELECT.

Seleccin con Operador IN


SELECT * FROM SFLIGHT WHERE PRICE IN ITAB. WRITE: / SFLIGHT-CARRID, SFLIGHT-CONNID, SFLIGHT-PRICE. ENDSELECT.

Preguntas de revisin (ABAP Open SQL)


Clasifica las siguientes selecciones: 1) Select * from tabla. 2) Select single * from tabla where id = llave. 3) Select * from tabla where id = llave. 4) Select campo1 campo2 into (var1, var2) from tabla where id = llave. En las selecciones para qu se utiliza el - between - like - in?

VERIFICACIN DE AUTORIZACIN
Autorizacin
Principios de Autorizacin Verificacin de autorizacin en programas

Sintaxis de Authority-Check

Autorizacin

Todos los datos en el Sistema R/3 deben de ser protegidos contra accesos no autorizados.

Mediante los objetos de autorizacin es posible determinar explcitamente qu datos puede un usuario accesar y qu tipo de acceso es posible.

Principios de Autorizacin
Seleccin

SELECT

Authority Check

User master records

SY-SUBRC =0

NO

SI

Mensaje

SELECT

Verificacin de Autorizacin en Programas


REPORT ZAUTORIZA. ----------------------------CHECK AUTHORITY-CHECK OBJECT S_CARRID ID CARRID FIELD LH ID ACTVT FIELD 02. IF SY-SUBRC NE 0. --------ENDIF.
RESULT

OBJECT S_CARRID
ACTVT

03 02 01

CARRID

AA DA DL LH UA

Sintaxis de Authority-Check
AUTHORITY-CHECK OBJECT <objeto> ID <campo1> FIELD <valor requerido> ID <campo2> FIELD <valor requerido> ID <campo3> FIELD <valor requerido> --------ID <campoN> DUMMY. IF SY-SUBRC NE 0. -----ENDIF.

Preguntas de revisin (Autorizacin)

Para qu se utiliza el estatuto AUTHORITY-CHECK ?


Qu se debe de especificar al realizar una verificacin de autorizacin? Qu efectos provoca el estatuto Dummy en un chequeo de autorizacin?

MODULARIZACIN
Modularizacin Definicin y llamadas a Subrutinas Datos Globales y Locales Call Function

Definicin de Modularidad

Dividir lgicamente el programa en pequeas unidades o mdulos independientes cuya funcionalidad sea nica y precisa. La modularidad facilita la comprensin y lectura de un programa.

Modularizacin
CALL: CALCULA_PERDIDA

Subrutina Interna: CALCULA_PERDIDA

PROGRAM ZRSAAA1. -----------CALL CALCULA_PERDIDA.

PROGRAM ZRSAAA2. Subrutina externa: Calcula prdida

PROGRAM ZRSCCC2. -----------CALL CALCULA_PERDIDA.

ABAP/4 FUNCTION LIBRARY.


Mdulo de funciones:: Calcula prdida

Definicin y llamadas a Subrutinas


REPORT ZEJERCICIO. * Datos globales TABLES: ----DATA: ----* Llamadas a subrutinas PERFORM calcula_perdida. PERFORM escribe_perdida.
* Subrutinas FORM calcula_perdida. -----------------------ENDFORM. FORM escirbe_perdida. ----------------------ENDFORM.
Llamada a Subrutina

PERFORM

FORM
Declaracin de Subrutina

Datos Globales y Locales


REPORT ZEJERCICIO. * Datos globales TABLES: ----DATA: -----

* Subrutinas FORM calcula_perdida. DATA: ----> datos locales -----------ENDFORM.


FORM escribe_perdida. DATA: -----> datos locales -----------ENDFORM.

Call Function
REPORT ZEJERCICIO. TABLES: ----DATA: -----

CALL FUNCTION --------- EXPORTING f1 = a1 IMPORTING f2 = a2 CHANGING f3 = a3 TABLES f4 = a4 EXCEPTIONS not_found = 01.
CASE SY-SUBRC. WHEN 01. -----ENDCASE.

Preguntas de revisin (Modularidad)

De qu forma se puede hacer modular un programa en ABAP ?

Para qu se utiliza el estatuto FORM y PERFORM?


Cul es la diferencia esencial entre un dato declarado localmente y uno declarado globalmente?

También podría gustarte