本例是触发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' .