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 04/06/08, 15:31:42
johava johava is offline
Member
 
Fecha de Ingreso: abr 2007
Mensajes: 75
Question Instruccion Sql

Hola tengo dos tablas FMIOI (tabla de rpc) y LFA1 (tabla de acreedores), necesito leer la tabla FMIOI y que con base en el campo CODIGO DEL ACREEDOR de esta tabla (LIFRN) lea la tabla LFA1 y extraiga su nombre (campo name1).

Actualmente tengo el siguiente codigo.


Select * from FMIOI
WHERE REFBN = NRPC AND GJAHR = VIGRPC.
Select single NAME1 LIFNR from LFA1 into (NOMBEN, CODBEN)
WHERE LIFNR = FMIOI-LIFNR.



COMO LO PUEDO HACER MAS EFICIENTE?
NOTA: la idea es no hcaer select * from tabla, dado que la tabla tiene muchos campos y realmente solo requiero algunos.

GRACIAS POR LA COLABORACION
Responder Con Cita
  #2  
Viejo 04/06/08, 15:38:58
pmarinab pmarinab is offline
Member
 
Fecha de Ingreso: abr 2008
Mensajes: 64
Lo mas eficiente es una JOIN:

SELECT (los campos que quieras)
INTO (donde quieras)
FROM FMIOI
JOIN LFA1
ON FMIOI~LIFNR = LFA1~LIFNR
WHERE FMIOI~REFBN = NRPC
AND FMIOI~GJAHR = VIGRPC.
Responder Con Cita
  #3  
Viejo 04/06/08, 15:40:24
Avatar de robert_milan
robert_milan robert_milan is offline
Senior Member
 
Fecha de Ingreso: jun 2006
Localización: Mexico, DF
Mensajes: 315
Correcto!!!!

la tabla interna itab
sera de la siguiente manera:
data: begin of itab occurs 0,
lifnr like fmioi-lifnr,
***aqui iran mas campoos,
end of itab.

data: begin of itab2 occurs 0,
lifnr like LFA!-lifnr,
name1 like lfa1-name1,
end of itab2.

Select lifnr into table itab from FMIOI
WHERE REFBN = NRPC AND GJAHR = VIGRPC.

Select lifnr name1 into table itab2
from LFA1 for all entries of itab " Aqui le digo que me traiga todas las coincidencias de ITAB"
WHERE LIFNR = itab-LIFNR.

con esto todo lo harias en memoria

loop at itab. " le haces el loop para recorrer la tabla 1
read table itab2 with key lifnr = itab-lifnr. " veo el nombre del acredor
endloop.

espero te sirva.
__________________
Un Huevon No Inútil


Solo di lo que piensas, a la mejor tienes la mejor respuesta....

Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo.....

Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho.....

Consultor FI jr/ABAP Sr.

Úlima edición por robert_milan fecha: 04/06/08 a las 15:51:24. Razón: Explicacion del codigo
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 15:43:21.


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