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

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


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

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


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

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