项目上对一期的采购接受接口导入程序进行更改,增加货位信息,要求:货位 = 子库存 + 项目 + 任务。由于子库启用了动态货位控制,所以需要在程序中动态创建货位,所以周折了一番。
1. 接口表: rcv_transactions_interface
字段: locator_id
API: inv_loc_wms_pub.create_locator
2. 注意点: 动态创建货位时,首先会创建货位弹性域。而创建货位弹性域时,对子库存会进行值集的验证(INV_SRS_SUBINV),值集INV_SRS_SUBINV中,WHERE里对PROFILE.MFG_ORGANIZATION_ID做了限制,所以,在并发请求中,需要进行fnd_profile.put('MFG_ORGANIZATION_ID',111)的处理。否则会报值集验证不通过。
3. 范例脚本
DECLARE x_return_status VARCHAR2(1000); x_msg_count NUMBER; x_msg_data VARCHAR2(1000); x_inventory_location_id NUMBER; x_locator_exists VARCHAR2(100); BEGIN BEGIN fnd_global.apps_initialize(user_id => 1192, resp_id => 51519, resp_appl_id => 211); fnd_profile.put('MFG_ORGANIZATION_ID',111); END; inv_loc_wms_pub.create_locator(x_return_status => x_return_status, x_msg_count => x_msg_count, x_msg_data => x_msg_data, x_inventory_location_id => x_inventory_location_id, x_locator_exists => x_locator_exists, p_organization_id => 111, p_organization_code => 'T01', p_concatenated_segments => '.1995.PJ_TEST_01.1..', p_description => NULL, p_inventory_location_type => 3, p_picking_order => NULL, p_location_maximum_units => NULL, p_subinventory_code => '1115', p_location_weight_uom_code => NULL, p_max_weight => NULL, p_volume_uom_code => NULL, p_max_cubic_area => NULL, p_x_coordinate => NULL, p_y_coordinate => NULL, p_z_coordinate => NULL, p_physical_location_id => NULL, p_pick_uom_code => NULL, p_dimension_uom_code => NULL, p_length => NULL, p_width => NULL, p_height => NULL, p_status_id => 1, p_dropping_order => NULL); COMMIT; END;
copy by http://www.cnblogs.com/benio/archive/2012/11/13/2768228.html