Текущее время: Пт, май 24 2024, 17:37

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


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

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


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

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