ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド
11g リリース 1 (11.1.1)
B61375-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

C.1 レポート定義ファイルのバッチ登録

Oracle Portalでレポートをバッチ登録するには、次の手順を実行します。

  1. rwconverterの実行によるSQLスクリプトの生成

  2. SQL*Plusでのスクリプトの実行

C.1.1 rwconverterの実行によるSQLスクリプトの生成

SQL*Plusで実行可能なレポート登録用SQLスクリプトを生成する手順は、次のとおりです。

  1. オペレーティング・システム・プロンプト(DOSまたはUNIX)から、rwconverterコマンドをキーワードとともに入力して、レポート定義ファイルをバッチ登録します。


    関連項目:

    rwconverterキーワードの詳細は、付録A「コマンドライン・キーワード」を参照してください。



    注意:

    必要なロード関数を持つスクリプト・ファイルを作成するには、DTYPESTYPESOURCEおよびDESTキーワードを指定します。Oracle Portalで機能パッケージを作成するには、スクリプト・ファイルの作成に使用したキーワードに加え、P_SERVERSP_PRIVILEGEP_TYPESP_FORMATSの各キーワードを指定する必要があります。


    次に、Microsoft Windowsでのrwconverterコマンドラインの例を示します。

    rwconverter.exe dtype="register" stype="rdffile"
    source="(security.rdf,earnings.rdf,acc_pay.rdf)" dest="(output.sql)" 
    p_owner="PORTAL_APP" p_servers="(repserver,acct_server)" 
    p_description="restricted report" p_privilege="(SCOTT,JABERS,ACCT)" 
    p_availability="production" p_types="(Cache,printer)" 
    p_formats="(HTMLCSS,PDF)" p_printers="(sales_printer,acct_printer)"
    p_pformTemplate="public.finance_template" 
    p_trigger="Is begin IF UPPER(DESTYPE) = ''PRINTER'' AND 
    EMPNAME = ''SMITH'' THEN RETURN(TRUE); ELSE RETURN(FALSE); END IF; end;"
    

    前述のコマンドラインを指定すると、output.sqlという名前で、次の内容を含むSQLスクリプト・ファイルが生成されます。

    SET SERVEROUTPUT ON 
    
    VAR STATUS NUMBER;
    
    EXEC :STATUS := RWWWVREG.REGISTER_REPORT (P_NAME=>'Security', 
    P_OWNER=>'PORTAL_APP', P_SERVERS=>'repserver,acct_server', 
    P_FILENAME=>'security.rdf', P_DESCRIPTION=>'restricted report', 
    P_PRIVILEGE=>'SCOTT,JABERS,ACCT', P_AVAILABILITY=>'production' 
    P_TYPES=>'Cache,printer', P_FORMATS=>'HTMLCSS,PDF', 
    P_PRINTERS=>'sales_printer,acct_printer 
    P_PFORMTEMPLATE=>'public.finance_template' P_PARAMETERS=>'(P_LASTNAME)
    (P_SSN)', P_TRIGGER=>'Is begin IF UPPER(DESTYPE) = ''PRINTER'' AND 
    EMPNAME = ''SMITH''THEN RETURN(TRUE); ELSE RETURN(FALSE); END IF; end;');
    
    EXEC :STATUS := RWWWVREG.REGISTER_REPORT (P_NAME=>'Earnings', 
    P_OWNER=>'PORTAL_APP', P_SERVERS=>'repserver,acct_server', 
    P_FILENAME=>'earnings.rdf', P_DESCRIPTION=>'restricted report', 
    P_PRIVILEGE=>'SCOTT,JABERS,ACCT', P_AVAILABILITY=>'production' 
    P_TYPES=>'Cache,printer)', P_FORMATS=>'HTMLCSS,PDF', 
    P_PRINTERS=>'sales_printer,acct_printer', 
    P_PFORMTEMPLATE=>'public.finance_template', 
    P_TRIGGER='Is begin IF UPPER(DESTYPE) = ''PRINTER'' AND EMPNAME = ''JABERS''
    THEN RETURN(TRUE); ELSE RETURN(FALSE); END IF; end;');
    
    EXEC :STATUS := RWWWVREG.REGISTER_REPORT (P_NAME=>'Acc_pay', 
    P_OWNER=>'PORTAL_APP', P_SERVERS=>'repserver,acct_server', 
    P_FILENAME=>'acc_pay.rdf', P_DESCRIPTION=>'restricted report', 
    P_PRIVILEGE=>'SCOTT,JABERS,ACCT', P_AVAILABILITY=>'production' 
    P_TYPES=>'Cache,printer', P_FORMATS=>'HTMLCSS,PDF', 
    p_printers=>'sales_printer,acct_printer', 
    P_PFORMTEMPLATE=>'public.finance_template' 
    P_TRIGGER=>'Is begin IF UPPER(DESTYPE) = ''PRINTER'' AND 
    EMPNAME = ''JABERS''THEN RETURN(TRUE); ELSE RETURN(FALSE); END IF; end;');
    

    このSQLスクリプト・ファイルの内容の詳細は、第C.3項「PL/SQLバッチ登録ファンクション」を参照してください。

  2. reports.logファイルで、変換処理中に発生したエラーがないかどうかを確認します。このファイルは通常、現在作業中のディレクトリに作成されます。reports.logファイルが生成されなかった場合、rwconverterで発生したエラーがないことを示します。

  3. ここで、システム・パラメータおよびユーザー・パラメータの値を必要に応じて編集できます。たとえば、前述のサンプル・スクリプトで最初のRWWWVREGファンクションにより、P_PARAMETERSという追加パラメータが生成されました。この処理が行われた理由は、security.rdfファイルに、P_LASTNAMEP_SSNという2つのユーザー定義パラメータが次のように記述されているためです。

    P_PARAMETERS=>'(P_LASTNAME)(P_SSN)',
    

    この場合、デフォルト、下限、上限の各値をオプションで定義したり、各ユーザー・パラメータの値リストを定義して、実行時にユーザーが入力できる値を制限できます。同様に、システム・パラメータを制限する場合には(たとえば、COPIESを使用してユーザーが作成できるコピーの数を制限する場合)、P_PARAMETERSキーワードを使用します。編集後のP_PARAMETERSキーワードは、次のようになります。

    P_PARAMETERS=>'(P_LASTNAME, LOV=LASTNAME_LOV)(P_SSN)(COPIES, DEFAULT=1,LOW=1,HIGH=2)'
    

    この修正後のコード・セグメントでは、レポートは次のように制限されます。

    • P_LASTNAMEユーザー・パラメータは、LASTNAME_LOV値リストに含まれる値に制限されます。

    • P_SSNにユーザーが指定する値が必要です。

    • COPIESシステム・パラメータのデフォルト値は1、また印刷部数は1か2である必要があります。

  4. output.sqlファイルを保存して閉じます。

C.1.2 SQL*Plusでのスクリプトの実行

レポートをOracle Portalに実際に登録するには、rwconverterにより生成したスクリプトを実行する必要があります。

  1. SQL*Plusを開始し、パッケージ・プロシージャを所有させるOracle Portalスキーマに接続します。

  2. SQL*Plusコマンド・プロンプトから、rwconverterで作成したスクリプトを実行します。

    @ output.sql
    

    このスクリプトにより、スクリプトに示された各レポートについて、指定されたパラメータを使用してOracle Portalでパッケージの実行と作成が行われます。

  3. RW_ADMINISTRATOR権限を持つユーザーとしてOracle Portalにログインします。

  4. 「企業ドキュメント」タブをクリックします。

  5. 「ビルダー」をクリックします。

  6. 「管理」タブをクリックします。

  7. 「Oracle Reportsセキュリティ」ポートレットで、「Oracle Reportsセキュリティの設定」をクリックします。

  8. 「レポート定義ファイル・アクセス」ポートレットで、SQLスクリプトでバッチ登録したいずれかのレポートのP_NAMEを入力します。

  9. 「編集」をクリックします。「コンポーネントの管理」ページが表示されます。

  10. ページ下部の「編集」をクリックして、レポートのパラメータを編集します。

  11. パラメータを必要に応じて編集します。

  12. 「OK」をクリックします。

  13. 「閉じる」をクリックします。

  14. スクリプトでバッチ登録したレポートごとにステップ8から13を繰り返します。