PL/SQL如何实现oracle ebs采购订单关闭

今天就跟大家聊聊有关PL/SQL如何实现oracle ebs采购订单关闭,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

应客户需求,需要写个脚本,批量关闭Bonus Item类型的采购订单,在metalink上搜索到一些方法,但是都测试不通。原来需要将代码生成一个并发程序。下面是测试成功的代码。

1.首先创建一个存储过程,然后在存储过程中调用PO_ACTIONS.CLOSE_PO
2.注册一个存储过程类型的并发程序
3.在application中测试结果。

CREATE OR REPLACE PROCEDURE xx_po_close
  (
    err_buff OUT VARCHAR2,
    retcode OUT NUMBER,
    p_reason_desc VARCHAR2,
    p_po_from VARCHAR2,
    p_po_to VARCHAR2)
AS
  l_return_code VARCHAR2(2000);
  l_result      BOOLEAN;
  CURSOR PO_CLOSE_CUR
  IS
     SELECT poh.segment1,
      poll.po_header_id ,
      poll.po_line_id   ,
      poll.line_location_id
       FROM po_line_locations_all poll,
      po_headers_all poh              ,
      po_lines_all pol
      WHERE poll.po_header_id          = poh.po_header_id
    AND poll.po_line_id                =pol.po_line_id
    AND pol.po_header_id               = poh.po_header_id
    AND upper(poh.authorization_status)='APPROVED'
    AND UPPER(poll.closed_code )='CLOSED FOR RECEIVING'
    AND (pol.unit_price                 =0 or poh.quantity_billed – poh.quantity >=0)
    AND poh.segment1 between p_po_from and p_po_to;
    
BEGIN
  FOR PO_CLOSE_REC IN PO_CLOSE_CUR
  LOOP
    l_result := po_actions.close_po(
    p_docid => PO_CLOSE_REC.po_header_id,
    p_doctyp => 'PO', 
    p_docsubtyp => 'STANDARD', 
    p_lineid => PO_CLOSE_REC.po_line_id, 
    p_shipid => PO_CLOSE_REC.line_location_id, 
    p_action => 'CLOSE', 
    p_reason => p_reason_desc, 
    p_calling_mode => 'PO', 
    p_conc_flag => 'N', 
    p_return_code => l_return_code, 
    p_auto_close => 'N', 
    p_action_date => SYSDATE, 
    p_origin_doc_id => NULL);
    
    IF l_result THEN
      FND_FILE.PUT_LINE( FND_FILE.OUTPUT,PO_CLOSE_REC.segment1 || ' is Closed. ');
    ELSE
      FND_FILE.PUT_LINE( FND_FILE.OUTPUT,PO_CLOSE_REC.segment1 || ' is not Closed. ');
    END IF;
    
  END LOOP;
END;

看完上述内容,你们对PL/SQL如何实现oracle ebs采购订单关闭有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/220343.html

(0)
上一篇 2022年1月2日
下一篇 2022年1月2日

相关推荐

发表回复

登录后才能评论