PDA

Ver la Versión Completa : Repetir un mensaje de impresión por código


poketina
21/05/18, 15:34:02
Hola!
Me han pedido que haga siguiente en un report Z: yo muestro datos relativos a los transportes y quieren que, si selecciono uno de ellos y pulso un botón, entonces se genere de nuevo el mensaje de impresión Zxxx.
El transporte no se está modificando, por lo que no se genera automáticamente.
Esto se puede hacer?
gracias!

María

luis_gijon
29/05/18, 09:04:40
Hola Maria,

supongo que te refieres a un mensaje Z de la nace. Te muestro un código para lanzarlo:

LANZAR MENSAJES NAST DESDE UNA FUNCIÓN

DATA: it_nast TYPE STANDARD TABLE OF nast,
wa_nast TYPE nast.
DATA: lt_msg_nast TYPE TABLE OF msg0,
ls_msg0 LIKE msg0,
t_disp TYPE TABLE OF naliv2.

wa_nast-mandt = sy-mandt.
wa_nast-kappl = nast-kappl."Application area
wa_nast-objky = nast-objky."object key. Po, shipment etc
wa_nast-kschl = 'ZESO'."output type to be processed
wa_nast-spras = sy-langu."language
wa_nast-parnr = wa_nast-parnr."message partner
wa_nast-parvw = wa_nast-parvw."partner function
wa_nast-erdat = sy-datum."current date
wa_nast-eruhr = sy-uzeit."current time
wa_nast-nacha = '1'.
wa_nast-anzal = '01'."number of messages
wa_nast-vsztp = "Dispatch time
wa_nast-vstat = '2'."processing status

CALL FUNCTION 'RV_MESSAGE_UPDATE_SINGLE'
EXPORTING
msg_nast = wa_nast.

MOVE-CORRESPONDING wa_nast TO ls_msg0.
APPEND ls_msg0 TO lt_msg_nast.

CALL FUNCTION 'WFMC_MESSAGES_PROCESS'
EXPORTING
pi_display_id = 'ZESO'
pi_no_dialog = 'X'
TABLES
tx_messages = lt_msg_nast
tx_display = t_disp.