Site-ul consultantilor SAP din Romania
http://www.sap-consulting.ro/phpbb/

Delete line distruge read...binary search???
http://www.sap-consulting.ro/phpbb/viewtopic.php?f=1&t=342
Pagina 1 din 1

Autor:  cata_nasty [ Joi, 02-Noi-2006 19:57 ]
Subiectul mesajului:  Delete line distruge read...binary search???

Salut!
Tocmai am descoperit o chestie ciudata...
Daca avem 2 tabele interne, normale.. nu sorted, nu hashed... nimic.
La aceste 2 tabele primele 3 campuri sunt la fel.
Dupa o operatie de genul :

sort: t1, t2.
loop at t1 into s1.
read t2 into s2 with key... binary search.
v_index = sy-tabix.
.... chestii..stuff...
delete t2 index v_index.
endloop.

La a doua inregistare la care read'ul ar trebui sa functioneze... NU FUNCTIONEAZA!!!
Fara delete -> merge de minune... cu delete, o gaseste pe prima, sterge... iar la a doua crapa.
Nu e mare problema.. ca am rezolvat'o altfel.. dar de ce se intampla chestia asta???

Autor:  Costin Albu [ Vin, 03-Noi-2006 15:11 ]
Subiectul mesajului: 

Nu cred....

Pune codul clar cu chei folosite s.a.m.d. sa verific si eu. N-are sens ce zici tu.

Autor:  cata_nasty [ Vin, 03-Noi-2006 16:52 ]
Subiectul mesajului: 

Costin Albu scrie:
Nu cred....

Nici eu nu credeam, dar ieri chiar s'a intamplat.
Astazi merge si nu am facut nici o modificare... Iar ieri s'au uitat mai multi programatori ... deci nu e ceva sa nu fi vazut bine :).
Ma uitam pe oss sa vad daca e vorba de un patch ceva care sa fi fost implementat intre timp... dar nu cred.

Cine stie.. ce s'a intamplat ieri.

Merci,
Cata

Autor:  dorub [ Vin, 03-Noi-2006 17:05 ]
Subiectul mesajului: 

pune SORT t2 dupa instructiunea de stergere.
vezi codul :

sort: t1, t2.
loop at t1 into s1.
read t2 into s2 with key... binary search.
IF sy-subrc = 0.
v_index = sy-tabix.
.... chestii..stuff...
delete t2 index v_index.
IF sy-subrc = 0.
sort: t2.
ENDIF.
ENDIF.
endloop.

Autor:  cata_nasty [ Lun, 06-Noi-2006 11:26 ]
Subiectul mesajului: 

dorub scrie:
pune SORT t2 dupa instructiunea de stergere.
vezi codul :


Asta m'am gandit si eu.. dar incercam sa evit o noua sortare, avand in vedere ca e vorba de aprox 1 mil X 1 mil de inregistrari.

Da am rezolvat'o altfel.

Merci,
Cata

Autor:  dorub [ Lun, 06-Noi-2006 14:01 ]
Subiectul mesajului: 

nu cred ca poti evita o noua sortare deoarece indexul creat prin SORT nu mai este consintent cu noua imagine a tabelei citite si de aici si problema ta.

Oricum pentru cazul tau cand spui ca ai peste 1mil. de inreg in tabela ta interna ti-as recomanda sa fol. tabele hashed la care timpul de acces este acelasi indiferent de nr. de inreg. , citirea facandu-se dupa o cheie.

Autor:  cata_nasty [ Lun, 06-Noi-2006 15:00 ]
Subiectul mesajului: 

dorub scrie:
nu cred ca poti evita o noua sortare deoarece indexul creat prin SORT nu mai este consintent cu noua imagine a tabelei citite si de aici si problema ta.


Am evitat sortarea prin introducerea unoi nou camp in T2 pe care il fac X in loc sa sterg inregistrarea. Pt ca dupa acel loop am nevoie de inregistrarile ramase in T2.

dorub scrie:
Oricum pentru cazul tau cand spui ca ai peste 1mil. de inreg in tabela ta interna ti-as recomanda sa fol. tabele hashed la care timpul de acces este acelasi indiferent de nr. de inreg. , citirea facandu-se dupa o cheie..


Merci de idee... O sa o incerc.

Cata

Pagina 1 din 1 Ora este UTC + 2 [ DST ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/