您的位置:首页 > 数据库 > Oracle

Oracle EBS创建LPN

2014-09-27 13:00 791 查看

创建LPN

[align=left]PROCEDURE create_lpn(errbuf            OUT VARCHAR2,[/align]
[align=left]                     retcode           OUT VARCHAR2 ,[/align]
[align=left]                     p_organization_id IN NUMBER ,[/align]
[align=left]                     p_lpn_prefix      IN VARCHAR2 ,[/align]
[align=left]                     p_lpn_suffix      IN VARCHAR2 ,[/align]
[align=left]                     p_lpn             IN VARCHAR2 ) IS[/align]
[align=left]  BEGIN[/align]
[align=left]    --Initialize[/align]
[align=left]    wms_container_pvt.generate_lpn_cp(errbuf                => errbuf,[/align]
[align=left]                                      retcode               => retcode,[/align]
[align=left]                                      p_api_version         => 1,[/align]
[align=left]                                      p_organization_id     => p_organization_id,[/align]
[align=left]                                      p_container_item_id   => NULL,[/align]
[align=left]                                      p_revision            => NULL,[/align]
[align=left]                                      p_lot_number          => NULL,[/align]
[align=left]                                      p_from_serial_number  => NULL,[/align]
[align=left]                                      p_to_serial_number    => NULL,[/align]
[align=left]                                      p_subinventory        => NULL,[/align]
[align=left]                                      p_locator_id          => NULL,[/align]
[align=left]                                      p_org_parameters      => 2,[/align]
[align=left]                                      p_parm_dummy_1        => 'N',[/align]
[align=left]                                      p_total_length        => NULL,[/align]
[align=left]                                      p_lpn_prefix          => p_lpn_prefix,[/align]
[align=left]                                      p_starting_num        => p_lpn,[/align]
[align=left]                                      p_ucc_128_suffix_flag => 2,[/align]
[align=left]                                      p_parm_dummy_2        => 'N',[/align]
[align=left]                                      p_lpn_suffix          => p_lpn_suffix,[/align]
[align=left]                                      p_quantity            => 1,[/align]
[align=left]                                      p_source              => NULL,[/align]
[align=left]                                      p_cost_group_id       => NULL);[/align]
[align=left]  END;[/align]

[align=left]
[/align]

[align=left]-- --------------------------------------------[/align]
  -- Get LPN
Id
[align=left]  -- --------------------------------------------[/align]
  PROCEDURE get_lpn_id(x_lpn_id OUT NUMBER ,
p_lpn IN VARCHAR2) IS
    --l_lpn_exist
NUMBER;
[align=left]  BEGIN[/align]
[align=left]    x_lpn_id := - 9999;[/align]
[align=left]    SELECT lpn.lpn_id[/align]
[align=left]      INTO x_lpn_id[/align]
      FROM wms_license_plate_numbers
lpn
[align=left]     WHERE 1 = 1[/align]
       AND lpn.license_plate_number
= p_lpn;
[align=left] [/align]
[align=left]  EXCEPTION[/align]
[align=left]    WHEN no_data_found THEN[/align]
[align=left]      x_lpn_id := - 1; --LPN不存在[/align]
[align=left]    WHEN OTHERS THEN[/align]
[align=left]      x_lpn_id := - 9999;[/align]
[align=left]  END;[/align]
[align=left]
[/align]

[align=left]--创建LPN[/align]
[align=left]--检查LPN是否存在[/align]
[align=left]get_lpn_id(l_outer_lpn_id, p_n_lpn_num);[/align]
[align=left]--拆分LPN号[/align]
SELECT substr (p_n_lpn_num,
-1),
       substr(p_n_lpn_num, 1 , length(p_n_lpn_num)
- 1)
  INTO l_lpn_number,
l_lpn_prefix
[align=left]  FROM dual;[/align]
[align=left]--创建LPN[/align]
IF l_outer_lpn_id
= -1 THEN
[align=left]  create_lpn(errbuf            => l_errbuf,[/align]
[align=left]             retcode           => l_retcode,[/align]
[align=left]             p_organization_id => p_organization_id,[/align]
[align=left]             p_lpn_prefix      => l_lpn_prefix,[/align]
[align=left]             p_lpn_suffix      => NULL,[/align]
[align=left]             p_lpn             => l_lpn_number);[/align]
  IF l_errbuf
<> '0' THEN
    x_msg_data := l_msg_data || '创建LPN失败:' ||
l_errbuf;
[align=left]    RAISE header_error;[/align]
[align=left]  ELSE[/align]
[align=left]    --获取创建后的LPN_ID[/align]
[align=left]    get_lpn_id(l_new_lpn_id, p_n_lpn_num);[/align]
[align=left]    --箱号添加毛重[/align]
[align=left]    l_lpn_rec                       := NULL;[/align]
[align=left]    l_lpn_rec.lpn_id                := l_new_lpn_id;[/align]
[align=left]    l_lpn_rec.gross_weight_uom_code := 'kg';[/align]
[align=left]    l_lpn_rec.gross_weight          := p_n_gross_weight;[/align]
[align=left]    wms_container_pvt.modify_lpn(p_api_version   => 1,[/align]
[align=left]                                 p_init_msg_list => fnd_api.g_true,[/align]
[align=left]                                 p_commit        => fnd_api.g_false,[/align]
[align=left]                                 x_return_status => l_return_status,[/align]
[align=left]                                 x_msg_count     => l_msg_count,[/align]
[align=left]                                 x_msg_data      => l_msg_data,[/align]
[align=left]                                 p_caller        => NULL,[/align]
[align=left]                                 p_lpn           => l_lpn_rec);[/align]
    IF l_return_status
<> 'S' THEN
[align=left]      x_msg_data := l_msg_data || '修改毛重失败' ;[/align]
[align=left]      RAISE header_error;[/align]
[align=left]    END IF ;[/align]
[align=left]  END IF;[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle EBS WMS LPN create sql