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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Справочник для признака класса посредством таблицы
СообщениеДобавлено: Вс, июл 20 2008, 15:03 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, ноя 29 2006, 19:34
Сообщения: 393
Коллеги, добрый день!
Есть признак, значения которого должны выбираться из справочника. Мы хотим вести справочник через таблицу БД.
Создаю таблицу, есть ключевое поле (порядковый номер) и собственно поле значений справочника. В признаке на закладке "Значения" присваиваю признаку свою табличку.
Но при этом на закладке значений признаков у техместа ТОРО выводится ключевое поле (порядковый номер), а не второй столбец таблички - значения. Можно как-то увидеть именно значение?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 21 2008, 00:57 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
А почему "собственно поле значений справочника" нельзя сделать ключом - на мой взгляд так было бы правильнее.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 21 2008, 07:50 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, ноя 29 2006, 19:34
Сообщения: 393
DKiyanov написал:
А почему "собственно поле значений справочника" нельзя сделать ключом - на мой взгляд так было бы правильнее.

Наш абапер сказал что так не правильно
Я функциональщик, поэтому не стал с ним спорить :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 22 2008, 09:08 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 09 2004, 11:38
Сообщения: 127
Пол: Мужской
Если я правильно понял - создайте свой соответствующий сёрчхелп.
Что бы выводилось в поле именно значение, можно навесить на это поле подпрограмму преобразования.

Хотя, действительно, меньше гемороя использовать само значение.

_________________
Труд сделал из обезьяны человека, из коня - транспорт... Тут как повезет...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 22 2008, 09:36 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
DKiyanov написал:
А почему "собственно поле значений справочника" нельзя сделать ключом - на мой взгляд так было бы правильнее.

Ни фига себе совет... Встречал я такие табличке, где в ключе пару текстовых полей по 512 сиволов в юникоде. Абапер был прав, ИМО.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 23 2008, 07:50 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, ноя 29 2006, 19:34
Сообщения: 393
Voffka написал:
Если я правильно понял - создайте свой соответствующий сёрчхелп.
Что бы выводилось в поле именно значение, можно навесить на это поле подпрограмму преобразования.

Может подскажете где про ето можно почитать? Хоть курс какой, а лучше статейку или тему на форуме...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 23 2008, 08:11 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
John Doe написал:
Ни фига себе совет...

В стандарте код значения признака — 30 символов. (Кстати, под название значения - столько же!) Если система не юникодная и название значения можно уложить в эту длину, то всё же можно код значения заменить его названием, т.е. сделать его ключом. Так что совет не так уж и плох.

PS. Кто-нибудь видел в SAP нормализованные таблички? Разве что в разработках последних лет.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 23 2008, 08:28 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Все равно считаю логичнее использовать технический ключ. Ибо в случае использования значения вместо ключа и изменении текста признака (что совсем не редко) придется совершать шаманские пасы с базой данных. Или я совсем не прав?

Добавил: может все таки лучше написать POV модуль в подэкране расширения и текстовое значение выводить в "текст справа" (также как и в стандартных полях транзакций IL0*?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 23 2008, 09:15 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
John Doe написал:
Все равно считаю логичнее использовать технический ключ. Ибо в случае использования значения вместо ключа и изменении текста признака (что совсем не редко) придется совершать шаманские пасы с базой данных. Или я совсем не прав?

По поводу шаманства — согласен.
По поводу изменений: всё зависит от контектса. Если это названия цветов, то меняться они не будут. Если это фамилии, то, конечно, могут стать девичьими.

Но то, что коды текстовые, а не int, — это не значит, что названия вообще отстутствуют. Очень распространённая в SAP ситуация: осмысленный краткий код и длинное текстовое описание, на котором можно от души оторваться на предмет изменений.

Вы названия своих программ и таблиц всегда из множества целых чисел выбираете?

Изменение названия объекта репозитария в случае, когда он уже используется, гораздо большее шаманство, чем в сотне-другой таблиц код пропатчить. Последнее, по крайней мере, программным способом относительно легко реализуется (видел такие штучки), а репозитарий только ручками править.

Да, бывает: создаёшь таблицу для одних целей и соответствующим образом называешь, а потом всё сильно обобщается и расширяется, добавляется масса полей, в т.ч. и ключевых, но название поменять уже не судьба... Extreme programming...


Последний раз редактировалось sibrin Ср, июл 23 2008, 09:32, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 23 2008, 09:28 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, ноя 29 2006, 19:34
Сообщения: 393
John Doe написал:
Все равно считаю логичнее использовать технический ключ. Ибо в случае использования значения вместо ключа и изменении текста признака (что совсем не редко) придется совершать шаманские пасы с базой данных. Или я совсем не прав?

Добавил: может все таки лучше написать POV модуль в подэкране расширения и текстовое значение выводить в "текст справа" (также как и в стандартных полях транзакций IL0*?


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

Можно узнать сцылочку на соотв. курс, статью, тему в форуме?


Последний раз редактировалось StillAtGo Ср, июл 23 2008, 09:33, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 23 2008, 09:32 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Речь идет о классификации. там действительно можно для признака указать связь с таблицей БД, но не на закладке "Значения", а на закладке "Доп.данные".
Но если нужна только одна характеристика для значения признака - название, то удобнее использовать проверку значений по перечню - вести справочник на закладке "Значения", а не в отдельной таблице.

Дополнительные сведения есть в разделе справки по признакам классификации

Значение кода символьного признака в классификации хранится в AUSP-ATWRT (до 30 символов, как правильно заметил sibrin). Таблица значений для признаков - CAWN. Названия значений хранится в таблице CAWNT

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 23 2008, 09:42 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Удав написал(а):
Речь идет о классификации. там действительно можно для признака указать связь с таблицей БД, но не на закладке "Значения", а на закладке "Доп.данные".

На закладке "Значения" можно выбрать Другую проверку значений и выбрать проверочную таблицу. Это таблица определяет множество значений признака.

А таблица в "Доп.данные" нужна для ссылочных характеристик, когда значение при классификации объекта не вводится вручную, а подтягивается автоматом из той таблицы.


Последний раз редактировалось sibrin Ср, июл 23 2008, 09:47, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 23 2008, 09:45 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, ноя 29 2006, 19:34
Сообщения: 393
Удав написал(а):
Речь идет о классификации. там действительно можно для признака указать связь с таблицей БД, но не на закладке "Значения", а на закладке "Доп.данные".
Но если нужна только одна характеристика для значения признака - название, то удобнее использовать проверку значений по перечню - вести справочник на закладке "Значения", а не в отдельной таблице.


Для нас действительно удобнее вести через "значения", но справочники будут расширяться и пускать юзеров в CT04 не хочется.
На закладке "Доп. данные" как я понял присваивается поле таблицы SAP, для связи признака и стандартного поля в Единице оборудования например...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 23 2008, 09:49 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
StillAtGo написал(а):
Можно узнать сцылочку на соотв. курс, статью, тему в форуме?

От себя могу посоветовать следующее:
Input Help in Dialog Modules + использование ФМ DYNP_VALUES_UPDATE для апдейта экрана данными названий.
Смысл следующий:
1. В логике подэкрана добавляете PROCESS ON VALUE-REQUEST и модуль
Code:
PROCESS ON VALUE-REQUEST.
  FIELD YOUR_INPUT_FIELD MODULE SHELP.

2. В самом подэкране рядом с полем ввода рисуете поле вывода DESCRIPTION (к примеру).
3. В топ-инклюд ZXTOBTOP создаете переменную DESCRIPTION с длиной, равной текстовому описанию (по-видимому 30, у меня в системе нет ТОРО :oops: )
4. В модуле SHELP помещаете процедуру выборки данных значений признака из вашей таблицы во внутреннюю + процедура вызова ФМ F4IF_INT_TABLE_VALUE_REQUEST. Там же читаете возвращаемое значение, по нему читаете внутреннюю табличку с описаниями и делаете апдейт экрана через ФМ DYNP_VALUES_UPDATE

Либо возможно простое добавление в PBO процедуры селекта значения в поле DESCRIPTION из таблички БД.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 23 2008, 09:57 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, ноя 29 2006, 19:34
Сообщения: 393
John Doe написал:
StillAtGo написал(а):
Можно узнать сцылочку на соотв. курс, статью, тему в форуме?

От себя могу посоветовать следующее:
Input Help in Dialog Modules + использование ФМ DYNP_VALUES_UPDATE для апдейта экрана данными названий.
Смысл следующий:
1. В логике подэкрана добавляете PROCESS ON VALUE-REQUEST и модуль
Code:
PROCESS ON VALUE-REQUEST.
  FIELD YOUR_INPUT_FIELD MODULE SHELP.

2. В самом подэкране рядом с полем ввода рисуете поле вывода DESCRIPTION (к примеру).
3. В топ-инклюд ZXTOBTOP создаете переменную DESCRIPTION с длиной, равной текстовому описанию (по-видимому 30, у меня в системе нет ТОРО :oops: )
4. В модуле SHELP помещаете процедуру выборки данных значений признака из вашей таблицы во внутреннюю + процедура вызова ФМ F4IF_INT_TABLE_VALUE_REQUEST. Там же читаете возвращаемое значение, по нему читаете внутреннюю табличку с описаниями и делаете апдейт экрана через ФМ DYNP_VALUES_UPDATE

Либо возможно простое добавление в PBO процедуры селекта значения в поле DESCRIPTION из таблички БД.

Большое спасибо, будем разбираться! :)


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

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


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

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


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

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