上記の before ハンドラの例について話し合ったので、次に after ハンドラの実装を見てみましょう。
ハンドラはハンドラのの後に実行され、多くの場合、送信データの拡張に使用されます。
例として、カタログサービスのアフターハンドラを作成します。在庫が 200 を超える書籍に対して 11% の割引を適用します。このために、文字列 "- 11% 割引!"ポストハンドラを使用して、株式が 200 を超えるすべての本のタイトルにが追加されます。
前ハンドラの実装と同じ方法で進めます。つまり、cat-service.js というファイルをプロジェクトの srv フォルダに登録します。これは、このフォルダには CatalogService の定義に使用されるファイル cat-service.cds も含まれているためです (以下の図を参照)。

前のハンドラで説明した内容と同様に、cat-service.js ファイルに cds.ApplicationService のサブクラスを登録します。これは CatalogService と呼ばれます。
ブックタイトルを操作するには、Books エンティティで READ 操作用に登録する必要がある after ハンドラが必要です。そのために、登録された実装クラスで継承された init() メソッドを上書きします (以下の図を参照)。

init() メソッドに after ハンドラを登録するには、継承された after() メソッドを this.after() から呼び出します。after() メソッドには以下のインタフェースがあります。個々のパラメータの詳細な説明については、CAP 文書を参照してください。
12345function after (
event : string | string[] | '*',
entity? : CSN definition | CSN definition[] | string | string[] | '*',
handler : function
)この例では、Books エンティティに対する READ 操作に対して、名前付き関数 this.grantDiscount を登録します。これを行うために、前述の前のハンドラの登録と同様に処理します。

