SQVI MARA_MAPL_CDHDR_CPOS
Re: SQVI MARA_MAPL_CDHDR_CPOS
ustaw w taki razie debug na select i sprawdź czemu nie pobiera Ci daty, upewnij się, że dane są w tabelach(że nie jesteś na systemie developerskim bez danych). I ja bym jeszcze zmienił tego selecta na Select single, aby pobrał jedną konkretną wartość
-
- Posty: 8356
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1924 times
- Been thanked: 1478 times
- Kontakt:
Re: SQVI MARA_MAPL_CDHDR_CPOS
Musisz popracować na selektami z dokumentów zmian. Postaw może break-point w kodzie, gdzie robisz te selekty i zobacz co się dzieje.
Czyli jednak jakiś postęp jest
Re: SQVI MARA_MAPL_CDHDR_CPOS
W SQ02 to chyba jednak nie wyjdzie. Postanowiłem sprawdzić swoich sił bezpośrednio z kodzie. I od razu napotkałem problem.
Dlaczego tabela zit_rap nie ma danych? Gdzie zrobiłem błąd?
TYPES: BEGIN OF str_cdposcdhdr,
lv_objectclas TYPE cdpos-objectclas,
lv_changenr TYPE cdpos-changenr,
lv_tabname TYPE cdpos-tabname,
lv_fname TYPE cdpos-fname,
lv_valuenew TYPE cdpos-value_new,
lv_udate TYPE cdhdr-udate,
END OF str_cdposcdhdr.
DATA zit_cdposcdhdr TYPE TABLE OF str_cdposcdhdr.
SELECT p~objectclas p~changenr p~tabname p~fname p~value_new h~udate
FROM cdpos AS p INNER JOIN cdhdr AS h
ON p~objectid = h~objectid
AND p~changenr = h~changenr
INTO TABLE zit_cdposcdhdr
WHERE p~objectclas = 'EINKBELEG'
AND p~objectid = '6000062615'
AND p~value_new = '3W'.
TYPES: BEGIN OF str_rap,
lv_ebeln TYPE ekko-ebeln,
lv_ernam TYPE ekko-ernam,
lv_angdt TYPE ekko-angdt,
lv_bstyp TYPE ekko-bstyp,
lv_objectid TYPE zit_cdposcdhdr-lv_objectid,
lv_udate TYPE zit_cdposcdhdr-lv_udate,
END OF str_rap.
DATA zit_rap TYPE TABLE OF str_rap.
SELECT e~ebeln e~ernam e~angdt e~bstyp c~lv_objectid c~lv_udate
FROM ekko AS e INNER JOIN zit_cdposcdhdr AS c
ON e~ebeln = c~lv_objectid
INTO TABLE zit_rap
WHERE e~ebeln = c~lv_objectid.
BREAK-POINT.
Pozdrawiam,
Dlaczego tabela zit_rap nie ma danych? Gdzie zrobiłem błąd?
TYPES: BEGIN OF str_cdposcdhdr,
lv_objectclas TYPE cdpos-objectclas,
lv_changenr TYPE cdpos-changenr,
lv_tabname TYPE cdpos-tabname,
lv_fname TYPE cdpos-fname,
lv_valuenew TYPE cdpos-value_new,
lv_udate TYPE cdhdr-udate,
END OF str_cdposcdhdr.
DATA zit_cdposcdhdr TYPE TABLE OF str_cdposcdhdr.
SELECT p~objectclas p~changenr p~tabname p~fname p~value_new h~udate
FROM cdpos AS p INNER JOIN cdhdr AS h
ON p~objectid = h~objectid
AND p~changenr = h~changenr
INTO TABLE zit_cdposcdhdr
WHERE p~objectclas = 'EINKBELEG'
AND p~objectid = '6000062615'
AND p~value_new = '3W'.
TYPES: BEGIN OF str_rap,
lv_ebeln TYPE ekko-ebeln,
lv_ernam TYPE ekko-ernam,
lv_angdt TYPE ekko-angdt,
lv_bstyp TYPE ekko-bstyp,
lv_objectid TYPE zit_cdposcdhdr-lv_objectid,
lv_udate TYPE zit_cdposcdhdr-lv_udate,
END OF str_rap.
DATA zit_rap TYPE TABLE OF str_rap.
SELECT e~ebeln e~ernam e~angdt e~bstyp c~lv_objectid c~lv_udate
FROM ekko AS e INNER JOIN zit_cdposcdhdr AS c
ON e~ebeln = c~lv_objectid
INTO TABLE zit_rap
WHERE e~ebeln = c~lv_objectid.
BREAK-POINT.
Pozdrawiam,
Re: SQVI MARA_MAPL_CDHDR_CPOS
Jakie życie taki
A tak poważnie to nie do końca rozumiem co tutaj chcesz osiągnąć. Po co Ci te tabelki są? zit_cdposcdhr i zit_rap?
Wrzuciłem na szybko Twój kod do SAPa i się nie kompiluje z powodu JOINA na cdpos(ale to może być też kwestia wersji ABAPa), jeżeli Ci się kompiluje
to powiedz czy masz jakiekolwiek dane w tabeli zit_cdposcdhdr?
Jaki ABAP taki SAPzit_rap
A tak poważnie to nie do końca rozumiem co tutaj chcesz osiągnąć. Po co Ci te tabelki są? zit_cdposcdhr i zit_rap?
Wrzuciłem na szybko Twój kod do SAPa i się nie kompiluje z powodu JOINA na cdpos(ale to może być też kwestia wersji ABAPa), jeżeli Ci się kompiluje
to powiedz czy masz jakiekolwiek dane w tabeli zit_cdposcdhdr?
Re: SQVI MARA_MAPL_CDHDR_CPOS
W tabeli zit_cdposcdhdr mam wczytane poprawne dane.
Tą tabele chciałbym połączyć z ekko i ekpo żeby mieć niezbędne dane do mojego raportu o terminowości zdobywanych ofert.
Jeśli chodzi o wersje SAP 6 z najnowszym upgradem 8.
Tą tabele chciałbym połączyć z ekko i ekpo żeby mieć niezbędne dane do mojego raportu o terminowości zdobywanych ofert.
Jeśli chodzi o wersje SAP 6 z najnowszym upgradem 8.
Re: SQVI MARA_MAPL_CDHDR_CPOS
Nie można zrobić selecta z tabeli wewnętrznej, tylko i wylącznie z baz danych - dziwne, że kompilator nie wyrzuca Ci błędu.
Zamiast tego można spróbować najpierw wyciągnąć wszystkie dane z ekko dla danych z tabeli zit_cdposcdhdr, trzeba by było utowrzyć nową pomocniczą tabelę, później zrobić loopa po tej tabeli, a następnie read table.
czyli coś takiego:
LOOP AT lt_ekko.
READ zit_cdposcdhdr WITH KEY lv_objectid = lt_ekko-ebeln USING BINARY SEARCH.
IF sy-subrc = 0.
zit_rap-objectid = zit_cdposcdhdr-objectid.
.
.
.
i tak wszystkie pola,
a na koniec
APPEND zit_rap.
ENDIF.
Zamiast tego można spróbować najpierw wyciągnąć wszystkie dane z ekko dla danych z tabeli zit_cdposcdhdr, trzeba by było utowrzyć nową pomocniczą tabelę, później zrobić loopa po tej tabeli, a następnie read table.
czyli coś takiego:
LOOP AT lt_ekko.
READ zit_cdposcdhdr WITH KEY lv_objectid = lt_ekko-ebeln USING BINARY SEARCH.
IF sy-subrc = 0.
zit_rap-objectid = zit_cdposcdhdr-objectid.
.
.
.
i tak wszystkie pola,
a na koniec
APPEND zit_rap.
ENDIF.
-
- Posty: 8356
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1924 times
- Been thanked: 1478 times
- Kontakt:
Re: SQVI MARA_MAPL_CDHDR_CPOS
W nowym, tj. 7.52 ABAPie można zrobić selecta z tabeli wewnętrznej - SELECT - FROM @itab
:
SAP Help pisze:Specifies an internal table itab, whose name must be prefixed with the @ character, as a data source of a query. The SELECT statement handles the internal table of the application server like a database table on the database.