Текущее время: Чт, июн 19 2025, 04:04

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


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

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


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

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