esh19 написал(а):
Помогите кто чем может!
Суть моей проблемы: есть отчет ALV, когда то в него добавили 2 колонки со значками.
И есть 3 кнопки, кот. меняют эти значки (убирают/выставляют)
Так вот, когда нажимаешь на кнопки, нужно как то в таблицу cdpos запихнуть данные (gs_outtab - табличка с данными для отчета):
(проще говоря вести лог)
OBJECTCLAS=’BANF’
OBJECTID=gs_outtab-BANFN
TABNAME=’EBAN’
TABKEY=gs_outtab-MANDT+gs_outtab-BANFN+gs_outtab-BNFPO
FNAME=’BANPR’
CHNGIND=’U’
А вот как это сделать не знаю(((((
Пробовал напрямую через Insert... (по разному извращался)...но ничего не получилось..
PS. Для значков создал ЭД и поставил галку "Документ изменений"
В таблицу cdpos данные "запихиваются" через специальные Фм-ы, которые генерируются системой при создании объекта изменения (тр SCDO).
У Вас отчет Z-довский как я понимаю, то есть объект изменения должен быть свой. Конечно тут не приемлемо делать прямой insert в стандартную таблицу да еще и с ключами от EBAN... (или это у Вас как то со стандартом связанно? тогда подробнее описывайте что за АЛВ отчет, что за две колонки со значками, что за три кнопки и что происходит по их нажатию с технической точки зрения)...
После того как все настроите и пропишите в коде, будете использовать CHANGEDOCUMENT* для выборки доков изменения.
Начните с того, что документы изменения создаются опираясь на таблицу БД, в Вашем случае я вижу. что Вы создали только элементы данных и пытаетесь локально логировать какие то изменения внутри логики программы. Как Вам уже правильно кинули ссылку на хелп, с него начните, чтобы понять как устроен этот инструмент.
Вот это еще будет полезно
http://wiki.sdn.sap.com/wiki/display/ABAP/Change+DocumentТак же есть другой тип логирования (тр SCU3), система сама логирует изменения таблицы БД, если включен аудит системы.
Поищите по форуму смежные темы, не раз обсуждали. Я вроде где то писал пошагово как это делается через SCDO.