Текущее время: Чт, июл 24 2025, 00:05

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


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


ВНИМАНИЕ!

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



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

Зарегистрирован:
Чт, фев 12 2009, 12:47
Сообщения: 117
Откуда: Kiev
Пол: Мужской
esh19 написал(а):
Коллеги, кто может провести платную консультацию по этой теме?

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


Ну я бесплатно кое-что подскажу , так как вчера заканчивал прохождение курса BC414 и в нем есть пример и задание на реализацию документа изменений. Благодаря этим разъяснением удалось сгенерировать документ.

В UNIT 6: Appendix есть тема Creating Change Document. Объясняется как сгенерить инклуды с ФМ и описанием данных Также есть задача - в программу SAPBC414T_BOOKINGS_06 внедрить сохранение документа изменений.

_________________
SAP macht frei


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

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
пошаговая инструкция с картинками :wink: Change Document

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


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

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
esh19, параметры UPD_EBAN, UPD_ICDTXT_ZMM_BANFN неплохо бы заполнить еще значением 'U' при вызове ФМ.

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


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

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

Code:
INCLUDE fzmm_banfncdt.
...

SELECT SINGLE * FROM eban INTO ls_eban
      WHERE banfn = gs_outtab-banfn
       AND bnfpo = gs_outtab-bnfpo.

    MOVE-CORRESPONDING ls_eban TO ls_zeban.
    yeban  = ls_zeban.
    APPEND yeban.

ls_zeban-banpr = gc_req_take_off.
      xeban = ls_zeban.
      APPEND xeban.

      CONCATENATE sy-mandt gs_outtab-banfn gs_outtab-bnfpo INTO objectid.

      MOVE: sy-tcode TO tcode,
          sy-uzeit TO utime,
          sy-datum TO udate,
          sy-uname TO username,
          'U' TO cdoc_upd_object."<<<<<<<<<
      cdoc_planned_or_real = 'R'."<<<<<<<<<

      upd_eban = 'U'.
      UPD_ICDTXT_ZMM_BANFN = 'U'.


      PERFORM CD_CALL_ZMM_BANFN .
      COMMIT WORK.

...

FORM CD_CALL_ZMM_BANFN.
  IF   ( UPD_EBAN NE SPACE )
    OR ( UPD_ICDTXT_ZMM_BANFN NE SPACE )
  .
    CALL FUNCTION 'SWE_REQUESTER_TO_UPDATE'.
    CALL FUNCTION 'ZMM_BANFN_WRITE_DOCUMENT' IN UPDATE TASK
        EXPORTING
          OBJECTID                = OBJECTID
          TCODE                   = TCODE
          UTIME                   = UTIME
          UDATE                   = UDATE
          USERNAME                = USERNAME
          PLANNED_CHANGE_NUMBER   = PLANNED_CHANGE_NUMBER
          OBJECT_CHANGE_INDICATOR = CDOC_UPD_OBJECT
          PLANNED_OR_REAL_CHANGES = CDOC_PLANNED_OR_REAL
          NO_CHANGE_POINTERS      = CDOC_NO_CHANGE_POINTERS
* updateflag of EBAN
          UPD_EBAN
                      = UPD_EBAN
          UPD_ICDTXT_ZMM_BANFN
                      = UPD_ICDTXT_ZMM_BANFN
        TABLES
          ICDTXT_ZMM_BANFN
                      = ICDTXT_ZMM_BANFN
          XEBAN
                      = XEBAN
          YEBAN
                      = YEBAN
    .
  ENDIF.
  CLEAR PLANNED_CHANGE_NUMBER.
ENDFORM.                     


и все равно ничего не происходит :\

PS ICDTXT_ZMM_BANFN - было пустым, не знаю как точно заполнять и надо ли


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

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
esh19 написал(а):
и все равно ничего не происходит :\
А что по-вашему должно произойти? Записи в таблице CDHDR с классом ZMM_BANFN не добавляются? Статус обработки заявки точно изменился?

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


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

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
мда, товарищ упорно не хочет вчитаться ни в мат.часть, ни в указания форумчан. вам уже указывали, что инструментарий основывается исключительно на изменениях БД. если вы заявку не обновили, то откуда взяться документу изменений :?

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


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

Зарегистрирован:
Чт, фев 12 2009, 12:47
Сообщения: 117
Откуда: Kiev
Пол: Мужской
Посмотрите свой include fzmm_banfnSCDV. В нем в объявлении tables со звездочкой объявлена старая структура, без звездочки новая

В моем инклуде так
Code:
DATA: UPD_ICDTXT_BC_BOOK         TYPE C.
DATA: BEGIN OF ICDTXT_BC_BOOK         OCCURS 20.
        INCLUDE STRUCTURE CDTXT.
DATA: END OF ICDTXT_BC_BOOK        .

TABLES: *SBOOK                         , SBOOK                         .
DATA: UPD_SBOOK                          TYPE C.

Проверьте, вы в эти структуры поместили старое и новое значения перед вызовом PERFORM CD_CALL_ZMM_BANFN . Как я понял, ФМ будет на основании расхождения в этих структурах формировать документ изменений.

На всякий случай проверенный рабочий код из BC414
Code:
FORM create_change_documents.
************************************************************************
* a) Create a change document for each booking, which is changed on the
*    DB table SBOOK: Loop over the internal table ITAB_SBOOK_MODIFY
*    (containing all modified dataset) and read the corresponding
*    original dataset from the internal table ITAB_CD (into the workarea
*    *sbook).
* b) Define an object key from the key fields of sbook (you may use
*    the ABAP statement CONCATENATE)
* c) Fill interface parameters, which are used by the generated
*    function module
* d) add the PERFORM statement for the generated form encapsulating the
*    creation of the change document.
************************************************************************
LOOP AT itab_sbook_modify INTO sbook. "записываем новое значение таблиці
* read unchanged data from buffer table into *-work area
READ TABLE itab_cd FROM sbook INTO *sbook. "записываем старое значение таблицы
* define objectid from key fields of sbook
CONCATENATE sbook-mandt sbook-carrid sbook-connid
sbook-fldate sbook-bookid sbook-customid
INTO objectid SEPARATED BY space.
* fill interface parameters for function call (which itself is
* encapsulated in form CD_CALL_BC_BOOK
MOVE: sy-tcode TO tcode,
sy-uzeit TO utime,
sy-datum TO udate,
sy-uname TO username,
'U' TO upd_sbook.
* perform calls the neccessary function to create change document
* 'in update task'
PERFORM cd_call_bc_book.
ENDLOOP.
ENDFORM.                               " CREATE_CHANGE_DOCUMENTS

_________________
SAP macht frei


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

Зарегистрирован:
Чт, янв 19 2012, 15:46
Сообщения: 35
YSICHOV написал:
Посмотрите свой include fzmm_banfnSCDV. В нем в объявлении tables со звездочкой объявлена старая структура, без звездочки новая

В моем инклуде так
Code:
DATA: UPD_ICDTXT_BC_BOOK         TYPE C.
DATA: BEGIN OF ICDTXT_BC_BOOK         OCCURS 20.
        INCLUDE STRUCTURE CDTXT.
DATA: END OF ICDTXT_BC_BOOK        .

TABLES: *SBOOK                         , SBOOK                         .
DATA: UPD_SBOOK                          TYPE C.


У меня в FZMM_BANFNCDV:
Code:
DATA: BEGIN OF ICDTXT_ZMM_BANFN OCCURS 20.
        INCLUDE STRUCTURE CDTXT.
DATA: END OF ICDTXT_ZMM_BANFN.
DATA: UPD_ICDTXT_ZMM_BANFN TYPE C.

* table with the NEW content of: EBAN
DATA: BEGIN OF XEBAN OCCURS 20.
        INCLUDE STRUCTURE ZEBAN.
DATA: END OF XEBAN.

* table with the OLD content of: EBAN
DATA: BEGIN OF YEBAN OCCURS 20.
        INCLUDE STRUCTURE ZEBAN.
DATA: END OF YEBAN.

DATA: UPD_EBAN TYPE C.


SYS написал(а):
esh19 написал(а):
и все равно ничего не происходит :\
А что по-вашему должно произойти? Записи в таблице CDHDR с классом ZMM_BANFN не добавляются? Статус обработки заявки точно изменился?

К сожалению, не добавляются

Приведу весь код, может где-то что-то упустил или криво сделал:
Code:
FORM purreq_take_off  USING ut_rows TYPE lvc_t_roid.

  DATA: ls_rows      TYPE lvc_s_roid,
        lt_return    TYPE TABLE OF bapiret2,
        ls_return    TYPE bapiret2.

  " добавил 25/01/2012 по ТЗ (
  DATA: ls_zeban TYPE zeban,
        ls_eban  TYPE eban.
  " ) добавил 25/01/2012 по ТЗ

  LOOP AT ut_rows INTO ls_rows.
    READ TABLE gt_outtab INTO gs_outtab INDEX ls_rows-row_id.

    " добавил 25/01/2012 по ТЗ  (

    SELECT SINGLE * FROM eban INTO ls_eban
      WHERE banfn = gs_outtab-banfn
       AND bnfpo = gs_outtab-bnfpo.

    MOVE-CORRESPONDING ls_eban TO ls_zeban.
    yeban  = ls_zeban.
    APPEND yeban.
    " ) добавил  25/01/2012 по ТЗ

    gs_outtab-banpr = gc_req_take_off.
    gs_outtab-icon_st = gv_icon_breakpoint.
    MODIFY gt_outtab FROM gs_outtab INDEX ls_rows-row_id.
    UPDATE eban SET banpr = gc_req_take_off
      WHERE banfn = gs_outtab-banfn
        AND bnfpo = gs_outtab-bnfpo.
    IF sy-subrc = 0.
      COMMIT WORK AND WAIT.

      "  добавил  25/01/2012 по ТЗ (

      ls_zeban-banpr = gc_req_take_off.
      xeban = ls_zeban.
      APPEND xeban.

      CONCATENATE sy-mandt gs_outtab-banfn gs_outtab-bnfpo INTO objectid SEPARATED BY space.

      MOVE: sy-tcode TO tcode,
          sy-uzeit TO utime,
          sy-datum TO udate,
          sy-uname TO username,
          'U' TO cdoc_upd_object."<<<<<<<<<
      cdoc_planned_or_real = 'R'."<<<<<<<<<

      upd_eban = 'U'.
      UPD_ICDTXT_ZMM_BANFN = 'U'.


      PERFORM CD_CALL_ZMM_BANFN .
      COMMIT WORK.

      " ) добавил 25/01/2012 по ТЗ


      ls_return-type = 'S'.
      ls_return-id = 'ZMM_PRSR_MC'.
      ls_return-number = '015'.
      ls_return-message_v1 = gs_outtab-banfn.
      APPEND ls_return TO lt_return.
    ELSE.
      ROLLBACK WORK.
    ENDIF.

    " добавил 25/01/2012 по ТЗ (
    REFRESH: xeban, yeban.
    CLEAR: ls_zeban, ls_eban.
    " ) добавил 25/01/2012 по ТЗ

  ENDLOOP.

  PERFORM display_message_list TABLES lt_return USING 'S'.

ENDFORM.                    " PURREQ_TAKE_OFF


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

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
в UPDATE TASK надо ФМ вызвать до commit. все остальное (заполнение параметров) вроде бы верно.

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


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

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
Полю BANPR таблицы ZEBAN какой присвоен элемент данных?
В таблицах XEBAN и YEBAN перед вызовом ФМ документа изменений отличается поле BANPR?

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


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

Зарегистрирован:
Чт, фев 12 2009, 12:47
Сообщения: 117
Откуда: Kiev
Пол: Мужской
В элементе данных изменяемого поля стоит галочка "Change Document" ?

http://www.sapnet.ru/viewtopic.php?p=751

_________________
SAP macht frei


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

Зарегистрирован:
Чт, янв 19 2012, 15:46
Сообщения: 35
Ура! вроде сделал :) но не через SCDO
сделал вот так: http://forums.sdn.sap.com/thread.jspa?threadID=1361709

Кстати, а как теперь эти объекты поудалять (вместе с ФМ и инклудами)?

YSICHOV написал:
В элементе данных изменяемого поля стоит галочка "Change Document" ?

Да, стоит

ghost написал:
в UPDATE TASK надо ФМ вызвать до commit.

изменил, но все равно не сработало.. странно


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

Зарегистрирован:
Чт, фев 12 2009, 12:47
Сообщения: 117
Откуда: Kiev
Пол: Мужской
esh19 написал(а):
Ура! вроде сделал :) но не через SCDO
Кстати, а как теперь эти объекты поудалять (вместе с ФМ и инклудами)?


В SCDO на выбранном объекте Shift+F2. Система спросит, что удалять: весь объект или только сгенерированные исходники.

_________________
SAP macht frei


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

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


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

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


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

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