Zamysł mam taki:
Raport wyświetla mi ładną ALV (CL_SALV_TABLE), w której jedna z komórek jest klikalna.
Po kliknięciu ma mi się uruchomić nowa transakcja typu M, która przyjmie wartość przechwyconą z klikniętego w ALV pola.
Co mam na teraz zrobione:
- jest alv,
- jest "klikalna",
- jest uruchomiona nowa transakcja.
Zrealizowałem to w następujący sposób:
Kod: Zaznacz cały
"bdcdata do przakazania wartości pomiędzy transakcjami:
DATA: it_bdcdata TYPE TABLE OF bdcdata,
wa_it_bdcdata LIKE LINE OF it_bdcdata.
Kod: Zaznacz cały
METHOD on_link_click.
"pobranie numeru wniosku z tabeli:
READ TABLE lo_report->it_ZKC26_T_WN_HEAD INTO wa_ZKC26_T_WN_HEAD INDEX row.
IF wa_ZKC26_T_WN_HEAD-NR_WN_BIZ IS NOT INITIAL.
"przypisujemy wartość do przekazania do kolejnej transakcji
CLEAR wa_it_bdcdata.
wa_it_bdcdata-fnam = 'NR_WN_BIZ'.
wa_it_bdcdata-fval = wa_ZKC26_T_WN_HEAD-NR_WN_BIZ.
APPEND wa_it_bdcdata TO it_bdcdata.
"uruchomienie kolejnej transakcji z przekazaniem wartości numeru ewid wniosku
CALL TRANSACTION 'Z_KC26_WN_SZCZ' USING it_bdcdata."
ENDIF.
ENDMETHOD.
Uruchamia mi się także transakcja wskazana w call transaction, jednak tu pojawiają się problemy:
- nie wiem jak "przechwycić" w nowej transakcji wartość zmiennej podanej w it_bdcdata,
- zapewne zaraz nie będę wiedział, jak przypisać wartość zmiennej jako wartość pola we/wy na ekranie (ale do tego jeszcze nie doszedłem).
Niewiele mówi mi komunikat SAPa w chwili, gdy próbuję "kliknąć" w alv i uruchamia się nowa transakcja: "Ekran startowy nie występuje w danych wprowadzania wsadowego".
Reasumując: jak mogę przechwycić dane z it_bdcdata, by na tych danych dalej pracować w kolejnej transakcji (opracowywać kolejne dane zależne od przekazanej zmiennej na ekranie 0100)?
****
Odnosząc się do uwagi jednego z Was, zamieszczonej pod moim poprzednim postem: niestety nie mam "pod ręką" nikogo mądrzejszego, by go podpytać. Leżę sobie na dłuuuuuuuuuuugim L4 i umilam sobie czas próbując zrobić projekt zaliczeniowy na uczelnię ;>