SD:BAPI Create Customer

47 篇文章 0 订阅
22 篇文章 0 订阅

自开发了一个简单的CRM系统,所有挖据到可能客户都存放在客户池中,有望成交的

客户业务员可以从客户池自动创建成潜在客户.生成简单的客户主数据,以客户ID为主键,从而有效记录与客户的沟通 。

" 节选出创建客户部份代码,方便以后查询备用.

 

data: op_kunnr like ZCRME00101-kunnr,  
  1.       is_kna1 type kna1 ,  
  2.       is_knb1 type knb1,  
  3.       is_knvv type knvv,  
  4.       it_knvp type  table of FKNVP  ,  
  5.       wa_knvp like line of it_knvp.  
  6.   
  7. clear:is_kna1,is_knb1,is_knvv,it_knvp,wa_knvp .  
  8.   
  9. "填充值  
  10.   
  11. if wa_ZCRME00101-LAND1 = ' '.  
  12.    message '请先选择填写客户的国家代码!' type 'I'.  
  13.    exit.  
  14. endif.  
  15.   
  16. is_kna1-LAND1 = wa_ZCRME00101-LAND1. " 'CN'.  "国家  
  17.   
  18. if wa_ZCRME00101-LAND1 = 'CN'.  
  19.    is_kna1-SPRAS = '1'.    "语言 (1.ZH, E.EN)  
  20. else.  
  21.    is_kna1-SPRAS = 'E'.    "语言 (1.ZH, E.EN)  
  22. endif.  
  23.   
  24.   
  25. is_kna1-NAME1 = wa_ZCRME00101-GSMC.    "公司名称  
  26. is_kna1-STRAS = '城市'.  "城市  
  27.   
  28. is_kna1-KTOKD = 'Z002'.  "客户账户组(Z002:潜在客户)  
  29.   
  30.   
  31. is_knb1-BUKRS = '1000'.    "公司代码(保持不变)  
  32. is_knb1-AKONT = '0'.  
  33.   
  34.   
  35. if wa_ZCRME00101-LAND1 = 'CN'.  
  36.    is_knvv-VKORG = '1010'.    "销售组织(按国家选择,下同)  
  37. else.  
  38.    is_knvv-VKORG = '1020'.    "销售组织(按国家选择,下同)  
  39. endif.  
  40.   
  41. is_knvv-VTWEG = '10'.  
  42. is_knvv-SPART = '10'.  
  43.   
  44. if wa_ZCRME00101-LAND1 = 'CN'.  
  45.    wa_knvp-VKORG = '1010'.  
  46. else.  
  47.    wa_knvp-VKORG = '1020'.  
  48. endif.  
  49.   
  50. wa_knvp-VTWEG = '10'.  
  51. wa_knvp-SPART = '10'.  
  52.   
  53. is_knvv-AWAHR = '100'.  "固定不变  
  54.   
  55.   
  56.   
  57. wa_knvp-PARVW = 'ZM'.  
  58.   
  59.   
  60. wa_knvp-PERNR = wa_ZCRME00101-GYGH . "工号  
  61.   
  62. append wa_knvp to  it_knvp.  
  63.   
  64.   
  65.   
  66.   
  67.   
  68.   
  69.   
  70. CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL'  
  71.   EXPORTING  
  72.     i_kna1                     = is_kna1  
  73.     i_knb1                     = is_knb1  
  74.     i_knvv                     = is_knvv  
  75.     "i_bapiaddr1                = is_bapiaddr1  
  76.     "i_maintain_address_by_kna1 = 'X'  
  77.     pi_postflag                = 'X'  
  78.     "i_from_customermaster      = 'X'  
  79.   IMPORTING  
  80.     e_kunnr                    = op_kunnr  
  81.   TABLES  
  82.     "t_xknbk                    = it_bank_new  
  83.     "t_xknvi                    = it_knvi  
  84.     t_xknvp                    = it_knvp  
  85.     "t_xknvk                    = it_knvk  
  86.     "t_yknbk                    = it_yknbk  
  87.     "t_yknvi                    = it_yknvi  
  88.     "t_yknvp                    = it_yknvp  
  89.     "t_yknvk                    = it_yknvk  
  90.   EXCEPTIONS  
  91.     client_error               = 1  
  92.     kna1_incomplete            = 2  
  93.     knb1_incomplete            = 3  
  94.     knb5_incomplete            = 4  
  95.     knvv_incomplete            = 5  
  96.     OTHERS                     = 23.  
  97.   
  98.   
  99.     if sy-subrc = 0 .  
  100.         wa_ZCRME00101-kunnr = op_kunnr .  
  101.         modify I_ZCRME00101 INDEX e_row-index from wa_ZCRME00101 TRANSPORTING KUNNR .  
  102.   
  103.         perform  UpdateWaToDb_100 .  
  104.         call method grid11->refresh_table_display.  
  105.     endif.  
      data: op_kunnr like ZCRME00101-kunnr,
            is_kna1 type kna1 ,
            is_knb1 type knb1,
            is_knvv type knvv,
            it_knvp type  table of FKNVP  ,
            wa_knvp like line of it_knvp.

      clear:is_kna1,is_knb1,is_knvv,it_knvp,wa_knvp .

      "填充值

      if wa_ZCRME00101-LAND1 = ' '.
         message '请先选择填写客户的国家代码!' type 'I'.
         exit.
      endif.

      is_kna1-LAND1 = wa_ZCRME00101-LAND1. " 'CN'.  "国家

      if wa_ZCRME00101-LAND1 = 'CN'.
         is_kna1-SPRAS = '1'.    "语言 (1.ZH, E.EN)
      else.
         is_kna1-SPRAS = 'E'.    "语言 (1.ZH, E.EN)
      endif.


      is_kna1-NAME1 = wa_ZCRME00101-GSMC.    "公司名称
      is_kna1-STRAS = '城市'.  "城市

      is_kna1-KTOKD = 'Z002'.  "客户账户组(Z002:潜在客户)


      is_knb1-BUKRS = '1000'.    "公司代码(保持不变)
      is_knb1-AKONT = '0'.


      if wa_ZCRME00101-LAND1 = 'CN'.
         is_knvv-VKORG = '1010'.    "销售组织(按国家选择,下同)
      else.
         is_knvv-VKORG = '1020'.    "销售组织(按国家选择,下同)
      endif.

      is_knvv-VTWEG = '10'.
      is_knvv-SPART = '10'.

      if wa_ZCRME00101-LAND1 = 'CN'.
         wa_knvp-VKORG = '1010'.
      else.
         wa_knvp-VKORG = '1020'.
      endif.

      wa_knvp-VTWEG = '10'.
      wa_knvp-SPART = '10'.

      is_knvv-AWAHR = '100'.  "固定不变

 

      wa_knvp-PARVW = 'ZM'.


      wa_knvp-PERNR = wa_ZCRME00101-GYGH . "工号

      append wa_knvp to  it_knvp.

 

 

 

      CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL'
        EXPORTING
          i_kna1                     = is_kna1
          i_knb1                     = is_knb1
          i_knvv                     = is_knvv
          "i_bapiaddr1                = is_bapiaddr1
          "i_maintain_address_by_kna1 = 'X'
          pi_postflag                = 'X'
          "i_from_customermaster      = 'X'
        IMPORTING
          e_kunnr                    = op_kunnr
        TABLES
          "t_xknbk                    = it_bank_new
          "t_xknvi                    = it_knvi
          t_xknvp                    = it_knvp
          "t_xknvk                    = it_knvk
          "t_yknbk                    = it_yknbk
          "t_yknvi                    = it_yknvi
          "t_yknvp                    = it_yknvp
          "t_yknvk                    = it_yknvk
        EXCEPTIONS
          client_error               = 1
          kna1_incomplete            = 2
          knb1_incomplete            = 3
          knb5_incomplete            = 4
          knvv_incomplete            = 5
          OTHERS                     = 23.


          if sy-subrc = 0 .
              wa_ZCRME00101-kunnr = op_kunnr .
              modify I_ZCRME00101 INDEX e_row-index from wa_ZCRME00101 TRANSPORTING KUNNR .

              perform  UpdateWaToDb_100 .
              call method grid11->refresh_table_display.
          endif.


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值