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

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


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

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


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

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