MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   duda sobre select (foro/showthread.php?t=8187)

alamo_blanco 05/10/07 10:00:40

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.

BY_MY 05/10/07 10:31:43

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.

nenuke 05/10/07 10:53:29

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.

darona 05/10/07 11:20:39

También podrías usar un SELECT con un FOR ALL ENTRIES.

Saludos,
David.

alamo_blanco 05/10/07 16:26:33

Gracias a todos por vuestra ayuda, me ha sido de gran utilidad.
un saludo a todos:)


Husos Horarios son GMT. La hora en este momento es 11:55:19.

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