zoukankan      html  css  js  c++  java
  • Oracle EBS PO采购订单更新

    DECLARE
            l_result             NUMBER;
            l_progress             NUMBER;
            l_errors              PO_API_ERRORS_REC_TYPE;
            l_chg                 PO_CHANGES_REC_TYPE;
            l_shipment_changes          PO_SHIPMENTS_REC_TYPE;
            l_return_status       VARCHAR2(30);
    
         BEGIN
    
              fnd_global.apps_initialize(user_id => &user_id,-- This function execution is required before launching the approval work flow.
                                         resp_id => &responsibility_id,
                                         resp_appl_id => &resp_application_id);
    
            --to set org context in a R12 env
           mo_global.set_policy_context ('S', &org_id);
    
            -- Create an Object for Changes
            -- po_changes_rec_type constructor takes either po_header_id OR po_release_id to construct the object. 
            -- In case of purchase order pass po_release_id as NULL.
            
            l_chg := po_changes_rec_type.Create_object(p_po_header_id => <header id>, p_po_release_id => <release id>);
    
            -- Add a Line Changes to the Change Object
            l_chg.line_changes.add_change(p_po_line_id => <po line id>, p_quantity  => <value>);
    
            -- Add Shipment Changes to the Change Object
            l_chg.shipment_changes.add_change(p_po_line_location_id => <line location id>, p_quantity  => <value>);
    
            -- Add Distribution Level Changes
            l_chg.distribution_changes.add_change(p_po_distribution_id => <po distribution id>, p_quantity_ordered  => <value>);
    
    
            -- Now call the change api to execute the above changes
            PO_DOCUMENT_UPDATE_GRP.UPDATE_DOCUMENT(p_api_version => 1.0,-- pass this as 1.0
                                                   p_init_msg_list => fnd_api.G_TRUE,-- pass this as TRUE
                                                   x_return_status => l_return_status,-- returns the result of execution
                                                   p_changes => l_chg,-- changes obj. contains all changes intended to be made on document
                                                   p_run_submission_checks => fnd_api.G_FALSE,-- set to TRUE if want to perform submission check
                                                   p_launch_approvals_flag => fnd_api.G_TRUE,-- set to TRUE if want to launch approval work flow after making the changes
                                                   p_buyer_id => NULL,-- buyer id
                                                   p_update_source => NULL,    -- name of a source who is calling this API. In case of manual call can be passed as NULL
                                                   p_override_date => NULL, 
                                                   x_api_errors => l_errors,-- list of errors if any occurred in execution
                                                   p_mass_update_releases => NULL);    
                                                   
                                                    
            IF l_errors IS NOT NULL THEN
            
              FOR i IN 1.. l_errors.message_text.COUNT LOOP
                dbms_output.Put_line(' Error is ' || l_errors.Message_text(i) || ' - name' || l_errors.Message_name(i));
              END LOOP;
            END IF;
    
            COMMIT;
    
         EXCEPTION
         
           WHEN OTHERS THEN
              dbms_output.Put_line('error :' || sqlerrm);
    
         END;
    土豆君
  • 相关阅读:
    POJ 3009 Curling 2.0 简单DFS 好题
    POJ 3253 Fence Repair 贪心
    python_13 面向对象
    python_12 模块
    python练习题_04
    python_11 装饰器,闭包
    python练习题_03
    python_10 迭代器和生成器
    python_09 文件处理流程,文件操作方法
    python_08 函数式编程、高阶函数、map、filter、reduce函数、内置函数
  • 原文地址:https://www.cnblogs.com/jenrry/p/10006761.html
Copyright © 2011-2022 走看看