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

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


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

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


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

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