複数DB接続で異なるデータベースから取得したテーブルの値を、同じブロックに出力する方法
開発のポイント
TALONではJavaScriptエンジンを使用して以下のような機能を設定する事が可能です。
1)指定した複数DB接続のデータベースに対してSQLを実行する事ができます。
2)SQL(SELECT文)で取得した値を、指定したブロックの値として転記する事ができます。
この機能を利用し、複数DB接続先のデータを画面に表示します。
1)指定した複数DB接続のデータベースに対してSQLを実行する事ができます。
2)SQL(SELECT文)で取得した値を、指定したブロックの値として転記する事ができます。
この機能を利用し、複数DB接続先のデータを画面に表示します。
サンプルソース(検索後JavaScriptで複数DB接続先のテーブルを参照し同一レコードとして画面に表示する)
function exec() { //◆値をセットした画面のブロック情報を取得(ブロック1) var blockSelectMap = TALON.getBlockData_Card(1); if(blockSelectMap != null){ //◆複数DB接続で設定した接続先でデータを抽出(SELECT文)を実行 var sql = "SELECT Name FROM TestCollection WHERE ITEM_CODE = '" + blockSelectMap['ITEM_CODE'] + "' "; var selectList = TalonDbUtil.select( TALON.getOtherDBConn("1") , sql ); var selectMap = selectList[0]; //◆SELECTで取得したデータとブロックのデータで、画面に出力したデータを作成 var margeData = { 'ITEM_CODE' : blockSelectMap['ITEM_CODE'], 'ITEM_NM' : blockSelectMap['ITEM_NM'], 'SMPL_ITEM_KBN' : blockSelectMap['SMPL_ITEM_KBN'], 'ITEM_SIZE' : blockSelectMap['ITEM_SIZE'], 'SMPL_SIZE_KBN' : blockSelectMap['SMPL_SIZE_KBN'], 'NAME' : selectMap['Name'] }; var arr = [margeData]; //◆作成した出力用のデータをブロックにセットする(ブロック1) TALON.setSearchedDisplayList(1,arr); } } //処理開始 exec();