Текущее время: Вс, авг 03 2025, 00:55

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: [РЕШЕНО]: Обработка полей при ведении ракурса
СообщениеДобавлено: Вт, дек 09 2008, 19:26 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 22 2008, 11:06
Сообщения: 11
Откуда: СПб
Коллеги, всем доброе время суток!

Проблема:
Создана прозрачная таблица базы данных ZPPTT. Используется три поля. (MANDT + два созданных мной элемента данных).
Сгенерировал ракурс путём: Утилиты-->Генератор ведения таблицы
Всё прекрасно работает, ракурс отлично ведётся с помощью sm30, НО!!! Необходимо чтобы при ведении ракурса нельзя было вставить пустое значение, как значение одного из полей. (иными словами, если одно из полей не содержит данных, то запись не должна добавляться в таблицу)

Вопрос: Каким образом можно реализовать данный функционал? Прошу наиболее полных ответов и мыслей, так как гуру в ABAP пока что не являюсь :)


Последний раз редактировалось stranger Ср, дек 10 2008, 12:55, всего редактировалось 1 раз.

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

Зарегистрирован:
Пн, фев 11 2008, 11:54
Сообщения: 359
Откуда: Воронеж
Пол: Мужской
Откройте редактор экранов, и поставьте для нужных полей, "обязательно" для заполнения

_________________
Hормальные люди делают вещи намного более безумные чем всё, что делают сумасшедшие (c) С.Лем


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 10 2008, 10:57 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 22 2008, 11:06
Сообщения: 11
Откуда: СПб
Решение действительно изящное, но если посмотреть Система-->Статус, то там указаны стандартные имена SAP, т.е. экран добавления записей для ведения вариантов является стандартным, поэтому изменить что-либо на нем не представляется возможным...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 10 2008, 11:35 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 11 2008, 11:54
Сообщения: 359
Откуда: Воронеж
Пол: Мужской
Сам же проверил 3 раза, все работает.
Когда вы запустили генератор ведения, вы написали группу функций.
Откройте эту группу функций, там есть вкладка экран, откройте экран на изменение.
Далее два одинаковых метода.
1 способ открываете вкладку Список элементов, далее вкладку Общие атрибуты находите строку с названием столбца, который вам нужно сделать обязательным для ввода в этой строке поставьте галочку ввод, далее перейдите на вкладку Спец.атрибуты, и для нужной вам строчки поставьте в столбце ввод "Обязательно."
2 способ откройте редактор экранов. Двойной клик по полю которое вам надо сдалать обязательным, появиться экранчик на нем, поставьте галочку поле ввода, и рядом есть выпадающий список, там выберите required

Активируйте. Перезапустите SM30 и увидите изменения.

Писать устал, уф. Вы работу с экранами читали?????

_________________
Hормальные люди делают вещи намного более безумные чем всё, что делают сумасшедшие (c) С.Лем


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 10 2008, 11:50 
Специалист
Специалист

Зарегистрирован:
Ср, окт 08 2008, 10:44
Сообщения: 164
Откуда: оттуда
Пол: Мужской
Можно еще так:
В se11 заходим в свой ракурс => Переходим на вкладку "Условия выбора". Там вставляем новую строку: Свою таблицу, на которую сгенерирован ракурс, Имя поля, Оператор = NE, Значение для сравнения= ' '.
Сохранить => Активировать, и самое интересное, что желательно выйти из САПа и зайти заново, у меня без этого не работало :wink:

_________________
Мне не надо девятьсот, два по двести и пятьсот


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

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 10 2008, 12:54 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 22 2008, 11:06
Сообщения: 11
Откуда: СПб
Итак, отчитываюсь по результатам.

"to XXX_:)" :Спасибо за терпение при подробном описании процесса решения проблемы. Именно Ваше решение мне помогло. Собственно, пока что оно остаётся рекомендованным для решения подобной проблемы.

to Dimonikus: Видимо "ведение ракурса" (sm30) принципиально отличается от "ракурса" (se11), поэтому форматирование свойств из se11 невозможно, его даже не открыть там.

to John Doe: Можно поподробнее. Не нашёл ни на одном из экранов таких меню "Среда-->Модификация-->События" (только "Среда" для форматирования таблицы в se11)


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

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
stranger,
по событиям все просто. Транзакция SE54. А дальше Среда - События.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 10 2008, 14:29 
Специалист
Специалист

Зарегистрирован:
Ср, окт 08 2008, 10:44
Сообщения: 164
Откуда: оттуда
Пол: Мужской
stranger написал(а):
Итак, отчитываюсь по результатам.

to Dimonikus: Видимо "ведение ракурса" (sm30) принципиально отличается от "ракурса" (se11), поэтому форматирование свойств из se11 невозможно, его даже не открыть там.


Все там возмножно и открыть и редактировать свойства полей таблиц, ракурсов и т.п.
sm30 только открывает готовый ракурс, в se11 можно его настроить на теже проверки, поля и т.д., в этом их отличие.
Поэтому почему у Вас не получилось хотя бы открыть его, не знаю, а сообщение какое-то выскочило при нажатии просмотр или изменение?

_________________
Мне не надо девятьсот, два по двести и пятьсот


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 10 2008, 14:46 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 22 2008, 11:06
Сообщения: 11
Откуда: СПб
Dimonikus написал:

Все там возмножно и открыть и редактировать свойства полей таблиц, ракурсов и т.п.
sm30 только открывает готовый ракурс, в se11 можно его настроить на теже проверки, поля и т.д., в этом их отличие.
Поэтому почему у Вас не получилось хотя бы открыть его, не знаю, а сообщение какое-то выскочило при нажатии просмотр или изменение?


В se11 выбираю "Ракурс", ввожу имя ведения ракурса такое же как использую в sm30 (которое кстати говоря равняется имени таблицы БД). Вместо ракурса открывается таблица БД.

_________________
"Бог воюет на той стороне, у которой при прочих равных условиях больше войск".
Наполеон Бонапарт.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 10 2008, 15:01 
Специалист
Специалист

Зарегистрирован:
Ср, окт 08 2008, 10:44
Сообщения: 164
Откуда: оттуда
Пол: Мужской
stranger написал(а):
Dimonikus написал:

Все там возмножно и открыть и редактировать свойства полей таблиц, ракурсов и т.п.
sm30 только открывает готовый ракурс, в se11 можно его настроить на теже проверки, поля и т.д., в этом их отличие.
Поэтому почему у Вас не получилось хотя бы открыть его, не знаю, а сообщение какое-то выскочило при нажатии просмотр или изменение?


В se11 выбираю "Ракурс", ввожу имя ведения ракурса такое же как использую в sm30 (которое кстати говоря равняется имени таблицы БД). Вместо ракурса открывается таблица БД.


Может все таки открывается ракурс?:) Сразу после открытия на экране должен появиться список полей ракурса, соответственно должна быть активная вкладочка "ПоляРакурс", возле которой справа "Условия выбора", о которой я говорил, и если нажать на любимый карандашик, то все должно стать в режиме редактирования.
Попробуй нажать на кнопку "Содержимое"(CTRL+SHIFT+F10), последняя в группе кнопок сразу под заголовком "Словарь: просмотр ракурса". По идее должен запуститься тот "привычный" в sm30 ракурс :wink:

_________________
Мне не надо девятьсот, два по двести и пятьсот


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 10 2008, 15:43 
Специалист
Специалист

Зарегистрирован:
Ср, окт 08 2008, 10:44
Сообщения: 164
Откуда: оттуда
Пол: Мужской
stranger написал(а):

(которое кстати говоря равняется имени таблицы БД).


Да :roll: , сразу пропустил этот момент, наверное в этом проблема, что не подхватывается ракурс. Скорее подхватывается таблица и Вы действительно не можете открыть ракурс. Вообще советую в названии ракурсов хотя бы что-то менять, может ничего страшного в одинаковых названиях и нет, но интуицией чувствую, что когда-то это может вылезти в непредсказуемом месте))))

_________________
Мне не надо девятьсот, два по двести и пятьсот


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

Зарегистрирован:
Пт, ноя 21 2008, 05:13
Сообщения: 34
Dimonikus написал:
Вообще советую в названии ракурсов хотя бы что-то менять, может ничего страшного в одинаковых названиях и нет, но интуицией чувствую, что когда-то это может вылезти в непредсказуемом месте))))

вообще-то говоря, имя таблицы и имя вьюшки не могут совпадать =)
по всей видимости, вопрос в том, что слово "ракурс" слишком часто мелькает))

сейчас сам проделал тот же фокус: создал табличку, скажем ZTAB, сделал к ней вьюшку ведения ZVTAB (не ракурс ведения, что в SE54, а именно maintenance view) и указал там ZTAB-FIELD1 NE ' ', сгенерил к ней уже собственно ракурс ведения (table maintenance) и получил, что для ZVTAB в sm30 FIELD1 становится как-бы обязательным для заполнения и без значков обязательности ввода


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 11 2008, 13:02 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 22 2008, 11:06
Сообщения: 11
Откуда: СПб
РЕШЕНИЕ! РЕШЕНИЕ! РЕШЕНИЕ!
ВСЕМ:

Только что проделал то что описал SPikARD.
Всё получилось. И естественно - это наиболее изящный способ.
К тому же кроме ограничения на пустые значения могут потребоваться ещё какие угодно, например - для пробелов, звёздочек и т.д. и т.п.
Всё это может быть реализовано с помощью способа от SPikARD (в соавторстве c Dimonikus)

Всем спасибо за участие!

P.S.: В продолжение темы предлагаю высказаться по следующей проблеме: "Ограничение и преобразование данных с помощью Conversion Routine (Подпрогр.Преобраз) для домена". Где можно найти информацию как делается такой функц. модуль?

_________________
"Бог воюет на той стороне, у которой при прочих равных условиях больше войск".
Наполеон Бонапарт.


Последний раз редактировалось stranger Чт, дек 11 2008, 16:39, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 11 2008, 15:31 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пт, ноя 21 2008, 05:13
Сообщения: 34
рад, что у вас все получилось! только прошу заметить, что способ не мой, а ув. Dimonikus;)

на счет выходов в преобразования: там все просто:
создаете два ф/м в одной группе с именами
CONVERSION_EXIT_Zxxxx_INPUT и
CONVERSION_EXIT_Zxxxx_OUTPUT
где Zxxxx - собственно имя преобразования
соответственно, первый модуль преобразует то, что пользователь вводит во внутренний вид, второй - наоборот
интерфейс у обоих модулей одинаковый:
import-parameter INPUT (без типа)
export-parameter OUTPUT (без типа)

после создания обоих модулей, пропишите Zxxxx в соответствующем поле домена

также, в INPUT-модуле можно выдавать ошибку, если что-то не так

_________________
по-моему так...


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

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


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

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


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

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