CRM Product master table
Hi all,
Can you please let me know tables related with products(created) in CRM.
Thank you and regards,
spr
Hi Shailaja,
The title was DYNPRO_NOT_FOUND.
the error message was..
The current ABAP program "SAPLCOM_PRODUCT_DETAIL_UI_2 " had to be terminated because one of the statements could not be executed.This is probably due to an error in the ABAP program.
The program had to be terminated.
and ask me to check the notes related with.
"DYNPRO_NOT_FOUND" C
"SAPLCOM_PRODUCT_DETAIL_UI_2 " or "LCOM_PRODUCT_DETAIL_UI_2O02 "
"SET_ALTID_EDITABLE"
I suppose there i made mistake regading making active or inactive while saving the product.
Also I cannot run COMMPR01 transaction code to check the product.
Thank you and regards,
spr
Similar Messages
-
How to fetch data for CRM Product Master
Hi,
I'm trying to write a report on the product master in CRM.
In our current setup, we have few Ztables attached to the Product Master tabs.
The key field linking the Ztables is
field name:FRG_GUID
component type COMT_FRG_GUID
description:SET GUID
I would like to know if there is any function module which reads the product master table based on Product_ID just like 'for example 'CRM_ORDER_READ'.( which gives all the GUID's based on Business Transaction Numbers)
I need this because I'm not able to match the Fragment_guid of many DB tables to each other.
Please help.
Regards
RasheedHi Pratik,
Thank you for trying to help me. I shall explain my scenario for better undestanding.
I'm creating a Product Master Report which is linked to several Z tables.I need to fetch the details based on the price group .
The structure of one of the Z tables is as below:
Field Name Component Type
.INCLUDE COMT_FRG_KEY
CLIENT MANDT
FRG_GUID COMT_FRG_GUID
.INCLUDE COMT_PRODUCT_ADM
VALID_FROM COMT_VALID_FROM
VALID_TO COMT_VALID_TO
UPNAME COMT_UPNAME
HISTEX COMT_HISTEX
LOGSYS COMT_LOGSYS
ZZ0010 ZMODELTYPE
ZZ0011 ZMODELDESC
ZZ0012 ZMODSALEABLEAREA
ZZ0013 ZMEAUNIT
ZZ0014 ZBUILTUPAREA
ZZ0015 ZCARPETAREA
ZZ0016 ZTERRACEAREA
ZZ0017 ZGARDENAREA
ZZ0018 ZBALCONYAREA
now the only way I can get the information from this table is if I get the FRG_GUID.
Is there any way where I can get all the FRG_GUID for the PRODUCT_GUID'S.
Regards
Rasheed -
How to do the CRM Product Master Data extraction?
Hello guys,
I have to upload the CRM Product Master Data from a CRM 6.0 system to a BI 7.0 system.
The only information that I have is the infocube in the BI for the extraction is 0CRM_PROD.
I've checked that the CRM Product table COMM_PRODUCT and found that entries in the table and the infocube don't correspond to each other exactly. I also cannot find approprite DataSource in BI or CRM system for the data transfer.
Who can telll me anything about this kind of master data extraction to BI?
Thanks in advance.
Best RegardsHi,
u tried using the generic extraction using rso2.create one datasource and give the table name comm_prod.
bye. -
In which screen the Profit Center field can be seen in SAP CRM Product Master?
Hi SAP Experts,
Please provide your valuable inputs on the below request:
1) Do we have profit center field in SAP CRM Product Master?If yes then in which screen can we see?
2) At the moment we are not using the profit center field in either of the systems(ECC and SAP CRM) in Material, we want to use this then how to go ahead to have this field in CRM.
3) If we add the profit center value in material master in ECC under general and plant data view then how this value will be replicated into SAP CRM , delta load or initial load?
We are using SAP ECC 6.0 and SAP CRM 7.1 systems.
Appreciated for your inputs at the earliest.
Best Regards,
SVHi,
Substitution Rule :-
Prerequisite :
1. WBS Level (PRPS-STUFE) = ' 3 ' AND Statistical Indicator (PRPS-XSTAT) = ' X '
Substitute
1. Profit centre (PRPS-PRCTR) - ' '
Hope this will clear you...
Regards,
Hari -
Syndication and printing using CRM Product Master/product catalog
Hi,
I would like to understand if we could do syndication and printing using CRM Product Master/product catalog.
thanks
anantharamOut of the box, you have a feature to export the Product Catalog - as an XML. Rest of the nice features you want are not available out of the box.
If printing and syndication are primary and important features you want to have, then you must explore if [SAP SRM MDM Catalog|http://help.sap.com/saphelp_srmmdm10/helpdata/en/44/ec6f42f6e341aae10000000a114a6b/frameset.htm] will be suitable for you. It is a different SAP product and here is the[ link to explore.|http://help.sap.com/saphelp_srmmdm10/helpdata/en/44/ec6f42f6e341aae10000000a114a6b/frameset.htm] -
CRM PRODUCT BAPI + TABLES
Hi,
Can any one help me or give me some clue from where we can find all the Product related BAPI's in the CRM ?
Also give me the names of the Product related Tables in CRM Data base.
Points will be rewarded for helpful answers.
Thanks,
Samantak.Hi Ankan,
Thanks for your prompt reply. But it would of great help if you provide some details about the CRM Product related BAPI's and the type of BAPI's available.
I have to write BAPI Wrapper with the help of existing BAPI's.
Thanks in advance.
Samantak. -
hi all,
my requirement is i have a z-table with fileds
1).product category, 2).product id,3).product description.
for a product id, i should fill product category and product description.
plz help me wid related tables and fields.
thanx in advance.Hi Shiva!,
You need these tables:
<b>COMM_PRODUCT</b> -- Product --> Product guid and product id.
<b>COMM_PRSHTEXT</b> -- Product Description --> Product guid and description
<b>COMM_PRPRDCATR</b> -- Product - Product Category --> Assignment product with category
<b>COMM_PRCAT</b> -- Product Category --> table with the category guids
Hope it helps you.
Regards,
Mon -
Hi there,
I'm trying to get the details of the product catalog based on the product ID. What i'm trying to achieve is given the product ID, I want to find which category is this product under and what is the products ABOVE this category.
Any hints and help are much appreciated. Many thanks.
Regards,
Josh!You need to find the product hierarchy in which product cat is present to see whole tree.
Search with table PRDCATREL to find the categories of product.
for categoris: Search with PRDCAT* in SE16 or SE11.
Always you can click the F1->technical info on the field in SAPGUI.
Raj -
Product master in CRM and R/3
Hi Gurus,
can anybody make my understanding clear regarding the difference of product master in CRM and R/3. any links to know more on it will also help.
Thank you in advance.
Regards,
sasmitaHi Sasmita,
Here are some of inputs will help for undersatnding:
<b>The CRM product master is a collection or arrangement of various settypes which contain specific data.</b>
Pre-defined settypes are delivered (e.g. basic product data; conversion of unit of measure)
Enhancement of the product master with own settypes is possible
Settypes correspond to database tables
Attributes correspond to your product characteristics.
<b>Attributes can be summarized with the help of set types</b>
In the system there are standard set types which are always available. However, you can also create and implement user-defined set types, to depict marketing data, for example.
The usage of set types can be restricted (e.g. certain set types only allowed for products of type product) Distribution chain-dependent set types can be created.
A set type is only permissable for a product when the set type is assigned to the category to which you then assign the product. To assign a set type to a category, use the function Edit categories and hierarchies.
You can assign a set type to several product categories within a category hierarchy. However, each set type can only be assigned within one hierarchy. In doing so, a multiple assignment of a set type to one and the same product (over contrasting categories) is prevented.
A product can be assigned to several categories, as long as these are within different category hierarchies. A product can also be assigned to only one category per hierarchy.
The assignment to the base hierarchy R3PRODSTYP is vital, so that basic data set types are available, for example.
R3PRODSTYP depicts the product types present in the R/3 system.
Customer product numbers can be assigned. This Customer product ID is stored in the relationships
Global Trade Item Number (GTIN)
Customer-own checks can be defined before a product can be saved. Enhancements  Consistency check
<b>Transaction :
COMMPR01-Maintain Products
COMMPR02-Mass Maintenance for Inactive Products
COMM_HIERARCHY-Maintain Categories and Hierarchies
COMM_ATTRSET- Maintain Set Types and Attributes
Tables:</b>
Product (active) COMM_PRODUCT
Product (inactive) COMM_IPRODUCT
Product description COMM_PRSHTEXT
Category hierarchy COMM_HIERARCHY
Category COMM_CATEGORY
Set types COMC_SETTYPE
Attributes COMC_ATTRIBUTE
Relationships COMM_IL_*
COMM_PRODUCT : Product header and administration data.
COMM_CATEGORY : Category
COMM_HIERARCHY : Category Hierarchy
COMM_PR_FRG_REL :
COMM_FRGTYPE :
COMC_SETTYPE :
COMC_PRODUCT : General Product Settings
COMC_R3_FIELDS : Assignment of R/3 material master fields to CFOP
COMM_CFGMAT : Basic Data for Materials
Hope this will help.
Regards,
Arjun
<b>Pl. Do reward the points</b> -
Middleware: extended Material to CRM Product, EEWB needed?
Hi all,
If Material in ECC contains custom fields extended by EEWB to the MARA table, and these information are needed in CRM during replication, do I need to use EEWB to extend in CRM as well? (if yes, which table to be extended for product)
Or creating new attributes to the attribute set and assign it to CRM Product's set type will do?
Kindly advise.
cheers,
ginnieHi Ginnie,
You can create a new attributes to the attribute set and assign it to CRM Product's set type. But if you want to have the information in these Zfields in ECC to pass into CRM product master fields then you need to perform the below steps.
Configuration Tables TBE24 and TPS34 in ECC must be maintained for triggering the CRM Middleware download of data from ECC to CRM. In Table TPS34 the Process CRM0_200 contains the entry for CRM Middleware download of data.
1. Activate Customer Product by maintaining table TBE24 using transaction SM30
2. Maintain the Custom product e.g. ZPROD
3. Add the function module that the OPEN_FI function module can find for a Business Transaction Event (BTE) as an alternative to a standard function module by maintaining table TPS34 using transaction SM30
4. Create Function module for mapping in ECC. For e.g. Function Module ZSEND_PROD_TO_CRM handles mapping the custom fields to be transferred to the CRM system.
5. After this you should implement the source code to do the BAPIMTCS mapping to send the data to CRM.
6. Finally, you will need to implement a BADI PRODUCT_CUSTOMER2 in CRM, method MAP_R3_TO_CRM_MATERIAL which will map all of the custom fields from ECC into the Product Master in CRM.
Hope this helps!!!
Regards,
Chandrakant -
Maintaining Product relationships in accessories section in product master
Hi all,
We have a requirement to add the maintenance product in the u201CAccessories section in the Relationships tabu201D of the CRM product master data.
Kindly let me know the standard FM/BAPIu2019s or programs can be used to add the relationship between two products.
Please note we need the FM/BAPI only to do this.
With Regards,
Sujitha.SHi Addy,
These releationships can be maintained directly in Web UI too. If you have tabs like Accessories under Relationships in Products, then in Web UI too u will see an Assignment Block by name Accessories. If you dont, then pick it from personalisation. If its not in Personalisation then you will have to pick it from Page Configuration.
But those relationships can be maintained directly in Web UI too but u wont see any Relationships AB in products in Web UI.
Let me know in case you still have doubts.
CHeers,
MG -
Master Tables related with CRM Billing
Can some one list out the master tables of CRM Billing process.
Hi
Check This Tables
CRMD_ORDERADM_H Sales Order Header Details
CRMD_ORDERADM_I Sales Order Item Details
CRMD_ORDER_INDEX Index table for one-order document (Contains Header, Item, and Partner info)
COMM_PRODUCT Product details
CRMD_PARTNER Partner Function details
CRMD_SALES Business Transaction Sales set
CRMD_SCHEDLIN Schedule line info
CRMD_LINK Transaction u2013 Set u2013 Link (Helps link some sales order tables to the main Sales Header and Item tables)
CGPL_PROJECT Project Planning: Project Headers Attribute Table (Shows Campaign IDu2019s)
/1BEA/CRMB_BDH Billing Header data
/1BEA/CRMB_BDI Billing Item of application
CMPB_MAP Conversion Table CAIMPAIGN CRM <> CMPGN_ID (in ECC only)
Refer This Link
http://www.sap-img.com/general/find-the-table-names-for-a-crm-transaction.htm
Ranga -
Can we Delete the Product/Material from Product Master in CRM
Hi Gurus,
I want to delete some test products from Product master, I don't see any link for delete there in product master transaction.
Can we Delete the Product from Product Master in CRM??
Thanks in Advance.
Regards,
Manoj TiwariTry this:
*& Report ZVB_PRODUCT_DELETE (release CRM 4.0 SP03) *
*& Instructions are in OSS Note #427332 *
report zvb_product_delete line-size 300.
const, include
include com_product_const001.
include com_product_const003.
include com_product_const009.
include com_product_const011.
include com_settype_attribute_const03.
tables: comm_iproduct, "#EC NEEDED
comm_product.
constants:
gc_program type programm value 'COM_PRODUCT_DELETE_SINGLE'.
data: gv_product_guid type comt_product_guid,
gv_prty type comt_product_type,
gv_syslog(70) type c,
lv_mobile_active type comt_boolean,
lv_delete type comt_boolean value 'X'.
data: lt_settypes type comt_frgtype_tab_ext,
lt_status_guid type comt_prd_status_guid_tab.
data: begin of lt_products occurs 0,
product_id like comm_product-product_id,
product_guid like comm_product-product_guid,
end of lt_products.
Screen User query
selection-screen comment /1(60) text-006.
selection-screen skip 2.
select-options: s_prid for comm_product-product_id.
*parameters: p_prid type comt_product_id obligatory,
parameters: p_prty type comt_product_type obligatory default '01',
p_logs type comt_logsys obligatory,
p_objf type comt_product_object_family,
p_send as checkbox modif id 001 default on,
p_usage as checkbox modif id 001 default off,
p_test as checkbox default 'X'.
at selection-screen output.
perform check_mobile_download
changing lv_mobile_active.
if lv_mobile_active is initial.
loop at screen.
check screen-group1 = '001'. "disable field p_send, p_usage
screen-active = '0'.
modify screen.
endloop.
endif.
start-of-selection.
perform check_authority.
Write syslog entry
concatenate 'Rep. ' sy-repid ': ' p_prid(30) '/' p_prty '/' p_logs
into gv_syslog. "#EC NOTEXT
call 'C_WRITE_SYSLOG_ENTRY'
id 'TYP' field ' '
id 'KEY' field 'C00'
id 'DATA' field gv_syslog .
inactive product are not supported here
select * from comm_iproduct
where product_id = p_prid
and product_type = p_prty
and object_family = p_objf
and logsys = p_logs.
endselect.
if sy-subrc = 0.
write: / text-001, text-005.
exit.
endif.
read products according to the selection criteria
select * from comm_product
into corresponding fields of table lt_products
where product_id in s_prid
and product_type = p_prty
and object_family = p_objf
and logsys = p_logs.
if sy-subrc ne 0.
write: / text-010.
exit.
endif.
loop at lt_products.
read product and enqueue
perform product_enqueue
using lt_products-product_id
p_prty
p_logs
p_objf
changing gv_product_guid
gv_prty.
check not gv_product_guid is initial.
if p_usage = on.
perform check_usage
using gv_product_guid
changing lv_delete.
endif.
check lv_delete = on.
check p_test = space.
first delete the component of the IBase
perform delete_ibasecomponent
using gv_product_guid.
perform delete_extensions
using gv_product_guid
lt_settypes.
perform delete_settypes
using gv_product_guid
lt_settypes
changing lt_status_guid.
perform delete_interlinkages
using gv_product_guid.
perform delete_pme_data "multivalue attributes
using gv_product_guid.
perform delete_decoupled_data "long text, longmatnr,
using gv_product_guid. "ibase prodvar,...
perform delete_status
using lt_status_guid.
perform delete_favorites
using gv_product_guid.
perform delete_clear_case
using gv_product_guid.
if p_send = 'X'.
perform send_deletion_to_mw
using gv_product_guid.
endif.
delete from comm_product where product_guid = gv_product_guid.
delete from comm_producth where product_guid = gv_product_guid.
delete from comm_product_idx where product_guid = gv_product_guid.
delete from comm_prwb_user_2 client specified
where client = sy-mandt and last_object = gv_product_guid.
call function 'BAPI_TRANSACTION_COMMIT'
exporting
wait = 'X'.
write: / text-001, lt_products-product_id, text-004.
endloop.
*& Form product
form product_enqueue
using iv_prid type comt_product_id
iv_prty type comt_product_type
iv_logs type comt_logsys
iv_objf type comt_product_object_family
changing ev_pguid type comt_product_guid
ev_prty type comt_product_type.
data ls_product type comt_product.
call function 'COM_PRODUCT_GUID_GET'
exporting
iv_product_id = iv_prid
iv_product_type = iv_prty
iv_logsys = iv_logs
iv_object_family = iv_objf
iv_show_popup = 'X'
importing
ev_product_guid = ev_pguid
exceptions
not_found = 1
wrong_call = 2
internal_error = 3
others = 4.
if sy-subrc <> 0.
write: / text-001, space, iv_prid.
write: text-003. "Product not found
exit.
else.
write: / text-001, space, iv_prid.
write: text-002. "Product found
endif.
call function 'COM_PRODUCT_READ_SINGLE'
exporting
iv_product_guid = ev_pguid
iv_enqueue_mode = ' '
importing
es_product = ls_product
exceptions
not_found = 1
wrong_call = 2
foreign_lock = 3
enqueue_failed = 4
others = 5.
if sy-subrc <> 0.
if sy-subrc > 2.
write: / text-001, space, iv_prid.
write: text-007. "Product enqueued
exit.
else.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
exit.
endif.
exit.
endif.
ev_prty = ls_product-product_type.
special authotirty check (with considering the assigned
categories)
call function 'COM_PRODUCT_CT_AUTHORITY_CHECK'
exporting
iv_auth_act = '06'
iv_product_guid = ev_pguid
exceptions
no_authority = 1
wrong_call = 2
internal_error = 3
others = 4.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform. " product
*& Form delete_extensions
form delete_extensions
using iv_product_guid type comt_product_guid
et_settype type comt_frgtype_tab_ext.
data: lv_db_tab type ddobjname,
lv_subrc_pr_guid like sy-subrc,
table_name_ref type ref to data,
lt_extension type comt_frgtype_tab_ext,
ls_extension type comm_frgtype_ext.
field-symbols: <table_name> type any,
<field_name> type any.
check not iv_product_guid is initial.
delete extensions e.g. COMM_PRFREEATTR, CRMM_PR_TAX, COMM_PR_UNIT,
COMM_PR_SHTEXT,COMM_PR_GTIN, comm_prprdcatr,..
perform load_extensions
using iv_product_guid
changing lt_extension
et_settype.
loop at lt_extension into ls_extension.
lv_db_tab = ls_extension-frgtype_tab.
check not lv_db_tab is initial. "CRM_CAT_SAT & CRM_CAT_PUR
does table exist ?
call function 'DDIF_NAMETAB_GET'
exporting
tabname = lv_db_tab
exceptions
not_found = 1
others = 2.
check sy-subrc = 0.
Due to any reason (I don't know why) sometimes we have product_guid
and sometimes we have frg_guid as name of the key field.
create data table_name_ref type (lv_db_tab).
assign table_name_ref->* to <table_name>.
assign component 'PRODUCT_GUID' of structure <table_name>
to <field_name>.
lv_subrc_pr_guid = sy-subrc.
if lv_subrc_pr_guid = 0.
delete from (lv_db_tab)
where product_guid = iv_product_guid.
else.
delete from (lv_db_tab)
where frg_guid = iv_product_guid.
endif.
delete history of extension table
concatenate ls_extension-frgtype_tab 'H' into lv_db_tab.
create data table_name_ref type (lv_db_tab).
assign table_name_ref->* to <table_name>.
assign component 'LOGSYS' of structure <table_name>
to <field_name>.
check sy-subrc = 0.
call function 'DDIF_NAMETAB_GET'
exporting
tabname = lv_db_tab
exceptions
not_found = 1
others = 2.
check sy-subrc = 0.
if lv_subrc_pr_guid = 0.
delete from (lv_db_tab)
where product_guid = iv_product_guid.
else.
delete from (lv_db_tab)
where frg_guid = iv_product_guid.
endif.
endloop. " end of loop for all extensions
endform. " delete_extensions
*& Form delete_settypes
form delete_settypes
using iv_product_guid type comt_product_guid
it_settypes type comt_frgtype_tab_ext
changing et_status_guid type comt_prd_status_guid_tab.
data: ls_reldesc type coms_pr_org_rel,
lt_reldesc type comt_pr_org_rel_tab,
lt_reltab type ref to data,
ls_settype type comt_settype_ext,
ls_table type tabname,
ls_status_guid type crmt_object_guid.
field-symbols:
<fs_reltab> type any table,
<fs_relrow> type any,
<fs_settype> type comt_frgtype_guid,
<fs_setguid> type comt_frg_guid,
<fs_statguid> type crmt_object_guid.
memorise product status guide
ls_status_guid = iv_product_guid.
append ls_status_guid to et_status_guid.
load description of relation tables
call method cl_com_product_org_type=>comc_pr_org_link_read_all
importing
et_pr_org_rel = lt_reldesc
exceptions
no_desc = 0.
for all relation types (e.g. comm_pr_frg_rel, comm_pr_frg_rod)
loop at lt_reldesc into ls_reldesc.
read product/settype relations
create data lt_reltab type (ls_reldesc-link_table_ttyp).
assign lt_reltab->* to <fs_reltab>.
call function ls_reldesc-func_rel_read_pr
exporting
iv_product_guid = iv_product_guid
importing
et_rel = <fs_reltab>
exceptions
wrong_call = 1
not_found = 2
others = 3.
check sy-subrc = 0.
for all links...
loop at <fs_reltab> assigning <fs_relrow>.
assign component 'FRAGMENT_TYPE' of structure <fs_relrow>
to <fs_settype>.
assign component 'FRAGMENT_GUID' of structure <fs_relrow>
to <fs_setguid>.
assign component 'STATUS_OBJECT' of structure <fs_relrow>
to <fs_statguid>.
read table it_settypes with key frgtype_guid = <fs_settype>
into ls_settype.
check sy-subrc = 0.
settype table
delete from (ls_settype-frgtype_tab)
where frg_guid = <fs_setguid>.
history table
concatenate ls_settype-frgtype_tab 'H' into ls_table.
delete from (ls_table)
where frg_guid = <fs_setguid>.
memorise settype status guide
if not <fs_statguid> is initial.
ls_status_guid = <fs_statguid>.
append ls_status_guid to et_status_guid.
endif.
endloop. "of links
relation table (e.g. comm_pr_frg_rel)
delete from (ls_reldesc-link_table)
where product_guid = iv_product_guid.
history table
concatenate ls_reldesc-link_table 'H' into ls_table.
delete from (ls_table) where product_guid = iv_product_guid.
endloop. " of relation types
endform. " delete_settypes
*& Form delete_interlinkages
form delete_interlinkages
using iv_product_guid type comt_product_guid.
constants: cv_db_name(8) type c value 'COMM_IL_',
cv_suffix_h(2) type c value '_H'.
data: lt_ilinks type comt_il_data_tab,
lt_reltype type comc_il_reltype_tab with header line,
lv_ddictype type dd02v-tabclass,
lv_dbname type comt_structure.
CHECK p_objf IS INITIAL.
first we have to read all ILs where the productguid is sourceguid
refresh lt_ilinks.
call function 'COM_IL_API_WHERE_USED'
exporting
iv_objectguid = iv_product_guid
iv_objtype = gc_bus_objtype_bus1178
iv_direction = 'S'
importing
et_interlinkage = lt_ilinks.
check not lt_ilinks[] is initial.
delete adjacent duplicates from lt_ilinks comparing reltype.
read ilinkage customizing
select * from comc_il_reltype into table lt_reltype
for all entries in lt_ilinks where reltyp = lt_ilinks-reltype.
delete interlinkages
loop at lt_reltype.
if lt_reltype-streltyp ne space.
concatenate cv_db_name lt_reltype-streltyp into lv_dbname.
else.
concatenate cv_db_name lt_reltype-reltyp into lv_dbname.
endif.
delete data
call function 'DDIF_NAMETAB_GET'
exporting
tabname = lv_dbname
importing
ddobjtype = lv_ddictype
exceptions
not_found = 1
others = 2.
check sy-subrc = 0 and lv_ddictype = 'TRANSP'. "#EC NOTEXT
delete from (lv_dbname) where sourceguid = iv_product_guid.
delete history
check lt_reltype-change_doc = 'X'.
concatenate lv_dbname cv_suffix_h into lv_dbname.
call function 'DDIF_NAMETAB_GET'
exporting
tabname = lv_dbname
importing
ddobjtype = lv_ddictype
exceptions
not_found = 1
others = 2.
check sy-subrc = 0 and lv_ddictype = 'TRANSP'. "#EC NOTEXT
delete from (lv_dbname) where sourceguid = iv_product_guid.
endloop.
endform. "delete_interlinkages
*& Form delete_pme_data
form delete_pme_data
using iv_product_guid type comt_product_guid.
delete multivalue attributes from PME
data: lt_pmemap like standard table of comm_pme_prd_map,
ls_pmemap like comm_pme_prd_map.
select * into table lt_pmemap
from comm_pme_prd_map
where crm_object_guid = iv_product_guid.
check sy-subrc = 0.
loop at lt_pmemap into ls_pmemap.
call function 'CRM_SCE_DB_KB_DELETE'
exporting
iv_kbid = ls_pmemap-kbid.
endloop.
delete comm_pme_prd_map from table lt_pmemap.
endform. "delete_pme_data
*& Form send_deletion_to_mw
form send_deletion_to_mw
using iv_product_guid type comt_product_guid.
data: cv_function_module like rs38l-name
value 'CRM_PROD_SEND_DELETION_MESSAGE'. "#EC NOTEXT
data: lt_product_guid type comt_product_s_tab with header line.
lt_product_guid-product_guid = iv_product_guid.
append lt_product_guid.
call function 'FUNCTION_EXISTS'
exporting
funcname = cv_function_module
exceptions
function_not_exist = 1
others = 2.
check sy-subrc = 0.
call function cv_function_module
exporting
it_product_guid = lt_product_guid[]
iv_test_only = space
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.
endif.
endform. " send_deletion_to_mw
*& Form check_mobile_download
form check_mobile_download
changing ev_mobile_active type comt_boolean.
data:
cv_db_tab type ddobjname value 'SMOMARA'.
data: lv_lines type i value 0.
clear ev_mobile_active.
call function 'DDIF_NAMETAB_GET'
exporting
tabname = cv_db_tab
exceptions
not_found = 1
others = 2.
check sy-subrc = 0.
select count( * ) into lv_lines
from (cv_db_tab) up to 10 rows. "#EC CI_NOWHERE
if lv_lines > 0.
ev_mobile_active = on.
endif.
endform. " check_mobile_download
*& Form check_authority
form check_authority.
tables: t000, comc_pr_tool_reg. "#EC NEEDED
check productiv system - report must not be executed
select single * from t000 client specified "#EC CI_CLIENT
where mandt = sy-mandt.
if t000-cccategory = 'P'.
message e807(com_product) .
leave.
leave to transaction ' '.
endif.
Check authority for product delete
call function 'COM_PRODUCT_AUTHORITY_CHECK'
exporting
iv_auth_act = '06'
exceptions
no_authority = 1
wrong_call = 2
internal_error = 3
others = 4.
if sy-subrc ne 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
MESSAGE e808(com_product).
leave.
leave to transaction ' '.
endif.
Additional step: registration
select single * from comc_pr_tool_reg
where program_name = gc_program
and user_name = sy-uname
and exec_date = sy-datum.
if sy-subrc ne 0.
message e809(com_product).
endif.
endform. " check_authority
*& Form delete_decoupled_data
form delete_decoupled_data
using iv_product_guid type comt_product_guid.
include com_product_const018.
Deleting decoupled and customer requested data (long_text, longmatnr,
upload registry, ibase product variants coming from R/3,
archive verify registry). Documents like PDF,XLS,DOC,JPG stored in
Content Management will not be deleted
load BADI implementations
class: cl_exithandler definition load.
data: exit_obj type ref to if_ex_com_product_delete.
call method cl_exithandler=>get_instance
exporting
exit_name = gc_badi-com_product_delete
null_instance_accepted = on
changing
instance = exit_obj.
call BADI implementations (User Exit)
call method exit_obj->delete_extra_data
exporting
iv_product_guid = iv_product_guid.
endform. " delete_decoupled_data
*& Form load_extensions
form load_extensions
using iv_product_guid type comt_product_guid
changing et_extension type comt_frgtype_tab_ext
et_settype type comt_frgtype_tab_ext.
data: lt_prd_cat type comt_prod_cat_rel_tab,
ls_prd_cat type comt_prod_cat_rel,
lt_cat_frg type comt_prcat_frag_rel_tab,
ls_cat_frg type comt_prcat_frag_rel,
lt_settype_guid type comt_frgtypeguid_tab,
ls_settype_guid type comt_frgtype_guid,
lt_settype type comt_frgtype_tab_ext.
refresh et_extension.
read categories assigned to product
call function 'COM_PROD_CAT_REL_READ_WITH_PR'
exporting
iv_product_guid = iv_product_guid
importing
et_set = lt_prd_cat.
loop at lt_prd_cat into ls_prd_cat.
read allowed settypes for categories
call function 'COM_PRCAT_FRAG_REL_READ'
exporting
iv_category_guid = ls_prd_cat-category_guid
importing
et_prcat_frag_rel = lt_cat_frg
exceptions
wrong_call = 1
others = 2.
check sy-subrc = 0.
refresh lt_settype_guid.
loop at lt_cat_frg into ls_cat_frg.
ls_settype_guid = ls_cat_frg-frgtype_guid.
append ls_settype_guid to lt_settype_guid.
endloop.
read settype defintions
call function 'COM_SETTYPE_READ_MULTIPLE'
exporting
it_settype_guid = lt_settype_guid
importing
et_settype = lt_settype
exceptions
nothing_found = 1
others = 2.
if sy-subrc = 0.
only settypes
et_settype[] = lt_settype[].
delete et_settype[] where
( prod_comp_type = gc_prod_comp_type-extension or
prod_comp_type = gc_prod_comp_type-simple_extension ).
only extensions
delete lt_settype[] where
( prod_comp_type ne gc_prod_comp_type-extension and
prod_comp_type ne gc_prod_comp_type-simple_extension ).
et_extension[] = lt_settype[].
endif.
endloop. " end of product categories
endform. " load_extensions
*& Form delete_status
form delete_status
using it_status_guid type comt_prd_status_guid_tab.
data:
lt_status like crm_jsto_pre occurs 0,
ls_status type crm_jsto_pre,
ls_status_guid type crmt_object_guid.
loop at it_status_guid into ls_status_guid.
ls_status-objnr = ls_status_guid.
append ls_status to lt_status.
endloop.
call function 'CRM_STATUS_DELETE_MULTI'
tables
objnr_table = lt_status.
endform. " delete_status
*& Form delete_favorites
form delete_favorites
using iv_product_guid type comt_product_guid.
call function 'COM_PRODUCT_DELETE_FAVORITES'
exporting
iv_object_guid = iv_product_guid.
endform. " delete_favorites
*& Form delete_clear_case
form delete_clear_case
using iv_product_guid type comt_product_guid.
data: ls_customizing type comc_product,
lv_clear_case_guid type comt_clear_case_guid.
Is cusotmizing-flag INACTIV_PROD activated ?
call method cl_com_product_general=>comc_product_read_all
importing
es_prod_general = ls_customizing
exceptions
not_found = 1
others = 2.
check ls_customizing-inactive_prod = on.
select single clear_case_guid from comm_clear_targ "#EC *
into lv_clear_case_guid
where object_guid = iv_product_guid "active
and object_class = 'PROD'.
normaly two entries for active and inaktive product version
delete from comm_clear_targ
where clear_case_guid = lv_clear_case_guid
and object_class = 'PROD'.
delete from comm_clear_stack
where guid = lv_clear_case_guid
and application = 'PROD'.
endform. "delete_clear_case
*& Form check_usages
form check_usage
using iv_product_guid type comt_product_guid
changing ev_delete type comt_boolean.
include sbal_constants.
data: cv_function_module like rs38l-name
value 'COM_PRODUCT_USAGE_CHECK'. "#EC NOTEXT
data: ls_product type comt_product,
lt_product type comt_product_tab.
data: ls_logheader type bal_s_log, "Kopfdaten des Protokolls
lv_loghandle type balloghndl.
data: ls_msg_filter type bal_s_mfil,
ls_log_filter type bal_s_lfil,
lt_msg_handle type bal_t_msgh,
ls_log_handle type bal_s_logh,
ls_msg_handle type balmsghndl,
ls_msg type bal_s_msg,
ls_string type string.
does CRM function exist
call function 'FUNCTION_EXISTS'
exporting
funcname = cv_function_module
exceptions
function_not_exist = 1
others = 2.
check sy-subrc = 0.
create log handle
ls_logheader-aldate = sy-datum.
ls_logheader-altime = sy-uzeit - 10.
ls_logheader-aluser = sy-uname.
ls_logheader-alprog = sy-repid.
call function 'BAL_LOG_CREATE'
exporting
i_s_log = ls_logheader
importing
e_log_handle = lv_loghandle
exceptions
log_header_inconsistent = 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.
endif.
ls_product-product_guid = iv_product_guid.
append ls_product to lt_product.
call usage checks
call function cv_function_module
exporting
it_product = lt_product
iv_loghandle = lv_loghandle.
filter settings
ls_log_handle-sign = 'I'.
ls_log_handle-option = 'EQ'.
ls_log_handle-low = lv_loghandle.
append ls_log_handle to ls_log_filter-log_handle.
get messages
call function 'BAL_GLB_SEARCH_MSG'
exporting
i_s_log_filter = ls_log_filter
i_s_msg_filter = ls_msg_filter
importing
e_t_msg_handle = lt_msg_handle
exceptions
msg_not_found = 1
others = 2.
check sy-subrc = 0.
ev_delete = space.
write: / text-001, text-008.
read messages
loop at lt_msg_handle into ls_msg_handle.
call function 'BAL_LOG_MSG_READ'
exporting
i_s_msg_handle = ls_msg_handle
importing
e_s_msg = ls_msg
exceptions
log_not_found = 1
msg_not_found = 2
others = 3.
check sy-subrc = 0.
message id ls_msg-msgid type ls_msg-msgty number ls_msg-msgno
with ls_msg-msgv1 ls_msg-msgv2 ls_msg-msgv3 ls_msg-msgv4
into ls_string.
write: /, ls_string.
clear ls_msg.
endloop.
endform. " check_usages
*& Form delete_ibasecomponent
text
-->P_GV_PRODUCT_GUID text
form delete_ibasecomponent using p_product_guid.
data: lv_guid22 like sysuuid-c22,
ls_comp type ibas_dat1.
tables: ibin.
break pvho.
call function 'GUID_CONVERT'
exporting
iv_guid_x16 = p_product_guid
importing
ev_guid_c22 = lv_guid22
exceptions
no_unicode_support_yet = 1
parameters_error = 2
others = 3.
find the component
select * from ibin
where objnr = lv_guid22.
clear ls_comp.
ls_comp-instance = ibin-instance.
ls_comp-ibase = ibin-ibase.
call function 'IBASE_COMP_DELETE'
exporting
i_comp = ls_comp
exceptions
data_not_consistent = 1
ibase_locked = 2
not_succesful = 3
others = 4.
if sy-subrc eq 0.
call function 'IBASE_SAVE'.
endif.
endselect.
endform. " delete_ibasecomponent -
Equipments Master table in CRM
H Expertsi,
What is the master table for equipments in CRM??
Thanks in Advance
AjayHello Ajay,
Equipments are stored in CRM table COMM_PRODUCT with object family 0401(equipment).
Hope this helps!
Best Regards,
Shanthala Kudva. -
CRM ISA 5.0-Sending field value from-Product master Product Catalog Trex
Dear Friends,
I have Enhanced a Column field in Product Master > Accessory tab Page
I want to send the above Column Values to Index / Trex Server , Then java will take from trex server and display in web as per their requirement.
Can you suggest how to do that ?
I found 2 below Badi : Can you please how to implement this or this BADI is not suggest able.
CF_PCAT_PRDEXTSN_VAL Additional Attributes in Product Catalog - Read Values
PCAT_IMS_FEED_VAL Customer-Specific Value Enhancement for IMS Data Supply
BADI For Product Catalog Changes: PRODUCT_UPDATE, PRODUCT_UPDATE_IMS, PRODUCT_UPDATE_CVIEWS
Please reply as soon as possible
Thanks
UpenHello,
you better ask this question in the SAP CRM: Webclient UI - Framework. Also I would suggest opening a OSS Message.
Regards
Gregor
Maybe you are looking for
-
Printing cut off in acrobat pro x
In Acrobat Pro X for Windows, some documents cut off the right side by about 1". I've tried every setting change I can think of and nothing works to get the document centered again. Any thoughts?
-
Hi; At linux I can edit crontab with command $crontab -e ButI don't know to edit crontab at Solaris, when i try to use upper command i cant edit nothing i just have "?"... I found some site but not helpful Anyone can say me how i can edit crontab in
-
Setting up email won't work.
Since I mistakenly wiped my phone a week ago I cannot set up my email accounts again. I seem to remember having to use a blackberry address and then got to key up my live mail account but now i cant seem to do it. THe email account icon doesnt lead
-
SOA 10.1.3.2.0 getUnsynchronizedCompleteInitializedTopology
Hi Guys I'm running a SOA 10.1.3.2 (plataform Sun Solaris intel) running on cluster using 2 nodes , I have raised this case with Oracle weeks ago but they havent figured out what's going on I would appreciate any feedback from you 08/01/22 10:28:50 W
-
Runtime Error when launching itunes after install
I downloaded and install itunes. When I attempt to open itunes I receive the following Runtime error message: The application has requested the Runtime to terminate in an unusual way. Help....