In ERP we can create new material type by copying from existing one using tcode OMS2:
This new type could be downloaded into CRM system via customizing download. A product category with prefix MAT_ will be automatically created.
And here below is source code to create new product category using MAT_ as parent category by ABAP code.
METHOD replicate_category.
CONSTANTS:
BEGIN OF gc_application,
sales TYPE comt_application VALUE '01', "r3-produkthier
purchasing TYPE comt_application VALUE '02', "r3 mat class
product TYPE comt_application VALUE '03', "r3 mat types
config TYPE comt_application VALUE '04',
internet TYPE comt_application VALUE '05',
END OF gc_application.
CONSTANTS:
BEGIN OF gc_product_type,
material TYPE comt_product_type VALUE '01',
service TYPE comt_product_type VALUE '02',
finance TYPE comt_product_type VALUE '03',
ip_prod TYPE comt_product_type VALUE '04',
warranty TYPE comt_product_type VALUE '05',
tradeitem TYPE comt_product_type VALUE '06',
fs_prod TYPE comt_product_type VALUE '07',
END OF gc_product_type.
rv_success = abap_false.
DATA: lv_hierarchy_guid TYPE comt_hierarchy_guid,
lv_parent_guid TYPE comt_category_guid,
lt_categoryt TYPE comt_categoryt_tab.
* Prerequisite: the corresponding hierarchy is already downloaded from ERP
* Read the hierarchy which is assigned to application 03
* (product type material) in transaction COMM_PRAPPLCAT
CALL FUNCTION 'COM_HIERARCHY_READ_WITH_APPL'
EXPORTING
iv_application = gc_application-product
iv_product_type = gc_product_type-material
IMPORTING
ev_hierarchy_guid = lv_hierarchy_guid
EXCEPTIONS
not_found = 1
OTHERS = 2.
CHECK sy-subrc = 0.
DATA(ls_cat_text) = VALUE comt_categoryt( langu = sy-langu category_text = iv_text
text_upper_case = iv_text ).
TRANSLATE ls_cat_text-text_upper_case TO UPPER CASE.
APPEND ls_cat_text TO lt_categoryt.
select single category_guid into lv_parent_guid FROM comm_category
where category_id = 'MAT_'.
CALL FUNCTION 'COM_PRODCAT_API_CREATE_CAT'
EXPORTING
iv_category_id = iv_cat_id
iv_hierarchy_guid = lv_hierarchy_guid
iv_parent_guid = lv_parent_guid
iv_product_type = gc_product_type-material
it_categoryt = lt_categoryt
iv_logsys = iv_log_sys " 'QI3CLNT502'
iv_non_assignable = abap_false
EXCEPTIONS
hierarchy_not_maintained = 1
wrong_call = 2
category_id_exists = 3
id_scheme_error = 4
error = 5
OTHERS = 6.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE 'X' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
RETURN.
ENDIF.
CALL FUNCTION 'COM_PRODUCT_CATEGORY_SAVE_ALL'
EXPORTING
iv_update_task = ' '
iv_update_pme = ' '
iv_hierarchy_guid = lv_hierarchy_guid
EXCEPTIONS
internal_error = 1
OTHERS = 2.
ASSERT sy-subrc = 0.
COMMIT WORK AND WAIT.
rv_success = abap_true.
ENDMETHOD.
Method signature:
How to use this code
Run method in SE24, specify new product category id via parameter iv_cat_id:
Execute method, ensure ev_success equals to abap_true.
Once created, the category could be searched via tcode COMM_HIERARCHY:
And the category could be used to create new product in WebUI:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关推荐
SAP ABAP 代码备份下载到本地程序代码
SAP ABAP Query 是 SAP 系统中一种用于创建自定义报表的强大工具,尤其适合那些对 SQL 不太熟悉或者没有数据库直接访问权限的用户。它提供了丰富的功能,使得开发人员可以构建复杂的数据查询,而无需编写大量的 ABAP...
在实际应用中,SAP ABAP的开发者可能会使用SE80交易码来访问和编辑代码,或者通过ABAP Development Tools(ADT),这是一个基于Eclipse的现代开发环境,提供了更直观的界面和更强大的代码编辑、调试功能。...
根据提供的文件内容,我们可以提取以下关于SAP HANA和ABAP编程的知识点。 首先,文件标题“HA400 ABAP Programming on SAP HANA.pdf”明确指出了本教材聚焦于在SAP HANA平台上进行ABAP编程的教学。ABAP(Advanced ...
在 SAP 系统中,开发环境和开发工具是必不可少的组件,开发者可以使用这些工具来创建、测试和部署 ABAP 程序。ABAP WORKBENCH 是 SAP 系统中最常用的开发环境之一,它提供了一个集成的开发环境,包括编辑器、调试器...
ABAP Development for SAP HANA 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
Advanced ABAP Programming for SAP (SAP R/3) (Paperback) by Gareth M. De Bruyn (Author), Robert Lyfareff (Author), Ken Kroes (Author) <br>Editorial Reviews <br>Advanced ABAP Programming for ...
SAP HANA will soon celebrate its second birthday. Hard to believe, but this technology has been on the market for almost two years now. During this time, its use potential increased significantly: ...
ABAP部分可能会介绍基础语法、数据类型、变量、流程控制语句,以及如何使用ABAP编写简单的报告和事务代码。 《工程师突击:SAP+ABAP实用程序开发攻略》则可能更专注于实际应用,它可能详细讲解了ABAP编程中的关键...
简单来讲,SAPLINK就是用来导入和导出ABAP程序,等开发对象的一个开源分享项目的产物. 1.上载前置工具程序 导入SAPLINK需要使用ZSAPLINK_INSTALLER程序进行导入. TCode:SE38,新建名为ZSAPLINK_INSTALLER的程序. 2....
标题中的"SAP_ABAP.rar"表明这是一个与SAP ABAP相关的压缩文件,可能包含了关于SAP ABAP开发的文档或代码示例。ERP SAP ABAP指的是SAP企业资源规划系统中的ABAP编程语言,它是SAP系统核心开发的重要工具。"ERP_SAP...
4. **报表编程**:SAP ABAP常用于创建业务报表,教程会展示如何使用REPORT语句创建简单和复杂的报表,包括数据筛选、排序和格式化输出。 5. **屏幕处理与用户输入**:在SAP GUI环境中,ABAP可以处理用户界面。这...
SAP+ ABAP开发实用教程:顾问培训资料,含实例代码和教程,详细描述ABAP开发过程:数据表读法、程序规范、代码实例、调试方法以及ABAP开发环境和总体介绍、 ABAP语法示例 、ALV控件的使用、 实战Form设计 ,分基础、...
在实际项目中,ABAP开发者还需要了解SAP的其他组件,如ABAP对象服务(ABAP Objects)、Web Dynpro(用于创建Web应用程序)和ABAP工作流。此外,还有ABAP测试和调试技巧,以及如何使用ABAP Development Tools(ADT)...
SAP变式配置-相关性程序...* 实现相关性程序调用ABAP函数需要三个步骤:创建函数输入特性和输出特性、编写ABAP代码、定义自己的功能。 * 使用ABAP语言编写代码,可以实现灵活的业务逻辑和算法,满足不同的行业需求。
5. **外部系统集成**:当需要从 SAP BW 外部的系统获取数据或将数据发送到其他系统时,可以使用 ABAP Routine 来实现这种集成。 ##### 三、创建与维护 ABAP Routine 的步骤 1. **需求分析**:首先明确 ABAP ...
BADI是一种灵活的、面向对象的设计技术,它允许开发人员在不修改标准SAP代码的情况下对SAP功能进行扩展。BADI由一个接口定义和实现组成,接口定义了要扩展的功能,而实现则提供了具体的业务逻辑。当SAP系统执行到特...
SAP ABAP开发快捷键 SAP ABAP开发是一种功能强大且灵活的编程语言,用于开发SAP系统中的业务逻辑。然而,在ABAP开发过程中,效率是一个非常重要的因素。为了提高开发效率,熟悉ABAP开发快捷键是非常必要的。在本文...
创建锁对象是使用SAP锁的第一步,这可以在ABAP词典中完成。锁对象一旦激活,就会自动生成加锁和解锁的FM,例如"ENQUEUE_LOCK_OBJECT_NAME"和"DEQUEUE_LOCK_OBJECT_NAME"。锁对象的命名规则需要以"E"开头,并且可以...