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销售模块塑工常见问题和解决方案(自己收藏)
当创建订单时出现提示不存在该产品层次,如图: 解决方案:将该物料正确的产品层次提供给创建物料主数据的相关人员,将其改正. 对于包装膜类物料,在创建完销售订单进行后续的动作时,如开票,发现没有带出相应的 ...
随机推荐
- iOS抓包Charles 操作
今天就来看一下Mac上如何进行抓包,之前有一篇文章介绍了使用Fidder进行抓包 http://blog.csdn.net/jiangwei0910410003/article/details/198 ...
- 对Discuz的简单认识
Discuz是php的一个开源论坛系统,是由康盛创想公司2004开发,从Discuz! 1.0到 现在的Discuz X3,无论从功能上还是从用户体验上,都达到了一个质的飞越.主要包括论坛.门户.群组 ...
- ecshop编辑器fckeditor换百度ueditor编辑器教程
1.下载uediter编辑器,解压上传目录uediter到根目录/includes/下 2.修改admin/includes/lib_main.php /** * 生成编辑器 ...
- hdwiki 在IIS 下的伪静态
HDwiki有SEO设置的功能,此功能可以将HDwiki的页面进行URL静态化转换,从而使HDwiki内容更容易被搜索引擎挖掘,提高被收录的机率.注意事项 1.本功能对服务器环境有特殊要 ...
- java.lang.IllegalStateException异常简单分析和简单解决
我们在做文件上传或者下载,或者过滤等操作时,可能要用到页面的输出流. 例如在JSP使用: response.reset(); response.setContentType(”application/ ...
- E: Sub-process /usr/bin/dpkg returned an error code (1) 解决方案
转载自:http://www.cnblogs.com/eddy-he/archive/2012/06/20/2555918.html cd /var/lib/dpkg sudo mv info inf ...
- 2016年11月26日 星期六 --出埃及记 Exodus 20:17
2016年11月26日 星期六 --出埃及记 Exodus 20:17 "You shall not covet your neighbor's house. You shall not c ...
- [转]人人网首页拖拽上传详解(HTML5 Drag&Drop、FileReader API、formdata)
人人网首页拖拽上传详解(HTML5 Drag&Drop.FileReader API.formdata) 2011年12月11日 | 彬Go 上一篇:给力的 Google HTML5 训练营( ...
- Struts2的标签库(二)——OGNL表达式
Struts2的标签库(二) --OGNL表达式 1.Struts2中的OGNL表达式增加了ValueStack的支持. 注:ValueStack--实际上是一个容器对象,该对象在启动Struts2框 ...
- Python3基础 assert关键字 成功啥事没有,失败了就报错
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...