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

发布时间:2021-12-18 16:11:45 作者:柒染
来源:亿速云 阅读:304

今天就跟大家聊聊有关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采购订单关闭有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

推荐阅读:
  1. 链接器中——链接脚本
  2. mysql定时删除过期数据记录方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

pl sql oracle

上一篇:怎么快速上手Python

下一篇:如何进行springboot配置templates直接访问的实现

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》