Delete incorrect settype assignment from Hierarchy/Category
Hi Friends,
Iam working in CRM 7.0. When I go COMM_HIERARCHY transaction, I have a Z Hierarchy ID (ZHIERARCHY), and in this I have a Z Category ID (ZCATEGORY). In the settype tab, there is a settype assigned, which got assigned incorrectly. Iam not sure how this got assigned to the Category ID. This looks like a GUID.
Now I need to correct the settype assignment. I tried,
1. Deleting the incorrect settype assignment in the COMMM_HIERARCHY transaction. It throws a dump saying "settype does not
exist"
2. Add the correct settype with out deleting the incorrect settype. It does not save and gives an error "settype does not exist".
How to solve this issue?
Regards,
Raju
Hi,
Please can you let me know how you resolved this issue. I am facing the same problem.
Similar Messages
-
Deleting the vehicle assignment from the shipment
hi,
please send me the procedure for deleting the vehicle assignment from the shipment.
it is very urgent............
thanks in advance...........are you doing the vehicle assignment number manually. then you can very well change the number isnt it ?
May be if you have some other idea please elaborate
Thanks
venugopal -
Delete incorrect email address from TO field?
How do you delete incorrect email addresses from the TO, CC, or BCC fields? Also, once that is done, how do you enter a correct address from the address book (not an incorrect address that the iPad has memorized).
I need very simple step by step instructions that my 80 year old mother can understand when I explain over the phone what needs to be done. I do not have an iPad myself.I think it was something embarassingly obvious like touch the incorrect address and then the delete button on the keyboard.
-
Incorrect agent assignment from webdynpro
Hi!
User2 approved an overtime claim in universal worklist. When i go to completed tasks of user2 to check the OT that was just approved, it doesnt show. I noticed that the actual agent assignment is different. The actual agent was user1 (requestor) where it should be user2 (approver). How is this possible?
Regards,
StephHi
Are you using the standard workflow template WS18900023 to get approval for the claims. If this is the case and you want to determine or check why the agents are populating wrong then you need to check the function module HRXSS_IN_CL_APP_OVERVIEW try to insert a break point in this function module and check what are all the agents are getting populated.
If you want to debug at the employee end or initiator level then make use of the function module HRXSS_IN_CL_EMP_OVERVIEW
You can find what are all the agents populated in the agents container element.
Can you please let me know are you using or copied any standard workflow to meet the requirement.
Also check the functin modules HRXSS_IN_CL_EMP_ACTION and HRXSS_IN_CL_APP_ACTION
Regards
Pavan
Edited by: Pavan Bhamidipati on Sep 8, 2011 5:23 PM -
How to Remove a Report Object from a Category Without Deleting It?
I'm trying to "remove" a report object (in this case a Webi Report) from a Personal Category. However, I've found that when I right-click on the report within the Category and choose "Organize >> Delete", not only does it remove the report from the Category, it also deletes the "source" report from it's original location... not good. (NOTE: If I try this as a user without rights to delete report objects, I don't even get the "Organize >> Delete" option, as would be expected based on the behavior I'm seeing.)
Does anyone know if there is a way to "Remove" report objects from Categories without deleting the report from its original location? The only option I can think of is to simply recreate (copy/paste) the whole category with all of its components (less the undesired report object) and then delete the original Category.
Thank,
Josh
Edited by: Josh Crawford on Sep 9, 2010 9:25 AMHi,
This is much easier than it looks like, although it's not intuitive.
For example, when some webi is in a category, categories where the webi is linked are underlined in blue:
If you click in those blue marked categories and click Accept, you're unlinking the webi/report/dashboard from that category:
-->
Hope it helps
Alberto -
Unable to delete agent assignment from Standard Task 8267 DECISION
Hi All
In transaction PFTC_CHG I'm trying to Delete Agent Assignment (Shift + F2), the screen simply refreshes and the action is not performed - the user is not deleted from the Demo Workflows parent folder? I'm not sure how to change or remove this entry? Authorisations check out fine.
Regards,
AdrianHi ,
Go through below links ..i am sure you will find something helpful.
How to delete agents
remove assigned agents
Regards,
Himanshu Joshi -
Hierarchy Category for Installed Base creation
Hi All,
We are implementing service management using CRM 5.0 and R/3. We have created some custom material types in R/3 and downloaded to CRM. In CRM configuration "Assignment per Product Type for application Product" the HierarchyID R3PRODSTY is assigned to Product Type "Material". Now, I want to assign the Object family 0401 to a category to be able to create Installed Base records. I cannot modify the Hierarchy R3PRODSTY since it came from R/3. So I created a new hierarchy "IBase" and assigned the Object family and I assigned this hierarchy to Product Type "Material". With this I am able to create a Ibase but not a product because I changed the assignment. Is there straight forward way to have object family in the Hierarchy R3PRODSTYP" or to be able to create products and Installed Bases simultaneously? Any Input will be greatly appreciated.
Thanks,
Uday.Hi Ankit ,
There is some SAP F1 Help. FROM SPRO
That may answer your question.
Activate Partner and Address Inheritance
Use
In this activity, you can make the following settings for each installed base category:
Activate partner and adress inheritance for a specified number of installed base hierarchy levels
The inheritance of partners and addresses is a logical rather than a physical inheritance.
Activate calculation of geographical coordinates from address information when address data is created or changed
Enable changes to an installed base for a validity date that is earlier than the system date.
Partner assignment or address assignment is used during the search for components to take partner inheritance and address inheritance into account.
For example, this means that in the interaction center or service processes, all components can be found using the business partner.
Default Settings
No standard settings are provided.
The settings are optional. If you do not enter any data, the function is not used.
Activities
To activate partner and adress inheritance, select the PInherit. or AdrInherit. checkbox, respectively, and specify the number of levels in the installed base hierachy that should inherit partners or addresses.
Note: If want partners or addresses to be inherited by all lower-level components in the hierarchy, enter 0 (zero).
Regards
Logu -
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 -
How to delete entire data in the hierarchy table,?
hi friends
i need to delete entire data in the hierarchy table which contains parent child relationship,when i am selecting entire records and choose the option delete from the context menu, it is not deleting, and i have to delete one by one or i have delete first the child items and later parents items, it is time consuming process.
Is there any other option to delete entire records in the hierachy table , irrespective of parent and child relationship?
if any one have solution for my issue, please provide to me
thanks in advance
bharat.chinthapatlaHi Bharat,
Unload the Repository and Delete the Table and fields in Hierarchy table and Recreate and reload the data.OIther wise you have to lot of manual work.
Thanks
Ganesh Kotti -
How to delete audio and photos from my ipad and export to ITunes?
I've read about this issue extensively and still can't figure out how to export my audio, picts, etc., to I Tunes and then delete the files on my I Pad. Firstly, all of my audio files don't show up when I sync, only some. These are files I've created in music software apps. I need to free up space and would really like to store these files on my Mac, but delete on the I Pad. Any help would be appreciated.
LucindAre you using Skype For iPad ? If you want to delete conversation history then (from https://support.skype.com/en-us/faq/FA10638/How-do-I-use-Skype-for-iPhone#9) :
To delete your conversation history:
Tap History > Edit.
Tap the edit icon next to the conversation you want to delete.
Tap Delete.
Or do you mean something else ?
There is help for the Skype For iPad app here : https://support.skype.com/en-us/category/SKYPE_FOR_IPHONE/ -
How to delete a particula record from InfoObject
Dear All,
I got some problem situations and would like some suggestions from any of you.
<b>Problem detail</b>- one process chain was failed due to could not activate an ODS-A
- ODS-A and ODS-B contained InfoObject-0BP_GUID
- errors were found and referred to the InfoObject-0BP_GUID.
- The errors referred to one record composed of incorrect data. I still wondered where it came from since normally, 0BP_GUID keeps only guid.
I'd like to delete the incorrect record.But I do not want any impact to InfoProviders.
I'm not sure how to resolve this case. This has to be very carefully managed because it happened on production system.
Actually, I did find one thread in this forum "Delete SID table content". But I'm not sure whether it could be applied to my case.
Any suggestion would be appreciated.
Thank you very much.
-WJ-Unfortunately you cant delete data without inpacting the data in the. This is how BW works and you will appreciate this because youur transaction data is secured and you wont face any data issues later on. Let me give you an example. Lets sa your ODS or cube stored sales data and in the ODS you have sales org, customer and amount. When you run the report, data is read from this cube /ods, but to fetch the master data it goes to the master data tables via SID. When the transaction data gets loaded and when you try to delete a record in master data, it will let you do.
If you still wish to do, proceed as follows:
1. Delete the data in cube first.
2. Delete the particular record from the master data table.3
3. Reload the data to the ODS / cube.
Without deleting the transaction data in the ODS / Cube the system wont let you delete the data in master data and you will get any of the following messages.
(a) " not all master data could be deleted
(b) "the master data can not be deleted".
Ravi Thothadri -
What is the best way to delete dynamically-generated symbols from another symbol?
in the onClick handler for 1 symbol, I have:
var sandwhichQty1 = sym.createChildSymbol("sandQty1", "Stage");
another symbol inside sandQty1 has the onClick method:
this.deleteSymbol();
which works fine, deleting sandQty1. I'd like to delete it, and others, from another button, in the circumstance where users don't close them this way.
I notice that id and class are dynamically assigned to the child symbol, which makes it hard for me.
any ideas?Hi, I did it in this way, and functions well; maybe this is not the best way, but worked for me. Obviously this code is based on the elainafineell's correct solution.
This is my scenario:
In a Trigger @ xxxxms there is that:
var i = 1;
$.each(results, function(index, element)
var s = sym.createChildSymbol("mySymbol", "someContainer");
// some code here
// Creating the variable that save my new instance of mySymbol
sym.setVariable("var_id"+i, s);
i++;
// a global var, take care with the name
numOfInstances = i;
Then, in a click action of some button, symbol, anything that support an action, I code this:
sym.eraseSymInstance();
And, in the creationComplete, I code the function like this:
sym.eraseSymInstance = function()
for(var i = 1; i <= numOfInstances; i++)
var s = sym.getVariable("var_id"+i);
s.deleteSymbol();
For me function well.
I hope this can be usefull for somebody else. -
No authorization to purchase from product category
Hi
I am trying to add an item to the shopping cart. When I press "Add to Shopping cart" the following warning message came.
No authorization to purchase from product category 'Raw Materials'.
How should I assign this authorization to my user name(I have all the admin privilages).
Thanks for your help
VidyaHi
In the transaction PFCG, for the role of Startegic purchaser,under the Personalization tab,set the attribute BBP_WFL_SECURITY to '4'.Also,check the authorisation data for the Strategic purchaser role.
Check by giving SAP_ALL access to the user for time being.
Regards
- Atul -
No authorization to purchase from product category X
Hello,
when I click on shop and select the product (relicated from BE), while adding this item to SC got the error 'No authorization to purchase from product category xxx', but for the same material and product category I can create a free form SC or PO (through process purchase order) or a contract. I have assigned the rite Product categories to user and PGRP. pls let me know if you have seem this message before?
Thanks,Hi,
Please assign the product category in the extended tab in transaction PPOMA_BBP for the user.
In the transaction PFCG, for the role of Startegic purchaser,under the Personalization tab,set the attribute BBP_WFL_SECURITY to '4'.Also,check the authorisation data for the Strategic purchaser role.
You can check by giving SAP_ALL access temporarily.
BR,
Disha.
Do reward points for useful answers. -
Delete Condition Type Depending on Item category Va01
HI all,
I wan to delete condition record depending on item category. I have a good link from sap.This link explains how to hide the condition but i want the delete the condition. was badly struck here.
http://wiki.sdn.sap.com/wiki/display/ABAP/ManipulatingPricingconditionsdisplayinSalesdocumentwithUserExit-LV69AFZZ
Regards,
madhu
Edited by: madhurao123 on Mar 24, 2011 2:19 PMHi,
We had a similar requirement once, and towards the end we realised that deleteing rather than hiding it was a bad idea.
Think beyond the scope, that if a future sales order created with reference needs this condition record; manual entry will again be dependent on your pricing procedure and is a mess.
But if you do want to delete it; go into debugging and decide which user exit you would want to use and delete that line of the condition record from XKOMV table for that Sales Order
Maybe you are looking for
-
Is it possible to check the serial number of an ipod shuffle I bought about two years ago?
A friend of my daughter's took her iPod shuffle. My daughter saw it at her friends house and asked her about it and the friend quickly snatched it back and said I had given it to her. I never did. I asked her mum about it via text and said there must
-
Pls i need help with buying an app on the app store on my ipad too, at first it was giving me the problem of unable to process payment, i changed my card details on the store and now i get a new message sayion payment processing is temporarily unavai
-
Can Airport Express bridge off another Airport Express?
Hello All, Currently I have the current setup and working great for the most part. Aiport Extreme (Base) - Connected directly to my ISP Modem upstairs. Airport Express 1 (Bridge Mode) - Bridged to the Airport Extreme Base and placed midway hall upsta
-
Firefox being slow when using Flash
When using Flash in Firefox its becoming very slow or unresponsive. Could this because of to many addons ? if not is there any other reason ? == URL of affected sites == http://
-
Massive problem with remote destination
hello all, we have massive problems with our remote destinations. after i create the remote destination profile and added the line, i create the remote destination for my mobile phone. all ok so. but if im associate my mobile phone with the line by