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

Расширение матрериала на завод
https://sapboard.ru/forum/viewtopic.php?f=13&t=97167
Страница 1 из 1

Автор:  Валерка [ Вт, дек 18 2018, 13:00 ]
Заголовок сообщения:  Расширение матрериала на завод

Делаю расширение материала на завод. Код ниже.
Добавляется вкладка "Сбыт: ОбщДанн/Завод" для завода. Но при этом некоторые поля не меняются. Не пойму причину. Может кто-то может подсказать?
Code:
  ls_plant-function = iv_function.
  ls_plant-material = iv_matnr.
  ls_plant-plant = iv_werks.
  ls_plant-batch_mgmt = i_mara_xchpf. "-- Устанавливается
  ls_plant-pur_group = lv_ekgrp. "-- Устанавливается
  ls_plant-availcheck = i_marc_mtvfp. " Группа проверки доступности запасов - НЕ УСТАНАВЛИВАЕТСЯ!!!
  ls_plant-loadinggrp = i_marc_ladgr. " Группа погрузки - НЕ УСТАНАВЛИВАЕТСЯ!!!


Вроде все одинаково для всех полей. Возможно в header я что-то не то устанавливаю.

Весь код
Code:
  "--
  DATA ls_head TYPE bapie1matheader.
  DATA lt_head LIKE TABLE OF ls_head.
  "-- account_view
  DATA ls_val TYPE bapie1mbew.
  DATA lt_val LIKE TABLE OF ls_val.
  DATA ls_valx TYPE bapie1mbewx.
  DATA lt_valx LIKE TABLE OF ls_valx.
  "-- purchase_view
  DATA ls_plant TYPE bapie1marc.
  DATA lt_plant LIKE TABLE OF ls_plant.
  DATA ls_plantx TYPE bapie1marcx.
  DATA lt_plantx LIKE TABLE OF ls_plantx.

  ls_head-function = iv_function_header.
  ls_head-material = iv_matnr.
  ls_head-account_view = 'X'.
  ls_head-purchase_view = 'X'.
  "ls_head-mrp_view = 'X'.
  APPEND ls_head TO lt_head.

  ls_val-function = iv_function.
  ls_val-material = iv_matnr.
  ls_val-val_area = iv_werks.
  "ls_val-val_type = iv_charg.
  ls_val-moving_pr = iv_price.
  "ls_val-std_price = iv_price * 10.
  ls_val-val_class = i_mbew_bklas. " Вид оценки
  ls_val-val_cat = i_mbew_bwtty. " Тип оценки
  ls_val-price_ctrl = i_mbew_vprsv. " Управление ценой
  ls_val-price_unit = i_mbew_peinh. " Единица цены
  APPEND ls_val TO lt_val.

  ls_valx-function = iv_function.
  ls_valx-material = iv_matnr.
  ls_valx-val_area = iv_werks.
  "ls_valx-val_type = iv_charg.
  ls_valx-moving_pr = 'X'.
  "ls_valx-std_price = 'X'.
  ls_valx-val_class = 'X'.
  ls_valx-val_class = 'X'. " Вид оценки
  ls_valx-val_cat = 'X'. " Тип оценки
  ls_valx-price_ctrl = 'X'. " Управление ценой
  ls_valx-price_unit = 'X'. " Единица цены
  APPEND ls_valx TO lt_valx.

  "--
  ls_plant-function = iv_function.
  ls_plant-material = iv_matnr.
  ls_plant-plant = iv_werks.
  ls_plant-batch_mgmt = i_mara_xchpf.
  ls_plant-pur_group = lv_ekgrp.
  ls_plant-availcheck = i_marc_mtvfp. " Группа проверки доступности запасов
  ls_plant-loadinggrp = i_marc_ladgr. " Группа погрузки
  APPEND ls_plant TO lt_plant.

  ls_plantx-function = iv_function.
  ls_plantx-material = iv_matnr.
  ls_plantx-plant = iv_werks.
  ls_plantx-batch_mgmt = 'X'.
  ls_plantx-pur_group = 'X'.
  ls_plantx-availcheck = 'X'.
  ls_plantx-loadinggrp = 'X'.
  APPEND ls_plantx TO lt_plantx.

  DATA ls_return TYPE bapiret2.
  CALL FUNCTION 'BAPI_MATERIAL_SAVEREPLICA'
    EXPORTING
      noappllog      = space
      nochangedoc    = space
      testrun        = i_testrun
      inpfldcheck    = space
*     FLAG_CAD_CALL  = ' '
*     NO_ROLLBACK_WORK           = ' '
*     FLAG_ONLINE    = ' '
    IMPORTING
      return         = ls_return
    TABLES
      headdata       = lt_head
      plantdata      = lt_plant
      plantdatax     = lt_plantx
      valuationdata  = lt_val
      valuationdatax = lt_valx
      returnmessages = t_messages.

Автор:  DED_MOROZ [ Вт, дек 18 2018, 15:16 ]
Заголовок сообщения:  Re: Расширение матрериала на завод

Попробуй заполнить
ls_head-SALES_VIEW = 'X'

Автор:  Валерка [ Ср, дек 19 2018, 08:55 ]
Заголовок сообщения:  Re: Расширение матрериала на завод

Выдает вот эти сообщение. Т.е. ошибок нет, но нужные данные не появляются :(
Цитата:
S MK 102 Создайте попытки: <материал> <завод> ____ <завод> __________ <канал сбыта> <сектор сбыта> ___ ___.
S MG 160 Ведение материала невозмжно, так как данные для ведения не перенесены.
S MK 103 Измените попытки: <материал> <завод> ____ <завод> __________ <канал сбыта> <сектор сбыта> ___ ___.
S M3 810 Никаких изменений не выполнено.

Автор:  superbizon [ Ср, дек 19 2018, 09:16 ]
Заголовок сообщения:  Re: Расширение матрериала на завод

Вручную получается эти поля установить?

Автор:  Валерка [ Ср, дек 19 2018, 09:22 ]
Заголовок сообщения:  Re: Расширение матрериала на завод

Да. Беру материал, захожу в него через MM01, указываю нужный завод и на вкладке "Сбыт: ОбщДанн/Завод" могу ввести эти поля.

Если я вызвал BAPI и потом зашел через MM02, то я этих полей даже не вижу. Выделенное поле есть, остальных - нет.
Изображение

Если же я добавляю через MM01, то при входе через mm02 эти поля есть

Изображение

Автор:  superbizon [ Ср, дек 19 2018, 09:42 ]
Заголовок сообщения:  Re: Расширение матрериала на завод

это
"ls_head-mrp_view = 'X'.
раскомментить пробовали?
Есть смысл попытать счастья активируя другие флаги в ls_head (у меня сейчас нет под рукой системы, стобы посмотреть что там похожее по смыслу есть)

Автор:  superbizon [ Ср, дек 19 2018, 09:45 ]
Заголовок сообщения:  Re: Расширение матрериала на завод

Валерка написал(а):
Да. Беру материал, захожу в него через MM01, указываю нужный завод и на вкладке "Сбыт: ОбщДанн/Завод" могу ввести эти поля.
Если я вызвал BAPI и потом зашел через MM02, то я этих полей даже не вижу. Выделенное поле есть, остальных - нет.

146% - причина в ls_head. Ищите куда еще X поставить


upd. возьмите эти два материала, посмотрите по ним пола mara-pstat,найдите какими буквами они отличаются, по буквам определите необходимые поля в ls_head

Автор:  Валерка [ Ср, дек 19 2018, 09:47 ]
Заголовок сообщения:  Re: Расширение матрериала на завод

superbizon написала:
это
"ls_head-mrp_view = 'X'.
раскомментить пробовали?
Есть смысл попытать счастья активируя другие флаги в ls_head (у меня сейчас нет под рукой системы, стобы посмотреть что там похожее по смыслу есть)

Пробовал. Потому и закоментировано, что пробовал и оставил.

Чтож, вариантов нет, так что попробую.

Автор:  superbizon [ Ср, дек 19 2018, 09:55 ]
Заголовок сообщения:  Re: Расширение матрериала на завод

superbizon написала:
Валерка написал(а):
Да. Беру материал, захожу в него через MM01, указываю нужный завод и на вкладке "Сбыт: ОбщДанн/Завод" могу ввести эти поля.
Если я вызвал BAPI и потом зашел через MM02, то я этих полей даже не вижу. Выделенное поле есть, остальных - нет.

146% - причина в ls_head. Ищите куда еще X поставить


upd. возьмите эти два материала, посмотрите по ним поля mara-pstat, найдите какими буквами они отличаются, по буквам определите необходимые поля в ls_head


еще раз upd:
в типе компонента структуры BAPIMATHEAD нужные буквы видны:
SICHT_K, SICHT_D и т.п.

Автор:  Валерка [ Ср, дек 19 2018, 12:25 ]
Заголовок сообщения:  Re: Расширение матрериала на завод

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

Автор:  superbizon [ Ср, дек 19 2018, 13:23 ]
Заголовок сообщения:  Re: Расширение матрериала на завод

может еще что-то надо подавать при загрузке через бапи, что при ручном вводе автоматически экранной логикой (или расширениями экранной логики) подставляется?
кроме как сравнить MARC по ручному и программно созданному заводскому ракурсу не знаю что предложить (

Автор:  Валерка [ Ср, дек 19 2018, 14:38 ]
Заголовок сообщения:  Re: Расширение матрериала на завод

В MARC значения отличаются
Изображение

Один материал, два разных завода. Для одного поля открыты, для другого нет.
Изображение

Автор:  superbizon [ Ср, дек 19 2018, 15:16 ]
Заголовок сообщения:  Re: Расширение матрериала на завод

Разница в marc-pstat намекает на
DED_MOROZ написал:
Попробуй заполнить
ls_head-SALES_VIEW = 'X'

Чтобы сработало нужно сбытовую организацию, и может быть канал и сектор сбыта указать в параметре salesdata (добавить и заполнить + salesdatax). Какие - вопрос к консультанту.
таблицу MVKE для этих же материалов посмотрите. Может для ручного ввода сбытовой ракурс автоматически создается?

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