2017-01-12 10 views
0

Java SDKを使用してBusinessObjectsシンプルレポートフィルタと入力コントロールにアクセスするにはどうすればよいですか?私はDocumentInstanceクラスを検索しましたが、私が見つけたのはクエリフィルタです。私は何かを逃したか、解決策はありませんか?BusinessObjects Java SDKを使用した簡単なレポートフィルタと入力コントロールへのアクセス

+0

? –

+0

ビジネスオブジェクトエンタープライズXI 3.1 – bxtr

答えて

1

入力コントロールは、BusinessObjects XI 3.xのJava SDKには公開されていません。入力コントロールを管理するには、少なくともBusinessObjects 4.1 SP6が必要で、新しいRESTfull SDKを使用する必要があります。あなたは次のコードでレポートフィルタを得ることができ

DocumentInstance documentInstance = null; // I let you handle openDocument 
ReportStructure structure = documentInstance.getStructure(); 
ReportContainer firstReport = (ReportContainer) structure.getReportElement(0); 
if (firstReport.hasFilter()) { 
    FilterContainer filterContainer = firstReport.getFilter(); 
    // Now you have the filters tree 
} 

ここでは、フィルタバーのフィルタを取得するためのコードです:

のBusinessObjectsのバージョンを使用している
Reports reports = document.getReports(); 
Report report = reports.getItem(0); 
// Gets the drill info 
DrillInfo drillInfo = (DrillInfo) report.getNamedInterface("DrillInfo"); 
DrillBar drillBar = null; 
try { 
    drillBar = drillInfo.getDrillBar(); 
} catch (Exception e) { 
    // it may fails if you have prompt to answer for example. 
} 
if (drillBar != null) { 
    // drillBar.getCount(); // to have the number of filters 
    DrillBarObject drillBarObject = drillBar.getItem(0); 
    System.out.println(drillBarObject.getName()); // Print the filter abject name 

    // Print the filter value/if it is an empty string, it means "AllValues" 
    System.out.println(drillBarObject.getFilter()); 
} 
+0

返信いただきありがとうございます!あなたのコードを試しましたが、 'hasFilter()'はfalseを返します。私たちは同じことを話していますか?コード例のレポートフィルタは[シンプルレポートフィルタ](https://answers.uchicago.edu/images/group68/16772/Report_Filter_3.jpg)ですか? – bxtr

+0

いいえ、私たちは同じことについて話しません。どのブロックやレポートにも適用されるフィルタを見つけるためのコードを提供します。あなたはフィルターバーのものを探しています。 –

+0

フィルタバーからフィルタを取得する可能性はありますか? – bxtr

関連する問題