SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Печать документов в MIGO



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
seal
Участник
Участник



Joined: 25 Sep 2007
Posts: 18

PostPosted: Thu Nov 01, 2007 10:08 am    Post subject: Печать документов в MIGO Reply with quote

Коллеги, нужно распечатать формуляр с помощью собственной программы, наподобии как в MIGO при сохранении документа. В отладчике не могу найти место, где вызывается печать. Crying or Very sad
Back to top
View user's profile Send private message
Lord
Профессионал
Профессионал



Joined: 10 Sep 2007
Posts: 168

PostPosted: Fri Nov 02, 2007 11:20 pm    Post subject: Reply with quote

Для печати документа материала есть специальная транзакция - MB90.
Более точное место ФМ: WFMC_MESSAGE_SINGLE, поставь точку останова и смотри, какие аргументы передаются.
В инете нарыл код, автора не знаю.

Code:
FUNCTION y_print_mm_document.
*"----------------------------------------------------------------------
*"*"кНЙЮКЭМШИ ХМРЕПТЕИЯ:
*"  IMPORTING
*"     REFERENCE(MATERIALDOCUMENT) LIKE  MSEG-MBLNR
*"     REFERENCE(MATDOCUMENTYEAR) LIKE  MSEG-MJAHR
*"     REFERENCE(P_PRINT_COPY) TYPE  I DEFAULT 1
*"----------------------------------------------------------------------
*&**********************************************************************
*& Comments    : Печать документа ММ
*&**********************************************************************
  DATA: i_count_rec TYPE i,
         pe_rcode LIKE sy-subrc,           "return code
         pi_nast LIKE nast,
         l_kschl LIKE nast-kschl,
         l_objky LIKE nast-objky.

  i_count_rec = 0.
  DO.
    SELECT SINGLE blart INTO (pi_nast-kschl)
    FROM mkpf WHERE mblnr = materialdocument AND
                    mjahr = matdocumentyear.
    IF sy-subrc = 0.
      CONCATENATE materialdocument matdocumentyear '0001'
                  INTO l_objky.
      pi_nast-mandt = sy-mandt.
      pi_nast-kappl = 'ME'.
      pi_nast-objky = l_objky.
      pi_nast-kschl = 'WA03'.
      pi_nast-spras = sy-langu.
      pi_nast-manue = 'X'.
      pi_nast-nacha = 1.
      pi_nast-vsztp = 4.
      pi_nast-anzal = p_print_copy.          "Кол-во копий
      pi_nast-vstat = 1.
      pi_nast-ldest = 'LOCL'.
      pi_nast-nauto = 'X'.
      pi_nast-erdat = sy-datum.
      pi_nast-eruhr = sy-uzeit.
      pi_nast-dimme = 'X'.                   "Немедленный вывод
      pi_nast-delet = 'X'.                   "Удалить после вывода
      pi_nast-usnam = sy-uname.
      pi_nast-tdreceiver = sy-uname.
      pi_nast-objtype = 'MSEG'.
      CALL FUNCTION 'WFMC_MESSAGE_SINGLE'
           EXPORTING
                pi_nast  = pi_nast
           IMPORTING
                pe_rcode = pe_rcode.
      EXIT.
    ELSE.
      i_count_rec = i_count_rec + 1.
      IF i_count_rec = 20. EXIT. ENDIF.
    ENDIF.
  ENDDO.
ENDFUNCTION.


Вот пример добавления записи в таблицу NAST.

Code:

*------ Nast nachlesen und ьbernehmen
        MOVE-CORRESPONDING xitem TO nast.
        SELECT SINGLE * FROM  nast
           WHERE  kappl       = nast-kappl
           AND    objky       = nast-objky
           AND    kschl       = nast-kschl
           AND    spras       = nast-spras
           AND    parnr       = nast-parnr
           AND    parvw       = nast-parvw
           AND    erdat       = nast-erdat
           AND    eruhr       = nast-eruhr.
        IF sy-subrc EQ 0.
          MOVE-CORRESPONDING nast TO xitem.
          IF nast-vstat NE '0'.
            xitem-symbol = gf_icon_checked.
            MODIFY xitem.
            MESSAGE s845 WITH space xitem-datvr xitem-uhrvr.
            EXIT.                      "message w175(me).
          ENDIF.
        ENDIF.
*       move-corresponding xitem to nast.
        CLEAR nast-sndex.                                   "196293
*       PERFORM EINZELNACHRICHT(RSNAST00) USING RETCO.      " 361179
        CALL FUNCTION 'WFMC_MESSAGE_SINGLE'                 " 361179
          EXPORTING                                         " 361179
            pi_nast        = nast                           " 361179
          IMPORTING                                         " 361179
            pe_rcode       = retco.                         " 361179
        IF xitem-kappl EQ 'EL' AND xitem-objky+10(5) NE '00000'."455903
          tmp_ebelp = xitem-objky+10(5).
          PERFORM position_entsperren USING
                                   xitem-ebeln
                                   tmp_ebelp.
        ELSE.
          PERFORM beleg_entsperren USING xitem-ebeln.
        ENDIF.


Другие ФМ
RV_MESSAGES_INSERT,
RV_MESSAGE_UPDATE,
RV_MESSAGE_UPDATE_SINGLE.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.