Skip to Content

CHIPs, PageBuilder and the Side Panel – Part 1


In Netweaver 7 Ehp 2 we have the ability to create CHIPs (Collaborative Human Interface Part).
They are really powerful, and very easy to create.
We can implement CHIPs in the PageBuilder and in the Side Panel.

A huge advantage of CHIPs is that we only have to create them once. We can then implement them endless in other web dynpro applications by  configuration. No programming effort is required. A functional  consultant could do the configuration for new or exisiting applications  (in an ideal world!).

In a project I currently work i have created a few CHIPs for displaying additional information about the customer. The CHIPs are implemented in a side panel and the end-user can select which additional information he wants to see.

In this blog (part 1) i am going to explain how to create a CHIP from a web dynpro. In the next blog (part 2) i am going to explain how to create a side panel in a web dynpro. Then we are going to implement our created CHIP in the side panel and automatic wire it to the web dynpro application.


A Netweaver 7 Ehp 2 system.

Some Web Dynpro knowledge

What are we going to create?

We are going to create a CHIP that provides information about a carrier.

The carrier information is placed in the side panel.

The image below is the result of the CHIP in the side panel

Step 1: Create a web dynpro

I named my web dynpro component ZZ_RV_CHIP

Step 2: Setup the component controller

In the component controller we have to setup the context and create an interface method

The method must be an interface method

You can only put STRUCTURES of the DDIC as a parameter!

Write the code below into the method set_data()

Step 3: Setup the view

Map the context of the component controller to the view and create a form like below

Step 4: Create the CHIP

In the context menu of the component we have the ability to create a CHIP

Fill in a name and description.

Don’t forget to fill in a CHIP Icon, so you can recognize the CHIP in the CHIP catalog.

The CHIP catalog is a repository of all CHIPs. We will see it in the next blog (part 2)

For setting data in the CHIP we have Inports and for getting data out of the CHIP we have Outports.

Technically the Inport is an web dynpro interface method and the Outport is an web dynpro interface event.

We have created an interface method so we can select it as an Inport.

After adding the method we can select which parameters are available to wire this CHIP it to another CHIP.

Wire means a connection with another CHIP based on variables.

To wire this CHIP automatically to another CHIP we have to provide a Tag.

A tag is an unique name for a variable, so that the CHIP can synchronize to another CHIP based on the Tag name.

In the next blog (part 2) we will see what this means. for now just create a Tag for the variable CARRID.

Don’t forget to save the CHIP.

Congratulations !

You have created you first CHIP.

At this point we can implement our created CHIP in the PageBuilder or in a Side Panel.

In the next blog (part 2) we are going to create a web dynpro application with a side panel. Then we are going to implement the CHIP in the side panel and automatic wire it to the web dynpro application.


Currently there is no CHIP plugin for SAPLINK, but maybe if we ask Thomas Jung (or another developer) really nice, then maybe it will be there soon.

I have created a SAPLINK plugin for Web Dynpro CHIPs. For more information see SAPLink plugin for Web Dynpro CHIPs


CHIPs, PageBuilder and the Side Panel – Part 2

CHIPs, PageBuilder and the Side Panel – Part 3


Robin Vleeschhouwer

RV SAP Consultancy

You must be Logged on to comment or reply to a post.
  • Thanks for the post, this has become a frequently accessed bookmark and reference for use in my current project development (until I memorize how to create CHIPS)… 😉

  • Robin,

    Can we display SAP GUI transactions in Webdynpro Chips? Especially Iframe chips? We developed and FPM_OVP application. We are trying to call a SAP GUI transaction in an Iframe from a tree as a side panel. But we are not able to pass values from the tree into the SAP GUI transaction displayed in the Iframe. Any suggestions please?

    Attached a picture of my requirement.

    The Display Functional Locations is transaction IH06 in SAP being displayed in Iframe.

    When the user selects any one record from the Standard ALV and clicks on the “Change Functional Location” choice( Change Functional Location is a button choice in my Webdynpro View) ,transaction IL06 should be displayed with the values pre-filled and the initial screen being skipped. For example, if user selects LCANL-AN from the standard transaction in Iframe, IL06 should be displayed with LCANL-LN with first screen skipped. Hope you understand my problem.


      • Hi Robin,

        The SAP transaction IH06 (Display Functional Locations) is already being displayed via ITS URL in our Cockpit.

        How we execute the Cockpit is below :-

        Step 1:- User selects a record in the tree. In the attached picture, user selected LC

        Step 2:- He opens the “Functional Location” tab on the right hand side. All the functional locations that start with LC are displayed in the Functional Locations tab. This list is the output of IH06 transaction. In simple terms, IH06 transaction output is being displayed in Iframe.

        My problem lies here

        Step 3:- Now user selects any one record of this list output and he clicks on one of the choices from the list. In the above picture user selected “LCANL” and he clicks on the “Change Functional Location” choice. THIS “CHANGE FUNCTIONAL LOCATION” IS A BUTTON CHOICE IN MY WEBDYNPRO VIEW. NOT A PART OF FPM_OVP_COMPONENT. My problem is , as the output is in a standard transaction in Iframe and the user clicks on a button choice in Webdynpro, how can we capture the values of the Lead select in IFRAME and use them in our Web dynpro? That is, how do we capture the “LCANL” value the user has selected in Iframe? Any suggestions are appreciated.

  • Hi Robin, Very informative blog. I tried replicating but not able to, I am unable to create a inport eventhough I have a interface method, is there a missing step?

    thanks in advance,