- En la solicitud POST del servicio, escriba un nombre para la nueva actividad (por ejemplo, UploadFileToCase) en el campo Activity name.
- Haga clic en Create and open para configurar la nueva actividad.
- En la pestaña Security, agregue las siguientes clases a las que accederán el método y la actividad: Pega-API-CaseManagement y Work-.
- En la pestaña Pages & Classes, declare las clases que usará la actividad:
- AttachmentPage de tipo Data-WorkAttach-File
- pyWorkPage de tipo Work-
En Pega, una página corresponde a un objeto de clase.
- En la pestaña Parameters, agregue los parámetros que usará la actividad.
- Parámetros:
- FileStream de tipo String – Este parámetro contendrá el contenido del archivo en Base64.
- Variables locales:
- IsConverted de tipo Boolean – La variable lógica que contendrá el resultado de ejecutar el método que convierte el objeto JSON de la solicitud POST en variables globales de myStepPage.
- Parámetros:
- En la pestaña Steps, cree nuevos pasos para métodos que cargarán objetos y vincularán el caso con su archivo.
- Para cargar el objeto JSON de la solicitud POST en los parámetros de la actividad:
- En el campo Method, escriba este nombre de método: Property-Set
- En el campo Step page, escriba .createCaseRequest
- Convierta el resultado del método @(Pega-RULES:Page).pxConvertStringToPage(tools, myStepPage, Param.Request,“json”) en la variable Local.IsConverted. El valor es true si el objeto JSON de la solicitud POST se convierte correctamente en el objeto myStepPage. En caso contrario, el valor es false.
- Una vez completado el objeto myStepPage, complete las variables de la actividad: Param.FileStream = .FileStream. Para agregar nuevas propiedades a myStepPage, haga clic en el icono de destino de la derecha y luego en Create and open en el formulario Create Property.
- Para obtener por su ID el objeto que contiene el caso:
- En el campo Method, escriba pxGetCase: Call pxGetCase para llamar a la actividad.
- En el campo Step page, escriba el nombre del objeto que almacenará el resultado de pyWorkPage. En el parámetro WorkObjectId, escriba Param.CaseId (es decir, el ID del caso).
- Para crear un nuevo objeto vacío llamado AttachmentPage que se declaró en la pestaña Pages & Classes:
- En el campo Method, escriba Page-New.
- En el campo Step page, escriba AttachmentPage.
- Deje vacíos los parámetros del método.
- Para los parámetros del objeto AttachmentPage:
- El parámetro .pxAttachName debe completarse con el valor de Param.FileName, el parámetro .pxAttachStream debe completarse con el valor de Param.FileStream, el parámetro .pxAttachKey debe completarse con el valor de @getCurrentTimeStampUnique(), y el parámetro .pxRefObjectKey debe completarse con el valor de pyWorkPage.pzInsKey.
- En el campo Method, escriba Property-Set.
- En el campo Step page, escriba AttachmentPage.
- Use el método Odj-Save para guardar el objeto AttachmenetPage.
- Use el método Link-Objects para vincular el objeto pyWorkPage (es decir, el caso que obtuvimos mediante pxGetCase: Call pxGetCase) con el objeto AttachmentPage. En el parámetro LinkToPage, escriba AttachmentPage;; en el parámetro LinkClass, escriba Link-Attachment; y en el parámetro LinkMemo, escriba Param.FileName.
- Use el método Commit para confirmar los cambios en la base de datos.
- Si es necesario, escriba en Param.Response el objeto pyWorkPage – @(Pega-RULES:Page).pxConvertPageToString(tools, pyWorkPage, “json”) que se recibe en la respuesta del servicio.
- Para cargar el objeto JSON de la solicitud POST en los parámetros de la actividad:
