Текущее время: Вс, июл 27 2025, 20:04

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


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

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


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

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