SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

cl_message_handler_mm в ME51N или ME21N



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
Mania4e11o
Участник
Участник


Age: 33
Joined: 12 Dec 2011
Posts: 47
Location: Рязань

PostPosted: Mon Jun 03, 2013 3:10 pm    Post subject: cl_message_handler_mm в ME51N или ME21N Reply with quote

Всем привет.
Ситуация такая. Создаются заявки и заказы на поставку на перемещения материала, у которого стоит признак блокировки материала для завода.

По бизнес-логике удаляем признак блокировки MARC-MMSTA и создаем заказы или заявки.

Например для ME51N делаю это в ME_PROCESS_REQ_CUST, в методе PROCESS_HEADER. Удалю признак через
Code:
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
            EXPORTING
              headdata    = gs_head
              clientdata  = gs_clnt
              clientdatax = gs_clntx
              plantdata   = gs_plnt
              plantdatax  = gs_plntx
            IMPORTING
              return      = gs_ret.

          IF gs_ret-type = 'S'.
            CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
            EXPORTING
              WAIT = abap_true
              .
            po_header->IS_VALID( ).
            <fs_item>-item->IS_VALID( ).
          ENDIF.

, а сообщение из cl_message_handler_mm удаляю через
Code:
CALL METHOD lo_myhandler->remove_by_bo
            EXPORTING
              im_business_obj = lo_message_mm->business_obj.

          lo_myhandler->cleanup( ).


Ошибок никаких нет на этапе создания, а вот когда пытаюсь сохранить, появляется POPUP - Сохранить временно, Обработать, Отменить. Нажимаешь обработать, а там нет никаких ошибок E, а только попутные W cообщения, не относящиеся к проблеме. Что делать?

Если удалить Тип позиции (у меня он U) и снова его записать, то все проходит и все сохраняется(Т.е. когда вызывается событие CHANGE у ALV с позициями ).

В какую сторону работать? Пытаться как-то удалить это сообщение с cl_message_handler_mm или как-то насильно вызвать "PAI" у ALV с позициями?

Спасибо, заранее, всем откликнувшимся!

_________________
Лучше в 22:00 дома, чем в 21:30 в морге
Back to top
View user's profile Send private message Blog
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Tue Jun 04, 2013 10:36 am    Post subject: Reply with quote

Может проще перед созданием заказа убирать блокировку через MM02, а после создания устанавливать заново? Confused
_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
Mania4e11o
Участник
Участник


Age: 33
Joined: 12 Dec 2011
Posts: 47
Location: Рязань

PostPosted: Tue Jun 04, 2013 10:40 am    Post subject: Reply with quote

Удав wrote:
Может проще перед созданием заказа убирать блокировку через MM02, а после создания устанавливать заново? Confused


Все ТЗ стоит на том, чтобы иметь такую возможность создавать сразу через ME51N или ME21N Smile Но я такого же мнения, бред еще тот...

_________________
Лучше в 22:00 дома, чем в 21:30 в морге
Back to top
View user's profile Send private message Blog
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.