> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# アクティビティの作成

> JSON リクエストをロードし、ID でケースを取得して、エクスポートされたファイルを work object に添付する Pega の UploadFileToCase アクティビティを設定します。

新しいアクティビティを作成するには、次の手順を実行します。

1. サービスの POST リクエストで、**Activity name** フィールドに新しいアクティビティの名前 (例: *UploadFileToCase*) を入力します。
2. **Create and open** をクリックして、新しいアクティビティを設定します。
3. **Security** タブで、メソッドとアクティビティからアクセスされる次のクラスを追加します: *Pega-API-CaseManagement* および *Work-*。
4. **Pages & Classes** タブで、アクティビティで使用するクラスを宣言します:
   * *AttachmentPage* (型 *Data-WorkAttach-File*)
   * *pyWorkPage* (型 *Work-*)

<Note>
  Pega では、***page*** は class object に対応します。
</Note>

5. **Parameters** タブで、アクティビティで使用するパラメーターを追加します。
   * Parameters:
     * 型 *String* の FileStream – このパラメーターには、Base64 形式のファイル contents が格納されます。
   * Local variables:
     * 型 *Boolean* の IsConverted – POST リクエスト内の JSON object を *myStepPage* のグローバル変数に変換するメソッドの実行結果を格納する論理変数です。
6. **Steps** タブで、object をロードし、ケースをそのファイルにリンクするメソッド用の新しい step を作成します。
   * POST リクエストの JSON object をアクティビティのパラメーターにロードするには:
     * **Method** フィールドに次のメソッド名を入力します: *Property-Set*
     * **Step page** フィールドに *.createCaseRequest* と入力します
     * *@(Pega-RULES:Page).pxConvertStringToPage(tools, myStepPage, Param.Request,"json")* メソッドの結果を *Local.IsConverted* 変数に格納します。POST リクエストの JSON object が *myStepPage* object に正常に変換されると、値は *true* になります。そうでない場合、値は *false* になります。
     * *myStepPage* object への値の設定が完了したら、アクティビティ変数 *Param.FileStream = .FileStream* を設定します。*myStepPage* に新しい property を追加するには、右側のターゲット icon をクリックし、次に **Create and open** を **Create Property** form でクリックします。
   * ID でケースを含む object を取得するには:
     * **Method** フィールドに *pxGetCase: Call pxGetCase* と入力して、アクティビティを呼び出します。
     * **Step page** フィールドに、*pyWorkPage* の結果を格納する object の名前を入力します。**WorkObjectId** パラメーターには *Param.CaseId* (つまりケース ID) と入力します。
   * **Pages & Classes** タブで宣言した *AttachmentPage* という名前の新しい空の object を作成するには:
     * **Method** フィールドに *Page-New* と入力します。
     * **Step page** フィールドに *AttachmentPage* と入力します。
     * メソッドのパラメーターは空のままにします。
   * *AttachmentPage* object のパラメーターについて:
     * *.pxAttachName* パラメーターには *Param.FileName* の値、*.pxAttachStream* パラメーターには *Param.FileStream* の値、*.pxAttachKey* パラメーターには *@getCurrentTimeStampUnique()* の値、*.pxRefObjectKey* パラメーターには *pyWorkPage.pzInsKey* の値を設定する必要があります。
     * **Method** フィールドに *Property-Set* と入力します。
     * **Step page** フィールドに *AttachmentPage* と入力します。
   * *Odj-Save* メソッドを使用して *AttachmenetPage* object を保存します。
   * *Link-Objects* メソッドを使用して、*pyWorkPage* object (つまり *pxGetCase: Call pxGetCase* を使用して取得したケース) を *AttachmentPage* object にリンクします。*LinkToPage* パラメーターには *AttachmentPage;*、*LinkClass* パラメーターには *Link-Attachment;*、*LinkMemo* パラメーターには *Param.FileName* と入力します。
   * *Commit* メソッドを使用して変更をデータベースにコミットします。
   * 必要に応じて、サービスからのレスポンスで受け取った *pyWorkPage – @(Pega-RULES:Page).pxConvertPageToString(tools, pyWorkPage, "json")* object を *Param.Response* に書き込みます。
