Ist hier vielleicht jemand der sich mit der Klinischen Komponente bzw. genauer dem Klinischen Arbeitsplatz ausgenutzt?
Es geht mir um die Stations Belegungssicht(occupancy).
Dort muss ich an die Bettinformationen. Das bedeutet, ich selektiere eine Zeile und möchte durch Badi Aufruf die Bett-Kurz-Bezeichnung. Bei belegten Betten ist das kein Problem, doch durch die vorgelagerten hauseigenen SAP Bausteine und Funktionen werden interne Tabellen mit dem gebrauchten Infos, im Vorfeld gecheckt und als Initial durchgereicht. Sind also nicht mehr brauchbar. Das änderen der SAP/Cerner FuBus möchte ich gern vermeiden.
Ganz versteh ich dein Problem nicht:
Beim Aufruf der beiden BAdIs ISH_WP_VW123_COLUMN und ISH_WP_VW123_FUNC sind die Bettinformationen, auch bei nicht belegten Betten, doch alle vorhanden.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.
Stimmt...
Deswegen verwenden wir dafür das BAdI ISH_FUNCTION_CALL
Eine andere Möglichkeit wäre noch den Baustein ISH_WP_VIEW_001_GET_ROWS auszuprobieren. Wobei ich aber jetzt nicht genau sagen kann ob dieser nicht auch die "initialen" Zeilen weglässt.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.
ISH_FUNCTION_CALL ist ein BAdI, das generisch für alle KLAP Sichten aufgerufen wird, wenn im BAdI zur Sicht keine Verarbeitung stattgefunden hat. Im IT_PARAMETER wird je nach aufgerufener Sicht eine andere Tabelle mit einer anderen Struktur übergeben. Über den I_VIEW_TYPE kann man abfragen welche Sicht aufgerufen wurde. Für die Belegungssicht wäre das 001 und der Typ von IT_PARAMETER ist dann ISH_T_OCCUPANCY_LIST.
field-symbols:
<lt_occupancy> type ish_t_occupancy_list.
case i_view_type.
when '001'.
assign it_parameter to <lt_occupancy>.
endcase.
Mit diesem Codefragment kannst du dann im Anschluss, so wie du es im ISH_WP_VW123_FUNC machen würdest, mit <lt_occupancy> weiterarbeiten. Natürlich geht das auch für die anderen Sichten.
Den ISH_WP_VIEW_001_GET_ROWS hab ich nur eher zufällig beim durchschauen der Funktionsgruppe der staionären Sichten (SAPLN_WP_INP_MOVEMENTS) gefunden. Vom Aufruf her reicht es meines Erachtens den Parameter ET_SELECTED_ROWS mit einer Variablen vom Typ ISH_T_OCCUPANCY_LIST zu versorgen. Das ganze sollte vom BAdI ISH_WP_VW123_FUNC möglich sein und liefert die selektierten Zeilen direkt vom angezeigten ALV-Grid.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.