Urgent Help in Socket Programming

Hello Friends
I have created a ChatServerApp.java and ChatClient.java as applet files. If i try to execute the chat using appletviewer, the chat module works fine. But when i embed in IE, the chat module shows me error. the error i have given below:
java.security.AccessControlException: access denied (java.net.SocketPermission 203.101.33.160 resolve)
     at java.security.AccessControlContext.checkPermission(Unknown Source)
     at java.security.AccessController.checkPermission(Unknown Source)
     at java.lang.SecurityManager.checkPermission(Unknown Source)
     at ChatServer.CreateServer(ChatServerApp.java:123)
     at ChatServerApp$1.mouseReleased(ChatServerApp.java:36)
     at java.awt.Component.processMouseEvent(Unknown Source)
     at java.awt.Component.processEvent(Unknown Source)
     at java.awt.Button.processEvent(Unknown Source)
     at java.awt.Component.dispatchEventImpl(Unknown Source)
     at java.awt.Component.dispatchEvent(Unknown Source)
     at java.awt.EventQueue.dispatchEvent(Unknown Source)
     at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
     at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
     at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
     at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
     at java.awt.EventDispatchThread.run(Unknown Source)java.lang.NullPointerException
     at ChatServer.listenServer(ChatServerApp.java:138)
     at ChatServer.run(ChatServerApp.java:106)
     at java.lang.Thread.run(Unknown Source)
Can any one please help me to sort out this problem
Thanks
S.Srivignesh ([email protected])

The browser limits the operations you can perform based on the security settings. You need to sign the jar and allow socket connections.

Similar Messages

  • HELP : Convert socket programming from Ipv4 to IPv6

    Hi all,
    I need help in converting my Ipv4 socket programing to Ipv6. How can I do this? I already have an Ipv4 socket programming that is working but when I tried to convert it to Ipv6 it doesn't work .
    this is my Ipv4 socket programming :
    DatagramPacket sendPacket;
    DatagramSocket sock;
    ip = jtfDIP.getText().trim();
    try{
    sock = new DatagramSocket();
    add = InetAddress.getByName(ip);
    sendPacket = new DatagramPacket(buf,buf.length,add,port);
    Please help me. How can I convert this to Ipv6. Thank you.

    Socket sock = new Socket("host");
    or
    Socket sock = new Socket("192.168.1.1");
    or
    Socket sock = new Socket("www.host.com");
    or
    Socket sock = new Socket("hhhh.hhhh.hhhh.hhhh");
    Get it? Just use whatever host, domain name, or IP you need, the underlying native code does the work - you'll never need to do anything, for the most part.

  • Help in socket programming

    Actually my client and server ,both are running on same m/c.
    client code is
    Socket s1;
    try{
    s1 = new Socket("localhost",5678);
    catch(Exception e){}
    Server Code is
    ServerSocket serverSocket = new ServerSocket(port);
    while(true) {
         Socket socket = serverSocket.accept();
         InetAddress inetAddress = socket.getInetAddress();
         new Thread(new SocketNode(socket)).start();
    where constructor for SocketNode is like this :-
    public
    SocketNode(Socket socket) {
    this.socket = socket;
    try {
    ois = new ObjectInputStream(socket.getInputStream());
    catch(Exception e) {
    cat.error("Could not open ObjectInputStream to "+socket, e);
    It throws exception in opening object input stream.
    Could anybody suggest the possible reasons for it.
    error is something like this :-
    ERROR [main] Logger.SocketNode (<init>:35) - Could not open ObjectInputStream to Socket[addr=/127.0.0.1,port=1800,localport=5678]
    java.net.SocketException: Connection reset by peer: JVM_recv in socket input stream read
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(Unknown Source)
    at java.io.ObjectInputStream$PeekInputStream.read(Unknown Source)
    at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
    at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
    at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
    at java.io.ObjectInputStream.<init>(Unknown Source)
    at Logger.SocketNode.<init>(SocketNode.java:32)
    at Logger.SocketServer.main(SocketServer.java:40)
    I will be really thankful, if anybody can help in this regards

    Hi Neetika,
    Your error is telling that
    your client program has
    teminated before server
    could create an ObjectInput
    Stream. So, for this you KEEP
    your client program
    alive for some time( So that
    socket object in client side
    is not swapped out by Garbage
    collector ).
    and then you will not get above error.
    cheers!

  • Help in Socket Programing Plz

    Hi everyBody!!!
    I m writing a client/server program in which client requests to the server to get the contents of the directory of the server computer (path of the directory is specified by client).
    Server gets the contents fo the director by using the listFile() method and writes that contents onto the socket.
    but the problem is:
    how i can the read that contents from client side? server writes an array of type File onto the socket by using writeObject() method. And client definately will use readObject() method. but how i can read an array of type File from the client side???

    You gave the answer yourself: The Server may write the ARRAY of Files using write Objects and the Client will use readObject. Arrays are Objects too, so do not loop but just write:
    On server Side
    File [] allFiles = getThemFromSomewhere();
    ObjectOutputStream oout = ...;
    oout.writeObject(allFiles); // no loop here!
    ...On client side:
    ObjectInputStream oin = ...;
    File [] allFiles = (File[])oin.readObject()
    ...Well I don't really understand the way you want to do this, because the Files descriptions will be System dependent (and for FileTransfer FTP was created), so this will only make sense when you do interprocess communication on the same system. What do you want to achieve?

  • Need help regarding socket programming

    hi
    i have three machines "W", "D" and "K" on "W" and "D"
    i have server programs which listens to port 9999
    on "D" and "K" i am running client programs which connects to these servers (from "K" either to "W" or to "D" whichever is available and from "D" to "W")
    can this situation ever lead to a BindException

    ... have three machines "W", "D" and "K" on "W" and "D"Huh? Your explaination doesn't make it clear to me.
    Maybe you meant that you have three 'processes' on two different machines?
    What kind of socket are you using - TCP or UDP?
    Typically a bind exception occurs when the socket is already in use. This can occur if you kill a process and bring it up again. Or if two TCP socket servers on the same box try to start up (one of them will fail to grab the socket.)

  • Urgent help on difficult programming  required -remove select statement

    loop at zt_wbs.
      clear   zt_cobrb.
      refresh zt_cobrb.
    Select settlement rules
      select distinct anln1 anln2 from cobrb
             into corresponding fields of table zt_cobrb
             where objnr = zt_wbs-objnr and
                   perbz = 'GES'        and
                   konty = 'AN'.
        if sy-subrc = 0.
          describe table zt_cobrb lines i.
          if i = 1.
        unique settlement rule
            read table zt_cobrb index 1.
            zt_changes-equnr = zt_wbs-equnr.
            zt_changes-anln1 = zt_cobrb-anln1.
            zt_changes-anln2 = zt_cobrb-anln2.
            collect zt_changes.
          endif.
        endif.
    endloop.
    hii...i can modify the structure of table zt_cobrb  if required. please tell me a code in which i can carry my select statements outside the loop.and do the same thing.
    remember there is a distinct keyword after select statement and i have to loop at zt_wbs having one of the fields objnr.

    loop at zt_wbs.
      clear   zt_cobrb.
      refresh zt_cobrb.
    Select settlement rules
      select distinct anln1 anln2 from cobrb
             into corresponding fields of table zt_cobrb
             where objnr = zt_wbs-objnr and
                   perbz = 'GES'        and
                   konty = 'AN'.
        if sy-subrc = 0.
          describe table zt_cobrb lines i.
          if i = 1.
        unique settlement rule
            read table zt_cobrb index 1.
            zt_changes-equnr = zt_wbs-equnr.
            zt_changes-anln1 = zt_cobrb-anln1.
            zt_changes-anln2 = zt_cobrb-anln2.
            collect zt_changes.
          endif.
        endif.
    endloop.
    hii...i can modify the structure of table zt_cobrb  if required. please tell me a code in which i can carry my select statements outside the loop.and do the same thing.
    remember there is a distinct keyword after select statement and i have to loop at zt_wbs having one of the fields objnr.

  • [Urgent]3G Socket programming

    May I use socket for 3G networks?
    I use the demo provided by the WTK2.5-Beta(NetworkDemo), it works well in the simulator. However, when I download the program to the mobile phone, it seems that the mobile phone that runs ServerSocket cannot create the socket ... all the 2 handsets use a 3G SIM card provided by a Hong Kong ISP smartTone ... What can I do?
    Please help~ provide any web page of codes, thanks very much!

    1.     We want to create a socket connection which can
    remain open and live for ever till it is closed. Is
    this possible in java socket programming?Yes, but it isn't practical in the real networking world. So your code had better be prepared to deal with network failures.
    2.     I am just wondering in order to communicate with
    the third party over the socket connection, does this
    other party requires to run something specific on
    their end? I am not able to understand how will my
    java code communicate with their server otherwise.It has nothing to do with java. Sockets send and recieve messages. The applications at either end, regardless of the language that they are written in, must handle those messages.
    3.     Can we send and receive data over the socket
    created and also is their specific format for the
    data? Yes.
    Can we send files of data over this connection?Yes. (Although I don't know why you would need to do that if you are doing credit card auths.)
    It would be great if someone can comment on these
    questions and also if possible please provide some
    code that can create socket connection.The tutorial.....
    http://java.sun.com/docs/books/tutorial/networking/sockets/index.html

  • SOCKET PROGRAMMING  HELP NEEDED!!!!

    hi,
    I got an idea of establishing socket connection with all clients from SERVER through the windows command
    called (arp -a). when we type the stated command on dosprompt in server, it gives the list of current system's
    ipaddress.....switched on. SO i can establish socket connections in a for loop where i can take the following ipaddress from output listed from command.
    i've written the code to call the command in JAVA.
    i write the dosprompt output in a file named list1.txt
    import java.util.*;
    import java.io.*;
    import java.io.File;
    public class RunCommand
    public static String[] runCommand(String cmd) throws IOException
    ArrayList list = new ArrayList();
    Process proc = Runtime.getRuntime().exec(cmd);
    InputStream istr = proc.getInputStream();
    BufferedReader br = new BufferedReader(new InputStreamReader(istr));
    String str;
    while ((str = br.readLine()) != null)
    list.add(str);
    try
    proc.waitFor();
    }catch (InterruptedException e)
    System.err.println("process was interrupted");
    // check its exit value
    if (proc.exitValue() != 0)
    System.err.println("exit value was non-zero");
    // close stream
    br.close();
    // return list of strings to caller
    return (String[])list.toArray(new String[0]);
    public static void main(String[] args) throws Exception
    try
    FileWriter f1=new FileWriter("list1.txt");
    String[] s = runCommand("arp -a");
    for (int i = 0; i< s.length; i++)
    f1.write(s);
    System.out.println(s[i]);
    f1.close();
    }catch (Exception ex) { System.out.println(ex);}
    SAMPLE OUTPUT:
    Interface: 172.16.3.1 on Interface 0x1000003
    Internet Address Physical Address Type
    172.16.3.4 00-00-e2-13-a9-e8 dynamic
    172.16.3.6 00-00-e2-13-aa-0f dynamic
    172.16.3.10 00-00-e2-13-ab-bb dynamic
    172.16.3.12 00-00-e2-13-ab-93 dynamic
    172.16.3.16 00-00-e2-13-37-b8 dynamic
    172.16.3.17 00-00-e2-13-37-19 dynamic
    172.16.3.18 00-00-e2-13-37-1d dynamic
    172.16.3.19 00-00-e2-13-38-98 dynamic
    172.16.3.22 00-00-e2-13-37-54 dynamic
    172.16.3.23 00-00-e2-13-39-02 dynamic
    172.16.3.24 00-00-e2-13-39-0f dynamic
    172.16.3.26 00-00-e2-13-37-a5 dynamic
    172.16.3.27 00-00-e2-13-37-0b dynamic
    172.16.3.28 00-00-e2-13-37-12 dynamic
    172.16.3.29 00-00-e2-13-39-15 dynamic
    172.16.3.30 00-00-e2-13-38-af dynamic
    172.16.3.31 00-00-e2-13-37-fe dynamic
    172.16.3.32 00-00-e2-13-38-ff dynamic
    172.16.3.34 00-00-e2-13-ab-c8 dynamic
    172.16.3.37 00-00-e2-13-ab-67 dynamic
    172.16.3.42 00-00-e2-13-ab-19 dynamic
    PLS HELP ME OUT IN GETTING ONLY THE IPADDRESS IN FOR LOOP IN SERVER SOCKET PROGRAM TO INVOKE ALL CLIENT'S PROGRAM IN NETWORK.
    PLS HELP ME!!!!!!!
    ATTACH THE CODE!!!!!!!!!!!!

    Connecting to a client presumes that the client is waiting for a connection.
    If that is the case I would suggest looking a java.net.Socket.

  • Help needed with swings for socket Programming

    Im working on a Project for my MScIT on Distributed Computing...which involves socket programming(UDP)....im working on some algorithms like Token Ring, Message Passing interface, Byzantine, Clock Syncronisation...i hav almost finished working on these algorithms...but now i wanna give a good look to my programs..using swings but im very new to swings...so can anyone help me with some examples involving swings with socket programming...any reference...any help would be appreciated...please help im running out of time..
    thanking u in advance
    anDy

    hi im Anand(AnDY),
    i hav lost my AnDY account..plz reply to this topic keeping me in mind :p

  • Help on Server Socket Programming??????

    hello Friends,
    I need your help on following:
    I am the only person working on this project and the company wants me to prepare a infrastructure of this project and I should also give a demo of this project to my seniors. I will breif you up with my project:
    1. There is this gif image of distillation column. i will be publishing it using JApplet or Applet.
    2. This Image must be seen on internet.
    3. On the circle of these Image the user will click(In all there are five circles, called as controllers)and a dialog box should open thru which user will input the float values(I am using the JOptionPane class to open this dialog box).
    4. The inputed values will the be given to the C program which is the simulator for distillation column.
    5. The C program will generate the output through iterations(Code entirely in C), the output of each program will then be poped up to over the image beside the respective controlled or under the respective controller but definetely over the same gif file.
    6. The number of iteration will depend on how fast the C program converges the inputer parameters. And each output must be show over the gif image and when the final iteration value will appear it should remain on the image until some new value is inputted by the user again by clicking on any of the circle.
    The proposed theory to do this project accoding to me is as follows:
    1. Since each value must be thrown to the user. I beleive this is a real time project. So I decided to use Client Server Networking technology provided by java.
    2. Then I figured out that in this project there should be 2 clients One is the GUI which is the Image screen to receive the input from the user and to show the output to the user. Second client is a java program sitting behind the server which will receive this input data from user and it will have an NATIVE method through which all this input will be given to the C simulator program.
    3. The middle bridge between these two clients will be a server. Which will just pass the data to and fro from both the clients.
    3. The C program will perform iterations using these input values from second client. This C program will then give each iterations output to the Java program using JNI technology. This second client then sends this output value to the GUI clients through server.
    Well another very important thing, I am inexperience in the field of software so I had to do a lot of R&D and this is what I found out. Frankly I am really not sure whether this is the right path to approach to this project or there is some other correct and realistic way than this? Well friends i would certainly request you if you can suggest some other simple or rather correct path or else if this is the right path then would you please suggest me the possible hiches or perticular points where I should concentrate more.
    Well i am eagerly waiting for your reply.

    Since you are publishing your results on the net , it will be a better idea to use JSP?Servlet/Beans architecture instead of swing
    I will propose a architecture as follows:
    Client : Standard Browsers, IE and NS
    Middle Tier: Java Webserver/Application Server
    This will depend on your budget. If u have a fat allowance go for weblogic/websphere . If u are operationg on shoe string budget try for apache , etc
    In the server tier code your application in the follwing architecture
    JSP for presentation: Distillation towers picture, input boxes .. etc
    Servlets for business logic invocation and routing requests: Your JSP submits input values to servlets, which does the processing using Java Bean Components. Since you have a lot of Logic written in C I would suggest to encapsulate these in JavaBean components using JNI technology and reuse the code.
    After processing the servlet again forwards the response to another JSP for output
    Advantages:
    1.Your clients can be thin as most of the processing is done at the server
    2. Thread Management is taken care of by your webserver, which otherwise would be a headache
    3. Writing this through low level socket programming will be much more difficult as you will write your own protocol for communication this will be error prone and not scalable
    If you still decide to go for traditional client server programming using swing, use RMI for communication as I insist that socket programming is very very cumbersome...using your own protocols
    hope this helps
    Shubhrajit

  • Urgent  help needed(java frames)

    Hi,
    I need urgent help for correcting a piece of code.
    I have written a piece of code for building a gui with some buttons, drawing some geometric shapes.The code consists of two files called Graph and Frame.
    The problem I suppose in the last part of the Graph file, which Rectangle and Circle are called together, the only shape that the program draws is rectangle.Here is the code:
    //Graph
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import java.io.*;
    import java.util.*;
    public class Graph extends JPanel {
    LinkedList color;
    LinkedList figures;
    public Graph() {
    setBackground(Color.white);
    figures = new LinkedList();
    color = new LinkedList();
    int z;
    class Point {
    int x;
    int y;
    public Point(int x, int y) {
    this.x = x;
    this.y = y;
    public Point(Point p) {
    x = p.x;
    y = p.y;
    public String toString() {
    return "(" + x + ", " + y + ")";
    public void move(Point dist) {
    x += dist.x;
    y += dist.y;
    abstract class GeomFigur {
    public abstract void move(Point p);
    class Line extends GeomFigur {
    Point p1, p2;
    public Line(Point p1, Point p2) {
    this.p1 = new Point(p1);
    this.p2 = new Point(p2);
    public String toString() { return "Line from " + p1 + " to " + p2;  }
    public void move(Point dist) {
    p1.move(dist);
    p2.move(dist);
    class Rectangle extends Line {
    public Rectangle(Point p1, Point p2) {
    super(p1, p2);
    public String toString() { return "Rectangle from " + p1 + " to " + p2; }
    class Circle extends GeomFigur{
    Point centre;
    int radius;
    public Circle(Point centre, int radius) {
    this.centre = new Point(centre);
    this.radius = radius;
    public String toString() {
    return "Circle, centre " + centre + ", radius " + radius;
    public void move(Point dist) { centre.move(dist); }
    public void addRectangle(int x, int y, Color col) {
    Rectangle r =new Rectangle(new Point(x,y),new Point(x+20,y+20));
    figures.addLast(r);
    color.addLast(col);
    repaint();
    public void addCircle(int x, int y, Color col) {
    Circle c =new Circle(new Point(x,y), 1 );
    figures.addLast(c);
    color.addLast(col);
    repaint();
    public void paintComponent(Graphics g) {
    super.paintComponent(g);
    for (int i=0;i < figures.size();i++) {
    Rectangle rect = (Rectangle)figures.get(i);
    //Circle circ = (Circle)figures.get(i);
    g.setColor(Color.black);
    g.drawRect(rect.p1.x,rect.p1.y,20,20);
    g.setColor((Color)color.get(i));
    g.fillRect(rect.p1.x,rect.p1.y,20,20);
    //g.setColor(Color.black);
    // g.drawOval(circ.centre.x,circ.centre.y,20,20);
    // g.setColor((Color)color.get(i));
    // g.fillOval(circ.centre.x, circ.centre.y, 20, 20);
    //Frame
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    public class Frame extends JFrame implements ActionListener {
    JButton button1, button2, button3, button4, button5 ;
    Graph gr;
    JComboBox cbx;
    JComboBox cby;
    JComboBox col;
    JMenu filemenu;
    JMenuItem quit;
    JMenuBar menubar;
    int x=10;
    int y=10;
    Color color=Color.red;
    public Frame() {
    menubar = new JMenuBar();
    filemenu = new JMenu("File");
    filemenu.setMnemonic('F');
    quit = new JMenuItem("Quit");
    quit.addActionListener(this);
    quit.setMnemonic('Q');
    quit.setAccelerator(KeyStroke.getKeyStroke('Q',Event.CTRL_MASK,false));
    filemenu.add(quit);
    menubar.add(filemenu);
    setJMenuBar(menubar);
    button1 = new JButton("Rectangle");
    button1.addActionListener(this);
    button2 = new JButton("Circle");
    button2.addActionListener(this);
    button4 = new JButton("Ellipse");
    button4.addActionListener(this);
    button5 = new JButton("Triangle");
    button5.addActionListener(this);
    button3 = new JButton("Reset");
    button3.addActionListener(this);
    String[] elements_x= {"10","20","30","40","50","60","70"};
    cbx = new JComboBox(elements_x);
    cbx.addActionListener(this);
    cbx.setActionCommand("cbx");
    String[] elements_y= {"10","20","30","40","50","60","70"};
    cby = new JComboBox(elements_y);
    cby.addActionListener(this);
    cby.setActionCommand("cby");
    String[] elements_color = {"Red","Blue","Green","Orange","Yellow" };
    col = new JComboBox(elements_color);
    col.addActionListener(this);
    col.setActionCommand("col");
    gr = new Graph();
    JPanel top = new JPanel(new BorderLayout());
    JPanel inputs = new JPanel(new GridLayout(6,1));
    inputs.add(button1);
    inputs.add(button2);
    inputs.add(button3);
    inputs.add(button4);
    inputs.add(button5);
    inputs.add(cbx);
    inputs.add(cby);
    inputs.add(col);
    top.add(gr,BorderLayout.CENTER);
    top.add(inputs,BorderLayout.WEST);
    getContentPane().add(BorderLayout.CENTER, top);
    setSize(500,300);//set window size
    //take care of actions
    public void actionPerformed(ActionEvent e) {
    String command = e.getActionCommand();
    if (command.equals("Quit")){
    System.exit(0);//terminate program
    else if (command.equals("Rectangle")){
    //add Rectangle to graph at
    //position x,y and with certain color
    gr.addRectangle(x,y,color);
    else if (command.equals("Circle")){
    gr.addCircle(x,y,color);
    else if (command.equals("Reset")){
    else if (command.equals("Triangle")){
    else if (command.equals("Ellipse")){
    else if (command.equals("cbx")){
    x=Integer.valueOf((String)((JComboBox)e.getSource()).getSelectedItem()).intValue();
    else if (command.equals("cby")){
    y=Integer.valueOf((String)((JComboBox)e.getSource()).getSelectedItem()).intValue();
    else if (command.equals("col")){
    String temp=(String)((JComboBox)e.getSource()).getSelectedItem();
    if (temp=="Red") color=Color.red;
    else if (temp=="Blue") color=Color.blue;
    else if (temp=="Green") color=Color.green;
    else if (temp=="pink") color=Color.pink;
    else if (temp=="lightGray") color=Color.lightGray;
    //main program
    public static void main(String [] args) {
    Frame appl = new Frame();
    appl.setVisible(true);
    Thanks in advance
    Marina

    Hi,
    You are very lucky that I'm currently boored. You should never tag a question as urgent. It might be urgent to you, but not to us who answer. And you should also use code formatting when you post code (see the formatting tips, or use the code-button).
    I made some changes to your Graph class. The most important thing is the abstract draw method that I added to the GeomFigur class.
    import java.awt.*;
    import javax.swing.*;
    import java.util.*;
    public class Graph extends JPanel {
        LinkedList figures;
        public Graph() {
            setBackground(Color.white);
            figures = new LinkedList();
        int z;
        abstract class GeomFigur {
            protected Color color;
            public GeomFigur(Color color) {
                this.color = color;
            public abstract void move(Point p);
            public abstract void draw(Graphics g);
        abstract class Line extends GeomFigur {
            Point p1, p2;
            public Line(Color c, Point p1, Point p2) {
                super(c);
                this.p1 = new Point(p1);
                this.p2 = new Point(p2);
            public String toString() {
                return "Line from " + p1 + " to " + p2;
            public void move(Point dist) {
                p1.move(dist.x, dist.y);
                p2.move(dist.x, dist.y);
        class Rectangle extends Line {
            public Rectangle(Color c, Point p1, Point p2) {
                super(c, p1, p2);
            public String toString() {
                return "Rectangle from " + p1 + " to " + p2;
            public void draw(Graphics g) {
                System.out.println("Draw rectangle at " + p1 + " with color " + color);
                g.setColor(Color.black);
                g.drawRect(p1.x, p1.y, 20, 20);
                g.setColor(color);
                g.fillRect(p1.x, p1.y, 20, 20);
        class Circle extends GeomFigur {
            Point centre;
            int radius;
            public Circle(Color c, Point centre, int radius) {
                super(c);
                this.centre = new Point(centre);
                this.radius = radius;
            public String toString() {
                return "Circle, centre " + centre + ", radius " + radius;
            public void move(Point dist) {
                centre.move(dist.x, dist.y);
            public void draw(Graphics g) {
                System.out.println("Draw circle at " + centre + " with color " + color);
                g.setColor(Color.black);
                g.drawOval(centre.x, centre.y, 20, 20);
                g.setColor(color);
                g.fillOval(centre.x, centre.y, 20, 20);
        public void addRectangle(int x, int y, Color col) {
            System.out.println("x,y,col " + x + ":" + y + ":" + col);
            Rectangle r = new Rectangle(col, new Point(x, y), new Point(x + 20, y + 20));
            figures.addLast(r);
            repaint();
        public void addCircle(int x, int y, Color col) {
            System.out.println("x,y,col" + x + ":" + y + ":" + col);
            Circle c = new Circle(col, new Point(x, y), 1);
            figures.addLast(c);
            repaint();
        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            for (int i = 0; i < figures.size(); i++) {
                GeomFigur drawable = (GeomFigur)figures.get(i);
                drawable.draw(g);
    }/Kaj

  • Urgent help needed for hysterical female!

    I need urgent help in editing a pic that has been emailed to me, I do not know which Adobe programme to upload it too.  Currently use Picasso - usually brilliant, but now gets jammed with a pop up box asking me to either accept or deny picnik.  When I googled picnik, it now belongs to Google - don't know how to do a damn thing now!!  Extremely Frustrated, can anybody suggest/help me

    The only Adobe program I know that can edit images is Photoshop.
    If you have troubles with Google software, you need to post in the appropriate Google forum.

  • Urgent help needed! How do I use Time Machine to restore my System disc?

    I need urgent help. First I discovered that my Library folder was empty. When I tried to restore the library to an earlier version via Timemachine it would not let me because it said the system was in use. Trying to start-up from another system on another internal drive and using various disc repairs resulted in the whole volume to disappear.
    Question is how do I get the earlier system from my Timemachine backup drive? I have another Mac where I can attach the TIme machine HD to. Can I restore it from there and then copy the files over to my corrupted disc? All my programs are on there as well, which would take me days to re-install and then there are the other bits, emails, photos etc. Can anyone help?

    lightandmagic wrote:
    Thanks for your sympathy Pondini and the encouragement. You just reminded me that I will lose a whole working day restoring !!! Do you happen to know where the emails are kept on the system and the address book? I better nick those as well as my other life sustaining bits before its too late. I don't trust anything any more.
    I don't know what you mean by "nick those." Time Machine will put everything back the way it was at the time of the backup (unless you'd excluded things).
    Do you mean you want to restore things from the period after the backup you selected?
    For Address Book or Apple Mail, start the application, then +Enter Time Machine,+ navigate to your latest backup, and you'll have a prompt to restore. For Mail, you can restore an entire mailbox. When you exit from TM, you'll see a new folder in your Mail sidebar with the restored items, so you can sift through them and move, delete, or leave them as you wish.
    Other items, you'll have to locate and restore via the Finder > Time Machine.

  • Urgent help required: Query regarding LC Variables

    Hi All
    Sometime earlier I was working on a performance issue raised by a customer. It was shell script that was taking almost 8-9 hrs to complete. During my research I came across a fact that there were some variables which were not set, the LC variables were impacting the sort funnel operations because of which the script was taking a long time to execute.
    I asked them to export the following commands, after which the program went on smoothly and finished in a couple of mins:
    export LC_COLLATE=en_US.ISO8859-1
    export LC_MESSAGES=C
    export LC_MONETARY=en_US.ISO8859-1
    export LC_MONETARY=en_US.ISO8859-1
    export HZ=100
    export LC_CTYPE=en_US.ISO8859-1
    export LANG=en_US.UTF-8
    Later I did recover that setting the LC_COLLATE to C, is not helping and the program was again taking a lot of time. Few questions that I want to ask are:
    1. Can someone please tell me, what each of these variable mean and how these values make a difference.
    2. When I exported LC_COLLATE=en_US.ISO8859-1, it worked fine, but when i tried with the defalut value LC_COLLATE=C, then why the program didnt work.
    As this issue is still going on, hence I would request All to provide their valuable inputs and let me know as much as possible.
    Appreciate your help in this regard.
    Thanks
    Amit
    Hi All
    A new development in this regard. The customer has send us a screen shot in which they were trying to export the locale variable using the commands which I have pasted above. I can see in the screen shot that while exporting LC_COLLATE and LC_TYPE, they get a message that ""ksh: export: couldn't set locale correctly"".
    Request everyone to please give their inputs as it's a bit urgent.
    Thanks for all the help in advance.
    Thanks
    Amit
    Some help required please...
    Edited by: amitsinhaengg on Jul 22, 2009 2:03 AM
    Edited by: amitsinhaengg on Jul 22, 2009 2:06 AM

    LC_CTYPE
    Controls the behavior of character handling functions.
    LC_TIME
    Specifies date and time formats, including month names, days of the week, and common full and abbreviated representations.
    LC_MONETARY
    Specifies monetary formats, including the currency symbol for the locale, thousands separator, sign position, the number of fractional digits, and so forth.
    LC_NUMERIC
    Specifies the decimal delimiter (or radix character), the thousands separator, and the grouping.
    LC_COLLATE
    Specifies a collation order and regular expression definition for the locale.
    LC_MESSAGES
    Specifies the language in which the localized messages are written, and affirmative and negative responses of the locale (yes and no strings and expressions).
    You can use command
    # locale -k LC_CTYPE
    to see more detail about each type.

  • Urgent help need

    hi friends,
      Help me how to do this
    REPORT  ZINTERFACE_SAMPLE.
    type-pools:SLIS.
    TABLES:knb1, "Customer Master (Company Code)
           kna1,
           knvp. "Customer Master Partner Functions
    TYPES:BEGIN OF T_knb1,
          kunnr like knb1-kunnr,
          bukrs like knb1-bukrs,
          akont like knb1-akont,
          END OF T_knb1.
    TYPES:BEGIN OF T_kna1,
          kunnr like kna1-kunnr, "customer number
          NAME1 like KNA1-NAME1, "customer name
          stras like KNA1-STRAS, "Customer address
          ort01 like KNA1-ORT01, "Customer city
          stcd1 like KNA1-STCD1, "Tax id
          pstlz like KNA1-PSTLZ, "Postal code
          END OF   T_kna1.
    TYPES:BEGIN OF T_knvp,
          kunnr like knvp-kunnr, "customer number
          parvw like knvp-parvw,
          kunn2 like knvp-kunn2, "Customer number of business partner
          END OF T_KNVP.
    TYPES:BEGIN OF T_final,
          Record_type      TYPE c,
          Sold_to_cust(10) TYPE c,
          Payer(10)        TYPE c,
          Sequence(5)      TYPE n,
          Cust_name(35)    TYPE c,
          Cust_adreess(35) TYPE c,
          Cust_city(35)    TYPE c,
          Tax_id(16)       TYPE c,
          Postal_code(5)   TYPE c,
          Branch           TYPE c,
          Delivery(3)      TYPE c,
          END OF T_final.
    *Internal table declaration
    DATA:I_knb1  TYPE STANDARD TABLE OF t_knb1  initial size 0,
         i_kna1  TYPE STANDARD TABLE OF t_kna1  initial size 0,
         i_knvp  TYPE STANDARD TABLE OF t_knvp  initial size 0,
         i_final TYPE STANDARD TABLE OF t_final initial size 0.
    DATA: t_fieldcat_tab TYPE slis_t_fieldcat_alv WITH HEADER LINE.
    *Work area declaration
    DATA:wa_knb1  TYPE t_knb1,
         wa_kna1  TYPE t_kna1,
         wa_knvp  TYPE t_knvp,
         wa_final TYPE t_final.
               *variable declaration
    data:sequence TYPe n,
         g_line TYPE i.
                    selection screen                        *
    SELECTION-screen begin of block b1 with frame title text-001.
    parameters:p_bukrs like knb1-bukrs, "Company code
               p_akont like knb1-akont .
    selection-screen end of block b1.
    SELECTION-screen begin of block b2 with frame title text-002.
    PARAMETERS:R1 RADIOBUTTON GROUP G1,
               R2 RADIOBUTTON GROUP G1.
    Parameters:p_file like rlgrap-filename.
                                       "Recon Account in General Ledger
    selection-screen end of block b2.
    *AT selection-screen ON VALUE-REQUEST FOR P_FILE.
    CALL FUNCTION 'F4_FILENAME'
       IMPORTING
         FILE_NAME = P_FILE.
    START-OF-selection.
    PERFORM f_fetchdata.
    PERFORM f_prepare_fieldcat.
    PERFORM f_display_report.
    *END-OF-SELECTION.
    *IF R1 EQ 'X'.
    *perform F_DOWNLOAD.
    *ENDIF.
    *IF R2 EQ 'X'.
    *OPEN DATASET P_FILE FOR OUTPUT IN text mode ENCODING DEFAULT.
    *LOOP AT i_final INTO WA_final.
    *TRANSFER WA_final TO P_FILE.
    *ENDLOOP.
    *CLOSE DATASET P_FILE.
    *ENDIF.
    *&      Form  f_fetchdata
    FORM f_fetchdata .
    select kunnr
           bukrs
           akont
           from knb1
           into table i_knb1
           where bukrs = p_bukrs
           AND   akont = p_akont.
    DESCRIBE TABLE i_knb1 LINES g_line.
    LOOP AT i_knb1 INTO wa_knb1.
    SELECT single KUNNR
                  NAME1
                  STRAS
                  ORT01
                  STCD1
                  PSTLZ
                  FROM kna1
                  INTO wa_kna1
                  where kunnr = wa_knb1-kunnr.
    if sy-subrc <> 0.
    *Error KNA1 record not found.
    endif.
    SELECT single kunnr
                  parvw
                  kunn2
                  FROM KNVP
                  INTO wa_knvp
                  where kunnr = wa_knb1-kunnr
                  AND parvw = 'RG'.
    if sy-subrc <> 0.
    *Error KNA1 record not found.
    endif.
    sequence = sequence + 1.
    MOVE: 'c'              TO    wa_final-Record_type,
          wa_knvp-kunnr    TO    wa_final-Sold_to_cust,
          sequence         TO    wa_final-Sequence,
          wa_KNA1-NAME1    TO    wa_final-Cust_name,
          wa_kna1-STRAS    TO    wa_final-Cust_adreess ,
          wa_kna1-ort01    TO    wa_final-Cust_city,
          wa_kna1-STCD1    TO    wa_final-Tax_id,
          wa_kna1-PSTLZ    TO    wa_final-Postal_code,
          '1'              TO    wa_final-branch,
          'abc'            TO    wa_final-Delivery.
    INSERT wa_final INTO TABLE i_final.
    endloop.
    ENDFORM.                    " f_fetchdata
    FORM f_prepare_fieldcat.
      t_fieldcat_tab-col_pos = 1.
      t_fieldcat_tab-tabname  = 'i_final'.
      t_fieldcat_tab-fieldname  = 'Record_type'.
      t_fieldcat_tab-seltext_l = 'Record type'.
      APPEND t_fieldcat_tab.
      t_fieldcat_tab-col_pos = 2.
      t_fieldcat_tab-tabname  = 'i_final'.
      t_fieldcat_tab-fieldname  = 'Sold_to_cust'.
      t_fieldcat_tab-seltext_l = 'Sold to cust'.
      APPEND t_fieldcat_tab.
      t_fieldcat_tab-col_pos = 3.
      t_fieldcat_tab-tabname  = 'i_final'.
      t_fieldcat_tab-fieldname  = 'payer'.
      t_fieldcat_tab-seltext_l = 'Payer'.
      APPEND t_fieldcat_tab.
      t_fieldcat_tab-col_pos = 4.
      t_fieldcat_tab-tabname  = 'i_final'.
      t_fieldcat_tab-fieldname  = 'Sequence'.
      t_fieldcat_tab-seltext_l = 'sequence'.
      APPEND t_fieldcat_tab.
      t_fieldcat_tab-col_pos = 5.
      t_fieldcat_tab-tabname  = 'i_final'.
      t_fieldcat_tab-fieldname  = 'Cust_name'.
      t_fieldcat_tab-seltext_l = 'Cust name'.
      APPEND t_fieldcat_tab.
      t_fieldcat_tab-col_pos = 6.
      t_fieldcat_tab-tabname  = 'i_final'.
      t_fieldcat_tab-fieldname  = 'Cust_adreess'.
      t_fieldcat_tab-seltext_l = 'Cust adreess'.
      APPEND t_fieldcat_tab.
      t_fieldcat_tab-col_pos = 7.
      t_fieldcat_tab-tabname  = 'i_final'.
      t_fieldcat_tab-fieldname  = 'Cust_city'.
      t_fieldcat_tab-seltext_l = 'Cust city'.
      APPEND t_fieldcat_tab.
      t_fieldcat_tab-col_pos = 8.
      t_fieldcat_tab-tabname  = 'i_final'.
      t_fieldcat_tab-fieldname  = 'Tax_id'.
      t_fieldcat_tab-seltext_l = 'Tax id'.
      APPEND t_fieldcat_tab.
      t_fieldcat_tab-col_pos = 9.
      t_fieldcat_tab-tabname  = 'i_final'.
      t_fieldcat_tab-fieldname  = 'Postal_code'.
      t_fieldcat_tab-seltext_l = 'Postal code'.
      APPEND t_fieldcat_tab.
      t_fieldcat_tab-col_pos = 10.
      t_fieldcat_tab-tabname  = 'i_final'.
      t_fieldcat_tab-fieldname  = 'Branch'.
      t_fieldcat_tab-seltext_l = 'Branch'.
      APPEND t_fieldcat_tab.
      t_fieldcat_tab-col_pos = 11.
      t_fieldcat_tab-tabname  = 'i_final'.
      t_fieldcat_tab-fieldname  = 'KWMENG'.
      t_fieldcat_tab-seltext_l = 'Order Qty'.
      APPEND t_fieldcat_tab.
      t_fieldcat_tab-col_pos = 12.
      t_fieldcat_tab-tabname  = 'i_final'.
      t_fieldcat_tab-fieldname  = 'Delivery'.
      t_fieldcat_tab-seltext_l = 'Delivery'.
      APPEND t_fieldcat_tab.
      ENDFORM.                    " f_prepare_fieldcat
    *&      Form  f_display_report
    *To display the ALV Report
    FORM f_display_report.
      DATA: l_repid LIKE sy-repid.
      l_repid = sy-repid.
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
           EXPORTING
                   I_CALLBACK_PROGRAM  = l_repid
                   i_buffer_active     = 'X'
                   IT_FIELDCAT         = t_fieldcat_tab[]
                   I_DEFAULT           = 'X'
                   I_SAVE              = 'A'
             TABLES
                   T_OUTTAB            = i_final[].
            EXCEPTIONS
                  PROGRAM_ERROR                  = 1
                  OTHERS                         = 2
              IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
             ENDIF.
              ENDFORM." f_display_report
    *&      Form  F_DOWNLOAD
          text
    -->  p1        text
    <--  p2        text
    FORM F_DOWNLOAD .
    *CALL FUNCTION 'WS_DOWNLOAD'
    EXPORTING
      FILENAME                      = p_file
      FILETYPE                      = 'ASC'
      MODE                          = ' '
      WK1_N_FORMAT                  = ' '
      WK1_N_SIZE                    = ' '
      WK1_T_FORMAT                  = ' '
      WK1_T_SIZE                    = ' '
      COL_SELECT                    = ' '
      COL_SELECTMASK                = ' '
      NO_AUTH_CHECK                 = ' '
    IMPORTING
      FILELENGTH                    =
    TABLES
       DATA_TAB                      = i_final
    EXCEPTIONS
      FILE_OPEN_ERROR               = 1
      FILE_WRITE_ERROR              = 2
      INVALID_FILESIZE              = 3
      INVALID_TYPE                  = 4
      NO_BATCH                      = 5
      UNKNOWN_ERROR                 = 6
      INVALID_TABLE_WIDTH           = 7
      GUI_REFUSE_FILETRANSFER       = 8
      CUSTOMER_ERROR                = 9
      NO_AUTHORITY                  = 10
      OTHERS                        = 11
    *IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *ENDIF.
    ENDFORM.                    " F_DOWNLOAD
    for this one when i given the proper input
    it showing the Runtime error.
    Could u please tell me what mistake i have done
    Urgent help
    Regards
    harshavi N.

    HI,
    Run this program..
    REPORT ZINTERFACE_SAMPLE.
    type-pools:SLIS.
    TABLES:knb1, "Customer Master (Company Code)
    kna1,
    knvp. "Customer Master Partner Functions
    TYPES:BEGIN OF T_knb1,
    kunnr like knb1-kunnr,
    bukrs like knb1-bukrs,
    akont like knb1-akont,
    END OF T_knb1.
    TYPES:BEGIN OF T_kna1,
    kunnr like kna1-kunnr, "customer number
    NAME1 like KNA1-NAME1, "customer name
    stras like KNA1-STRAS, "Customer address
    ort01 like KNA1-ORT01, "Customer city
    stcd1 like KNA1-STCD1, "Tax id
    pstlz like KNA1-PSTLZ, "Postal code
    END OF T_kna1.
    TYPES:BEGIN OF T_knvp,
    kunnr like knvp-kunnr, "customer number
    parvw like knvp-parvw,
    kunn2 like knvp-kunn2, "Customer number of business partner
    END OF T_KNVP.
    TYPES:BEGIN OF T_final,
    Record_type TYPE c,
    Sold_to_cust(10) TYPE c,
    Payer(10) TYPE c,
    Sequence(5) TYPE n,
    Cust_name(35) TYPE c,
    Cust_adreess(35) TYPE c,
    Cust_city(35) TYPE c,
    Tax_id(16) TYPE c,
    Postal_code(5) TYPE c,
    Branch TYPE c,
    Delivery(3) TYPE c,
    END OF T_final.
    *Internal table declaration
    DATA:I_knb1 TYPE STANDARD TABLE OF t_knb1 initial size 0,
    i_kna1 TYPE STANDARD TABLE OF t_kna1 initial size 0,
    i_knvp TYPE STANDARD TABLE OF t_knvp initial size 0,
    i_final TYPE STANDARD TABLE OF t_final initial size 0.
    DATA: t_fieldcat_tab TYPE slis_t_fieldcat_alv WITH HEADER LINE.
    *Work area declaration
    DATA:wa_knb1 TYPE t_knb1,
    wa_kna1 TYPE t_kna1,
    wa_knvp TYPE t_knvp,
    wa_final TYPE t_final.
    *variable declaration
    data:sequence TYPe n,
    g_line TYPE i.
    selection screen *
    SELECTION-screen begin of block b1 with frame title text-001.
    parameters:p_bukrs like knb1-bukrs, "Company code
    p_akont like knb1-akont .
    selection-screen end of block b1.
    SELECTION-screen begin of block b2 with frame title text-002.
    PARAMETERS:R1 RADIOBUTTON GROUP G1,
    R2 RADIOBUTTON GROUP G1.
    Parameters:p_file like rlgrap-filename.
    "Recon Account in General Ledger
    selection-screen end of block b2.
    *AT selection-screen ON VALUE-REQUEST FOR P_FILE.
    CALL FUNCTION 'F4_FILENAME'
    IMPORTING
    FILE_NAME = P_FILE.
    START-OF-selection.
    PERFORM f_fetchdata.
    PERFORM f_prepare_fieldcat.
    PERFORM f_display_report.
    *END-OF-SELECTION.
    *IF R1 EQ 'X'.
    *perform F_DOWNLOAD.
    *ENDIF.
    *IF R2 EQ 'X'.
    *OPEN DATASET P_FILE FOR OUTPUT IN text mode ENCODING DEFAULT.
    *LOOP AT i_final INTO WA_final.
    *TRANSFER WA_final TO P_FILE.
    *ENDLOOP.
    *CLOSE DATASET P_FILE.
    *ENDIF.
    *& Form f_fetchdata
    FORM f_fetchdata .
    select kunnr
    bukrs
    akont
    from knb1
    into table i_knb1
    where bukrs = p_bukrs
    AND akont = p_akont.
    DESCRIBE TABLE i_knb1 LINES g_line.
    LOOP AT i_knb1 INTO wa_knb1.
    SELECT single KUNNR
    NAME1
    STRAS
    ORT01
    STCD1
    PSTLZ
    FROM kna1
    INTO wa_kna1
    where kunnr = wa_knb1-kunnr.
    if sy-subrc <> 0.
    *Error KNA1 record not found.
    endif.
    SELECT single kunnr
    parvw
    kunn2
    FROM KNVP
    INTO wa_knvp
    where kunnr = wa_knb1-kunnr
    AND parvw = 'RG'.
    if sy-subrc <> 0.
    *Error KNA1 record not found.
    endif.
    sequence = sequence + 1.
    MOVE: 'c' TO wa_final-Record_type,
    wa_knvp-kunnr TO wa_final-Sold_to_cust,
    sequence TO wa_final-Sequence,
    wa_KNA1-NAME1 TO wa_final-Cust_name,
    wa_kna1-STRAS TO wa_final-Cust_adreess ,
    wa_kna1-ort01 TO wa_final-Cust_city,
    wa_kna1-STCD1 TO wa_final-Tax_id,
    wa_kna1-PSTLZ TO wa_final-Postal_code,
    '1' TO wa_final-branch,
    'abc' TO wa_final-Delivery.
    INSERT wa_final INTO TABLE i_final.
    endloop.
    ENDFORM. " f_fetchdata
    FORM f_prepare_fieldcat.
    t_fieldcat_tab-col_pos = 1.
    t_fieldcat_tab-tabname = 'I_FINAL'.
    t_fieldcat_tab-fieldname = 'RECORD_TYPE'.
    t_fieldcat_tab-seltext_l = 'Record type'.
    APPEND t_fieldcat_tab.
    t_fieldcat_tab-col_pos = 2.
    t_fieldcat_tab-tabname = 'I_FINAL'.
    t_fieldcat_tab-fieldname = 'SOLD_TO_CUST'.
    t_fieldcat_tab-seltext_l = 'Sold to cust'.
    APPEND t_fieldcat_tab.
    t_fieldcat_tab-col_pos = 3.
    t_fieldcat_tab-tabname = 'I_FINAL'.
    t_fieldcat_tab-fieldname = 'PAYER'.
    t_fieldcat_tab-seltext_l = 'Payer'.
    APPEND t_fieldcat_tab.
    t_fieldcat_tab-col_pos = 4.
    t_fieldcat_tab-tabname = 'I_FINAL'.
    t_fieldcat_tab-fieldname = 'SEQUENCE'.
    t_fieldcat_tab-seltext_l = 'sequence'.
    APPEND t_fieldcat_tab.
    t_fieldcat_tab-col_pos = 5.
    t_fieldcat_tab-tabname = 'I_FINAL'.
    t_fieldcat_tab-fieldname = 'CUST_NAME'.
    t_fieldcat_tab-seltext_l = 'Cust name'.
    APPEND t_fieldcat_tab.
    t_fieldcat_tab-col_pos = 6.
    t_fieldcat_tab-tabname = 'I_FINAL'.
    t_fieldcat_tab-fieldname = 'CUST_ADREESS'.
    t_fieldcat_tab-seltext_l = 'Cust adreess'.
    APPEND t_fieldcat_tab.
    t_fieldcat_tab-col_pos = 7.
    t_fieldcat_tab-tabname = 'I_FINAL'.
    t_fieldcat_tab-fieldname = 'CUST_CITY'.
    t_fieldcat_tab-seltext_l = 'Cust city'.
    APPEND t_fieldcat_tab.
    t_fieldcat_tab-col_pos = 8.
    t_fieldcat_tab-tabname = 'I_FINAL'.
    t_fieldcat_tab-fieldname = 'TAX_ID'.
    t_fieldcat_tab-seltext_l = 'Tax id'.
    APPEND t_fieldcat_tab.
    t_fieldcat_tab-col_pos = 9.
    t_fieldcat_tab-tabname = 'I_FINAL'.
    t_fieldcat_tab-fieldname = 'POSTAL_CODE'.
    t_fieldcat_tab-seltext_l = 'Postal code'.
    APPEND t_fieldcat_tab.
    t_fieldcat_tab-col_pos = 10.
    t_fieldcat_tab-tabname = 'I_FINAL'.
    t_fieldcat_tab-fieldname = 'BRANCH'.
    t_fieldcat_tab-seltext_l = 'Branch'.
    APPEND t_fieldcat_tab.
    t_fieldcat_tab-col_pos = 11.
    t_fieldcat_tab-tabname = 'I_FINAL'.
    t_fieldcat_tab-fieldname = 'KWMENG'.
    t_fieldcat_tab-seltext_l = 'Order Qty'.
    APPEND t_fieldcat_tab.
    t_fieldcat_tab-col_pos = 12.
    t_fieldcat_tab-tabname = 'I_FINAL'.
    t_fieldcat_tab-fieldname = 'DELIVERY'.
    t_fieldcat_tab-seltext_l = 'Delivery'.
    APPEND t_fieldcat_tab.
    ENDFORM. " f_prepare_fieldcat
    *& Form f_display_report
    *To display the ALV Report
    FORM f_display_report.
    DATA: l_repid LIKE sy-repid.
    l_repid = sy-repid.
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    I_CALLBACK_PROGRAM = l_repid
    IT_FIELDCAT = t_fieldcat_tab[]
    I_DEFAULT = 'X'
    I_SAVE = 'A'
    TABLES
    T_OUTTAB = I_FINAL[].
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM." f_display_report
    *& Form F_DOWNLOAD
    text
    --> p1 text
    <-- p2 text
    FORM F_DOWNLOAD .
    *CALL FUNCTION 'WS_DOWNLOAD'
    EXPORTING
    FILENAME = p_file
    FILETYPE = 'ASC'
    MODE = ' '
    WK1_N_FORMAT = ' '
    WK1_N_SIZE = ' '
    WK1_T_FORMAT = ' '
    WK1_T_SIZE = ' '
    COL_SELECT = ' '
    COL_SELECTMASK = ' '
    NO_AUTH_CHECK = ' '
    IMPORTING
    FILELENGTH =
    TABLES
    DATA_TAB = i_final
    EXCEPTIONS
    FILE_OPEN_ERROR = 1
    FILE_WRITE_ERROR = 2
    INVALID_FILESIZE = 3
    INVALID_TYPE = 4
    NO_BATCH = 5
    UNKNOWN_ERROR = 6
    INVALID_TABLE_WIDTH = 7
    GUI_REFUSE_FILETRANSFER = 8
    CUSTOMER_ERROR = 9
    NO_AUTHORITY = 10
    OTHERS = 11
    *IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *ENDIF.
    ENDFORM. " F_DOWNLOAD
    It is perfectly working for me..
    I made the field name and table name as CAPs in the field catalog internal table.
    I removed the buffer paramter in the ALV FM.
    Thanks,
    Naren

Maybe you are looking for