PRIMERA FORMA:
Tabla Interna con CABECERA.
Usamos como referencia una tabla ya existente en la BBDD de SAP, por lo tanto, cuando declaramos los campos de la Tabla Interna (TI), diremos que es el mismo tipo que un campo de esa tabla existente.
Con la transacción se11, podemos buscar la tabla existente en la BBDD de, y podemos ver los campos de esta.
REPORT ZCLASE_003.
TYPES: BEGIN OF st_sflight, “Declaras la TI sin Cabecera
“Los CAMPOS serán IGUAL a tabla-campo ya existente en la BBDD
Carrid LIKE sflight-carrid, “CAMPO Compañía aérea
Connid LIKE sflight-connid, “Código de conexión de vuelo
Fldate LIKE sflight-fldate, “Fecha de vuelo
Seatsmax LIKE sflight-seatsmax, “Ocupación max en clase económica
Seatsocc LIKE sflight-seatsocc, “Plazas ocupadas en clase económicas
END OF st_sflight. “FIN la TI
DATA: ti_sflight TYPE STANDARD TABLE OF st_sfligth WITH HEADER LINE.
“Declaramos la TI tipo tabla estandar como la tabla ya existente en la BBDD
“con CABECERA
“Declaramos la TI tipo tabla estandar como la tabla ya existente en la BBDD
“con CABECERA
PARAMETERS: p_carrid LIKE sflight-carrid.
“Introducir parámetro (dato introducido por el usuario)
“del tipo IGUAL a tabla-campo de la BBDD
“Introducir parámetro (dato introducido por el usuario)
“del tipo IGUAL a tabla-campo de la BBDD
“Vamos a llenar una tabla interna con datos de la BBDD con sus datos exactos
SELECT carrid connid fldate seatsmax seatsocc
FROM sflight INTO TABLE ti_sflight
WHERE carrid = p_carrid.
SELECT carrid connid fldate seatsmax seatsocc
FROM sflight INTO TABLE ti_sflight
WHERE carrid = p_carrid.
“Deleccionamos los datos de los campos escritos de la tabla en la BBDD sflight
“Guardamos estos datos en la TI
“CODICION: cuando el campo carrid de la BBDD sea = al parámetro introducido
“Guardamos estos datos en la TI
“CODICION: cuando el campo carrid de la BBDD sea = al parámetro introducido
LOOP AT ti_sflight. “Recorremos la TI, vemos por pantalla
WRITE: / ti_sflight-carrid,
ti_sflight-connid,
ti_sflight-fldate,
ti_sflight-seatsmax,
ti_sflight-seatsocc
ENDLOOP.
SEGUNDA FORMA.
Vamos a hacer exactamente lo mismo, pero sin cabecera.
Tabla Interna con ÁREA DE TRABAJO.
REPORT ZCLASE_003.
TYPES: BEGIN OF st_sflight, “Declaras la TI sin Cabecera
Carrid LIKE sflight-carrid, “Compañía aérea
Connid LIKE sflight-connid, “Código de conexión de vuelo
Fldate LIKE sflight-fldate, “Fecha de vuelo
Seatsmax LIKE sflight-seatsmax, “Ocupación max en clase económica
Seatsocc LIKE sflight-seatsocc, “Plazas ocupadas en clase económicas
END OF st_sflight. “FIN la TI
“Cuando no tenemos cabecera podemos crear un ÁREA DE TRABAJO
DATA: ti_sflight TYPE STANDARD TABLE OF st_sfligth.
DATA: wa_sflight TYPE st_sflight.
PARAMETERS: p_carrid LIKE sflight-carrid.
SELECT carrid connid fldate seatsmax seatsocc
FROM sflight INTO TABLE ti_sflight
WHERE carrid = p_carrid.
“y mostramos la tabla del á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.
TERCERA FORMA.
Tabla Interna con FIELD-SYMBOLS.
REPORT ZCLASE_003.
TYPES: BEGIN OF st_sflight, “Declaras la TI sin Cabecera
Carrid LIKE sflight-carrid, “Compañía aérea
Connid LIKE sflight-connid, “Código de conexión de vuelo
Fldate LIKE sflight-fldate, “Fecha de vuelo
Seatsmax LIKE sflight-seatsmax, “Ocupación max en clase económica
Seatsocc LIKE sflight-seatsocc, “Plazas ocupadas en clase económicas
END OF st_sflight. “FIN la TI
“Cuando no tenemos cabecera podemos crear un FIELD-SYMBOLS
DATA: ti_sflight TYPE STANDARD TABLE OF st_sfligth.
FIELD-SYMBOLS: <fs_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.
“y mostramos la tabla del FIELD-SYMBOLS
LOOP AT ti_sflight ASSIGNING <fs_sflight>.
WRITE: / <fs_sflight>-carrid,
<fs_sflight>-connid,
<fs_sflight>-fldate,
<fs_sflight>-seatsmax,
<fs_sflight>-seatsocc
ENDLOOP.
Comentarios
Publicar un comentario
Si te ha gustado, haz un comentario, ..., GRACIAS