Автор Тема: EEWB - Easy Enhancement Workbench (Быстрое добавление данных на подэкраны)  (Прочитано 23779 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 761
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
EEWB - Easy Enhancement Workbench. Быстро добавление данных на подэкраны, к сожалению пока еще не для всех транзакций, но перспективы у данного инструмента очень неплохие. Стандартно система IDES имеет только объекты для модификации данных бизнес-партнеров. Я так понимаю связано с тем? что ноги инструмента растут от модуля CRM. А теперь поехали.

1. В последнее время SAP все ближе и ближе подходит к упрощению расширения системы, экзиты, BADI, энхансмены, в общем с каждым днем, все проще и проще становится завалить систему и все меньше опыта нужно для этого иметь. Последним стойким бастионом оставались экраны стандартных программ, т..е. их, конечно можно было расширять путем добавления новых визуальных элементов, но для этого нужно было скажем так довольно неплохо знать как сам ABAP, так и методы работы с экранами в SAP. Обычно в системе вам предоставляется отдельный подэкран, куда пользователь может разместить свои визуальные элементы, а дальше... дальше довольно много ABAP-а, чтобы эти данные сохранялись и читались в стандартной транзакции. Однако, кажется и в этой области доработки своих экранов, скоро можно будет не знать кучи всего, а элементы будут добавляться за 5-10 минут, например как ниже на рисунке BP-0.png в транзакции BP – ведения бизнес-партнеров добавлены новые поля. Эти поля можно добавить разными способами, но я их вставил без какого либо написания кода, значения этих полей корректно сохраняются в базе данных и читаются оттуда, в общем процедура потребовала минут 10, ну и потом конечно оно еще компилировалось около часа (но сервер не самый быстрый), руками же, на это все потребовалось бы наверное потратить день, а то и пару, начиная с поиска требуемых экзитов, экранов и т.д.

Самое интересное что можно вставлять не только поля, как на рисунке BP-0.png, но и экранные таблицы значения которых тоже корректно сохраняются в базу данных, как пример немного расширенный таблицей предыдущий экран BP-1.png. При этом табличные данные могут быть как зависящими от времени так и нет, и система автоматически будет вести такие данные.

Как видим, из примера, рисует все красиво, а теперь перейдем к тому как все это можно реализовать. В принципе все очень просто. Для ведения своих полей создана отдельная транзакция EEWB — Easy enhancement Workbench. Таки действительно просто и быстро, тут не соврали. В общем запускаем транзакцию и попадаем в редактор расширений, рисунко EEWB-0.png.

Слева находится список проектов которые созданы вами. Если проектов еще нет, то дерево будет содержать только корневую папку. Что примечательно можно добавлять поля как отдельными проектам так и в рамках одного проекта, при этом система корректно будет выполнять интеграцию всех проектов в рамках транзакции. В общем выбираем создать новый проект. Для этого или жмем кнопку создания на панели инструментов или стоя на дереве проектов левой кнопкой из контекстного меню: «Create project Alt+P». Если получим сообщение вида: User's logical system could not be determined (№ сообщения OXT_MISC102), то значит при определении мандантов системы не задали имя логической системы. Вообще-то, для систем мигрировавших из старых версий, или же если не используется ALE интеграция с другими системами, то может и действительно логическое имя не прописано. Определение логических имен для мандантов ведется в транзакции SCC4, например как на рисунке SCC4.png.

Примечание: Самому выполнять такую операцию, без привлечения администраторов системы, я бы не советовал. Это их так сказать область интересов, а так же если система рабочая, то после задания логического имени нужно обязательно выполнить адаптацию данных для уже существующих документов и объектов системы, как это делается админстраторы должны знать.

После ввода имени логической системы, можно вернуться к определению проекта. Сначала система запросит у вас данные проекта, рисунок EEWB-CPRJ.png. Имя проекта произвольное, но желательно со смыслом, затем краткий текст описания проекта. Далее нужно будет указать имя пакета разработки в рамках которого будет выполняться генерация программ при реализации расширения. Если пакета нет, его можно создать в транзакции SE80, в параллельной сессии. Далее задается первая буква при определении расширений, обычно она или Z или Y.  После чего сохраняем определение проекта. После этого система запросит у вас два запроса куда будут писаться создаваемые вами расширения, рисунок EEWB-REQ.png. Если на предыдущем шаге вы создавали новый проект то ка минимум запрос на разработку уже вас уже есть. Для выбора запроса можно нажать кнопку с карандашом и там или создать новый запрос или выбрать уже существующий. После задания запросов сохраняем данные, рисунок EEWB-REQ-1.png. Система проверяет чтобы запросы были не закрыты. Если все нормально, то статус запросов будет = Valid.

Теперь проект считается определенным и можно приступать к созданию собственно элементов экрана, рисунок EEWB-PRJ.png. Все данные изменений в ходе работы с проектом будут автоматически записываться на закладке протокола.
« Последнее редактирование: Январь 17, 2011, 09:29:08 am от Dmitriy »

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 761
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
2. Все пользовательские элементы на экране являются расширениями стандарта и работают через механизм энхансментов. Для создания расширений или нажимаем кнопку на панели инструментов или через контекстное меню: «Create Extension Alt+E». В появившемся окне нужно заполнить 4 поля, рисунок  EEWB-EXT.png.

Имя проекта, тут только ваша фантазия + желательно смысловая нагрузка, краткое описание, как обычно что-то более внятное чем имя расширения. Далее нужно выбрать объект расширения EEW Bus. Objekt, это делается путем выбора допустимых объектов из списка. Стандартно в система как я понимаю всегда есть 3 объекта по расширению бизнес-партнеров. Однако можно импортировать другие объекты, например расширения сбытовых заказов и т.д., об этом будет чуть ниже. После выбора объекта, выбираем тип расширения. Возможны два варианта, это расширение которые будет состоять из полей экрана или расширение которое будет являться экранной таблицей, собственно говоря что за что отвечает видно на рисунке BP-2.png

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

Это первый болт работы с данной транзакцией, на который многие наталкиваются и дальше не идут, так как поиск по нотам ничего не дает, а что нужно делать не очень ясно. Однако спасибо «Предводителю», проблема решается очень просто. Нужно зайти в таблицу TBZ1 и там для объекта расширения BUPA, который мы указали при создании расширения установить флаг в поле XDCFLAG, рисунок TBZ1-BUPA.png. Уж как там «Предводитель» нашел это ясно, отладка в руки и успех в кармане, но после задания в этом поле значения «X», все начинает работать. Опять же главное не то что нашел, а то что проверил, что данная операция безопасна.

Выбор данных, как уже говорил, осуществляем по имени объекта заданного в поле EEW Bus. Objekt, рисунок TBZ1-BUPA-SEL.png. После внесения изменений в таблицу, способов как это сделать есть много, начиная от перехода в отладку при просмотре записи данных, до написания небольшой программы которая обновляет это поле, возвращаемся в транзакцию EEWB и если вы были в ней то нужно выйти и зайти из транзакции, чтобы внесенные в таблицу изменения стали активными.

Теперь если вы зашли в транзакцию EEWB по новой, то у вас уже будет созданный проект и будет созданное расширение, рисунок EEWB-N0.png.

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

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 761
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
3. По шагам выполняем все что у нас просит помощник.

а) Рисунок  EEWB-WIZ-1.png расписывает, что собственно мы запустили, ясно что знаем, поэтому идем дальше.

б) На следующем экране вводим название для блока в котором будут выведены наши поля, рисунок EEWB-WIZ-2.png. Это не имя переменной, это имя окаймляющего блока, который выделен на рисунке EEWB-WIZ-2-1.png. Пишем как обычно что-то внятное, чтобы потом не забыть, что же хотим чтобы пользователь вводил в данные поля.

в) Определяем поля который хотим чтобы заполнялись пользователем, рисунок EEWB-WIZ-3.png. Тут все просто, задаете краткий текст описания поля, дальше из выпадающего списка определяете тип поля, длину и если хотим чтобы данные проверялись через таблицу значений, то ставим галку в последней колонке, это приведет к генерации специальной таблицы и ракурса ведения, после чего система не будет давать сохранить пользователю в данном поле значения, которые будут отсутствовать в проверочной таблице. Проверочную таблицу и ракурс ведения можно найти в последствии когда будет выполнена генерация данных. Об этом ниже когда получим собственный экран данных для бизнес-партнера.

г) Далее определяем релевантность для BW, рисунок EEWB-WIZ-4.png. Собственно говоря на что оно влияет пока не понял. Так как от того стоит эта галка или нет, внешний вид таблицы настраивается, возможно имеется в виду еще какая-то настройка, но пока не понял. Так что кто разберется, так сказать велкам пишите.

д) И последний шаг, рисунок EEWB-WIZ-5.png, показывается список полей со значениями которые мы определили для своего экрана. Если все правильно то выбираем кнопку завершения и в зависимости от производительности системы будет выполнена генерация данных экрана и обработчиков для определенных вами полей. У меня это заняло около часа на не очень быстром сервере, где правда был я и я. Вообще если посмотреть сколько этот помощник генерит текстов и данных, то... в общем один перекур + кофе, будет самое оно. Опять же на то она и система чтобы работать. Кстати, обратите внимание, чтобы у вас были полномочия/ключ разработчика, иначе получите проблемы, так как помощник генерирует тексты программ от вашего имени.

В конечном итоге, должны получить результат, как на рисунке EEWB-END.png, т.е. расширение создано и активировано. Теперь можно идти в транзакцию ведения бизнес партнеров и смотреть на результат.

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

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 761
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
4. Как видим появилась закладка «Данные клиента», рисунок BP-3.png где размещены наши элементы управления. Если сейчас попытаться сохранить данные, то система выдаст ошибку: «№ сообщения DC1602
 – Значение  не найдено в проверочной таблице ZTB00003DU99C», т..е., поле у нас стоит с проверкой и в проверочной таблице такого значения не найдено. Так как система создала ракурс ведения на эту таблицу, то нужно узнать его имя. Для этого идем в просмотр «General data», рисунок EEWB-VIEW.png, для этого делаем двойной клик на имени нашего задания. В списке данных ищем объект по имени ZTB00003DU99CV, т.е. имя таблицы с буквой V в конце. Это и будет требуемый ракурс ведения.

Когда ракурс найден, заходим в транзакцию SM30, указываем имя ракурса и добавляем возможные значения, рисунок SM30-1.png и SM30-2.png. После этого система даст сохранить изменения бизнес-партнера.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 761
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
5. Теперь добавим экранную таблицу. Это будет отдельное расширение в проекте. Вся структура добавляется аналогично через помощника. Для этого становимся на проект и левой кнопкой мыши через контекстное меню вызываем пункт «Create extension». Заполняем имя нашего расширения, описание, выбираем объект и тип расширения ADD_NEW_ATTRIBUTES_TABLE, как на рисунке EEWB-GRID-0.png.

После ввода данных расширения, запускается помощник который позволяет создать таблицу.

а) Первый экран как обычно описывает что будет сделано. Его я таки рекомендую почитать, так как из написанного следует, что табличные данные могут быть нескольких видов, рисунок EEWB-WIZ-G-1.png. Основная особенность табличных данных, это то что они могут быть зависимы от времени или нет, второе данные в таблице могут быть заданы только как одна строка так и несколько строк в таблице. Зачем нужна одна строка табличных данных, ну во-первых она может быть зависимая от времени, что нельзя обеспечить используя вариант ADD_NEW_FIELDS.

б) Переходим ко второму шагу, рисунок EEWB-WIZ-G-2.png. В принципе описание пунктов вполне достаточно так что я просто процитирую справку:
  • Отдельная инстанция - в ней имеется одна запись данных для одного делового партнера. Расширения этого вида всегда зависят от времени. Однако в качестве зависящего от времени ограничения Вы можете выбрать между С пропусками и Без пропусков.
  • Многократная инстанция - в ней имеется несколько записей данных для одного делового партнера. Расширения этого вида могут быть зависимыми от времени и независимыми от времени. Если Вы решите использовать зависящее от времени расширение необходимо выбрать в качестве зависящего от времени ограничения между опциями С пропусками, Без пропусков и Период действия
Я сделаю для примера многострочную таблицу, они назвали это «Мульти-инстанция» и данные будет зависимы от времени причем без пропусков, т.е., следующий период действия должен всегда следовать за предыдущим без пропуска дат.

Примечание: Как оказалось с вариантом «Без пропуска дат», есть следующие проблемы, при вводе любого интервала действия дат система выдает что типа не удалось согласовать ключи действия интервала дат. В общем путем хождения в отладке похоже что бойцы проверяют отсутствие пропусков дат в диапазоне 01.01.0001 по 31.12.9999, т.е. нужно вводить для ключа или вот такой вот диапазон или же если нужно ввести например диапазон с 21.09.2009 по 30.09.2009, тогда нужно ввести для одного ключа, три диапазона действия:

01.01.0001 по 20.09.2009
21.09.2009 по 30.09.2009
01.10.2009 по 31.12.9999

А иначе система ругается на наличие пропусков. В общем как-то бойцы криво сделали проверку, точнее не логично, так что пришлось перезайти в помощника генерации и выбрать вариант «С пропуском дат».


в) На третьем шаге, определяем заголовок таблицы. Я просто написал «Тестовая экранная таблица БП», рисунок EEWB-WIZ-G-3.png.

г) Четвертый шаг, определяем список колонок таблицы. Обратите внимание что первая колонка ключевая поэтому наверное не нужно ее делать каким нибудь текстом с длинной 30 символов. Я назвал первую колонку «Код», и буду там вводить что-то типа 1, 2, 3 и т.д., рисунок EEWB-WIZ-G-4-1.png. Если есть какие-то ссылочные данные и пожелания по наименованию переменных для полей экранной таблицы, тогда нужно перейти к закладке «Expert mode» и там задать имена переменных и ссылочные типы для элементов данных. Если к типу данных привязан код поиска или ссылочная таблица данных, то мы автоматически в экранной таблице получим проверку и код поиска к полю, рисунок EEWB-WIZ-G-4-2.png. Я никаких пожеланий пока не имею к кодам поиска и полям, поэтому оставил все как есть.

д) На пятом шаге, определяется релевантность для BW, рисунок EEWB-WIZ-G-5.png. Как и для собственный полей пока не разобрался как на настройку внешнего вида влияет установка галок в этой колонке. Есть подозрение, что видимостью элементов данных можно будет управлять в стандартной настройке полей для для бизнес-партнера, но так как я не особо знаком с настройкой бизнес-партнеров, то желающим проверить так это или нет, есть поле для деятельности.

е) Последний шаг, показывается общее определение данных таблицы, т.е. все что мы определили в предыдущих шагах, после чего будет вызвана компиляция расширения. Как обычно у меня это заняло около часа. На это время можно снова кофе, чай +  перекур, рисунок EEWB-WIZ-G-6.png.

Результат видим на рисунке BP-4.png. Данные корректно сохраняются и читаются.


Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 761
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Основная ссылка где SAP предлагает самому разобраться, находится тут:

You are not allowed to view links. Register or Login

Пока не понял как нужно искать ноты/пакеты, которые могут загрузить шаблоны для расширения списка объектов для транзакции EEWB. Судя из описания это возможно для многих транзакций например заказы SD и т.д. В общем, если что-то найдется, как обычно буду дополнять.

PS: Тут же все написанное сгруппировано одним файлом EEWB_RU_V1.pdf.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 761
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Спасибо TsSP (You are not allowed to view links. Register or Login) подогнал ссылочку со списком бизнес объектов которые как минимум есть в SAP для работы транзакции EEWB.

Ссылка: You are not allowed to view links. Register or Login, там типа приведен такой список:

     
EW Bus. Object       Scenario Description

ACCOUNT_PLAN    ACCOUNT_PLAN
ADS    Analytical Data Storage
BUPA    Business Partner
BUPR    Business Partner Relationships
BUSINESS_ACTIVITY    Business Activity
BUSINESS_TRANSACTION    CRM Business Transaction
CATEGORY_ENHANCEMENT    Category Extension
COMPLAINTS    Complaint
COUNTERS    Counter
CRM_CASE    CRM Case
CRM_RPT    Resource Planning Tool
GRANTOR_PROJECT    Grantor Project
INDIVIDUAL_OBJECT    Individual Object
INSTALLED_BASE    Installed Base
LEAD    Lead
MARKETING_ELEMENT    Marketing Element
OPPORTUNITY    Opportunity
PPR    Partner/Product Range
RELTYPE    Relationship Category
SALES_CONTRACT    Sales Contract
SALES_TRANSACTION    Sales Transaction
SERVICE_CONFIRMATION    Service Completion Confirmation
SERVICE_CONTRACT    Service Contract
SERVICE_TRANSACTION    Service Process
SOLUTION_DATABASE    Solution Database

Оффлайн dump

  • Newbie
  • *
  • Сообщений: 5
  • Репутация: +0/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Integration with SAP BW

·        The new fields in table BUT000 are included automatically in the DataSource 0BPARTNER for integrating with SAP BW.

Оффлайн areal

  • Newbie
  • *
  • Сообщений: 1
  • Репутация: +2/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYears
Ошибку при сохранении расширения, можно решить путем:
Please follow the steps mentioned below.
1. Start the transaction SM30.
2. Enter the name of the Table/View as V_TBZ1_DC.
3. Press the 'Maintain' button.
4. Double click on the Application Object you are trying to extend(for
e.g., BUPA)
5. Mark the checkbox 'Active in DC' under the section 'BDT DC Settings'.
6. Save the data.
 
You can refer to note 955236.

You are not allowed to view links. Register or Login

Оффлайн vorrutyer

  • Newbie
  • *
  • Сообщений: 5
  • Репутация: +2/-0
  • Пол: Мужской
  • Бойцовый кот нигде не пропадёт!!!
  • YearsYearsYearsYearsYearsYearsYearsYearsYears
>> Ссылка: You are not allowed to view links. Register or Login, там типа приведен такой список:

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

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 761
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Ссылка дохлая.
Ну не судьба значит.

You are not allowed to view links. Register or Login
А можно поподробнее -  как добавлять другие объекты, кроме бизнес-партнера, для расширений?
Ну судя по всему эти объекты ставятся автоматом при установке CRM-системы. Можно ли импортировать новые объекты, кроме уже стандартно присутствующих, в систему ERP - я если честно, не нашел. В целом наверное большинство заинтересовал бы импорт объектов:
  • SALES_CONTRACT    Sales Contract
  • SALES_TRANSACTION    Sales Transaction
  • SERVICE_CONFIRMATION    Service Completion Confirmation
  • SERVICE_CONTRACT    Service Contract
  • SERVICE_TRANSACTION    Service Process
Так что кто случайно знает или узнает такую возможность, как говорится вЕлкам к нашему шалашу  8)

PS: Обычно в стандартной ERP системе 3 или 4 объекта. Кстати, похоже SCN по этому поводу тоже молчит и решения не имеет, поэтому других вариантов, кроме как из гнезда получить подтверждение возможности или невозможности добавления новых объектов для EEWB в стандартную ERP, я не знаю.
« Последнее редактирование: Апрель 06, 2013, 10:50:07 pm от Uukrul »