ページの先頭行へ戻る
Interstage List Creator V10.4.1 旧機能編
FUJITSU Software

4.4.1 プログラム開発方法

4.4.1.1 Database Direct連携コマンド実行時に設定する環境変数(【Solaris版】を使用する場合のみ)

コマンド実行時には、次の環境変数を設定してください。

なお、コマンドをコマンドラインから実行する場合は、BourneシェルまたはCシェル上で実行してください。これ以外のシェル上で実行すると、コマンドオプションで指定する日本語が正しく解釈されず、正しく動作しない場合があります。

LD_LIBRARY_PATH(必須)

List Creatorのライブラリ格納フォルダを指定する環境変数です。

この環境変数は、必ず指定してください。

この環境変数にList Creatorの以下のライブラリ格納フォルダが最優先になるように追加してください。

以下に、指定例を示します。

例:Bourneシェルを使用して環境変数LD_LIBRARY_PATHを指定する場合
LD_LIBRARY_PATH=/opt/FJSVoast/lib:/opt/FJSVoastw/lib:/etc/opt/FSUNiconv/lib:$LD_LIBRARY_PATH
export  LD_LIBRARY_PATH

PATH(必須/必要時)

List Creatorのライブラリ格納フォルダおよびコマンド格納フォルダを指定する環境変数です。

以下に、指定例を示します。

例:Bourneシェルを使用して環境変数PATHを指定する場合
PATH=/opt/FJSVoast/lib:/opt/FJSVoast/bin:$PATH
export  PATH

LANG(必須)

コマンドの実行環境の文字コード系(コマンドがコマンドオプション、帳票などを扱うときの文字コード系)を指定する環境変数です。

この環境変数は必ず指定してください。

指定できる値(*1)

意味

ja_JP.PCK

Shift-JISコード系であることを示します。

*1:上記以外の値(文字列)が指定された場合、コマンドの実行が異常終了します。

以下に、指定例を示します。

例:Bourneシェルを使用して環境変数LANGを指定する場合
LANG=ja_JP.PCK
export LANG

注意

  • 入力データに合わせて、帳票の文字コード系の変換、およびコマンドオプションの指定をする必要があります。詳細については、オンラインマニュアル“環境設定・帳票運用編”の帳票資源の準備と配置についての記載を参照してください。

RN_CHARACTER_SET(必須)

Database Direct連携機能で使用する文字コード系を指定する環境変数です。

指定できる値(*1)

意味

SJIS

Shift-JISコード系であることを示します。

*1:上記以外の値(文字列)が指定された場合、動作保証できません。

以下に、指定例を示します。

例:Bourneシェルを使用して環境変数RN_CHARACTER_SETを指定する場合
RN_CHARACTER_SET=SJIS
export RN_CHARACTER_SET

OA_ASSETSDIR(必要時)

List Creatorの帳票格納ディレクトリを指定する環境変数です。

帳票格納ディレクトリは、以下に示す方法で指定できます。番号は、帳票格納ディレクトリが複数の方法で同時に指定された場合に有効になる優先順序です。

  1. コマンドオプション(-command)で指定した帳票格納ディレクトリ

  2. 環境変数OA_ASSETSDIRで指定した帳票格納ディレクトリ

  3. prsetassetsdirコマンドで設定した帳票格納ディレクトリ

以下に、指定例を示します。

例:Bourneシェルを使用して環境変数OA_ASSETSDIRを指定する場合
OA_ASSETSDIR=/home/user1
export  OA_ASSETSDIR

4.4.1.2 naviexecコマンドの記述例

naviexecコマンドは、Database Direct連携機能を利用して帳票出力を行うための入力データを抽出するコマンドです。

naviexecコマンドを実行すると、指定した条件にしたがってデータベースから自動的に入力データが検索され、List Creatorで利用できるカンマ区切りのCSV形式のデータファイルが生成されます。

naviexecコマンドの記述例について、以下の場合に分けて記述します。

ポイント

  • naviexecコマンドは、【Windows/Solaris版】でのみサポートしています。

4.4.1.2.1 指定した問い合わせファイルの設定どおりにデータベースを検索してCSVファイルを生成する場合

以下に、アプリケーションサーバがWindowsの場合とSolarisの場合に分けて記述します。

アプリケーションサーバがWindowsの場合

[記述例]

以下のコマンドを実行します。

        naviexec
        -rne                "C:\temp\query.rne"
        -csv                "C:\temp\output.csv"
        -dbtype             ORACLE
        -cuser              "dbusername"
        -cupass             "dbpassword"
        -suser              "naviuser"
        -supass             "navipassword"
        -sserver            "naviserver"

上記コマンドを実行すると、以下の流れでCSVファイルが生成されます。

  1. Oracleに接続し、問い合わせファイル「query.rne」を用いてデータ検索を実行します。

  2. 「output.csv」ファイルが新規作成され、データベースを検索した結果(抽出されたデータ)が書き込まれます。

アプリケーションサーバがSolarisの場合

以降、Bourneシェルを使用した場合の記述例について示します。

[記述例]

以下のコマンドを実行します。

PATH=/opt/FJSVoast/bin:/opt/FJSVoast/lib:$PATH
LANG=ja_JP.PCK
LD_LIBRARY_PATH=/opt/FJSVoast/lib:/etc/opt/FSUNiconv/lib:$LD_LIBRARY_PATH
RN_CHARACTER_SET=SJIS
export  PATH  LANG  LD_LIBRARY_PATH  RN_CHARACTER_SET

        naviexec
        -rne                "/tmp/query.rne"
        -csv                "/tmp/output.csv"
        -dbtype             ORACLE
        -cuser              "dbusername"
        -cupass             "dbpassword"
        -suser              "naviuser"
        -supass             "navipassword"
        -sserver            "naviserver"

上記コマンドを実行すると、以下の流れでCSVファイルが生成されます。

  1. Oracleに接続し、問い合わせファイル「query.rne」を用いてデータ検索を実行します。

  2. 「output.csv」ファイルが新規作成され、データベースを検索した結果(抽出されたデータ)が書き込まれます。

4.4.1.2.2 問い合わせファイルの検索条件を動的に変更してデータベースを検索し、CSVファイルを生成する場合

以下に、アプリケーションサーバがWindowsの場合とSolarisの場合に分けて記述します。

アプリケーションサーバがWindowsの場合

[記述例]

以下のコマンドを実行します。

        naviexec
        -rne                "C:\temp\query.rne"
        -csv                "C:\temp\output.csv"
        -w                  "売上伝票"
        -dbtype             SQLSERVER
        -cuser              "dbusername"
        -cupass             "dbpassword"
        -suser              "naviuser"
        -supass             "navipassword"
        -sserver            "naviserver"
        -condition          db_itemname:
                            0:
                            RANGE::::
                            BETWEEN:
                            INCLUDE:
                            "10":
                            NOTINCLUDE:
                            "20"

上記コマンドを実行すると、以下の流れでCSVファイルが生成されます。

  1. SQL Serverに接続し、問い合わせファイル「query.rne」を用いてデータ検索を実行します。

  2. データベースの検索条件を動的に設定し、データベース内の項目「db_itemname」の値が10以上20未満のデータのみを抽出します。

  3. 「output.csv」ファイルが新規作成され、データベースを検索した結果(抽出されたデータ)が書き込まれます。

  4. 生成されたCSVファイル内の各行の先頭には、指定された帳票名である「売上伝票,」が書き込まれます。

アプリケーションサーバがSolarisの場合

以降、Bourneシェルを使用した場合の記述例について示します。

[記述例]

以下のコマンドを実行します。

PATH=/opt/FJSVoast/bin:/opt/FJSVoast/lib:$PATH
LANG=ja_JP.PCK
LD_LIBRARY_PATH=/opt/FJSVoast/lib:/etc/opt/FSUNiconv/lib:$LD_LIBRARY_PATH
RN_CHARACTER_SET=SJIS
export  PATH  LANG  LD_LIBRARY_PATH  RN_CHARACTER_SET

        naviexec
        -rne                "/tmp/query.rne"
        -csv                "/tmp/output.csv"
        -w                  "URIAGE"
        -dbtype             ORACLE
        -cuser              "dbusername"
        -cupass             "dbpassword"
        -suser              "naviuser"
        -supass             "navipassword"
        -sserver            "naviserver"
        -condition          db_itemname:
                            0:
                            RANGE::::
                            BETWEEN:
                            INCLUDE:
                            "10":
                            NOTINCLUDE:
                            "20"

上記コマンドを実行すると、以下の流れでCSVファイルが生成されます。

  1. Oracleに接続し、問い合わせファイル「query.rne」を用いてデータ検索を実行します。

  2. データベースの検索条件を動的に設定し、データベース内の項目「db_itemname」の値が10以上20未満のデータのみを抽出します。

  3. 「output.csv」ファイルが新規作成され、データベースを検索した結果(抽出されたデータ)が書き込まれます。

  4. 生成されたCSVファイル内の各行の先頭には、指定された帳票名である「URIAGE,」が書き込まれます。

4.4.1.2.3 問い合わせファイルの検索条件を動的に2箇所変更してデータベースを検索し、CSVファイルを生成する場合

以下に、アプリケーションサーバがWindowsの場合とSolarisの場合に分けて記述します。

アプリケーションサーバがWindowsの場合

[記述例]

以下のコマンドを実行します。

naviexec
        -rne                "c:\temp\query.rne"
        -csv                "c:\temp\output.csv"
        -w                  "売上伝票"
        -dbtype             SQLSERVER
        -cuser              "dbusername"
        -cupass             "dbpassword"
        -suser              "naviuser"
        -supass             "navipassword"
        -sserver            "naviserver"
        -condition          db_numitemname:
                            0:
                            RANGE::::
                            BETWEEN:
                            INCLUDE:
                            "10":
                            NOTINCLUDE:
                            "20",
                            db_stritemname:
                            0:
                            MATCH:
                            "ABC,DEF":
                            COMPLETE:
                            MATCH:::::

上記コマンドを実行すると、以下の流れでCSVファイルが生成されます。

  1. SQL Serverに接続し、問い合わせファイル「query.rne」を用いてデータ検索を実行します。

  2. データベースの検索条件を動的に設定し、以下の条件を満たすデータのみを抽出します。

    • データベース内の項目「db_numitemname」の値が10以上20未満

    • 「db_stritemname」の値が”ABC”、または”DEF”と完全一致

    なお、この2つの条件が論理積(AND)、論理和(OR)のどちらで結ばれるかは、問い合わせファイル作成時に事前に決定しておく必要があります。

  3. 「output.csv」ファイルが新規に生成され、データベースを検索した結果(抽出されたデータ)が書き込まれます。

  4. 生成されたCSVファイル内の各行の先頭には、指定された帳票名である「売上伝票,」が書き込まれます。

アプリケーションサーバがSolarisの場合

以降、Bourneシェルを使用した場合の記述例について示します。

[記述例]

以下のコマンドを実行します。

PATH=/opt/FJSVoast/bin:/opt/FJSVoast/lib:$PATH
LANG=ja_JP.PCK
LD_LIBRARY_PATH=/opt/FJSVoast/lib:/etc/opt/FSUNiconv/lib:$LD_LIBRARY_PATH
RN_CHARACTER_SET=SJIS
export  PATH  LANG  LD_LIBRARY_PATH  RN_CHARACTER_SET

        naviexec
        -rne                "/tmp/query.rne"
        -csv                "/tmp/output.csv"
        -w                  "URIAGE"
        -dbtype             ORACLE
        -cuser              "dbusername"
        -cupass             "dbpassword"
        -suser              "naviuser"
        -supass             "navipassword"
        -sserver            "naviserver"
        -condition          db_numitemname:
                            0:
                            RANGE::::
                            BETWEEN:
                            INCLUDE:
                            "10":
                            NOTINCLUDE:
                            "20",
                            db_stritemname:
                            0:
                            MATCH:
                            "ABC,DEF":
                            COMPLETE:
                            MATCH:::::

上記コマンドを実行すると、以下の流れでCSVファイルが生成されます。

  1. Oracleに接続し、問い合わせファイル「query.rne」を用いてデータ検索を実行します。

  2. データベースの検索条件を動的に設定し、以下の条件を満たすデータのみを抽出します。

    • データベース内の項目「db_numitemname」の値が10以上20未満

    • 「db_stritemname」の値が”ABC”、または”DEF”と完全一致

    なお、この2つの条件が論理積(AND)、論理和(OR)のどちらで結ばれるかは、問い合わせファイル作成時に事前に決定しておく必要があります。

  3. 「output.csv」ファイルが新規に生成され、データベースを検索した結果(抽出されたデータ)が書き込まれます。

  4. 生成されたCSVファイル内の各行の先頭には、指定された帳票名である「URIAGE,」が書き込まれます。

4.4.1.3 prnaviコマンドの記述例

prnaviコマンドは、Database Direct連携機能を利用して帳票出力を行うための入力データを抽出し、そのまま続けて帳票出力を行うためのコマンドです。

prnaviコマンドを実行すると、指定した条件にしたがってデータベースから帳票に配置する入力データが抽出されます。抽出された入力データとList Creatorの帳票出力コマンドを利用して、そのまま帳票が出力されます。

prnaviコマンドの記述例について、以下の場合に分けて記述します。

ポイント

  • prnaviコマンドは、【Windows/Solaris版】でのみサポートしています。

4.4.1.3.1 指定した問い合わせファイルの設定に応じてデータベースを検索し、その結果をもとに帳票印刷を行う場合

以下に、アプリケーションサーバがWindowsの場合とSolarisの場合に分けて記述します。

アプリケーションサーバがWindowsの場合

[記述例]

以下のコマンドを実行します。

prnavi
    -rne           "c:\temp\query.rne:売上伝票"
    -dbtype        ORACLE
    -cuser         "dbusername"
    -cupass        "dbpassword"
    -suser         "naviuser"
    -supass        "navipassword"
    -sserver       "naviserver"
    -command       prputex
    -h             hostA
    -b
    -a             "帳票出力サーバのList Creatorインストールディレクトリ\samples"
    -z             -atmethod print

上記コマンドを実行すると、以下の流れで帳票が出力されます。

  1. Oracleに接続し、問い合わせファイル「query.rne」を用いてデータ検索を実行します。

  2. データベースを検索した結果をもとに、帳票名「売上伝票」がプリンタに印刷されます。

  3. 帳票は、「帳票出力サーバのList Creatorインストールディレクトリ\samples」に格納されているものが自動的に設定されます。

アプリケーションサーバがSolarisの場合

以降、Bourneシェルを使用した場合の記述例について示します。

[記述例]

以下のコマンドを実行します。

PATH=/opt/FJSVoast/bin:/opt/FJSVoast/lib:$PATH
LANG=ja_JP.PCK
LD_LIBRARY_PATH=/opt/FJSVoast/lib:/etc/opt/FSUNiconv/lib:$LD_LIBRARY_PATH
RN_CHARACTER_SET=SJIS
export  PATH  LANG  LD_LIBRARY_PATH  RN_CHARACTER_SET

    prnavi
    -rne           "/tmp/query.rne:URIAGE"
    -dbtype        ORACLE
    -cuser         "dbusername"
    -cupass        "dbpassword"
    -suser         "naviuser"
    -supass        "navipassword"
    -sserver       "naviserver"
    -command       prputex
    -h             hostA
    -b
    -a             "帳票出力サーバの/home/user1"
    -z             -atmethod print

上記コマンドを実行すると、以下の流れで帳票が出力されます。

  1. Oracleに接続し、問い合わせファイル「query.rne」を用いてデータ検索を実行します。

  2. データベースを検索した結果をもとに、帳票名「URIAGE」がプリンタに印刷されます。

  3. 帳票は、「帳票出力サーバの/home/user1」に格納されているものが自動的に設定されます。

4.4.1.3.2 指定した問い合わせファイルの設定に応じてデータベースを検索し、その結果をもとにマルチフォームのPDFファイルを出力する場合

以下に、アプリケーションサーバがWindowsの場合とSolarisの場合に分けて記述します。

アプリケーションサーバがWindowsの場合

[記述例]

以下のコマンドを実行します。

prnavi
    -rne           "c:\temp\query.rne:売上伝票1,
                   c:\temp\query.rne:売上伝票2"
    -dbtype        ORACLE
    -cuser         "dbusername"
    -cupass        "dbpassword"
    -suser         "naviuser"
    -supass        "navipassword"
    -sserver       "naviserver"
    -delimit       |
    -condition     db_itemname:
                   0:
                   RANGE::::
                   BETWEEN:
                   INCLUDE:
                   "10":
                   NOTINCLUDE:
                   "20"
                   |
                   db_stritemname:
                   0:
                   MATCH:
                   "ABC,DEF":
                   COMPLETE:
                   MATCH:::::
    -command       prputex
    -h             hostA
    -d             "アプリケーションサーバのList Creatorインストールディレクトリ\samples"
    -lcform        "売上伝票1;売上伝票2"
    -z             -atmethod file
                   -keeppdf C:\temp\売上伝票.pdf

上記コマンドを実行すると、以下の流れで帳票が出力されます。

  1. Oracleに接続し、問い合わせファイル「query.rne」を用いてデータ検索を実行します。

  2. データベースの検索条件を動的に設定し、売上伝票1に対して、データベース内の項目「db_itemname」の値が10以上20未満という条件でデータを抽出します。

  3. 売上伝票2に対しては、「db_stritemname」の値が「ABC」または「DEF」と完全一致したという条件を満たすデータのみを抽出します。

    この場合、検索条件の区切り文字には、「バーティカルバー(|)」を使用しています。

  4. データベースを検索した結果をもとに、帳票名「売上伝票1」と「売上伝票2」がPDFファイル「売上伝票.pdf」としてマルチフォーム出力されます。

  5. 帳票は、アプリケーションサーバ(Windows)の「アプリケーションサーバのList Creatorインストールディレクトリ\samples」に格納されている「売上伝票」が転送され、帳票出力サーバ(Windows)「hostA」で生成されたPDFファイル(「売上伝票.pdf」)が設定されます。

アプリケーションサーバがSolarisの場合

以降、Bourneシェルを使用した場合の記述例について示します。

[記述例]

以下のコマンドを実行します。

PATH=/opt/FJSVoast/bin:/opt/FJSVoast/lib:$PATH
LANG=ja_JP.PCK
LD_LIBRARY_PATH=/opt/FJSVoast/lib:/etc/opt/FSUNiconv/lib:$LD_LIBRARY_PATH
RN_CHARACTER_SET=SJIS
export  PATH  LANG  LD_LIBRARY_PATH  RN_CHARACTER_SET

        prnavi
        -rne                "/tmp/query.rne:DENPYO1,
                            /tmp/query.rne:DENPYO2"
        -dbtype             ORACLE
        -cuser              "dbusername"
        -cupass             "dbpassword"
        -suser              "naviuser"
        -supass             "navipassword"
        -sserver            "naviserver"
        -delimit            |
        -condition          db_numitemname:
                            0:
                            RANGE::::
                            BETWEEN:
                            INCLUDE:
                            "10":
                            NOTINCLUDE:
                            "20"
                            |
                            db_stritemname:
                            0:
                            MATCH:
                            "ABC,DEF":
                            COMPLETE:
                            MATCH:::::
        -command            prputex
        -h                  -hostA           
        -d                  "アプリケーションサーバの/home/user1"
        -lcform             "DENPYO1;DENPYO2"
        -z                  -atmethod file
                            -keeppdf /tmp/DENPYO.pdf

上記コマンドを実行すると、以下の流れで帳票が出力されます。

  1. Oracleに接続し、問い合わせファイル「query.rne」を用いてデータ検索を実行します。

  2. データベースの検索条件を動的に設定し、DENPYO1に対して、データベース内の項目「db_itemname」の値が10以上20未満という条件でデータを抽出します。

  3. DENPYO2に対しては、「db_stritemname」の値が「ABC」または「DEF」と完全一致したという条件を満たすデータのみを抽出します。

    この場合、検索条件の区切り文字には、「バーティカルバー(|)」を使用しています。

  4. データベースを検索した結果をもとに、帳票名「売上伝票1」と「売上伝票2」がPDFファイル「DENPYO.pdf」としてマルチフォーム出力されます。

  5. 帳票は、アプリケーションサーバ(Solaris)の「アプリケーションサーバの/home/user1」に格納されている「DENPYO」が転送され、帳票出力サーバ(Solaris)「hostA」で生成されたPDFファイル(「DENPYO.pdf」)が設定されます。