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 08/04/08, 17:47:25
mystic_soul mystic_soul is offline
Member
 
Fecha de Ingreso: sep 2007
Mensajes: 76
Performance en select

Hola gente! como va? necesito la ayuda de ustedes urgente!!
Tengo que darle performance a estos select.. se puede?

Este es uno..

SELECT b~werks c~vkorg c~vtweg a~pkunag a~pkunre a~spmon a~matnr
c~fkart b~pstyv a~fkimg b~wavwr c~waerk b~kzwi3 b~kzwi1
a~sptag b~vbeln b~posnr
INTO TABLE it_s900
FROM s900 AS a
INNER JOIN vbrp AS b
ON a~vbeln = b~vbeln
AND a~posnr = b~posnr
INNER JOIN vbrk AS c
ON b~vbeln = c~vbeln
FOR ALL ENTRIES IN it_ausp
WHERE a~matnr EQ it_ausp-matnr
AND a~pkunag IN s_pkunag
AND a~pkunre IN s_pkunre
AND a~fkart IN s_fkart
AND a~waerk EQ p_waers
AND a~sptag IN s_sptag
AND b~pstyv IN s_pstyv
AND c~vkorg IN s_vkorg
AND c~vtweg IN s_vtweg
AND c~bukrs EQ p_bukrs.

SORT it_s900 BY werks vkorg vtweg pkunag pkunre
spmon matnr fkart pstyv.

*****************
Este es el otro...

SELECT a~matnr a~mfrnr INTO TABLE it_mara
FROM ( mara AS a
INNER JOIN mvke AS b
ON a~matnr = b~matnr )
WHERE a~matnr IN s_matnr " Material
AND a~spart IN s_spart " Sector - Linea de Negocios
AND a~extwg IN s_extwg " Autor
AND a~mfrnr IN s_mfrnr " Editor
AND a~profl IN s_profl " Tema
AND b~mvgr3 IN s_mvgr3 " Sello Editorial
AND b~vkorg IN s_vkorg " Organizacion de Ventas
AND b~vtweg IN s_vtweg. " Canal de distribución

SORT it_mara BY matnr.

Desde ya se los voy a agradecer!!!
Responder Con Cita
  #2  
Viejo 08/04/08, 22:41:04
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola, la segunda consulta la veo bien .. ya que MARA y MVKE estan jalandose de llaves principales, lo que si podria ayudar es que si con los parametros que ingresas puedas sacar algun canal de distribucion o una organizacion de ventas, y con respecto a la primera consulta tengo un problema con la tabla S900, supongo que es por la version, resulta que en la S900 no tengo los campos vbeln ni posnr, pero el JOIN entre cabecera (VBRK) y detalles (VBRP) si va bien ....
__________________
David Carballido Córdova
Responder Con Cita
  #3  
Viejo 09/04/08, 10:52:36
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Buenos dias

Aqui van unas recomendaciones generales para SELECT

1.- Los inner join SIEMPRE deben ser por campos claves o campos indexados, es preferible meter algun tabla de mas pero que las uniones del join sean por campos clave o indexados

2.- El orden de las tablas en el join debe ser primero la que mas registros restringe, terminando por la que menos restringe de todas, por ejemplo en tu primer select probablemente la que mas restringe es la S900, luego la VBRK y luego la VBRP

3.- Los campos que se ponen en la clausula select (por ejemplo b~werks c~vkorg c~vtweg ... debes ponerlos en orden, suponiendo que haces el join primero por la S900 luego VBRK y luego VBRP tendrias que poner los campos que seleccionas por orden, todo esto que te digo tambien es aplicable para la clausula where

4.- En el primer select podrias ayudarte de las tablas indices standar que tiene SAP (en tu caso seria la VRPMA indice de facturas por material) en caso de que en la S900 los campos vbeln y posnr no sean claves
Responder Con Cita
  #4  
Viejo 09/04/08, 13:28:56
ibecerra
 
Mensajes: n/a
has una cosa mas..
de vez validar que la tabla it_ausp este llena.. sino vas a tener problemas y va tratar de buscar toda la infromacion de las demas tablas.. mucho ojo..
create una vista de visualizacion y me las tablas ... y cheque cuando se demora.. a mi me funciona bien.
Responder Con Cita
  #5  
Viejo 09/04/08, 15:02:10
mystic_soul mystic_soul is offline
Member
 
Fecha de Ingreso: sep 2007
Mensajes: 76
gracias a todos por responder!
la it_ausp va a tener algun valor, por lo que puse la condicion de que si esta tabla llegara a ser initial, no hace el primer select. Voy a probar lo de la vista de visualizaciòn..
Me interesa lo de las tablas indice.. como se maneja en el programa?
gracias!

Úlima edición por mystic_soul fecha: 09/04/08 a las 17:56:57.
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 18:01:33.


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