Can't delete master spread
Dear All,
I'm trying to delete a master page but the option DELETE MASTER SPREAD is greyed out. It is not in use on any page, but still won't let me delete -- any idea why?
InDesign CC seems to be very quirky!
Small Town Gal
If you only have two master pages, that is [none] and A-master, and you did not use the A-master for some reason, you only use the [none] then you have no option to delete any of those master pages.
However if you have too many master pages, try to double check if you really did not use a particular master page by going to flyout of Pages -> Master Pages -> Select Unused Masters
After that go back to Pages -> then Delete Master Pages.
Hope it helps.
Similar Messages
-
Can't delete master record when matching when matching detail record exist
Hi
on the rel. property:
Delete Record Behaviour = cascading
Prevent masterless Operation =yes
Automatic Query = yesCan't delete Record Master & Detail...
On delete getting error msg.
Can't delete master record when matching when matching detail record exist
am i missing something...!
Regards,
Abdetu...First of all, remember the ripple affect of cascading deletes and updates.
Oracle database allows creating master/detail relationship between tables using foreign keys and allows cascading deletes by defining the FOREIGN KEY constraint with ON DELETE CASCADE clause.
Oracle Forms on the other hand, handle cascade delete thing internally when you set the relation properties.
Now if you have 3 tables with MASTER->DETAIL1->DETAIL2 relationship and you have a form defined with MASTER->DETAIL1 relationship only, it won't let you delete (and save) master or detail record since the third table (DETAIL2) is referencing the rows from DETAIL1 which you are trying to delete.
If DETAIL2 were present on the form, it would have deleted with relation property CASCADING. If you really want that when you delete a master record, all its details should be deleted too, then consider defining FOREIGN KEY constraints with ON DELETE CASCADE and on the form set relation property CASCADING.
And if all master/detail tables are on your form and still it is not allowing you to delete master with cascading, there must be some code preventing it. Check triggers like ON-DELETE, KEY-COMMIT etc what they are doing. -
How can I delete a spread that crashes InDesign every time?
While working on a file in InDesign I came across a spread that was inserted in the center of my .indd file. It is a spread and every time I select or modify it or the pages prior and previous the program crashes.
It is completely white until selected with the direct selection too when a blue dot appears in the center of the spread, when moved it increases the white background drastically and freezes InDesign.
It is the second random page that appeared in the file, the first disappeared.
I have tried deleting the spread, moving it to the bottom of the page, adding pages before and after and removing the new and broken pages... all with no avail.If you want to go to the spread, and if going there is causing a crash, try zooming in on a distant portion of the pasteboard where no page items are visible, then use either Layout>Go To Page, the scrollbars or the Page Up/Page Down buttons to get to the spread. When you arrive at the page, there should be no page items visible, so if that's what's causing your crash, you can select all and delete.
Might work…worth a try. -
Can we delete master data in SE14?
Hello all,
we changed one of the navigational attributes from time dependent to time independent when we transported it from dev to production the transport failed because the infoojebct could not be activated.
It wants us to delete all master data related to that attribute (so basically delete all Master data for that infoobject ) and the re-activate the infoobject.
There are way too many cubes and DSO that have data and have to be deleted before doing this infoobject, so is it ok to delete data via SE14 then activate the infoobject and reload all the master data for that infoobject.
Is this ok to be done? do you seen any issues that we should think of before hand? We have authorization do that.
Please let me know.
Thanks.Sathish,
Thanks for the reply but it will not delete all the master data right? Since the infoojbect is used in multiple cubes and ODS's and they have lots of data in it right now..
Or we will have to delete data from all these ODS and cubes before deleting data from infoobject.
If all the master data is not deleted can I still activate the infoobject for change in time dependency to a particular attribute?
Thanks again. -
Can Not Delete Master data 0Material
Hi Gurus:
I need to get rid of Leading Zeros for Material Number. My understanding is I need to do ALPHA conversion.
I did the follwing Steps:
1. Delete data from ODS
2. Delete Data from Master Data 0MATRIAL.
Although I deleted data from ODS, still when I try to delete data from 0MATERIAL it is giving me some error saying there will be still some data left.
3. I went to RSD1 and tried to do ALPHA conversion. I m getting following errors:
Master Data Table /BIO/PMATERIAL conatins data: Characteristc 0MATERIAL can not be activated
SID Data Table /BIO/SMATERIAL conatins data: Characteristc 0MATERIAL can not be activated
Test Data Table /BIO/TMATERIAL conatins data: Characteristc 0MATERIAL can not be activated.
Suggest me what I need to do.
Thanks in advance for your help!I did the follwing for 0MATERIAL. But getting errors.
fill the internal table "MONITOR", to make monitor entries
CALL FUNCTION "CONVERSION_EXIT_ALPHA_OUTPUT".
EXPORTING INPUT = COMM_STRUCTURE-/BI0/0MATERIAL.
IMPORTING OUPUT = RESULT.
RETURNCODE = 0.
result value of the routine
RESULT = .
if abort is not equal zero, the update process will be canceled
ABORT = 0.
$$ end of routine - insert your code only before this line -
This is the error I am getting:
E:Field "EXPORTING" is unknown. It is neither in one of the specified
tables nor defined by a "DATA" statement.
Thanks! -
If I want to delete Master Data that has already loaded ,Do I need to select delete with SIDs / without SIDs ?
Please let me know the reason as well...
thanksHi,
the best way is to delete with SIDs.
Anyway, you can only delete master data if you have no data into the transactional data target (ODS or CUBE) where this master data is contained.
Rgs
Antonino -
Delete multiple spreads with objects
I'm not able to delete more than one spread at a time if there are any objects on the spread. If I first delete all the objects, I can zap 100 pages all at once, but if there's even a single empty text box on a spread, I can only delete one spread at a time.
I'm certain I used to be able to do this . . .
CS3 v5.02, Windows XP SP3 . . .Works here. Been doing it all day.
Try replacing the prefs.
Peter -
I can't delete the master file, which is located on my external HD, through aperture
I import a folder to aperture which is stored on my external HD, and keep the originals on the HD. If I try to delete a master file with the option, file-delete master image and all versions, the photo deletes from Aperture, but not my hard drive. I have even tried to delete my trash, but no luck. Please help, otherwise I do not want to use aperture for file management, which was one of my major reasons for buying it.
After you've deleted a file it from the project it goes into Aperture Trash. When you empty Aperture Trash (Aperture>Empty Aperture Trash) you will get a dialogue box asking "Are you sure you want to permanently delete all items in the Trash?" Under this there is a checkbox giving you the option to "Move referenced files to System Trash". If you check this box it will move the master to the system trash, and from there you can permanently delete the file.
All this is to stop you from accidentally deleting work. -
How can I delete all the files in the Adobe CS4 Master Collection from my machine?
How can I delete all the files in the Adobe CS4 Master Collection from my machine. I have tried Control Panel but it will not do anything, there are no error messages, it is like as if it is ignoring my instruction. Why should it be so difficult to delete programs one does not want. Any ideas please.
Moved from Cloud forum to Downloading, Installing forum
Try running the Adobe Cleaner Tool
http://helpx.adobe.com/creative-suite/kb/cs5-cleaner-tool-installation-problems.html -
How can I add a library asset to a specific master spread?
Hello! I am new to the forums and rather new to javascript as it relates to indesign so I apologize if this is rudimentary.
I am building a script that automates new document creation for our company and have run into a problem with placing library assets.
I want to add a library asset to a specific master page by name, but I cannot find a way to do this.
I can get assets to place into my document with this:
var t = app.libraries.item(0);
var libTapeStrip= t.assets.itemByName('Tape Strip');
var myTapeStrip = libTapeStrip.placeAsset(myDocument);
However, the asset is being placed on a master spread that I had previously added to the document. It seems to be the active or front most spread because when the script is complete and I create a new window that spread is what is displayed with the asset on it.
I would like to place the asset on another master spread, but placeAsset() only accepts documents and text boxes. I have also looked on a way to bring the master spread I want to the front, but cannot find this either.
If anyone can lead me in the right direction I would appreciate it!!
Thanks,
Ben@Benjamin – You could make the spread (or the page) where you want to place that asset the "activeSpread" or "activePage", place the asset and then go back to the old active one.
Something like this:
(Here I assume that you want to place your asset on a master spread named "A-Master" and the asset is the first in the one and only library file that is open.)
var myDocument = app.documents[0];
var myMaster = app.documents[0].masterSpreads.itemByName("A-Master");
var myLibrary = app.libraries[0];
var myAsset = myLibrary.assets[0];
var myOLDActiveSpread = myDocument.windows[0].activeSpread;
myDocument.windows[0].activeSpread = myMaster;
myAsset.placeAsset(myDocument);
myDocument.windows[0].activeSpread = myOLDActiveSpread;
Uwe
Message was edited by: Laubender
Message was edited by: Laubender [Nothing edited in the code.] -
Is the folder 'Master' in Referenced Library useful? Can I delete it?
Hi,
I've switched from a managed to a referenced library.
I stress that after double checking ALL my photos are now stored outside of the library.
When I show the content of the apertue library package I can see the Master folder still contain 25GB+ of photos.
What are thses files?
Can I delete them?
Thx!Over time you'll end up with more content in the Master folder. For example, if you edit an image in an external editor, Aperture automatically creates a new original (master). These automatically created originals are always managed. You will need to relocate them after the fact to make them referenced.
-
Dear All,
can we delete vendor master records ?
if s how
regds,
CBHi CB,
Let me first convey you one concept that , Not only Vendor Master, We cannot delete ANY Master Data once it is created in the SAP System. The Only thing we can do is to set the Deletion Flag. That's all. For setting Deletion Flag for Each Master Record, there is respective transaction.
As you are inquring about Vendor Master
T. Code is XK06
Enter Vendor, Company Code and Purchasing Organization. In that select deletion Flag options which are A) All Areas Or B) Selected Company Code.
With option B) Selected Company Code functionality, you can block for vendor for one particular Company Code and for rest company codes, this vendor will be active.
I hope I have resolved your queries.
Regards,
Amol Joshi -
Can we delete the requests from Infoobject master data
Hello all,
we load master data process chains everyday. now when when we right click on the attribute "Manage" then there are lots of requests there.
Can we delete the older requests from there?
Does having lot of requests there slow down the performance?
Thanks in advanceRavi,
Yes we have transactional data also loaded. So you mean I cannot delete the requests from Infoobject ?
So can we use the given FM and delete master data lets says once a week ?
I am really confused about this. I tried deleting some of the request from ATTR (Right click on attr and then manage -> select request and delete) and it did actually get deleted so was that wrong thing to do ?
Thanks for reply -
How can we delete HR MASTER DATA of employees
Hi all,
i need ans for this .
Actually i don't need 3 persons information in hr master data.So how can i delete this,when iam trying to delete it is showing time constraint is 1.So tell me how to do this.
Thanks in advThank you suresh,
My problem has solved.
Thank u very much......... -
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
Maybe you are looking for
-
Issues with subject line when moving emails to another folder
Hi. For the past few months I've been having a problem moving groups of emails from my inbox to another created folder. When I move a group of emails to another folder the subject of all the emails swap with each other. The issue seems to be with the
-
Guys, what is going on two phones exchanged in store today all had battery draining problems once phone updated to iOS 6.0.2. First phone wouldn't last 3 hours usage even in plane mode function. Second phone bit better battery life 3 hours 15 minutes
-
How do i find out the speed of file transfers
Hi all, first i have to admit i dont actually have a Time Capsule, i have a Western Digital MyBookLive with which i backup my MacBookPro using Time Machine. I have also upgraded my Router to one with Gigabit LAN, my MacBookPro is gigabit and so is my
-
Broadband becomes very slow all of a sudden
Hi I've been with BT for a quite a while now and i'm happy with the service they provide until now. Ok so I started out with BT Total Broadband Option 1 and then gradually moved to Option 2 and now 3 I had all the Home Hubs V1 and V2 and currently wi
-
Need sample code for Using BADI ME_PROCESS_REQ_CUST
Dear all, Initially my requirement is to Validate the Document Type of Purchase Request ion as per material. I have created a implementation for BADI : ME_PROCESS_REQ_CUST . im new to OOPS-ABAP, so pls send *sample code for how to use these methods P