Текущее время: Вт, июл 29 2025, 13:36

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: PNP не работает фильт по времени
СообщениеДобавлено: Пт, янв 29 2010, 11:24 
Специалист
Специалист

Зарегистрирован:
Пт, июл 29 2005, 13:13
Сообщения: 161
Товарисчи, случилось станное. По совершенно непонятной причине перестала работать фильтрация в PNP. Выглядит это следующим образом. На программу повешена PNP с нулевым экраном. Ввожу табельный номер и период в полях PNPBEGDA и PNPENDDA (например, 01.02.2010) и конкретный табельный номер, про который я знаю, что у него куча записей в инфотипе. Вместо того, чтобы отфильтровать мне только те записи ИТ, которые действуют на заданном временном интервале, вываливаются все записи, которые есть по данному таб. номеру. От инфотипа и от табельного номера этот глюк не зависит. Кто-нибудь сталкивался с таким глюком?
Приветствуются любые идеи (очень не хочется капаться в коде PNP через системную отладку).


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: PNP не работает фильт по времени
СообщениеДобавлено: Пт, янв 29 2010, 11:28 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
rush7ka написал(а):
Товарисчи, случилось станное. По совершенно непонятной причине перестала работать фильтрация в PNP. Выглядит это следующим образом. На программу повешена PNP с нулевым экраном. Ввожу табельный номер и период в полях PNPBEGDA и PNPENDDA (например, 01.02.2010) и конкретный табельный номер, про который я знаю, что у него куча записей в инфотипе. Вместо того, чтобы отфильтровать мне только те записи ИТ, которые действуют на заданном временном интервале, вываливаются все записи, которые есть по данному таб. номеру. От инфотипа и от табельного номера этот глюк не зависит. Кто-нибудь сталкивался с таким глюком?
Приветствуются любые идеи (очень не хочется капаться в коде PNP через системную отладку).

Фильтрация не работает во всех программах или в какой то одной? если в одной то она Z или стандарт?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PNP не работает фильт по времени
СообщениеДобавлено: Пт, янв 29 2010, 11:45 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, май 14 2007, 13:05
Сообщения: 561
Откуда: Москва
Besa написал:
вожу табельный номер и период в полях PNPBEGDA и PNPENDDA
Введите дату также в поля PNPBEGDS и PNPENDS. Или в Start-Selection присвойте pn-begps, pn-endps .

_________________
Sapere aude!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PNP не работает фильт по времени
СообщениеДобавлено: Пт, янв 29 2010, 11:52 
Специалист
Специалист

Зарегистрирован:
Пт, июл 29 2005, 13:13
Сообщения: 161
Besa написал:
Фильтрация не работает во всех программах или в какой то одной? если в одной то она Z или стандарт?

Для Z-отчетов это общая байда. Везде работает (точнее НЕ работает) одинаково.
Специально проверил несколько отчетов в ветке Персонал->Информационная система -> Отчеты -> Менеджмент персонала -> Администрирование -> Сотрудник. Там часть очеты обычные (типа RPLMIT00) и есть на SAPQUERY. На фильтрацию это не влияет - везде возвращается ВСЕ записи каждого указанного ИТ.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: PNP не работает фильт по времени
СообщениеДобавлено: Пт, янв 29 2010, 11:58 
Специалист
Специалист

Зарегистрирован:
Пт, июл 29 2005, 13:13
Сообщения: 161
N/A написал(а):
Введите дату также в поля PNPBEGDS и PNPENDS. Или в Start-Selection присвойте pn-begps, pn-endps .

Ну это уже опробовано давно. На входе в ЛБД все данные есть. Ини корректны и далее (внутри get PERNR). Дело не в сбросе значений. Подозреваю, что дело в том, что они НЕ ИСПОЛЬЗУЮТСЯ в ЛБД.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: PNP не работает фильт по времени
СообщениеДобавлено: Пт, янв 29 2010, 11:59 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
rush7ka написал(а):
Besa написал:
Фильтрация не работает во всех программах или в какой то одной? если в одной то она Z или стандарт?

Для Z-отчетов это общая байда. Везде работает (точнее НЕ работает) одинаково.
Специально проверил несколько отчетов в ветке Персонал->Информационная система -> Отчеты -> Менеджмент персонала -> Администрирование -> Сотрудник. Там часть очеты обычные (типа RPLMIT00) и есть на SAPQUERY. На фильтрацию это не влияет - везде возвращается ВСЕ записи каждого указанного ИТ.

Проверьте не накатывали ли какие либо ноты в последнее время.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PNP не работает фильт по времени
СообщениеДобавлено: Пт, янв 29 2010, 12:11 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, май 14 2007, 13:05
Сообщения: 561
Откуда: Москва
не так я понял, поля PNPBEG* используются для выбора именно табельных.

Выбор же данных организован по следующему принципу:
HR350 написал(а):
При наступлении события GET выполняется ввод в структуры данных указанных инфо-типов всех имеющихся для табельного номера записей. Структура PERNR заполняется данными из вышеупомянутых инфо-типов. В этой структуре возможно обращение к данным для их обработки.

Дальше уже provide, макросы RP_Provide*.

Также посмотрите макрос RP_SET_DATA_INTERVAL
HR350 написал(а):
С помощью макроса RP_SET_DATA_INTERVAL при наступлении события START-OF-SELECTION обеспечивается то, что из таблицы базы данных PAnnnn во внутреннюю таблицу Pnnnn импортируются только те записи, которые действительны в периоде выбора данных.

_________________
Sapere aude!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PNP не работает фильт по времени
СообщениеДобавлено: Пт, янв 29 2010, 13:04 
Специалист
Специалист

Зарегистрирован:
Пт, июл 29 2005, 13:13
Сообщения: 161
N/A написал(а):
Также посмотрите макрос RP_SET_DATA_INTERVAL
HR350 написал(а):
С помощью макроса RP_SET_DATA_INTERVAL при наступлении события START-OF-SELECTION обеспечивается то, что из таблицы базы данных PAnnnn во внутреннюю таблицу Pnnnn импортируются только те записи, которые действительны в периоде выбора данных.

Давайте чтобы исключить бесполезную переписку я внесу ясность. Я ЗНАЮ как согласно документации должна работать ЛБД PNP. Не надо это писать в тему. Только идеи как пофиксить.
Попробовал через AT-SELECTION-SCREEN вызвать макрос. Ожидаемо не работает. Насколько я помню из документации внутри ЛБД именно это макрос и вызывается перед выполнением.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: PNP не работает фильт по времени
СообщениеДобавлено: Пт, янв 29 2010, 13:57 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
[quote="rush7ka]
Давайте чтобы исключить бесполезную переписку я внесу ясность. Я ЗНАЮ как согласно документации должна работать ЛБД PNP. Не надо это писать в тему. Только идеи как пофиксить.
Попробовал через AT-SELECTION-SCREEN вызвать макрос. Ожидаемо не работает. Насколько я помню из документации внутри ЛБД именно это макрос и вызывается перед выполнением.[/quote]
Если раньше работало, а теперь не работает и проблема в стандартном компоненте, то решается это через выставление сообщения в SAP, а не на форум.
И программы сразу писать используя явные ограничения по датам через loop или provide (как, насклько я помню, всегда делается в курсах)

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PNP не работает фильт по времени
СообщениеДобавлено: Пт, янв 29 2010, 14:04 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, май 14 2007, 13:05
Сообщения: 561
Откуда: Москва
rush7ka написал(а):
Давайте чтобы исключить бесполезную переписку я внесу ясность. Я ЗНАЮ как согласно документации должна работать ЛБД PNP. Не надо это писать в тему. Только идеи как пофиксить. .
Не..ну извините если чем обидел. Но в топике про макрос не слова, а по указанным условиям в топике PNP и выдаст все записи инфотипов. Может в вашей системе PNP Z-edition, что раньше по другому работало? ;)
rush7ka написал(а):
Попробовал через AT-SELECTION-SCREEN вызвать макрос. Ожидаемо не работает. Насколько я помню из документации внутри ЛБД именно это макрос и вызывается перед выполнением.
Не правильно помните. Макрос RP_SET_DATA_INTERVAL надо вызывать вручную в событии Start-of-Selection. При вызове в событии AT-SELECTION-SCREEN эффекта не даст.

_________________
Sapere aude!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PNP не работает фильт по времени
СообщениеДобавлено: Пт, янв 29 2010, 15:15 
Специалист
Специалист

Зарегистрирован:
Пт, июл 29 2005, 13:13
Сообщения: 161
N/A написал(а):
Не правильно помните. Макрос RP_SET_DATA_INTERVAL надо вызывать вручную в событии Start-of-Selection. При вызове в событии AT-SELECTION-SCREEN эффекта не даст.

Приверил и этот вариант - не помогает.
Базис клянется, что ничего не менял ... буду дальше разбираться.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: PNP не работает фильт по времени
СообщениеДобавлено: Пт, янв 29 2010, 15:20 
Специалист
Специалист

Зарегистрирован:
Пт, июл 29 2005, 13:13
Сообщения: 161
sy-uname написал(а):
Если раньше работало, а теперь не работает и проблема в стандартном компоненте, то решается это через выставление сообщения в SAP, а не на форум.
И программы сразу писать используя явные ограничения по датам через loop или provide (как, насклько я помню, всегда делается в курсах)

Выставлять сообщение - это конечно правильно, но пока SAP CIS все поправит пройдет куча времени. Если кто-то уже сталкивался - буду благодарен за конкретные рекомендации.
Писать через loop это конечно умная мысль ... особенно в SAP-стандартных отчетах ... помогает ... весьма ... Может лучше ман по написанию ЛБД кинете в ветку? Глядишь, найду где в отладчике проверочку воткнуть ...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: PNP не работает фильт по времени
СообщениеДобавлено: Пт, янв 29 2010, 15:27 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
rush7ka написал(а):
Выставлять сообщение - это конечно правильно, но пока SAP CIS все поправит пройдет куча времени. ...

Не больше, чем ждать ответа на форуме и потом приделывать костыли к куче программ, которые (костыли) станут не нужными после выпуска ноты. И то, если костыль найдётся. При проблеме в PNP(CE) PCH править будет не SAP CIS, так как компонент общий, а не специфичный для CIS

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PNP не работает фильт по времени
СообщениеДобавлено: Пт, янв 29 2010, 15:32 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, май 14 2007, 13:05
Сообщения: 561
Откуда: Москва
rush7ka написал(а):
N/A написал(а):
Не правильно помните. Макрос RP_SET_DATA_INTERVAL надо вызывать вручную в событии Start-of-Selection. При вызове в событии AT-SELECTION-SCREEN эффекта не даст.

Приверил и этот вариант - не помогает.
Базис клянется, что ничего не менял ... буду дальше разбираться.
Еще немного занудства. Параметры вызова?
Например RP_SET_DATA_INTERVAL 'p0298' pn-begps pn-endps работать не будет, а RP_SET_DATA_INTERVAL 'P0298' pn-begps pn-endps будет.
По крайней в мере в нашей системе, именно так.

_________________
Sapere aude!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PNP не работает фильт по времени
СообщениеДобавлено: Пт, янв 29 2010, 15:56 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
rush7ka написал(а):
Писать через loop это конечно умная мысль ... особенно в SAP-стандартных отчетах ... помогает ... весьма ... Может лучше ман по написанию ЛБД кинете в ветку? Глядишь, найду где в отладчике проверочку воткнуть ...

Да, а где в стандартных не через loop? Везде либо loop, либо макрос RP_PROVIDE*
Далее
HR350 написал(а):
Раздел "Сбор данных"
Структура PERNR должна быть определена с помощью оператора TABLES.


Оператор INFOTYPES nnnn используется для создания внутренней таблицы с именем Pnnnn для каждого из описанных инфо-типов.


При возникновения события GET таблицы описанных инфо-типов заполняются всеми имеющимися для табельного номера записями. Поле PERNR структуры PERNR содержит табельный номер. При обработке возможен доступ к полю PERNR-PERNR. Это поле содержит отформатированное имя сотрудника.


Примечание: при возникновения события GET заполняются все внутренние таблицы инфо-типов. По этой причине следует описывать только те инфо-типы, которые необходимо обработать. Однако имеется возможность подавить заполнение внутренних таблиц с помощью расширения MODE N для оператора INFOTYPES.


HR350 написал(а):
Раздел "Период выбора данных и лиц"
Доступная в отчете структура PN (определенная в DBPNPCOM) заполняется на экране выбора. Даты начала и окончания периода выбора данных переносятся в поля PN-BEGDA и PN-ENDDA. При использовании периода выбора данных в цикле PROVIDE вводятся те записи инфо-типа, период действия которых перекрывает выбранный период хотя бы на один день.


...
Следует заметить, что команда GET PERNR выводит все записи данных инфо-типа в соответствующей внутренней таблице. Другими словами, выбор данных не ограничивает возможности считывания информации из базы данных.


_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.

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


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

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


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

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