能通过Tcode CN25进行网络确认(network Confirmation)。SAP也提供了bapi BAPI_NETWORK_CONF_ADD来实现网络确认,下面介绍一下如何使用BAPI_NETWORK_CONF_ADD。
1, 如何通过销售订单找到网络(Network)
项目中应用了PS模块,将网络(Network)挂在了一起,可以通过VA02找到销售订单行项目对应的网络(network)以及要确认的作业(activity)
TCode VA03,双击行项目,
在运货计划行(schedule lines) tab 页中点击Net work按钮就能查到对应的网络号(network),
点击activity overview按钮能看到所有的作业(activity),
下面要对网络90008314中的作业0020调用BAPI进行确认。
2, BAPI实现网络确认
代码对网络90008314中的作业0020完成确认,其中posting日期为本地日期加上3天。
完整代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
REPORT ztest_bapi_network. DATA: l_number TYPE bapi_network_list-network, lwa_return LIKE bapiret2, lwa_confirmations TYPE bapi_network_conf_add, lwa_message_table TYPE bapi_conf_return, lit_confirmations TYPE STANDARD TABLE OF bapi_network_conf_add, lit_message_table TYPE STANDARD TABLE OF bapi_conf_return. lwa_confirmations-postg_date = sy-datlo + 3. "Local date + 3 days lwa_confirmations-activity = '0020'. lwa_confirmations-exec_start_date = sy-datlo. "Local Date of Current User lwa_confirmations-exec_fin_date = sy-datlo. lwa_confirmations-plant = '8800'. lwa_confirmations-fin_conf = abap_true. APPEND lwa_confirmations TO lit_confirmations. l_number = '000900008314'. "注意要有前导零 " EXECUTING THE CONFIRMATION via BAPI CALL FUNCTION 'BAPI_NETWORK_CONF_ADD' EXPORTING number = l_number IMPORTING return = lwa_return TABLES i_confirmations = lit_confirmations e_message_table = lit_message_table. READ TABLE lit_message_table INTO lwa_message_table WITH KEY type = 'E'. IF sy-subrc = 0. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. ENDIF. |
运行后,通过tcode CN28能查看到结果:
回车进入详细屏幕,
注意,网络(network)在确认之前一定要是释放的状态,要不然会报错:Network 900008314 is not released 069000073
可以通过CN22释放网络:
通过菜单 edit->status->release来释放network
3, 取消网络确认BAPI
对应的bapi是BAPI_NETWORK_CONF_CANCEL
以上。
发表评论