BW Landscape synchronization question

Hi, Guru
We have two BW DEV and QA systems in the system landscape: BWD & BWQ is the project phase1 (finance) D & Q system, respectively. BCD & BCQ is the phase2 (supply chain) D & Q system, respectively. Phase 1 and 2
share a single production system BWP.
Phase 1 is already live for over a year, but there is discrete
enhancement work done over the time in BWD & BWQ environment.
Phase 2 work is done in BCD/BCQ environment. Phase 2 is going live soon. We are attempting to consolidate the two landscapes into one after phase2 go-live. This way only need to maintain one D & Q system from that point on.
The decision is to keep BWD and abandon BCD since phase 1 is more critical. So we are planning to MANUALLY RECREATE all phase 2 work in BWD, this include everything:
infoCube, ODS, update rule, process chain, infoPackage, user exit, queries, etc...After that BCD, the original development system for phase 2, will be removed from the landscape.
Phase 2 work is to be transported to production from BCD-BCQ route.
The concern we have now with this approach is that we are afraid of transport for future enhancement work for phase 2, which will be done on top of the manually created objects in BWD, won't work. For example, even objects are now recreated and look exactly same, they are going to bear different IDs in BWD than BCD. Would transport work then?
There may be other things we have not considered yet? Is this approach feasible?
We know it is a rare case (rebuilding development system beneath Q and P). But has anyone done this before? can anyone foresee a problem with this approach? Remember it is BW, not R/3. Thanks.

Hi Latha ,
Normally we would do a Prod system Copy to Dev' and then start the upgrade. Also ensure that you  make a GAP analysis of all Inactive objects and unused objects and delete them on DEV system using a transport request and move it to Q and prod, before you start the upgrade.
We followed this recently in our project for upgrade and it worked fine for us.
Cheers
Raja

Similar Messages

  • An interesting synchronization question

    hey all, I have an interesting synchronization question to ask you.
    Suppose that I have 20 tasks and 8 worker threads, each worker is assigned a task by the main thread, and then main thread suspends until one worker has finished its task. Then main thread create another task and handles to a new worker thread until all tasks are finished.
    so code in main thread is something like this.
    boolean has_more_task, has_more_worker;
    do {
                  if (has_more_task && has_more_worker)
                               *  create new thread and assign it a new task
                  else if ( has_more_task && !has_more_worker)
                            wait();
                   else if ( !has_more_task && has_more_worker)
                              wait();
    } while (has_more_task || has_more_worker)the problem is that I don't quite familiar with synchronized key word. so I don't know how to share a synchronized vaiable between main thread and worker thread. can anybody do me a help?
    Remember that main thread should be waken up by either of the 8 worker threads !!

    you can follow producer consumer conept
    create a queue. main thread will push task in queue.
    and worker threads will consumer task from queue.
    you just need to synchronize operation on queue.
    when there is no task in queue then worker thread will notify to main thread and
    will call wait().
    then main thread again put the more task in queue and send notification signal to worker thread and then call wait().
    Class JobQueue
    //should be called by worker thread
    public synchronized getNextTask()
    //shoule be invoked by main thread
    public synchronized addMoreTask()
    }

  • SLD Landscape Design Question

    After reading the Planning Guide - System Landscape Directory, I am left with a question.
    The Setup:
    Standard three system landscape
    ECC 6.0 Ehp5 on NW 7.02ECC Instances: DE1, QE1, PE1
    PI 7.31
    PI Instances: DP1, QP1, PP1
    PI Business Systems: DE1CLNT100, QE1CLNT100, PE1CLNT100
    Each PI Instance has a local SLD
    Management LandscapeSolution Manager 7.1 on NW 7.02
    SolMan Instance: SP1
    Local SLD
    LMDB
    Reading through the Planning Guide, the recommendation (pg. 45, picture below) seems to be to have all systems self-report to PP1. That is, without synchronization, only PP1 knows about any systems because they all report to PP1 and do not report in to their local SLDs. The data is then sent back to DP1 & QP1 via bridge forwarding. Business Systems are manually entered into their respective local SLDs, but then have to be manually exported/imported from DP1 --> QP1 --> PP1. Once it's all gathered into PP1 again, all data is pushed to SolMan's SLD on SP1 via a unidirectional content synchronization.
    If I read this correctly, then all SLD's will end up "knowing" all systems and business systems: e.g. the sld of DP1 will have entries for QP1 and PP1 and for business systems QE1CLNT100 and PECLNT100.
    Earlier in the guide, I gathered that there was value in not having all of the data in Development in that there is then clear separation between non-production SLDs and production SLDs. The above recommended setup seems to go against this idea of separation. Plus, it requires a significant amount of manual upkeep.
    As an alternative (pictured below), what if each environment only reported to it's local SLD (DE1 --> DP1, QE1--> QP1, PE1--PP1). (Note that in the picture the SLD is drawn separate, but I've heard that most customers run their local SLD on PI, so the SLD depicted in each environment actually runs on the PI system in this scenario.) Further, what if the SLD's then synchronized sequentially in a full unidirectional content sync fashion. (DP1 does a full uni-directional Content Sync to QP1, QP1 does a full uni-directional Content Sync to PP1, and PP1 does a full uni-directional Content Sync to SP1.)
    DP1 would only know about it's own systems. QP1 would know about it's own plus DP1 (which it needs). PP1 and SP1 would both have full visibility into all systems.  Furthermore, the manually entered business systems would also be automatically synchronized and the whold manual export/import process could be avoided or  a manual export/import could be implemented between Q and Production for safety with an automatic bridge forward of Data Supplier data.
    Are there downsides to the second scenario that I am not seeing? Please comment!
    Best regards,
      --Tom

    Although the guide states that Dev systems only needs to know about other systems in the DEV environment and QAS systems only needs to know about systems in the DEV and QAS environments and only PRD needs to know all systems, I am finding that I can't get the groups set up correctly when the DEV environment has no visibility to the QAS environment.
    It seems that the recommended structure (where all systems are known in all environments) will facilitate the correct setup of the PI transports. So far, that is the biggest arguement I've been able to find against the second approach outlined above. Using full sync all the way through is also not an option if you're doing any development as any changes in the DEV system automatically flow through to PRD almost instantly. Using automatic bridge forwarding and import/export might be a usable alternative, but the recommended approach from page 41 of the planning guide does seem to have the best of all worlds.

  • Landscape formatting question

    Can anyone help me with a formatting question? I have a number of PDFs that are landscape format. Every time I open them they default to portrait, even when I change orientation in page set-up and re-save...

    You are only changing the view, not the pdf. Use the Rotate command in the Document menu, not the view menu.

  • Synchronize question in servlet

    Hello everybody!
    I have some question regarding synchronization in a servlet, and hope someone can help me.... (see example code below)...
    1) The methods "getNames(), addNames(), removeNames()" need to be synchronized due to that the "names" vector can be accessed by many at the same time, right?
    2) Do I need to synchronize the method "addANumber()"? why/why not?
    3) Do I need to synchronize the methods "setString(), getString()" placed in the "Test" class? why/why not?
    4) All "global" variables, i.e. the variables declared as object or class variable, need to be synchronized. Is this valid for servlet methods as well? For example the addANumber() method, or whatever method (that doesnt use global variables) I place in the Servlet class (ASR-class)
    Please all your experts out there, help me.....
    Thanx in advanced
    TheMan
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.util.*;
    public class ASR extends HttpServlet {
        private Vector names;
        private ServletConfig config;
        public void init(ServletConfig config) throws ServletException {
              synchronized(this) {
                this.config=config;
                names = new Vector(100,10);
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
            response.setContentType("text/plain");
            PrintWriter out = response.getWriter();
            //add a name to the vector
            String theName = request.getParameter("inpName");
            addNames(theName);
            //get the vector and print that name
            Vector tmp = getNames();
            int pos = Integer.parseInt(request.getParameter("number"));
            out.println("a person " + tmp.get(pos));
            addANumber(pos);
            //remove a name
            removeNames(pos);
            //create a test object
            Test t = new Test();
            //set a string in the test object
            t.setString("yyy");
            //print that string
            out.println("test string: " + t.getString());
        public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
            doGet(request, response);
        //needs to be synchronized?
        public int addANumber(int number){
            int adding = number + 10;
            return adding;
        public synchronized Vector getNames(){
            return names;     
        public synchronized void addNames(String theName){
            names.add(theName);
         public synchronized void removeNames(int pos){
             names.remove(pos);
    class Test {
        public String str = "xxx";
        //needs to be synchronized????
        public void setString(String str){
            this.str = str;
         //needs to be synchronized????
        public String getString(){
            return str;
    }

    The teachers, which are responsible for the
    servlet-courses that I have taken, never spoke about
    the member variables, in the same way you did. They
    used member variables and synchronized methods or
    synchtronized code blocks to access them. They never
    said that "one should not/try not to use member
    variables". I can understand this in the context of using Servlets to gain understanding on some of the issues involved with multithreading. In a classroom, servlets may pose an easier laboratory (so to speak) for learning threading concepts than something like nachOS or something like that.
    For example, they made a ordinary "page counter",
    i.e. a counter which increases by one for each "hit"
    on the page. I that example they, and I, thought it
    would be a good idea to use a member variable (a int
    counter), since all instances of the servlet will use
    the same variable. How should one construct such page
    otherwise? Local variables and databases is one way.As mentioned in an earlier post, in the real world I can think of very few reasons as to why a particular servlet may need to keep state. In terms of keeping a counter, what you would probably do is to analyze the access logs...Yes -- not a programmatic solution, but a very doable, low maintenance, and quick one. One important lesson to learn is that not all problems are best solved in code. This is probably not the right answer for a test though...
    I just got a bit confused, my teachers had no problem
    with member variables, but you guys recomend me to
    use local variables instead. Which leader should I
    follow :) ?Capitalist answer: whoever pays you :) Seriously, why not talk to your teachers about what you have learned here versus what they are teaching?
    - N

  • Synchronize question

    When programing servlet, I found out there is some concepts I do not understand very well; so would like to ask to make clear.
    I have a servlet in which a service will go to database to obtain a file name; then generating file object and return back to the client.
    public class AServlet extends ...{
        static AService aService = new AService();
        public void doGet(...){
            aService.performActionsInDB();
            aService.getFileName();
    public class AService{
        private String fileName;
        public void performActionInDB(){
            this.fileName = .....//assign a file name variable obtained from db to local variable fileName
        public String getFileName(){
            return this.fileName;
    }Now my question arises. The 'fileName' is a global variable in which different threads can access (so it needs syncrhonize key word). But what I am not clear is where should I add the synchornize key word would have less performance impact and also prevent concurrent access problem (a thread is reading fileName that is being updated by another thread)?
    My first thought is to add sycnhronize key word enclosing
            aService.performActionsInDB();
            aService.getFileName();above code block, but it would also lock the execution while performing DB actions which performe several tasks as well.
    Other place I can think of is the e.g.
    synchronized(this.name){
    this.fileName = ...// .//assign a file name variable obtained from db to local variable fileName
    }And
    public synchronized String getFileName(){...}But this seems would have problem because a thead is reading the fileName which may be updating by other thread.
    What is the correct to place the key word?
    I appreciate any suggestion. Thank you very much.
    Edited by: shogun1234 on Mar 29, 2010 5:43 PM

    Just synchronize the smallest block that updates the name.

  • BW Landscape Synchronization - Urgent

    BW Experts
    We are trying to do an upgrade to BI 7.0. We have 3 BW systems in the landscape Dev, QA and Prod. All the three systems are very different from one another. We are trying to synchronize the landscape before the upgrade.
    I see 2 options:
    Prod system copy to Dev
    Back transport from Prod to Dev.
    Can anybody give me the Pros and Cons of one over the other? What is the best practice?
    Thanks for your help !
    Thanks
    Latha

    Hi Latha ,
    Normally we would do a Prod system Copy to Dev' and then start the upgrade. Also ensure that you  make a GAP analysis of all Inactive objects and unused objects and delete them on DEV system using a transport request and move it to Q and prod, before you start the upgrade.
    We followed this recently in our project for upgrade and it worked fine for us.
    Cheers
    Raja

  • Trying to understand threads; interesting synchronize question

    Ladies and Gentlemen,
    what would happen if:
    class c {
    public synchronized void a() {
    //do some stuff
    b();
    public synchronized void b() {
    // do some stuff
    this should cause a deadlock situation, should it not? The compiler doesnt complain when I try this.
    Can someone confirm if this is correct:
    any class method can be synchronized; it doesnt have to be a method in a thread you ahve created. Presumable, this method and its object are being manipulated by threads, so synchronization of data is necessary. I have a program that has multiple threads. Each thread get a reference to manager object (there is one object for all the threads, not one for each). Each thread has its own instance of an analysis object. The analysis object takes teh reference to the manager object in its constructor, so the end result is mulitple threads each have their own analysis object, and all of these objects point to one manager object. I want the methods of the manager object to be synchronized to avoid read/write conflicts and inconsistencies.
    Thank you in advance

    You are right it is not officially deadlock. but it
    is a situation that will produce an error if one is
    not careful. b is called in a, and they both require
    a lock, so the processing in b cant be done while a is
    running. No, I'm telling you that is not the case. You can call b() from a() because if a thread is in a() it already has the lock needed to call b(). There is no possiblity of deadlock with the code you have written.
    In order for a deadlock to be possible, you'd need to do something like this:
    class Example
       final lockObjectA = new Object();
       final lockObjectB = new Object();
       void a()
          synchronized(lockObjectA)
              b();
       void b()
          synchronized(lockObjectB)
              a();
    }

  • Synchronization questions

    I’m developing a replicated Berkeley DB application by using the replication framework.
    The application is running but the client and the server are not stable (specifically, the replication layer is very unstable).
    There’s some behaviour that I don’t understand.
    - When the client is synchronizing with the master, the server always transfer the whole databases, even when I’m importing the databases from the server. Basically, the client clears the whole databases and sync again with the server.
    - The priority of the client is 0. But sometimes, when the master is not available, the client becomes the new master. I thought that when the priority is 0, the environment can never be a master site.
    Before adding the replication layer, the application was running very well. Since I added the replication layer, the application is unstable and crash regularly due to databases locking.
    Huu-Dong Quach

    - When the client is synchronizing with the master,
    the server always transfer the whole databases, even
    when I’m importing the databases from the server.
    Basically, the client clears the whole databases
    and sync again with the server.I don't understand this part of your question. What do you mean by "importing"?
    - The priority of the client is 0. But sometimes,
    when the master is not available, the client becomes
    the new master. I thought that when the priority is
    0, the environment can never be a master site.Yes, this is a bug in the Replication Framework. When there are more than 2 sites in a group, if the master fails, the remaining sites hold an election. In that case we do correctly pass the 0 priority to rep_elect. However, if there are only two sites, when the master fails there is no point holding an election with just one remaining site, so we just appoint ourselves master. We should be checking for the 0 priority in that case.
    This bug will be fixed as soon as possible.
    Alan Bram
    Oracle

  • ISA 5.0 / NWDI : web-j2ee-engine.xml / synchronization question

    Hello experts
    I wonder whether this is normal that whenever I start a synchronization on the crm/isa/web/b2c DC (or in my custom DC which synchronizes the used DCs including crm/isa/web/b2c), nwds asks me to create an activity to take into account changes on the web-j2ee-engine.xml file ?
    I select cancel each time but maybe I'm wrong ?
    Is there a solution that nwds not ask me more ? Is there a mistake in any configuration file ?
    Thank you very much and have a nice day
    Julien

    hi
    sap friends
    i have configured B2B in CRM 5.0 sr2 (ABAP+JAVA) on same host VIA XCM
    while login into this link
    http://idescrmsr2.iserviceglobe.com:50000/b2b/b2b/init.do
    http://idescrmsr2.iserviceglobe.com:50000/isauseradm/useradmin/init.do
    with user test , this user is having the following roles
    SAP_ALL
    sap-new
    sap_j2ee_admin
    sap_crm_eco_isa*
    sap_crm*
    sap_crm_isa*
    all the b2b related roles i have given, but still am unable to login into above URLs
    it is giving error message like :"<b>LOGON IS INVALID,CHECK UR ENTRIES</b>"
    is there any configuration related users configuratiom
    plz help me anbody regarding this problem

  • DSEE and Directory Synchronizer Question

    I'm investigating using Directory Synchronizer to sync up our DSEE 6.x directory with AD.
    We do not have our directory set up to where users can change their password directly. They must go to the authoritative source (our web portal) and change their password there, then have it synced out to DSEE. We are using SSHA passwords for this, but also have a SHA-1 hash of the password.
    So, how will Directory Synchronizer be able to get passwords into AD? I don't think AD uses or recognizes this password format, does it?

    http://docs.sun.com/app/docs/doc/819-0993/gbfza?l=Ja&a=view should help you.

  • Ace fail over / synchronization question

    Hey all,
    I have a customer who has a ace HA pair, the primary ace is shut down, and they've been making changes to the standby ace which has been working ok.
    They want to bring up the primary ace again, but I just want to confirm the process so I don't overwrite the configuration of the current standby ace when the primary ace is brought back online.
    I don't have any experience with these boxes yet. But I was thinking about turning preemption off and increases the standby priority to make it the primary?
    Thoughts?
    Many thanks.
    Sent from Cisco Technical Support iPad App

    Hi,
    If you want to sync the config then you dont have to use the following command.
    no ft auto-sync running-config
    no ft auto-sync startup-config
    Start as follows:
    (1) Configure a FT VLAN interface & FT PEER on “new replacement ACE”.
    Configure all FT groups BUT DO NOT “configure them “inservice”.      
    Make sure you have IP connectivity OVER FT VLAN to “currently ACTIVE ACE”.
    Make sure there is a TCP connection setup OVER FT VLAN (show conn should provide you that information).
    (2)  Please make sure “preemption” is NOT enabled for the FT group.  If  enabled please do remove it and re-add after the module is  successfully  replaced.
    Example:
    Example:
                   ft group 1
                                        peer 1
                                        no preempt  <=====================
                                        peer priority 150
                                        associate-context test
    (3)  Once you have IP connectivity over FT VLAN to “primary ACE”, now mark the FT GROUP “inservice”.
    Example:
                   ft group 1
                                        peer 1
                                        no preempt
                                        peer priority 150
                                        associate-context test
                              inservice <===============================
    (4)   At this time I expect the “auto-sync” to “sync” configs between “currently ACTIVE ACE” & “new standby ACE”.
    show ft group detail
    show ft peer detail
    These “show commands” should help you with verifying the state of FT configuration.
    (5) Repeat the above procedure for all context one by one ( Bring Admin context FT "inservice" at the end )
    In case if you have are using SSL offloading in any context refer the following thread:
    https://supportforums.cisco.com/thread/2156101?tstart=0&viewcondensed
    Hope that helps.
    regards,
    Ajay Kumar

  • To Synchronize or not to synchronize that is the question

    I find myself using static methods a lot since they are very convenient in that you don't have to instantiate an object and populate members, etc. rather its often more convenient just pass something in and get something out.
    However, I'm not crystal clear on when its necessary to synchronized a method, it appears most of the time I can get away without synchronizing.
    Could you post a simple java example or describe a scenario when its necessary to synchronize a static method?

    917903 wrote:
    //If there were 1000 Threads doing this in various environments, calling getUnique contending for a unique value, would the method need to be synchronized?The method does need to be static, because it's being called from a static context. If it weren't being called from a static context, then it wouldn't necessarily have to be static.
    However whether it has to be synchronized depends solely on what it does. Whether it has a "static" modifier makes no difference at all.
    And if you're going to synchronize it, you do have to be careful about what object you choose to be the monitor for that synchronization, it's true. However that is above and beyond the simple "To synchronize or not to synchronize" question.

  • SM Diagnostics: Restart Solution reload landscape?

    I have updated a system landscape in solution manager - transaction SMSY -> system groups.
    I want to be able to pull/transfer that update into solution manager diagnostics so that I can then deploy wily agent to it.
    In solution manager diagnosts (url /smd) it now says
    "Solution X is now outdated. restart the solution setup and reload the landscape"
    The question is how is this done??
    I'm on solution manager SP13 and how do you reload the landscape and restart the solution.  Its not obvious in either smd or the backend solution manager smsy??
    thanks.

    Hi,
    I suggest you to have a look to SAP Notes
    http://service.sap.com/notes
    then in the field Search Term, put: outdated
    in the field Application Area, put: SV-SMG-DIA
    click on search, and then....
    Only one result
    [https://service.sap.com/sap/support/notes/1113137|https://service.sap.com/sap/support/notes/1113137]
    It may help.
    Cheers,
    Fred

  • Solution landscape is  blank in DSWP.

    Our tech. person configure the Solman of IMG and following
    1)Configured one new solution with id,cust no,lang. etc.
    2)Maintained system land landscape in SMSY.
    3)LANDSCAPE components were --server,db,systems,system components were created.
    4)Initial data transfer to IB52 was successful.
    When we go to DSWP,Select solution,the next screen displays ,on left side
    --Solution overview,operation setup,operations Buttons.
    But on right side nothing appears except blank white screen.
    Why items like solution land landscape,solution monitoring or
    service desk tabs or for that matter no Tabs appears.
    What is missing
    any ideas pl.?

    Hey there Ragh,
      You need to go into the Solution Landscape Maintenace and 'activate' the respective systems befoe they will show-up in the overall map (assuming that you have both assigned logical components to your landscape already and activated monitoring as per the manual for Solution Manager).
      In your landscape view - goto Operations Setup, then Solution Landscape Maintenance.  In the matrix of systems that are in the Landscape view, highlight the respective systems that you want monitored in the environment and hit the 'System' button (the one with the red and green ball in it).  The system icon should go green and now that system will show in your Solution Landscape.
      Question why this occured?  You probably choose Poduction as the lead role and didn't have a production system in the logical component that you assigned.
      Let me know if that helped with your problem.  If you don't have any systems to 'activate' then this is another issue all together.

Maybe you are looking for

  • Development and Production Requirements for a Forms/Report application

    Dear all, We have an application witch run in client/Server mode using Forms/Reports 6i For 300 users.We want to migrate it on Forms/Reports 9I using Oracle 9IAS and Oracle 9IDB. I would like to have advises about material requirements of both develo

  • Can't play to AirTunes and local speakers at same time

    I've just taken delivery of an AirPort Express purely to use the AirTunes feature. Setup was a doddle. My MacBook Pro running OSX can route audio to AirTunes, or local speakers, or both at the same time - with no issues. My XP PC, however, can route

  • FYI Playing PAL DVD on US MBP

    I am not sure if this has been brought up before, but my MBP (late 2007), and I am sure many other similar boxes play PAL DVDs perfectly. No conversion necessary. I normally use VLC, but I checked with the Leopard DVD player and both work normally. I

  • Indian Localization cumulative patchset

    Need indian localization cumulative patchset (patch number) for 12.1.3?

  • Can Aperture 3.3 be downloaded without upgrading iPhoto?

    I've recently decided to start shooting in RAW with my Canon 7D, but discovered that iPhoto 6 doesn't recognize RAW files. I had been debating upgrading to Aperture or Lightroom 4, and recent reviews of iPhoto '11 have pushed me further in that direc