Vizualizare mesaje fără răspuns | Vizualizare subiecte active
|
Pagina 1 din 1
|
[ 2 mesaje ] |
|
Autor |
Mesaj |
CezaroVIDIU
|
Scris: Joi, 12-Apr-2007 17:16 |
|
Membru din: Joi, 12-Apr-2007 16:20 Mesaje: 3
|
Mi-am propus sa obtin in acelasi raport preturile de achizitie aferent unui articol, precum si preturile de vanzare.
Cu selectul urmator reusesc sa obtin liniile in care am pretul de achizitie si de vanzare pentru fiecare furnizor:
SELECT kbeln matnr lifnr endpa ekpgr vkpne vkpbr FROM wkbp
INTO TABLE tab WHERE kbeln IN ( SELECT MAX( kbeln ) FROM wkbp GROUP BY matnr lifnr ) .
Numai ca, daca pretul de achizitie este diminuat de un discount, pretul de achizitie din tabela wkbp nu tine cont de acest discount.
Asa ca am unit si tabelele eina si eine cu alt select:
SELECT a~MATNR a~infnr b~netpr A~LIFNR
INTO TABLE tab1
FROM eina AS a LEFT JOIN eine AS b
ON a~infnr = b~infnr.
Cu selectul urmator obtin din tabela intermediara tab1 ultimul pret de achizitie:
SELECT MATNR INFNR NETPR FROM TAB1
INTO TABLE TAB2 WHERE INFNR IN ( SELECT MAX( INFNR ) FROM TAB1 GROUP BY MATNR LIFNR ).
Problema e ca lucrul de aceasta maniera cu tabele intermediare, posibil in alte sgbd-uri, nu functioneaza in abap.
Nu am cunostinte abap, insa doresc sa rezolv aceasta problema.
Imi puteti da o sugestie?
|
|
Sus |
|
|
Costin Albu
|
Scris: Vin, 13-Apr-2007 17:38 |
|
|
Site Admin |
Membru din: Lun, 19-Mai-2003 12:03 Mesaje: 324 Locaţie: Bucuresti
|
Primul select merge si in ABAP cu f.mici modificari. Pentru al doilea folosesti LOOP...ENDLOOP pe tabela interna si prelucrezi astfel datele.
|
|
Sus |
|
|
|
Pagina 1 din 1
|
[ 2 mesaje ] |
|
Cine este conectat |
Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat şi 16 vizitatori |
|
Nu puteţi scrie subiecte noi în acest forum Nu puteţi răspunde subiectelor din acest forum Nu puteţi modifica mesajele dumneavoastră în acest forum Nu puteţi şterge mesajele dumneavoastră în acest forum Nu puteţi publica ataşamente în acest forum
|