- 1、BP 一般数据 - BUT000
创建BP数据时,外部给号,需要校验是否已经存在。如果存在使用系统标准的partner_guid,
不存在的情况下使用方法类自动生成cl_system_uuid=>create_uuid_x16_static( )
-
data: CS_BPDATA TYPE CVIS_EI_EXTERN.
-
SELECT SINGLE partner_guid
-
INTO @DATA(lv_guid)
-
FROM but000
-
WHERE partner = @lv_partner.
-
IF sy-subrc NE 0 .
-
lv_guid = cl_system_uuid=>create_uuid_x16_static( ).
-
ENDIF.
-
cs_bpdata-partner-header-object_instance-bpartnerguid = lv_guid.
- 1
- 2、BP地址 - BUT020
BP地址数据维护(新建或修改)时,需要基本此表进行相关的判断
-
DATA:
-
ls_addr TYPE bus_ei_bupa_address.
-
SELECT SINGLE address_guid
-
INTO @DATA(lv_addrguid)
-
FROM but020
-
WHERE partner = @cs_bpdata-partner-header-object_instance-bpartner.
-
ls_addr-data_key-guid = lv_addrguid.
- 1
如果存在则获取原地址的addrguid,实现对应存在地址的更新
没有查询到地址数据的情况下,ls_addr-data_key-guid没有值,系统自动生成一个新的addrguid
- 3、BP 角色 - BUT100
存放BP数据对应的角色数据,常用角色如下:
客户角色:FLCU00 / FLCU01
供应商角色:FLVN00 / FLVN01
FLCU00角色中创建客户的公司代码数据
FLCU01角色中创建客户的销售和分销数据
一般通过如下代码校验客商的角色是否存在
-
data: ls_role TYPE bus_ei_bupa_roles,
-
CS_BPDATA TYPE CVIS_EI_EXTERN.
-
"检查角色是否已经存在
-
SELECT COUNT(*)
-
FROM but100
-
WHERE partner = is_data-partner
-
AND rltyp = 'FLVN00'.
-
IF sy-subrc NE 0.
-
CLEAR ls_role.
-
ls_role-task = 'I'.
-
"供应商(公司代码)
-
ls_role-data_key = cn_role_flvn00.
-
ls_role-data-valid_from = sy-datum.
-
ls_role-data-valid_to = '99991231'.
-
APPEND ls_role TO cs_bpdata-partner-central_data-role-roles.
-
ENDIF.
- 1
- 4、BP 银行明细 - BUT0BK
- 5、供应商公司视图 :LFB1
- 6、供应商采购视图:LFM1
- 7、客户公司视图 :KNB1
- 8、客户销售和分销视图:KNVV
- 9、BP销售和分销视图:销项税 - KNVI
BP 维护参数位置CVIS_EI_EXTERN -> CUSTOMER->CENTRAL_DATA->TAX_IND