Текущее время: Пт, сен 05 2025, 00:39

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Переменные Customer exit
СообщениеДобавлено: Пт, авг 05 2005, 12:57 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 09:33
Сообщения: 300
Откуда: Москва
Пол: Женский
Уважаемые специалисты, такой вопрос возник. Подскажите, пожалуйста, как правильно обрабатывать переменные такого типа? Задача следующая: нужно получить отчет, где есть колонки с информацией: за период( месяц+год), за интервал дат ("с первого числа месяца"... "по"), на дату(которая "по"). При запуске отчета требуется заполнить три ограничивающих параметра соответственно. Создала переменные типа Customer exit, чтобы заполнять их в подпрограмме, вычисляя их соответственно с одной даты("по"), которая подается со входа. В инклюде все заполняется, но дальше ничего не передается :-( И ничего не получается. Может все неправильно? Как выйти из ситуации? Может переменные не того типа? Help please!

_________________
С уважением, HB.


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

Зарегистрирован:
Вс, май 29 2005, 13:51
Сообщения: 133
Откуда: Москва
а в чем именно то пролема?
у САПеров есть How To... там все прям по частям расписано как делать - берете за пример и в свое переделываете:)
ну, вставте, например, в код:
Code:
if sy-uname = 'твои позывные'.
break-point.
endif.

и будет видно в чем траблы:)

_________________
Хочешь жить - умей вертеться!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 22 2005, 08:11 
Гость
Более подробно можно? А то из фразы "В инклюде все заполняется, но дальше ничего не передается И ничего не получается." не совсем ясно что вы делаете.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 08 2005, 14:10 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 09:33
Сообщения: 300
Откуда: Москва
Пол: Женский
при формировании отчета данные ограничиваются на конкретную дату в одном столбце, с начала месяца по эту дату в другом, и всего на период запланировано в третьем. При получении приходится три переменных вводить, чтобы получить правильные данные. Хочу вводить только конкретную дату, а остальные даты вычислять автоматически без показа на вводном экране. Ввела дополнительные переменные, прописала их обработку в include ZXRSRU01 когда i_step = 3. Они значения меняют, но при выходе из инклюда - все сбрасывается.
Какие конкретно HOW TO... использовать? Я нашла Verify the variable Input и Derive a variable from another variable. Они не те, которые нужны...

_________________
С уважением, HB.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 08 2005, 14:17 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Ср, авг 18 2004, 10:59
Сообщения: 754
Откуда: Moscow
Давайте сюда абаперный код для заполняемых переменных.

_________________
Фарш невозможно провернуть назад,
И мясо из котлет не восстановишь


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 08 2005, 14:22 
Гость
1.
Helen написала:
прописала их обработку в include ZXRSRU01 когда i_step = 3. Они значения меняют, но при выходе из инклюда - все сбрасывается.



2.
Helen написала:
Какие конкретно HOW TO... использовать? Я нашла Verify the variable Input и Derive a variable from another variable. Они не те, которые нужны...



1. Надо при step = 2

2. "How to derive a variable from another variable"


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 08 2005, 15:06 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 09:33
Сообщения: 300
Откуда: Москва
Пол: Женский
IF i_step = 2.
READ TABLE i_t_var_range WITH KEY vnam = '0P_ECKDT' INTO l_s_var.
IF sy-subrc = 0.
MOVE l_s_var-low TO dat.
MOVE l_s_var-low+0(6) TO period.
l_s_var-low = period.
l_s_var-high = period.
l_s_var-opt = 'BT'.
l_s_var-iobjnm = '0CALMONTH'.
l_s_var-vnam = 'PERIOD2'.
APPEND l_s_var TO i_t_var_range .
COMMIT WORK.
ENDIF.
тут все заполняется и добавляется, но при выходе из инклюда тут же чистится :( попадаем на i_step=3 уже все чисто.

_________________
С уважением, HB.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 09 2005, 09:47 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 09:33
Сообщения: 300
Откуда: Москва
Пол: Женский
и в отчете ограничения не срабатывают, данные выбираются все... Перечитала еще раз про объявления переменных, все сделала как в инструкции - не работает...

например
переменная "С начала месяца"
тип переменной: значение признака
обработка через: программа клиента
признак: календарный день
переменная представляет: Интервал, Необязательно, Не готово к вводу

код в инклюде
READ TABLE i_t_var_range WITH KEY vnam = '0P_ECKDT' INTO l_s_var.
IF sy-subrc = 0.
MOVE l_s_var-low TO dat.
MOVE l_s_var-low+0(6) TO period.
CONCATENATE period '01' INTO dat_n.
l_s_var-low = dat_n..
l_s_var-high = dat.
l_s_var-opt = 'BT'.
l_s_var-iobjnm = '0CALDAY'.
l_s_var-vnam = 'MONTH_B'.
APPEND l_s_var TO i_t_var_range .
ENDIF.

Где-то все же я ошибаюсь, но вот где??

_________________
С уважением, HB.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 09 2005, 13:14 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Вс, июн 26 2005, 22:41
Сообщения: 1135
Откуда: Москва
Пол: Мужской
Code:
IF i_step = 2.
READ TABLE i_t_var_range WITH KEY vnam = '0P_ECKDT' INTO l_s_var.
CASE i_vnam.
    WHEN 'имя твоей переменной'.
        IF sy-subrc = 0.
        MOVE l_s_var-low TO dat.
        MOVE l_s_var-low+0(6) TO period.
        CONCATENATE period '01' INTO dat_n.
        l_s_var-low = dat_n..
        l_s_var-high = dat.
        l_s_var-opt = 'BT'.
        l_s_var-iobjnm = '0CALDAY'.
        l_s_var-vnam = 'MONTH_B'.
        APPEND l_s_var TO i_t_var_range .
ENDCASE.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 09 2005, 13:34 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 09:33
Сообщения: 300
Откуда: Москва
Пол: Женский
Во-первых - в переменные надо объявлять: "обязательно, но начальное значение не разрешено". теперь переменная считается и в отчете данные обновляются. Слава Богу и огромное спасибо уважаемому BW-нику!!! Теперь вопрос немного изменился, я исправила код по его совету, но теперь две переменные не могу изменять, только одну. Строка APPEND l_s_range TO e_t_range при расчете второй переменной заменяет значения первой. Я уж и commit вставила. Не работает. Еще раз большое спасибо BW-ник!.

_________________
С уважением, HB.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 09 2005, 15:28 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 09:33
Сообщения: 300
Откуда: Москва
Пол: Женский
всё, все проблемы решены. спасибо всем за участие. огромное спасибо и низкий поклон BW-нику.
Всем удачи!

_________________
С уважением, HB.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Повтор
СообщениеДобавлено: Вт, сен 27 2005, 13:37 
Гость
Подскажите пож-ста окончательный код user-exita


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

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


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

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


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

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