S4 HANA BP 相关表及其对应BP业务操作(一般视图、公司视图、采购视图、销售分销视图)

45 篇文章 9 订阅
  • 1、BP 一般数据 - BUT000

创建BP数据时,外部给号,需要校验是否已经存在。如果存在使用系统标准的partner_guid,

不存在的情况下使用方法类自动生成cl_system_uuid=>create_uuid_x16_static( )


   
   
  1. data: CS_BPDATA TYPE CVIS_EI_EXTERN.
  2. SELECT SINGLE partner_guid
  3. INTO @DATA(lv_guid)
  4. FROM but000
  5. WHERE partner = @lv_partner.
  6. IF sy-subrc NE 0 .
  7. lv_guid = cl_system_uuid=>create_uuid_x16_static( ).
  8. ENDIF.
  9. cs_bpdata-partner-header-object_instance-bpartnerguid = lv_guid.

 

  • 2、BP地址 - BUT020

BP地址数据维护(新建或修改)时,需要基本此表进行相关的判断


   
   
  1. DATA:
  2. ls_addr TYPE bus_ei_bupa_address.
  3. SELECT SINGLE address_guid
  4. INTO @DATA(lv_addrguid)
  5. FROM but020
  6. WHERE partner = @cs_bpdata-partner-header-object_instance-bpartner.
  7. ls_addr-data_key-guid = lv_addrguid.

如果存在则获取原地址的addrguid,实现对应存在地址的更新

没有查询到地址数据的情况下,ls_addr-data_key-guid没有值,系统自动生成一个新的addrguid

 

  • 3、BP 角色 - BUT100

存放BP数据对应的角色数据,常用角色如下:

客户角色:FLCU00 / FLCU01    

供应商角色:FLVN00 / FLVN01

FLCU00角色中创建客户的公司代码数据

FLCU01角色中创建客户的销售和分销数据

一般通过如下代码校验客商的角色是否存在


   
   
  1. data: ls_role TYPE bus_ei_bupa_roles,
  2. CS_BPDATA TYPE CVIS_EI_EXTERN.
  3. "检查角色是否已经存在
  4. SELECT COUNT(*)
  5. FROM but100
  6. WHERE partner = is_data-partner
  7. AND rltyp = 'FLVN00'.
  8. IF sy-subrc NE 0.
  9. CLEAR ls_role.
  10. ls_role-task = 'I'.
  11. "供应商(公司代码)
  12. ls_role-data_key = cn_role_flvn00.
  13. ls_role-data-valid_from = sy-datum.
  14. ls_role-data-valid_to = '99991231'.
  15. APPEND ls_role TO cs_bpdata-partner-central_data-role-roles.
  16. 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个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值