• 采购订单关闭


    DECLARE
      -- Local variables here
      i                 INTEGER;
      l_return_status   VARCHAR2(10);
      p_retcode         VARCHAR2(2000);
      p_errbuf          VARCHAR2(2000);
      v_x_return_status VARCHAR2(250);
      v_x_exception_msg VARCHAR2(250);
    BEGIN
      -- Test statements here
    
      FOR rec IN (SELECT pha.org_id,
                         pha.segment1,
                         pha.po_header_id erp_header_id
                    FROM po_headers_all pha
                   WHERE 1 = 1
                     AND pha.org_id = 86
                     AND pha.segment1 LIKE 'CXY-%'
                     AND pha.created_by = 1150
                     AND pha.cancel_flag <> 'Y')
      LOOP
      
        apps.fnd_global.apps_initialize(user_id      => 1150, -- V_USER_ID,  
                                        resp_id      => 50758, --P_RESP_ID, 50757  50737  50758 
                                        resp_appl_id => 201);
        apps.mo_global.init('PO');
      
        --DBMS_OUTPUT.PUT_LINE(P_USER_ID || '*' || V_USER_ID || '*' ||P_RESP_ID);
        dbms_output.put_line('------' || rec.segment1 || '------');
        dbms_output.put_line(l_return_status);
        apps.po_document_control_pub.control_document(p_api_version      => 1.0, -- p_api_version
                                                      p_init_msg_list    => apps.fnd_api.g_true, -- p_init_msg_list
                                                      p_commit           => apps.fnd_api.g_true, -- p_commit
                                                      x_return_status    => l_return_status, -- x_return_status
                                                      p_doc_type         => 'PO', -- p_doc_type
                                                      p_doc_subtype      => 'STANDARD', -- p_doc_subtype
                                                      p_doc_id           => NULL, -- p_doc_id
                                                      p_doc_num          => rec.segment1, -- p_doc_num
                                                      p_release_id       => NULL, -- p_release_id
                                                      p_release_num      => NULL, -- p_release_num
                                                      p_doc_line_id      => NULL, -- p_doc_line_id
                                                      p_doc_line_num     => NULL, --REC.LINE_NUM, -- p_doc_line_num
                                                      p_doc_line_loc_id  => NULL, --rec.Line_Location_Id, -- p_doc_line_loc_id
                                                      p_doc_shipment_num => NULL, -- p_doc_shipment_num
                                                      p_action           => 'CANCEL', -- p_action
                                                      p_action_date      => SYSDATE, -- p_action_date
                                                      p_cancel_reason    => '期初数据导入错误', -- p_cancel_reason
                                                      p_cancel_reqs_flag => 'N', -- p_cancel_reqs_flag
                                                      p_print_flag       => NULL, -- p_print_flag
                                                      p_note_to_vendor   => NULL,
                                                      p_use_gldate       => NULL, -- <ENCUMBRANCE FPJ>
                                                      p_org_id           => rec.org_id); -- p_note_to_vendor
      
        -- Get any messages returned by the Cancel API
        COMMIT;
        FOR i IN 1 .. apps.fnd_msg_pub.count_msg
        LOOP
          dbms_output.put_line(apps.fnd_msg_pub.get(p_msg_index => i,
                                                    p_encoded   => 'F'));
        
          p_errbuf := apps.fnd_msg_pub.get(p_msg_index => i,
                                           p_encoded   => 'F');
        END LOOP;
        COMMIT;
        IF l_return_status = 'S' THEN
          BEGIN
            apps.po_document_action_pvt.do_approve(p_document_id      => rec.erp_header_id, --PO_HEADER_ID
                                                   p_document_type    => 'PO',
                                                   p_document_subtype => 'STANDARD',
                                                   p_note             => NULL,
                                                   p_approval_path_id => NULL,
                                                   x_return_status    => v_x_return_status,
                                                   x_exception_msg    => v_x_exception_msg);
            dbms_output.put_line('V_X_RETURN_STATUS:' || v_x_return_status);
            dbms_output.put_line('V_X_EXCEPTION_MSG:' || v_x_exception_msg);
            IF v_x_return_status = 'S' THEN
              COMMIT;
            ELSE
              ROLLBACK;
            END IF;
          
          END;
        
          dbms_output.put_line('Y');
          dbms_output.put_line('取消成功');
          COMMIT;
        
        ELSE
        
          dbms_output.put_line('E');
          dbms_output.put_line('取消失败:' || p_errbuf);
        
        END IF;
        COMMIT;
        ----update po_header
      ----更新头行的审批状态
      
      END LOOP;
    
    END;
    

  • 相关阅读:
    linux上配置apache实现二级域名访问目录
    C++数组的使用
    linux 上安装C++编译环境
    qt下qmake:提示could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory
    Qt4.8.5移植
    oracle使用已有vid快速新建虚拟机
    各种编程语言鸡汤网站
    linux下 git使用小记下
    CodeForces-650B Image Preview 二分+模拟
    HDU-6351 Beautiful Now 全排列暴力
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299228.html
Copyright © 2020-2023  润新知