zoukankan      html  css  js  c++  java
  • Oracle EBS INV 挑库发放物料搬运单

    create or replace PROCEDURE XX_TRANSACT_MO_LINE  
    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 XX_TRANSACT_MO_LINE;
    

      

    土豆君
  • 相关阅读:
    [学习记录]Prometheus简单上手
    [学习记录]从triggerflow源码中学到的简单思想
    42 | 实战:大型全球化电商的测试基础架构设计
    41 | 从小工到专家:聊聊测试执行环境的架构设计(下)
    40 | 从小工到专家:聊聊测试执行环境的架构设计(上)
    39 | 从小作坊到工厂:什么是Selenium Grid?如何搭建Selenium Grid?
    python之jsonpath
    38 | 测试数据的“银弹”- 统一测试数据平台(下)
    Python replace()方法
    37 | 测试数据的“银弹”- 统一测试数据平台(上)
  • 原文地址:https://www.cnblogs.com/jenrry/p/10020833.html
Copyright © 2011-2022 走看看