Você está na página 1de 5

Clase 001 declaracin de datos

REPORT ZCLASE_01.

DATA: Numero1(100) Type I VALUE 500,


Numero2 Type I VALUE 100,
Resultado Type I,
Texto1(20) TYPE C VALUE 'El Resultado'.
Resultado = Numero1 + Numero2.
WRITE: Texto1,Resultado.

data: numerox TYPE I value 3,


numeroy TYPE I value 5,
result TYPE i.
result = numerox + numeroy.
WRITE: 'EL RESULTADO ES',result.

write 'hola'.

Clase 002 tablas internas part 1

Tablas internas: se crea en sap de manera temporal, se almacena en la memoria ram

Dura mientras el programa se ejecuta, cuando termina de ejecutarse, es eliminada.

Toda tabla interna para poder manejar datos, debe tener una lnea de cabecera.

OCCURS significa que tiene cabecera y OCCURS 0 es la cantidad de registros que hay
APPEND ti_persona. Aca se esta insertanto datos a la tabla interna.

Recorrido de una tabla interna

LOOP AT (nombre de la tabla interna)


REPORT ZCLASE_002.
DATA: BEGIN OF ti_persona OCCURS 0,
Nombre(20) type c,
Apellido(20) TYPE c,
Edad(4) TYPE I,
Fecha TYPE D,
END OF ti_persona.

ti_persona-Nombre = 'jaki'.
ti_persona-Apellido = 'Sarmiento'.
ti_persona-Edad = 28.
ti_persona-Fecha = sy-datum.
APPEND ti_persona.
ti_persona-Nombre = 'julio'.
ti_persona-Apellido = 'Cerna'.
ti_persona-Edad = 30.
ti_persona-Fecha = sy-datum.

APPEND ti_persona.

LOOP AT ti_persona.
WRITE: / ti_persona-Nombre, ti_persona-Apellido,
ti_persona-Edad, ti_persona-Fecha.
ENDLOOP.

.-.-. esto es sin occurs

DE esta manera, aca se genera una tabla interna. Primero Estructura,


luego tabla interna.

DATA: BEGIN OF st_persona,


Nombre(20) type c,
Apellido(20) TYPE c,
Edad(4) TYPE I,
Fecha TYPE D,
END OF ti_persona.

DATA: ti_persona2 LIKE TABLE OF st_persona WITH HEADER LINE.

ti_persona2-Nombre = 'jaki2'.

REPORT ZCLASE_002.

DATA: BEGIN OF ti_persona OCCURS 0,


Nombre(20) TYPE c,
Apellido(20) TYPE c,
Edad(4) TYPE I,
Fecha TYPE D,
END OF ti_persona.

DATA: BEGIN OF st_persona,


Nombre(20) TYPE c,
Apellido(20) TYPE c,
Edad(4) TYPE I,
Fecha TYPE D,
END OF st_persona.

DATA: ti_persona2 LIKE TABLE OF st_persona WITH HEADER LINE.

ti_persona-Nombre = 'Jeyson'.
ti_persona-Apellido = 'Ventura'.
ti_persona-Edad = 22.
ti_persona-Fecha = sy-datum.
APPEND ti_persona.

ti_persona-Nombre = 'Julio'.
ti_persona-Apellido = 'Serna'.
ti_persona-Edad = 30.
ti_persona-Fecha = sy-datum.
APPEND ti_persona.

LOOP AT ti_persona.
WRITE: / ti_persona-Nombre,ti_persona-Apellido,ti_persona-Edad,
ti_persona-Fecha.
ENDLOOP.

clase 003 tablas internas parte 2

Like, referencia a un campo de la tabla que existe .

Es decir el nuevo campo que cree, tendr el mismo tamao y tipo, del
campo referenciado con like.

Parameters: datos que ingresa el usuario

(para comentar ctrol y signo > < del teclado)

REPORT ZCLASE_003.

TYPES: BEGIN OF st_sflight,


carrid LIKE sflight-carrid, " compaa area
connid LIKE sflight-connid, "Cdigo de conexin de vuelo
fldate LIKE sflight-fldate, "Fecha de vuelo
seatsmax LIKE sflight-seatsmax, " Ocupacin mxima en clase
" econmica
seatsocc LIKE sflight-seatsocc, "Plazas ocupadas en clase
"econmica
END OF st_sflight.

Tabla interna con cabecera.

DATA: ti_sflight TYPE STANDARD TABLE OF st_sflight WITH HEADER LINE.

Tabla interna sin cabecera.


DATA: ti_sflight TYPE STANDARD TABLE OF st_sflight.

Tabla interna sin cabecera con rea de trabajo.


DATA: wa_sflight TYPE st_sflight.

Tabla interna sin cabecera con field-symbols.

FIELD-SYMBOLS: <wa_sflight> LIKE LINE OF ti_sflight.

PARAMETERS: p_carrid LIKE sflight-carrid.

SELECT carrid connid fldate seatsmax seatsocc


FROM sflight
INTO TABLE ti_sflight
WHERE carrid = p_carrid.

Loopeo de Tabla interna con cabecera.

LOOP AT ti_sflight.
WRITE: / ti_sflight-carrid,
ti_sflight-connid,
ti_sflight-fldate,
ti_sflight-seatsmax,
ti_sflight-seatsocc.
ENDLOOP.

Loopeo de Tabla interna sin cabecera con rea de trabajo.


LOOP AT ti_sflight INTO wa_sflight.
WRITE:/ wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
wa_sflight-seatsmax,
wa_sflight-seatsocc.
ENDLOOP.

Loopeo de Tabla interna sin cabecera con field-symbols.


LOOP AT ti_sflight ASSIGNING <wa_sflight>.
WRITE:/ <wa_sflight>-carrid,
<wa_sflight>-connid,
<wa_sflight>-fldate,
<wa_sflight>-seatsmax,
<wa_sflight>-seatsocc.
ENDLOOP.

Você também pode gostar