触发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' .
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' .
相关文章推荐
- 手机端网页点击链接触发自动拨打或保存电话的示例代码
- jquery触发a标签跳转事件示例代码
- 代码触发js事件(click、change)示例应用
- Win32 进程间互斥示例代码 Process 1
- Win32 进程间互斥示例代码 Process 1
- jquery触发a标签跳转事件示例代码
- js获取触发事件元素在整个网页中的绝对坐标(示例代码)
- Win32 进程间示例代码 Process 2
- Win32 进程间示例代码 Process 2
- 手机端网页点击链接触发自动拨打或保存电话的示例代码
- js获取触发事件元素在整个网页中的绝对坐标(示例代码)
- java 导入Excel思路及代码示例
- Nuva 示例代码(每日一帖)之 模板示例(1)
- window.open打开页面居中显示的示例代码
- 最常用的1000个Java类 (附代码示例)
- BOTC软件开发模型思想之核心代码区分——php示例005
- ios下的精确定时(代码示例)
- maven+springMVC+myBatis+mysql+junit+slf4j+logback示例代码总结
- Nuva 示例代码(每日一帖)之 模板示例(3)