Instance ID is basically makes difference when the same UIBB configuration is used multiple times in a page in FPM application.It uniquely identifies the UIBB configuration. The below post shows how instance id associated with a UIBB configuration provides more control on the particular UIBB. The post uses an OVP application with two list UIBBs having same configuration and different instance ID for each and how to control the UIBB behaviour in the feeder class by using the instance ID.
Create a feeder class for the list UIBB.
Create an OVP application and create a list UIBB configuration.
Provide the feeder class.
Add the columns to the list UIBB configuration. Save and go back.
Now we want to add a new list UIBB component with the same configuration name as ZCC_FLIGHT_LIST_DEMO but the system doesn’t allow it as both list UIBB having the same configuration and allows only if they have a different instance ID. So lets assign an instance id as PART1 to the first uibb configuration.
Add a second list UIBB component and provide the same configuration name and provide instance id as PART2. Save and test the application.
Now the two list UIBBs on the OVP application have the same look and feel though they have a different instance ID. Now we can make a certain change on each list UIBB based on the their instance ID. Let’s take the case in first UIBB we want to hide/invisible the field AIRPFROM & AIRPTO fields/columns and from the second list UIBB want to hide/invisible the field CITYFROM & CITYTO fields/columns
Now create an attribute as shown below in the feeder class.
So when each UIBB is loaded then the associated instance ID provided in the configuration is available in the INITIALIZE method. Now store this instance id in a global parameter.
Now in the GET_DATA method based on the instance ID make the desired fields hide/invisible. Also you can perform any other action as desired.