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

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


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

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


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

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