cancel
Showing results for 
Search instead for 
Did you mean: 

Can we use select-options in the query ? How ?

former_member192050
Participant
0 Kudos

Hi Techies,

we are using a BAPI that is having select-options as input we want to get the data based on the select-options in the query

how do we write the query to get the data..

please help me on this

Thanks & regards

Sathish

Accepted Solutions (1)

Accepted Solutions (1)

AshwinDutt
Active Contributor
0 Kudos

Hello Sathish,

In my opinion,

We cannot send range values as such in a way like we send to our FM generally to GW as part of filters in QUERY operation as an internal table with multiple fields with different operators.

Ideally we need to operate on BATCH. But most of the times this BATCH will not serve the purpose as there would be scenarios where we would like to send all the values as part of range table in a single call and get result based on it.

My suggestion would be,

Send the parameters as part of filters and use that internally in your DPC_EXT class to prepare a range table manually with appropriate operators and send it to ur FM.

below are the operators supported by GW through URL.

EQ Equals

LE Less than or equal to

GE Greater than or equal to

NE Not equal to

GT Greater than

LT Less than


Other operators like CP etc... has to be handled explicitly in GW level in DPC_EXT class in respective methods by checking whether the input value contains ' * ' .

If the input contains ' * ' then u need to pass CP operator explicitly in the code level.


few operator combinations are not supported by GW which we need to be aware of.


The below are the things supported by GW where u can send some inputs as part of filters so that GW itself will convert into a range values so that u can straight away access those and use it in our logic.


Example 1: Supported

/sap/opu/odata/sap/xxxxxxxxx/get_dataSet?$filter=QueryParam1 ge 'abcd' and QueryParam1 le 'uvwx'

when u pass this GW itself will fill your IT_FILTER_SELECT_OPTIONS as follows with appropriate operator.

Example 2: Not Supported

/sap/opu/odata/sap/xxxxxxxxx/get_dataSet?$filter=QueryParam1 ge 'abcd' and QueryParam1 le 'uvwx' and QueryParam2 ge 'abcd' and QueryParam2 le 'uvwx'

Its not accepted by GW. U cannot send 2 different parameters as above.

Example 3 : Supported

/sap/opu/odata/sap/xxxxxxxxx/get_dataSet?$filter=QueryParam1 ge 'abcd' and QueryParam1 le 'uvwx' and QueryParam3 le '123'

U can use filters with different operators but note not all combination will work.


Regards,

Ashwin

Answers (0)