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

 

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

 

以前投稿したこちらの記事 #実装方法:データ登録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 メソッドもあります。

 

 

 

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

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

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

 

 

参考リンク

ビジネスコンポーネント

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