Текущее время: Вс, июл 27 2025, 17:28

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: IDOC_INPUT_DEBITOR сваливается в просмотр экранов...
СообщениеДобавлено: Ср, мар 02 2011, 16:27 
Специалист
Специалист

Зарегистрирован:
Вт, авг 09 2005, 15:51
Сообщения: 149
Чуть ранее использовал IDOC_INPUT_CREDITOR и таких проблем не возникало... А вот IDOC_INPUT_DEBITOR вместо выполнения начинает пошагово экраны транзакции открывать, примерно как если для рекординга DISMODE = 'A' поставить. Вызов выглядит так:
Code:
CLEAR l_edidc.
  l_edidc-idoctp = l_edidc-doctyp = c_idoctype_debmas01.
  l_edidc-stdmes = l_edidc-mestyp = c_mestype_debmas.
  APPEND l_edidc TO lt_edidc.
*Тут заполняется данными lt_edidd*
CALL FUNCTION 'IDOC_INPUT_DEBITOR'
    EXPORTING
      INPUT_METHOD                = 'N'
      MASS_PROCESSING             = ' '
*   PI_XD99_USED                = ' '
*   PI_KNVK_SPECIAL             = ' '
* IMPORTING
*   WORKFLOW_RESULT             =
*   APPLICATION_VARIABLE        =
*   IN_UPDATE_TASK              =
*   CALL_TRANSACTION_DONE       =
    TABLES
      IDOC_CONTRL                 = lt_edidc
      IDOC_DATA                   = lt_edidd
      IDOC_STATUS                 = lt_idocstat
      RETURN_VARIABLES            = lt_retvar
      SERIALIZATION_INFO          = lt_serinfo
    EXCEPTIONS
      WRONG_FUNCTION_CALLED       = 1
      OTHERS                      = 2.


Для сравнения, код вызова IDOC_INPUT_CREDITOR:

Code:
CLEAR l_edidc.
  l_edidc-idoctp = l_edidc-doctyp = c_idoctype_cremas05.
  l_edidc-stdmes = l_edidc-mestyp = c_mestype_cremas.
  APPEND l_edidc TO lt_edidc.
*Тут заполняется данными lt_edidd*
CALL FUNCTION 'IDOC_INPUT_CREDITOR'
    EXPORTING
      INPUT_METHOD                = 'N'
      MASS_PROCESSING             = ' '
*   PI_XK99_USED                = ' '
* IMPORTING
*   WORKFLOW_RESULT             =
*   APPLICATION_VARIABLE        =
*   IN_UPDATE_TASK              =
*   CALL_TRANSACTION_DONE       =
    TABLES
      IDOC_CONTRL                 = lt_edidc
      IDOC_DATA                   = lt_edidd
      IDOC_STATUS                 = lt_idocstat
      RETURN_VARIABLES            = lt_retvar
      SERIALIZATION_INFO          = lt_serinfo
    EXCEPTIONS
      WRONG_FUNCTION_CALLED       = 1
      OTHERS                      = 2.


Может кто-нибудь что-нибудь посоветовать, а то я прямо в растерянности...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IDOC_INPUT_DEBITOR сваливается в просмотр экранов...
СообщениеДобавлено: Ср, мар 02 2011, 18:19 
Специалист
Специалист

Зарегистрирован:
Вт, авг 09 2005, 15:51
Сообщения: 149
Так, сменил INPUT_METHOD на INPUT_METHOD = ' '. Изменилось только одно - теперь не все экраны по очереди открываются, а только окошки с информацией типа "Сеанс 1: специальный знак для "пустого поля" - /"... Причём просмотр кода наводит на нехорошую мысль, что убрать это никак нельзя, разве что в код лезть. Скажите мне, что я ошибся. :( :roll:


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IDOC_INPUT_DEBITOR сваливается в просмотр экранов...
СообщениеДобавлено: Ср, мар 02 2011, 18:32 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Попробуйте INPUT_METHOD = 'E'.

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IDOC_INPUT_DEBITOR сваливается в просмотр экранов...
СообщениеДобавлено: Ср, мар 02 2011, 18:47 
Специалист
Специалист

Зарегистрирован:
Вт, авг 09 2005, 15:51
Сообщения: 149
Пробовал. То же самое. Вообще после поисков в отладчике нашёл место, откуда выскакивает первое информационное окошко (которое "Сеанс 1: специальный знак для "пустого поля" - /"). Вот код:
Code:
  IF BGR00-NODATA(1) = SPACE.
    NODATA = C_NODATA.
  ELSE.
    IF BGR00-NODATA BETWEEN '0' AND '9'            "#EC PORTABLE
    OR BGR00-NODATA BETWEEN 'A' AND 'I'            "#EC PORTABLE
    OR BGR00-NODATA BETWEEN 'J' AND 'R'            "#EC PORTABLE
    OR BGR00-NODATA BETWEEN 'S' AND 'Z'            "#EC PORTABLE
    OR BGR00-NODATA BETWEEN 'a' AND 'i'            "#EC PORTABLE
    OR BGR00-NODATA BETWEEN 'j' AND 'r'            "#EC PORTABLE
    OR BGR00-NODATA BETWEEN 's' AND 'z'.           "#EC PORTABLE
      MESSAGE I010 WITH GROUP_COUNT BGR00-NODATA.
      MESSAGE I015.
      PERFORM DUMP_WA USING 'BGR00'.
      MESSAGE A013 RAISING EDITING_TERMINATED.
    ENDIF.
    NODATA = BGR00-NODATA. " Вот на этой строчке вылезает окошко.
  ENDIF.


Это внутри функции DEBITOR_BDCDATA, которая всегда запускается внутри этого IDOC'а.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IDOC_INPUT_DEBITOR сваливается в просмотр экранов...
СообщениеДобавлено: Чт, мар 03 2011, 09:46 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
в 4.7 сообщение вылазит здесь:
Code:
*\BE Note 358079 - B
* MESSAGE I012 WITH GROUP_COUNT NODATA.
  IF SY-BATCH IS INITIAL.
     MESSAGE I012 WITH GROUP_COUNT NODATA.
  ENDIF.
*\BE Note 358079 - E


Вот что говорит нота:
Цитата:
Symptom

You want to create or change customers via the ALE interface of the customer master.The corresponding program for importing the data is started in the background.Per customer, the system displays in the job log the message saying how the special character looks like for the empty field.This can cause the program to terminate with error LIST_TOO_MANY_LPROS if there is not enough memory space available for the job log.

Additional key words

DEBMAS
IDOC_INPUT_DEBITOR
FB012, FB 012

Cause and prerequisites

The system always outputs the message.

Solution

The output of the message is suppressed if the program runs in the background.
In order to eliminate the problem, carry out the changes specified in the correction instructions.

Так что перед вызовом IDOC достаточно установить sy-binpt = 'X' и сообщение появляться не будет ;)

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IDOC_INPUT_DEBITOR сваливается в просмотр экранов...
СообщениеДобавлено: Чт, мар 03 2011, 10:28 
Специалист
Специалист

Зарегистрирован:
Вт, авг 09 2005, 15:51
Сообщения: 149
Установил... Но сообщение всё равно появляется. :(

Code:
sy-binpt = 'X'.
  CALL FUNCTION 'IDOC_INPUT_DEBITOR'
    EXPORTING
      INPUT_METHOD                = ' '
      MASS_PROCESSING             = ' '
*      PI_XD99_USED                = ' '
*      PI_KNVK_SPECIAL             = ' '
* IMPORTING
*   WORKFLOW_RESULT             =
*   APPLICATION_VARIABLE        =
*   IN_UPDATE_TASK              =
*   CALL_TRANSACTION_DONE       =
    TABLES
      IDOC_CONTRL                 = lt_edidc
      IDOC_DATA                   = lt_edidd
      IDOC_STATUS                 = lt_idocstat
      RETURN_VARIABLES            = lt_retvar
      SERIALIZATION_INFO          = lt_serinfo
    EXCEPTIONS
      WRONG_FUNCTION_CALLED       = 1
      OTHERS                      = 2.

Может, я что не так сделал? С INPUT_METHOD = 'E' - всё то же самое.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IDOC_INPUT_DEBITOR сваливается в просмотр экранов...  Тема решена
СообщениеДобавлено: Чт, мар 03 2011, 11:46 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Удав написал(а):
Так что перед вызовом IDOC достаточно установить sy-binpt = 'X' и сообщение появляться не будет ;)

Тьфу ты :oops:
Не sy-binpt, а sy-batch...

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IDOC_INPUT_DEBITOR сваливается в просмотр экранов...
СообщениеДобавлено: Чт, мар 03 2011, 11:54 
Специалист
Специалист

Зарегистрирован:
Вт, авг 09 2005, 15:51
Сообщения: 149
Всё, сработало ))
Удав, спасибо большое )

P.S. Мда, исправление багов IDOC путём прямого залезания в sy. Удивительный мир... :roll:


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

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


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

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


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

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