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

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


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

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


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

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