Текущее время: Чт, апр 25 2024, 09:28

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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