В общем-то иногда возникает задача когда есть документ которые требуется отправить получателю, а хотя бы и например той же функцией SO_NEW_DOCUMENT_SEND_API1. При этом в документе есть специальные шаблоны которые к моменту отправки требуется заполнить на вполне реальные значения. Ну например есть строка текста бюджетного платежа вида:
my_string = '*;101;;*23070600*<OKPO>*<EXTNUM>*<DATEDOC>*21625786*1*;'.
И нужно вот эти вот тексты заменить в момент формирования на код ОКПО клиента, внешний номер и т.д. Вариантов может быть много как это сделать, но я использую следующий макрос:
DEFINE replace_mask.
l_pattern = &2.
l_repl_string = &3.
l_string = &1.
call function 'C147_REPLACE'
exporting
i_pattern = l_pattern
i_repl_string = l_repl_string
changing
x_string = l_string.
&1 = l_string.
END-OF-DEFINITION.
Пример вызова следующий: replace_mask: my_string '<OKPO>' '34567890'.
Этот вызов найдет в строке my_string, текст <OKPO> и заменит его на '34567890'.