フィルタコマンドの作成と配置手順について説明します。
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
フィルタコマンドの作成
以下の例を参考に、フィルタコマンドを作成してください。
ファイル名は「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)連携情報に関するオプションについては、オンラインマニュアル“旧機能編”を参照してください。
フィルタコマンドの配置
1.で作成した$SWP_TOP/binディレクトリ配下に、2.で作成したフィルタコマンド(swprint.prog)を配置します。
シンボリックリンクの設定
$FND_TOP/bin/fndcpesr をフィルタコマンドと同じディレクトリにswprintとしてシンボリックリンクをはります。
例:ln -s $FND_TOP/bin/fndcpesr $SWP_TOP/bin/swprint