SQLの下のようなデータ型「コレクション」のIreport入力制御パラメーターの内容を確認したいOracleクエリがあります
select devlocview.floorname FROM AlarmDeviceView alrmDevView INNER JOIN devicelocationview devLocView ON devlocview.oid=alrmdevview.deviceoid
LEFT OUTER JOIN DEVICEGROUPVIEW devGrpView ON devlocview.oid=devgrpview.deviceoid
LEFT OUTER JOIN RackCapacityView rackCapView ON devlocview.RACKID=rackCapView.oid WHERE
(
( $P{building.name} IS NOT NULL AND devlocview.buildingname = $P{building.name} )
OR
( $P{building.name}='All Buildings' AND devlocview.buildingname IN (SELECT buildingname FROM cdmr.devicelocationview ) )
)
AND $X{IN, devlocview.floorname, floor.name}
ここで、「floor.name」は、UI「devlocview.floorname」SQL クエリ出力でユーザーが選択した値を含む Ireport の multiselect(collection type) inputcontrol パラメータです。
今、私は次のようなことをしたい
IF USER SELECTS "ALL BUILDING" IN UI i.e. IF floor.name contains "ALL BUILDING"
THEN DO SOMETHING
ELSE
THEN DO SOMETHING
私が直面している問題は、タイプ「コレクション」の Ireport 入力制御パラメーター「floor.name」の内容をトラバースして確認できないことです。