1.客户主数据
1.1 创建、修改客户主数据
*该函数更新所有字段,X表用来新增和修改,Y表为删除
  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
     kunnr_not_unique                    = 6
     sales_area_not_unique               = 7
     sales_area_not_valid                = 8
     insert_update_conflict              = 9
     number_assignment_error             = 10
     number_not_in_range                 = 11
     number_range_not_extern             = 12
     number_range_not_intern             = 13
     account_group_not_valid             = 14
     parnr_invalid                       = 15
     bank_address_invalid                = 16
     tax_data_not_valid                  = 17
     no_authority                        = 18
     company_code_not_unique             = 19
     dunning_data_not_valid              = 20
     knb1_reference_invalid              = 21
     cam_error                           = 22
     OTHERS                              = 23.

1.2 创建银行主数据
          CALL FUNCTION 'BAPI_BANK_CREATE'
          EXPORTING
            bank_ctry    = it_bank-banks
            bank_key     = it_bank-bankl
            bank_address = bankaddress
            i_xupdate    = 'X'.

1.3 删除、解除删除、冻结、解除冻结客户主数据
    CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL'
   EXPORTING
     i_kna1                              = is_kna1
     i_knb1                              = is_knb1
     i_knvv                              = is_knvv
     i_maintain_address_by_kna1          = 'X'
     pi_postflag                         = 'X'
     i_from_customermaster               = 'X'
   IMPORTING
     e_kunnr                             =  op_kunnr.

1.4 显示客户主数据,可直接查询表 kna1 ,knb1, knvv , knvp , knvk

2 显示客户信贷主数据
 CALL FUNCTION 'CREDIT_EXPOSURE'
    EXPORTING
      kkber                      = ip_kkber
      kunnr                      = ip_kunnr
      date_credit_exposure       = '99991231'
  IMPORTING
    creditlimit                = creditlimit
    sum_opens                  = sum_opens.

3 客户物料
3.1 创建、修改客户物料
 CALL FUNCTION 'ENQUEUE_EVKNMT'
   EXPORTING
     mode_knmt            = 'E'
     mandt                = sy-mandt
     vkorg                = is_zrfc_s_sd024-vkorg
     vtweg                = is_zrfc_s_sd024-vtweg
     kunnr                = is_zrfc_s_sd024-kunnr
*      MATNR                =
     x_vkorg              = ' '
     x_vtweg              = ' '
     x_kunnr              = ' '
     x_matnr              = ' '
     _scope               = '2'
     _wait                = ' '
     _collect             = ' '
   EXCEPTIONS
     foreign_lock         = 1
     system_failure       = 2
     OTHERS               = 3.

*在此添加必要的逻辑判断
   CALL FUNCTION 'RV_CUSTOMER_MATERIAL_UPDATE' IN UPDATE TASK
    TABLES
      xknmt_tab    = xknmt
      yknmt_tab    = yknmt
      tcatalog_tab = lt_catalog.

CALL FUNCTION 'DEQUEUE_EVKNMT'
    EXPORTING
      mode_knmt = 'E'
      mandt     = sy-mandt
      vkorg     = is_zrfc_s_sd024-vkorg
      vtweg     = is_zrfc_s_sd024-vtweg
      kunnr     = is_zrfc_s_sd024-kunnr
*     MATNR           =
      x_vkorg   = ' '
      x_vtweg   = ' '
      x_kunnr   = ' '
      x_matnr   = ' '
      _scope    = '3'
      _synchron = ' '
      _collect  = ' '.

3.2 显示客户物料,可直接查询表 knmt

4.订单价格条件
4.1 创建,修改条件记录,可使用BDC实现
4.2 显示条件记录,可直接查询表A305

5.销售订单
5.1创建销售订单
*凭证类型->凭证类别->对象类型  
SELECT SINGLE VBTYP INTO  VBTYP   FROM TVAK WHERE  AUART = IS_ZRFC_S_SD037-DOC_TYPE.
  CALL FUNCTION 'SD_OBJECT_TYPE_DETERMINE'
    EXPORTING
      I_DOCUMENT_TYPE   = VBTYP
    IMPORTING
      E_BUSINESS_OBJECT = OBJTYPE.

IF  OBJTYPE  =  'BUS2032'.
    CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
      EXPORTING
        ORDER_HEADER_IN      = ORDER_HEADER_IN
        ORDER_HEADER_INX     = ORDER_HEADER_INX
        LOGIC_SWITCH         = LOGIC_SWITCH
        TESTRUN              = ' '
        CONVERT              = ' '
      IMPORTING
        SALESDOCUMENT        = EP_VBELN
      TABLES
        RETURN               = ET_LOG
        ORDER_ITEMS_IN       = ORDER_ITEMS_IN
        ORDER_ITEMS_INX      = ORDER_ITEMS_INX
        ORDER_PARTNERS       = ORDER_PARTNERS
        ORDER_SCHEDULES_IN   = ORDER_SCHEDULES_IN
        ORDER_SCHEDULES_INX  = ORDER_SCHEDULES_INX
        ORDER_CONDITIONS_IN  = ORDER_CONDITIONS_IN
        ORDER_CONDITIONS_INX = ORDER_CONDITIONS_INX
        ORDER_TEXT           = IS_ORDER_TEXT.
  ELSE.
 fbgenmac 'BAPI_SALESORDER_CREATEFROMDAT2'.

* BAPIs run without dialog
  CALL FUNCTION 'DIALOG_SET_NO_DIALOG'.

* Set global Bapiflag for further background processing          "1112263
  CALL FUNCTION 'IBAPI_Z_SET_BAPI_FLAG'                     "1112263
    EXPORTING                                               "1112263
      iv_flag = 'X'.                                        "1112263

*ENHANCEMENT-SECTION     BAPI_SALESORDER_CREATEFROMD_02 SPOTS ES_SAPL2032.
  CALL FUNCTION 'SD_SALESDOCUMENT_CREATE'
    EXPORTING
      salesdocument           = salesdocumentin
      sales_header_in         = order_header_in
      sales_header_inx        = order_header_inx
      sender                  = sender
      binary_relationshiptype = binary_relationshiptype
      int_number_assignment   = int_number_assignment
      behave_when_error       = behave_when_error
      logic_switch            = logic_switch
      business_object         = business_object
      testrun                 = testrun
      convert_parvw_auart     = convert
    IMPORTING
      salesdocument_ex        = salesdocument
    TABLES
      return                  = return
      sales_items_in          = order_items_in
      sales_items_inx         = order_items_inx
      sales_partners          = order_partners
      sales_schedules_in      = order_schedules_in
      sales_schedules_inx     = order_schedules_inx
      sales_conditions_in     = order_conditions_in
      sales_conditions_inx    = order_conditions_inx
      sales_cfgs_ref          = order_cfgs_ref
      sales_cfgs_inst         = order_cfgs_inst
      sales_cfgs_part_of      = order_cfgs_part_of
      sales_cfgs_value        = order_cfgs_value
      sales_cfgs_blob         = order_cfgs_blob
      sales_cfgs_vk           = order_cfgs_vk
      sales_cfgs_refinst      = order_cfgs_refinst
      sales_ccard             = order_ccard
      sales_text              = order_text
      sales_keys              = order_keys
      extensionin             = extensionin
      partneraddresses        = partneraddresses.
*END-ENHANCEMENT-SECTION.

* reset the dialogflag
  CALL FUNCTION 'DIALOG_SET_WITH_DIALOG'.
ENDIF.

5.2 修改销售订单
   CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
    EXPORTING
      SALESDOCUMENT         = IS_ZRFC_S_SD042-VBELN
      ORDER_HEADER_IN       = ORDER_HEADER_IN
      ORDER_HEADER_INX      = ORDER_HEADER_INX
      LOGIC_SWITCH          = LOGIC_SWITCH
    TABLES
      RETURN                = ET_LOG
      ORDER_ITEM_IN         = ORDER_ITEM_IN
      ORDER_ITEM_INX        = ORDER_ITEM_INX
*      partners              = partners
      PARTNERCHANGES        = PARTNERCHANGES
      SCHEDULE_LINES        = SCHEDULE_LINES
      SCHEDULE_LINESX       = SCHEDULE_LINESX
      ORDER_TEXT            = IT_BAPISDTEXT
      CONDITIONS_IN         = CONDITIONS_IN
      CONDITIONS_INX        = CONDITIONS_INX.

5.3 显示销售订单
   CALL FUNCTION 'BAPISDORDER_GETDETAILEDLIST'
    EXPORTING
      I_BAPI_VIEW             = I_BAPI_VIEW
      I_MEMORY_READ           = SPACE
    TABLES
      SALES_DOCUMENTS         = IT_SALES_KEY
      ORDER_HEADERS_OUT       = ORDER_HEADERS_OUT
      ORDER_ITEMS_OUT         = ORDER_ITEMS_OUT
      ORDER_SCHEDULES_OUT     = ORDER_SCHEDULES_OUT
      ORDER_BUSINESS_OUT      = ORDER_BUSINESS_OUT
      ORDER_PARTNERS_OUT      = ORDER_PARTNERS_OUT
      ORDER_ADDRESS_OUT       = ORDER_ADDRESS_OUT
      ORDER_STATUSHEADERS_OUT = ORDER_STATUSHEADERS_OUT
      ORDER_STATUSITEMS_OUT   = ORDER_STATUSITEMS_OUT
      ORDER_CONDITIONS_OUT    = ORDER_CONDITIONS_OUT
      ORDER_COND_HEAD         = ORDER_COND_HEAD
      ORDER_COND_ITEM         = ORDER_COND_ITEM
      ORDER_COND_QTY_SCALE    = ORDER_COND_QTY_SCALE
      ORDER_COND_VAL_SCALE    = ORDER_COND_VAL_SCALE
      ORDER_CONTRACTS_OUT     = ORDER_CONTRACTS_OUT
      ORDER_TEXTHEADERS_OUT   = ORDER_TEXTHEADERS_OUT
      ORDER_TEXTLINES_OUT     = ORDER_TEXTLINES_OUT
      ORDER_FLOWS_OUT         = ORDER_FLOWS_OUT
      ORDER_BILLINGPLANS_OUT  = ORDER_BILLINGPLANS_OUT
      ORDER_BILLINGDATES_OUT  = ORDER_BILLINGDATES_OUT
      ORDER_CREDITCARDS_OUT   = ORDER_CREDITCARDS_OUT
      EXTENSIONOUT            = EXTENSIONOUT.

5.4 销售订单清单,可直接查询表VBAK,VBAP,VBUK,VBUK,VBEP,VBKD,KONV等

5.5 销售凭证审批(VKM1),可用EXPORT,IMPORT方法调用系统标准程序RVKRED01实现

5.5 销售订单在分配(VKM2,VKM3)
   CALL FUNCTION 'DIALOG_SET_NO_DIALOG'.
   CALL FUNCTION 'SD_ORDER_CREDIT_RECHECK'
     EXPORTING
       flg_update = 'X'
       vbeln      = it_zrfc_s_sd013-vbeln.

6 显示销售凭证流

CALL FUNCTION 'RV_ORDER_FLOW_INFORMATION'
  EXPORTING
*   AUFBEREITUNG        = '2'
*   BELEGTYP            = ' '
    COMWA               = COMWA
*   NACHFOLGER          = 'X'
*   N_STUFEN            = '50'
*   VORGAENGER          = 'X'
*   V_STUFEN            = '50'
* IMPORTING
*   BELEGTYP_BACK       = BELEGTYP_BACK
  TABLES
    VBFA_TAB            = VBFA_TAB
* EXCEPTIONS
*   NO_VBFA             = 1
*   NO_VBUK_FOUND       = 2.

7 销售雇员
7.1 创建、修改销售雇员
*可根据实际需求创建试图
    CALL FUNCTION 'BAPI_HRMASTER_SAVE_REPL_MULT'
    TABLES
      HR_OBJECT_HEADER              = HR_OBJECT_HEADER
      HR_INFOTYPE_HEADER            = HR_INFOTYPE_HEADER
      EMPLOYEE_PERSONNEL_ACTION     = EMPLOYEE_PERSONNEL_ACTION
      EMPLOYEE_ORG_ASSIGNMENT       = EMPLOYEE_ORG_ASSIGNMENT
      EMPLOYEE_PERSONAL_DATA        = EMPLOYEE_PERSONAL_DATA
      EMPLOYEE_SALES_ORG_ASSIGNMENT = EMPLOYEE_SALES_ORG_ASSIGNMENT
      EMPLOYEE_PRIVATE_ADDRESS      = EMPLOYEE_PRIVATE_ADDRESS
      EMPLOYEE_COMMUNICATIONS       = EMPLOYEE_COMMUNICATIONS
      EMPLOYEE_PAYROLL_STATUS       = EMPLOYEE_PAYROLL_STATUS
      RETURN                        = RETURN.

7.2 显示销售雇员,可直接查询表 PA0001 , PA0002 ,PA0900等

注:以上RFC为项目中实际使用,读者可根据实际情况调整参数即可使用,此贴为长时间积累所得,转载请注明出处!

参考:http://xingbo.com.blog.163.com/blog/static/767516320114101057428/

RFC总结-SD模块的更多相关文章

  1. SAP-SD-ABAP-VMOD 查找和应用SD模块用户出口(user exit) 好方法 .

    针对 SD 模块,有一个专门管理 user-exit 的开发包  VMOD , 只要用tcode: se80 查看它, 会发现绝大部分的 SD 要相关的 user-exit 都能在这找到.

  2. SAP ERP SD模块中维护销售人员

    SAP ERP SD模块中维护销售人员信息并分配销售组织   分类: SAPHCM用户指南   在SAP ERP系统,销售和分销(SD)模块中需要创建销售人员(Sales Personnels)消息, ...

  3. [转]SAP一句话入门SD模块

    SD是Sales and Distribution的简称.在SAP系统中,销售与分销模块处在供应链下游,关注从客户订单到向客户收款的全过程. SD模块中的Sales好理解,而Distribution却 ...

  4. 【SD系列】SAP SD模块-送达方和售达方的区别和联系

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP SD模块-送达方和售达方的区 ...

  5. 【SD系列】SAP SD模块-公司间销售简介

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP SD模块-公司间销售简介   ...

  6. 【SD系列】SAP SD模块-销售收入科目的配置

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP SD模块-销售收入科目的配置 ...

  7. 【SD系列】SAP SD模块-创建供应商主数据BAPI

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP SD模块-创建供应商主数据B ...

  8. SAP SD模块功能构成

  9. SAP销售模块塑工常见问题和解决方案(自己收藏)

    当创建订单时出现提示不存在该产品层次,如图: 解决方案:将该物料正确的产品层次提供给创建物料主数据的相关人员,将其改正. 对于包装膜类物料,在创建完销售订单进行后续的动作时,如开票,发现没有带出相应的 ...

随机推荐

  1. DE1-SOC开发板上搭建NIOS II处理器运行UCOS II

    DE1-SOC开发板上搭建NIOS II处理器运行UCOS II   今天在DE1-SOC的开发板上搭建NIOS II软核运行了UCOS II,整个开发过程比较繁琐,稍微有一步做的不对,就会导致整个过 ...

  2. php curl语句的用法

    system32文件夹下,修改php.ini文件,找到;extension= php_curl.dll行,去掉前面的;号,保存,重启服务器.在站点目录下建立一个PHP文件,内容如下 $ch = cur ...

  3. WordPress博客系统搜索引擎优化seo全攻略方法

    WordPress的文章.评论等很多数据都是存放在数据库的,所以搭建wordpress网站的时间,网站的空间不需要多大,而数据库一定要充足,而在WordPress数据库中主要使用 wp_posts 表 ...

  4. node-webkit 新建实例窗口间通信问题解决办法

    终于弄明白这问题了,只要在js文件里加上段代码,就可解决两窗口间通信问题. var str = { username: User.name, userrole: User.role }; var ne ...

  5. 《Head First设计模式》

    单件模式: 确保一个类只有一个实例,并提供一个全局访问点. 没有公开的构造函数,而采用一个公开的静态成员函数调用构造函数(使用该静态成员函数调用就是全局访问点,使用它可以在需要时才实例化对象),确保只 ...

  6. CSS3前缀自动补全方案和插件

    第一种方法:prefix free,js插件,大小2kb,直接导入,无需任何浏览器兼容前缀 <script src="prefixfree.min.js"></s ...

  7. http://www.bejson.com/go.html?u=http://www.bejson.com/demo2.html

    json 解析工具http://www.bejson.com/go.html?u=http://www.bejson.com/demo2.html

  8. 【转】Linus:利用二级指针删除单向链表

    原文作者:陈皓 原文链接:http://coolshell.cn/articles/8990.html 感谢网友full_of_bull投递此文(注:此文最初发表在这个这里,我对原文后半段修改了许多, ...

  9. libevent安装及使用

    一.安装libevent 官网:http://libevent.org/ 选择最新版本下载,我选择的是libevent-2.0.22-stable.tar.gz,然后安装README文件中描述的方法编 ...

  10. Jnotify文件监控的用法以及Jar文件导入的方法

    简介Jnotiy, 支持动态监控(支持级联监控)文件夹和文件的jar包.在linux中,调用linux底层的jnotify服务.在windows中,需要添加附件的dll文件. 因为通用的Maven仓库 ...