You can define which fields to display on the value help dialog by using the annotation @Common.ValueList
. This is applicable to filter fields and the fields with value help in Edit and Create mode. For example, fields of a table in an object page, fields in sections or subsections.
Consider the following sample code:
annotate my.Booking {
to_Carrier @Common.ValueList: {
CollectionPath : 'Airline',
Label : '',
Parameters : [
{$Type: 'Common.ValueListParameterInOut', LocalDataProperty: to_Carrier_AirlineID, ValueListProperty: 'AirlineID'},
{$Type: 'Common.ValueListParameterDisplayOnly', ValueListProperty: 'Name'},
{$Type: 'Common.ValueListParameterDisplayOnly', ValueListProperty: 'CurrencyCode_code'}
]
};
}
In the sample code, for the entity Booking
, the value help of the entity Airline
has the value CollectionPath: 'Airline'
. The first parameter of the entity Airline
, maps the main entity property to_Carrier_AirlineID
to the value help entity property AirlineID
. The other two parameters, Name
and CurrencyCode_code
are a part of the entity Airline
, and are of type Common.ValueListParameterDisplayOnly
. They are used only for display in the value help dialog. The properties in Parameters
of the type @Common.ValueList
annotation are displayed in the value help dialog.

Let's familiarize the other three types of parameters.
Parameter type:
Common.ValueListParameterIn
These parameters influence the filtering of value help of the annotated field.
Code snippetExpandannotate my.Booking { ConnectionID @Common.ValueList: { CollectionPath : 'Flight', Label : '', Parameters : [ {$Type: 'Common.ValueListParameterInOut', LocalDataProperty: to_Carrier_AirlineID, ValueListProperty: 'AirlineID'}, {$Type: 'Common.ValueListParameterInOut', LocalDataProperty: ConnectionID, ValueListProperty: 'ConnectionID'}, {$Type: 'Common.ValueListParameterIn', LocalDataProperty: FlightDate, ValueListProperty: 'FlightDate'}, …. ] }
In the preceding sample code, for the
Booking
entity, the annotated field isConnectionID
. TheFlightDate
is of the parameter typeCommon.ValueListParameterIn
. It means that if a user has selected the flight date from the Flight Date field, then this value is used to filter the values displayed in the value help dialog for the Flight Number(ConnectionID
) field.Parameter type:
Common.ValueListParameterOut
Code snippetExpandannotate my.Booking { ConnectionID @Common.ValueList: { CollectionPath : 'Flight', Label : '', Parameters : [ {$Type: 'Common.ValueListParameterInOut', LocalDataProperty: to_Carrier_AirlineID, ValueListProperty: 'AirlineID'}, {$Type: 'Common.ValueListParameterInOut', LocalDataProperty: ConnectionID, ValueListProperty: 'ConnectionID'}, {$Type: 'Common.ValueListParameterOut', LocalDataProperty: FlightDate, ValueListProperty: 'FlightDate'}, …. ] }
In the preceding sample code, for the
Booking
entity, the annotated field isConnectionID
. TheFlightDate
is of the parameter typeCommon.ValueListParameterOut
. It means that if a user selects an airline from the value help dialog of theConnectionID
field, then the Flight Date field gets auto-populated with the corresponding value.In contrast to the parameter type
Common.ValueListParameterIn
, this value isn't used to filter the value help dialog of theConnenctionID
field.Parameter type:
Common.ValueListParameterInOut
It is a combination of both
In
andOut
parameter features.Code snippetExpandannotate my.Booking { ConnectionID @Common.ValueList: { CollectionPath : 'Flight', Label : '', Parameters : [ {$Type: 'Common.ValueListParameterInOut', LocalDataProperty: to_Carrier_AirlineID, ValueListProperty: 'AirlineID'}, {$Type: 'Common.ValueListParameterInOut', LocalDataProperty: ConnectionID, ValueListProperty: 'ConnectionID'}, …. ] }
In the preceding sample code, you can see that there is dependent filtering. For example, if you select the airline European Airlines (EA) from the Airline field, this value is set as a filter value for the Flight Number (
ConnectionID
) value help dialog and displays the flights for the selected airline only. This is the feature of theIn
parameter.If a user selects a value from the value help dialog for the field
ConnectionID
, then the Airline field gets auto-populated with the corresponding entry. Similarly, if you select a flight number in the Flight Number, the Airline field gets auto-populated with the corresponding information.
