Using Charm at cutover to handle deleted objects
Hello experts,
System landscape contains of dual landscap meaning one project ladnscape and one maintenance landscape.
Project: D01>T01>Q01 ( no charm )
Maint: DEV>QAS>PRD ( charm is used )
At project Go Live cutover is done från Project line Q01 to Maint DEV.
All transports imported in Q01 is added manually to import queue of Maint DEV and imported.
After that 1 WB request and 1 Cust. request is created via charm and all objects from the
cutover transports imported are added to those chamr transports. Then charm handles the
transport process through the maint landscape up to production.
Problem
=======
If cutover transports contains deletion of objects, the transports are imported to DEV maint, object is deleted.
When including all objects from cutover transports into the two charm transports it will then ofcourse fail during
releae of the transports on the deleted objects as they no longer exist in DEV maint. This is of course not a specific
charm problem but a TMS problem. Or not even a problem it is as it should be.
Question
========
Is there any way of handling this scenario, can charm in any way handle this ?
Thanks,
I checked the link you provided and that descibes as you say a dual landscape but i don't think it will solve this problem.
As i understand you setup the retrofit process one-way and that would be Maint DEV --> Project DEV.
That is all fine keeping all changes done in maintenance landscape in synk with project landscape.
But the cutover process is manual, as also the drawing states, meaning adding project landscape transports
to Maint DEV system import queue and import them. But if a transport contains objects with the delete flag it will be
deleted in the Maint DEV system. All fine that far. But when you then inlcude all cutover transports objects into a charm transport it will not check if object still exist in Maint DEV system ( wich it does not anymore ), it will include evertyhing that is part of the cutover transports. Meaning you include objects with delete flag on it. When you release this now in Maint DEV system what it does is to check if object exist in TADIR, it does not. You can fool this release process by manually create an entry in TADIR, release the transport, then delete the entry in TADIR. But if you have cutover transports with many deletions, then this is not the way to go.
So please explain how the retrofit procedure would help in the scenarion at cutover and delete flag.
Thanks.
Similar Messages
-
Using ChaRM to register objects in Marketplace
Hello,
We want to control what changes are done to SAP standard workbench objects, using ChaRM, so that for example every time a program needs to be registered to make customer modifications in the marketplace we can do it using a ticket from ChaRM. Then we can have an approval process and a total traceability.
Is that possible? Is there any alternative way to have that controlled in Solution Manager?
I appreciate your comments.
Regards
EstebanHi Prakhar,
Thanks for your answer. However the issue is a bit different. Customer found that they want to make a modification in a standard code because of business needs. So, they need to access to the marketplace to register that object. No incident was created in Service Desk, no notes from SAP. We want to have a Change Request and a Change Document to control the modifications and registration of this object. However I did not found any action in ChaRM Change Document that allows me to access marketplace and keep track of this registration in the change document.
Do you have any idea?
Many thanks
Esteban -
BW variable: Inconsistent in loading. please check use of deleted objects
Hi Experts,
I encountered an error and can not solve it following OSS note.
When I create a variable in query definition for an infoobject, it prompts an error dialog 'Inconsistent in loading. please check use of deleted objects'.
I checked the OSS notes 792779, there is a such description:
The variable existing in the table RSZGLOBV, but not existing in the tables RSZELTDIR or RSZCOMPDIR have inconsistent definition. These situation may return 2 different error messages. When a variable is missing in RSZELTDIR table (or in both together), an attempt to expand a list of variable under a corresponding InfoProvider or a list of text/formula variables will return a message 'Inconsistency in loading...'. All variables which are created for corresponding InfoProvider, text/formula variable are not available. When a variable is missing in the RSZCOMPDIR table only the error message is 'Missing UID XXXXXX... in RSZCOMPDIR! You may continue to work, but this component is not loaded' in Query Designer
But I checked these tables RSZGLOBV and RSZELTDIR and RSZCOMPDIR. I can find a variable for this infoobject, such as TC_SREG, in these tables. That is, this variable should be availbale in the query definition.
I don't know why.
My sap bw is 3.1, without the program 'ANALYZE_RSZ_TABLES'.
Many thanks for you help.Hi,
While installing business content make grouping as Data Flow before and collection mode as 'Automatic'. Then expand the Tree in the tree you can see Info Object Catalogue. All installed and activated object will be in green (Active Mode). those will be normally unchecked to install anyway cross check and if found anything check deselect them. Go for Simulation Installation to identify unforeseen errors. Install the same and activate entire data-flow.
Hope your issue will be resolve
Thanks
BVR -
Querying deleted objects container in Active Directory using JNDI
Hi,
I am trying to query deleted objects container using JNDI which fails with error 64.
Has anyone seen this or knows how to query AD using binary data in JNDI.
Seems to me there is some problem with the search base.
search base: <GUID=18E2EA80684F11D2B9AA00C04F79F805,dc=engserver,dc=com>.
filter: objectclass=*
search scope: subtree
This is the error:
Search example failed.
javax.naming.InvalidNameException: <GUID=18E2EA80684F11D2B9AA00C04F79F805,dc=eng
server,dc=com>: [LDAP: error code 64 - 00000057: LdapErr: DSID-0C090563, comment
: Error processing name, data 0, v893 ]; remaining name '<GUID=18E2EA80684F11D2B
9AA00C04F79F805,dc=engserver,dc=com>'
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2802)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2616)
at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1744)
at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1667)
at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirCon
text.java:368)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCom
positeDirContext.java:328)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCom
positeDirContext.java:313)
at javax.naming.directory.InitialDirContext.search(InitialDirContext.jav
a:245)
at jSearch.main(jSearch.java, Compiled Code)
Thanks,
ChetanI thought I had posted one of these. How remiss of me !/**
* deleted.java
* 5 July 2001
* Sample JNDI application to search for deleted objects
* Modified December 2004 to add Win2K3 lastKnownParent
import java.util.Hashtable;
import javax.naming.*;
import javax.naming.ldap.*;
import javax.naming.directory.*;
import com.sun.jndi.ldap.ctl.*;
class DeletedControl implements Control {
public byte[] getEncodedValue() {
return new byte[] {};
public String getID() {
return "1.2.840.113556.1.4.417";
public boolean isCritical() {
return true;
public class deleted {
public static void main (String[] args) {
Hashtable env = new Hashtable();
String adminName = "CN=Administrator,CN=Users,DC=ANTIPODES,DC=COM";
String adminPassword = "XXXXXX";
String ldapURL = "ldap://mydc.antipodes.com:389";
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
//set security credentials, note using simple cleartext authentication
env.put(Context.SECURITY_AUTHENTICATION,"simple");
env.put(Context.SECURITY_PRINCIPAL,adminName);
env.put(Context.SECURITY_CREDENTIALS,adminPassword);
//connect to my domain controller
env.put(Context.PROVIDER_URL,ldapURL);
try {
//Create the initial directory context
LdapContext ctx = new InitialLdapContext(env,null);
//Create the search controls
SearchControls searchCtls = new SearchControls();
//Specify the attributes to return
String returnedAtts[]={"distinguishedName","lastKnownParent"};
searchCtls.setReturningAttributes(returnedAtts);
//Specify the search scope
searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
//specify the LDAP search filter
String searchFilter = "(&(objectClass=user)(isDeleted=TRUE))";
//Specify the Base for the search
String searchBase = "DC=antipodes,DC=com";
//initialize counter to total the results
int totalResults = 0;
//specify the Deleted control
Control[] rqstCtls = new Control[] {new DeletedControl()};
ctx.setRequestControls(rqstCtls);
//Search for objects using the filter
NamingEnumeration answer = ctx.search(searchBase, searchFilter, searchCtls);
//Loop through the search results
while (answer.hasMoreElements()) {
SearchResult sr = (SearchResult)answer.next();
totalResults++;
System.out.println(totalResults + ". " + sr.getName().toString());
// Print out some of the attributes, catch the exception if the attributes have no values
Attributes attrs = sr.getAttributes();
if (attrs != null) {
try {
for (NamingEnumeration ae = attrs.getAll();ae.hasMore();) {
Attribute attr = (Attribute)ae.next();
System.out.println("Attribute: " + attr.getID());
for (NamingEnumeration e = attr.getAll();e.hasMore();System.out.println(" " + e.next().toString()));
catch (NullPointerException e) {
System.err.println("Problem listing attributes: " + e);
System.out.println("Deleted objects: " + totalResults);
ctx.close();
catch (NamingException e) {
System.err.println("Problem searching directory: " + e);
} -
Handling 3d objects using JavaScript for Acrobat 3D Annotations API
I am trying to learn how to handle 3d objects with this manual: http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/js_3d_api_reference.pdf
When I execute some code, for example,
myTimeHandler= new TimeEventHandler();
myTimeHandler.onEvent= function( event )
console.print( "Current simulation time is:" + event.time );
console.print( " second(s)" );
runtime.addEventHandler( myTimeHandler );
I get an error like this:
TimeEventHandler is not defined
Why?
P.S. I have 3d object in the document, and can get it with function getAnnots3D.You have to run the code in the context of the 3D annotation (by attaching the script to the annotation's properties panel, or by right-clicking the active 3D scene and choosing "run a javascript". You cannot run it in the console.
-
Anybody use Transport Copies using CHaRM
Hi
Did anybody use transport copies options in CHaRM? When I use it's displaying only the transport created using CHaRM. But I need the transport created outside CHaRM?
By the time configured CHaRM, developer already working on the development system and created quite bit of Transport requests. Now wants to include all those transport request into CHaRM created transport request.
Looking for 2 options.
1) Register Transport Requests
2) Transport Copies
Tried both are not working. If any otherway please suggest.
Thanks
AvaHi,
The option 'Register Transport Requests' will only link the outside transports to the maintenance cycle. You can't work on these transports through a Correction Document (such as Normal Correction ).
In case you have already created transports outside of chaRM and these transports are not yet released you can do the following:
1. Create a Change Request and Correction Document
2. Create a transport request from this correction document
3. In the development system to go to se09 and use the option 'Merge Requests' (and not include objects). This will delete the previous request and move all your objects to the request created through chaRM (and you will not run into any lock issues).
4. For the transports which are released you can use the 'Include Objects' option.
The transport of Copies functionality when used from within ChaRM will create a copy of your original transport and move it to the QAS system. It will not load the production buffer. In case you find any issues while testing in QAS, you can still go back in DEV and add changes to te original transport request. This way all your work gets added to the same TR and you can keep doing transport of copies for testing in QAS. Once your are ready you can release your original TR.
Thanks,
Kriti Bhalla. -
IDCS5.5 - Can't delete objects
This is new. I've never seen this problem before. I draw a box, or a circle, or a text box... basically any object and I cannot delete them using the delete key. I can only delete them by using command-x. I can move them, re-size them, change fonts, change colors. They aren't locked. They aren't on a locked layer. They do have a different look than if I draw the same shape or text box (etc) in CS4. See below:
I've never noticed the blue or yellow boxes before. I've try using contextual deletion too. Nothing works. Is this a new "feature"?You use the blue box to drag the object into postion as an anchored object in your text so you no longer need to go through cut and paste. The yellow activates corner effects -- click it and then drag any corner toward a center handle.
The delete problem soundl like either you are using a set of Keyboard shorcuts that disabled the key for that purpose, or maybe your prefs are corrupt (more likely if the contextual menu doesn't work, either). -
UnitOfWorkChangeSet and deleted objects
I would like use the UnitOfWorkChangeSet for auditing changes made to the objects. It seams that the UnitOfWorkChangeSet contains new objects and updated objects, but I cannot find deleted objects. The function UnitOfWorkChangeSet.getDeletedObjects always returns an empty set.
1) How to get deleted objects?
2) Where can I find the best information about usage of the change sets?
3) Can I process the change set after calling the method commit or is it better do it in any SessionEvent method (if so - which method should I use?)?
Thank you in advance for any help
Jan KostrhunHello Jan,
For effeciency reasons the deleted objects are only placed in the UnitOfWorkChangeSet in the case of Cache Coordination (Cache Synchronization). If your application is not configured to use Cache Coordination the deleted objects can be found in unitOfWork.getObjectsDeletedDuringCommit(). Please note that this is an internal method in TopLink that may change in future released.
Accessing the UnitOfWorkChangeSet after you have called commit is fine.
--Gordon -
Hello,
I have been unable to locate information regarding how the EDB handles deleted files. I am able to recover deleted emails from the EDB; however, there are numerous emails that I know have been deleted, that were not recovered during the recovery process.
Is this because the EDB dumps deleted emails once it reaches a certain amount of entries? Or is it more likely the deleted items are corrupted and thus not recoverable? Thank you for your time and I look forward to your responses. The
product in question is Microsoft Exchange Server 2007.Great information from the other posters and one other possible explanation is if the users did a HARD DELETE. More information on this below
Pre-Exchange 2010 Dumpster 1.0 worked as follows;
1. When a user does a normal delete of an item via Outlook or OWA it gets sent to your deleted items folder
2. If the user then empties deleted items folder those items are then marked with the ptagDeletedOnFlag attribute which in essence hides them from the view of the user
3. At this point the user can use the Recover Deleted Items function in Outlook to recover those items as long as the items were NOT purged using the Recover Deleted Items option OR the items have not passed still the deleted item retention period.
NOTE: Every day there is a nightly maintenance process that in short looks through the DB and examines items that have been deleted. Items that have met or exceeded the deleted item retention period are purged from the system and are
completely non-recoverable. More about this at the end of my post.
4. However if the end user were to delete an item from the Inbox or another folder in Outlook by using Shift + Delete aka a Hard Deletion the item is left in its orignal location and gets marked with the ptagDeletedOnFlag attribute which again just
hides it from view.
5. By default you can only use the Recover Deleted Items option on the Delted Items folder. Howeve you can make it so that you can recover hard Deleted items from other folders. More on that here http://support.microsoft.com/kb/246153
5. The problem with this method though IMO is that you have to know where to look and that can be rather time consuming.
6. If you want a more elegant method to resolve this and are open to using 3rd party utilities check out Lucid8's DigiScope.
http://www.lucid8.com/product/digiscope.asp which will allow you to open any offline copy of the DB from a forensic point of view and to solve your specific issue you can either turn on a filter to ONLY
show hard deleted items OR you can search the entire store and all mailboxes for just deleted items and can then view or export them to PST or MSG format. You can download the product and obtain a 30 day demo license which will allow you to find any
hard deleted items, however to view them or export your would need to purchase a license.
NOTE: When a database is backed up or copied it is an "Offline" database and then its offline the data retention period is not an issue because the nightly online maintenance process can only act on a database that is mounted on an
Exchange server. So for this reason if you want to recover the most data possible use offline copies/backups of the DB with a 3rd party utility like DigiScope
NOTE 2: Exchange 2010 and 2013 use Dumpster 2.0 which is an entirely different beast and I will not go into that in this post since its nearly 1AM however DigiScope can expose that information as well
Search, Recover, & Extract Mailboxes, Folders, & Email Items from Offline Exchange Mailbox and Public Folder EDB's and Live Exchange Servers or Import/Migrate direct from Offline EDB to Any Production Exchange Server, even cross version i.e. 2003
--> 2007 --> 2010 --> 2013 with Lucid8's
DigiScope -
Problem with deleting object in LDAP server
Hi,
I am writing a Java Ldap client which performs object search/deletion/addition/modification.
Now I can search the object via DN using the client program.
When I try to delete, the program goes through without any exception. But the object
still exists in the Ldap server.
Did I miss anything in my program?
BTW, I can use the same uid/passwd to delete the user from the Netscape Ldap console.
But not from the client program.
Here is the short program:
try {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost:389");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "uid=sysadmin, ou=Directory Administrators,
o=abc.com");
env.put(Context.SECURITY_CREDENTIALS, "sysadmin");
DirContext ctx = new InitialDirContext(env);
ctx.destroySubcontext("userId=steve, groupId=client, o=abc.com");
System.out.println("Deletion successful");
} catch (Exception e) {
e.printStackTrace();
System.exit(1);Use FM
EPS_DELETE_FILE or CONVT_DELETE_FILES
to delete file or you can use
DELETE DATASET
statement.
rgds,
TM.
Please mark points if helpful. -
Use of raise in exception handling block
what is the use of raise in exception handling block for eg.
declare
a number;
b emp.empno%type;
begin
begin
SELECT empno INTO a FROM emp where 1=2;
exception
when others then
dbms_output.put_line('inner');
raise;
end;
exception
when no_data_found then
dbms_output.put_line('outer');
end;
output will be like below ..
inner
outer
PL/SQL procedure successfully completed.
my question is wht is the use of using raise in exception handing part, is there any specific reason we use in the development ????
Regards,
AAK.In the first block, you do not raise you user-defined exception WHEN_NO_DATA_FOUND, but the predefined one, which is raised to the WHEN OTHERS exception handler.
Consider:
SQL> declare
2 a number;
3 my_err exception;
4 no_data_found exception;
5 begin
6 begin
7 select 1 into a from dual where 1=2;
8 exception
9 when no_data_found then
10 dbms_output.put_line(' In system defined');
11 raise my_err;
12 end;
13 exception
14 when my_err then
15 dbms_output.put_line('In User Defined');
16 when others then
17 declare
18 v_sqlerrm varchar2(100);
19 begin
20 v_sqlerrm := sqlerrm;
21 dbms_output.put_line(' In when others '||sqlerrm);
22 end;
23 end;
24 /
In when others ORA-01403: no data found
PL/SQL procedure successfully completed.
SQL> ed
Wrote file afiedt.buf
1 declare
2 a number;
3 my_err exception;
4 --no_data_found exception;
5 begin
6 begin
7 select 1 into a from dual where 1=2;
8 exception
9 when no_data_found then
10 dbms_output.put_line(' In system defined');
11 raise my_err;
12 end;
13 exception
14 when my_err then
15 dbms_output.put_line('In User Defined');
16 when others then
17 declare
18 v_sqlerrm varchar2(100);
19 begin
20 v_sqlerrm := sqlerrm;
21 dbms_output.put_line(' In when others '||sqlerrm);
22 end;
23* end;
SQL> /
In system defined
In User Defined
PL/SQL procedure successfully completed.
SQL>Note that in the second block, I deleted the declaration of the user defined exception NO_DATA_FOUND.
This is taken from the documentation:
Redeclaring Predefined Exceptions
Remember, PL/SQL declares predefined exceptions globally in package STANDARD, so you need not declare them yourself. Redeclaring predefined exceptions is error prone because your local declaration overrides the global declaration. For example, if you declare an exception named invalid_number and then PL/SQL raises the predefined exception INVALID_NUMBER internally, a handler written for INVALID_NUMBER will not catch the internal exception. In such cases, you must use dot notation to specify the predefined exception, as follows:
EXCEPTION
WHEN invalid_number OR STANDARD.INVALID_NUMBER THEN
-- handle the error
END;You can read yourself :
http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14261/errors.htm
Regards,
Gerd -
Error - Trying to delete objects (Positions)
Via Report RHRHDL00, I am trying to delete a few positions, I created for Testing.
I am getting error u201C STOP: The information entered is incorrect, Cost Center missing . Please contact your SAP Rep before completing this.
I am getting the same error via Tcode RE_RHRHDL00
Why should I get this error, when I am just deleting objects?
Please help.You can use the above report to delete the OM object. However first remove the OM and PA integration if the postion is still assigned and then execute.
In case you want to delete the person completely you can use the program RPUDELPN. -
I need to display the deleted WBS elements. I cant see it via CN60 even with the proper configuration (element type + change document in project profile) set.
Do you know if there is a way to see it?Hello Raquel Melo,
What do you mean by deleted objects?
First is Deletion flag which is used to restrict any entry for specific Object. for this you have to set Deletion flag as status of that object. after this status object can be in blue color to highlight.
and in standard system object can be deleted permanently from database only in created status. otherwise deletion flag is only the option after release on object. and this can be shown or hide by setting as described above.
thanks
Sunil -
Transportation of deleted objects
Hello All,
some unnecessary Queries and workbooks are transported to Test system and then to Production.Instead of deleting them manually in each system,i think we can delete them in development and write to transport request and then transport it to test and production systems..
can anybody let me know the procedure?
Bye.Hi Rakesh,
Normally you can use RSZDELETE for deleting queries and other reporting objects in Dev Also. If such a object was already transported before, you will automatically get a transport request for the deleted object. There is no need to goto the transport connection for that. After releasing and tranporting the request, the objects will automatically be deleted in the target systems.
If you clear your open bex request and then do the deletions that you want to do, the only things in your bex request will be the queries to delete. If it is collecting other objects that you don't want to transport, you can manually remove those objects from your transport.
Hope this helps,
Sudhakar. -
Open Directory deleted objects
Hi,
I am familiar with performing ldap searches on Active Directory. I was wondering if the Open Directory has support for tombstone objects like AD or does it have other method to store the deleted objects which can be retrieved using an ldap search?The article is still valid so you can refer to it and apply what is mentioned.
Of course, it is always recommend to try changes in a test environment before going to production.
This posting is provided AS IS with no warranties or guarantees , and confers no rights.
Ahmed MALEK
My Website Link
My Linkedin Profile
My MVP Profile
Maybe you are looking for
-
Port Forwarding For WinXP (RDC) (Using AE 802.11n)
I have some problem and I need some thoughts and input from someone else, Here goes. Here is what im looking to accomplish. From my work I want to be able to connect into my machine at home (windows XP). I cannot use the standard RDC (Remote Desktop
-
Xcelsius 2008 SP3 + SAP BW Integration
Hi All, We are at BO Enterprise Server Ver 3.1 SP2 Fix Patch 2.5 on OS: AIX 5.3, Xcelsius 2008 SP3.1 and BW 7.0 Xcelsius is unable to connect to BW. Msg we receive is..... "The system you are currently connected to is not BW 7.02 or newer. Please dis
-
hello, is it possible to import data from other sources by using scripts in AE? I would like to generate a composition that uses a var "name" that would be taken in a list of names in a database or a source out of AE. Thks,
-
InDesign CS6 plug-in not recognized correctly by InDesign
I have been trying to create a simple InDesign CS6 plug-in that writes to a log file as I'm opening & closing InDesign documents. SDK package had the LinkWatcher sample that I've been using as a reference when creating my solution. Currently the prob
-
Regarding subtraction of 10 days from the current date
Need to know how I can get 10 days subtracted from the current date before the report is excuted. This needs to appear in the selection screen before the report is excuted. The select option contains two fields the first field is the date which is 10