Reject the footer using the external table

Hi,
I have a flat file with fixed length which have a header and a footer.
My file is something like this:
HADF.TXT0309
D12345ABCD
D22345ABCD
FOOTERHJ
I want to create an external table based on that file, but
I don't want to have the header and the footer in my table. To eliminate the header I used skip 1, but I don't know how to eliminate the footer.
Any example and suggestions will be appreciated
Thank you for your time and consideration
Catalin

Hi,
This problem may be due to several reasons. I am aware of few reasons.
1)Have you deployed the external table first?
2) If you do not have your data base client and server running in the same machine, you should place the csv file in the database server machine's 'c:\CSV' folder in order to create the external table through database. Then do a select count(*) statement.
3)Another reason may be as gerardnico said the file name you refered may be wrong.
I don't know your requirement. If you could create the external table succefully and if you get value for the select count(*) from <external_table_name>, then try to import the external table into the Design Center and map it with the Table you need.
If you are doing it purely with OWB then,
Do you have the file Export_WithHeaders.csv in the Server machine's 'c:\CSV_FILE' folder?
Because while importing the metadata of the CSV file the OWB will point to your local machine's 'c:\CSV_FILE' that is why your Validation and Deployment is success without errors.
But while executing the map it will take the data from Server machine. It will search for the Location 'c:\CSV_FILE' in the server machine and will look for the file Export_WithHeaders.csv there. So create athe same folder setup which you have in your client machine and run this again.
Try this if you do not get any better answers in this thread

Similar Messages

  • How to remove carraige return from the field while loading external table

    I am facing an issue of not getting rid of carraige returns present in the fileds of the source .csv file while loading the records into external table.
    I had tried using LRTRIM, but it does not help.
    The error I am getting is:
    KUP-04021: field formatting error for field POPULATION_DESCRIPTION
    KUP-04037: terminator not found
    I am pasting one record out of the .csv file which is causing this error as below:
    "Business Card Accounts
    ",123,7 BizCard - Gamers,Control,"Business Card Accounts
    ",75270,75271
    You can see the carraige return in the 1st field as well as 5th field. Filed are separated by commas & eclosed by double quotes.
    Could anybody help on this please?

    Can you copy the file to an external table only version, and then dos2unix it?
    Alternatively, you can use the ACCESS PARAMETERS area in your external table definition to set that your RECORDS DELIMITED BY carriage returns, instead of the default.
    Check out the example here http://www.psoug.org/reference/externaltab.html

  • How can I remove the eleven external links at the foot of the opening screen?

    There are elevn external links at the foot of the startup screen. Some of these are to gaming or gambling sites and some are 'advertisments' for madasafish, my ISP. How can I get rid of these?

    You can disable some browser.taskbar.*enable prefs on the about:config page.
    To open the <i>about:config</i> page, type <b>about:config</b> in the location (address) bar and press the "<i>Enter</i>" key, just like you type the url of a website to open a website.<br />
    If you see a warning then you can confirm that you want to access that page.<br />
    *Use the Filter bar at to top of the about:config page to locate a preference more easily.
    *Preferences that have been modified show as bold(user set).
    *Preferences can be reset to the default or changed via the right-click context menu.

  • What is the main use of mseg table

    what is the main use of mseg table. when we should actually use this. please explain me in detail. then what is the difference betweeln mseg and mara table.

    MM Process flow:
    The typical procurement cycle for a service or material consists of the following phases:
    1. Determination of Requirements
    Materials requirements are identified either in the user departments or via materials planning and control. (This can cover both MRP proper and the demand-based approach to inventory control. The regular checking of stock levels of materials defined by master records, use of the order-point method, and forecasting on the basis of past usage are important aspects of the latter.) You can enter purchase requisitions yourself, or they can be generated automatically by the materials planning and control system.
    2. Source Determination
    The Purchasing component helps you identify potential sources of supply based on past orders and existing longer-term purchase agreements. This speeds the process of creating requests for quotation (RFQs), which can be sent to vendors electronically via SAP EDI, if desired.
    3. Vendor Selection and Comparison of Quotations
    The system is capable of simulating pricing scenarios, allowing you to compare a number of different quotations. Rejection letters can be sent automatically.
    4. Purchase Order Processing
    The Purchasing system adopts information from the requisition and the quotation to help you create a purchase order. As with purchase requisitions, you can generate Pos yourself or have the system generate them automatically. Vendor scheduling agreements and contracts (in the SAP System, types of longer-term purchase agreement) are also supported.
    5. Purchase Order Follow-Up
    The system checks the reminder periods you have specified and - if necessary - automatically prints reminders or expediters at the predefined intervals. It also provides you with an up-to-date status of all purchase requisitions, quotations, and purchase orders.
    6. Goods Receiving and Inventory Management
    Goods Receiving personnel can confirm the receipt of goods simply by entering the Po number. By specifying permissible tolerances, buyers can limit over- and underdeliveries of ordered goods.
    7. Invoice Verification
    The system supports the checking and matching of invoices. The accounts payable clerk is notified of quantity and price variances because the system has access to PO and goods receipt data. This speeds the process of auditing and clearing invoices for payment.
    Common Tables used by SAP MM:
    Below are few important Common Tables used in Materials Management Modules:
    EINA Purchasing Info Record- General Data
    EINE Purchasing Info Record- Purchasing Organization Data
    MAKT Material Descriptions
    MARA General Material Data
    MARC Plant Data for Material
    MARD Storage Location Data for Material
    MAST Material to BOM Link
    MBEW Material Valuation
    MKPF Header- Material Document
    MSEG Document Segment- Material
    MVER Material Consumption
    MVKE Sales Data for materials
    RKPF Document Header- Reservation
    T023 Mat. groups
    T024 Purchasing Groups
    T156 Movement Type
    T157H Help Texts for Movement Types
    MOFF Lists what views have not been created
    A501 Plant/Material
    EBAN Purchase Requisition
    EBKN Purchase Requisition Account Assignment
    EKAB Release Documentation
    EKBE History per Purchasing Document
    EKET Scheduling Agreement Schedule Lines
    EKKN Account Assignment in Purchasing Document
    EKKO Purchasing Document Header
    EKPO Purchasing Document Item
    IKPF Header- Physical Inventory Document
    ISEG Physical Inventory Document Items
    LFA1 Vendor Master (General section)
    LFB1 Vendor Master (Company Code)
    NRIV Number range intervals
    RESB Reservation/dependent requirements
    T161T Texts for Purchasing Document Types
    Transaction codes:
    RFQ to Vendor - ME41
    Raising Quotation - ME47
    Comparison of Price - ME49
    Creation of PO - ME21N
    Goods Receipt - MIGO
    Invoice (Bill PAssing) - MIRO
    Goods Issue - MB1A
    Physical Inventory - MI01( Create doc)
    MI04 (Enter Count)
    MI07 (Post)
    Also please check this links.
    http://www.sapgenie.com/sapfunc/mm.htm
    http://www.sap-basis-abap.com/sapmm.htm
    Go thro this link, u will get a clear picture abt the MM flow.
    MM flow
    MM flow
    MM flow
    <b>Reward Points if it is helpful</b>
    Thanks
    Abhay Singh.

  • Hey, can i clone my Macbook Pro internal hard drive and then paste it all onto a formated external hard drive, then make the Mac use the external as the primary hard drive?

    hey, can i clone my Macbook Pro internal hard drive and then paste it all onto a formated external hard drive, then make the Mac use the external as the primary hard drive? please help for i only have around 618mb left out of 189GB!!!!!!!!!!!!!!!!

    If what doesn't work?
    If cloning your internal drive to the external drive is not successful, I expect CCC will tell you so. Assuming that doesn't happen, you will have a bootable replica of the internal drive on the external drive once CCC has finished.
    You can then do any of several things:
    1. Replace your internal drive with a much larger one (320GB or 500GB, or even larger), and clone the external drive's contents onto the new drive so you'll have all your data in one place. Note that if you do this, you'll also need to buy an external drive that's large enough to back the new internal drive up on.
    2. Boot from the external drive as a temporary measure while you clear at least 30-40GB of data off the internal drive, allowing you to keep using it and saving small amounts of data to it. The external drive will then contain the only copies of the files you've deleted from the internal drive, so you'll need a seond external drive large enough to back both the other drives up on.
    If you can't comfortably clear a minimum of 30GB off the internal drive, you really need a larger internal drive right now, and you shouldn't bother fooling around with the inadequate one you have — you'll just quickly overfill it again.
    3. Replace the optical drive in your MBP with a large conventional hard drive, giving you two hard drives inside the machine. You will then need one or more external drives large enough to back up both of the internal drives.
    If you sense a theme here — back up, back up, back up — you are correct. It's flat-out foolhardy to own or use a computer without maintaining complete, up-to-date backups of everything at all times.

  • How can I Improve the Performance using Global Temo Tables ??

    Hi,
    Can anyone tell me , How can i make use of Global Temporary Tables to improve the Performance.
    I have few sample scripts ,
    Say i have the View based on some Complex query like ,
    CREATE OR REPLACE VIEW Profile_values_view AS
    SELECT d.Profile_option_name, d.Profile_option_id, Profile_option_value,
    u.User_name, Level_id, Level_code
    FROM Profile_definitions d, Profile_values v, Profile_users u
    WHERE d.Profile_option_id = v.Profile_option_id
    AND ((Level_code = 'USER' AND Level_id = U.User_id) OR
    (Level_code = 'DEPARTMENT' AND Level_id = U.Department_id) OR
    (Level_code = 'SITE'))
    AND NOT EXISTS (SELECT 1 FROM PROFILE_VALUES P
    WHERE P.PROFILE_OPTION_ID = V.PROFILE_OPTION_ID
    AND ((Level_code = 'USER' AND
    level_id = u.User_id) OR
    (Level_code = 'DEPARTMENT' AND
    level_id = u.Department_id) OR
    (Level_code = 'SITE'))
    AND INSTR('USERDEPARTMENTSITE', v.Level_code) >
    INSTR('USERDEPARTMENTSITE', p.Level_code));
    Now i have created the Global temp Table as ,
    CREATE GLOBAL TEMPORARY TABLE Profile_values_temp
    Profile_option_name VARCHAR(60) NOT NULL,
    Profile_option_id NUMBER(4) NOT NULL,
    Profile_option_value VARCHAR2(20) NOT NULL,
    Level_code VARCHAR2(10) ,
    Level_id NUMBER(4) ,
    CONSTRAINT Profile_values_temp_pk
    PRIMARY KEY (Profile_option_id)
    ) ON COMMIT PRESERVE ROWS ORGANIZATION INDEX;
    Now I am Inserting the Records into Temp table as
    INSERT INTO Profile_values_temp
    (Profile_option_name, Profile_option_id, Profile_option_value,
    Level_code, Level_id)
    SELECT Profile_option_name, Profile_option_id, Profile_option_value,
    Level_code, Level_id
    FROM Profile_values_view;
    COMMIT;
    Now what my doubt is, when do i need to execute the Insert Statement.
    Say , if the View returns few millions of records , then loading such a data into Global Temporary table takes lot of time.
    Then what is the use of Global Temporary tables and how can i improve the Performance using the same.
    Raj

    Thanks for the responce ,
    There are 2 to 3 complex views in our database, and there always be more than 5000+ users will be workinf on the application and is OLTP application. Those complex views are killing the application performance.
    I what i felt was, if i create the Global Temporary tables for thow views and will be able to load the one third million of records returned by the views in to cache and can improve the application performance.
    I have created the Global Temporary tables for 2 views with the option On Commit Preserve , But after am inserting the records into the Temp table and when i Issue the commit statement, the Temp table is getting Cleared.
    I really got surpised of this behaviour as i know that with the Option On Commit Preserve , the rows should retain in the Temp Table, Instead , it's getting cleared.
    Pelase suggest , what to do ??
    Raj

  • Slight oversight in the Concepts guide regarding external tables

    Taking a look at the section in the Concepts guide on external tables
    http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14220/schema.htm#sthref777
    The line "External tables are read only; therefore, no DML operations are possible" is not strictly correct in 10.2, since you can insert into ORACLE_DATAPUMP external tables as the document goes on to discuss: "Oracle also provides the ORACLE_DATAPUMP type, which lets you unload data (that is, read data from a table in the database and insert it into an external table) and then reload it into an Oracle database." I assume the read only restriction is mentioned here because it was true in 9i and did not get corrected when Oracle introduced the ORACLE_DATAPUMP option in 10g.
    Justin

    Hello again. Development replies that the documentation is technically correct. We do not allow DML operations (insert, update, delete, merge) on external tables. For ORACLE_DATAPUMP, we do allow a "CREATE EXTERNAL TABLE ... AS SELECT ..." operation, but, this is DDL, not DML. This operation just populates the external table with data initially. No DML operations are allowed to modify the data, and indexes cannot be created on an external table.
    If you agree that this is the case, then I'll get the documentation clarified along these lines. If you have experience (test cases) that contradict this, please let me know, and I'll follow up further.
    Regards,
    Diana

  • Create a Purchase order using the BAPI using the data in the XML file.

    Hello Gurus,
    here is the scenario can anyone help me how to proceed explaining the procedure?
    Create a Purchase order using the BAPI using the data in the XML file.
    comprehensive explanations are appreciated.
    thanks in advance.

    hi,
      first use fm "bapi_po_create".
      then use fm "BAPI_ACC_GL_POSTING_POST"
    The demo environment was made with real business scenario in mind, but following subjects need to be addressed in a live implementation:
    •     No exceptions and error handling is implemented, except the order rejection (e.g. partly delivery);
    •     In Navision both XML Ports and the XML DOM has been used to integrate with SAP XI, because XML ports has some drawbacks regarding to Namespaces in XML Documents (mandatory in SAP XI);
    •     A minimum of SAP and Navision customization is required to implement this solution. (e.g. user exit in SAP, Navision XML DOM).

  • Error while calling an procedure using an external table with C#.

    Hello,
    I am developping a scheduler application with Visual Studio 2010 (C#) to start my PL/SQL procedures.
    Everything works fine with every procedure but one who is reading the content of an external table.
    Strange thing is when i launch the same procedure with Toad, i have no problem, but when i launch it with my C# code :
                OracleCommand cmdMET = new OracleCommand();
                cmdMET.CommandText = "STG_AE.M_MET_S_EXT_DEFECT";
                cmdMET.CommandType = CommandType.StoredProcedure;
                cmdMET.Connection = con;
                //OracleParameter retvalMET = new OracleParameter("retval", OracleDbType.Varchar2, 50);
                //retvalMET.Direction = ParameterDirection.ReturnValue;
                //cmdMET.Parameters.Add(retvalMET);
                cmdMET.ExecuteNonQuery();
    I've got this error :
    ORA-29913: error in executing ODCIEXTTABLEFETCH callout
    ORA-01722: invalid number
    ORA-06512: at "STG_AE.M_MET_S_EXT_DEFECT", line 8
    ORA-06512: at "STG_AE.MET_SRC", line 10
    ORA-06512: at "STG_AE.MET", line 14
    ORA-06512: at line 1
    I can't figure out why it works when i launch it with Toad and why i get this error when launching it with C#... Any advice would be great !
    Thanks!

    You're right!
    Adding
    string sql = "ALTER SESSION SET NLS_NUMERIC_CHARACTERS = \",.\"";
    OracleCommand cmd = new OracleCommand(sql, con);
    cmd.CommandType = CommandType.Text;
    OracleDataReader dr = cmd.ExecuteReader();
    solved the problem !
    Thanks a lot =)

  • How to get the range of a textbox in the footer of the 1st page ?

    Just like the problem says, how do I use VBA to get the range of the textbox in the footer of the 1st page?

    getCellRect(...);

  • Logo in the Footer of the RTF doesn't show in PPT output

    Hello
    I try generate a Powerpoint slide deck with a logo at the bottom of each slide. Therefore I have inserted the picture into the footer of the RTF template.
    When generating the ppt output there is not picture at the bottom of the slides. I played around in Word with different layout options for the picture with the result that now blank pages are being inserted before each slide.
    Which layout options do I have to use to achieve the desired output?
    Does the picture need to have a specific file format (bmp, jpg, gif, png) to get it working?
    Thanks for your help
    Robert

    I'm going from memory since this is done from work, but I believe you have to use semi-complete addresses (IE., 'Chicago' by itself won't work, you need to use 'Chicago, Il.' or 'Chicago, Illinois'. IF the address is for a 'Place' iPhoto knows (and it knows hundreds if not thousands of places) it will pop up and allow you to choose that location. If nothing happens, that probably means iPhoto doesn't know that 'Place' and you need to provide a more complete or more accurate name for it. Like I say, try getting in the habit of using at least a City and State... you can also choose the 'Locate on Map' feature and it will actually show a map of the place and you can Move the Pin to exactly where you want it, choose from Satellite View, Terrain View, Map view, zoom in, out, or enlarge or reduce the area covered by the Pin (the Blue Circle around the pin. Hope this helps...

  • Chat Applet using RMI .... trouble running the Applet using the IE browser.

    Hi,
    I'm trying to run a chat application using RMI technology. Actually, this wasn't created from the scratch. I got this one from from the cd that comes with the book I bought and I did some refinements on it to suit what I wanted to:
    These are the components of the chat application:
    1. RApplet.html - invokes the applet
    html>
    <head>
    <title>Sample Applet Using Dialog Box (1.0.2) - example 1</title>
    </head>
    <body>
    <h1>The Sample Applet</h1>
    <applet code="RApplet.class" width=460 height=160>
    </applet>
    </body>
    </html>
    2. RApplet.java - Chat session client applet.
    import java.rmi.*;
    import java.applet.*;
    import java.awt.event.*;
    import java.awt.*;
    import java.io.*;
    import java.rmi.server.*;
    //import ajp.rmi.*;
    public class RApplet extends Applet implements ActionListener {
    // The buttons
    Button sendButton;
    Button quitButton;
    Button startButton;
    Button clearButton;
    // The Text fields
    TextField nameField;
    TextArea typeArea;
    // The dialog for entering your name
    Dialog nameDialog;
    // The name the server knows us as
    String privateName;
    // The name we want to be known as in the chat session
    String publicName;
    // The remote chats erver
    ChatServer chatServer;
    // The ChatCallback
    ChatCallbackImplementation cCallback;
    // The main Chat window and its panels
    Frame mainFrame;
    Panel center;
    Panel south;
    public void init() {
    // Create class that implements ChatCallback.
    cCallback = new ChatCallbackImplementation();
         // Create the main Chat frame.
         mainFrame = new Frame("Chat Server on : " +
                        getCodeBase().getHost());
         mainFrame.setSize(new Dimension(600, 600));
         cCallback.displayArea = new TextArea();
         cCallback.displayArea.setEditable(false);
         typeArea = new TextArea();
         sendButton = new Button("Send");
         quitButton = new Button("Quit");
         clearButton = new Button("Clear");
         // Add the applet as a listener to the button events.
         clearButton.addActionListener(this);
         sendButton.addActionListener(this);
         quitButton.addActionListener(this);
         center = new Panel();
         center.setLayout(new GridLayout(2, 1));
         center.add(cCallback.displayArea);
         center.add(typeArea);
         south = new Panel();
         south.setLayout(new GridLayout(1, 3));
         south.add(sendButton);
         south.add(quitButton);
         south.add(clearButton);
         mainFrame.add("Center", center);
         mainFrame.add("South", south);
         center.setEnabled(false);
         south.setEnabled(false);
         mainFrame.show();
         // Create the login dialog.
         nameDialog = new Dialog(mainFrame, "Enter Name to Logon: ");
         startButton = new Button("Logon");
         startButton.addActionListener(this);
         nameField = new TextField();
         nameDialog.add("Center", nameField);
         nameDialog.add("South", startButton);
         try {
         // Export ourselves as a ChatCallback to the server.
         UnicastRemoteObject.exportObject(cCallback);
         // Get the remote handle to the server.
         chatServer = (ChatServer)Naming.lookup("//" + "WW7203052W2K" +
                                  "/ChatServer");
         catch(Exception e) {
         e.printStackTrace();
         nameDialog.setSize(new Dimension(200, 200));
         nameDialog.show();
    * Handle the button events.
    public void actionPerformed(ActionEvent e) {
         if (e.getSource().equals(startButton)) {
         try {
              nameDialog.setVisible(false);;
              publicName = nameField.getText();
              privateName = chatServer.register(cCallback, publicName);
              center.setEnabled(true);
              south.setEnabled(true);
              cCallback.displayArea.setText("Connected to chat server as: " +
                             publicName);
              chatServer.sendMessage(privateName, publicName +
                             " just connected to server");
         catch(Exception ex) {
              ex.printStackTrace();
         else if (e.getSource().equals(quitButton)) {
         try {
              cCallback.displayArea.setText("");
              typeArea.setText("");
              center.setEnabled(false);
              south.setEnabled(false);
              chatServer.unregister(privateName);
              nameDialog.show();
         catch(Exception ex) {
              ex.printStackTrace();
         else if (e.getSource().equals(sendButton)) {
         try{
              chatServer.sendMessage(privateName, typeArea.getText());
              typeArea.setText("");
         catch(Exception ex) {
              ex.printStackTrace();
         else if (e.getSource().equals(clearButton)) {
         cCallback.displayArea.setText("");
    public void destroy() {
         try {
         super.destroy();
         mainFrame.setVisible(false);;
         mainFrame.dispose();
         chatServer.unregister(privateName);
         catch(Exception e) {
         e.printStackTrace();
    3. Chatcallback.java - interface used by clients to connect to the server.
    import java.rmi.*;
    public interface ChatCallback extends Remote {
    public void addMessage(String publicName,
                   String message) throws RemoteException;
    4. ChatcallbackImplementation.java - implements Chatcallback interface.
    import java.rmi.*;
    import java.io.*;
    import java.awt.event.*;
    import java.awt.*;
    public class ChatCallbackImplementation implements ChatCallback {
    // The buttons
    // The Text fields
    TextArea displayArea;
    public void addMessage(String publicName,
                   String message) throws RemoteException {
    displayArea.append("\n" + "[" + publicName + "]: " + message);
    5. Chatserver.java - interface for the chat server.
    import java.rmi.*;
    import java.io.*;
    public interface ChatServer extends Remote {
    public String register(ChatCallback object,
                   String publicName) throws RemoteException;
    * Remove the client associated with the specified registration string.
    * @param registeredString the string returned to the client upon registration.
    public void unregister(String registeredString) throws RemoteException;
    * The client is sending new data to the server.
    * @param assignedName the string returned to the client upon registration.
    * @param data the chat data.
    public void sendMessage(String registeredString, String message) throws RemoteException;
    6. ChatServerImplementation.java - implements Chatserver interface.
    import java.rmi.*;
    import java.util.*;
    import java.rmi.server.*;
    import java.io.*;
    * A class that bundles the ChatCallback reference with a public name used
    * by the client.
    class ChatClient {
    private ChatCallback callback;
    private String publicName;
    ChatClient(ChatCallback cbk, String name) {
         callback = cbk;
         publicName = name;
    // returns the name.
    String getName() {
         return publicName;
    // returns a reference to the callback object.
    ChatCallback getCallback() {
         return callback;
    public class ChatServerImplementation extends UnicastRemoteObject
    implements ChatServer {
    // The table of clients connected to the server.
    Hashtable clients;
    // Tne number of current connections to the server.
    private int currentConnections;
    // The maximum number of connections to the server.
    private int maxConnections;
    // The output stream to write messages to.
    PrintWriter writer;
    * Create a ChatServer.
    * @param maxConnections the total number if connections allowed.
    public ChatServerImplementation(int maxConnections) throws RemoteException {
         clients = new Hashtable(maxConnections);
         this.maxConnections = maxConnections;
    * Increment the counter keeping track of the number of connections.
    synchronized boolean incrementConnections() {
         boolean ret = false;
         if (currentConnections < maxConnections) {
         currentConnections++;
         ret = true;
         return ret;
    * Decrement the counter keeping track of the number of connections.
    synchronized void decrementConnections() {
         if (currentConnections > 0) {
         currentConnections--;
    * Register with the ChatServer, with a String that publicly identifies
    * the chat client. A String that acts as a "magic cookie" is returned
    * and is sent by the client on future remote method calls as a way of
    * authenticating the client request.
    * @param object The ChatCallback object to be used for updates.
    * @param publicName The String the object would like to be known as.
    * @return The actual String assigned to the object for removing, etc. or
    * null if the client could not register.
    public synchronized String register(ChatCallback object, String publicString) throws RemoteException {
         String assignedName = null;
         if (incrementConnections()) {
         ChatClient client = new ChatClient(object, publicString);
         assignedName = "" + client.hashCode();
         clients.put(assignedName, client);
         out("Added callback for: " + client.getName());
         return assignedName;
    * Remove the client associated with the specified registration string.
    * @param registeredString the string returned to the client upon registration.
    public synchronized void unregister(String registeredString) throws RemoteException {
         ChatCallback cbk;
         ChatClient sender;
         if (clients.containsKey(registeredString)) {
         ChatClient c = (ChatClient)clients.remove(registeredString);
         decrementConnections();
         out("Removed callback for: " + c.getName());
         for (Enumeration e = clients.elements(); e.hasMoreElements(); ) {
              cbk = ((ChatClient)e.nextElement()).getCallback();
              cbk.addMessage("ChatServer",
                        c.getName() + " has left the building...");
         else {
         out("Illegal attempt at removing callback (" + registeredString + ")");
    * Sets the logging stream.
    * @param out the stream to log messages to.
    protected void setLogStream(Writer out) throws RemoteException {
         writer = new PrintWriter(out);
    * The client is sending new message to the server.
    * @param assignedName the string returned to the client upon registration.
    * @param data the chat data.
    public synchronized void sendMessage(String registeredString, String message) throws RemoteException {
         ChatCallback cbk;
         ChatClient sender;
         try {
         out("Recieved from " + registeredString);
         out("Message: " + message);
         if (clients.containsKey(registeredString)) {
              sender = (ChatClient)clients.get(registeredString);
              for (Enumeration e = clients.elements(); e.hasMoreElements(); ) {
                   cbk = ((ChatClient)e.nextElement()).getCallback();
                   cbk.addMessage(sender.getName(), message);
         else {
              out("Client " + registeredString+ " not registered");
         catch(Exception ex){
         out("Exception thrown in newData: " + ex);
         ex.printStackTrace(writer);
         writer.flush();
    * Write s string to the current logging stream.
    * @param message the string to log.
    protected void out(String message){
         if(writer != null){
         writer.println(message);
         writer.flush();
    * Start up the Chat server.
    public static void main(String args[]) throws Exception {
         try {
         // Create the security manager
         System.setSecurityManager(new RMISecurityManager());
         // Instantiate a server
         ChatServerImplementation c = new ChatServerImplementation(10);
         // Set the output stream of the server to System.out
         c.setLogStream(new OutputStreamWriter(System.out));
         // Bind the server's name in the registry
         Naming.rebind("//" + args[0] + "/ChatServer", c);
         c.out("Bound in registry.");
         catch (Exception e) {
         System.out.println("ChatServerImplementation error:" +
                        e.getMessage());
         e.printStackTrace();
    Using my own machine (connected to a network), I tried to test this one out by setting mine as the server and also the client. I did the following:
    1. Compile the source code.
    2. Use rmic to generate the skeletons and/or stubs from the ChatCallbackImplementation and ChatServerImplementation.
    3. Start the rmiregistry with no CLASSPATH
    4. Start the server successfully.
    5. Start the applet using the AppletViewer command.
    It worked fined.
    The problem is when I ran the applet using the browser, IE explorer, the dialog boxes, frame and buttons did appear. I was able to do the part of logging on. But after that, the applet seemed to have hang. No message appeared that says I'm connected (which appeared using the appletviewer). I clicked the send button. No response.
    I double-checked my classpath. I did have my classpath set correctly. I'm still trying to figure out the problem. Up to now, I don't have any clue what it is.
    I will appreciate much if someone can help me figure what's could have possibly been wrong ....
    Thanks a lot ...

    Hi Domingo,
    I had a similar problem running applet/rmi with IE.
    Looking in IE..view..JavaConsole error messages my applet was unable to find java.rmi.* classes.
    I checked over java classes in msJVM, they're not present.
    ( WinZip C:\WINDOWS\JAVA\Packages\9rl3f9ft.zip and others from msVM installed )
    ( do not contain the java.rmi.* packages )
    I have downloaded and installed the latest msJVM for IE5. ( I think its included in later versions)
    @http://www.objectweb.org/rmijdbc/RJfaq.html I found ref to rmi.zip download to provide
    these classes. I couldn't get the classes from the site but I managed to find a ref to IBM
    site @http://alphaworks.ibm.com/aw.nsf/download/rmi which had similar download.
    The download however didn't solve my problems. I was unable to install rmi.zip with
    RmiPatch.exe install.
    I solved this by extracting the class files from rmi.zip and installing them at C:\WINDOWS\JAVA\trustlib ( msJVM installation trusted classes lib defined in
    registry HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Java VM\TrustedLibsDirectory )
    This solved the problem. My rmi/applet worked.
    Hope this helps you.
    Chris
    ([email protected])

  • Problem in posting  the downpayment using the idoc ACC_document03

    hi all,
    I am assigned with an object where a flat file comes frm a third party tool that need to be posted in to sap system.
    there is a standard Idoc ACC_document03 to do the job, but here in this std Idoc some of the fields are missing, using the BTE OPEN_FI_PERFORM_RWBAPI01_P that is present in the Bapi BAPI_ACC_DOCUMENT_POST  in Extension1 called by the Idoc.
    By populating the needed down payment data in the IDOC segment E1BPACEXTC "Container for 'Customer Exit' Parameter", down payment requests can be managed as in transaction F-47.
    In the segment, Field1 must contain the item number. Field2 must contain the name of the field. Field3 must contain the value of the field. how to populate the fields using the bte. pretty new to these advanced concepts.
    if possible can u give me coding as well.
    got stuck up here please do the need ful
    thanks in advance,
    ram.

    Hi ram,
    E1BPACEXTC ---it is a table with four string fields,
    pass the fields in char format to that BTE from IDOC.
    loop that EXTENSION in the BTE.
    Regards,
    Sri

  • How to view the file using the content

    Hi all,
    I have uploaded the data from a binary file to an internal table using GUI_UPLOAD.
    Could you please suggest any way how i can view the file using the content.
    The binary content looks as follows.
    345DCC27F35A291DFD5496E0609E8ED08F3405AF5FE3DDC574166CDE0D79B7A174BC6
    D87597FA824B3E56E82E451D4C2B4D32A423279A668BB6690C7E9956E90CFE766CB37
    39E70D650300006D08000011000000776F72642F73657474696E67732E786D6C9C56D
    69B6197B7F5BDD4C58841ECC06943522630781EC71767DF5504F0B6B3C4674DEE0D46
    Thanks,
    Vishnu

    Hi all,
    Thanks a lot for the reply.
    Here, my requirement is to open the content as a file.
    I have used 'GUI_UPLOAD' FM to upload the contents & need the same file(PDF, JPG, DOC etc) to be displayed using the content.
    Eg., If i upload an Image using the FM 'GUI_UPLOAD', based on the contents & extention can i see an image?
    Please help me in the regard,
    Thanks,
    Vishnu

  • HT204074 I have just changed my iPad mini password a day ago when trying to log on today it worked fine until about 4:30 (GMT) when I could not access the device using the correct password. I am absoloutley 100% sure it's correct. Any help?

    I have just changed my iPad mini password a day ago, and when trying to access it today it worked fine until about 4:30 (GMT) when I could not access the device using the correct password. I am absoloutley 100% sure it's correct.Additional details:I was last using Kik messenger before it stopped working.I was sitting less than two foot away from the PS3 my brother was playing.I'm 14 but I'm not some spoilt kid who gets iPhones and iPads from his parents to mess around with, I have got important coursework and homeworks on there.Any help would be great Thanks.

    Hello ConfusedLlama
    If the password is not working to get into your iPad mini, you would need to follow the steps to restore it. If you have a back up through iCloud or through iTunes, you can restore from that back up and it would not bring back the passcode unless it is encrypted.
    iOS: Forgotten passcode or device disabled after entering wrong passcode
    http://support.apple.com/kb/ht1212
    Regards,
    -Norm G.

Maybe you are looking for