Hej,
Od kilku dni próbuję w query (SQ02) dodać wyciąganie trzech pól (telefon, fax i internet) z tabeli KNB1 łącząc ją z LIKP po KUNNR (customer number).
Pól w querce jest dużo i kod dla wszystkich jest napisany w jednym polu (jestem nowy w SAP ABAP, ale rozumiem, że to oznacza "bałagan"). Niemniej jednak, wszystko w tym kodzie działa i wyciąga dane tam gdzie ma je wyciągnąć... Oczywiście z wyjątkiem kolumn, które ja robię.
Mój kodzik wygląda tak:
TYPES: BEGIN OF tlf_knb,
tlfns TYPE knb1-tlfns,
END OF tlf_knb.
DATA: tlf_knb TYPE tlf_knb.
SELECT SINGLE tlfns
INTO tlf_knb
FROM knb1
WHERE kunnr = likp-kunnr.
KART_KLIENT1 = tlf_knb-tlfns.
TLFNS to telefon. Ten kod powyżej nie działa. Nie zwraca żadnych wartości.
Wszystkie tabele są zadeklarowane. Są tutaj już inne linie kodu, które również opierają się na LIKP-KUNNR i działają bez zarzutu. Nie może też być to kwestia kolejności z sekcji "Dodatki", dlatego że inne fragmenty kodu też korzystają z tego LIKP i wszystko działa. W sekcji JOIN też nie ma sensu chyba dodawać KNB1, dlatego że są tu fragmenty kodu, które odwołują się do tabeli, których w tym JOIN nie ma i są wyłącznie zadeklarowane w kodzie i wszystko działa...
Kiedy zmieniam wyświetlanie/zmiana definicji dla pola (obecnie jest typu ref. KNB1-KUNNR) na zwykłe C i przypisuję na siłę jakiegoś string literal,
to działa i ta wartość się wyświetla.
Coś mi nie działa w próbach wyciągnięcia danych z KNB1 i nie mam pojęcia co. Jeżeli to istotne, to StackOverFlow i answers.sap też nie wiedzą. :<
Dodam, że wartości w tabeli są, bo pracuję na systemie testowym i wartości zostały tam umieszczone.
Zmiana WHERE kunnr = likp-kunnr na WHERE knb1~kunnr = likp-kunnr również nie przynosi rezultatów.
Pomocy.
Jak wyciągnąć dane z KNB1 po KUNNR = LIKP-KUNNR?
-
- Posty: 1061
- Rejestracja: pt mar 14, 2008 12:51 pm
- Has thanked: 71 times
- Been thanked: 315 times
Re: Jak wyciągnąć dane z KNB1 po KUNNR = LIKP-KUNNR?
Prawdę mówiąc, nie rozumiem do końca o co chodzi dokładnie, ale pytanie podstawowe - po co programujesz w Query żeby wyjąć pola z dwóch tabel, nie możesz użyć najzwyklejszego joina korzystając z funkcji Querki?
Re: Jak wyciągnąć dane z KNB1 po KUNNR = LIKP-KUNNR?
Hej Hoofie,
masz pewnie kilku customerow pod jednym numerem odrębnie dla roznych company kodow.
Jak robisz select single to pobiera Ci pierwszy rekord z KNB1, ktory pewnie po prostu nie ma wypelnionego nr telefonu.
Sprawdz dokladnie, zrob test z podaniem kombinacji company kodu i customera, dla ktorej wiesz, ze TLFNS jest uzupelnione w KNB1.
masz pewnie kilku customerow pod jednym numerem odrębnie dla roznych company kodow.
Jak robisz select single to pobiera Ci pierwszy rekord z KNB1, ktory pewnie po prostu nie ma wypelnionego nr telefonu.
Sprawdz dokladnie, zrob test z podaniem kombinacji company kodu i customera, dla ktorej wiesz, ze TLFNS jest uzupelnione w KNB1.