SAPфорум.RU
https://sapboard.ru/forum/

Просмотр в пользовательских расширениях компонентов экрана
https://sapboard.ru/forum/viewtopic.php?f=13&t=2349
Страница 1 из 1

Автор:  RoadRunner [ Чт, дек 16 2004, 12:49 ]
Заголовок сообщения:  Просмотр в пользовательских расширениях компонентов экрана

Интересует, можно ли в расширении (напр., на проводку док. мтрл) каким-то образом просматривать компоненты экрана. Напр., нужно определить значения полей ACTION и REFDOC (тр. MIGO). А в расширение эти поля не попадают...

Автор:  Clarus [ Чт, дек 16 2004, 12:53 ]
Заголовок сообщения: 

В user-exit попадают только поля документа материала из MKPF, MSEG.Может, расскажете зачем вам доступ к ACTION и REFDOC ?

Автор:  Alpina [ Чт, дек 16 2004, 13:45 ]
Заголовок сообщения: 

Чтобы узнать, например, является проводимый документ документом сторно. По виду движения это опредилить сложно. Или же придется анализировать ссылочные докумены в позиции.

Автор:  Clarus [ Чт, дек 16 2004, 18:36 ]
Заголовок сообщения: 

Боюсь, что придется все таки анализировать вид движения.

Автор:  nicky555 [ Пт, дек 17 2004, 08:21 ]
Заголовок сообщения: 

Документ материала стронируется по позициям.
В структуре MSEG при проводке документа сторно заполнены поля SJAHR, SMBLN и SMBLP. Наличие в одном из них значения и есть признак документа сторно.
Или я чего-то не так понял? :roll:

Автор:  RoadRunner [ Пт, дек 17 2004, 10:01 ]
Заголовок сообщения: 

Так и сделали! :) Кроме того, в полях LFBJA, LFBNR и LFPOS указывается первоначальный документ в цепочке сторно, а в полях SJAHR, SMBLN и SMBLP - сторнируемый текущим документом. Просто интересовала сама возможность - иногда было бы проще получить какую-то информацию из элементов экрана, чем делать запрос к базе. Я имею в виду что-то вроде оптимизации доступа ;)

В любом случае, спасибо всем, кто откликнулся!

Автор:  OlegDm [ Сб, дек 18 2004, 08:03 ]
Заголовок сообщения: 

RoadRunner написал:
Так и сделали! :) Кроме того, в полях LFBJA, LFBNR и LFPOS указывается первоначальный документ в цепочке сторно, а в полях SJAHR, SMBLN и SMBLP - сторнируемый текущим документом. Просто интересовала сама возможность - иногда было бы проще получить какую-то информацию из элементов экрана, чем делать запрос к базе. Я имею в виду что-то вроде оптимизации доступа ;)

В любом случае, спасибо всем, кто откликнулся!


Вопрос на форуме подобный уже поднимался, правда несколько в ином контексте, но главное реализация, которую рассмотрим на примере MB_DOCUMENT_BADI (работает в MIGO):

В методе MB_DOCUMENT_BEFORE_UPDATE вставляем примерно следующий код:

method if_ex_mb_document_badi~mb_document_before_update.

data: i_godynpro type godynpro.

field-symbols: <x_godynpro> type any.

assign ('(SAPLMIGO)godynpro') to <x_godynpro>.
if sy-subrc eq 0.
move: <x_godynpro> to i_godynpro.

* анализ выполняемой операции
case i_godynpro-action.
when 'A01'.
...
when 'A03'. "Вот ваше сторно
endacse.

* анализ вида ссылочного документа
case i_godynpro-refdoc.
when 'R01'.
when 'R02'.
...
when 'R05'.
endacse.
endif.
endmethod.

то же самое можно реализовать и в ФМ customer-exit-ов, например в MBCF0002 :

*----------------------------------------------------------------------*
* INCLUDE ZXMBCU02 *
*----------------------------------------------------------------------*
*" IMPORTING
*" VALUE(I_MSEG) LIKE MSEG STRUCTURE MSEG
*" VALUE(I_VM07M) LIKE VM07M STRUCTURE VM07M
*" VALUE(I_DM07M) LIKE DM07M STRUCTURE DM07M
*" VALUE(I_MKPF) LIKE MKPF STRUCTURE MKPF
*" EXPORTING
*" VALUE(E_SGTXT) LIKE MSEG-SGTXT


data: i_godynpro type godynpro,
i type i.

field-symbols: <x_godynpro> type any.

assign ('(SAPLMIGO)godynpro') to <x_godynpro>.

if sy-subrc eq 0.
move: <x_godynpro> to i_godynpro.

* анализ выполняемой операции
case i_godynpro-action.
when 'A01'.
...
when 'A03'. "Вот ваше сторно endacse.

* анализ вида ссылочного документа
case i_godynpro-refdoc.
when 'R01'.
when 'R02'.
...
when 'R05'.
endacse.
endif.

Автор:  Гость [ Чт, фев 24 2005, 09:57 ]
Заголовок сообщения: 

В вышеприведенном примере целесообразно использовать типизированные FIELD-SYMBOLS - меньше хлопот со структурными полями... :wink:

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/