Prüfung, ob Aufruf aus SAP GUI oder ITS

Momentan beschäftige ich mich intensiv mit ITS, und in dem Zusammenhang mit ITSmobile. Nun kann man über die Standardtabelle für RF-Lösung sehr schön auseinandersteuern, welches Display ein bestimmter User im Lager nutzt und so den entsprechenden Screen aufrufen. Man kann aber nicht so ohne weiteres unterscheiden, ob nun eine Transaktion im GUI-Umfeld oder über die mobilen Scanner aufgerufen wird. Das kann von Interesse sein, wenn man die entsprechenden ABAP-Programme nicht auf den Handhelds, sondern auch im GUI nutzen will und hier ggf. Anpassungen oder andere Darstellungen gewünscht sind. Abhilfe schafft hier ein Funktionsbaustein, der überprüft welches GUI das aktuelle Programm gerade aufruft.

1
2
3
4
5
6
7
8
9
10
11
DATA lf_return TYPE xfeld. 
 
CALL FUNCTION 'GUI_IS_ITS' 
   IMPORTING 
     return = lf_return. 
 
IF lf_return IS NOT INITIAL. 
  lf_description = 'Aufruf aus ITS'. 
ELSE. 
  lf_description = 'Aufruf aus GUI'. 
ENDIF.

Wenn der Rückgabewert gesetzt ist (‘X’), dann ist der Aufrufer ITS bzw. ITSmobile. So kann man dann entscheiden, ob man zum Beispiel ein spezielles Dynpro aufrufen möchte oder ob Fehlermeldungen im GUI über die Statusleiste und im ITS über eine gesonderte Routine ausgegeben werden sollen.

Be the first to comment

Teil mir was mit