Текущее время: Ср, июн 18 2025, 14:39

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


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


Вопросы по ППМ (MRP) - сюда.
Вопросы по классификации - сюда.
Вопросы по входящим поставкам - сюда.



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Моделирование проводок
СообщениеДобавлено: Ср, июн 08 2011, 12:30 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Чт, ноя 02 2006, 11:27
Сообщения: 51
Откуда: Ярославль
Пол: Мужской
Возникла потребность до проводки документа движения материала выполнить моделирование бух. проводок.
Способ 1
Ставим точку останова тут
SAPMM07M
f-beleg_ergaenzen
CALL FUNCTION 'CKMV_AC_DOCUMENT_CREATE'
Смотрим структуры XACCIT[], XACCCR[]

Способ 2
Можно вставить туда свой экран....
Изображение
Я скопировал SAPMM07M в ZSAPMM07M
Создал транзакцию Z_MB01, Z_MB04, Z_MBST, Z_MB1B, Z_MB1A
Добавил эти транз в табл T158 , T158B
Вставил свой экран перед CALL FUNCTION 'CKMV_AC_DOCUMENT_CREATE'
MIGO, MB01 и др. при этом работают по-старому.
Работает.


    * SAPMM07M
    * f-beleg_ergaenzen

    * { ЗЮ 2011-06-08 Моделирование проводки
    DATA z_ucomm TYPE sy-ucomm.
    DATA gt_tab TYPE zzs04114_94 OCCURS 0 WITH HEADER LINE.
    DATA wa_tab TYPE zzs04114_94.
    DATA wa_xaccit TYPE accit.
    DATA wa_xacccr TYPE acccr.

    LOOP AT xaccit INTO wa_xaccit.

    CLEAR wa_tab.
    MOVE-CORRESPONDING wa_xaccit TO wa_tab.
    LOOP AT xacccr INTO wa_xacccr
    WHERE awtyp = wa_xaccit-awtyp
    AND posnr = wa_xaccit-posnr.
    IF wa_xacccr-curtp = '00'. " USD
    wa_tab-curtp00 = wa_xacccr-curtp.
    wa_tab-waers00 = wa_xacccr-waers.
    wa_tab-wrbtr00 = wa_xacccr-wrbtr.
    wa_tab-wrbtrc00 = wa_xacccr-wrbtr.
    CONDENSE wa_tab-wrbtrc00.
    TRANSLATE wa_tab-wrbtrc00 USING '.,'.
    ENDIF.
    IF wa_xacccr-curtp = '10'. " RUB
    wa_tab-curtp10 = wa_xacccr-curtp.
    wa_tab-waers10 = wa_xacccr-waers.
    wa_tab-wrbtr10 = wa_xacccr-wrbtr.
    wa_tab-wrbtrc10 = wa_xacccr-wrbtr.
    CONDENSE wa_tab-wrbtrc10.
    TRANSLATE wa_tab-wrbtrc10 USING '.,'.
    ENDIF.
    ENDLOOP.
    APPEND wa_tab TO gt_tab.
    ENDLOOP. " xaccit

    CALL FUNCTION 'ZZFM_MM_ZMIGO_SCR_9001'
    IMPORTING
    z_ucomm = z_ucomm
    TABLES
    gt_tab = gt_tab[].

    IF z_ucomm <> 'Z_OK'.
    SET SCREEN 0.
    LEAVE SCREEN.
    ENDIF.

    * } ЗЮ 2011-06-08 Моделирование проводки

    CALL FUNCTION 'CKMV_AC_DOCUMENT_CREATE'
    EXPORTING
    i_comp = component
    TABLES
    t_acchd = xacchd
    t_accit = xaccit
    t_acccr = xacccr
    t_accit_ext = gt_accit_ext
    CHANGING
    needs_smbew_update = vw.


Изображение

Изображение

Изображение

Изображение

    *----------------------------------------------------------------------*
    ***INCLUDE LZZGF_MM_ZMIGOO01 .
    *----------------------------------------------------------------------*
    *&---------------------------------------------------------------------*
    *& Module STATUS_9001 OUTPUT
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    module STATUS_9001 output.
    SET TITLEBAR '9001'.
    SET PF-STATUS '9001'.
    endmodule. " STATUS_9001 OUTPUT
    *&---------------------------------------------------------------------*
    *& Module DISPLAY_OUTTAB OUTPUT
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    module DISPLAY_OUTTAB output.
    *
    endmodule. " DISPLAY_OUTTAB OUTPUT
    *&---------------------------------------------------------------------*
    *& Module SET_CURSOR_9001 OUTPUT
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    module SET_CURSOR_9001 output.
    SET CURSOR FIELD 'Z_NO'.
    endmodule. " SET_CURSOR_9001 OUTPUT
    *&---------------------------------------------------------------------*
    *& Module FCODE_9001 INPUT
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    module FCODE_9001 input.
    CASE ok-code.
    WHEN 'Z_OK'.
    9001_code = ok-code.
    CLEAR ok-code.
    SET SCREEN 0.
    LEAVE SCREEN.

    WHEN 'Z_NO'.
    9001_code = ok-code.
    CLEAR ok-code.
    SET SCREEN 0.
    LEAVE SCREEN.

    WHEN OTHERS.

    ENDCASE.
    endmodule. " FCODE_9001 INPUT
    *&---------------------------------------------------------------------*
    *& Module EXIT_9001 INPUT
    *&---------------------------------------------------------------------*
    * text
    *----------------------------------------------------------------------*
    module EXIT_9001 input.
    CASE ok-code.
    WHEN 'CANC' OR 'EXIT'.
    CLEAR ok-code.
    SET SCREEN 0.
    LEAVE SCREEN.
    ENDCASE.
    *
    endmodule. " EXIT_9001 INPUT


Последний раз редактировалось MM'щик Вт, июн 14 2011, 13:40, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Моделирование проводок
СообщениеДобавлено: Ср, июн 08 2011, 13:29 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Моделирование проводок
СообщениеДобавлено: Ср, июн 08 2011, 13:48 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, май 23 2007, 09:26
Сообщения: 511
Откуда: Город невест + Москва
Пол: Женский
Модераторам предлагаю добавить в FAQ


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Моделирование проводок
СообщениеДобавлено: Ср, июн 08 2011, 14:28 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Чт, ноя 02 2006, 11:27
Сообщения: 51
Откуда: Ярославль
Пол: Мужской
Besa написал:
О, прикольно, спасибо, кину в копилку).
Вопрос, Вы случаем по этой задачи не ковыряли модуль ACC_SIMULATED_DOC_DISPLAY?


Неа


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

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Добавил в FAQ.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Моделирование проводок
СообщениеДобавлено: Ср, июн 15 2011, 14:53 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Чт, ноя 02 2006, 11:27
Сообщения: 51
Откуда: Ярославль
Пол: Мужской
P.S.
В транзакциях-копиях типа Z_MB01 не отрабатывают USER-EXIT'ы.
Так что наверное надо прям в стандарте править.

P.S.
Чтобы совсем из транзакции не выбрасывало по кнопке "Отмена",
транзакцию MB01 можно возвращать на экран 221 для исправления данных и повторной проводки.
А транз MIGO на экран 0001.
Code:

**  {  ЗЮ  2011-06-08  Моделирование проводки
*    DATA z_ucomm    TYPE  sy-ucomm.
*    DATA gt_tab     TYPE zzs04114_94 OCCURS 0 WITH HEADER LINE.
*    DATA wa_tab     TYPE zzs04114_94.
*    DATA wa_xaccit  TYPE accit.
*    DATA wa_xacccr  TYPE acccr.
*
*    AUTHORITY-CHECK OBJECT 'ZYMM_MOD'
*        ID 'ACTVT' FIELD '03'.
*    IF sy-subrc = 0.
*      CLEAR gt_tab[].
*      LOOP AT xaccit INTO wa_xaccit.
*        CLEAR wa_tab.
*        MOVE-CORRESPONDING wa_xaccit TO wa_tab.
*        LOOP AT xacccr INTO wa_xacccr
*        WHERE awtyp = wa_xaccit-awtyp
*        AND   posnr = wa_xaccit-posnr.
*          IF wa_xacccr-curtp = '00'.  " USD
*            wa_tab-curtp00   =  wa_xacccr-curtp.
*            wa_tab-waers00   =  wa_xacccr-waers.
*            wa_tab-wrbtr00   =  wa_xacccr-wrbtr.
*            wa_tab-wrbtrc00  =  wa_xacccr-wrbtr.
*            CONDENSE  wa_tab-wrbtrc00.
*            TRANSLATE wa_tab-wrbtrc00 USING '.,'.
*          ENDIF.
*          IF wa_xacccr-curtp = '10'.  " RUB
*            wa_tab-curtp10   =  wa_xacccr-curtp.
*            wa_tab-waers10   =  wa_xacccr-waers.
*            wa_tab-wrbtr10   =  wa_xacccr-wrbtr.
*            wa_tab-wrbtrc10  =  wa_xacccr-wrbtr.
*            CONDENSE  wa_tab-wrbtrc10.
*            TRANSLATE wa_tab-wrbtrc10 USING '.,'.
*          ENDIF.
*        ENDLOOP.
*        APPEND wa_tab TO gt_tab.
*      ENDLOOP.  " xaccit
*
*      CALL FUNCTION 'ZZFM_MM_ZMIGO_SCR_9001'
*        IMPORTING
*          z_ucomm = z_ucomm
*        TABLES
*          gt_tab  = gt_tab[].
*
*      IF z_ucomm <> 'Z_OK'.
**       не хотим терять 20 набитых позиций
*
*        if sy-tcode cs 'MB01'.
*          SET SCREEN 221.
*          LEAVE SCREEN.
*        elseif sy-tcode cs 'MIGO'.
*          SET SCREEN 0001.
*          LEAVE SCREEN.
*        else.
*          SET SCREEN 0.
*          LEAVE SCREEN.
*        endif.
*
*      ENDIF.
*    ENDIF.    " authority_check
**  }  ЗЮ  2011-06-08  Моделирование проводки


    CALL FUNCTION 'CKMV_AC_DOCUMENT_CREATE'
      EXPORTING
        i_comp             = component
      TABLES
        t_acchd            = xacchd
        t_accit            = xaccit
        t_acccr            = xacccr
        t_accit_ext        = gt_accit_ext
      CHANGING
        needs_smbew_update = vw.
    upd_rw = x.


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

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


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

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


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

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