Добрый день!
Прошу помощи, не понимаю, почему не получается изменить цену условия?
Код ниже прошу сильно не "бить".., опыта маловато.
UNCTION ZAT_CONTRCHPRICE.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*"----------------------------------------------------------------------
data: " параметры для функций BAPI_CONTRACT_GETDETAIL
my_ITEM_DATA like BAPIFLAG-BAPIFLAG value 'X', "Активирует наполнение таблицы ITEM(строки контрактов)
my_ACCOUNT_DATA like BAPIFLAG-BAPIFLAG value SPACE,
my_CONDITION_DATA like BAPIFLAG-BAPIFLAG value 'X', "Активирует наполнение таблицы ITEM_CONDITION(строки условий, строк контрактов)
my_TEXT_DATA like BAPIFLAG-BAPIFLAG value SPACE,
my_PARTNER_DATA like BAPIFLAG-BAPIFLAG value SPACE,
my_RELEASE_DATA like BAPIFLAG-BAPIFLAG value SPACE,
" данные
my_PURCHASINGDOCUMENT like BAPIMEOUTHEADER-NUMBER value '4600000130', "Номер договора
my_HEADER like BAPIMEOUTHEADER, "Заголовок договора
my_ITEM_CONDITION like BAPIMEOUTCONDITION occurs 300 with header line," Таблица условия цен
LT_ITEM_CONDITION like BAPIMEOUTCONDITION occurs 300 with header line," Строка таблицы условия цен
my_ITEM_CONDITIONX like BAPIMEOUTCONDITIONX occurs 1 with header line, "Таблица изменяемых записей
my_ITEM like BAPIMEOUTITEM occurs 300 with header line,
my_ITEM_COND_VALIDITY like BAPIMEOUTVALIDITY occurs 10,
my_ITEM_COND_SCALE_VALUE like BAPIMEOUTITEMSCALEVAL occurs 10,
my_ITEM_COND_SCALE_QUAN like BAPIMEOUTITEMSCALEQUAN occurs 10,
my_ITEM_TEXT like BAPIMEOUTITEMTEXT occurs 10.
* Функция просмотра деталей контракта
call function 'BAPI_CONTRACT_GETDETAIL'
Exporting
PURCHASINGDOCUMENT = my_PURCHASINGDOCUMENT
iTEM_DATA = my_iTEM_DATA
ACCOUNT_DATA = my_ACCOUNT_DATA
CONDITION_DATA = my_condition_data
tEXT_DATA = my_tEXT_DATA
PARTNER_DATA = my_PARTNER_DATA
RELEASE_DATA = my_RELEASE_DATA
Importing
HEADER = my_HEADER
tables
item = my_item
ITEM_CONDITION = my_ITEM_CONDITION
ITEM_COND_VALIDITY = my_ITEM_COND_VALIDITY
ITEM_COND_SCALE_VALUE = my_ITEM_COND_SCALE_VALUE
ITEM_COND_SCALE_QUAN = my_ITEM_COND_SCALE_QUAN
ITEM_TEXT = my_ITEM_TEXT.
* Находим позицию договора по номеру материала без пометки на удаление.
read table my_ITEM with key MATERIAL = '80170497' DELETE_IND = space.
* Находим строку таблицы условий для изменения.
read table my_ITEM_CONDITION with key item_no = my_ITEM-ITEM_NO.
*select * from my_ITEM_CONDITION into table lt_item_CONDITION where item_no = my_ITEM-ITEM_NO.
*loop at my_ITEM_CONDITION.
move-corresponding my_ITEM_CONDITION to lt_ITEM_CONDITION. " Копируем запись.
* Присваиваем новое значение цены.
lt_item_CONDITION-cond_VALUE = my_ITEM_CONDITION-cond_VALUE + 35. " Присваиваем новое значение.
append lt_ITEM_CONDITION. "Добавить запись
*endloop
"Задать признаки записи на изменение my_ITEM_CONDITION
my_ITEM_CONDITIONx-ITEM_NO = my_ITEM_CONDITION-ITEM_NO.
my_ITEM_CONDITIONx-SERIAL_ID = my_ITEM_CONDITION-SERIAL_ID.
my_ITEM_CONDITIONx-COND_COUNT = my_ITEM_CONDITION-COND_COUNT.
my_ITEM_CONDITIONx-cond_VALUE = 'X'.
append my_ITEM_CONDITIONx. "Добавить запись
* Функция изменения контракта.
call function 'BAPI_CONTRACT_CHANGE'
Exporting
PURCHASINGDOCUMENT = my_PURCHASINGDOCUMENT
Tables
ITEM_CONDITION = lt_ITEM_CONDITION
ITEM_CONDITIONX = my_ITEM_CONDITIONX.
write my_ITEM_CONDITION-cond_VALUE.
endFUNCTION.