加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

OracleEBS订单发运过程中处理物料搬运单API示例

(2024-10-21 10:49:24)
标签:

处理物料搬运单api示

分类: OracleEBS分销模块
Oracle EBS 订单发运过程中处理物料搬运单API示例

--处理搬运单

create or replace PROCEDURE CUX_TRANSACT_MO_LINE_SAMPLE  
AS 
        -- Common Declarations
        l_api_version NUMBER := 1.0; 
        l_init_msg_list VARCHAR2(2) := FND_API.G_TRUE; 
        l_commit VARCHAR2(2) := FND_API.G_FALSE; 
        x_return_status VARCHAR2(2);
        x_msg_count NUMBER := 0;
        x_msg_data               VARCHAR2(255);
          
        -- API specific declarations          
        l_move_order_type       NUMBER := 1;
        l_transaction_mode      NUMBER := 1;
        l_trolin_tbl            INV_MOVE_ORDER_PUB.trolin_tbl_type;
        l_mold_tbl              INV_MO_LINE_DETAIL_UTIL.g_mmtt_tbl_type;
        x_mmtt_tbl              INV_MO_LINE_DETAIL_UTIL.g_mmtt_tbl_type;
        x_trolin_tbl            INV_MOVE_ORDER_PUB.trolin_tbl_type;
        l_transaction_date      DATE := SYSDATE;   

        -- WHO columns
        l_user_id NUMBER := -1;
l_resp_id NUMBER := -1;
        l_application_id NUMBER := -1;
        l_row_cnt NUMBER := 1;
        l_user_name VARCHAR2(30) := 'MFG';
        l_resp_name VARCHAR2(80) := 'Manufacturing and Distribution Manager';   

l_mo_line_id         NUMBER  := 0;

BEGIN

      -- Get the user_id
      SELECT user_id
      INTO l_user_id
      FROM fnd_user
      WHERE user_name = l_user_name;
    
      -- Get the application_id and responsibility_id
      SELECT application_id, responsibility_id
      INTO l_application_id, l_resp_id
      FROM fnd_responsibility_vl
      WHERE responsibility_name = l_resp_name;
    
      FND_GLOBAL.APPS_INITIALIZE(l_user_id, l_resp_id, l_application_id);  -- Mfg / Mfg Dist Mgr / INV
      dbms_output.put_line('Initialized applications context: '|| l_user_id || ' '|| l_resp_id ||' '|| l_application_id );
      
      l_trolin_tbl(1).line_id := l_mo_line_id;

       -- call API to create move order header
       DBMS_OUTPUT.PUT_LINE('=======================================================');
       DBMS_OUTPUT.PUT_LINE('Calling INV_Pick_Wave_Pick_Confirm_PUB.Pick_Confirm API');        

      INV_PICK_WAVE_PICK_CONFIRM_PUB.Pick_Confirm
      (
            p_api_version_number     => l_api_version
         p_init_msg_list      => l_init_msg_list
         p_commit      => l_commit
         x_return_status      => x_return_status
         x_msg_count      => x_msg_count
         x_msg_data      => x_msg_data
         p_move_order_type        => l_move_order_type
         p_transaction_mode      => l_transaction_mode
         p_trolin_tbl             => l_trolin_tbl
         p_mold_tbl      => l_mold_tbl
         x_mmtt_tbl           => x_mmtt_tbl
         x_trolin_tbl             => x_trolin_tbl
         p_transaction_date       => l_transaction_date
      );

       DBMS_OUTPUT.PUT_LINE('=======================================================');
       DBMS_OUTPUT.PUT_LINE('Return Status: '||x_return_status);

       IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
          DBMS_OUTPUT.PUT_LINE('Message count: '||x_msg_count||' Error Message :'||x_msg_data);

            IF ( x_msg_count > 1 ) THEN
                FOR i IN 1 .. x_msg_count LOOP
                    x_msg_data := fnd_msg_pub.get ( p_msg_index => i , p_encoded =>FND_API.G_FALSE ) ;
                    dbms_output.put_line ( 'message :' || x_msg_data);
                END LOOP;
           END IF;
       END IF;
       
      DBMS_OUTPUT.PUT_LINE('=======================================================');

EXCEPTION
        WHEN OTHERS THEN
          DBMS_OUTPUT.PUT_LINE('Exception Occured :');
          DBMS_OUTPUT.PUT_LINE(SQLCODE ||':'||SQLERRM);
          DBMS_OUTPUT.PUT_LINE('=======================================================');
END CUX_TRANSACT_MO_LINE_SAMPLE;

-- 刘轶鹤

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有