- 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.
- 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.
如果存在则获取原地址的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.
- 4、BP 银行明细 – BUT0BK
- 5、供应商公司视图 :LFB1
- 6、供应商采购视图:LFM1
- 7、客户公司视图 :KNB1
- 8、客户销售和分销视图:KNVV
- 9、BP销售和分销视图:销项税 – KNVI
BP 维护参数位置CVIS_EI_EXTERN -> CUSTOMER->CENTRAL_DATA->TAX_IND
- 10、标识:税号 – DFKKBPTAXNUM
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/17907.html