Текущее время: Вт, апр 16 2024, 08:37

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


Правила форума


Вопросы по ППМ (MRP) - сюда.
Вопросы по классификации - сюда.
Вопросы по входящим поставкам - сюда.



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Не работает подмена кода налога в BAPIMEPOITEM
СообщениеДобавлено: Пн, июл 25 2016, 13:19 
Ассистент
Ассистент

Зарегистрирован:
Пн, дек 15 2014, 17:55
Сообщения: 49
Пол: Мужской
Добрый день!

В материале стоит индикатор налога 2, к нему в MEK1 привязан код налога N1.
Мне нужно сделать следующее - при формировании закупочных заказов с помощью BAPIMEPOITEM подменить код налога на M1.
Индикатор налога менять нельзя, так как это независимые друг от друга операции в рамках одного завода.

Смотрел по отладчику - параметры poitem-tax_code и poitemx-tax_code проставляются как нужно, но заказ сохраняется по-прежнему с кодом налога N1.

Прошу помочь решить данную проблему.

Код:

Code:
LOOP AT itab2 WHERE NOT conf IS INITIAL
                  AND lifnr EQ <fs_tmp>-lifnr
                  AND lgort EQ <fs_tmp>-lgort
                  AND icon IS INITIAL.
      tabix.

      CLEAR: return, poitem, poitemx, poschedule, poschedulex, po_num.
      IF poheader IS INITIAL.
        poheader-comp_code  = '3000'.
        poheader-doc_type   = 'ZTDS'.
        poheader-purch_org  = '3000'.
        poheader-pur_group  = '138'.
        poheader-doc_date   = itab2-edatu.
        poheader-vendor     = itab2-lifnr.
        poheader-created_by = sy-uname.
        poheader-pmnttrms   = 'B001'.
        APPEND poheader.

        poheaderx-pmnttrms   = 'X'.
        poheaderx-comp_code  = 'X'.
        poheaderx-doc_type   = 'X'.
        poheaderx-item_intvl = 'X'.
        poheaderx-purch_org  = 'X'.
        poheaderx-pur_group  = 'X'.
        poheaderx-doc_date   = 'X'.
        poheaderx-created_by = 'X'.
        poheaderx-vendor     = 'X'.
        APPEND poheaderx.
      ENDIF.

      ADD 10 TO pos.
      poitem-po_item   = pos.
      poitem-ematerial = itab2-matnr.
      poitem-plant     = '3000'.
      poitem-stge_loc  = itab2-lgort.
      poitem-quantity  = itab2-menge_o.
      poitem-net_price = itab2-netpr.
      poitem-val_type  = itab2-bwtar.
* >>> Для экспорта заменяем код налога.
      IF with_eks EQ 'X'.
      poitem-tax_code   = 'M1'.
      ENDIF.
* <<< Для экспорта заменяем код налога.
      APPEND poitem.

      poschedule-po_item = pos.
      poschedule-delivery_date = poheader-doc_date.
      APPEND poschedule.
      poschedulex-po_item = pos.
      poschedulex-delivery_date = 'X'.
      APPEND poschedulex.

      poitemx-po_item = pos.
      poitemx-po_itemx = 'X'.
      poitemx-ematerial = 'X'.
      poitemx-plant = 'X'.
      poitemx-stge_loc = 'X'.
      poitemx-quantity = 'X'.
      poitemx-net_price = 'X'.
      poitem-val_type = 'X'.
      CLEAR poitem-info_rec.
      poitemx-info_rec = 'X'.
* >>> Для экспорта заменяем код налога.
      IF with_eks EQ 'X'.
      poitemx-tax_code   = 'X'.
      ENDIF.
* <<< Для экспорта заменяем код налога.
      APPEND poitemx.
      do = 'X'.
    ENDLOOP.

    CHECK do EQ 'X'.

    cl poitem_dbl.
    poitem_dbl[] = poitem[].

    SET UPDATE TASK LOCAL.
    CALL FUNCTION 'BAPI_PO_CREATE1'
      EXPORTING
        poheader         = poheader
        poheaderx        = poheaderx
        testrun          = ''
      IMPORTING
        exppurchaseorder = po_num
      TABLES
        return           = return
        poitem           = poitem
        poitemx          = poitemx
        poschedule       = poschedule
        poschedulex      = poschedulex.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не работает подмена кода налога в BAPIMEPOITEM
СообщениеДобавлено: Пт, авг 05 2016, 11:16 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Чт, май 19 2005, 12:34
Сообщения: 1941
Откуда: НК
Пол: Мужской
1) посмотрите содержимое таблицы return, может там что-то будет написано
2) попробуйте создать вручную через ME21N такой же заказ, как вы хотите создать, если там так же работает (не делается подмена) - возможно, работает какой-то Z в экзитах или BAdI

_________________
Eritis sicut Deus, scientes bonum et malum...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не работает подмена кода налога в BAPIMEPOITEM
СообщениеДобавлено: Ср, авг 17 2016, 12:14 
Ассистент
Ассистент

Зарегистрирован:
Пн, дек 15 2014, 17:55
Сообщения: 49
Пол: Мужской
SAA написал:
1) посмотрите содержимое таблицы return, может там что-то будет написано
2) попробуйте создать вручную через ME21N такой же заказ, как вы хотите создать, если там так же работает (не делается подмена) - возможно, работает какой-то Z в экзитах или BAdI


Таблица Return пустая.
В ME21N заказ создается без проблем, перетираются данные именно в BAPI_PO_CREATE1


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не работает подмена кода налога в BAPIMEPOITEM
СообщениеДобавлено: Ср, авг 17 2016, 15:45 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1580
Откуда: Москва, Минск
Пол: Мужской
Сделал прогон BAPI в Se37.
Код налога обновляется корректно - на тот, который я подал в BAPI.

Посмотрите SAP-ноты:
1654724 - Tax code determination for BAPI_PO_CREATE1/BAPI_PO_CHANGE
607539 - Tax code not transferred from BAPI interface
Может быть как раз ваш случай.


Если не то - дебажить.

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не работает подмена кода налога в BAPIMEPOITEM
СообщениеДобавлено: Ср, авг 17 2016, 15:52 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1580
Откуда: Москва, Минск
Пол: Мужской
Возможно пригодится:
Инклюд MM06EFKO_PREISFINDUNG.
FORM preisfindung.
Возможно код налога перетирается вот тут:

Code:
IF ( prf_calct EQ 'B' OR prf_calct EQ 'C' )
          AND ( tkomv-mwsk1 NE space AND tkomv-koaid EQ 'D' )
          AND ( ( ekpo-konnr IS INITIAL AND ekpo-ktpnr IS INITIAL )
              OR NOT ekpo-matnr IS INITIAL OR ekpo-mwskz IS INITIAL ).
        ekpo-mwskz = tkomv-mwsk1.

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


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

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


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

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


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

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