CRM创建物料FM2
这是在佛山好帮手时受启发而研究出来的,创建物料,带单位,类型组
经测试。。。。算了,不说了,有什么限制自己测去。。。今天心情不好。。。
FUNCTION ZLY_CREATE_PRODUCT_UNIT.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" REFERENCE(IN_PRODUCT_ID) TYPE COMT_PRODUCT_ID
*" REFERENCE(IN_PRODUCT_TYPE) TYPE COMT_PRODUCT_TYPE DEFAULT '01'
*" REFERENCE(IN_SHORT_TEXT) TYPE COMT_PRSHTEXTX DEFAULT
*" 'CRM CREATE PRODUCT'
*" REFERENCE(IN_CATEGORY_ID) TYPE COMT_CATEGORY_ID DEFAULT
*" 'MAT_ROH'
*" EXPORTING
*" REFERENCE(RT_RETURN) TYPE BAPIRET2_TAB
*"----------------------------------------------------------------------
*--> Structures
DATA : ls_product TYPE comt_product_mat_maintain_api,
ls_comt_prod TYPE comt_product_maintain_api,
ls_prod TYPE comt_product,
ls_prod_categ2 TYPE comt_prod_cat_rel,
ls_srv_maintain TYPE comt_prod_mat_maintain_api,
ls_pr_unit TYPE comt_pr_unit_maintain,
ls_unit TYPE comt_pr_unit,
ls_shtext TYPE comt_pr_shtext_maintain,
ls_text TYPE comt_prshtext,
ls_ret_prod TYPE comt_product_mat_maintain_api,
ls_return TYPE bapiret2.
*--> Internal Tables
**----------------------------------------------------------------------
*----------
DATA : lt_product TYPE comt_product_mat_maintain_apit,
lt_ret_prod TYPE comt_product_mat_maintain_apit,
lt_prod_categ TYPE comt_prod_cat_rel_maintain_tab,
lt_pr_unit TYPE comt_pr_unit_maintain_tab,
lt_shtext_maint TYPE comt_pr_shtext_maintain_tab.
*-->logsys get
DATA iv_logsys TYPE TBDLS-LOGSYS.
CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'
IMPORTING
OWN_LOGICAL_SYSTEM = iv_logsys
EXCEPTIONS
OWN_LOGICAL_SYSTEM_NOT_DEFINED = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
ENDIF.
**--> Maintain Category relevant data
DATA:ls_category TYPE comm_category .
CLEAR ls_prod_categ2.
SELECT SINGLE * FROM comm_category INTO ls_category WHERE category_id = IN_CATEGORY_ID." 'ZMNFG'.
ls_prod_categ2-category_id = ls_category-category_id.
ls_prod_categ2-category_guid = ls_category-category_guid.
ls_prod_categ2-logsys = iv_logsys.
APPEND ls_prod_categ2 TO lt_prod_categ.
**--> Maintain Product-general data
ls_prod-product_id = in_product_id.
ls_prod-product_type = in_product_type.
ls_prod-client = sy-mandt.
ls_prod-logsys = iv_logsys.
MOVE ls_prod TO ls_comt_prod-com_product.
MOVE lt_prod_categ TO ls_comt_prod-categories.
**--> Maintain Units of measure data
* LOOP AT it_unit INTO ls_unit.
* ls_unit-logsys = iv_logsys.
* MOVE ls_unit TO ls_pr_unit-data.
* APPEND ls_pr_unit TO lt_pr_unit.
* ENDLOOP.
ls_unit-unit = 'PC'.
ls_unit-numerator = '1'.
ls_unit-denominator = '1'.
ls_unit-is_base_unit = 'X'.
ls_unit-logsys = iv_logsys.
MOVE ls_unit TO ls_pr_unit-data.
APPEND ls_pr_unit TO lt_pr_unit.
MOVE lt_pr_unit TO ls_srv_maintain-comm_pr_unit.
MOVE ls_srv_maintain TO ls_product-data.
**--> Maintain Short texts
ls_text-langu = sy-langu.
ls_text-short_text = in_short_text.
ls_text-logsys = iv_logsys.
MOVE ls_text TO ls_shtext-data.
APPEND ls_shtext TO lt_shtext_maint.
MOVE lt_shtext_maint TO ls_comt_prod-short_texts.
MOVE ls_comt_prod TO ls_product-header.
APPEND ls_product TO lt_product.
**--> Create Product
CALL FUNCTION 'COM_PRODUCT_MAT_MAINT_MULT_API'
EXPORTING
it_product = lt_product
iv_check_only = ' '
iv_suppress_inactive = ' '
iv_activate_inactive_products = ' '
iv_application = ' '
IMPORTING
et_product = lt_ret_prod
et_bapireturn = rt_return
EXCEPTIONS
internal_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
CALL FUNCTION 'BALW_BAPIRETURN_GET2'
EXPORTING
type = 'E'
cl = sy-msgid
number = sy-msgno
IMPORTING
return = ls_return.
APPEND ls_return TO rt_return.
CLEAR ls_return.
ENDIF.
**--> Save Product
DATA : lv_product_id TYPE symsgv.
CALL FUNCTION 'COM_PRODUCT_SAVE_API'
EXPORTING
iv_update_task = 'X'
EXCEPTIONS
internal_error = 1
save_not_allowed = 2
OTHERS = 3.
IF sy-subrc <> 0.
** MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
** WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
* lv_product_id = in_product_id.
* CALL FUNCTION 'BALW_BAPIRETURN_GET2'
* EXPORTING
* type = 'E'
* cl = gc_msg_class
* number = '002'
* par1 = lv_product_id
* IMPORTING
* return = ls_return.
* APPEND ls_return TO xt_return.
* CLEAR ls_return.
ENDIF.
**--> Commit transaction
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
IMPORTING
return = ls_return.
IF ls_return IS NOT INITIAL.
APPEND ls_return TO rt_return.
ENDIF.
**--> Refresh buffer
CALL FUNCTION 'COM_PRODUCT_FREE_API'.
ENDFUNCTION.
CRM创建物料FM2的更多相关文章
- CRM创建物料FM1
这是在中联混凝土那边搞的.... method create_prd. data: lt_return type bapiret2_tab, ls_return like line o ...
- SAP 创建物料主数据分类视图特性
1.CL01创建物料分类 2.去CT04中去创建特性值 创建完成之后保存, 3.创建物料的分类视图,选择相应的特性值
- SAP MM01 创建物料主数据 [关注公众号后回复MM01获取更多资料]
操作内容 物料主数据,适用于所有有物料编码物料相关信息的系统维护 业务流程 新项目设计冻结后—M公司 PD用-物料编码申请表D-BOM Material Number Application部门内部 ...
- crm创建报告补充导航
报告导航实现动态交互体验报告. 通过使用各种类型的操作的,报告允许用户导航到特定的报告.Microsoft Dynamics CRM 记录或其它网站 动态钻取到 Microsoft Dynamics ...
- crm创建和编辑全局选项集
一个选项集就是可包含在一个实体中的某种类型的字段.它定义一组选项.当一个选项集显示在窗口中时,将使用下拉列表控件.当在 Advanced Find 中显示时,则使用选择列表控件.有时,开发者将选项集称 ...
- CRM创建BP(END USER)
FUNCTION ZCRM_BP_CRT. *"---------------------------------------------------------------------- ...
- crm创建启用停用用户
public static readonly string entityName = "systemuser"; public Guid userId = Guid ...
- crm创建基于fetch自己的自定义报告
在解决方案资源管理器,右键点击"报表"目录.然后点击"增加了新的报告". 打开"报表向导". 在"欢迎来到报表向导"前, ...
- SAP 设置屏幕字段的隐藏、显示、必填和可选,以设置物料组为例
1.事务码MM01,把物料组设为选填字段. 2.找到物料组的屏幕字段. 3.在后台根据屏幕字段找到对应字段组.后台路径:后勤-常规—物料主数据—字段选择—给字段组分配字段.点击后面的箭头进入下一屏幕. ...
随机推荐
- Linux系统下如何配置SSH?如何开启SSH
查询\安装SSH服务 1.登陆linux系统,打开终端命令.输入 rpm -qa |grep ssh 查找当前系统是否已经安装 2.如果没有安装SSH软件包,可以通过yum 或rpm安装包进行安装( ...
- genome MuSic安装
系统:ubuntu 15.04全程在root权限下安装 首先安装软件samtools ,必须是samtools-0.1.19 版本tar jxf samtools-0.1.19.tar.bz2cd s ...
- [SAP ABAP开发技术总结]字段符号FIELD-SYMBOLS
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- CUBRID学习笔记 1 简介 cubrid教程
CUBRID 是一个全面开源,且完全免费的关系数据库管理系统.CUBRID为高效执行Web应用进行了高度优化,特别是需要处理大数据量和高并发请求的复杂商务服务.通过提供独特的最优化特性,CUBRID可 ...
- web服务器安装配置
学习目标 javaweb概念和web资源分类 服务器的分类和常用服务器apache说明 tomcat 服务器目录结构介绍和工程发布 虚拟主机说明和配置 1.Web的概念 1.1.JavaWeb的概念 ...
- 利用ajax.dll类库文件实现无刷新
使用这种方法前需要配置相应的环境 1.引用ajax.dll文件 2.在web.config添加如下: <httpHandlers> <add path="ajax/*. ...
- Java 14 类型信息
14 类型信息 运行是识别对象和类的信息 两种方式RTTI 假定编译时已经知道所有的类型反射 运行时发现和使用类的信息 1 RTTI //多态 创建一个具体的对象(Circle Square Tria ...
- Ubuntu系统下面软件安装更新命令
在ubuntu服务器下安装包的时候,经常会用到sudo apt-get install 包名 或 sudo pip install 包名,那么两者有什么区别呢? 1.区别 pip用来安装来自PyPI( ...
- openfire消息通知推送
package cn.zsmy.utils.openfire; import java.io.BufferedReader; import java.io.InputStreamReader; imp ...
- 三大平衡树(Treap + Splay + SBT)总结+模板[转]
Treap树 核心是 利用随机数的二叉排序树的各种操作复杂度平均为O(lgn) Treap模板: #include <cstdio> #include <cstring> #i ...