Interface betwee ECC 5.0 and SAP_APO 5.1

Dear All,
We are implementing the iCIF nterface between R/3 and APO  5.1system, for this requirement we need to use NDV2 transaction to maintain the curent release of SAP_APO system in R/3
We are in ECC 5.0 and the APO system release is 5.1
The current support package level for PI (2004_1_50) is 11 (SAPKIPZI6B) and EA-APPL is 11
( SAPKGPAC11).
In this regard we cannot maintain the release to 5.1 in R/3 because when we select the display the system shows only upto SCM 5.0 release
Could you please suggest any Add-Ons that we need to implement in ECC 5.8 to support the APO 5.1 version
Regards
Anil

Hi, I hope by this time you must have resolved this issue at your end. If possible, Please share the solution.

Similar Messages

  • Using the Open Catalog Interface (OCI) between SAP-ECC 6.0 and SAP-MDM

    Hello ASUG Community.
    I'm working on an SAP-MDM project where we will configure the OCI interface between SAP-ECC 6.0 and SAP-MDM.  The business requirement will be to punch out to SAP-MDM's catalog from SAP-ECC for expensed items (e.g., no material master record exists in SAP-ECC).
    The data that will be returned to SAP-ECC will be purchase price info, material group, short text, & our global SAP-MDM item number.
    The question I've been trying to design around is "where to store the SAP-MDM item number"?
    I've looked into creating a custom filed on EKPO but now feel that a configured text field will be the best solution from an SAP-ECC point of view (less effort on the SAP-ECC side from a development perspective, no need to regenerate the EKPO table, etc.).
    The question I'd like to pose to ASUG is.... Does anyone have experience or an opinion to offer using this functionality?  It seems that I will have to code in a user exit or BAdi to insure that the SAP-MDM item numbers are returned to the appropriate text field on my POu2019s.  Or can this be done using the standard OCI functionality?
    I found OSS note 1347656 which references BADI "ME_CATALOG_INTERFACE" but I'm not sure if this right path to go down or if this would be the correct place to code non-conforming OCI mapping requiremetns.
    Any insight would be most appreciated.
    Thanks.  Sincerely,
    Rich Wortmann

    I would suggest you create a new field for this as you may require thois going forward for reporting as well. Text fields are difficult to report.
    Sorry not sure about the BADI to use.

  • PPDS: I have a setup matrix in SAP ECC 6.0, and want to transfer the same to APO using Core Interface.

    PPDS: I have a setup matrix in SAP ECC 6.0, and want to transfer the same to APO using Core Interface. Has anyone done it before?

    Hi Subhash,
    Please open this link to see the details:
    http://help.sap.com/saphelp_scm70/helpdata/EN/89/bd3e42ce98033be10000000a1550b0/frameset.htm
    You perform the data transfer in the following sequence:
    Plant
    Setup groups
    Work centers
    Routings
    You check the setup groups in SAP APO.
    You create the setup matrixes in SAP SCM.
    Thanks, Marius

  • Difference between ECC 6.0 and earlier versions

    Hi,
    one of the difference between ECC 6.0 and earlier versions is that instead 'WS_UPLOAD'  and 'WS_DOWNLOAD' in ECC we should use 'GUI_UPLOAD' and 'GUI_DOWNLOAD'  respectively.
    (of course SPDD and SPRO tcodes is known by everone i suppose)
    Similarly can u all put down some differences here, atleast one entry by each, I think we can make a good docu. I have searched the net for the differences but could not get much, so by each of us contributing one each, it would become good docu..for all of us.
    Thanx in advance

    Unicode Errors Encountered and their Solutions
    E1. In u201CTEXT MODEu201D the u201CENCODINGu201D addition must be specified.
         Error:
         OPEN DATASET FILE FOR OUTPUT IN TEXT MODE.
         Solution:
         OPEN DATASET FILE FOR OUTPUT IN LEGACY TEXT MODE.
    E2. In Unicode, DESCRIBE DISTANCE can only be used with the IN BYTE MODE  or  IN
          CHARACTER MODE  addition.
         Error:
         DESCRIBE DISTANCE  BETWEEN T_KOMK AND T_KOMK-HIEBO01 INTO BPOS.
         Solution:
    DESCRIBE DISTANCE  BETWEEN T_KOMK AND T_KOMK-HIENR01 INTO BPOS
    IN CHARACTER MODE.
    E3. u201CUSR02-UFLAGu201D must be a byte-type field (Typ X or XSTRING )
         Error:
         IF USR02-UFLAG O YULOCK.
         Solution:  Since the data type of USR02-UFLAG is type INT and is compared with data type
                    X u2013 Hence the error. So we  define a new variable ZULOCK and assign the
                    value of USR02-UFLAG to ZULOCK.
                  New variable             
                  DATA: ZULOCK(1) TYPE X.   "APBRP00
                  Assign value               
                                ZULOCK = USR02-UFLAG.
            Compare -
                   IF ZULOCK = YULOCK.   u201Creplace IF USR02-UFLAG O YULOCK.
    E4.  HT cannot be converted to a Character type field
    Error :
    WRITE ht TO t_data+10(2).
    Solution : Since the data type of ht is a type u2018Xu2019 and the data is been transfer to
             t_data which has a data type u2018Cu2019. value of one data type cannot be copy to
             another data type where one of them is type string .Hence the error occur,
             so the data type of ht is been change to Type u2018Cu2019
         OR
               A Tab ( value 09 ) is introduced as part of the row. The value 09 is not converted in Unicode environment. Instead we need to use class
         Error:
              DATA: BEGIN OF ht,
                   x(1) TYPE x VALUE '09',
              END OF ht.
         Solution:
                  Define Class after the Tables definition.
                       CLASS cl_abap_char_utilities DEFINITION LOAD.
                  Data Defination :  Comment internal table HT and define a variable HT type C.
           *   Insert + APRIA00 05/02/2007 Unicode project
           *   DATA: BEGIN OF ht,
         *         x(1) TYPE x VALUE '09'
           *   END OF ht.
         *   Insert - APRIA00 05/02/2007 Unicode project
           DATA HT type C.
           Before using HT assign Horizontal tab.
                     Ht = CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.  
    E5.  In Unicode programs the u201C#u201D cannot appear in names, as it is does here in the name    u201C#LINESu201D
         Error :
         #LINES                 TYPE I,
         Solution : Since the # is used in the start of name, it is not allowed. We need to
                  remove it. 
         Solution for the above
         V_LINES                 TYPE I,
    E6. In u201CTEXT MODEu201D the u201CENCODINGu201D addition must be specified as well as the addition was required FOR OUTPUT,FOR INPUT, FOR APPENDING OR FOR UPDATE was expected.
         Error:
         OPEN DATASET PATH_NAME IN TEXT MODE.
         Solution:
         Download =     OPEN DATASET PATH_NAME FOR OUTPUT IN LEGACY TEXT MODE.
         Upload        =  OPEN DATASET AUSZUG-FILE IN TEXT MODE FOR INPUT ENCODING DEFAULT.
    E7. u201CTABu201D must be a character-type data object( data type C,N, D, T or String). Field string)    
         Error:
                data: begin of tab,                   "Excel Parameter Split at TAB
            t type x value '09',          "Tabulator
           end of tab.
                concatenate 'Material' 'Package Status'
                    into z_download-line separated by tab.
                ( In the above command  the two field are to be separated with a horizontal Tab. The earlier      way of assigning the tab value u201809u2019 will not work in Unicode environment.
         Solution:
         Define a  class just after the Table defination.
              CLASS cl_abap_char_utilities DEFINITION LOAD.
                Define  variable Tab as shown below :
              Data : TAB           TYPE C.
         Before the concatenate statement assign the value of Tab using pre-defined attributes.
              TAB = CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
    E8. Upload/Ws_Upload and Download/Ws_Download are obsolete, since they are not Unicode-
          enabled; use the class cl_gui_frontend_services     
         Error-1:  Function WS_DOWNLOAD is obsolete in Unicode environment.
                call function 'WS_DOWNLOAD'
                     exporting
                          filename = zfilename
                     tables
                          data_tab = z_download.
         Solutions-1: Instead of WS_DOWNLOAD use  GUI_DOWNLOAD.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
    *   BIN_FILESIZE                  =
        FILENAME                      = zfilename
      TABLES
        DATA_TAB                      = z_download.
    E9.  The "/" character is reserved for identification of namespaces. It must be entered twice.
            The name  of a namespace must be at least 3 characters long.
         Error :      
                     U/N(3)        TYPE C,  "U/N    --> ERSETZT DURCH SPACE
         Solution :
         * Special character can not be used to define a data variable
         *      U/N(3)        TYPE C,  "U/N    --> ERSETZT DURCH SPACE
                  U_N(3)        TYPE C,  "U/N    --> ERSETZT DURCH SPACE
         * Insert - APSUS02 07/02/2007 Unicode Project
    E10.  "LP_TAB" and "CS_TAB" are not mutually convertible. In Unicode programs,
             "LP_TAB" must have the same structure layout as "CS_TAB", independent of the length
             of a Unicode character.
         Error : This error is encountered when data from one internal table is copied to another
                             internal table which different structure. In this case its LP_TAB & CS_TAB.
                     LP_TAB[] = CS_TAB[].
         Solution :
              * Replace + APSUS02 07/02/2007  Unicode Project
    *   LP_TAB[] = CS_TAB[].
                  move-corresponding CS_TAB to LP_TAB.
              * Replace + APSUS02 07/02/2007  Unicode Project
    E11.  Could not specify the access range automatically. This means that you need a RANGE
              addition.          
         Error :  Range need to be specified as an addition to the command.
                DO 4 TIMES VARYING HELP_CHAR FROM ABCD(1) NEXT ABCD+1(1).
               Solution : 
                DO 4 TIMES VARYING HELP_CHAR FROM ABCD(1) NEXT ABCD+1(1)
              * Insert + APSUS02 07/02/2007  Unicode Project.
                                                          RANGE ABCD+0(4).
    * Insert - APSUS02 07/02/2007  Unicode Project.
    E12 .  Processing Terminated Error code: Error in opening /
                                              Path not found when downloading to Unix directory.
         Error : PARAMETER: outfile(92) DEFAULT
                  '/CP/interface/NPP/data/MX/cbslaprcpts'
                        LOWER CASE,
                   kmxmstrd AS CHECKBOX.
                This error is encountered when the path is missing. The above path is related to CCP.
         Solution:  For testing purpose comment the original path and replace it with
                                     /CP/interface/CCD/Unicode_test/ 
    E13.    Upload/Ws_Upload and Download/Ws_Download are obsolete, since they are not                                                                       Unicode- enabled; use the class cl_gui_frontend_services
         Error: Function WS_UPLOAD is obsolete in Unicode environment. (During UCCHECK)
                   Call function 'WS_UPLOAD'
           Exporting
                Filename                = zfilename
                Filetype                = u2018DATu2019
           Tables
                data_tab                = z_upload
           Exceptions
                Conversion_error        = 1
                file_open_error         = 2
                file_read_error         = 3
                invalid_table_width     = 4
                invalid_type            = 5
                no_batch                = 6
                unknown_error           = 7
                gui_refuse_filetransfer = 8
                others                  = 9.
         Solution: Instead of WS_UPLOAD use TEXT_CONVERT_XLS_TO_SAP. Do not use temporary file put the file name as it is.
    1) First define a type pool and a variable of type truxs_t_text_data.
    TYPE-POOLS: truxs.
    DATA: it_raw TYPE truxs_t_text_data.
         2) Use this it_raw in the function module in parameter i_tab_raw_data. Put file name and the internal table in the function module.
    CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
        EXPORTING
    *     I_FIELD_SEPERATOR        =
    *      i_line_header            =  ' '
          i_tab_raw_data           =  it_raw       " WORK TABLE
          i_filename               =  zfilename
        TABLES
          i_tab_converted_data     = z_upload[]    "ACTUAL DATA
       EXCEPTIONS
          conversion_failed        = 1
          OTHERS                   = 2.
         Comment u201Ci_line headeru201D. It takes the first/ header line of the file which is to be uploaded.
    Put  square brackets after internal table as shown above.
    E14.    CURSORHOLD may not be converted into a number.
         Error:  GET CURSOR LINE CURSORHOLD VALUE CURSOR_HOLD.
         Solution: In the declaration part of CURSORHOLD, one field is of u2018Pu2019 type and one field is of u2018Iu2019 type, which is not allowed in Unicode environment.So change the the type of it to NUMC.  

  • What do you mean by file interfaces in ECC 6.0?

    Hi
    Pls tell me about file interfaces in ECC 6.0?
    send any document regarding this and give me some idea on this
    thanks

    ECC - Enterprise (ERP) Core Component.
    5 and 6 being versions.
    If you want to be more confused 5 is MySAP ERP 2004 and 6 is MySAP ERP 2005!
    You also get 4.6c 4.7 1x110 and 470 2x200 - These being more recent versions...
    Here is a brief history of versions:
    http://www.sapdesignguild.org/resources/r3_history.asp

  • DO i need some extra hardware interface for receving both Audio and video

    hi i m doing e-learning project. i have to capture video from webcam and voice from headphone and send to client.
    but my code is working fine for either one at a time.
    DO i need some extra hardware interface for receving both Audio and video. im using code AVTransmit and AVReceive found from this site only
    After running TX
    i give Dsound:// & vfw://0 in Media Locater only sound is received and no vedio
    and when i give vfw://0 in Media Locater only live video is transmited.
    im using JMF1.1.2e.
    if any one know the method to run or cause of it plz reply me soon. i will be very thankfull
    transmiter/server side code .first run TX on server
    import java.io.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.net.*;
    import java.util.*;
    import javax.media.rtp.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.border.*;
    public class Tx extends JFrame implements ActionListener, KeyListener,
    MouseListener, WindowListener {
    Vector targets;
    JList list;
    JButton startXmit;
    JButton rtcp;
    JButton update;
    JButton expiration;
    JButton statistics;
    JButton addTarget;
    JButton removeTarget;
    JTextField tf_remote_address;
    JTextField tf_remote_data_port;
    JTextField tf_media_file;
    JTextField tf_data_port;
    TargetListModel listModel;
    AVTransmitter avTransmitter;
    RTCPViewer rtcpViewer;
    JCheckBox cb_loop;
    Config config;
    public Tx() {
    setTitle( "JMF/RTP Transmitter");
         config= new Config();
         GridBagLayout gridBagLayout= new GridBagLayout();
         GridBagConstraints gbc;
         JPanel p= new JPanel();
         p.setLayout( gridBagLayout);
         JPanel localPanel= createLocalPanel();
         gbc= new GridBagConstraints();
         gbc.gridx= 0;
         gbc.gridy= 0;
         gbc.gridwidth= 2;
         gbc.anchor= GridBagConstraints.CENTER;
         gbc.fill= GridBagConstraints.BOTH;
         gbc.insets= new Insets( 10, 5, 0, 0);
         ((GridBagLayout)p.getLayout()).setConstraints( localPanel, gbc);
         p.add( localPanel);
         JPanel targetPanel= createTargetPanel();
         gbc= new GridBagConstraints();
         gbc.gridx= 1;
         gbc.gridy= 1;
         gbc.weightx= 1.0;
         gbc.weighty= 1.0;
         gbc.anchor= GridBagConstraints.CENTER;
         gbc.fill= GridBagConstraints.BOTH;
         gbc.insets= new Insets( 10, 5, 0, 0);
         ((GridBagLayout)p.getLayout()).setConstraints( targetPanel, gbc);
    p.add( targetPanel);
         JPanel mediaPanel= createMediaPanel();
         gbc= new GridBagConstraints();
         gbc.gridx= 1;
         gbc.gridy= 2;
         gbc.weightx= 1.0;
         gbc.weighty= 1.0;
         gbc.anchor= GridBagConstraints.CENTER;
         gbc.fill= GridBagConstraints.BOTH;
         gbc.insets= new Insets( 10, 5, 0, 0);
         ((GridBagLayout)p.getLayout()).setConstraints( mediaPanel, gbc);
    p.add( mediaPanel);
    JPanel buttonPanel= new JPanel();
    rtcp= new JButton( "RTCP Monitor");
    update= new JButton( "Transmission Status");
         update.setEnabled( false);
         rtcp.addActionListener( this);
         update.addActionListener( this);
         buttonPanel.add( rtcp);
         buttonPanel.add( update);
         gbc= new GridBagConstraints();
         gbc.gridx = 0;
         gbc.gridy = 3;
    gbc.gridwidth= 2;
         gbc.weightx = 1.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.CENTER;
         gbc.fill = GridBagConstraints.HORIZONTAL;
         gbc.insets = new Insets( 5,5,10,5);
         ((GridBagLayout)p.getLayout()).setConstraints( buttonPanel, gbc);
         p.add( buttonPanel);
    getContentPane().add( p);
         list.addMouseListener( this);
         addWindowListener( this);
    pack();
    setVisible( true);
    private JPanel createMediaPanel() {
    JPanel p= new JPanel();
         GridBagLayout gridBagLayout= new GridBagLayout();
    GridBagConstraints gbc;
         p.setLayout( gridBagLayout);
         JLabel label= new JLabel( "Media Locator:");
         gbc= new GridBagConstraints();
         gbc.gridx = 0;
         gbc.gridy = 0;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.EAST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,10,5);
         ((GridBagLayout)p.getLayout()).setConstraints( label, gbc);
         p.add( label);
         tf_media_file= new JTextField( 35);
         gbc= new GridBagConstraints();
         gbc.gridx = 1;
         gbc.gridy = 0;
         gbc.weightx = 1.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.WEST;
         gbc.fill = GridBagConstraints.HORIZONTAL;
         gbc.insets = new Insets( 5,5,10,5);
         ((GridBagLayout)p.getLayout()).setConstraints( tf_media_file, gbc);
         p.add( tf_media_file);
         tf_media_file.setText( config.media_locator);
         cb_loop= new JCheckBox( "loop");
         startXmit= new JButton( "Start Transmission");
         startXmit.setEnabled( true);
         startXmit.addActionListener( this);
         gbc= new GridBagConstraints();
         gbc.gridx = 2;
         gbc.gridy = 0;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.WEST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,10,5);
         ((GridBagLayout)p.getLayout()).setConstraints( cb_loop, gbc);
         p.add( cb_loop);
         cb_loop.setSelected( true);
         cb_loop.addActionListener( this);
         gbc= new GridBagConstraints();
         gbc.gridx = 1;
         gbc.gridy = 1;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.CENTER;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,10,5);
         ((GridBagLayout)p.getLayout()).setConstraints( startXmit, gbc);
         p.add( startXmit);
         TitledBorder titledBorder= new TitledBorder( new EtchedBorder(), "Source");
         p.setBorder( titledBorder);
         return p;
    private JPanel createTargetPanel() {
    JPanel p= new JPanel();
         GridBagLayout gridBagLayout= new GridBagLayout();
    GridBagConstraints gbc;
         p.setLayout( gridBagLayout);
         targets= new Vector();
         for( int i= 0; i < config.targets.size(); i++) {
         targets.addElement( config.targets.elementAt( i));
    listModel= new TargetListModel( targets);
    list= new JList( listModel);
         list.addKeyListener( this);
         list.setPrototypeCellValue( "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
    JScrollPane scrollPane= new JScrollPane( list,
    ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
    ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
         gbc= new GridBagConstraints();
         gbc.gridx= 0;
         gbc.gridy= 0;
         gbc.weightx= 1.0;
         gbc.weighty= 1.0;
         gbc.anchor= GridBagConstraints.CENTER;
         gbc.fill= GridBagConstraints.BOTH;
         gbc.insets= new Insets( 10, 5, 0, 0);
         ((GridBagLayout)p.getLayout()).setConstraints( scrollPane, gbc);
         p.add( scrollPane);
    JPanel p1= new JPanel();
         p1.setLayout( gridBagLayout);
         JLabel label= new JLabel( "IP Address:");
         gbc= new GridBagConstraints();
         gbc.gridx = 0;
         gbc.gridy = 0;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.EAST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,0,5);
         ((GridBagLayout)p1.getLayout()).setConstraints( label, gbc);
         p1.add( label);
         tf_remote_address= new JTextField( 15);
         gbc= new GridBagConstraints();
         gbc.gridx = 1;
         gbc.gridy = 0;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.WEST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,0,5);
         ((GridBagLayout)p1.getLayout()).setConstraints( tf_remote_address, gbc);
         p1.add( tf_remote_address);
         label= new JLabel( "Data Port:");
         gbc= new GridBagConstraints();
         gbc.gridx = 0;
         gbc.gridy = 1;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.EAST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,0,5);
         ((GridBagLayout)p1.getLayout()).setConstraints( label, gbc);
         p1.add( label);
         tf_remote_data_port= new JTextField( 15);
         gbc= new GridBagConstraints();
         gbc.gridx = 1;
         gbc.gridy = 1;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.WEST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,0,5);
         ((GridBagLayout)p1.getLayout()).setConstraints( tf_remote_data_port, gbc);
         p1.add( tf_remote_data_port);     
    JPanel p2= new JPanel();
    addTarget= new JButton( "Add Target");     
    removeTarget= new JButton( "Remove Target");
         p2.add( addTarget);
         p2.add( removeTarget);
         addTarget.addActionListener( this);
         removeTarget.addActionListener( this);
         gbc= new GridBagConstraints();
         gbc.gridx = 0;
         gbc.gridy = 2;
         gbc.weightx = 1.0;
         gbc.weighty = 0.0;
         gbc.gridwidth= 2;
         gbc.anchor = GridBagConstraints.CENTER;
         gbc.fill = GridBagConstraints.HORIZONTAL;
         gbc.insets = new Insets( 20,5,0,5);
         ((GridBagLayout)p1.getLayout()).setConstraints( p2, gbc);
         p1.add( p2);
         gbc= new GridBagConstraints();
         gbc.gridx= 1;
         gbc.gridy= 0;
         gbc.weightx= 1.0;
         gbc.weighty= 1.0;
         gbc.anchor= GridBagConstraints.CENTER;
         gbc.fill= GridBagConstraints.BOTH;
         gbc.insets= new Insets( 10, 5, 0, 0);
         ((GridBagLayout)p.getLayout()).setConstraints( p1, gbc);
         p.add( p1);
         TitledBorder titledBorder= new TitledBorder( new EtchedBorder(), "Targets");
         p.setBorder( titledBorder);
         return p;
    private JPanel createLocalPanel() {
    JPanel p= new JPanel();
         GridBagLayout gridBagLayout= new GridBagLayout();
    GridBagConstraints gbc;
         p.setLayout( gridBagLayout);
         JLabel label= new JLabel( "IP Address:");
         gbc= new GridBagConstraints();
         gbc.gridx = 0;
         gbc.gridy = 0;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.EAST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,0,5);
         ((GridBagLayout)p.getLayout()).setConstraints( label, gbc);
         p.add( label);
         JTextField tf_local_host= new JTextField( 15);
         gbc= new GridBagConstraints();
         gbc.gridx = 1;
         gbc.gridy = 0;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.WEST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,0,5);
         ((GridBagLayout)p.getLayout()).setConstraints( tf_local_host, gbc);
         p.add( tf_local_host);
         try {
    String host= InetAddress.getLocalHost().getHostAddress();     
         tf_local_host.setText( host);
         } catch( UnknownHostException e) {
         label= new JLabel( "Data Port:");
         gbc= new GridBagConstraints();
         gbc.gridx = 0;
         gbc.gridy = 1;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.EAST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,0,5);
         ((GridBagLayout)p.getLayout()).setConstraints( label, gbc);
         p.add( label);
         tf_data_port= new JTextField( 15);
         gbc= new GridBagConstraints();
         gbc.gridx = 1;
         gbc.gridy = 1;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.WEST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,10,5);
         ((GridBagLayout)p.getLayout()).setConstraints( tf_data_port, gbc);
         p.add( tf_data_port);
         tf_data_port.setText( config.local_data_port);
         TitledBorder titledBorder= new TitledBorder( new EtchedBorder(), "Local Host");
         p.setBorder( titledBorder);
         return p;
    public void actionPerformed( ActionEvent event) {
    Object source= event.getSource();
         if( source == addTarget) {
         String ip= tf_remote_address.getText().trim();
         String port= tf_remote_data_port.getText().trim();
         String localPort= tf_data_port.getText().trim();
         addTargetToList( localPort, ip, port);
         if( avTransmitter != null) {
         avTransmitter.addTarget( ip, port);
         } else if( source == removeTarget) {
         int index= list.getSelectedIndex();
         if( index != -1) {
              Target target= (Target) targets.elementAt( index);
              if( avTransmitter != null) {
         avTransmitter.removeTarget( target.ip, target.port);
              targets.removeElement( target);
              listModel.setData( targets);          
         } else if( source == startXmit) {
         if( startXmit.getLabel().equals( "Start Transmission")) {          
         int data_port= new Integer( tf_data_port.getText()).intValue();
              avTransmitter= new AVTransmitter( this, data_port);
         avTransmitter.start( tf_media_file.getText().trim(), targets);          
              avTransmitter.setLooping( cb_loop.isSelected());
         startXmit.setLabel( "Stop Transmission");
         } else if( startXmit.getLabel().equals( "Stop Transmission")) {
              avTransmitter.stop();
              avTransmitter= null;
              removeNonBaseTargets();
              listModel.setData( targets);
         startXmit.setLabel( "Start Transmission");          
         } else if( source == rtcp) {
         if( rtcpViewer == null) {
         rtcpViewer= new RTCPViewer();
         } else {
              rtcpViewer.setVisible( true);
              rtcpViewer.toFront();
         } else if( source == cb_loop) {
         if( avTransmitter != null) {
              avTransmitter.setLooping( cb_loop.isSelected());
    private void removeNonBaseTargets() {
         String localPort= tf_data_port.getText().trim();
         for( int i= targets.size(); i > 0;) {
         Target target= (Target) targets.elementAt( i - 1);
         if( !target.localPort.equals( localPort)) {
    targets.removeElement( target);
         i--;
    public void addTargetToList( String localPort,
                             String ip, String port) {     
    ListUpdater listUpdater= new ListUpdater( localPort, ip,
                                  port, listModel, targets);
    SwingUtilities.invokeLater( listUpdater);           
    public void rtcpReport( String report) {
         if( rtcpViewer != null) {
         rtcpViewer.report( report);
    public void windowClosing( WindowEvent event) {
         config.local_data_port= tf_data_port.getText().trim();
         config.targets= new Vector();
         for( int i= 0; i < targets.size(); i++) {
         Target target= (Target) targets.elementAt( i);
         if( target.localPort.equals( config.local_data_port)) {
              config.addTarget( target.ip, target.port);
         config.media_locator= tf_media_file.getText().trim();
         config.write();
    System.exit( 0);
    public void windowClosed( WindowEvent event) {
    public void windowDeiconified( WindowEvent event) {
    public void windowIconified( WindowEvent event) {
    public void windowActivated( WindowEvent event) {
    public void windowDeactivated( WindowEvent event) {
    public void windowOpened( WindowEvent event) {
    public void keyPressed( KeyEvent event) {
    public void keyReleased( KeyEvent event) {
    Object source= event.getSource();
         if( source == list) {
         int index= list.getSelectedIndex();
    public void keyTyped( KeyEvent event) {
    public void mousePressed( MouseEvent e) {
    public void mouseReleased( MouseEvent e) {
    public void mouseEntered( MouseEvent e) {
    public void mouseExited( MouseEvent e) {
    public void mouseClicked( MouseEvent e) {
    Object source= e.getSource();
         if( source == list) {
         int index= list.getSelectedIndex();
         if( index != -1) {
              Target target= (Target) targets.elementAt( index);
              tf_remote_address.setText( target.ip);
              tf_remote_data_port.setText( target.port);
         int index= list.locationToIndex( e.getPoint());
    public static void main( String[] args) {
    new Tx();
    class TargetListModel extends AbstractListModel {
    private Vector options;
    public TargetListModel( Vector options) {
         this.options= options;
    public int getSize() {
         int size;
         if( options == null) {
         size= 0;
         } else {
         size= options.size();
         return size;
    public Object getElementAt( int index) {
    String name;
    if( index < getSize()) {
         Target o= (Target)options.elementAt( index);
    name= o.localPort + " ---> " + o.ip + ":" + o.port;
         } else {
         name= null;
         return name;
    public void setData( Vector data) {
         options= data;
         fireContentsChanged( this, 0, data.size());
    class ListUpdater implements Runnable {
    String localPort, ip, port;
    TargetListModel listModel;
    Vector targets;
    public ListUpdater( String localPort, String ip, String port,
                   TargetListModel listModel, Vector targets) {
         this.localPort= localPort;
         this.ip= ip;
         this.port= port;
         this.listModel= listModel;
         this.targets= targets;
    public void run() {
    Target target= new Target( localPort, ip, port);
         if( !targetExists( localPort, ip, port)) {
         targets.addElement( target);
    listModel.setData( targets);
    public boolean targetExists( String localPort, String ip, String port) {
         boolean exists= false;
         for( int i= 0; i < targets.size(); i++) {
         Target target= (Target) targets.elementAt( i);
         if( target.localPort.equals( localPort)
         && target.ip.equals( ip)
              && target.port.equals( port)) {          
              exists= true;
         break;
         return exists;
    >>>>>>>>>>>>>>>>>
    import java.awt.*;
    import java.io.*;
    import java.net.InetAddress;
    import java.util.*;
    import javax.media.*;
    import javax.media.protocol.*;
    import javax.media.format.*;
    import javax.media.control.TrackControl;
    import javax.media.control.QualityControl;
    import javax.media.rtp.*;
    import javax.media.rtp.event.*;
    import javax.media.rtp.rtcp.*;
    public class AVTransmitter implements ReceiveStreamListener, RemoteListener,
    ControllerListener {
    // Input MediaLocator
    // Can be a file or http or capture source
    private MediaLocator locator;
    private String ipAddress;
    private int portBase;
    private Processor processor = null;
    private RTPManager rtpMgrs[];
    private int localPorts[];
    private DataSource dataOutput = null;
    private int local_data_port;
    private Tx tx;
    public AVTransmitter( Tx tx, int data_port) {
         this.tx= tx;
         local_data_port= data_port;
    * Starts the transmission. Returns null if transmission started ok.
    * Otherwise it returns a string with the reason why the setup failed.
    public synchronized String start( String filename, Vector targets) {
         String result;
         locator= new MediaLocator( filename);
         // Create a processor for the specified media locator
         // and program it to output JPEG/RTP
         result = createProcessor();
         if (result != null) {
         return result;
         // Create an RTP session to transmit the output of the
         // processor to the specified IP address and port no.
         result = createTransmitter( targets);
         if (result != null) {
         processor.close();
         processor = null;
         return result;
         // Start the transmission
         processor.start();
         return null;
    * Use the RTPManager API to create sessions for each media
    * track of the processor.
    private String createTransmitter( Vector targets) {
         // Cheated. Should have checked the type.
         PushBufferDataSource pbds = (PushBufferDataSource)dataOutput;
         PushBufferStream pbss[] = pbds.getStreams();
         rtpMgrs = new RTPManager[pbss.length];
         localPorts = new int[ pbss.length];
         SessionAddress localAddr, destAddr;
         InetAddress ipAddr;
         SendStream sendStream;
         int port;
         SourceDescription srcDesList[];
         for (int i = 0; i < pbss.length; i++) {
         // for (int i = 0; i < 1; i++) {
         try {
              rtpMgrs[i] = RTPManager.newInstance();     
              port = local_data_port + 2*i;
              localPorts[ i]= port;
              localAddr = new SessionAddress( InetAddress.getLocalHost(),
                                  port);
              rtpMgrs.initialize( localAddr);          
              rtpMgrs[i].addReceiveStreamListener(this);
              rtpMgrs[i].addRemoteListener(this);
         for( int k= 0; k < targets.size(); k++) {
              Target target= (Target) targets.elementAt( k);
              int targetPort= new Integer( target.port).intValue();
              addTarget( localPorts[ i], rtpMgrs[ i], target.ip, targetPort + 2*i);
              sendStream = rtpMgrs[i].createSendStream(dataOutput, i);          
              sendStream.start();
         } catch (Exception e) {
              e.printStackTrace();
              return e.getMessage();
         return null;
    public void addTarget( String ip, String port) {
         for (int i= 0; i < rtpMgrs.length; i++) {
         int targetPort= new Integer( port).intValue();
         addTarget( localPorts[ i], rtpMgrs[ i], ip, targetPort + 2*i);
    public void addTarget( int localPort, RTPManager mgr, String ip, int port) {
         try {
         SessionAddress addr= new SessionAddress( InetAddress.getByName( ip),
                                  new Integer( port).intValue());
         mgr.addTarget( addr);
         tx.addTargetToList( localPort + "", ip, port + "");
         } catch( Exception e) {
         e.printStackTrace();
    public void removeTarget( String ip, String port) {
         try {     
         SessionAddress addr= new SessionAddress( InetAddress.getByName( ip),
                                  new Integer( port).intValue());
         for (int i= 0; i < rtpMgrs.length; i++) {
         rtpMgrs[ i].removeTarget( addr, "target removed from transmitter.");
         } catch( Exception e) {
         e.printStackTrace();
    boolean looping= true;
    public void controllerUpdate( ControllerEvent ce) {
         System.out.println( ce);
         if( ce instanceof DurationUpdateEvent) {
         Time duration= ((DurationUpdateEvent) ce).getDuration();
         System.out.println( "duration: " + duration.getSeconds());
         } else if( ce instanceof EndOfMediaEvent) {
         System.out.println( "END OF MEDIA - looping=" + looping);
         if( looping) {
         processor.setMediaTime( new Time( 0));
              processor.start();
    public void setLooping( boolean flag) {
         looping= flag;
    public void update( ReceiveStreamEvent event) {
         String timestamp= getTimestamp();
         StringBuffer sb= new StringBuffer();
         if( event instanceof InactiveReceiveStreamEvent) {
         sb.append( timestamp + " Inactive Receive Stream");
         } else if( event instanceof ByeEvent) {
         sb.append( timestamp + " Bye");
         } else {
         System.out.println( "ReceiveStreamEvent: "+ event);
         tx.rtcpReport( sb.toString());     
    public void update( RemoteEvent event) {     
         String timestamp= getTimestamp();
         if( event instanceof ReceiverReportEvent) {
         ReceiverReport rr= ((ReceiverReportEvent) event).getReport();
         StringBuffer sb= new StringBuffer();
         sb.append( timestamp + " RR");
         if( rr != null) {
              Participant participant= rr.getParticipant();
              if( participant != null) {
              sb.append( " from " + participant.getCNAME());
              sb.append( " ssrc=" + rr.getSSRC());
              } else {
              sb.append( " ssrc=" + rr.getSSRC());
              tx.rtcpReport( sb.toString());
         } else {
         System.out.println( "RemoteEvent: " + event);
    private String getTimestamp() {
         String timestamp;
         Calendar calendar= Calendar.getInstance();
         int hour= calendar.get( Calendar.HOUR_OF_DAY);
         String hourStr= formatTime( hour);
         int minute= calendar.get( Calendar.MINUTE);
         String minuteStr= formatTime( minute);
         int second= calendar.get( Calendar.SECOND);
         String secondStr= formatTime( second);
         timestamp= hourStr + ":" + minuteStr + ":" + secondStr;     
         return timestamp;
    private String formatTime( int time) {     
         String timeStr;
         if( time < 10) {
         timeStr= "0" + time;
         } else {
         timeStr= "" + time;
         return timeStr;
    * Stops the transmission if already started
    public void stop() {
         synchronized (this) {
         if (processor != null) {
              processor.stop();
              processor.close();
              processor = null;
         for (int i= 0; i < rtpMgrs.length; i++) {
         rtpMgrs[ i].removeTargets( "Session ended.");
              rtpMgrs[ i].dispose();
    public String createProcessor() {
         if (locator == null) {
         return "Locator is null";
         DataSource ds;
         DataSource clone;
         try {
         ds = javax.media.Manager.createDataSource(locator);
         } catch (Exception e) {
         return "Couldn't create DataSource";
         // Try to create a processor to handle the input media locator
         try {
         processor = javax.media.Manager.createProcessor(ds);
         processor.addControllerListener( this);     
         } catch (NoProcessorException npe) {
         return "Couldn't create processor";
         } catch (IOException ioe) {
         return "IOException creating processor";
         // Wait for it to configure
         boolean result = waitForState(processor, Processor.Configured);
         if (result == false)
         return "Couldn't configure processor";
         // Get the tracks from the processor
         TrackControl [] tracks = processor.getTrackControls();
         // Do we have atleast one track?
         if (tracks == null || tracks.length < 1)
         return "Couldn't find tracks in processor";
         // Set the output content descriptor to RAW_RTP
         // This will limit the supported formats reported from
         // Track.getSupportedFormats to only valid RTP formats.
         ContentDescriptor cd = new ContentDescriptor(ContentDescriptor.RAW_RTP);
         processor.setContentDescriptor(cd);
         Format supported[];
         Format chosen;
         boolean atLeastOneTrack = false;
         // Program the tracks.
         for (int i = 0; i < tracks.length; i++) {
         Format format = tracks[i].getFormat();
         if (tracks[i].isEnabled()) {
              supported = tracks[i].getSupportedFormats();
              // We've set the output content to the RAW_RTP.
              // So all the supported formats should work with RTP.
              // We'll just pick the first one.
              if (supported.length > 0) {
              if (supported[0] instanceof VideoFormat) {
                   // For video formats, we should double check the
                   // sizes since not all formats work in all sizes.
                   chosen = checkForVideoSizes(tracks[i].getFormat(),
                                       supported[0]);
              } else
                   chosen = supported[0];
              tracks[i].setFormat(chosen);
              System.err.println("Track " + i + " is set to transmit as:");
              System.err.println(" " + chosen);
              atLeastOneTrack = true;
              } else
              tracks[i].setEnabled(false);
         } else
              tracks[i].setEnabled(false);
         if (!atLeastOneTrack)
         return "Couldn't set any of the tracks to a valid RTP format";
         // Realize the processor. This will internally create a flow
         // graph and attempt to create an output datasource for JPEG/RTP
         // audio frames.
         result = waitForState(processor, Controller.Realized);
         if (result == false)
         return "Couldn't realize processor";
         // Set the JPEG quality to .5.
         setJPEGQuality(processor, 0.5f);
         // Get the output data source of the processor
         dataOutput = processor.getDataOutput();
         return null;
    static SessionAddress destAddr1, destAddr2;
    * For JPEG and H263, we know that they only work for particular
    * sizes. So we'll perform extra checking here to make sure they
    * are of the right sizes.
    Format checkForVideoSizes(Format original, Format supported) {
         int width, height;
         Dimension size = ((VideoFormat)original).getSize();
         Format jpegFmt = new Format(VideoFormat.JPEG_RTP);
         Format h263Fmt = new Format(VideoFormat.H263_RTP);
         if (supported.matches(jpegFmt)) {
         // For JPEG, make sure width and height are divisible by 8.
         width = (size.width % 8 == 0 ? size.width :
                        (int)(size.width / 8) * 8);
         height = (size.height % 8 == 0 ? size.height :
                        (int)(size.height / 8) * 8);
         } else if (supported.matches(h263Fmt)) {
         // For H.263, we only support some specific sizes.
         if (size.width < 128) {
              width = 128;
              height = 96;
         } else if (size.width < 176) {
              width = 176;
              height = 144;
         } else {
              width = 352;
              height = 288;
         } else {
         // We don't know this particular format. We'll just
         // leave it alone then.
         return supported;
         return (new VideoFormat(null,
                        new Dimension(width, height),
                        Format.NOT_SPECIFIED,
                        null,
                        Format.NOT_SPECIFIED)).intersects(supported);
    * Setting the encoding quality to the specified value on the JPEG encoder.
    * 0.5 is a good default.
    void setJPEGQuality(Player p, float val) {
         Control cs[] = p.getControls();
         QualityControl qc = null;
         VideoFormat jpegFmt = new VideoFormat(VideoFormat.JPEG);
         // Loop through the controls to find the Quality control for
         // the JPEG encoder.
         for (int i = 0; i < cs.length; i++) {
         if (cs[i] instanceof QualityControl &&
              cs[i] instanceof Owned) {
              Object owner = ((Owned)cs[i]).getOwner();
              // Check to see if the owner is a Codec.
              // Then check for the output format.
              if (owner instanceof Codec) {
              Format fmts[] = ((Codec)owner).getSupportedOutputFormats(null);
              for (int j = 0; j < fmts.length; j++) {
                   if (fmts[j].matches(jpegFmt)) {
                   qc = (QualityControl)cs[i];
                   qc.setQuality(val);
                   System.err.println("- Setting quality to " +
                             val + " on " + qc);
                   break;
              if (qc != null)
              break;
    * Convenience methods to handle processor's state changes.
    private Integer stateLock = new Integer(0);
    private boolean failed = false;
    Integer getStateLock() {
         return stateLock;
    void setFailed() {
         failed = true;
    private synchronized boolean waitForState(Processor p, int state) {
         p.addControllerListener(new StateListener());
         failed = false;
         // Call the required method on the processor
         if (state == Processor.Configured) {
         p.configure();
         } else if (state == Processor.Realized) {
         p.realize();
         // Wait until we get an event that confirms the
         // success of the method, or a failure event.
         // See StateListener inner class
         while (p.getState() < state && !failed) {
         synchronized (getStateLock()) {
              try {
              getStateLock().wait();
              } catch (InterruptedException ie) {
              return false;
         if (failed)
         return false;
         else
         return true;
    * Inner Classes
    class StateListener implements ControllerListener {
         public void controllerUpdate(ControllerEvent ce) {
         // If there was an error during configure or
         // realiz

    I do this all the time, I put my MBP to a 60 inch Sharp. If you have the video working do the simple thing first. Check to make sure your sound is on your TV and Mac. Then if that doesn't work go to System Prefrences and under sound go to a tab called Output and see if your TV is listed and if it is change it to that setting
    Hope It Works

  • Install ECC 6.0 and Solution Manager on same server Error (MaxDB/Linux)

    I have installed Solution manager on one server and then ECC 6 also in the same server with another SID. during the installation it errored out at phase "SLD configuration" with UME error , J2EE_ADMIN locked etc..we checked the user id and noticed it got locked in ECC 6 system and we unlocked it.
    But after the ECC installation the solution manager java engine is not coming up error with "com.sap.security.core.ume.service failed" error. Prior to the ECC installation the Solution Manager J2EE was working.
    thanks in advance
    Mathew

    error in the /j2ee/cluster/server0/log/defaultTrace.1.trc
    is as follows
    #1.5#00137256A483001E0000001700006F190004163784D40864#1150327614343#com.sap.engine.core.Framework##com.sap.engine.core.Framework#######SAPEngine_System_Thread[impl:5]_61##0#0#Fatal#1#/System/Server#Plain###Critical shutdown was invoked. Reason is: Core service com.sap.security.core.ume.service failed. J2EE Engine cannot be started.#
    When I looked at using jcmon the dispacher is up and the server0 and SDM is down

  • R/3 upgrade from 4.7 to ECC 6.0 and BW upgrade from 3.5 to 7.0

    Is there a reason to upgrade Solution Manager from 3.2 to 4.0 when upgrading R/3 from 4.7 to ECC 6.0 and BW upgrade from 3.5 to 7.0?
    And when in current situation Unicode UTF8 is used, could that give problems during / after the upgrade?

    Hello ALex,
    There is not a must to upgrade also your solman 3.2 when you upgrade your satellites, only consider if you need the solman diagnostic or not and also that the new functionality in solman 4.0.
    Which system is unicode, the satellite?
    There is also not problems having a non-unicode solman with unicode satellites and the other, having a unicode-solman "linked" to unicode-satellites.
    Hope this helps,
    Dolores

  • Data Consistency when Copying/ Refreshing ECC 6.0 and SRM-SUS 5.0 Systems

    Hello,
    We are planning a refresh / system copy of an ECC 6.0 and SRM-SUS 5.0 system
    The refreshes will be completed from backups taken of production systems refreshed onto the QA Landscape.
    I have referenced the following SDN thread that provides some guidelines on how to refresh R/3 and SRM systems and maintain data consistency between the systems using BDLS and changing entries that correspond to backend RFC destinations:
    [Is there a process/program  to update tables/data after System Refresh?;
    This thread is fairly old and relates to earlier versions of R/3 (4.7) and SRM (3.0).  We have heard that at higher system versions there may be technical reasons why a refresh canu2019t be performed.
    Does anyone have experience of completing successful refreshes of landscape that contain ECC and SRM systems at higher SAP versions (ideally ECC 6.0 and SRM-SUS 5.0)  Does anyone know whether it is technically possible?
    Are there any additional steps that we need to be aware of at these higher SAP versions in completing the copy to ensure that the data remains consistent between ECC and SRM?
    Thanks
    Frances

    I have seen this somewhere in the forum: See if this helps you
    BDLS: Convertion of logical system (SRM).
    Check entry in table TWPURLSVR.
    Check RFC connections (R/3 and SRM)
    SPRO, check or set the following points:
    Set up Distribution Model and distribute it
    Define backend system
    Define backend sytem per product category
    Setting for vendor synchronization
    Numbe ranges
    Define object in backend sytem
    Define external services (catalogs)
    Check WF customizing: SWU3, settings for tasks
    SICF: maintain the service BBPSTART, SAPCONNECT
    SE38:
    Run SIAC_PUBLISH_ALL_INTERNAL
    Run BBP_LOCATIONS_GET_ALL
    Update vendor BBPUPDVD
    Check Middleware if used.
    Run BBP_GET_EXRATE.
    Schedule jobs (bbp_get_status2, clean_reqreq_up)
    Convert attributes with RHOM_ATTRIBUTE_REPLACE

  • Difference Between SAP ECC 6.0 and SAP Solution

    Dear Experts,
       We are in the process of implementing a new SAP Structure.
        We are taking a hosted model from vendor which is called SBH (Subscription Based Hosting) of SAP Solution
      So my question to all experts is that, what is the exact difference between SAP ECC 6.0 and SAP Solution SBH model.
       If any comparison chart,  it would be helfull.
    Do reply asap.
    Thanks in advance,
    Nilesh Jain

    Hi Nilesh,
    Looking at the image below, you will find out that ECC6 is under SAP ERP, and SAP ERP is under SAP Solution:
    SAP solution is of a bigger element and ECC 6 is a component of it.
    Regards,
    Rod

  • Differences between SAP 4.7, SAP ECC 5.0 and ECC 6.0

    Hello SAP Gurus,
    Could someone please let me explain, what are the main differences between SAP 4.7, SAP ECC 5.0 and ECC 6.0.
    Thanks
    Sha

    Hi,
    Check in this link
    http://erp.fmpmedia.com/Default.aspx?alias=erp.fmpmedia.com/english

  • SAP ECC 6.0 and mySAP ERP

    Hello Gurus,
    Could somebody tell me the difference between SAP ECC 6.0 and mySAP ERP
    Thanks and reward guaranteed

    Hi,
    These are versions of SAP.
    you can findout the differences between these two versions from the following link
    http://solutionbrowser.erp.sap.fmpmedia.com/
    Regards
    Ali

  • What are the best ways (for best performance) in MII to process the incoming process messages from shop floor systems to SAP ECC 6.0 and vice versa?

    Hi All,
    Can you please suggest to choose the best ways (for best performance) in MII (12.2 on NW 7.3), to process the incoming process messages from shop floor systems to SAP ECC 6.0 and vice versa?
    Thanks

    Hi Surya,
    Best practices for flow of data from ECC --> SAP MII --> Shop floor & Vice verse:
    1. Send ECC data through IDOC's/RFC's as messages to SAP MII message listener and BSL transaction process data and update directly on shop floor database as if you configured in Data services or later send those data by web service to shop floor system (i.e. depends on Shop floor machines).
    From Shop floor:
    shop floor --> SAP MII --> ECC
    1. Use either Web service or fetch data from DB and pass data to BAPI's  for sending to ECC through BLS transaction.
    Regards,
    Praveen Reddy

  • How is the interface between the Java Stack and ABAP stack is achieved?

    How is the interface between the Java Stack and ABAP stack is achieved?..Please send me the answer to [email protected]

    Hi,
    By interface, I assume you mean the connection between the ABAP and the Java stacks in a double stack system.
    The connection from Java to ABAP is through JCo connections defined in the WebDynpro section of the J2EE start page. So Java to ABAP requests are processed through JCo.
    The connection from ABAP to Java is through RFC connections defined in TA SM59. The ABAP to Java requests are processed through RFC.
    Refer https://dsd.esco-salt.com/StartPage/documents/integration/3.html for detailed explanation.
    The UME can be maintained in either ABAP or in JAVA depending on the persistence.
    Refer: http://help.sap.com/saphelp_nw70/helpdata/en/5b/5d2706ebc04e4d98036f2e1dcfd47d/frameset.htm
    Check UME data source configuration.
    Some quick FAQs can be found at:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/ad47eb90-0201-0010-7cb2-ddfa5ed879ec
    Hope this helps.
    Best Regards,
    Srividya.R

  • Interface to go between mixer and computer.

    I'm looking for something to hook up between my mixer and my computer so I can record at least 2 separate tracks at one time in GB.
    Anyone have an idea of what I'm looking for?
    PB G4 Ti   Mac OS X (10.4.6)  

    If all you want is 2 tracks at once, then the mixer will do that as described, or a 2 channel interface will do that ALONE, and the mixer wouldn't be needed. I see no reason to connect the mixer to an interface to get 2 separate tracks. Using the mixer in this way WOULD be desirable if you were wanting to get a stereo mix of a drum kit, for example. Then you could pan the drums where you like and have 2 tracks of the drums in stereo, but that doesn't sound like what you are saying. If you simple want 2 separate tracks, then either will do fine. Both are not necessary.

Maybe you are looking for

  • Is the purchased version of Lightroom 4 the same as the free trial version?

    When I watch the tutorial videos about LR4 they show things I can't find on my trial version. I'm wondering if there's a difference or if I just don't know how to use it correctly.

  • I using 4s and upgrade new version IOS8 but my unit is very slow why?

    I using 4s and upgrade new version IOS8 but my unit is very slow why?

  • Catching Mapping error at runtime using a udf

    Hi AlL, I read some blog where it was discussed.. we can catch runtime error ? Is it possible? how will we be able to catch the runtime error say during the mapping we got an error and we want to catch that error and log it somewhere or throw user de

  • Unwanted characters appear

    When my pages are published to a website (through another host), I have odd characters showing up where certain punctuation marks (like apostrophes, bullet points, quote marks) and commas should appear. What is happening? How can I fix it? www.mysucc

  • CoinFlip Game .. Need help.

    I'm a beginner in Java and I'm doing an assignment. My assignment question is... Can you correctly guess what the computer got when flipping the coin? In this game      the computer will flip a coin 3 times. Each time you, the player, must guess corr