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 05/10/07, 10:00:40
alamo_blanco alamo_blanco is offline
Member
 
Fecha de Ingreso: jul 2007
Mensajes: 101
duda sobre select

Hola a todos,
Mi duda es como podia comparar los campos de una tabla interna con una tabla de diccionario y modificar los registros de la tabla de diccionario que se ajustan a esa compracion. supongo que seria mediante un select de forma que puedira recorrer las dos tablas.
me podeis mostrar un ejemplo..
Gracias.

Un saludo.
Responder Con Cita
  #2  
Viejo 05/10/07, 10:31:43
BY_MY BY_MY is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Mensajes: 130
Buenas.

No entiendo muy bien lo que quieres hacer pero te recomiendo que para la comprobacion en la select utilices un


SELECT SINGLE *
INTO CORRESPONDING FIELDS OF it_usr21
FROM usr21
WHERE bname = it_usr02-bname.

Ya que sino la performance puede bajar mucho. Para modificar una tabla del diccionario entiendo que quieres hacer un MODIFY.


Todas estas sentencias y como se usan las puedes ver en la ayuda se SAP. Poniendo el comando y pulsando F1.


Espero haberte orientado un poco.
Saludos.
Responder Con Cita
  #3  
Viejo 05/10/07, 10:53:29
Avatar de nenuke
nenuke nenuke is offline
Member
 
Fecha de Ingreso: sep 2006
Localización: Madrid
Mensajes: 87
Hola,

si te he entendido bien deberías hacer algo parecido a esto:

LOOP AT it_tab.
* Comprobamor la existencia del registro en la tabla del diccionario
SELECT COUNT( * )
FROM tabla_diccionario
WHERE campo1 = it_tab-campo1 AND
campo2 = it_tab-campo2 AND
campo3 = it_tab-campo3.
* Si existe lo modificas
IF sy-subrc EQ 0.
MODIFY tabla_diccionario FROM it_tab.
ENDIF.
ENDLOOP.

Ten en cuenta que este código es lento si la tabla interna tiene muchos registros.
La tabla interna debe tener cabecera para poder hacer el modify así.
El select tienes que hacerlo utilizando el mayor número de campos clave( si no todos) para evitar incoherencias a la hora de modificar.

Espero que te sirva.

Un saludo.
Responder Con Cita
  #4  
Viejo 05/10/07, 11:20:39
Avatar de darona
darona darona is offline
Member
 
Fecha de Ingreso: jun 2006
Localización: Valencia, Spain
Mensajes: 44
También podrías usar un SELECT con un FOR ALL ENTRIES.

Saludos,
David.
Responder Con Cita
  #5  
Viejo 05/10/07, 16:26:33
alamo_blanco alamo_blanco is offline
Member
 
Fecha de Ingreso: jul 2007
Mensajes: 101
Gracias a todos por vuestra ayuda, me ha sido de gran utilidad.
un saludo a todos
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 21:01:04.


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