odGe написал(а):
Свирепый написал(а):
Какую BAPI-шку используете?
BAPI_ACC_DOCUMENT_POST
была подобная проблема сегодня решили:)
в BAPI_ACC_DOCUMENT_POST есть EXTENSION2
его можно использовать для расширений.
создали собственную структуру zaccit
и в ней определили поля, которые хотим замещать и обязательное поле POSNR.
Внедрили BADI zACC_DOCUMENT. в качестве определения указали ACC_DOCUMENT. в метод change скропировал аналогичный метод класса CL_EXM_IM_ACC_DOCUMENT. В качестве фильтра к BADI указали BKPFF.
текст передаваемый в BAPI для EXTENSION2.
DATA:HelpExt TYPE ZACCIT.
REFRESH INTBL_EXTENSION2.
CLEAR WA_EXTENSION2.
CLEAR HelpExt.
HelpExt-posnr = '0000000002'.
IF NOT P_AVANS IS INITIAL. "" индикатор авансовый платеж
*аванс
HelpExt-BSCHL = '29'.
ELSE.
*неаванс
HelpExt-BSCHL = '25'.
ENDIF.
HelpExt-UMSKZ = P_SP_GL.
CLEAR WA_EXTENSION2.
WA_EXTENSION2-STRUCTURE = 'ZACCIT'.
WA_EXTENSION2-VALUEPART1+0(10) = HelpExt-posnr.
WA_EXTENSION2-VALUEPART1+10(1) = HelpExt-UMSKZ.
WA_EXTENSION2-VALUEPART1+11(2) = HelpExt-BSCHL.
APPEND WA_EXTENSION2 TO INTBL_EXTENSION2.
Все это надо делать с вашими ABAP программистами. Самому тяжело:)
Соотв. это все для версии 4.7. Если версия ниже BADI может не быть.