|
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
Excelente explicacion de un inner join mi amigo, me ayudo bastante en entenderlo y tambien como soy nuevo en ABAP me ayudara bastante.
Para intercambiar info te dejo mi MSN:
__________________
Saludos Cordiales, César Orozco R. Guayaquil - Ecuador |
#3
|
|||
|
|||
Inner Join
Hola soy otra nueva en abap y siguiendo este tema , tengo un tp pra hacer debo hacer un inner para vincular 2 tablas transparentes, se como se hace y la guardo en una tabla interna pero debo combinar ésto con una database (SE 11) creada por mi, es decir debo Hacer un Insert ztab from ???? y ahi viene el tema desde donde la inserto desde la tabla interna donde esta el join? Por favor qe alguien me conteste esto, despues creo que seguiré preguntando otras cosas.GRAciass!!!!
|
#4
|
|||
|
|||
ES Facil, INSERT o MODIFY.
Hola.
Antes de nada un consejo. Si haces una consulta, intenta aclararlo lo mejor posible en el título, porque yo he entrado por curiosidad, pero no sabía que era para esta consulta. Tu pregunta es sencilla. insert: TABLAZ from table TABLA_INTERNA[]. modify: TABLAZ from table TABLA_INTERNA[]. Los dos puntos no son necesarios ( son para seguir poniendo más parametros a esa sentencia separandolos con comas ) El símbolo '[]' indica que cojo una tabla y no un wa (línea de cabecera). No es necesario porque ya lo indicamo en la sentencia 'FROM TABLE', es una manía mia. La diferencia entre el INSERT y el MODIFY: INSERT es más efectivo y lo más importante, INSERTA UN REGISTRO NUEVO, si la clave de ese registro existe, DA UN DUMP (error-terminación anormal del programa). MODIFY: Si el registro NO EXISTE (LA CLAVE), lo CREA, si EXISTE (un registro con la misma clave), LO MODIFICA. Nunca se hace esto en una tabla del sistema, o sea que NO EMPIECE por "Z" o "Y" (Habría que saber muy bien que datos se están modificando). Pulsa F1 con el cursor sobre la sentencia, para ver la ayuda en SAP. Te recomiendo hacer pruebas y mirar los resultados de los efectos |
Herramientas | Buscar en Tema |
Desplegado | |
|
|