Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
amy_king
Active Contributor


This post is part of a series on code snippets. The complete list of posts in the series is available in the document Code Snippets: A Blog Series.

Knowing the environment in which a Web Dynpro ABAP application is running is necessary if you want to branch logic or show or hide content depending on the client environment. An example is showing the user's logon name in a header or a copyright notice in a footer when the application is running standalone but hiding these view elements when the application is running in the NetWeaver portal.
   DATA lo_wd_component TYPE REF TO if_wd_component.
DATA lo_wd_application TYPE REF TO if_wd_application.
DATA lv_client_environment TYPE i.

lo_wd_component ?= wd_this->wd_get_api( ).
lo_wd_application = lo_wd_component->get_application( ).
lv_client_environment = lo_wd_application->get_client_environment( ).
CASE lv_client_environment.

WHEN if_wd_application=>co_client_environment-nwbc.
* NetWeaver Business Client

WHEN if_wd_application=>co_client_environment-portal.
* NetWeaver Portal

WHEN if_wd_application=>co_client_environment-sapgui.
* SAPgui

WHEN if_wd_application=>co_client_environment-standalone.
* Standalone

WHEN if_wd_application=>co_client_environment-unknown.
* Unknown client environment

ENDCASE.

If you are on a version of NetWeaver that supports chaining method calls (NW 7.0 EhP 2 or higher), you may skip declaration of the object references.
   CASE wd_this->wd_get_api( )->get_application( )->get_client_environment( ).
...
ENDCASE.

 

Labels in this area