How to compare objects between systems
Hi,
At the moment I am busy activating business content in BW for an SAP IS-U project. Here I encounter the following problem:
In the past others have been activating business content objects and they have assigned a developer class to it. Then they decided they did not need those objects and they deleted their transports.
Now when I want to transport objects to the acceptance environment quite often transports fail due to missing objects (which have never been transported). The automated activation does not include these dependent objects, as it thinks they are already available.
Is there a way to compare two systems to see which objects are missing and need transporting (without sifting through each InfoObject/transfer rule etc by hand to check its existence)?
Preferrably I would like to know table names so I can compare SE16 lists, but other suggestions are also more than welcome.
Otherwise an easy way to see the technical names of those objects so that I can add them manually to a transport request?
Thank you very much,
Crispian
Hi Crispian,
Welcome to SDN!!
You can use the following tables for comparing:
RSDIOBJ - For info-objects
RSDCUBE - For Cubes
RSDAREA - InfoAreas
RSDCHA - Characteristic Catalog
RSDCUBEIOBJ - Objects per InfoCube (where-used list)
RSDIOBC - InfoObject catalogs
RSDIOBCIOBJ - InfoObjects in InfoObject catalogs
RSDKYF - Key figures
RSIS - InfoSource (transaction data)
RSTSRULES - Transfer structure transfer rules
RSDODSO - ODS
Hope this helps.
Bye
Dinesh
<i>Assigning point to the helpful answers is the way of saying thanks in SDN. you can assign points by clicking on the appropriate radio button displayed next to the answers for your question. yellow for 2, green for 6 points(2)and blue for 10 points and to close the question and marked as problem solved. closing the threads which has a solution will help the members to deal with open issues with out wasting time on problems which has a solution and also to the people who encounter the same porblem in future. This is just to give you information as you are a new user.</i>
Message was edited by: Dinesh Lalchand
Similar Messages
-
How to compare data between two tables?
Hi,
My team is trying to develop a SAP data migration tool (DMT) using ABAP.
One of the functionalities in the DMT is to validate the data in the staging area against the loaded SAP data.
The tables in the stagin area are customer tables (i.e. user-defined tables starting with Y, Z).
How do I compare the data in the staging area against data that are loaded into SAP tables? Are there some built-in SAP functions to do this? Or, are there some better ways of doing this (e.g. instead of comparing against data in the SAP tables, we compare with some INTERNAL tables)?
Any help would be greatly appreciated, thanks!Hi Kian,
Use <b>SCMP</b> transaction to compare data between two tables and you can not use this for comparing internal tables.
Thanks,
Vinay -
How to compare date between 2 file?
hi there...
is there any possibility to compare date between 2 file and the file that is latest to open?
thank youi need help urgently..... i type tis code
<%
String file = ("C:/");
File f = new File(file);
String [] fileNames = f.list();
File [] fileObjects= f.listFiles();
%>
<UL>
<%
for (int i = 0; i < fileObjects.length; i++) {
if(fileObjects.lastModified()){
%>
<LI>
<a href="<%= fileNames[i %">"><%= fileNames[i] %></A>
<%
%>
my purpose is to list out all the file in the folder but not to the user just for the system to check all the files than when i click a link it will open the latest file
Message was edited by:
n_dilah</a> -
How to center object between two guides (or one guide and edge of artboard)
Simple question: how can I center an object between two guides or between a guide and the edge of the artboard?
Chris,
You may (Smart Guides are your friends):
1) Create a rectangle between the two Guides or between the Guide and the Artboard edge, by ClickDragging with the Rectangle Tool from (the desired spot) on one to (the desired spot) on the other (Smart Guides say path/path or path/page when you are there);
2) Select both the rectangle from 1) and the object, then Click the rectangle again, then use the relevant options in the Align palette.
That should move your object to the centre in the direction(s) you choose. -
Comparing objects from system other system
Hi,
I need to compare the multiprovider from development system to production system.Is there is any program avilable to compare objects. Please share.
Thanks,
vikkHi Vikk,
The important thing for multiprovider is characteristics and key figures identification.
Use table RSDICMULTIIOBJ for getting the complete list of infoobjects having identification in multiprovider. Now you can either download the complete mapping in two excel sheet and then do the comparison using some vlookup technique.
Or You can simply do the online comparison over development and production system.
Regards,
Durgesh. -
How to Synch Tables between systems
Hi,
I have a 1 field DDIC Table on my R3 System and the same table definition resides on my BW System. I would like to transfer the contents of my R3 Table over to my BW Table.
Can someone tell me the best way to do this? I am guessing I could write a Remote Enabled function module to do this? Can anyone help get me started on this?
Thanks!No, sorry. I only used I-Docs once to move Classification Master Data between systems. I know that's what's I-Docs are for, but your requirement seems to be a little more 'specific' rather than 'standard SAP I-Doc'. I also know that you can come up with your custom I-Docs, but never did that.
Try a search on I-Docs and you'll find more information.
Don't you have any BW tool or cube or something that can retrieve the info from R/3? I'm not very familiar with BW, but I know that's how it works... and also by calling RFC functions on the R/3 side, which in some cases needs to be developed.
Cheers,
Andres. -
How to compare data between two worksheet in Excel for applescript
Hi All,
How to compare the data from two different worksheet in Excel and set the value into one worksheet according to the same name? Here is the example. Worksheet 1 & 2 current we have, the final worksheet is the result we want and the value can be input in worksheet 1. Much appreciate if you can help on it.
Worksheet 1:
Name Number
Leo 25
Jame 55
Leo 30
Jame 60
Tim 44
Tomas 77
Lyne 35
Tonny 66
Jame 22
Game 88
Worksheet 2:
Name Number 2
Leo 60
Jame 150
Tim 66
Tomas 88
Lyne 55
Tonny 99
Game 111
Rusult in Worksheet 1
Name Number Total Number per name in Worksheet 1 Number 2 in Worksheet 2
Leo 25 55 60
Jame 55 137 150
Leo 30 55 60
Jame 60 137 150
Tim 44 44 66
Tomas 77 77 88
Lyne 35 35 55
Tonny 66 66 99
Jame 22 137 150
Game 88 88 111I'd probably use a database for this, if there's any quantity of data involved here. Import from Excel into {SQLite, MySQL, PostgreSQL, FileMaker, maybe Core Data}, or pick your preferred key-value store, keep your data in the database, then export or (via ODBC/JDBC) then access live database data from within the spreadsheets.
Alternatively and if you're looking at small quantities of data (say, less than 10,000 entries, or less than a thousand depending on the language), then just use whatever passes for a key-value store in your preferred scripting language {Python, bash, Lua, or maybe php, AppleScript or Java} and use that. Export Excel to CSV {gag} or XML, then load that into Python and process as needed, then write out CSV {gag} or XML.
AppleScript is a scripting language for GUI applications, and also useful for processing events. If you're not doing that sort of stuff, then there can be other choices, and other choices can often have extensive frameworks and libraries for common tasks.
Sooner or later, most everybody runs into a wall when using a spreadsheet... Various folks have encountered those limits and have migrated from spreadsheets to FileMaker databases, and now use a database as the central store for their operations — and that's the other issue that can arise with spreadsheets... Where's the canonical data? -
How to compare the current system time with two timing?
want to get the current system time and compare with the two different timing example startwindow time as 2:00:00AM and endWindowTime as 6:00:00AM. if my current system time falls between these window i have to execute my rest of the code.
my below code works for fine for JAVA 1.6 version when i do the same code with JAVA 1.4 i am getting different date and time
String starTime=(String) NightlyvendorStatus[0].getPropertyValue("startTime");
String endTime=(String) NightlyvendorStatus[0].getPropertyValue("endTime");
Date windowStarttime = new SimpleDateFormat("HH:mm:ss").parse(starTime);
Date windowEndtime = new SimpleDateFormat("HH:mm:ss").parse(endTime);
Date systemdate = new Date();
SimpleDateFormat parser = new SimpleDateFormat("HH:mm:ss");
String systemTime=parser.format(systemdate);
Date currentTime = new SimpleDateFormat("HH:mm:ss").parse(systemTime);
if (currentTime.after(windowStarttime) && currentTime.before(windowEndtime)){
--- rest logic here---}
the output from JAVA 1.4 IS Thu Jan 01 02:00:00 GMT 1970 Thu Jan 01 06:00:00 GMT 1970 Thu Jan 01 03:23:00 GMT 1970
HOW TO DO this logic..Hi,
You can try converting dates into timestamp and compare just like as comparing two integers variables.
Regards,
Anshul -
Hi all,
I need to compare the code of a report between our test and development systems. I know SE39 will do a compare but when I run se39 in DL2 (development) I can't see TL2(test system) in the list. The same happens when I run se39 in TL2, I can't see DL2 in the list of systems. That's only the first part of the problem. The second part is I can't open the code in our test system. I'm trying to look at the report RV13F501. It is for Transaction VK11. This transaction works fine in our test system but not in development. In development it has a runtime error on the last IF statement:
IF KOMGF-ZZPMATN IS INITIAL AND LFD_INDEX < R_BEDNG.
R_SUBRC = 4.
EXIT.
ENDIF.
ADD 1 TO LFD_INDEX.
The problem is ZZPMATN is not in the table KOMGF. However, it isn't in the table in either system so I need to find out why it works in Test but not Dev. Any help would be appreciated!
Regards,
AaronMartin,
How do I check the created by user or the transport it belongs to?
Also here are the comments at the beginning of the program. They concern me a bit.
Report for the access of condition records. *
Usage : F *
Table : 501 *
Physical Tab : KOTF501 *
Report-Generation from 01/18/2007 17:03:02 *
Please do not call this coding directly. You must first call *
the function RV_T681_SELECT_AND_GENERATE to insure that the report *
exists and/or is up-to-date. *
Do not change this report; your changes will be lost ! * -
How to pass objects between servlet services
I wanted to pass an object from one service to another service and that object must be visible only for these two services. I don't want to use session.setAttribute or session.getAttribute to do this. When I use request.setAttribute and request.getAttribute methods not helping me to do this. Is there a way to do this?
Between, how these request.setAttribute and request.getAttribute methods useful?
regds
-rajuActually, I set attribute in one of the service
methods. Within that service method a form will be
there. After pressing submit button in that form, the
other service will be called. Does it mean that both
the services are not in the same request scope, even
if they are in the same servlet?They are on different request scopes. Each time the user clicks a link, they make a request to the server. The server processes the request creates a response and send that response back to the client. Once the response it sent (and finished being sent) the request is done with, and anything is request scope goes out of scope. When the user clicks the submit button, a NEW request (and request scope) is made to handle that ...
Your best bet is to use a session here. It is the easiest way to maintain state between requests. That is what the session is designed for. -
How to compare dates between two items
Hello all,
I am trying to compare dates in two items.
The first item is a computation P45_PAGE_LOADED_TIME
select sysdate from dual;
This essentially keeps track of when the user opened the form. They are accessing data that may become obsolete while they are in the form.
So we have a dynamic action that finds the last_update date from a table. This field is of type date. It is placed in a text field called P45_STATUS.
We then have a notification which we want to fire when P45_PAGE_LOADED_TIME is before P45_STATUS. We tried the following condition
declare
least_date date;
begin
SELECT LEAST(TO_DATE(:P45_STATUS),TO_DATE(:P45_PAGE_LOADED_TIME)) into least_date
from dual;
if least_date = to_date(:P45_STATUS) then
return false;
else
return true;
end if;
end;
Any guidance would be most appreciated.
ThanksMaybe your better off putting your anonymous block into a plsql function.
A function that you can test. If it works in plsql then you must call it in APEX.
I kinda get a headache when I see that least, to_date, to_date query (although I've seen worse :p)
Make it like:
create or replace function fun_least_date(in_status in varchar2,
in_page_loaded_time varchar2) return boolean
is
l_status date;
l_page_loaded_time date;
least_date date;
l_return boolean;
begin
l_status := to_date(in_status, 'FORMAT MASK!!!');
l_page_loaded_time := to_date(in_page_loaded_time, 'FORMAT MASK!!!!');
least_date := least(l_status, l_page_loaded_time);
if least_date = l_status then
l_return := false;
else
l_return := true;
end if;
return l_return
end fun_least_date;If your sure that your function is correct then use it as a condition for your dynamic action.
Regards
Nico
ps: I haven't tested that function. Be aware that you most correctly enter the format mask you use in APEX. Also before APEX may know about these variables you should set a dynamic action on your items to always submit their value to the server when they change!!! -
How to bypass object between two collections in tree binding editor
We have a object structure like this one
object 1 -contains-> collection of objects 2 -contains-> object 3 -contains-> collection of objects 4
we would like to display this object structure in a master - inline table
The first object is not representative and we don't need it.
The first collection is our master level. We selected the corresponding iterator in the data control palette and dropped it into our web page as a master-inline table.
The second object is not representative and we don't need it, but it is there.
The second collection is our inline table.
So we would like to have in our table :
collection of objects -contains-> collection of objects
The Tree binding editor show the iterator we selected and we setted the first collection as the data collection definition. We were able to set the display attribute we wanted to show and setted the second object (object 3) in the branch rule accessor. This is our first rule.
iterator -> collection of objects 2 -> object 3
For the same iterator we were able to select the second object (object 3) as the data collection definition and an attribute to display (it is not relevant for us but ...). We setted the second collection (collection of objects 4
) in the branch rule accessor. This is our second rule.
Our problem is that we are not able to continue our job ...
The list of iterator don't list the iterator that correspond to the second collection of object nor the data collection definition list the corresponding collection.
Is it a way to edit these defintions directly in the page definition ?We have a object structure like this one
object 1 -contains-> collection of objects 2 -contains-> object 3 -contains-> collection of objects 4
we would like to display this object structure in a master - inline table
The first object is not representative and we don't need it.
The first collection is our master level. We selected the corresponding iterator in the data control palette and dropped it into our web page as a master-inline table.
The second object is not representative and we don't need it, but it is there.
The second collection is our inline table.
So we would like to have in our table :
collection of objects -contains-> collection of objects
The Tree binding editor show the iterator we selected and we setted the first collection as the data collection definition. We were able to set the display attribute we wanted to show and setted the second object (object 3) in the branch rule accessor. This is our first rule.
iterator -> collection of objects 2 -> object 3
For the same iterator we were able to select the second object (object 3) as the data collection definition and an attribute to display (it is not relevant for us but ...). We setted the second collection (collection of objects 4
) in the branch rule accessor. This is our second rule.
Our problem is that we are not able to continue our job ...
The list of iterator don't list the iterator that correspond to the second collection of object nor the data collection definition list the corresponding collection.
Is it a way to edit these defintions directly in the page definition ? -
How to share objects between two ADF Faces servlet sessions
I gather the application scope is one way to go for sharing data between sessions in an ADF application. Are there other more generic methods of sharing data between servlet sessions?
For example, let's say we have a JDev 101.3 ADFBC/JSF app. (or JDev 11g for that matter). In this app we also register a servlet in web.xml. So two people log into this application and access this defined servlet, creating two instances of that servlet...I guess. Is there a way for those two instances/sessions to talk to each other? Pass data back and forth? Should I read about JMS? Or does application scope sound better? I guess a direct communication would be more tidy, than putting data on an application bulletin board, lilke application scope.
Any thoughts?Hi,
Only one instance of each servlet defined in web.xml gets created, not one per user. You're right about the sessions though, one per user is created. You're right on the other parts as well I think you could use application scope to do something like that, or the data base for that matter, depending on the use case.
Regards,
~ Simon -
Hi,
My java app's purpose is to find out if I must update my simulated framework if the real framework has changed ( interfaces).
My app loads two jar files ( real framework and simulated framwork) and use bcel to make an static analysis of the classes ( bcel created 'JavaClass' to describe the class).
In order to determine if the classes are equal i create a 'DataClass' object with the following information:
className
Field [] fields (bcel 'Field' not java.lang.reflect.Field)
Method [] methods (bcel 'Method' not java.lang.reflect.Method)
I retrieve the information from JavaClass and put it in my 'DataClass'.
This is the code I use to create a Vector for each framework ( Listing 1). This is where I store the data describing my classes in the api (Listing 2). Then I compare each 'DataClass' contained in the Vector.
My intention is to compare the 'data' of the 'DataClass'. But since I get that all DataClass objects are NOT equal I guess I compare references. How can I do this.
All hints are vey much welcome.
cheers,
//mikael
Listing 1
==========
Note: ClassSet is a 'Set' of JavaClass' objects.
public static Vector makeDataObjects(ClassSet classes){
Vector api = new Vector();
JavaClass [] clazzes = classes.toArray();
for (int i = 0; i < clazzes.length; i++) {
JavaClass clazz = clazzes;
DataClass dc = new DataClass();
dc.setClassName(clazz.getClassName());
Field [] fields = clazz.getFields();
for(int j = 0; j < fields.length; j++){
dc.setField(fields[j].toString());
Method [] methods = clazz.getMethods();
for (int k = 0; k < methods.length; k++) {
dc.setMethod(methods[k].toString());
api.add(dc);
return api;
Listing 2
=========
import java.util.ArrayList;
public class DataClass implements Comparable{
private String className = null;
private ArrayList fields = new ArrayList();
private ArrayList methods = new ArrayList();
public void setClassName(String className){
this.className = className;
public String getClassName(){
return className;
public void setField(String field){
fields.add(field);
public void setMethod(String method){
methods.add(method);
public int compareTo(Object o){
}This is where I compare the content of my two api:s
Listing 3
=========
public static void compare(Vector api1, Vector api2) {
for (Iterator iter = api1.iterator(); iter.hasNext();) {
DataClass clazz1 = (DataClass) iter.next();
String className = (String) clazz1.getClassName();
DataClass clazz2 = (DataClass) toBeCompared(className, api2);
// compare object values
System.out.println("clazz1 is " + clazz1.toString());
System.out.println("clazz2 is " + clazz2.toString());
if (clazz1.equals(clazz2)) {
System.out.println("Objects are the SAME" + className);
} else {
System.out.println("Objects are NOT the same" + className);
private static DataClass toBeCompared(String className, Vector api){
DataClass dao = null;
for (Iterator iter = api.iterator(); iter.hasNext();) {
DataClass element = (DataClass) iter.next();
String otherClassName = element.getClassName();
if (className.equals(otherClassName)){
dao = element;
return dao;Your error is that you implement Comparable and the compareTo method instead of the equals method of Object class. Comparable is needed for ordering items. Equals instead is used to check if two objects are equal. Per convinience it is expected that there is no inconsistency if both equals and compateTo are implemented.
So you should implement a method in DataClass:
public boolean equals(Obejct o) {
boolean result = false;
if (o instanceof DataClass) {
DataClass c = (DataClass) o;
result = className.equals(c.className) &&
fields.equals(c.fields) &&
methods.equals(c.methods);
// keep in mind here, that the arrays fields and
// methods should be sorted / ordered. use Collections.sort(fields)
// for this when you create or modify it
return result;
}You could also simplify the compare(Vector api1, Vector api2) method when you keep these Vectors sorted for className or use Set (what i dont recommand because of properbly performance drawbacks):
public static void compare(Vector api1, Vector api2) {
Collections.sort(api1, new ClassNameComparator());
Collections.sort(api2, new ClassNameComparator());
// you should possibly dont do this sorting here because the
// method name does not state that the vectors are modified
// but it's a precondition for make the following work properly:
return api1.equals(api2);
}i did not compile the code, so i hope i did not make many errors.
regards
Sven -
How to compare variant(Version compare)
Hi experters.
Can you tell me how to compare variant between DEV and QA system?
I find the transaction variant in my DEV system is a little different from QA system,
so I want to compare them, but there are too many fields..
so can you tell me how to compare them ? is there any easy way to do it?
Regards,Hi Harry,
Me too did not come across such tool, report which compares 2 variants in 2 systems. ALthough i dont have an answer - felt like sharing and would be good if you come across any such info...
( Also the usage of such tools will be very less how frequent do we get to do that )
Rgds,
Sri
Award points for helpful answers
Maybe you are looking for
-
Can I transfer content from one iPad to another?
My wife is getting a 3g iPad to replace her wi-fi iPad. Can the contents (login/userid, apps, safari settings/bookmarks) be transfered to the new iPad?
-
Error in Dual Stack Splitting:SAPControl:GetAccessPointList not implemented
Hi, Am doing dual stack split with Keep Database option. Environment is OS- Sun Solaris SPARC 64 bit Database – Oracle 11.2.0.3 System – ECC 6.0 (Netweaver 7.0) NUC We stuck in 1sr step while taking export of JAVA. Error is – GetAccessPointList fail:
-
My system is OS 10.8.5 Memory 4 GB 1333 MHz DDR3, storage available 375 GB out of 500 GB. Yesterday I tried to back up with the Seagate Backup Plus Drive with 1.5 TB using the Time Machine. The backup started, said it would take 3 hours, but ended a
-
Getting horizontal wrinkles when scrolling down in active window of firefox.
Using latest version of Firefox on a Dell XPS 630i, Win 7 Pro. Using an HP w2338h monitor set to 1620 x 1050 at 60 Hz. Video card is aNVIDIA GeForce GTS 240. Logitech Anywhere MX Mouse. When scrolling down I get wrinkles across the screen when I hit
-
Slow Wi-Fi on Macbook Pro running through Thunderbolt display
Hi there, Im having issues with a new thunderbolt display. When my macbook is connected to the thunderbolt display im getting download speeds of 6.83. But when using the macbook on its own, not connected to the display, in the same room im getting do