Текущее время: Ср, июл 23 2025, 01:41

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Вопрос по CDPOS
СообщениеДобавлено: Чт, янв 19 2012, 16:01 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Чт, янв 19 2012, 15:46
Сообщения: 35
Помогите кто чем может!

Суть моей проблемы: есть отчет 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. Для значков создал ЭД и поставил галку "Документ изменений"


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос по CDPOS
СообщениеДобавлено: Чт, янв 19 2012, 16:09 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
http://help.sap.com/saphelp_nw70/helpda ... ontent.htm


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по CDPOS
СообщениеДобавлено: Чт, янв 19 2012, 16:46 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Чт, янв 19 2012, 15:46
Сообщения: 35
что-то как то непонятно

сразу встал вопрос а что выбрать в "Объект док. изменений без преф. обл. имен"
как с отчетом связать


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос по CDPOS
СообщениеДобавлено: Чт, янв 19 2012, 23:43 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Для создания Change documents есть специальные ФМ, см. CHANGEDOCUMENT*. Если не понятно, что с ними делать, посмотрите where used и танцуйте оттуда.

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по CDPOS
СообщениеДобавлено: Пт, янв 20 2012, 07:16 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
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.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по CDPOS
СообщениеДобавлено: Пт, янв 20 2012, 15:01 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Чт, янв 19 2012, 15:46
Сообщения: 35
Попытался создать через SCDO документ изменения, но почему то не получилось

Изображение

из-за чего такое может быть? там не z... пакет нужен?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос по CDPOS
СообщениеДобавлено: Пт, янв 20 2012, 15:10 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Причем пакет? Сам объект Вы создаете пользовательский, он должен начинаться на Z. :roll:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по CDPOS
СообщениеДобавлено: Пт, янв 20 2012, 15:24 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Чт, янв 19 2012, 15:46
Сообщения: 35
Ну да, не подумал

Вот вроде создал, а там все поля надо заполнить?
И где задать ведение при изменении конкретных полей таблицы

Изображение


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос по CDPOS
СообщениеДобавлено: Пт, янв 20 2012, 17:34 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
Ого, для каждой позиции заявки генерить новый документ изменений. Это круто! 8)
Может лучше поставить чекбокс "Перенос как внутр. таблицы", и передавать сразу набор значений?! Да и ключем документа изменений лучше указывть номер заявки.

_________________
В SAPе есть всё, просто вы чего-то не нашли.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по CDPOS
СообщениеДобавлено: Пн, янв 23 2012, 10:30 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Чт, янв 19 2012, 15:46
Сообщения: 35
Цитата:
и передавать сразу набор значений?!


А как это сделать?

Цитата:
Да и ключем документа изменений лучше указывть номер заявки.


Где это указать?


PS Извиняюсь, что так много вопросов задаю, просто недавно начал работать САП, с нуля

А с этим помочь никто не может и сам никогда не работал с таким логированием.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос по CDPOS
СообщениеДобавлено: Пн, янв 23 2012, 16:31 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
esh19 написал(а):
А как это сделать?
В сгенерированном ФМ появится не структура на вход, а таблица. Вот и передавать в этот ФМ две внутренних таблицы, заполненные старыми и новыми позициями. А система уже сама определит какие поля изменились, добавились/удалились строки.
esh19 написал(а):
Где это указать?
Как и указывали OBJECTID=gs_outtab-BANFN. Тут имелось в виду, что необходимо группировать позиции по номеру заявки. Т.е. не пытатся в один документ изменений запихнуть позиции из разных заявок.

_________________
В SAPе есть всё, просто вы чего-то не нашли.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по CDPOS
СообщениеДобавлено: Вт, янв 24 2012, 10:10 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Чт, янв 19 2012, 15:46
Сообщения: 35
А как ФМ сгенерировать? :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос по CDPOS
СообщениеДобавлено: Вт, янв 24 2012, 10:25 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
esh19 написал(а):
А как ФМ сгенерировать? :)

Уважаемый, поимейте совесть - попробуйте самостоятельно поковыряться в SCDO, там ничего сложного

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по CDPOS
СообщениеДобавлено: Вт, янв 24 2012, 18:36 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Чт, янв 19 2012, 15:46
Сообщения: 35
Поковырялся, но в итоге не получилось

При генерации вот что получилось (чекбокс "Перенос как внутр. таблицы" поствил):

Code:
Журнал выполнения генерации функционального модуля
обновл. данных для создания документов изменений

    Объект                                  ZMM_BANFN

Параметры ввода
    Имя Include                             ZMM_BANFN
    Группа функций                          ZMM_BANFN
    Класс разработок                        ZMM_PURREQ_SUM_REPORT
    Префикс для объектов СД                 Z
    ПриклОбласть                            CD
    Номер ошибки                            600
    Вкл. измен. текста                      X
    ВидВыполн                               1
    DATA-генерация активна

СгенерирИсточники
    Описания данных, TOP                    FZMM_BANFNCDT
      состоящ. из                           FZMM_BANFNCDF
      и                                     FZMM_BANFNCDV
    ФМ обновления                           ZMM_BANFN_WRITE_DOCUMENT
    Вызов ФМ обновления                     FZMM_BANFNCDC

Сгенерир. объекты СД
    ZEBAN                          введено и активир.

Неизмененные объекты СД


Попытался код добавить в прогу:
Code:
...
ls_eban       TYPE eban,
        ls_zeban      TYPE zeban,
        lt_xeban      TYPE TABLE OF zeban,
        lt_yeban      TYPE TABLE OF zeban,
        ls_cdtxt      TYPE cdtxt,
        lt_cdtxt      TYPE TABLE OF cdtxt,
        lv_objectid   TYPE CDOBJECTV.
...
SELECT SINGLE * FROM eban INTO ls_eban
        WHERE banfn = gs_outtab-banfn
              AND bnfpo = gs_outtab-bnfpo.

        MOVE-CORRESPONDING ls_eban TO ls_zeban.

        ls_zeban-banpr = gc_req_take_on.
        APPEND ls_zeban TO lt_xeban.

        ls_zeban-banpr = gc_req_take_off.
        APPEND ls_zeban TO lt_yeban.

        CONCATENATE sy-mandt  gs_outtab-banfn gs_outtab-bnfpo INTO ls_cdtxt-TEILOBJID.
        ls_cdtxt-TEXTSPR = sy-langu.
        ls_cdtxt-UPDKZ = 'U'.

        APPEND ls_cdtxt TO lt_cdtxt.

        lv_objectid = gs_outtab-banfn.

      CALL FUNCTION 'ZMM_BANFN_WRITE_DOCUMENT'
        EXPORTING
          objectid                      = lv_objectid
          tcode                         = sy-tcode
          utime                         = sy-uzeit
          udate                         = sy-datum
          username                      = sy-uname
*         PLANNED_CHANGE_NUMBER         = ' '
*         OBJECT_CHANGE_INDICATOR       = 'U'
*         PLANNED_OR_REAL_CHANGES       = ' '
*         NO_CHANGE_POINTERS            = ' '
*         UPD_ICDTXT_ZMM_BANFN          = ' '
*         UPD_EBAN                      = ' '
        tables
          icdtxt_zmm_banfn              = lt_cdtxt
          xeban                         = lt_xeban
          yeban                         = lt_yeban.

      REFRESH: lt_cdtxt, lt_xeban, lt_yeban.
      CLEAR lv_objectid.


После выполнения ничего не произошло, может я чего то не дописал?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос по CDPOS
СообщениеДобавлено: Ср, янв 25 2012, 10:19 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Чт, янв 19 2012, 15:46
Сообщения: 35
Коллеги, кто может провести платную консультацию по этой теме?

Очень надо решить этот вопрос, самостоятельно не получается


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB