Просто выполните следующий код:
report z.
INCLUDE ole2incl.
DATA: ole TYPE ole2_object,
voice TYPE ole2_object,
text TYPE string.
text = 'With the advent of ES6 (referred to as ES2015 from here on), which not only made promises native to the language without requiring one of the countless available libraries,'
&& 'we also got generators. Generators have the ability to pause execution' &&
'within a function, which means that by wrapping them in a utility function, ' &&
'we have the ability to wait for an asynchronous operation to finish before' &&
' moving on to the next line of code. Suddenly your asynchronous code could' &&
' start to look synchronous!'.
DATA: it_tline TYPE STANDARD TABLE OF tline.
CREATE OBJECT voice 'SAPI.SpVoice'.
CALL METHOD OF voice 'Speak' = ole
EXPORTING #1 = text.
Основная функция этой ABAP-программы — использовать технологию OLE (связывание и внедрение объектов) для вызова внешнего механизма синтеза речи для преобразования указанного текстового содержимого в речь и чтения его вслух. Программа использует SpVoice
объекты SAPI (интерфейс прикладного программирования речи) для реализации функции синтеза речи.
-
report z.
: это оператор отчета для программы ABAP, который обычно используется для определения имени и других свойств программы. Здесь имя программы указывается как «z», которое является заполнителем, а в реальных проектах обычно используется более описательное имя. -
INCLUDE ole2incl.
: Эта строка содержитole2incl
оператор включения библиотеки, которая содержит функциональные возможности ABAP для обработки объектов OLE. Это необходимо, поскольку мы будем использовать объекты OLE для взаимодействия с внешним механизмом синтеза речи. -
DATA: ole TYPE ole2_object, voice TYPE ole2_object, text TYPE string.
: Эта часть объявляет объекты данных, необходимые в программе. подробности следующим образом:ole
: переменная, используемая для хранения объектов OLE.voice
SpVoice
: Переменная, используемая для хранения объектов механизма синтеза речи .text
: переменная, используемая для хранения текстового содержимого, которое будет синтезировано в речь.
-
text = 'With .....
: эта строка объединяет содержимое нескольких строк текста в одну строку и сохраняет ее вtext
переменной. Этот текстовый контент будет передан в механизм синтеза речи для чтения вслух. -
DATA: it_tline TYPE STANDARD TABLE OF tline.
: Эта строка объявляет стандартную таблицу (STANDARD TABLE OF
)it_tline
, которая используется для хранения данных для текстовых строк. -
CREATE OBJECT voice 'SAPI.SpVoice'.
: Это очень важная часть, она создаетSAPI.SpVoice
объект и присваивает егоvoice
переменной. Этот объект является основным интерфейсом управления движком синтеза речи, который мы будем использовать для чтения текста. -
CALL METHOD OF voice 'Speak' = ole EXPORTING #1 = text.
: эта строка использует методыvoice
объектаSpeak
для чтения текста. Конкретное объяснение заключается в следующем:CALL METHOD OF voice
:voice
вызов метода через объект.'Speak'
: указывает метод для вызоваSpeak
, который является методом механизма синтеза речи, используемого для чтения текста вслух.= ole
: сохранить возвращаемое значение метода вole
переменной. Сюдаole
будут включены результаты операции чтения.EXPORTING #1 = text
: передать текстовое содержимоеtext
в качестве параметраSpeak
методу, чтобы механизм синтеза речи мог его прочитать.
Теперь давайте воспользуемся примером, чтобы подробно объяснить функцию этой программы ABAP. Предположим, у нас есть требование: в системе SAP при возникновении определенного бизнес-события нам необходимо автоматически прочитать пользователю фрагмент информативного текста. Мы можем использовать приведенную выше программу для достижения этого требования.
Пример:
Предположим, что наш бизнес-сценарий заключается в управлении заказами в системе SAP. При изменении статуса заказа системе необходимо выдать пользователю голосовую подсказку. Когда статус заказа изменится, мы можем вызвать вышеуказанную программу ABAP, чтобы прочитать соответствующую информацию.
-
Во-первых, нам нужно вызвать в системе SAP событие, которое меняет статус заказа, например, заказ успешно обработан.
-
Когда статус заказа изменится, мы можем написать код ABAP для вызова вышеуказанной программы, передав соответствующее текстовое содержимое в качестве параметров.
DATA: text_to_speak TYPE string.
text_to_speak = '订单号 12345 已成功处理。请注意查看订单状态。'.
CALL METHOD OF voice 'Speak' = ole EXPORTING #1 = text_to_speak.
В этом примере text_to_speak
включается текстовое содержимое, которое необходимо прочитать, то есть номер заказа и информация об изменении статуса. Когда код выполняется в CALL METHOD OF voice 'Speak' = ole EXPORTING #1 = text_to_speak.
этой строке, механизм синтеза речи прочитает текстовое содержимое и предоставит пользователю соответствующую информацию.
Таким образом, мы успешно использовали программу ABAP для реализации функции чтения текста в системе SAP с целью предоставления пользователю оперативной информации. Это полезно для улучшения пользовательского опыта и автоматизации уведомлений в бизнес-процессах.