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

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


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


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: При использовании BAPI_PO_CHANGE система не меняет значения контировок
СообщениеДобавлено: Чт, авг 29 2019, 10:06 
Специалист
Специалист

Зарегистрирован:
Вт, янв 09 2007, 15:07
Сообщения: 105
Добрый день.

Необходимо в заказе на поставку в позиции поменять значения в разделе "Контировка"
Используем BAPI_PO_CHANGE
Заполняем
POACCOUNT
PO_ITEM = 00001
SERIAL_NO = 01
SD_DOC =12345
ITM_NUMBER =000001
и
POACCOUNTX
PO_ITEM = 00001
SERIAL_NO = 01
PO_ITEMX = X
SERIAL_NOX = X
SD_DOC =X
ITM_NUMBER =X

затем CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = X.

Система пишет что заказ изменён, но при этом изменений нет.
Пробовали поменять счёт, МВЗ.
Вручную меняется успешно, через бапи ни в какую.

Прошу подсказать, что ещё необходимо прописать или сделать, чтобы Контировки начали меняться через BAPI_PO_CHANGE

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: При использовании BAPI_PO_CHANGE система не меняет значения контировок
СообщениеДобавлено: Чт, авг 29 2019, 13:09 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
Добрый день.
Есть предположение, что необходимо заполнять еще и позиции:
POITEM =
POITEMX =


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: При использовании BAPI_PO_CHANGE система не меняет значения контировок
СообщениеДобавлено: Чт, авг 29 2019, 13:59 
Специалист
Специалист

Зарегистрирован:
Вт, янв 09 2007, 15:07
Сообщения: 105
Заполняли
POITEM
PO_ITEM = 00001

POITEMX
PO_ITEM = 00001
PO_ITEMX = X

Эффект тот же - отсутствие изменений


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: При использовании BAPI_PO_CHANGE система не меняет значения контировок
СообщениеДобавлено: Чт, авг 29 2019, 14:06 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
А тип контировки указывали в позиции?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: При использовании BAPI_PO_CHANGE система не меняет значения контировок
СообщениеДобавлено: Чт, авг 29 2019, 14:21 
Специалист
Специалист

Зарегистрирован:
Вт, янв 09 2007, 15:07
Сообщения: 105
Создали заказ на поставку c позицией, у которой тип контировки = X.
Далее в программе через bapi считывается позиция и затем
данные передаются в POITEM и заполняется POITEMX (все поля = X )
данные передаются в POACCOUNT - после вписывается номер заказа клиента/позиция (либо пробовали поменять только один номер МВЗ на другой) и заполняем POACCOUNTX ( все поля = X)

В результате изменений нет, хотя сообщение о том, что заказ изменён.

Вручную через ME22N и ME22 всё меняется и сохраняется.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: При использовании BAPI_PO_CHANGE система не меняет значения контировок
СообщениеДобавлено: Чт, авг 29 2019, 17:10 
Специалист
Специалист

Зарегистрирован:
Вт, янв 09 2007, 15:07
Сообщения: 105
Даже просто МВЗ не меняет с одного значения на другое.

У кого-нибудь эта Бапи меняет данные в разделе "Контировка"?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: При использовании BAPI_PO_CHANGE система не меняет значения контировок
СообщениеДобавлено: Чт, авг 29 2019, 17:31 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
Добрый день.
Да контировка меняется из без проблем.
Там нюанс только в том, что есть номер контировки, и его надо указывать, чтобы изменить, если его не указывать, то он добавляет новую контировку, а это говорит о том, что контировок будет уже больше одной...

Вот:
Code:
data:
it_return type table of bapiret2,
it_POACCOUNT type table of BAPIMEPOACCOUNT,
it_POACCOUNTX type table of BAPIMEPOACCOUNTX,
  it_POITEM type table of BAPIMEPOITEM,
  it_POITEMX type table of BAPIMEPOITEMX,
  wa_acc       like line of it_POACCOUNT, "type BAPIMEPOITEM,
  wa_accx      like line of it_POACCOUNTX,

  wa_p       like line of it_POITEM, "type BAPIMEPOITEM,
  wa_px      like line of it_POITEMX,
wa_return type bapiret2.


      wa_p-PO_ITEM     = 10.
      wa_px-PO_ITEM    = 10.
*      wa_p-NO_MORE_GR  = 'X'.
*      wa_px-NO_MORE_GR = 'X'.


      append wa_p to it_POITEM.
      append wa_px to it_POITEMx.

wa_acc-PO_ITEM     = 10.
wa_acc-SERIAL_NO   = 1.
wa_acc-COSTCENTER  = '1201030203'.
wa_acc-GL_ACCOUNT  = '0020012102'.
wa_accx-PO_ITEM     = 10.
wa_accx-SERIAL_NO   = 1.
wa_accx-COSTCENTER  = 'X'.
wa_accx-GL_ACCOUNT  = 'X'.

      append wa_acc to it_POACCOUNT.
      append wa_accx to it_POACCOUNTx.


CALL FUNCTION 'BAPI_PO_CHANGE'
  EXPORTING
    PURCHASEORDER                = '4500339578'
*   POHEADER                     =
*   POHEADERX                    =
*   POADDRVENDOR                 =
*   TESTRUN                      =
*   MEMORY_UNCOMPLETE            =
*   MEMORY_COMPLETE              =
*   POEXPIMPHEADER               =
*   POEXPIMPHEADERX              =
*   VERSIONS                     =
*   NO_MESSAGING                 =
*   NO_MESSAGE_REQ               =
*   NO_AUTHORITY                 =
*   NO_PRICE_FROM_PO             =
* IMPORTING
*   EXPHEADER                    =
*   EXPPOEXPIMPHEADER            =
  TABLES
    RETURN                       = it_return
    POITEM                       = it_POITEM
    POITEMX                      = it_POITEMX
*   POADDRDELIVERY               =
*   POSCHEDULE                   =
*   POSCHEDULEX                  =
    POACCOUNT                    = it_POACCOUNT
*   POACCOUNTPROFITSEGMENT       =
    POACCOUNTX                   = it_POACCOUNTX
*   POCONDHEADER                 =
*   POCONDHEADERX                =
*   POCOND                       =
*   POCONDX                      =
*   POLIMITS                     =
*   POCONTRACTLIMITS             =
*   POSERVICES                   =
*   POSRVACCESSVALUES            =
*   POSERVICESTEXT               =
*   EXTENSIONIN                  =
*   EXTENSIONOUT                 =
*   POEXPIMPITEM                 =
*   POEXPIMPITEMX                =
*   POTEXTHEADER                 =
*   POTEXTITEM                   =
*   ALLVERSIONS                  =
*   POPARTNER                    =
          .
break amolchanov.
  clear wa_return.
  call function 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      wait   = 'X'
    IMPORTING
      return = wa_return.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: При использовании BAPI_PO_CHANGE система не меняет значения контировок
СообщениеДобавлено: Вт, сен 03 2019, 08:37 
Специалист
Специалист

Зарегистрирован:
Вт, янв 09 2007, 15:07
Сообщения: 105
Повторили пример один в один. К сожалению, на изменение контировки функция не отрабатывает. Хотя если использовать BAPI_PO_CREATE1, то контировки заполняются.
Какие то манипуляции в расширениях не обнаружены (на которые могли подумать). Может быть ещё какие то будут идеи?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: При использовании BAPI_PO_CHANGE система не меняет значения контировок
СообщениеДобавлено: Вт, сен 03 2019, 08:42 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
Добрый день.
А что возвращается в таблице сообщений?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: При использовании BAPI_PO_CHANGE система не меняет значения контировок
СообщениеДобавлено: Вт, сен 03 2019, 09:08 
Специалист
Специалист

Зарегистрирован:
Вт, янв 09 2007, 15:07
Сообщения: 105
Возвращает, что заказ изменён.

Причём когда запускаем функцию на тестирование (через SE37), то она возвращает измененную позицию, всё хорошо.
А в программе не хочет (((


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: При использовании BAPI_PO_CHANGE система не меняет значения контировок
СообщениеДобавлено: Вт, сен 03 2019, 09:17 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
а в программе используете BAPI_TRANSACTION_COMMIT ?
А другие сообщения есть, кроме что заказ изменен?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: При использовании BAPI_PO_CHANGE система не меняет значения контировок
СообщениеДобавлено: Вт, сен 03 2019, 09:23 
Специалист
Специалист

Зарегистрирован:
Вт, янв 09 2007, 15:07
Сообщения: 105
Да, используем.

Например количество или группу закупок меняли - функция меняет. Т.е. BAPI_TRANSACTION_COMMIT отрабатывает.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: При использовании BAPI_PO_CHANGE система не меняет значения контировок
СообщениеДобавлено: Вт, сен 03 2019, 09:32 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
даже не знаю, что еще сказать.
А другие сообщения. кроме изменения заказа есть?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: При использовании BAPI_PO_CHANGE система не меняет значения контировок
СообщениеДобавлено: Вт, сен 03 2019, 09:47 
Специалист
Специалист

Зарегистрирован:
Вт, янв 09 2007, 15:07
Сообщения: 105
Нет, других сообщений нет.

hub2002 написал(а):
даже не знаю, что еще сказать.


Если бы при тестировании функция не возвращала бы изменённых значений, то хотя бы была надежда, что это где то в расширении.
А так... у самих уже закончились предположения на что подумать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: При использовании BAPI_PO_CHANGE система не меняет значения контировок
СообщениеДобавлено: Вт, сен 03 2019, 09:51 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
Вообще, то что нет других сообщений, дает повод задуматься...
Например, у меня в таблице it_return много сообщений, даже в указанном примере сообщений 5 или 6.
Они все или желтые или зеленые, но это говорит, о том, что логика заказа на поставку отрабатывает...
А у вас очень странно, что нет других сообщений...

Больше не знаю, что подсказать...
Указанный пример, изменяет контировку...


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

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


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

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


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

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