Ver Mensaje Individual
  #7  
Viejo 21/12/07, 14:46:42
fer_saikyo fer_saikyo is offline
Junior Member
 
Fecha de Ingreso: nov 2007
Mensajes: 6
Miralo que funciona!

Hola! yo tambien soy muy novato en esto, de hecho estaba buscando ejemplos pero al ver tu inquietud quise ver si podia colaborar con vos. Copialo y pegalo tal cual esta allí. Lo unico que tendrias que variar seria el nombre de report (que lo pones vos obviamente) cualquier cosa agregame y cambiamos info Suerte!

*REPORT zinnerj.

TABLES: sflight, saplane.

* Creo un registro 'reg' con dos tablas transparentes.
DATA: BEGIN OF reg ,
* Para vinvular las dos tablas voy a usar el mandante
* de cada una de ellas:
*-----------------------------------------------------
mdta TYPE sflight-mandt ,
mdtb TYPE saplane-mandt ,
*-----------------------------------------------------
*Desde sflight traemos los sigtes campos:
carr TYPE sflight-carrid ,
fech TYPE sflight-fldate ,
prec TYPE sflight-price ,
plan TYPE sflight-planetype ,
*y desde saplane:
seam TYPE saplane-seatsmax ,
weit TYPE saplane-weight,

END OF reg.

*Ahora creamos la tabla interna 'ti':
DATA: BEGIN OF ti OCCURS 0 .
INCLUDE STRUCTURE reg .
DATA END OF ti .

*Y finalmente llenamos con un INNER JOIN nuestra tabla conbinada:
* 1. Seleccionamos las dos tablas y desde donde las vinculamos.
* el chirimbolito ~ es como decir tabla - campo, o sea .. eso
* y se usan alias = f : sflight p : saplane, que se declaran debajo.
SELECT f~mandt p~mandt

* 2. Se volvaran a la tabla interna:
INTO CORRESPONDING FIELDS OF TABLE ti

* 3. Y aqui se muestran los famosos INNER JOIN, y los alias.
FROM ( sflight AS f INNER JOIN saplane AS p ON
f~mandt = p~mandt ).

* una vez que hayas que hayas visto el programita "juga" con la
* sentencia WHERE para ver formas de comportamiento de la tabla.

* WHERE tabla-campo operador valor_campo ... .

* Loopeamos la tabla interna para listar los datos:

LOOP AT ti.

WRITE: ti-mdta ,
ti-carr ,
ti-fech ,
ti-prec ,
ti-plan ,
ti-seam ,
ti-weit .

ENDLOOP.
Responder Con Cita