Текущее время: Пн, авг 25 2025, 14:52

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




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: User exit переменная
СообщениеДобавлено: Ср, авг 15 2012, 18:06 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, авг 08 2011, 15:42
Сообщения: 79
Добрый вечер.
Есть задача:
Добавить возможность выбора интервала дат необязательного для ввода «Календарный месяц», (при этом, если пользователь не вводит значение интервала, то при запуске формирования отчета указанная переменная должна принимать значение ДАТАНАЧАЛАГОДА-ДАТАКОНЦАГОДА, где значение года берется в обязательной для ввода переменной «Календарный год»).

Помогите. Как это сделать.
И в каком I_Step.

Заранее спасибо.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: User exit переменная
СообщениеДобавлено: Чт, авг 16 2012, 04:51 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, фев 09 2011, 07:19
Сообщения: 753
Откуда: Сибирь
Пол: Мужской
Обрабатываем на IF i_step = 2.
Пусть:
ZVAR_CALYEAR - обязательная для ввода переменной «Календарный год»
ZVAR_CALMONTH - необязательная для ввода переменная «Календарный месяц»

Тогда:
Code:
DATA: lvar_range LIKE rrrangeexit,
      g_s_range TYPE rsr_s_rangesid.

IF i_vnam = 'ZVAR_CALMONTH'.
  IF i_step = 2.     
   
    CLEAR lvar_range.

    " считываем переменную «Календарный месяц»
    READ TABLE I_T_VAR_RANGE WITH KEY VNAM = 'ZVAR_CALMONTH'
    INTO lvar_range.
    IF lvar_range-LOW IS INITIAL. " например, если нижняя граница пустая

      " считываем переменную "Календарный год"
      READ TABLE I_T_VAR_RANGE WITH KEY VNAM = 'ZVAR_CALYEAR'
      INTO lvar_range.
      IF sy-subrc = 0 AND lvar_range-LOW IS NOT INITIAL.
        g_s_range-sign = 'I'.
        g_s_range-opt  = 'EQ'.

        CONCATENATE lvar_range-LOW '0101' INTO g_s_range-low.
        CONCATENATE lvar_range-LOW '1231' INTO g_s_range-high.
        APPEND g_s_range TO e_t_range.
      ENDIF.
    ENDIF.


  ENDIF.
ENDIF.


UPD: поправил, примерно так.

_________________
Ешьте рыбу, в ней фосфор.
__
Чат в Telegram по SAP BW: http://t.me/BW_SAP


Последний раз редактировалось 12ozmdm Чт, авг 16 2012, 10:03, всего редактировалось 3 раз(а).

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: User exit переменная
СообщениеДобавлено: Чт, авг 16 2012, 09:55 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, авг 08 2011, 15:42
Сообщения: 79
А где тут проверка происходит на то что в переменную Календарный день не вбиты данные?
Насколько я вижу тут идет проверка на инициализацию года.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: User exit переменная
СообщениеДобавлено: Чт, авг 16 2012, 10:05 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, фев 09 2011, 07:19
Сообщения: 753
Откуда: Сибирь
Пол: Мужской
[url]А где тут проверка происходит на то что в переменную Календарный день не вбиты данные?[/url]
Поправил выше код, я его не тестировал, но должно сработать. В зависимости от того насколько заполнены границы (только верхняя или только нижняя) уже дальше как вам нужно заполняйте, здесь я проверил только нижнюю границу.

_________________
Ешьте рыбу, в ней фосфор.
__
Чат в Telegram по SAP BW: http://t.me/BW_SAP


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: User exit переменная
СообщениеДобавлено: Чт, авг 16 2012, 13:17 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, авг 08 2011, 15:42
Сообщения: 79
Вроде логика правильная. Но не работает((( Выкидывает значение календарного дня как пустое разграничение.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: User exit переменная
СообщениеДобавлено: Пт, авг 17 2012, 10:51 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, янв 25 2007, 09:57
Сообщения: 276
Тут мне кажется необходимо сделать 3 переменные. Год, Месяц для ввода, Месяц для ограничения.
Месяц для ввода - открытая для ввода переменная ею ничего не ограничиваем на деле, а просто ставим в скрытый огр.показатель-пустышку, чтобы ее у нас запросило на ввод
Месяц для ограничения - закрытая для ввода переменная, которую заполняем на 2-м степе из года и открытого на ввод месяца. Вот этой переменной и ограничиваем нужные нам данные.
Я так делал.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: User exit переменная
СообщениеДобавлено: Пт, авг 17 2012, 11:44 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, фев 09 2011, 07:19
Сообщения: 753
Откуда: Сибирь
Пол: Мужской
Совсем забыл про ноту: Note 492504 - Dependent customer exit-type variables
в которой говорится, что только те переменные, которые "не готовы ко вводу" могут быть заполнены в i_step = 2.

_________________
Ешьте рыбу, в ней фосфор.
__
Чат в Telegram по SAP BW: http://t.me/BW_SAP


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

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


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

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


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

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