您的位置:首页 > 编程语言

触发output type的代码 - WFMC_MESSAGES_PROCESS示例

2012-11-29 23:42 381 查看
本例是触发Delivery的output Type, 示例代码如下, 详细逻辑可参SAP标准程序SD70AV2A.

DATA: " internal table for message from NAST processing

lt_msg TYPE STANDARD TABLE OF msg0,

ls_msg TYPE msg0, " work area for lt_msg

lt_dsp TYPE STANDARD TABLE OF naliv2,

ls_dsp TYPE naliv2,

ls_nast TYPE nast.

FIELD-SYMBOLS: <ls_msg> TYPE msg0.

" transfer pt_nast data to lt_msg

LOOP AT pt_nast INTO ls_nast.

MOVE-CORRESPONDING ls_nast TO ls_msg.

APPEND ls_msg TO lt_msg.

CLEAR ls_msg.

ENDLOOP.

CALL FUNCTION 'WFMC_MESSAGES_EXTEND'

TABLES

tx_messages = lt_msg.

SORT lt_msg BY objky kschl.

* create display

LOOP AT lt_msg ASSIGNING <ls_msg>.

* tabix = sy-tabix.

MOVE-CORRESPONDING <ls_msg> TO ls_dsp.

ls_dsp-vbeln = <ls_msg>-objky(10).

ls_dsp-posnr = <ls_msg>-objky+10(6).

ls_dsp-tabix = sy-tabix.

<ls_msg>-tabix = sy-tabix.

APPEND ls_dsp TO lt_dsp.

CLEAR ls_dsp.

ENDLOOP.

" delivery output type processing

CALL FUNCTION 'WFMC_MESSAGES_PROCESS'

EXPORTING

pi_display_id = gc_display_id "'NALIV2'

pi_no_dialog = gc_true " 'X'

TABLES

tx_messages = lt_msg

tx_display = lt_dsp.

return_code = 0.

注: 1 . 本代码取自实际代码的一部分, 若想直接使用, 需略作修改.

2. 这种方法只适用例如VT70一样的程序中, 不能使用在Normal TCODE的UPDATE TASK Process中, 例如VT02N- Repeat output, 我们需要DEBUG标准程序找到合适的地方来CALL
'WFMC_MESSAGES_PROCESS' .
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: