Текущее время: Пт, июн 27 2025, 13:45

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Как присвоить значение переменной, опр. в другом месте? 8(
СообщениеДобавлено: Пн, сен 19 2005, 10:03 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, янв 27 2005, 07:57
Сообщения: 59
Случилась такая ситуация - у меня есть самописная программа, из которой пользователи печатают нужные выходные формы. Недавно добавил еще один шаблон и он стал вываливаться с ошибкой. Суть проблемы такова.
Саму программу печати я вызываю так:
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. Насущный вопрос - Каким образом можно заполнить эту переменную нужным мне значением, чтобы программа печати не вылетала и мой модуль нормально печатал "левый" шаблон?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 20 2005, 04:06 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, янв 27 2005, 07:57
Сообщения: 59
Видимо глупый вопрос, сорри.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 20 2005, 08:21 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, апр 05 2005, 17:02
Сообщения: 70
hitcher написал(а):
Видимо глупый вопрос, сорри.

Видимо, да :P
Надо бы указать версию. У меня (в. 4.6) FUNCTION NAST_PROTOCOL_UPDATE никаких переменных не проверяет. И вообще переменной s_cm_f_init нигде не нашёл. Так что уточни версию, либо глянь щательнее, где и что у тебя вылетает...
:)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как присвоить значение переменной, опр. в другом месте?
СообщениеДобавлено: Вт, сен 20 2005, 09:52 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
hitcher написал(а):
...
Теперь суть проблемы. В этой программе печати вызывается функция NAST_PROTOCOL_UPDATE, в которой программа и вылетает. Проверяет она там переменную s_cm_f_init, которой у меня естественно нету, и эта переменная вообще определена в Include группы функций. Вот у меня и возникли 2 вопроса:
1. Правильно ли я понимаю, что этот Include был включен в моджуле документа, из которого вызывается печать шаблона, и соответствено, при открытии этого документа автоматически заполняется переменная s_cm_f_init? Иначе я не понимаю, где эта переменная определяется и заполняется :(
2. Насущный вопрос - Каким образом можно заполнить эту переменную нужным мне значением, чтобы программа печати не вылетала и мой модуль нормально печатал "левый" шаблон?


Просмотреть ФМ 'CM_F_INITIALIZE' и много думать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 20 2005, 10:33 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, янв 27 2005, 07:57
Сообщения: 59
Вольдемар, неопытный я в этих делах пока. А версия вроде 4.7.

sy-uname, спасибо за ответ, только я все равно из документа на этот модуль выйти не могу, посмотреть, заполняет он или нет переменную - открывается модально диалог печати, и как из него в отладчик перейти (/h не дает писать) - не знаю :?
И как эту переменную самому заполнить, поэтому так пока и непонятно. Постараюсь другими способами перейти в этот функциональный модуль и посмотреть, что там происходит. А потом буду много думать.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 20 2005, 11:04 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, янв 27 2005, 07:57
Сообщения: 59
sy-uname, еще раз спасибо :!:
Нашел в группе смежных функций этот модуль, так понял, что он и инициализирует эту переменную. Еще я понял, что эту переменную, описанную в Include этой группы функций, никак, кроме как этими самыми функциями, не поменяешь. Вроде так получается.
Еще бы кто сказал, как отладчик из модального диалога вызвать, или как в отладчике остановиться на переменой, вообще было бы замечательно :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 21 2005, 18:32 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, авг 18 2004, 18:34
Сообщения: 101
Сделайте текстовый файл с содержимым:
[FUNCTION]
Command=/H
Title=Debugger
Type=SystemCommand
И перетащите мышом на модальное окно, провалитесь в отладку...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 22 2005, 03:48 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, янв 27 2005, 07:57
Сообщения: 59
Кто бы мог подумать, работает! Просто замечательно, Shurik, мой большой респект, вы просто облегчили мне жизнь! :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB