Текущее время: Сб, июл 26 2025, 04:07

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Соединения таблиц с уловием в ракурсах ведения (se11)
СообщениеДобавлено: Чт, окт 06 2011, 09:55 
Ассистент
Ассистент

Зарегистрирован:
Пт, дек 19 2008, 06:58
Сообщения: 34
Откуда: Уфа
Пол: Женский
Добрый день, коллеги.
Задача такая: создать вьюшку с помощью Z-таблицы и присоединить к ней справочные данные, например по таб.номеру "пришить" должность.
Есть Z-таблица к ней в ракурсе ведения (se11) присоединяю стандартную таблицу (PA0001 "орг присвоение по таб.номеру"). Для этого создаю в Z таблице внешний ключ с завязкой на PA0001. В ракурсе ведения использую этот ключ. Затем использую таблицу справочник - должность, чтоб подтянуть текстовку.
Проблема: в таблице PA0001 несколько записей по выборке с заданным таб. номером (т.к. могут изменяться должности и отделы и пр.), мне нужна только запись с текущей активностью, т.е. "открытой" датой окончания действия записи (ENDDA ='31.12.9999' ), а система подставляет первую попавшуюся, естественно просроченную. Можно ли наложить условие на внешний ключ, чтоб тянулась только одна конкретная запись?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Соединения таблиц с уловием в ракурсах ведения (se11)
СообщениеДобавлено: Чт, окт 06 2011, 10:12 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
В ракурсе ведения есть закладка "Условие выбора".


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Соединения таблиц с уловием в ракурсах ведения (se11)
СообщениеДобавлено: Чт, окт 06 2011, 13:04 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
panna написала:
по таб.номеру "пришить" должность.

Если стоит только эта задача, то она уже реализована в модуле HR, причем намного более гибко - через орг.присвоение :?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Соединения таблиц с уловием в ракурсах ведения (se11)
СообщениеДобавлено: Чт, окт 06 2011, 14:31 
Ассистент
Ассистент

Зарегистрирован:
Пт, дек 19 2008, 06:58
Сообщения: 34
Откуда: Уфа
Пол: Женский
Условия выбора прописаны, но на связку оно ппочему-то не действует.
Вот такая связка прописана: (с помощью вторичных ключей)
PA0001 MANDT = ZPM_RP_OPL MANDT
PA0001 PERNR = ZPM_RP_OPL PERNR (табельный номер)
T513 MANDT = PA0001 MANDT
T513 STELL = PA0001 STELL (код должности)

а Условия выбора:
PA0001 ENDDA EQ '99991231'
в справочнике по выбору таб.номера "старые" записи отсеиваются, а в связке T513-STELL=PA0001-STELL выводится текст первой (устаревшей) записи.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Соединения таблиц с уловием в ракурсах ведения (se11)
СообщениеДобавлено: Чт, окт 06 2011, 15:17 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
panna написала:
Условия выбора прописаны, но на связку оно ппочему-то не действует.
Вот такая связка прописана: (с помощью вторичных ключей)
PA0001 MANDT = ZPM_RP_OPL MANDT
PA0001 PERNR = ZPM_RP_OPL PERNR (табельный номер)
T513 MANDT = PA0001 MANDT
T513 STELL = PA0001 STELL (код должности)

а Условия выбора:
PA0001 ENDDA EQ '99991231'
в справочнике по выбору таб.номера "старые" записи отсеиваются, а в связке T513-STELL=PA0001-STELL выводится текст первой (устаревшей) записи.

В T513 тоже ведь есть ENDDA, это часть ключа... Вы сами в ручную пройдите по табличкам с Вашей логикой, там будет видно что не так.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Соединения таблиц с уловием в ракурсах ведения (se11)
СообщениеДобавлено: Пт, окт 07 2011, 06:19 
Ассистент
Ассистент

Зарегистрирован:
Пт, дек 19 2008, 06:58
Сообщения: 34
Откуда: Уфа
Пол: Женский
Besa написал:
В T513 тоже ведь есть ENDDA, это часть ключа... Вы сами в ручную пройдите по табличкам с Вашей логикой, там будет видно что не так.

В T513 действительно есть поле ENDDA, но код должности, который так же прописывается в PA0001, уникален, т.е. двоит именно, а не T513. Это проверено на частном примере.

Я тут провела такой анализ, оставила только связку таблиц ZPM_RP_OPL и PA0001. В своей вьюшке вывела код должности из PA0001 и PA0001-ENDDA сделала их неключевыми и неактивными для ввода.Условия выбора все те же PA0001 ENDDA EQ '31129999'. Пытаюсь вставить запись, система мне подтягивает устаревший код должности. В справочнике по выбору таб.номера "старые" записи отсеиваются благодаря лишь Средству поиска указанному в Z-таблице, а не этому Условию выбора. Теперь делаю ENDDA ключевым полем во вьюшке. При вставке записи все так же подтягивается устаревший код должности, но при этом система ругается "Введите код, относящийся к рабочей области.". Меняю на табельный номер, который в связке с PA0001 имеет одну лишь запись вставка проходит нормально.
Значит, а так понимаю, Условия выбора прописываюся не для связки указанных таблиц, а для контроля вставки записей ключевых полей. Т.е. если мы не хотим, чтоб при введении нового его оставляли пустым или значения находились строго в интервале, модно прописать это в Условии выбора и контроль осуществится.
Но если мне надо просто вывести справочную информацию к указанному полю Условия выбора тут не помогут. Или я как-то не правильно ими пользуюсь.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Соединения таблиц с уловием в ракурсах ведения (se11)
СообщениеДобавлено: Пт, окт 07 2011, 08:44 
Ассистент
Ассистент

Зарегистрирован:
Пт, дек 19 2008, 06:58
Сообщения: 34
Откуда: Уфа
Пол: Женский
И все таки мне кажется, что дело в неправильной настройке внешного ключа между Z-таблицей и PA0001. Т.е. условия связки должно быть прописано именно во внешнем ключе.
сейчас у меня внешний ключ оформлен так:
ПровТабл ПолеПровТаб ТаблВнешКлюча ПолеВнешКлюча Родовой Константа
PA0001 MANDT ZPM_RP_OPL MANDT
PA0001 PERNR ZPM_RP_OPL PERNR
PA0001 SUBTY V
PA0001 OBJPS V
PA0001 SPRPS V
PA0001 ENDDA V
PA0001 BEGDA V
PA0001 SEQNR V

Я думаю, что именно тут как-то надо прописать константу типа :

PA0001 ENDDA '31129999'
только когда я так пишу у меня система начинает на все подрят ругаться "Запись 31129999 00000016 не существует в PA0001 (проверьте введенные данные)". т.е. я вроде как неправильно константу прописываю.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Соединения таблиц с уловием в ракурсах ведения (se11)
СообщениеДобавлено: Пт, окт 07 2011, 08:47 
Ассистент
Ассистент

Зарегистрирован:
Пт, дек 19 2008, 06:58
Сообщения: 34
Откуда: Уфа
Пол: Женский
И еще, там есть блок Семантические свойства с радиокнопками, вероятно они тоже для чего-то нужны.
В общем хотелось бы понять как эта настройка внешнего ключа работает. Может кто объяснит или подскажет, где почитать можно.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Соединения таблиц с уловием в ракурсах ведения (se11)
СообщениеДобавлено: Пт, окт 07 2011, 09:27 
Ассистент
Ассистент

Зарегистрирован:
Пт, дек 19 2008, 06:58
Сообщения: 34
Откуда: Уфа
Пол: Женский
Удав написал(а):
Если стоит только эта задача, то она уже реализована в модуле HR, причем намного более гибко - через орг.присвоение :?

Может подскажите, если это не сильно грамоздко, каким образом это реализовано, только именно для ракурса ведения.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Соединения таблиц с уловием в ракурсах ведения (se11)
СообщениеДобавлено: Пт, окт 07 2011, 09:37 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
panna написала:
Может подскажите, если это не сильно грамоздко, каким образом это реализовано, только именно для ракурса ведения.

Есть прекрасная транзакция PA30, инфотип "Организационное присвоение", в которой и ведется присвоение сотрудника к штатной должности.
А в z-таблице достаточно указать табельный номер, должность находить можно с помощью чтения соответсвующего инфотипа через ФМ HR_READ_INFOTYPE, к примеру.
Напрямую через связывание таблиц по ключам выйдет более громоздко.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Соединения таблиц с уловием в ракурсах ведения (se11)
СообщениеДобавлено: Чт, окт 20 2011, 13:28 
Ассистент
Ассистент

Зарегистрирован:
Пт, дек 19 2008, 06:58
Сообщения: 34
Откуда: Уфа
Пол: Женский
panna написала:
И все таки мне кажется, что дело в неправильной настройке внешного ключа между Z-таблицей и PA0001. Т.е. условия связки должно быть прописано именно во внешнем ключе....
...Я думаю, что именно тут как-то надо прописать константу типа :
PA0001 ENDDA '31129999'
только когда я так пишу у меня система начинает на все подрят ругаться "Запись 31129999 00000016 не существует в PA0001 (проверьте введенные данные)". т.е. я вроде как неправильно константу прописываю.


Как я и думала, вся моя правда тут и хранилась. В настройках внешнего ключа в поле PA0001 ENDDA убрала галку Родовой и прописала константу '99991231' .... и случилось чудо, все стало подтягиваться именно так, как мне и надо было,по фильтру даты окончания '99991231' . В первый раз просто формат даты взяла не правильно.


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

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


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

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


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

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