MBCFC004 - Заполнение классификации для партий

Автор Uukrul, Вересень 08, 2009, 12:44:35 ПП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

Uukrul

MBCFC004 - В данном экзите можно выполнить автоматическое присвоение значений для полей классификации партии. Экзит автоматически вызывается при задании партии и мы можем заполнить значения полей. Список полей передается в структуре attributes, так что все что нужно это заполнить параметр VALUES.

 LOOP AT attributes.
   MOVE-CORRESPONDIG attributes TO values.
   CASE/IF <в зависимости от имени признака>
     values-atwtb = <значение присвоенное признаку>.
   ENDCASE/ENDIF.
   APPEND values.
 ENDLOOP.


PS: Случайно вместо имени экзита указал имя инклуда.

Паганель

Что то не могу найти этот экзит, твоей прогой искал - http://sapforum.biz/index.php/topic,654.0.html
Нашел SAPLV1ZN - EXIT_SAPLV01Z_014
Мне кажется что ты перепутал с ZXVBZU10.

Как мне найти в каком  Enhancement"е находится ZXMBCU04?

Dmitriy

#2
Цитата: Паганель від Вересень 27, 2009, 11:02:14 ДП
Что то не могу найти этот экзит, твоей прогой искал - http://sapforum.biz/index.php/topic,654.0.html
Нашел SAPLV1ZN - EXIT_SAPLV01Z_014
Мне кажется что ты перепутал с ZXVBZU10.

Как мне найти в каком  Enhancement"е находится ZXMBCU04?
FM "EXIT_SAPMM07M_004"


Паганель

#3
А имя расширения, которое можно указать в smod

т.е. есть у нас екзит EXIT_SAPMM07M_010, есть инклуд ZXMBCU10, как определить название расширения которое надо в проекте присвоить?

Dmitriy


Dmitriy

Цитата: Паганель від Вересень 27, 2009, 12:15:29 ПП
А имя расширения, которое можно указать в smod

т.е. есть у нас екзит EXIT_SAPMM07M_010, есть инклуд ZXMBCU10, как определить название расширения которое надо в проекте присвоить?
MBCFC010 ;)

Uukrul

В общем-то имя экзита MBCFC004, но чтобы он вызвался нужно для вида движения убедиться что классификация активна. Для этого зайдите в транзакцию настройки классификации партий для видов движений OMCV и установите требуемый код для вида движения. Например если вы классифицируете в экзите тогда можно поставить режим 1 - Классификация выполняется в фоновом режиме (все партии) или 3 - Классификация вызывается всегда в ДиалогРежиме (все партии), при этом для режима три будет вызван экзит, а потом пользователю будет показан экран классификации с заполненными в экзите полями.

Паганель

Т.е. это экзит вызывается когда в миго нажимают кнопку "Классификация"?
А как же заполнять в фоне?

Uukrul

Цитата: Паганель від Вересень 27, 2009, 07:19:03 ПП
Т.е. это экзит вызывается когда в миго нажимают кнопку "Классификация"?
А как же заполнять в фоне?
Не знаю... я в новых транзакциях не смотрел, но в 4.6 работает без нажатия на кнопочку... а ты точно там поставил тип 1? Кстати попробуй через MB01 сделать приход...


Паганель

Цитата: Uukrul  link=topic=782.msg5095#msg5095 date=1254067966
Например если вы классифицируете в экзите тогда можно поставить режим 1 - Классификация выполняется в фоновом режиме (все партии)

Не могу найти экзит

Паганель

Цитата: Паганель від Вересень 27, 2009, 07:27:54 ПП
uukrul:
экзит я тебе сказал...

блин,типа если для ВД утановить это индикатор, то будет вызыватся MBCFC004?

Uukrul

Типа таки вот как оно работает, только что проверил по всей цепочки в ECC 6.0 с созданием экзита и всех шагов. У меня работает:

1. Создал материал, система IDES, за основу взял P-100, создал P-100-B, вид материала HAWA, на закладках "Классификация" присвоил свой класс YTOV_BATCH для вида класса 023 с одним признаком для тестирования, на ракусе "Закупка" поставил ведение по партиям, на закладке "БухУчет1" поставил оценка типа X, класс оценки 3100 и цена среднескользящая. Пример на рисунках MM01-1.png, MM01-2.png и MM01-3.png

2. Зашел в создание расширения, там сделал проект с расширением MBCFC004 и в нем написал вот такой вот текст:

*&---------------------------------------------------------------------*
*&  Include           ZXMBCU04
*&---------------------------------------------------------------------*
LOOP AT attributes.
  MOVE-CORRESPONDING attributes TO values.
  values-atwtb = '00005'.
  APPEND values.
ENDLOOP.

В общем типа всегда заполняю признак, там он только один, значением 00005.

3. В транзакции OMCV, поставил для вида движения 501 поставил так как на рисунке OMVC.png, в общем классификация только в фоне, чтобы диалог не вызвался.

4. Пошел в MB1C и затем тоже в MIGO сделал 501 вид движения, все красиво отклассифицировалось MIGO-1.png и MIGO-2.png

Так что не знаю... у меня как видим в двух разных системах все работает.

Паганель

Прикольно, у меня так что-то не работает .... сделал бади в нем вызываю VB_CREATE_BATCH всеравно .... получилось создавать партию, только как бы там не было вызывается (показывается) диалог классификации

Uukrul

Цитата: Паганель від Вересень 27, 2009, 08:30:44 ПП
Прикольно, у меня так что-то не работает .... сделал бади в нем вызываю VB_CREATE_BATCH всеравно .... получилось создавать партию,
Ну я бади как-то у себя в примере не вижу... а так как сделал, то.. еще раз в двух разных системах это работает. Отсюда вывод или у ритейла что-то не то?! Сомневаюсь однако... или кто-то уже что-то хорошо поломал где-то.

Паганель

#15
Цитата: Паганель від Вересень 27, 2009, 08:30:44 ПП
Прикольно, у меня так что-то не работает .... сделал бади в нем вызываю VB_CREATE_BATCH всеравно .... получилось создавать партию, только как бы там не было вызывается (показывается) диалог классификации

Ну частично решили:
1- у меня для автоматичесского и принудительного создания партии при движении материала, в MB_MIGO_ITEM_BADI вызывается VB_CREATE_BATCH, только там была ошибка с передачей параметра kzcla = 'X', надо было передавать '1'
2. Стандартный механизм, поисанный Уукрулом не срабатывал, так как в Ритейле, нету закладки "Классификация" в ОЗМ, и присвоить класс ..... как бы нельзя, или я просто его не нашел.

Есть идеи?

Uukrul

Цитата: Паганель від Жовтень 07, 2009, 01:48:10 ПП
2. Стандартный механизм, поисанный Уукрулом не срабатывал, так как в Ритейле, нету закладки "Классификация" в ОЗМ, и присвоить класс ..... как бы нельзя, или я просто его не нашел.
Так это вообще такой закладки нет или может ее для вида материала не активировали?


Dmitriy

Добавлю небольшие свои 5 копеек, относящиеся к первой половине топика.
Если известно имя Include, то с первого экрана SE38 ч/з журнал использования можно найти программу, в которой он используется. Возникал вопрос: а если он еще не создан, то как узнать имя расширения? Попробовал для двух расширений:
1. MBCFC010, Include ZXMBCU10.
2. HRESSW4, Include ZXWWWU03 соответственно.
Ни один из Includes в моей тестовой системе еще не создан. SE38 -> Журнал использования (все галочки):
1. LXMBCU10, однозначно указывающий нам на ФМ "EXIT_SAPMM07M_010".
2. Сообщение ES240 "ZXWWWU03 - не Include", по аналогии со случаем 1 меняем Z на L, жмем просмотр и видим ФМ "EXIT_SAPLEHUS_001". Также ZXWWWU03 можно было просто создать, затем удалить, если не нужен.
Ну а зная имя ФМ ищем расширение так, как написал Удав здесь и показано на рисунке.

Sed0Y

Цитата: Uukrul від Вересень 27, 2009, 08:21:55 ПП
Типа таки вот как оно работает, только что проверил по всей цепочки в ECC 6.0 с созданием экзита и всех шагов. У меня работает:

1. Создал материал, система IDES, за основу взял P-100, создал P-100-B, вид материала HAWA, на закладках "Классификация" присвоил свой класс YTOV_BATCH для вида класса 023 с одним признаком для тестирования, на ракусе "Закупка" поставил ведение по партиям, на закладке "БухУчет1" поставил оценка типа X, класс оценки 3100 и цена среднескользящая. Пример на рисунках MM01-1.png, MM01-2.png и MM01-3.png

2. Зашел в создание расширения, там сделал проект с расширением MBCFC004 и в нем написал вот такой вот текст:

*&---------------------------------------------------------------------*
*&  Include           ZXMBCU04
*&---------------------------------------------------------------------*
LOOP AT attributes.
  MOVE-CORRESPONDING attributes TO values.
  values-atwtb = '00005'.
  APPEND values.
ENDLOOP.

В общем типа всегда заполняю признак, там он только один, значением 00005.

3. В транзакции OMCV, поставил для вида движения 501 поставил так как на рисунке OMVC.png, в общем классификация только в фоне, чтобы диалог не вызвался.

4. Пошел в MB1C и затем тоже в MIGO сделал 501 вид движения, все красиво отклассифицировалось MIGO-1.png и MIGO-2.png

Так что не знаю... у меня как видим в двух разных системах все работает.

Не подскажете, сделал все как описано выше, в инклюде ZXMBCU04 сделал точку остановы (брейк поинт) но программа не попадает туда, посоветуйте что нужно проверить или сделать?

Uukrul

Цитата: Sed0Y від Травень 03, 2011, 11:40:44 ПП
Не подскажете, сделал все как описано выше, в инклюде ZXMBCU04 сделал точку остановы (брейк поинт) но программа не попадает туда, посоветуйте что нужно проверить или сделать?
Так это вы проект расширения создали и его активировали?

Sed0Y

Цитата: Uukrul від Травень 03, 2011, 11:43:47 ПП
Так это вы проект расширения создали и его активировали?

Смотрите -создал в CMOD MBCFC004, в нем дважды нажал на "EXIT_SAPMM07M_004" выбрал перешел в папку где находится этот
user- exits и через нажатие правой кнопки мыши "создать инклюд" создал "ZXMBCU04" написал код остановы, активировал, вышел и в cmod активировал - верно?

P.S. это первый мой опыт создания user- exits, читал литературу, вроде так и писали как делать, как я написал, если дадите ссылку на другой ресурс, или книгу где все это описывается внятно, буду очень признателен...


Uukrul

Цитата: Sed0Y від Травень 04, 2011, 12:02:52 ДП
или книгу где все это описывается внятно, буду очень признателен...
Ну не знаю.. сейчас накидаю, что-то... минут за 20... чтобы было понятно что и как... а то у меня чувство что вы проект не правильно создали.

Uukrul

Цитата: Sed0Y від Травень 04, 2011, 12:02:52 ДП
читал литературу, вроде так и писали как делать, как я написал, если дадите ссылку на другой ресурс, или книгу где все это описывается внятно, буду очень признателен...
Ну в общем тут пример набросал: http://sapforum.biz/index.php/topic,1649.msg8905.html#msg8905

Sed0Y


SMF spam blocked by CleanTalk