能通过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
以上。