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. PHP高级架构技术年度大盘点

    2015年1月的最后一个周末,上海的冬季虽不如北方的雪窖冰天,但腊月的寒风也足以让人猫 在家中不愿出门.可是,在华美达酒店的一个会议室中,却人声鼎沸.春意融融,第三期商派技术沙龙正在火热进行,本期沙龙 ...

  2. 通过URl将服务器的图片下载到本地并压缩

    private void downloadServerPic(final String url1) { new Thread() { @Override public void run() { // ...

  3. Android 自定义ScrollView ListView 体验各种纵向滑动的需求

      分类: [android 进阶之路]2014-08-31 12:59 6190人阅读 评论(10) 收藏 举报 Android自定义ScrollView纵向拖动     转载请标明出处:http: ...

  4. 一个通用的DAO模型实现增删改查

    首先三个架包: mysql-connector-java-jar commons-dbcp-1.4jar commons-pool-1.5.5jar 导进去: (从上往下一次调用,实现功能) ---- ...

  5. 修改win7登录界面

    只需两步,教你将喜欢的图片在设置成开机画面.   第一步,打开注册表,Win+R->运行->Regedit.依次展开,HKEY_LOCAL_MACHINE\SOFTWARE\Microso ...

  6. SQLite不支持的SQL语法总结

    1 TOP 这是一个大家经常问到的问题,例如在SQLSERVER中可以使用如下语句来取得记录集中的前十条记录: SELECT TOP 10 * FROM [index] ORDER BY indexi ...

  7. Sqlite查询时间段内的数据问题解决!

    最近搞Sqlite本地查询,需求为查询某时间段内的数据,在SQL中我们都知道为: select * from tblName where rDate Between '2008-6-10' and   ...

  8. Python学习笔记-Day3-python关键字

    1.and 逻辑与 2.assert 判断某个条件是否为真,如果为假,抛出错误 3.break跳出for,while循环 4.class 类定义 5.continue 跳出本次循环,执行下次循环 6. ...

  9. oneThink安装出错解决

    在Wampserver3.0.0(apache2.4.17+php5.6.15+mysql5.7.9)版本中oneThink安装用1.1github版,不要用1.1开发版,不然安装的时候数据库导入时b ...

  10. CAShapeLayer

    之前讲过CALayer动画相关知识,再来看看更加复杂的CAShapeLayer相关的动画知识. 普通CALayer在被初始化时是需要给一个frame值的,这个frame值一般都与给定view的boun ...