ORCALE财务接口WebService XML参数规格说明Word格式.docx
《ORCALE财务接口WebService XML参数规格说明Word格式.docx》由会员分享,可在线阅读,更多相关《ORCALE财务接口WebService XML参数规格说明Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
"
string
sys
="
CRM"
//固定的系统参数
stringmod="
QUERY_COMPANY"
//这是
CRM中要执行的参数,需要授权才可执行QUERY_COMPANY
stringxml="
<
Root>
TERRITORY>
/TERRITORY>
/Root>
//xml格式自行商定
//只执行,不返回数据集;
boolisSuccessed=ws.OracleExecuteFacade(sys,mod,xml,outerr);
//返回false则表示不成功;
err是相应的错误文字说明
//返回数据集的方法
DataSetds=ws.OracleGetDataFacade(sys,mod,xml,outerr);
//返回结果集DataSet;
Response.Write(err);
接口概述:
ORACLE提供给CRM的接口分有编辑和查询两个。
编辑的接口用于在ORACLE系统中生成如客户等的业务数据。
查询接口用于从ORACLE系统中获取数据。
●编辑接口
参数说明:
1.系统参数,字符串类型。
用于表明外部系统的类型。
对于CRM系统,须指定该参数为“CRM”。
2.用户名参数,字符串类型。
用于提供给外部系统访问WEBSERVICE的权限。
现阶段的用户名为:
CRM_SysUser。
3.密码参数,字符串类型。
现阶段的密码为:
CoastalCRM。
4.模式参数,字符串类型。
用于指定某一次的接口调用是使用该接口的哪种功能。
其可能的值由ORACLE项目组根据功能需求进行定义,并和接口一同提供。
例如CRM在签约过后需要在ORACLE中形成客户,则指定该参数为“CREATE_CUSTOMER”。
5.数据参数,XML格式。
用于CRM向ORACLE提供业务数据,如创建ORACLE客户需要的客户姓名,合同编号等。
各种业务所需的业务数据的具体格式后边集中介绍。
6.出错信息,字符串类型。
用于ORACLE返回该接口的执行结果和状态。
信息组成为:
“出错代码->
出错信息”。
出错代码可能为“E”或“W”,分别表示关键性错误或警告,如果返回“E”则外部系统的流程不可继续,如果返回“W”外部系统流程可继续,但在ORACLE中要做出相应处理。
●查询接口
对于CRM系统,须指定该参数为“CRM”。
2.用户名参数,字符串类型。
例如CRM项目初始化的时候从ORACLE中取得公司代码和名称,则指定该参数为“QUERY_COMPANY”。
用于CRM向ORACLE提供业务数据,如取得公司代码和名称时需要知道需要返回的公司表的范围。
对于查询接口来说,该参数没有关键意义。
7.返回数据集:
在.NET中声明为DATASET类型。
查询接口中涉及各业务所对应的模式参数,XML数据参数格式以及返回数据集说明:
●查询公司及公司代码
模式参数:
“QUERY_COMPANY”
XML数据参数格式:
<
YDCRM<
返回数据集:
公司代码(COMPANY_CODEVARCHAR2(150)),
公司名称(COMPANY_NAMEVARCHAR2(240))
注:
TERRITORY用于标示公司所属区域,改参数如果为空则不返回任何公司。
该参数应指定常数值“YDCRM”。
CRM系统应保存COMPANY_CODE以便以后回传给ORACLE。
●查询项目代码和名称
“QUERY_PROJECT”
PARENT_PROJECT_CODE>
0008<
/PARENT_PROJECT_CODE>
项目代码(PROJECT_CODEVARCHAR2(150)),
项目名称(PROJECT_NAMEVARCHAR2(240))
如果传入父级编码为空则不返回任何项目。
CRM系统应保存PROJECT_CODE以便以后回传给ORACLE。
●查询收款银行
“QUERY_BANK_ACCOUNT”
COMPANY_CODE>
/COMPANY_CODE>
银行帐号(BANK_ACCOUNTVARCHAR2(30))
COMPANY_CODE用于表示银行帐号所属公司,如果该参数为空,则不返回任何银行帐号。
●查询业态
“QUERY_BUILDING_TYPE”
无需xml参数
业态组合代码(BUILDING_TYPE_CODEVARCHAR2(150)),
业态组合名称(BUILDING_TYPE_NAMEVARCHAR2(240))
业态在ORACLE中不分层级,直接返回ORACLE系统中所有的业态组合代码,组合的格式为(大类.中类.小类)。
CRM系统应保存BUILDING_TYPE_CODE以便以后回传给ORACLE。
编辑接口中涉及各业务所对应得模式参数,XML数据参数格式说明:
●新增客户
“CREATE_CUSTOMER”,用于对于签约环节的合同审核。
0005<
PROJECT_CODE>
00050101<
/PROJECT_CODE>
FIN_APPROVER>
ZG00001<
/FIN_APPROVER>
Detail>
Item>
EDIT_MODE>
CREATE<
/EDIT_MODE>
CUSTOMER_NAME>
张三<
/CUSTOMER_NAME>
ROOM_NUM>
东莞丽水家园三期5栋401<
/ROOM_NUM>
BUILDING_TYPE>
01.01.01<
/BUILDING_TYPE>
HOUSE_TYPE>
五房三厅<
/HOUSE_TYPE>
CONTRACT_NUM>
AB00001<
/CONTRACT_NUM>
CONTRACT_DATE>
2007-08-08<
/CONTRACT_DATE>
CONTRACT_AREA>
100<
/CONTRACT_AREA>
CONTRACT_AMOUNT>
/CONTRACT_AMOUNT>
/Item>
/Detail>
1.头信息(<
)里包括:
公司代码,项目代码,财务审核人。
如果一次审核多个客户的合同,则在行信息(<
)上分多条信息列出。
2.新增参数EDIT_MODE来区分是新合同审核产生新的客户,还是重新审核修改过的合同信息以更新已有客户信息。
该参数不可为空。
●
更新客户
00080101<
UPDATE<
ORIG_CONTRACT_NUM>
AB00002<
/ORIG_CONTRACT_NUM>
ORIG_CONTRACT_AMOUNT>
/ORIG_CONTRACT_AMOUNT>
DIFF_DATE>
2007-10-10<
/DIFF_DATE>
DIFF_AREA>
5<
/DIFF_AREA>
DIFF_AMOUNT>
10000<
/DIFF_AMOUNT>
GL_DATE>
/GL_DATE>
面积补差环节会更新客户的合同金额和合同面积,也使用该方式。
3.增加面积补差时间,面积,金额三个信息点。
在做面积补差审核时需要传递。
4.增加信息点ORIG_CONTRACT_NUM。
因为由于合同金额变化等原因导致合同号变化,在重新审核该合同时,需要更新ORACLE系统中包括合同号在内的一些客户信息。
该信息点记录更改前的合同号,是ORACLE系统查找更该前合同号对应的客户信息的依据。
5.增加信息点原合同金额。
在传递变化的合同信息时。
如果合同金额发生了变化,需要CRM传递上一次审核导入ORACLE的合同金额。
ORACLE会校验此金额是否等于ORACLE系统中该客户的原合同金额。
如果两者相等才会以此计算新旧合同金额的差额,进而选择不同的帐务处理方式。
如果合同金额没有发生变化,该信息点的值等于等于CONTRACT_AMOUNT的值。
建议CRM在合同上记录最后一次传递到ORACLE的合同金额。
6.因更新客户信息的同时,可能需要进行财务的帐务处理,所以需要有该合同的审核日期(接口的审核日期)。
各种款项的收,退,以及结转收入
“CREATE_FIN_TRANSACTION”。
ROOT>
TRANSACTION_BATCH>
BATCH_NUM>
20080805_001<
/BATCH_NUM>
TRAN_HANDLER>
李四<
/TRAN_HANDLER>
TRAN_DATE>
2008-04-10<
/TRAN_DATE>
...
TRANSACTION_DETAIL>
TRAN_LINE_NUM>
1<
/TRAN_LINE_NUM>
TRANSFER_FLAG>
Y<
/TRANSFER_FLAG>
CHANGE_BILL_FLAG>
N<
/CHANGE_BILL_FLAG>
5栋201<
...
/TRANSACTION_DETAIL>
BANK_DETAIL>
BANK_LINE_NUM>
/BANK_LINE_NUM>
CUSTOMER_BANK>
/CUSTOMER_BANK>
POS_FLAG>
/POS_FLAG>
POS_NUM>
/POS_NUM>
/BANK_DETAIL>
/TRANSACTION_BATCH>
/ROOT>
1.各种款项的收,退,以及结转收入采用相似的XML格式。
以上格式是它们相同的部分。
它们之间的区别在于特定的款项的TRANSACTION_DETAIL和BANK_DETAIL的内容会各有所不同,而结转收入不会有BANK_DETAIL。
各业务具体格式见后文作具体说明。
2.TRANSACTION_DETAIL对应财务款项审核界面中的“批次列表详情”,BANK_DETAIL对应“本次实际收款”。
3.TRAN_LINE_NUM为各批次中明细的序号,BANK_LINE_NUM为各批次实际收款明细的序号。
4.增加信息点TRANSFER_FLAG用于标识一笔业务明细是否是转款。
如果是转款,则其值为“Y”,如果是一般的收退款,则其值为“N”。
即一次转款生成的一正一负两条业务都应该标识为“Y”。
5.因为将来可能实际跨客户和房间的转款,同一批次中可能有针对多个客户的业务。
所以把CUSTOMER_NAME和ROOM_NUM放到节点TRANSACTION_DETAIL中。
6.增加信息点POS_FLAG,用于判断银付方式是否是POS机收款。
如果是POS机刷卡则该标识为“Y”,如果是其他的方式则为“N”。
7.增加信息点CHANGE_BILL_FLAG用于标识一笔业务明细是否是换票业务。
因为换票业务在财务上的处理方式完全不同于其他收退款和转帐业务。
8.新增CUSTOMER_BANK,记录POS机刷卡业务中客户所使用银行卡的所在银行。
该银行信息在CRM和ORACLE中分别独立维护,但需要确认数据同步。
9.新增POS_NUM,记录POS机刷卡业务中产生的POS机单号。
10.因为业务上需要在做款项审核时,能对一个公司下的多个项目进行一次审核,且以此传递到ORACLE系统。
故需要对各种款项的收退款接口做一点调整。
需要将以前的<
节点下的<
,放到<
节点下。
诚意金收款
TRANSACTION_CLASS>
RECEIPT<
/TRANSACTION_CLASS>
<
ORIG_BATCH_NUM>
20080804_010<
/ORIG_BATCH_NUM>
ORIG_TRAN_LINE_NUM>
2<
/ORIG_TRAN_LINE_NUM>
RECEIPT_CLASS>
A.A<
/RECEIPT_CLASS>
RECEIPT_TYPE>
诚意金<
/RECEIPT_TYPE>
BILL_TYPE>
发票<
/BILL_TYPE>
BILL_NUM>
999999<
/BILL_NUM>
RECEIPT_AMOUNT>
1000<
/RECEIPT_AMOUNT>
招商银行<
123456<
BANK_ACCOUNT>
现金<
/BANK_ACCOUNT>
BANK_AMOUNT>
300<
/BANK_AMOUNT>
农行地王支行CNY_003180<
700<
注:
1.因换票业务,产生的新的收款,在财务系统中不需要做新收款项处理,而是更新之前收款的票据类型和票据编号.所以需要在传递换票产生的新的收款时增加信息点ORIG_BATCH_NUM和ORIG_TRAN_LINE_NUM来标识原收款的批次号和行号.
2.经过对换票业务的讨论。
确定同一批次中不会有多次换票的动作。
所以在传递换票产生的正收款时,不需要传递原收款明细的批次号(ORIG_BATCH_NUM)和行号(ORIG_TRAN_LINE_NUM)。
诚意金退款
RETURN<
ORIG_RECEIPT_CLASS>
A<
/ORIG_RECEIPT_CLASS>
ORIG_RECEIPT_TYPE>
/ORIG_RECEIPT_TYPE>
ORIG_BILL_TYPE>
/ORIG_BILL_TYPE>
ORIG_BILL_NUM>
/ORIG_BILL_NUM>
RETURN_BILL_NUM>
/RETURN_BILL_NUM>
RETURN_AMOUNT>
-1000<
/RETURN_AMOUNT>
1.如为退款则TRANSACTION_AMOUNT和BANK_AMOUNT应小于0。
定金收款
/GL_D