MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 11/12/07, 16:54:28
lopezquekk lopezquekk is offline
Junior Member
 
Fecha de Ingreso: nov 2007
Mensajes: 8
Unhappy Otro Nuevo en ABAP

Hola soy recontra novato en SAP y por este motivo estoy repleto de dudasy por eso creo qeu los secaré de tanto preguntar.

Resulta qeu empece con los Reports y quiero hacer un report en el cual tengo que incluir varios datos de distintas tablas pero no se si todos esos campos los paso a una tabla interna o nesecito tantas tablas internar como tablas de SAP.

En Cualquiera de los dos casos ¿Como sería el select?
Gracias.
Responder Con Cita
  #2  
Viejo 11/12/07, 18:33:03
ibecerra
 
Mensajes: n/a
bueno yo te diria q depende de la situación
ejemplo
1. si tengo una tabla a y deseo obtener la info de la tabla c
pero antes debo obtener el dato de b para con eso dato completo busca a c
entonces debere de cargar la informacion de la tabla a luego ir a la tabla b
completar o guardalod en una tabla interna xx y luego ir a la tabla c.
2. la otra es simple obtener la informacion de la tabla a y la tabla b y volcarlo a tabla interna hago un join.
Responder Con Cita
  #3  
Viejo 11/12/07, 19:31:34
lopezquekk lopezquekk is offline
Junior Member
 
Fecha de Ingreso: nov 2007
Mensajes: 8
un inner join, me podrias dar un peqeño ejemplo por favor

Úlima edición por lopezquekk fecha: 11/12/07 a las 19:49:01.
Responder Con Cita
  #4  
Viejo 11/12/07, 20:21:07
ibecerra
 
Mensajes: n/a
este es un inner join con varias tablas!!

SELECT
MARA~MATNR MARA~BISMT MARA~MATKL MARA~MEINS
MARA~MTART MAKT~MAKTX MARC~WERKS MBEW~BWKEY
MBEW~LPLPR MBEW~STPRS MBEW~VERPR MBEW~VPLPR
MBEW~ZPLPR MBEW~PEINH MARC~LOSGR MARA~FERTH
INTO TABLE TI_DATA
FROM MARA
INNER JOIN MAKT
ON MAKT~MATNR = MARA~MATNR
INNER JOIN MARC
ON MARC~MATNR = MAKT~MATNR
INNER JOIN MBEW
ON MBEW~MATNR = MARC~MATNR
AND MBEW~BWKEY = MARC~WERKS
WHERE MARA~MATNR IN S_MATNR
AND MARA~MTART IN S_MTART
AND MAKT~MAKTX IN S_MAKTX
AND MARC~WERKS IN S_WERKS
AND MBEW~STPRS IN S_STPRS
AND MBEW~VERPR IN S_VERPR.
Responder Con Cita
  #5  
Viejo 14/12/07, 02:37:25
lopezquekk lopezquekk is offline
Junior Member
 
Fecha de Ingreso: nov 2007
Mensajes: 8
La verdad no quiero ser canson con este tema pero alguien e puede explicar con mas calma este inner join la verdad no lo entiendo.

Gracias de Antemano
Responder Con Cita
  #6  
Viejo 14/12/07, 11:02:53
vickxo vickxo is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Localización: Madrid, España
Mensajes: 118
Hola

Quer tal, bueno te comento que los innner join no son lo mas adecuado para hacer una consulta sobre SAP. Considera la mecanica de un inner join y considera la cantidad de datos que maneja un sistema SAP, el tiempo de consulta crece mounstruosamente al usar innner joins.
Es comun presentar informacion de varias tablas SAP en un reporte lo habitual es tener una tabla interna por cada tabla que consultes y manipules la informacion en memoria.
La estructura de un SELEC es similar al SELECT SQL, aunque no es SQL. Para consultar la sintaxis del SELEC de SAP pulsa F1 sobre esta palabra reservada y automaticamente de mandara a la ayuda de SAP.
Usa la transaccion ABAPDOCU ahi viene una serie de ejemplos de diferentes programas en done puede ver la estructura de un report.
Chao
Responder Con Cita
  #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
  #8  
Viejo 28/01/08, 16:31:46
Avatar de corozco
corozco corozco is offline
Senior Member
 
Fecha de Ingreso: dic 2006
Localización: Guayaquil - Ecuador
Mensajes: 134
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
Responder Con Cita
  #9  
Viejo 26/07/10, 19:31:45
gabideas gabideas is offline
Junior Member
 
Fecha de Ingreso: abr 2010
Mensajes: 2
Question 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!!!!
Responder Con Cita
  #10  
Viejo 27/07/10, 10:39:50
Jonathan Barrio Jonathan Barrio is offline
Junior Member
 
Fecha de Ingreso: nov 2008
Mensajes: 25
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
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 19:34:20.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web