File Upload и File Download в SAP Sales/Service Cloud

В этой статье Андрей Матыс расскажет, как создать File Upload и File Download в программных продуктах SAP Sales Cloud и SAP Service Cloud, ранее известных как C4C (Cloud for Customers).

 
С4С предоставляет стандартный функционал для загрузки файлов – Attachment Folder (AF). Его можно использовать в стандартных и кастомных объектах. Но Attachment Folder представляет собой отдельную вкладку на экране и пользователям необходимо делать дополнительные «клики», чтобы загрузить файл.
Для загрузки одиночных файлов может помочь File Upload.
 
В данной статье мы рассмотрим, как создать и настроить File Upload and File Download для кастомного и стандартного бизнес-объекта.
 
Примечание. SAP рекомендует использовать Attachment Folder вместо File Upload.
 
Давайте начнем.
 
Во-первых, нам необходимо создать кастомную node, которая будет использоваться для сохранения загруженного файла.

 

  node File[1,1]{

         element FileContent: BASIS.Global:BinaryObject;

         element FileName: LANGUAGEINDEPENDENT_ENCRYPTED_EXTENDED_Name;

         element FileSize: NumberValue;

  }

Дополнительно, можно добавить параметр «Filter» в node. Он используется для того, чтобы фильтровать возможные типы файлов для загрузки.

 

element FileFilter: LANGUAGEINDEPENDENT_ENCRYPTED_EXTENDED_Name. 

 

Кастомный бизнес-объект будет выглядеть следующим образом:

 

import AP.Common.GDT as apCommonGDT;

 

businessobject FileUploadObject {

      

       [Label("Name")] element Name: BASIS.Global:Name;

 

       node File[1,1]{

              element FileContent: BASIS.Global:BinaryObject;

              element FileName: LANGUAGEINDEPENDENT_ENCRYPTED_EXTENDED_Name;

              element FileSize: NumberValue;

       }

 

}

 

Сейчас необходимо выполнить некоторые действия в UI Designer.
 
Для кастомного тестового объекта будет создан полный набор экранов с Thing-Based навигацией. Кнопки File Upload and File Download будут добавлены на TI экран.
 
На TI экран необходимо добавить кнопки File Upload и File Download из Toolbox (рисунок 1):

Рисунок 1 ­­– Добавление кнопок File Upload и Download

 

После этого необходимо подготовить DataModel (рисунок 2).
1.     Перетащить структуру FileContent в кастомный объект;
2.     Связать структуру FileContent и ее элементы с элементами в объекте;
3.     Удалить структуру FileDownload.

 

Рисунок 2 ­– Настройки DataModel

 

После этого необходимо вернуться в Designer и настроить кнопки (рисунки 4, 5).
*Дополнительный шаг: добавить поле «Имя файла» на TI (рисунок 3)


 

*Рисунок 3 – Добавить поле «Имя файла»

 

Настроить кнопку Upload Button (рисунок 4).

 


 

Рисунок 4 – Настройки кнопки Upload

 

 

 

 

Рисунок 5 – Настройки кнопки Download

 

Итак, конфигурация закончена. Сейчас нам необходимо выдать права на кастомный экран и протестировать (рисунок 6).

 


 

Рисунок 6 – Кнопки File Upload и Download

 

Сейчас мы добавим кнопку file upload на стандартный TI экран.
Необходимо создать node в standard бизнес-объекте (в моем случае ServiceRequest) и создать EC.
Дополнительно можно просмотреть видео, как создать и прикрепить EC к стандартному экрану: https://www.youtube.com/watch?v=fYfkQW564l0
 Расширение стандартного объекта будет выглядеть так:

 

import AP.Common.GDT;

import AP.CRM.Global;

 

[Extension] businessobject AP.CRM.Global:ServiceRequest {

 

    node Item {

 

    }

   

    node ServiceReferenceObject {

 

    }

 

    node File[1,1]{

        element FileContent: BASIS.Global:BinaryObject;

        element FileName: LANGUAGEINDEPENDENT_ENCRYPTED_EXTENDED_Name;

        element FileSize: NumberValue;

    }

 

}

 

После создания кастомной ноды необходимо создать EC.
На вкладке Designer необходимо добавить кнопки Upload и Download (также как на рисунке 2).
После этого необходимо сконфигурировать DataModel согласно рисунку 7.
Дополнительно была добавлена структура Inport. Она будет использована для того, чтобы хранить полученное значение Service Request ID с TI экрана.
Также необходимо сконфигурировать кнопки на вкладке Designer в соответствии Data Model (аналогично с рисунками 4 и 5).

 


 

Рисунок 7 – Конфигурация Data Model на экране EC

 

Сейчас нам необходимо сконфигурировать Inport и Event Handler на вкладке Controller (рисунки 8 и 9).
 


 

Рисунок 8 – Настройки Inport

 


 

Рисунок 9 – Настройки Event Handler

 

Сейчас нам необходимо прикрепить экран EC к стандартному экрану (я прикрепил EC к SR_TI на Pane Container) и протестировать (рисунок 10).

 


 

Рисунок 10 – File Upload на стандартном TI экране

 

Для удаления добавленного файла необходимо создать кастомный action для удаления данных из custom node.

Автор статьи - Андрей Матыс, инженер-программист отдела разработок направления Hybris

Подписаться на рассылку
 * — поля обязательные к заполнению
Подождите немного, идет отправка ...