修改物料状态

DECLARE
  l_item_rec  inv_item_grp.item_rec_type;
  x_item_rec  inv_item_grp.item_rec_type;
  x_error_tbl inv_item_grp.error_tbl_type;

  x_return_status VARCHAR2(1);

  l_user_id        NUMBER := 1110; --User ID, Sysadmin here
  l_cur_mfg_org_id NUMBER := 83; --Current Inv Organization
  
 -- SELECT * FROM ORG_ORGANIZATION_DEFINITIONS
 -- SELECT * FROM MTL_SYSTEM_ITEMS_B MSI

BEGIN

  --Initialize first, or create_by will be -1
  fnd_global.apps_initialize(user_id      => 1110,
                             resp_id      => 50597,
                             resp_appl_id => 20003);
  --Item
  l_item_rec.item_number                := '2010230020';
  l_item_rec.inventory_item_status_code := 'Active'; --Active Inactive

  --Master Inv Organization first, then Current Inv Organization
  l_item_rec.organization_id := l_cur_mfg_org_id;
  --API
  inv_item_grp.update_item(p_commit        => fnd_api.g_false,
                           p_item_rec      => l_item_rec,
                           x_item_rec      => x_item_rec,
                           x_return_status => x_return_status,
                           x_error_tbl     => x_error_tbl);
  --Result
  IF x_return_status <> fnd_api.g_ret_sts_success THEN
  
    ROLLBACK;
  
    FOR i IN 1 .. x_error_tbl.COUNT LOOP
      dbms_output.put_line('Transaction ID  :' || x_error_tbl(i).transaction_id);
      dbms_output.put_line('Unique ID       :' || x_error_tbl(i).unique_id);
      dbms_output.put_line('Message Name    :' || x_error_tbl(i).message_name);
      dbms_output.put_line('Message Text:   :' || x_error_tbl(i).message_text);
      dbms_output.put_line('Table Name      :' || x_error_tbl(i).table_name);
      dbms_output.put_line('Column Name     :' || x_error_tbl(i).column_name);
      dbms_output.put_line('Organization ID :' || x_error_tbl(i).organization_id);
    END LOOP;
  
    IF (x_return_status = fnd_api.g_ret_sts_unexp_error) THEN
      RAISE fnd_api.g_exc_unexpected_error;
    ELSIF (x_return_status = fnd_api.g_ret_sts_error) THEN
      RAISE fnd_api.g_exc_error;
    END IF;
  
  ELSE
  
    COMMIT;
    dbms_output.put_line(x_item_rec.item_number);
  
  END IF;

END;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值