http://blog.csdn.net/rfb0204421/article/details/7606008
R12 客户表结构
客户表/联系人/PARTY关联
HZ_PARTIES
客户账户表
HZ_CUST_ACCOUNTS
例子:
SELECT hp.party_number --客户注册标识
, hp.party_name --组织名/客户
, hp.known_as --别名
, hp.organization_name_phonetic --名称拼音
, acc.account_number --帐号
, flv_sale.meaning sales_channel_code --销售渠道
, acc.account_name --账记说明
, flv_customer.meaning customer_class_code --分类
, acc.orig_system_reference --参考
, flv_status.meaning status --状态
, flv_type.meaning customer_type --账户类型
, acc.attribute_category --上下文
, acc.attribute1 --注册
, acc.attribute2 --人员推广
, acc.attribute3 --特殊要求
, acc.Attribute4 --发货单是否打印价格
, acc.Attribute5 --所属利润
FROM hz_parties hp
, hz_cust_accounts acc
, fnd_lookup_values flv_sale --销售渠道
, fnd_lookup_values flv_customer --分类
, fnd_lookup_values flv_status --状态
, fnd_lookup_values flv_type --账户类型
WHERE hp.party_id = acc.party_id
AND acc.sales_channel_code = flv_sale.lookup_code
AND flv_sale.lookup_type = 'SALES_CHANNEL'
AND flv_sale.LANGUAGE = userenv('LANG')
AND acc.customer_class_code = flv_customer.lookup_code
AND flv_customer.lookup_type = 'CUSTOMER CLASS'
AND flv_customer.LANGUAGE = userenv('LANG')
AND acc.status = flv_status.lookup_code
AND flv_status.lookup_type = 'HZ_CPUI_REGISTRY_STATUS'
AND flv_status.LANGUAGE = userenv('LANG')
AND acc.customer_type = flv_type.lookup_code
AND flv_type.lookup_type = 'CUSTOMER_TYPE'
AND flv_type.LANGUAGE = userenv('LANG')
AND hp.party_id = hz_parties.party_id;
帐户配置文件
HZ_CUSTOMER_PROFILES
字段
cust_account_role_id --oe_order_headers.sold_to_contract_id
cust_account_id
site_use_id --客户头的该字段为空
--客户地点层为hz_cust_site_uses_all.site_use_id
配置文件金额
HZ_CUST_PROFILE_AMTS --客户头层/客户地点层
关联:hz_customer_profiles.cust_account_profile_id
客户联系人
HZ_CUST_ACCOUNT_ROLES --客户头层/地点层
cust_account_id
cust_acct_site_id --头层该字段为空
party_id --类型为 PARTY_RELATIONSHIP 的 PARTY_ID
role_type --CONTACT
以头层的联系人为例
SELECT hp_per.*
FROM hz_cust_account_roles rol
, hz_parties hp_rel
, hz_relationships rel
, hz_parties hp_per
WHERE rol.party_id = hp_rel.party_id
AND hp_rel.party_id = rel.party_id
AND rel.object_type = 'PERSON'
AND rel.relationship_code = 'CONTACT'
AND rel.object_id = hp_per.party_id
AND rol.cust_acct_site_id IS NULL --头层
AND rol.cust_account_id = hz_cust_accounts.cust_account_id;
联系方式
HZ_CONTACT_POINTS
字段
owner_table_name HZ_PARTIES/HZ_PARTY_SITES
owner_table_id PARTY_ID/PARTY_SITE_ID
客户地点层的联系方式,直接用party_site_id 关联 owner_table_id 即可
客户头层的联系方式,要用 HZ_RELATIONSHIPS 表转换一下,与 hz_relationships.party_id 关联
客户联系人下面的联系方式,要用HZ_CUST_ACCOUNT_ROLES的PARTY_ID关联owner_table_id
例子:
客户头层
SELECT con.*
FROM hz_parties hp
, hz_relationships rel
, hz_contact_points con
WHERE hp.party_id = rel.subject_id
AND rel.subject_type = 'ORGANIZATION'
AND rel.party_id = con.owner_table_id
AND con.owner_table_name = 'HZ_PARTIES'
AND hp.party_id = hz_parties.party_id;
客户地点层
SELECT *
FROM hz_contact_points con
WHERE con.owner_table_id = hz_party_sites.party_site_id;
客户联系人下的联系方式
SELECT *
FROM hz_contact_points c
WHERE c.owner_table_id = hz_cust_account_roles.party_id
客户的税
HZ_CODE_ASSIGNMENTS 会计分类/客户头层/地点层
字段
OWNER_TABLE_NAME 关联表名/'ZX_PARTY_TAX_PROFILE'
OWNER_TABLE_ID 关联表主键/PARTY_TAX_PROFILE_ID
CLASS_CODE 会计分类代码
ZX_PARTY_TAX_PROFILE 供应商的税的配置文件
字段
PARTY_TYPE_CODE 类型 THIRD_PARTY/THIRD_PARTY_SITE
PARTY_ID 关联表 HZ_PARTIES/HZ_PARTY_SITES
头层: PARTY_TYPE_CODE = 'THIRD_PARTY'
AND PARTY_ID = HZ_PARTIES.PARTY_ID
地点层: PARTY_TYPE_CODE = 'THIRD_PARTY_SITE'
AND PARTY_ID = HZ_PARTY_SITES.PARTY_SITE_ID
REP_REGISTRATION_NUMBER 纳税登记编号
PARTY_TAX_PROFILE_ID 主键
HZ_CLASS_CODE_DENORM 会计分类描述
ZX_EXEMPTIONS 客户免税/ 客户头层/地点层
字段
PARTY_TAX_PROFILE_ID 关联 ZX_PARTY_TAX_PROFILE.PARTY_TAX_PROFILE_ID
客户地点
HZ_PARTY_SITES
地点地址
HZ_LOCATIONS
客户地点帐户表
HZ_CUST_ACCT_SITES_ALL
客户地点业务目的
HZ_CUST_SITE_USES_ALL
滞纳费用
HZ_CUSTOMER_PROFILES
由销售订单分析客户结构
SELECT h.sold_from_org_id --业务实体/ORG ID
, h.sold_to_org_id --客户
, h.ship_from_org_id --发货仓库
, h.ship_to_org_id --收货方
, h.invoice_to_org_id
, h.sold_to_contact_id
FROM oe_order_headers_all h ;
--业务实体
SELECT org.NAME
FROM hr_organization_units org
WHERE org.organization_id = oe_order_headers_all.sold_from_org_id;
--客户
SELECT hz.party_name
FROM hz_cust_accounts acc
, hz_parties hz
WHERE acc.party_id = hz.party_id
AND acc.cust_account_id = oe_order_headers_all.sold_to_org_id;
--发货仓库
SELECT para.Organization_Code,para.*
FROM mtl_parameters para
WHERE para.organization_id = oe_order_headers_all.ship_from_org_id;
SELECT *
FROM org_organization_definitions org
WHERE org.organization_id = oe_order_headers_all.ship_from_org_id;
--地点详细信息
SELECT loc.*
FROM hz_parties hp
, hz_party_sites hps
, hz_locations loc
WHERE hp.party_id = hps.party_id
AND hps.location_id = loc.location_id
AND hp.party_id = 5042;
--业务目的
SELECT hp.party_name --客户
, hp.party_number --注册表标识
, uses.site_use_code
, acnt.account_number --账号
, flv.meaning businesspurpose --业务目的
, uses.location --地点
, acnt.account_name --帐户说明
, decode(loc.address1,NULL,loc.address1,loc.address1 || ',') ||
decode(loc.city,NULL,loc.city,loc.city || ',') ||
decode(loc.state,NULL,loc.state,loc.state || ',') ||
decode(loc.postal_code,NULL,' ',loc.postal_code) address --地点地址
, hps.party_site_number --地点说明
, uses.payment_term_id --付款条件
, site.cust_acct_site_id
, acnt.cust_account_id
, uses.site_use_id
FROM hz_parties hp
, hz_cust_accounts acnt
, hz_cust_acct_sites_all site
, hz_cust_site_uses_all uses
, hz_party_sites hps
, hz_locations loc
, fnd_lookup_values flv
WHERE hp.party_id = acnt.party_id
AND acnt.cust_account_id = site.cust_account_id
AND site.cust_acct_site_id = uses.cust_acct_site_id
AND hps.party_site_id = site.party_site_id
AND loc.location_id = hps.location_id
AND uses.site_use_code = flv.lookup_code
AND flv.lookup_type = 'SITE_USE_CODE'
AND flv.LANGUAGE = userenv('LANG')
AND hp.party_id = 5042
AND hps.party_site_id = 3023;
--联系人电话/地点层
SELECT phone.phone_number
FROM hz_contact_points phone
WHERE phone.owner_table_name = 'HZ_PARTY_SITES'
AND phone.owner_table_id = :hz_party_sites.party_sites_id
--联系人/地点层
SELECT hpsub.party_name
FROM hz_cust_account_roles hcar
, hz_relationships hr
, hz_parties hpsub
WHERE hcar.party_id = hr.party_id
AND hr.subject_id = hpsub.party_id
AND hcar.role_type = 'CONTACT'
AND hr.directional_flag = 'F'
AND hcar.cust_account_role_id = e_order_headers_all.sold_to_contact_id
AND hpsub.status = 'A';