Текущее время: Чт, мар 28 2024, 18:51

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




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Описание RW-интерфейса
СообщениеДобавлено: Пн, дек 18 2006, 13:38 
Гуру-модератор
Гуру-модератор

Зарегистрирован:
Чт, окт 20 2005, 08:45
Сообщения: 1651
Пол: Мужской
Поскольку, как выяснилось, многих интересует реализация RW-интерфейса, я решил выложить описание тут. Полагаю это будет проще чем отправлять его каждому лично. :) Приведенное ниже описание, базируется на личном опыте, и если у кого-то возникнут какие-либо дополнения и уточнения буду рад узнать.

Необходимые настройки для использования RW-интерфейса.

Нужно прописать в настроечной таблице для RW-интерфейса
функциональный модуль, который будет играть роль user-exita
таблиц на самом деле несколько:
1) TRWCI - таблица в которой надо прописать компонент зарезервированный для пользовательских екзитов(у нас, например, он называется - Z)
2) TRWCA - это таблица активированных компонент, в ней надо прописать
этот компонент и поставить у него год действия 2999
например. Ну и галочку активности разумеется.
3) TRWPR - это основная таблица, в ней надо добавить новую запись, где
как раз прописывается функциональный модуль: Z_Имя_модуля,
и компонент Z. Вид операции и момент срабатывания
указываются в зависимости от того когда надо чтобы этот
экзит запускался. Подробней по этому поводу в ноте 77818(см.ниже)
Текущий номер должен быть >= 900
4) TRWCD – привязка компонента к пакету расширения (необязательно).
Дополнительно для логистики:
5)TRWPRC - RWIN: включенные/исключенные процессы по подмножеству. Какие процессы надо включить/исключить из обработки
(использ. в фм.RWIN_CHECK_SUBSET и RWIN_CHECK)

Например, при создании FI документа используется операция BELEG. Соответственно событий там интересных три: CLOSE, PROJECT, POST.
Для замещения интересно событие CLOSE .
В логистике необходимо обратить внимание на процесс DOCUMENT. Например, этот процесс будет работать и при прямой проводке документа(событие CLOSE) и при сторно(событие REVERSE).
И еще: поля, которые можно заместить прописаны в структуре SACCIT. Эта структура является своеобразным фильтром. Но расширять ее можно только на свой страх и риск и, желательно проконсультировавшись с SAP-консультантами.

Нота 77818:

This solution is a system modification performed at the cusomter's own risk.

Enhancement of table TRWPR with customer-specific function modules. Generally, the following times are available for enhancements:


- during online processing before an update:


PROCESS EVENT SUBNO COMPONENT FUNCTION

DOCUMENT CHECK 046 FI Z_CUSTOMER_EXIT_XXXXX
BELEG CLOSE 046 FI Z_CUSTOMER_EXIT_XXXXX

At this point, you can change or enhance the content of fields with structure ACCIT to fulfill customer-specific requirements.

Changes to the contents of fields with structure ACCIT are permitted as long as the field is also retained in SACCIT (non-critical fields).


If the requirement is to update information in customer tables, the following enhancements are necessary:
PROCESS EVENT SUBNO COMPONENT FUNCTION
DOCUMENT PROJECT 046 FI Z_CUSTOMER_EXIT_YYYYY
BELEG PROJECT 046 FI Z_CUSTOMER_EXIT_YYYYY
You can move table contents to your own structures at this point.
Changes to transferred table contents (ACCHD, ACCIT, ACCCR) may not
be carried out.


- after online processing during an update finishes


PROCESS EVENT SUBNO COMPONENT FUNCTION

DOCUMENT POST 046 FI Z_CUSTOMER_EXIT_ZZZZZ
BELEG POST 130 FI Z_CUSTOMER_EXIT_ZZZZZ
Data that was moved to your own tables earlier can now be updated in a adocument of your own.

A and X messages may only be displayed within a function module in truly exceptional cases. The update for all documents will be undone. Messages of any other type are not permitted and lead to data inconsistencies between accounting applications.

The actual update takes place in an update module; in other words, by calling up another function module with

CALL FUNCTION 'Z_CUSTOMER_EXIT_AAAAA' IN UPDATE TASK ... .
Within this function module, INSERT instructions are programmed for customer-specific tables. In the interest of performance, these INSERTs should be programmed in a PERFORM ON COMMIT.


Further notes:

No COMMIT or COMMIT WORK should occur in function modules. A COMMIT takes place for all documents by the transaction that calls it up. A COMMIT in a function module can lead to data inconsistencies.

The interfaces to function modules Z_CUSTOMER_EXIT_XXXXX and Z_CUSTOMER_EXIT_YYYYY are identical.
The interfaces to function modules Z_CUSTOMER_EXIT_XXXXX and Z_CUSTOMER_EXIT_ZZZZZ are described in the "Corrections" section. Calling up an update module as well as a PERFORM ON COMMIT are explained by example in the same section.

You cannot access the document number of the FI document created because the number will still be unknown at the times specified. You have to link a customer document and an FI document using fields
ACCHD-AWSYS ( --> BKPF-AWSYS )
ACCHD-AWTYP ( --> BKPF-AWTYP )
ACCHD-AWREF ( --> BKPF-AWKEY(10) )
ACCHD-AWORG ( --> BKPF-AWKEY+10(10) )


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

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


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

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


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

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