Текущее время: Пн, июл 28 2025, 23:43

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Метод моего BO срабатывает через раз.
СообщениеДобавлено: Пн, июн 16 2008, 13:14 
Ассистент
Ассистент

Зарегистрирован:
Вт, дек 11 2007, 12:15
Сообщения: 31
Обращаюсь к специалистам по BAPI... Итак сценарий...

Когда в системе А создаётся заказ, его копия через IDOC ORDERS отправляется в систему Б. Номер заказа из Б теперь должен быть отправлен в систему А и записан в таблицу VBAK. Для этого я создал объект, который содержит единственный метод.

В системе Б этот метод реализован так, что отправляет IDOC ZSONUMBER, который содержит номера двух заказов (из А и Б). В системе А метод при получении IDOC производит обновление таблицы VBAK. Ничего мудрёного... Делал все по документации, практически все генерировалось автоматически. Написать пришлось лишь UPDATE в системе А. Но проблема не там...

Когда копия заказа приходит из А в Б запускается IDOC_INPUT_ORDERS, а в EXITe 004, который стоит после вызова VA01, срабатывает метода моего безнес объекта (после него - COMMIT_WORK). Так вот проблема в том что в одном случае из десяти исходящий ZSONUMBER не создается.

Подскажите пожалуйста, где здесь подводный камень???


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Метод моего BO срабатывает через раз.
СообщениеДобавлено: Пн, июн 16 2008, 18:58 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
dmkm написал(а):
Обращаюсь к специалистам по BAPI...


BAPI <> IDoc/ALE

dmkm написал(а):
Когда в системе А создаётся заказ, его копия через IDOC ORDERS отправляется в систему Б. Номер заказа из Б теперь должен быть отправлен в систему А и записан в таблицу VBAK.


O каких заказах идет речь? Есть заказ на покупку и заказ на продажу (purchase order / sales order). Часть информации о заказах на продажу действительно хранится в таблице VBAK, но вообще-то там еще очень много каких таблиц задействовано.

Опять же совершенно не понятно, зачем какой-то ZSONUMBER. Чем стандарт-то не понравился? :? Каким образом создается IDoc (?) ZSONUMBER? Output / change pointers / other ?

Может вам сюда?
http://help.sap.com/saphelp_nw04/helpda ... ameset.htm


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июн 17 2008, 10:52 
Ассистент
Ассистент

Зарегистрирован:
Вт, дек 11 2007, 12:15
Сообщения: 31
Извиняюсь, речь идет о sales orders. Код метода в системе Б:

Code:
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(SO2) LIKE  ZBAPI_VBELN2 STRUCTURE  ZBAPI_VBELN2
*"     VALUE(SO1) LIKE  ZBAPI_VBELN1 STRUCTURE  ZBAPI_VBELN1
*"  EXPORTING
*"     VALUE(RETURN) LIKE  BAPIRETURN STRUCTURE  BAPIRETURN
*"----------------------------------------------------------------------

  DATA: lt_receivers TYPE STANDARD TABLE OF bdi_logsys,
        lt_filters TYPE STANDARD TABLE OF bdi_fobj.

  CALL FUNCTION 'ALE_ASYNC_BAPI_GET_RECEIVER'
    EXPORTING
      object = 'ZSONMR'
      method = 'ZSONMR_TRANSFER'
    TABLES
* RECEIVER_INPUT =
      receivers = lt_receivers
      filterobject_values = lt_filters
    EXCEPTIONS
      error_in_filterobjects = 1
      error_in_ale_customizing = 2
      OTHERS = 3.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
      WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  CALL FUNCTION 'ZZALE_SONMR'
    EXPORTING
      SO2                         = SO2
      SO1                        = SO1
*   SERIAL_ID                     = '0'
    TABLES
      RECEIVERS                     = lt_receivers
*   COMMUNICATION_DOCUMENTS       =
*   APPLICATION_OBJECTS           =
   EXCEPTIONS
     ERROR_CREATING_IDOCS          = 1
     OTHERS                        = 2.
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.


ZZALE_SONMR сгенерирован автоматически через транзакцию BDBG, он и создаёт исходящий IDOC.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июн 19 2008, 10:15 
Ассистент
Ассистент

Зарегистрирован:
Вт, дек 11 2007, 12:15
Сообщения: 31
Значит никто с этим не сталкивался... Может идеи у кого какие есть?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июн 19 2008, 13:03 
Ассистент
Ассистент

Зарегистрирован:
Вт, дек 11 2007, 12:15
Сообщения: 31
Только что делал отладку и заходя на COMMIT, получил такую вот ошибочку:

ABAP-Laufzeitfehler MESSAGE_TYPE_X
aufgetreten am 19.06.2008 um 11:40:23


Die laufende Anwendung hat bewußt einen Abbruch mit Kurzdump ausgelöst.


Was ist passiert?


In dem laufenden Anwendungsprogramm wurde eine Situation erkannt, die
eigentlich nicht vorkommen sollte. Deshalb wurde bewußt durch das
Sprachelement MESSAGE (Typ X) ein Abbruch mit Kurzdump ausgelöst.


Was können Sie tun?


Notieren Sie bitte, welche Aktionen und Eingaben zu dem Fehler geführt
haben.

Wenden Sie sich bitte zur weiteren Bearbeitung des Problems an Ihren
SAP-Administrator.

Durch Anwählen der Funktion "Drucken" können Sie einen Ausdruck der
vorliegenden Abbruchmeldung erhalten. - Mit der Transaktion ST22
zur ABAP-Dumpanalyse können Sie Abbruchmeldungen anschauen und
verwalten, insbesondere längere Zeit aufbewahren.


Fehleranalyse


Kurztext der Fehlermeldung:
Keine PBT-Ressourcen im System vorhanden
ABAP-Laufzeitfehler MESSAGE_TYPE_X
aufgetreten am 19.06.2008 um 11:40:23


Die laufende Anwendung hat bewußt einen Abbruch mit Kurzdump ausgelöst.


Was ist passiert?


In dem laufenden Anwendungsprogramm wurde eine Situation erkannt, die
eigentlich nicht vorkommen sollte. Deshalb wurde bewußt durch das
Sprachelement MESSAGE (Typ X) ein Abbruch mit Kurzdump ausgelöst.


Was können Sie tun?


Notieren Sie bitte, welche Aktionen und Eingaben zu dem Fehler geführt
haben.

Wenden Sie sich bitte zur weiteren Bearbeitung des Problems an Ihren
SAP-Administrator.

Durch Anwählen der Funktion "Drucken" können Sie einen Ausdruck der
vorliegenden Abbruchmeldung erhalten. - Mit der Transaktion ST22
zur ABAP-Dumpanalyse können Sie Abbruchmeldungen anschauen und
verwalten, insbesondere längere Zeit aufbewahren.


Fehleranalyse


Kurztext der Fehlermeldung:
Keine PBT-Ressourcen im System vorhanden
ABAP-Laufzeitfehler MESSAGE_TYPE_X
aufgetreten am 19.06.2008 um 11:40:23


Die laufende Anwendung hat bewußt einen Abbruch mit Kurzdump ausgelöst.


Was ist passiert?


In dem laufenden Anwendungsprogramm wurde eine Situation erkannt, die
eigentlich nicht vorkommen sollte. Deshalb wurde bewußt durch das
Sprachelement MESSAGE (Typ X) ein Abbruch mit Kurzdump ausgelöst.


Was können Sie tun?


Notieren Sie bitte, welche Aktionen und Eingaben zu dem Fehler geführt
haben.

Wenden Sie sich bitte zur weiteren Bearbeitung des Problems an Ihren
SAP-Administrator.

Durch Anwählen der Funktion "Drucken" können Sie einen Ausdruck der
vorliegenden Abbruchmeldung erhalten. - Mit der Transaktion ST22
zur ABAP-Dumpanalyse können Sie Abbruchmeldungen anschauen und
verwalten, insbesondere längere Zeit aufbewahren.


Fehleranalyse


Kurztext der Fehlermeldung:
Keine PBT-Ressourcen im System vorhanden
ABAP-Laufzeitfehler MESSAGE_TYPE_X
aufgetreten am 19.06.2008 um 11:40:23


Die laufende Anwendung hat bewußt einen Abbruch mit Kurzdump ausgelöst.


Was ist passiert?


In dem laufenden Anwendungsprogramm wurde eine Situation erkannt, die
eigentlich nicht vorkommen sollte. Deshalb wurde bewußt durch das
Sprachelement MESSAGE (Typ X) ein Abbruch mit Kurzdump ausgelöst.


Was können Sie tun?


Notieren Sie bitte, welche Aktionen und Eingaben zu dem Fehler geführt
haben.

Wenden Sie sich bitte zur weiteren Bearbeitung des Problems an Ihren
SAP-Administrator.

Durch Anwählen der Funktion "Drucken" können Sie einen Ausdruck der
vorliegenden Abbruchmeldung erhalten. - Mit der Transaktion ST22
zur ABAP-Dumpanalyse können Sie Abbruchmeldungen anschauen und
verwalten, insbesondere längere Zeit aufbewahren.


Fehleranalyse


Kurztext der Fehlermeldung:
Keine PBT-Ressourcen im System vorhanden
ABAP-Laufzeitfehler MESSAGE_TYPE_X
aufgetreten am 19.06.2008 um 11:40:23


Die laufende Anwendung hat bewußt einen Abbruch mit Kurzdump ausgelöst.


Was ist passiert?


In dem laufenden Anwendungsprogramm wurde eine Situation erkannt, die
eigentlich nicht vorkommen sollte. Deshalb wurde bewußt durch das
Sprachelement MESSAGE (Typ X) ein Abbruch mit Kurzdump ausgelöst.


Was können Sie tun?


Notieren Sie bitte, welche Aktionen und Eingaben zu dem Fehler geführt
haben.

Wenden Sie sich bitte zur weiteren Bearbeitung des Problems an Ihren
SAP-Administrator.

Durch Anwählen der Funktion "Drucken" können Sie einen Ausdruck der
vorliegenden Abbruchmeldung erhalten. - Mit der Transaktion ST22
zur ABAP-Dumpanalyse können Sie Abbruchmeldungen anschauen und
verwalten, insbesondere längere Zeit aufbewahren.


Fehleranalyse


Kurztext der Fehlermeldung:
Keine PBT-Ressourcen im System vorhanden


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июн 19 2008, 13:07 
Ассистент
Ассистент

Зарегистрирован:
Вт, дек 11 2007, 12:15
Сообщения: 31
COMMIT вот отсюда:

Code:
*   fire BAPI
  CALL FUNCTION 'SWO_INVOKE'
    EXPORTING
*     ACCESS = 'C'
      object = l_objhnd
      verb = 'ZSONMR_TRANSFER'
*     PERSISTENT = ' '
*     REQUESTER = ' '
*     SYNCHRON = '*'
*     UNSORTED_CONTAINER = ' '
*     NO_ARFC = ' '
    IMPORTING
      return = l_return
*     VERB =
*     MODE_ID =
    TABLES
      container = lt_cont.

  IF sy-subrc <> 0.
    didoc_status-docnum = didoc_cntrl-docnum.
    didoc_status-status = '11'.
    didoc_status-msgid = sy-msgid.
    didoc_status-msgty = sy-msgty.
    didoc_status-msgno = sy-msgno.
    didoc_status-msgv1 = sy-msgv1.
    didoc_status-msgv2 = sy-msgv2.
    didoc_status-msgv3 = sy-msgv3.
    didoc_status-msgv4 = sy-msgv4.
    append didoc_status.
  ENDIF.

  COMMIT WORK.
ENDIF.


К сожалению описание на немецком. Может еще из кода, где произошла ошибка можно будет что-то понять

Code:
000820     MAX_PBT_WPS     = 0.                                                     
000830     FREE_PBT_WPS    = 0.                                                     
000840                                                                             
000850     LOOP AT RESOURCE_TBL.                                                   
000860       IF RESOURCE_TBL-MAXWPS EQ 0.                                           
000870          DELETE RESOURCE_TBL.                                               
000880       ELSE.                                                                 
000890          MAX_PBT_WPS  = MAX_PBT_WPS  + RESOURCE_TBL-MAXWPS.                 
000900          FREE_PBT_WPS = FREE_PBT_WPS + RESOURCE_TBL-FREEWPS.                 
000910       ENDIF.                                                                 
000920     ENDLOOP.                                                                 
000930                                                                             
000940     DESCRIBE TABLE RESOURCE_TBL LINES LEN.                                   
000950                                                                             
000960     IF LEN EQ 0.                                                             
000970        USE_THIS_SERVER = ENV_NOT_INITIALIZED_YET.                           
000980                                                                             
000990        IF DO_MONITOR EQ TRUE.                                               
001000           PERFORM WRITE_MONITOR_ENTRY USING ID_PBT_FUNC_MODULE_INFO         
001010                                             FUNCTION_NAME                   
001020                                             SYSL_NO_PBT_RESOURCES_FOUND.     
001030        ENDIF.                                                               
001040                                                                             
     >        MESSAGE X834 RAISING NO_PBT_RESOURCES_FOUND.                         
001060     ELSE.                                                                   
001070        IF FREE_PBT_WPS EQ 0. " momentan sind alle WP busy                   
001080           IF DO_MONITOR EQ TRUE.                                             
001090              PERFORM WRITE_MONITOR_ENTRY USING ID_PBT_FUNC_MODULE_INFO       
001100                                                FUNCTION_NAME                 
001110                                               SYSL_CURRENTLY_NO_RESOURCES.   
001120           ENDIF.       

[/code]


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июн 19 2008, 13:13 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
Цитата:
NA BT834
____________________________________________________
КрТекст
No PBT resources available in system

Diagnosis
The system tried to initialize the environment for processing parallel RFCs using the function module SPBT_INITIALIZE. Here the system established that there are no resources in the system. This is a configuration problem. Only those application servers with at least three dialog work processes can be used to process parallel RFCs.


Procedure
1. If no specific server group name is specified for processing parallel RFCs:
All application servers in your system have less than three dialog work processes. If you want to process parallel RFCs, at least one application server must have at least three dialog work processes.
2. If a server group name was specified using Transaction RZ12 for processing parallel RFCs:
All application servers in the server group have less than three dialog work processes. If you want to process parallel RFCs, then at least one application server in the server group must have at least three dialog work processes.

_________________
"I have a dream"(c)Martin Luther King, Jr.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июн 19 2008, 13:32 
Ассистент
Ассистент

Зарегистрирован:
Вт, дек 11 2007, 12:15
Сообщения: 31
Значит с конфигурацией САПа что-то не то? Не знаю что и делать теперь :(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Метод моего BO срабатывает через раз.
СообщениеДобавлено: Вт, дек 16 2008, 13:05 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, сен 25 2008, 16:04
Сообщения: 70
dmkm написал(а):
Делал все по документации, практически все генерировалось автоматически.


Нам нужно сделать примерно то же самое. Не подскажите где можно найти инструкцию для реализации?


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

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


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

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


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

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