Текущее время: Пн, июл 21 2025, 15:26

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Создание заявки на Ма и BAPI
СообщениеДобавлено: Пт, ноя 23 2007, 17:46 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, авг 20 2007, 15:49
Сообщения: 67
Всем привет!
Есть задача написать создание заявки из файла и копирование заявки. Почитал форум добрые люди говорят что нужно делать с помощью BAPI, а не пакетным вводом.
Начал смотреть BAPI нашел для заявки BAPI_PR_CREATE, а все советуют использовать BAPI_PO_CREATE1(хотя он для заказа на поставку).
Подскажите, пожалуйста, какой же все-таки использовать???


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создание заявки на Ма и BAPI
СообщениеДобавлено: Пт, ноя 23 2007, 17:59 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
DAK написал(а):
Всем привет!
Есть задача написать создание заявки из файла и копирование заявки. Почитал форум добрые люди говорят что нужно делать с помощью BAPI, а не пакетным вводом.
Начал смотреть BAPI нашел для заявки BAPI_PR_CREATE, а все советуют использовать BAPI_PO_CREATE1(хотя он для заказа на поставку).
Подскажите, пожалуйста, какой же все-таки использовать???

Есть ещё BAPI_REQUISITION_CREATE.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 23 2007, 18:09 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, авг 20 2007, 15:49
Сообщения: 67
BAPI_REQUISITION_CREATE нов. с версии 40A
BAPI_PR_CREATE нов. с версии 640 поновее будет.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 23 2007, 18:26 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
DAK написал(а):
BAPI_REQUISITION_CREATE нов. с версии 40A
BAPI_PR_CREATE нов. с версии 640 поновее будет.

Сорри, не усмотрел.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 27 2007, 08:47 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, авг 20 2007, 15:49
Сообщения: 67
Подскажите, создаю заявку по ссылке на уже существующую заявку:

PRHEADER-PR_TYPE = 'NB'.
PRHEADERX-PR_TYPE = 'X'.
APPEND PRHEADER.
APPEND PRHEADERX.
PRITEM-REF_REQ = '0010000050'.
PRITEMX-REF_REQ = 'X'.
PRITEM-REF_REQ_ITEM = 1.
PRITEMX-REF_REQ_ITEM = 'X'.
APPEND PRITEM.
APPEND PRITEMX.
CALL FUNCTION 'BAPI_PR_CREATE'
EXPORTING
PRHEADER = PRHEADER
PRHEADERX = PRHEADERX
TESTRUN = 'X'
IMPORTING
NUMBER = SO_BANFN
TABLES
RETURN = MESSAGE
PRITEM = PRITEM
PRITEMX = PRITEMX.
commit WORK.
А ФМ возвращает ошибку:
E/BAPI/001/Ни одной инстанции типа объекта PurchaseRequisition не создано. Внешняя ссылка: # 1
В чем может быть у меня ошибка???


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 27 2007, 08:56 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
DAK написал(а):
Внешняя ссылка: # 1

Это ссылка на номер журнала (тр. SLG1). Там увидете прикладную ошибку.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 27 2007, 09:11 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, авг 20 2007, 15:49
Сообщения: 67
Там нет такого журнала, даже нет журнала по моему пользователю!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 27 2007, 09:24 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
DAK написал(а):
Там нет такого журнала, даже нет журнала по моему пользователю!
Да, чего-то я наврал.

А в таблице MESSAGE нет других сообщений?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 27 2007, 10:04 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
DAK написал(а):
ФМ возвращает ошибку:
E/BAPI/001/Ни одной инстанции типа объекта PurchaseRequisition не создано. Внешняя ссылка: # 1
В чем может быть у меня ошибка???

Скорее всего, не указаны: Завод, цена, количество... ещё что нибудь.
Code:
PRHEADER-PR_TYPE = 'NB'.
PRHEADERX-PR_TYPE = 'X'.
APPEND PRHEADER.
APPEND PRHEADERX.

PRHEADER, PRHEADERX - структуры

sibrin написал:
А в таблице MESSAGE нет других сообщений?

+1


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 27 2007, 10:25 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, авг 20 2007, 15:49
Сообщения: 67
да есть еще сообщения:
W/06/418/Срок поставки реален? (Выполнимый срок: 27.11.2007).
W/ME/039/Эта дата поставки приходится на прошлое.
I/ME/024/Поставщик 112 предусмотрен для удаления.
E/06/341/Инфо-записи поставщика 112 материала 1610000866 нет.
дело в том что инфо-записи мы не ведем и они не нужны

Я сначала сам заполнял поля, но была ошибка # 1 и ошибки типа не указаны: завод количество. Теперь я пытаюсь создать по образцу.

/PRHEADER, PRHEADERX - структуры
сделал я их структурами


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 27 2007, 10:57 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
DAK написал(а):
Я сначала сам заполнял поля, но была ошибка # 1 и ошибки типа не указаны: завод количество. Теперь я пытаюсь создать по образцу.

Запустил ME51N, создал вручную заявку и затем все обязательные поля, которые требовались в транзакции, перенёс в код. Всё работает.

Code:
PARAMETER p_test AS CHECKBOX DEFAULT 'X'.

DATA: gs_prheader TYPE bapimereqheader,
      gs_prheaderx TYPE bapimereqheaderx,
      gt_pritem TYPE TABLE OF bapimereqitemimp,
      gt_pritemx TYPE  TABLE OF bapimereqitemx,
      gs_pritem TYPE bapimereqitemimp,
      gs_pritemx TYPE  bapimereqitemx,
      gv_banfn TYPE bapimereqheader-preq_no,
      gt_message TYPE TABLE OF bapiret2.

gs_prheader-pr_type = 'NB'."Вид документа закупки
gs_prheaderx-pr_type = 'X'.

gs_pritem-plant = '0400'."Завод
gs_pritemx-plant = 'X'.

gs_pritem-quantity = 1."Количество
gs_pritemx-quantity = 'X'.

gs_pritem-material = '000000000010033840'."Материал
gs_pritemx-material = 'X'.

gs_pritem-preq_price = 100."Цена
gs_pritemx-preq_price = 'X'.

APPEND gs_pritem TO gt_pritem.
APPEND gs_pritemx TO gt_pritemx.

CALL FUNCTION 'BAPI_PR_CREATE'
  EXPORTING
    prheader  = gs_prheader
    prheaderx = gs_prheaderx
    testrun   = p_test
  IMPORTING
    number    = gv_banfn
  TABLES
    return    = gt_message
    pritem    = gt_pritem
    pritemx   = gt_pritemx.

BREAK-POINT.

IF p_test IS INITIAL.
  READ TABLE gt_message WITH KEY type = 'S' id = '06' number = '402'
    TRANSPORTING NO FIELDS.
  IF sy-subrc IS INITIAL.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        wait = 'X'.
  ELSE.
    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
  ENDIF.
ENDIF.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 27 2007, 18:08 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, авг 20 2007, 15:49
Сообщения: 67
Alex80 большое спасибо разобрался. Проблема была в заполнении параметра pritemx. Разобрался и с параметром EXTENSIONIN, все работает, но только с одной строкой!
если 2 стороки выдает ошибку:
E/W5/152/Нет обязательных полей /NOT KNOWN/

А без параметра EXTENSIONIN все хорошо, причем строчки одинаковые
подскажите в чем может быть ошибка?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 27 2007, 18:40 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
DAK написал(а):
все работает, но только с одной строкой!
если 2 стороки выдает ошибку:
E/W5/152/Нет обязательных полей /NOT KNOWN/
А без параметра EXTENSIONIN все хорошо, причем строчки одинаковые
подскажите в чем может быть ошибка?

Когда более 1 позиции необходимо задавать ещё PREQ_ITEM.
Для пользовательских расширений это будет, соответственно, EXTENSIONIN+30(5).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 27 2007, 19:06 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, авг 20 2007, 15:49
Сообщения: 67
непонял про EXTENSIONIN+30(5)?

у меня по две строчки в pritem и pritemx, а в EXTENSIONIN 4 строки:
BAPI_TE_MEREQITEM 0000112007111531
BAPI_TE_MEREQITEMX 00001XXX
BAPI_TE_MEREQITEM 0000212007111531
BAPI_TE_MEREQITEMX 00002XXX


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 28 2007, 10:57 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
DAK написал(а):
непонял про EXTENSIONIN+30(5)?

у меня по две строчки в pritem и pritemx, а в EXTENSIONIN 4 строки:
BAPI_TE_MEREQITEM 0000112007111531
BAPI_TE_MEREQITEMX 00001XXX
BAPI_TE_MEREQITEM 0000212007111531
BAPI_TE_MEREQITEMX 00002XXX


Я имел ввиду, что EXTENSIONIN+30(5) соответствует EXTENSIONIN-VALUEPART1+0(5), что в свою очередь заполняется значением BAPI_TE_MEREQITEM-PREQ_ITEM.
Кажется, заполняться должно как-то так:
Code:
DATA: gs_extensionin TYPE bapiparex,
      gt_extensionin TYPE TABLE OF bapiparex,
      gs_bapi_te_mereqitem TYPE bapi_te_mereqitem,
      gs_bapi_te_mereqitemx TYPE bapi_te_mereqitemx.

CLEAR: gt_extensionin[], gs_extensionin,
       gs_bapi_te_mereqitem, gs_bapi_te_mereqitemx.

gs_bapi_te_mereqitem-preq_item = '00001'.
gs_bapi_te_mereqitemx-preq_item = '00001'.

gs_bapi_te_mereqitem-field1 = '1'.
gs_bapi_te_mereqitemx-field1 = 'X'.

gs_bapi_te_mereqitem-field2 = '2007'.
gs_bapi_te_mereqitemx-field2 = 'X'.

gs_bapi_te_mereqitem-field3 = '111531'.
gs_bapi_te_mereqitemx-field3 = 'X'.

gs_extensionin-structure = 'BAPI_TE_MEREQITEM'.
gs_extensionin+30 = gs_bapi_te_mereqitem.
APPEND gs_extensionin TO gt_extensionin.

CLEAR gs_extensionin.
gs_extensionin-structure = 'BAPI_TE_MEREQITEMX'.
gs_extensionin+30 = gs_bapi_te_mereqitemx.
APPEND gs_extensionin TO gt_extensionin.

Но, если я правильно понял, у вас это так и реализовано.


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

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


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

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


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

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