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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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