RFC总结-SD模块
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模块的更多相关文章
- SAP-SD-ABAP-VMOD 查找和应用SD模块用户出口(user exit) 好方法 .
针对 SD 模块,有一个专门管理 user-exit 的开发包 VMOD , 只要用tcode: se80 查看它, 会发现绝大部分的 SD 要相关的 user-exit 都能在这找到.
- SAP ERP SD模块中维护销售人员
SAP ERP SD模块中维护销售人员信息并分配销售组织 分类: SAPHCM用户指南 在SAP ERP系统,销售和分销(SD)模块中需要创建销售人员(Sales Personnels)消息, ...
- [转]SAP一句话入门SD模块
SD是Sales and Distribution的简称.在SAP系统中,销售与分销模块处在供应链下游,关注从客户订单到向客户收款的全过程. SD模块中的Sales好理解,而Distribution却 ...
- 【SD系列】SAP SD模块-送达方和售达方的区别和联系
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP SD模块-送达方和售达方的区 ...
- 【SD系列】SAP SD模块-公司间销售简介
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP SD模块-公司间销售简介 ...
- 【SD系列】SAP SD模块-销售收入科目的配置
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP SD模块-销售收入科目的配置 ...
- 【SD系列】SAP SD模块-创建供应商主数据BAPI
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP SD模块-创建供应商主数据B ...
- SAP SD模块功能构成
- SAP销售模块塑工常见问题和解决方案(自己收藏)
当创建订单时出现提示不存在该产品层次,如图: 解决方案:将该物料正确的产品层次提供给创建物料主数据的相关人员,将其改正. 对于包装膜类物料,在创建完销售订单进行后续的动作时,如开票,发现没有带出相应的 ...
随机推荐
- zepto.js + iscroll.js上拉加载 下拉加载的 移动端 新闻列表页面
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...
- C# winform 中MessageBox用法大全(附效果图) (转载+说明)
声明:这篇文章是转载的转载的,由于原作者的博客被关闭 我就不再列出了,提前先说明下,if语句中的判断有些太长,建议提前声明一个变量, DialogResult MsgBoxResult; ...
- App store 如何使用 promo code | app store 打不开精品推荐和排行榜
1. app store 如何使用 promo code: 在app store的 右下角精品推荐标签页,拉到最下面 点击“兑换” ,跳转到新的页面,输入兑换码,然后右上角“兑换”,程序开始自动下载并 ...
- android 6.0权限处理
在模拟器测试好的程序,运行在mate8上面一直崩,经多方查探才找到以下博文,方法还没掌握,但也算是找到原因了: http://***/article/android-6-0-runtime-permi ...
- 利用Selenium自动化web测试
简介: Selenium 是一个没有正式指导手册的开源项目,这让测试人员的问题调查很费时间.本文为基于 Selenium 1.0(发布于 2009 年 6 月)的测试期间的常见问题提供最佳实践. 简介 ...
- Capturing Audio & Video in HTML5
使用HTML5抓取 Audio & Video 原文地址: http://www.html5rocks.com/en/tutorials/getusermedia/intro/ 本地化的文章: ...
- Design T-Shirt 分类: HDU 2015-06-26 11:58 7人阅读 评论(0) 收藏
Design T-Shirt Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- 安装nginx python uwsgi环境 以及模拟测试
uwsgi帮助文档: http://uwsgi-docs-cn.readthedocs.io/zh_CN/latest/WSGIquickstart.html http://uwsgi-docs.re ...
- grails的layouts模板页面使用
使用方式1: layouts文件夹下新建文件,名称和Controller名称相同,例如UserController,layouts下面创建user.gsp,此时,user站点下所有的页面都将套用 us ...
- Java对象克隆(Clone)及Cloneable接口、Serializable接口的深入探讨
Java对象克隆(Clone)及Cloneable接口.Serializable接口的深入探讨 Part I 没啥好说的,直接开始Part II吧. Part II 谈到了对象的克隆,就不得不说为什么 ...