На главную

 

 

 

08.06.2011  
    Моделирование проводок SAP MM
     
    Возникла потребность до проводки документа движения материала выполнить моделирование бух. проводок.
    Способ 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



    _________________
    SAP ERP 2005

 

Злобин Юрий
12.09.2018г.
г.Ярославль
html counterсчетчик посетителей сайта