Случилась такая ситуация - у меня есть самописная программа, из которой пользователи печатают нужные выходные формы. Недавно добавил еще один шаблон и он стал вываливаться с ошибкой. Суть проблемы такова.
Саму программу печати я вызываю так:
Code:
* добавляем в NAST строку печати
nast-ldest = 'LP01'.
nast-mandt = sy-mandt.
nast-kschl = 'ZDEL'.
nast-spras = sy-langu.
nast-manue = 'X'.
nast-nacha = '1'.
nast-delet = 'X'.
nast-vsztp = '3'.
nast-objky = it_likp-vbeln.
nast-kappl = 'V2'.
nast-repet = 'X'.
nast-dimme = 'X'.
nast-nauto = 'X'.
INSERT nast.
* добавляем в TNAPR и ITCPO параметры печати
PERFORM tnapr_lesen USING nast-kschl
nast-nacha
nast-kappl.
itcpo-tdimmed = p_tdim.
itcpo-tdpreview = p_view.
* вызываем программу печати
screen = p_view.
PERFORM entry IN PROGRAM zrvaddn01
USING retcode screen IF FOUND.
Теперь суть проблемы. В этой программе печати вызывается функция NAST_PROTOCOL_UPDATE, в которой программа и вылетает. Проверяет она там переменную s_cm_f_init, которой у меня естественно нету, и эта переменная вообще определена в Include группы функций. Вот у меня и возникли 2 вопроса:
1. Правильно ли я понимаю, что этот Include был включен в моджуле документа, из которого вызывается печать шаблона, и соответствено, при открытии этого документа автоматически заполняется переменная s_cm_f_init? Иначе я не понимаю, где эта переменная определяется и заполняется
2. Насущный вопрос - Каким образом можно заполнить эту переменную нужным мне значением, чтобы программа печати не вылетала и мой модуль нормально печатал "левый" шаблон?