php导入开票系统,AP发票数据导入接口开发实例(ap_invoices_interface)
数据库表:--CreatetableDROPTABLECUX.cux_ap_invoice_interface;createtableCUX.cux_ap_invoice_interface(OU_NAMEVARCHAR2(240),--组织invoice_typeVARCHAR2(2
数据库表:
-- Create table
DROP TABLE CUX.cux_ap_invoice_interface;
create table CUX.cux_ap_invoice_interface
(
OU_NAME
VARCHAR2(240), --组织
invoice_type
VARCHAR2(240), --发票类型
vendor_name
VARCHAR2(240), --供应商名称
site_name
VARCHAR2(240), --供应商地点
invoice_date
VARCHAR2(240), --发票日期
gl_date
VARCHAR2(240), --GL日期
invoice_num
VARCHAR2(240), --发票编号
currency_code
VARCHAR2(240), --发票币种
invoice_amount
VARCHAR2(240), --发票金额
exchange_rate_type
VARCHAR2(240), --汇率类型
exchange_rate
VARCHAR2(240), --汇率
pay_group
VARCHAR2(240), --支付组
pay_method
VARCHAR2(240), --付款方法
terms_date
VARCHAR2(240), --条件日期
terms_name
VARCHAR2(240), --条件
--ap_code_combination
varchar2(240), --应付账款帐户()
--header_att8
VARCHAR2(240), --头弹性8()
header_global_att19
VARCHAR2(240), --头弹性global_19
line_num
VARCHAR2(240), --行号
line_amount
VARCHAR2(240),
--行金额
project_name
VARCHAR2(240),
--采购项目号
expenditure_type
VARCHAR2(240),
--支出类型
expenditure_item_date
VARCHAR2(240),
--支出项日期
expenditure_organization VARCHAR2(240),
--支出组织
line_gl_date
VARCHAR2(240),
--行GL日期
dist_code_combination
VARCHAR2(240), --分配行账户
org_id
VARCHAR2(240),
vendor_id
VARCHAR2(240),
vendor_site_id
VARCHAR2(240),
dist_ccid
VARCHAR2(240),
ap_ccid
VARCHAR2(240),
project_id
VARCHAR2(240),
task_id
VARCHAR2(240),
is_success
VARCHAR2(1)
)
tablespace APPS_TS_TX_DATA;
验证程序:
-- ALTER SESSION SET NLS_LANGUAGE='SIMPLIFIED CHINESE';
/*
alter table cux.cux_ap_invoice_interface add org_id number;
alter table cux.cux_ap_invoice_interface add vendor_id number;
alter table cux.cux_ap_invoice_interface add vendor_site_id number;
alter table cux.cux_ap_invoice_interface add dist_ccid number;
alter table cux.cux_ap_invoice_interface add ap_ccid number;
alter table cux.cux_ap_invoice_interface add project_id number;
alter table cux.cux_ap_invoice_interface add task_id number;
*/
--1、导入数据
/*select * from CUX.cux_ap_invoice_interface for update*/
--2.为数据分配编号
/*DECLARE
CURSOR cur IS
SELECT ap.rowid, ap.*
FROM cux.cux_ap_invoice_interface ap;
l_num NUMBER := 0;
BEGIN
FOR i IN cur LOOP
l_num := l_num + 1;
UPDATE cux.cux_ap_invoice_interface ap
SET ap.row_id = l_num
WHERE ap.rowid = i.rowid;
END LOOP;
COMMIT;
END;
*/
--3.校验数据
DECLARE
CURSOR cur IS
SELECT *
FROM cux.cux_ap_invoice_interface;
l_count
NUMBER := 0;
l_org_id
NUMBER;
l_vendor_id
NUMBER;
l_vendor_site_id NUMBER;
l_dist_ccid
NUMBER;
l_ap_ccid
NUMBER;
l_project_id
NUMBER;
l_task_id
NUMBER;
l_flag
VARCHAR2(1);
BEGIN
FOR i IN cur LOOP
l_flag := 'T';
BEGIN
SELECT hou.organization_id
INTO l_org_id
FROM hr_operating_units hou
WHERE hou.name = i.ou_name;
EXCEPTION
WHEN OTHERS THEN
l_flag := 'F';
l_org_id := NULL;
dbms_output.put_line(i.row_id || 'OU不存在;');
END;
BEGIN
SELECT pv.vendor_id
INTO l_vendor_id
FROM po_vendors pv
WHERE pv.vendor_name = rtrim(i.vendor_name);
EXCEPTION
WHEN OTHERS THEN
l_flag
:= 'F';
l_vendor_id := NULL;
dbms_output.put_line(i.row_id || '供应商不存在;');
END;
BEGIN
/*SELECT max(pvs.vendor_site_id)
INTO l_vendor_site_id
FROM po_vendor_sites_all pvs, po_vendors pv
WHERE pv.vendor_name = rtrim(i.vendor_name)
AND pv.vendor_id = pvs.vendor_id
AND pvs.org_id = l_org_id;*/
SELECT pvs.vendor_site_id
INTO l_vendor_site_id
FROM po_vendor_sites_all pvs, po_vendors pv
WHERE pv.vendor_name = rtrim(i.vendor_name)
AND pv.vendor_id = pvs.vendor_id
AND pvs.org_id = l_org_id
AND pvs.vendor_site_code = i.site_name;
EXCEPTION
WHEN OTHERS THEN
l_flag
:= 'F';
l_vendor_site_id := NULL;
dbms_output.put_line(i.row_id || '供应商在该OU下不存在地点;');
END;
IF i.currency_code <> 'CNY' AND
(i.exchange_rate_type IS NULL OR i.exchange_rate IS NULL) THEN
l_flag := 'F';
dbms_output.put_line(i.row_id || '该外币发票没有汇率或者汇率类型;');
END IF;
BEGIN
SELECT gcc.code_combination_id
INTO l_dist_ccid
FROM gl_code_combinations_kfv gcc
WHERE gcc.concatenated_segments = i.dist_code_combination;
EXCEPTION
WHEN OTHERS THEN
l_flag
:= 'F';
l_dist_ccid := NULL;
dbms_output.put_line(i.row_id || '分配帐户不存在或不唯一;');
END;
/* IF i.ap_code_combination IS NOT NULL THEN
BEGIN
SELECT gcc.code_combination_id
INTO l_ap_ccid
FROM gl_code_combinations_kfv gcc
WHERE gcc.concatenated_segments = i.ap_code_combination;
EXCEPTION
WHEN OTHERS THEN
l_flag := 'F';
l_ap_ccid := NULL;
dbms_output.put_line(i.invoice_num || '负债帐户不存在或不唯一;');
END;
ELSE
l_ap_ccid := NULL;
END IF;*/
BEGIN
SELECT ppa.project_id
INTO l_project_id
FROM pa_projects_all ppa
WHERE ppa.segment1 = rtrim(i.project_name)
AND ppa.org_id = l_org_id;
EXCEPTION
WHEN OTHERS THEN
l_flag
:= 'F';
l_project_id := NULL;
dbms_output.put_line(i.row_id || '采购项目不存在或不唯一;');
END;
BEGIN
SELECT pt.task_id
INTO l_task_id
FROM pa_projects_all ppa, pa_tasks pt
WHERE ppa.segment1 = rtrim(i.project_name)
AND ppa.org_id = l_org_id
AND ppa.project_id = pt.project_id;
EXCEPTION
WHEN OTHERS THEN
l_flag := 'F';
l_task_id := NULL;
dbms_output.put_line(i.row_id || '采购项目对应的任务号不存在;');
END;
/*SELECT COUNT(1)
INTO l_count
FROM fnd_flex_values_vl ffvv, fnd_flex_value_sets ffvs
WHERE ffvv.flex_value_set_id = ffvs.flex_value_set_id
AND ffvs.flex_value_set_name = 'CUX_HR_PEOPLE_GRADE'
AND ffvv.flex_value = i.header_att8;
IF l_count < 1 THEN
l_flag := 'F';
dbms_output.put_line(i.invoice_num || '事业部板块信息错误;');
END IF;*/
IF l_flag = 'T' THEN
UPDATE cux.cux_ap_invoice_interface a
SET a.org_id
= l_org_id,
a.vendor_id
= l_vendor_id,
a.vendor_site_id = l_vendor_site_id,
a.dist_ccid
= l_dist_ccid,
a.ap_ccid
= l_ap_ccid,
a.project_id
= l_project_id,
a.task_id
= l_task_id,
a.is_success
= 'T'
WHERE a.row_id = i.row_id;
END IF;
END LOOP;
COMMIT;
END;
--4.导入数据
--5,运行请求:应付款管理系统开放接口导入
AP数据导入程序:
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
相关文章
相关视频
php导入开票系统,AP发票数据导入接口开发实例(ap_invoices_interface)相关推荐
- 如何将excel表格导入matlab,将Excel数据导入MATLAB中的方法
在使用MATLAB对矩阵进行数据处理时,为了方便编辑与修改,常常需要先将数据录入到Excel中,然后再将其导入到MATLAB中参与矩阵运算.那么下面小编教你怎么将Excel数据导入MATLAB中. 将 ...
- PHP支付宝微信个人免签即时到帐接口开发实例
PHP支付宝微信个人免签即时到帐接口开发实例,使用原生支付宝即时到帐接口修改而来,即可实现多接口收款功能,开发只需要按照支付宝即时到帐接口开发即可,减少开发难度 需要修改的文件:notify_url. ...
- 转:[Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!...
引言 项目中常用到将数据导入Excel,将Excel中的数据导入数据库的功能,曾经也查找过相关的内容,将曾经用过的方案总结一下. 方案一 NPOI NPOI 是 POI 项目的 .NET 版本.POI ...
- vb.net datagridview数据批量导入sql_导入:Java实现大批量数据导入导出(100W以上)
阅读文本大概需要3分钟. 来源:https://www.cnblogs.com/barrywxx/p/10700221.html 最近业务方有一个需求,需要一次导入超过100万数据到系统数据库.可能大 ...
- Excel百万数据导入oracle,excel表数据导入oracle的方法!(超级有用)
excel表导入oracle数据库的方法,这些方法也可以用于将其它格式的数据导入到oracle中,这里只是以excel为例.oracle9i以上.21村落‑i3?:L L4s9U#[z:u,U‑l方法 ...
- mysql 导入导出 优化_mysql数据导入导出与数据表优化
一.数据导入 mysqlimport -uroot oa d:/aa.txt --fields-terminated-by=, --fields-optionally-enclosed-by= --l ...
- mysql数据万能导入工具下载_mysql数据导入工具下载 - 数据导入工具(EMS Data Export for MySQL) v3.7.0多语特别版下载 - 第九软件网...
EMS Data Export for MySQL多语特别版是一款交叉平台的数据库导入工具,可以快速地从MS Excel 97-2007, MS Access, DBF, XML, TXT, CSV, ...
- mysql 导入dbm文件_DBM数据导入到mysql数据库方法
本文章分享一篇关于DBM数据导入到mysql数据库方法,有需要的同学可以参考一下本实例. 首先说明一下,我以前使用PERL,保存文件 用DBM,有5万多条记录,每条记录有15个字段.现在想用MYSQL ...
- navcat导入mysql bak_navcat excel数据导入mysql的方法
navcat excel数据导入mysql的方法 先navcat导出 xls格式 然后把数据复制到往这个xls里 (按照这个xls格式) 然后导入mysql就行了 如果导入的过程无法识别excel里的 ...
最新文章
- 活动总结丨企业参访:特斯联科技集团有限公司
- C++STL 常用 函数 用法
- 小工匠聊架构-超高并发秒杀系统设计 04_流量削峰设计
- 有个名字叫随便乱记——css3
- JfreeChart(八)之甘特图
- 成为Java流大师–第5部分:将联接的数据库表转换为流
- pycharm 无法import PIL
- Maven实现热部署需要的依赖
- 一汽大众汽车宣布召回19.1万辆国产奥迪A6L
- python数据结构与算法 pdf_『python核心编程pdf』数据结构与算法 Python语言描述
- 现代opengl 设计 assimp 3D 模型加载库
- 逆向分析学习入门教程
- FXP登录Linux报错
- 解决训练时显存不断增大问题
- 建设内链要注意的事项
- 阿里云的专业技术认证分为哪些?为啥要获得阿里云的ACP认证!
- 年度征文 | 回顾2022,展望2023(我难忘的2022,我憧憬的2023)
- 从northwind中查询Products中最高单价(UnitPrice)是多少;
- 使用新版FLIR (FLIR_ADAS_v2) 训练Faster RCNN模型
- 手机变速齿轮_变速齿轮神途官方版下载-变速齿轮神途手游官方版下载 v2.20190828-114手机乐园...