Ошибка при реверсировании документа в SAP с помощью BAPI

Использование BAPI_ACC_DOCUMENT_REV_POST для отмены записей, представленных через BAPI_ACC_DOCUMENT_POST, однако мы получаем следующие ошибки

E RW 609 Ошибка в документе: BKPFF $ SYS600 BKPFF

E RW 632 Документ BKPFF 900026 SYS600 не может быть отменен BKPFF

E RW 630 Сторнирование в компоненте Финансовый учет невозможно Финансовый учет

E F5A 9 Сторнирование невозможно, бухгалтерский документ для исх. не существует BKPFF

код для справки

Dim companyAPI As IRfcFunction = _ecc.Repository.CreateFunction("BAPI_ACC_DOCUMENT_REV_POST")
    Dim rev As IRfcStructure = companyAPI.GetStructure("REVERSAL")
    rev.SetValue("OBJ_TYPE", "BKPFF")
    rev.SetValue("OBJ_SYS", "$")
    rev.SetValue("OBJ_KEY", "900026N0342016")
    rev.SetValue("OBJ_KEY_R", "900026N0342016")
    rev.SetValue("COMP_CODE", "D756")
    rev.SetValue("REASON_REV", "01")
    Dim transfunction = _ecc.Repository.CreateFunction("BAPI_TRANSACTION_COMMIT")
    transfunction.SetValue("WAIT", "X")
    companyAPI.Invoke(_ecc) 
    transfunction.Invoke(_ecc)
    Dim dt As DataTable = GetDataTableFromRFCTable(companyAPI.GetTable("RETURN"))

person Mani    schedule 23.06.2015    source источник


Ответы (1)


На первый взгляд, последнее сообщение об ошибке (E F5A 9 ... бухгалтерский документ для ссылки не существует BKPFF) указывает на возможное решение.

Я вижу, что вы передаете номер документа (900026), код компании (N034) и финансовый период (2016) в качестве ключа, но я чувствую, что вам нужно обнулить номер документа до десяти цифр. Отправьте OBJ_KEY и OBJ_KEY_R как «0000900026N0342016» и посмотрите, поможет ли это. Номер документа хранится внутри как десять цифр, и я думаю, что BAPI ожидает его в этом формате.

person mjturner    schedule 28.06.2015