ページの先頭行へ戻る
Interstage List Creator V10.4.1 ERP連携編
FUJITSU Software

3.2 フィルタコマンドの作成と配置

フィルタコマンドの作成と配置手順について説明します。

  1. SWP_TOP環境の作成

    $APPL_TOP配下にswpディレクトリを作成し、Oracle E-Business Suiteの動作時に有効となる環境変数に$SWP_TOPを追加します。

    swpディレクトリ配下には、以下の3つのディレクトリを作成します。

    • bin

    • log

    • out

    環境変数の設定例:
             #
             # Listcreator
             #
             SWP_TOP="/dev/oracle/prodapp1/swp"  ←作成したディレクトリ名を設定
             export SWP_TOP
    
  2. フィルタコマンドの作成

    以下の例を参考に、フィルタコマンドを作成してください。

    ファイル名は「swprint.prog」としています。

    なお、以下はSolarisのshを使用する場合を例に記述しています。

    フィルタコマンドの書式などの詳細については、使用するオペレーティングシステムのマニュアルなどを参照してください。

    #!/bin/sh                                                           ←使用するシェルを宣言します。
    #-----------------------------------------------------------------------
    # Listcreator sample
    
    LD_LIBRARY_PATH=/opt/FJSVoast/lib:/etc/opt/FSUNiconv/lib            ←List Creatorのインストールディレクトリを指定
                                                                          します。
    export LD_LIBRARY_PATH
    
    LANG=ja                                                             ←使用する言語を宣言します。
    export LANG
    
    #-----------------------------------------------------------------------
    # $Header: swprint.prog version 10.0
    
    echo '====================================================='
    echo 'Program Name($0)   : ' $0                            ←フィルタコマンドに渡されるパラメータです。(*1)
    echo 'username/pwd($1)   :  xxxxxx'                        ←フィルタコマンドに渡されるパラメータです。(*1)
    echo 'apps user id($2)   : ' $2                            ←フィルタコマンドに渡されるパラメータです。(*1)
    echo 'apps username($3)  : ' $3                            ←フィルタコマンドに渡されるパラメータです。(*1)
    echo 'request id($4)     : ' $4                            ←フィルタコマンドに渡されるパラメータです。(*1)
    echo 'Script Name($5)    : ' $5                            ←フィルタコマンドに渡されるパラメータです。(*1)
    echo 'Replase String($6) : ' $6                            ←フィルタコマンドに渡されるパラメータです。(*1)
    echo '====================================================='
    uname=`dirname $1`                                                  ←ユーザ名を代入します。
    echo 'UserName           : ' $uname
    passwd=`basename $1`                                                ←パスワードを代入します。
    echo 'Passwd             :  xxxxxx'
    form=$5                                                             ←帳票名を代入します。
    echo 'FormName         : ' $form
    shift 5                               ←$6以降の定位置パラメータを$1以降に再命名します。
    echo "\"\c" > /tmp/rep$$.tmp            個数はOracle E-Business Suiteで設定したパラメータの個数に合わせます。
    for i in "$@"
    do
        echo "$i:\c" >> /tmp/rep$$.tmp
    done
    echo "\"" >> /tmp/rep$$.tmp
    
    repstr="`cat /tmp/rep$$.tmp`"                                       ←SELECT文の置換文字列を代入します。
    
    echo 'ReplaceSrt         : ' $repstr
    
    echo '====================================================='
    #prprint -u ユーザ名 -w パスワード -q 置換文字列   スクリプトファイル名
    
    echo '#command line string'
    echo 'prprint  -u '$uname' -w xxxxxx -q '$repstr' '$form            ←コマンドラインを表示します。
    
    /opt/FJSVoast/bin/prprint -u $uname -w $passwd -q $repstr $form     ←prprintコマンドを実行します。(*2)
    
    rtn=$?
    echo 'return code = ' $rtn                                          ←復帰値を取得します。
    
    rm /tmp/rep$$.tmp
    
    if [ $rtn != 0 ]
    then
        exit 255;
    else                                                                ←エラー終了の場合
        exit 0;
    fi                                                                  ←正常終了の場合
    #-----------------------------------------------------------------------

    *1:
    パラメータ$0~$4の詳細については、Oracle E-Business Suiteのマニュアルなどを参照してください。
    パラメータ$5および$6には、“3.3 Oracle E-Business Suiteの環境設定”の4.で指定したパラメータが渡されます。この例では、帳票名および検索条件(SELECT文の置換文字列)が渡されます。

    *2:
    prprintコマンドの詳細については、オンラインマニュアル“アプリケーション作成ガイド”を参照してください。
    また、prprintコマンドのOCI 連携機能を使用したデータベース(Oracle)連携情報に関するオプションについては、オンラインマニュアル“旧機能編”を参照してください。

  3. フィルタコマンドの配置

    1.で作成した$SWP_TOP/binディレクトリ配下に、2.で作成したフィルタコマンド(swprint.prog)を配置します。

  4. シンボリックリンクの設定

    $FND_TOP/bin/fndcpesr をフィルタコマンドと同じディレクトリにswprintとしてシンボリックリンクをはります。

    例:ln -s $FND_TOP/bin/fndcpesr $SWP_TOP/bin/swprint