将输出类型添加到多个销售订单,采购订单,交货或发票

时间:2017-08-10 08:48:22

标签: abap

有谁能告诉我如何使用RV_MESSAGE_INSERTRV_MESSAGE_UPDATE功能模块一次性将输出类型插入多个订单,交货或报价?

如何实现这一目标?如果我使用select-options作为输入来获取OBJKY(NAST表),如何实现?欢迎任何其他想法。

1 个答案:

答案 0 :(得分:2)

使用RV_MESSAGES_INSERTRV_MESSAGES_UPDATE之前的一个警告:您只能在显示模式(VA03,VL03N,VF03等)中看到输出消息。

字段NAST-KAPPL控制您存储特定邮件的应用程序区域。因此NAST-KAPPL = 'V1'是销售,同样V2是送货,V3是开票(您可以检查交易NACE中的所有可能值)。

其他领域非常明显。如果您希望存储邮件以进行投放,您的代码将如下所示:

DATA(message_record) = VALUE NAST( KAPPL = 'V2'
                                   OBJKY = delivery-vbeln "Delivery
                                   MANDT = SY-MANDT "Client
                                   KSCHL = 'ZD10' "Message type
                                   SPRAS = sy-langu "Language
                                   PARNR = delivery-kunnr "message partner
                                   PARVW = 'SH' "Ship-to-party partner function
                                   ERDAT = sy-datum 
                                   ERUHR = sy-uzeit
                                   NACHA = '8' "Message transmission medium. Check domain values
                                   VSTYP = '4' "Send immediately. Check domain values
                                   MANUE = 'X' ). "Very important: message processed manually

APPEND message_record TO message_table. "message_table is type NAST

CALL FUNCTION ‘RV_MESSAGES_INSERT‘
TABLES
tab_xnast = message_table.

CALL FUNCTION ‘RV_MESSAGES_UPDATE‘
EXPORTING
msg_kappl = message_record-kappl
msg_objky = message_record-objky.

COMMIT WORK.

如果您想通过多个订单/交付执行此操作,只需将所有内容放在LOOP内,在循环开始时刷新message_table