oracle ebs 采购订单关闭之PL/SQL实现方法
应客户需求,需要写个脚本,批量关闭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_
相关文档:
1 ,对于日期字段字段
access表示为:#1981-28-12#
SQLSERVER2000表示为:''1981-02-12''
2,SQL语句区别,select ,update 在对单表操作时都差不多,
但多表操作时update语句的区别ACCESS与SQLSERVER中的Update语句对比:
SQLSERVER中更新多表的Update语句:
Update Tab1
SET a.Name = b.Name
from Tab1 a,Tab2 b
Whe ......
http://www.umgr.com/blog/PostView.aspx?bpId=36294
1. 执行sql语句
int sqlite3_exec(sqlite3*, const char *sql, sqlite3_callbacksql 语法
, void *, char **errmsg );
这就是执行一条 sql 语句的函数。
第1个参数不再说了,是前面open函数得到的指针。说了是关键数据结构。
第2个参数const char ......
Oracle笔记
l 关于TRUNC函数
SELECT
RELATED_ID ,
DOC_ID ,
CAT_ID ,
CAT_CODE ,
RELEASE_DATE ,
&n ......
只是sqlserver 提供的远程数据访问函数; 在本地sqlserver 中取外部数据源数据时候可用;
对连接本地 oracle 操作远程 oracle 不能使用; 测试: pl/sql 中使用:
select * from openrowset(................); 无效!!!!!!!!!!!!!!
在oracle 中需要访问远程数据,需要建立一连接远程oracle 的 dblink ;
再用如下方 ......
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......