Чуть ранее использовал
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.
Может кто-нибудь что-нибудь посоветовать, а то я прямо в растерянности...