Contract在B2B
model中显得极为重要,从产品的显示,价格选择,到最后的支付等等,都跟Contract相关,Commerce中有关Contract的概念有
Business Account,Contract,Terms and Conditions,Participants等。
Business
Account代表着store和customer organization的关系,每个buyer
Organization拥有一个Business account,在account下可定义多个Contract,account中的内容主要包括:
1. Organization name,contact person name
2. 该Organization所属store的department和account representative,
3. purchase orders information
4. Invoice related info.
5. shipping method available
6. payment terms.
7. 该Organization的定制信息,可显示在store的页面上。
Contract
定义了organization在特定的时间段内以特定的价格购买特定的产品。当创建store的时候,系统就已经产生了个default
conract,这个Contract不属于Business
account,它适用于guest,unentitled和anon等没有customer
Contract的用户,当用户拥有多个Contract的时候,系统会比较,选出一个最适合用户的合同。 Contract主要包括:
1. Participants:Contract的受众,可以是buyer/seller organization,以及contacts。
2. Terms and conditions:定义了Contract的实现细节,像产品目录选择,产品的价格,shipping,billing,order approval等。
相关文章:
TERMCOND database table column mapping
Case Study: WebSphere Commerce contract modeling
Contract Data Model图:
整
个data model的核心是contract,account和trading三张表,contract和account和
trading是唯一性关系,contract和account是trading的一种,这个设计跟member的设计一样,在member data
model中,orgentity和user跟member也是唯一性关系。理解了这一点,整张图看起来就比较好理解了。
Trading表
trading是所有的trading agreement的集合,包括account,contract,还包括RFQ,Auction等等,所有的这些aggreement type定义在TRDTYPE表中。
trdattach,attachment,termcond, tcsubtype,participant,policytc表: 这些表都是跟trading aggreement相关的,所以都跟trading表有关联。
Account表
跟
account关联的表是member和store,member表示该account的owner,store表示该account是属于哪个
store。前面曾经提到过每个Organization都可建立一个Business
account,但要注意该Organization并不是acccount的owner,而只是一个participant,所有Business
account的owner其实都是所属store的owner。
以下是一个为ecom china创建的Business
account的片段,可以看到ecom china只是一个account holder,而真正的owner是ecom seller
organizationecom,该owner也就是store的owner。
<Participant role = "AccountHolder"
createTime = "2009-06-12T09:17:21" updateTime = "2009-06-12T09:17:21">
<ParticipantMember>
<OrganizationRef distinguishName = "o=ecom china,o=ecom buyer
organization,o=basics buyer organization,o=root organization"/>
</ParticipantMember>
</Participant>
<AccountUniqueKey name = "ecom China-10601">
<AccountOwner>
<OrganizationRef distinguishName = "ou=ecom seller
organizationecom,o=ecom seller organization,o=basics seller
organization,o=root organization"/>
</AccountOwner>
</AccountUniqueKey>
contract表
与contract相关的表有cntrstore,storecntr,catcntr,store.
在
创建一个store的时候,系统会创建一个usgae为‘reseller’的contract,这个contract是跟store本身相关的。
store表中CRTDBYCNTR_ID这个字段就指的是这个contract。该contract不是base
contract也不是default contract。
cntrstore表中存放的是用来创建store的xml信息和创建store的contract的id。
storecntr存放的是在该store中成功部署的contracts。
catcntr存放contract允许的catalog。
posted on 2009-09-01 14:29
Aaron.Chu 阅读(180)
评论(0) 编辑 收藏