Technical Capabilities Tech Blog

#実装方法:ビジネスコンポーネントについて

2021年02月19日

 

こんにちは、新人の鎌倉です。

 

以前投稿したこちらの記事 #実装方法:データ登録Part2~ビジネスコンポーネント編~では

Newコマンドとのデータ登録の違いに着目して、ビジネスコンポーネントについてご紹介させていただきました。

 

今回の記事では、より詳しいビジネスコンポーネントの実装方法についてご紹介させていただきたいと思います。

 

※BCを使用するために必要なプロパティ設定等は、

#実装方法:データ登録Part2~ビジネスコンポーネント編~をご覧ください。

 

ビジネスコンポーネントについて

 

 

ビジネスコンポーネントは、

以前の記事のようにプロシージャでビジネスコンポーネントを使用して登録を行うことも可能ですが

プロシージャを呼び出さずに、ウェブパネルで直接データベースの更新を行える

唯一の方法がビジネスコンポーネントを使用する方法となります。

 

また、ビジネスコンポーネントを適用したオブジェクトは、

トランザクションに定義したルールが実行されるメリットもあります。

※下記の5つのルールは実行されない為注意が必要です。

 

しかし、1件ずつ更新処理を行うため、大量のデータ処理には向いていません。

 

そのため大量なデータの更新処理を行う場合は、

プロシージャでNewコマンドやFor eachを使用した実装が向いています。

 

 

ビジネスコンポーネントの登録・更新方法

 

以前の記事では、saveメソッドを使用したデータの登録方法を代表してご紹介させていただきましたが、

saveメソッドは更新も行えるメソッドとなります。

#実装方法:データ登録Part2~ビジネスコンポーネント編~

 

登録・更新を行えるメソッドはSaveメソッドの他に、

InsertメソッドやUpdateメソッドも存在します。

 

今回の記事でも引き続き、勤怠管理システムを例にして

それぞれのメソッドの違いについてご説明させていただきます。

 

打刻をする画面は以下のような画面だとします。

 

 

saveメソッド

 

saveメソッドは登録・更新が行えるメソッドになります。

 

なぜどちらの動作も行えるのかというと、適用先のビジネスコンポーネントに基づいて

変数の現在のモードを考慮して動作するためです。

 

また、更新を行う際はLoadメソッドを使用してメモリ内にロードを行います。

 

 

Insertメソッド・Updateメソッド

 

Insertメソッドは登録のみ、Updateメソッドは更新のみが行えるメソッドとなります。

 

これらのメソッドは、Saveメソッドとは違いデータベース側で追加・更新を考慮して動作します。

 

saveメソッドの方が使用しやすいように思いますが、データの更新時にUpdateメソッドでは

Loadメソッドを記述する必要がありません。

 

そのため、データベースへのアクセスを回避することが可能です。

 

 

 

ビジネスコンポーネントの削除方法

 

ビジネスコンポーネントで削除を行うには、Deleteメソッドを使用します。

Deleteメソッドでは、トランザクションから削除を行う時と同様の動作が実行されます。

 

削除する画面は、先ほどの画面に削除ボタンを新たに追加した画面だとします。

 

 

Deleteメソッド

 

削除されるデータは、存在するデータでなければならない為

Loadメソッドの記述が必要となります。

 

※他には、2レベルのトランザクションの削除を行えるRemoveByKey メソッドもあります。

 

 

 

ビジネスコンポーネントについての記事は、以上となります。

こちらの記事が少しでも参考になれば幸いです。

最後までお読みいただきありがとうございました。

 

 

参考リンク

ビジネスコンポーネント

ビジネスコンポーネントの例

 

Tech Blog一覧