Текущее время: Чт, июн 26 2025, 13:48

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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