JScrollPane function with Custom Paint ???

Hi, I'm having a problem with scrolling with components for which I've overidden the paint method for.
I have a scrollpane which contains a ContentPanel (my own subclass of JPanel in which I implemented paint and paintComponent). The ContentPanel contains Subclasses JButton's which also have their own paintComponent methods.
Problem: Everything (including scrollbars) paint correctly initially. The problem arises when one tries to scroll. When I pull the scrollbar in any direction, the JButtons paint oscillate between painting themselves at the correct scrolled position and at the original position in the Viewport. Then when one lets go of the scroll, the component rests in exactly the same position in the Viewport as it started.
I tried implementing the Scrollable inteface, still no luck. The documentation seems to imply that custom painting should have no effect on scrolling because the content is contained in the view and the ScrollBar commissions a Viewport class to help it move around. I'm not sure, but it seems like it should not be the result of my overidding the paint methods.
I'm so confused, is there something else I need to implement to use JScrollPanes, like Adjustment Listener?
Thanks for your help, Aurora

Dear Tom,
It looks like the code you have was originally made for awt, not swing. In swing, one should override the paintComponent(Graphics g) method, not the paint() method.
For reasons why check out this tutotial on how painting works.
http://java.sun.com/docs/books/tutorial/uiswing/overview/draw.html
The reason why you need to call super.paintComponent() in the JPanel is because the JPanel you have is not completely opaque, (I think). Anyway, it has to do with how painting works.
public class myPanel extends JPanel
public myPanel()
setVisible(true);
setSize(600,200);
setLayout(null);
setBackground(Color.white);
myBox m1 = new myBox();
//is the bounds of myBox set appropriately??? Perhaps you need to setBounds() in the constructor of mybox.
add(m1);
public void paintComponent(Graphics g)
super.paintComponent(g);
g.setColor(Color.black);
g.drawString("Test", 10, 13);
m1.paint(g);
//this is important. The subcomponents will not paint themselves unless they are told to by their containers.
In Swing, basically painting works as a hierarchy where the top level Component paints itself and then paints all it's children component, they paint their children and so on. Swing also determines many important things using the bounds of each component. To ensure correct painting and listening behavior, make sure the bounds for your myBoxes are the correct size. Also, implement public void paintComponent(Graphics g) in the myBox so that it will draw it's own rectangle when called by myPanel.
If that doesn't work, check out how myPanel is being added to the overall JFrame. It may not be displaying correctly because you have forgotten to add it or don't have a layout manager etc.
Good luck,
Aurora

Similar Messages

  • A problem with custom painting.

    I was trying to make a bar chart from a given data. I used an extension JLabel (mentioned as inner class Leonardo) inside a scrollpane for the custom painting of the bars (rectangles).
    The problem I am facing is the component is not visible when I open the screen. If I drag the scrool bar then the next area is painted and the component looks fine. If the frame is minimized and then maximized the custom painting is not visible. Any idea why it is doing so? I am pasting the full code in case some body wants to run it.
    Thanks in advance,
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.border.*;
    import java.awt.event.*;
    import java.util.Vector;
    import java.util.Hashtable;
    import java.util.Enumeration;
    import java.awt.geom.*;
    public class Reporter extends JFrame
    private JPanel basePanel = new JPanel();
    private Leonardo1 leo = null;
    private JScrollPane scrollPane = new JScrollPane();
    public Reporter()
    try
    jbInit();
    catch(Exception e)
    e.printStackTrace();
    public static void main(String[] args)
    Reporter reporter = new Reporter();
         reporter.pack();
         reporter.setSize(700,500);
    reporter.setVisible(true);
    private void jbInit() throws Exception
    this.setSize(new Dimension(679, 497));
    this.getContentPane().setLayout(null);
    this.setTitle("Process Reporter");
    // this.addWindowListener(new Reporter_this_windowAdapter(this));
    basePanel.setLayout(null);
    basePanel.setBounds(new Rectangle(15, 60, 640, 405));
    basePanel.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
    /* Hard code data */
    Vector d= new Vector();
    for (int j=0; j<131;j++)
    Data d1 = new Data(j*j*1.0,new java.sql.Date(System.currentTimeMillis()+j*1000000000),"yy","xx",Color.red);
    d.add(d1);
    leo = new Leonardo1(d);
    /*End of Hard Code data*/
    leo.setBounds(new Rectangle(10, 65, 656, 346));
    scrollPane.setBounds(new Rectangle(10, 10, 620, 330));
    scrollPane.getViewport().add(leo);
    basePanel.add(scrollPane, null);
    this.getContentPane().add(basePanel, null);
    class Data implements java.io.Serializable
    public double time;
    public java.sql.Date day;
    public String timeText;
    public String dayText;
    public Color color;
    public Data(double t,java.sql.Date dt, String strT,String strD,java.awt.Color col)
    time = t;
    day=dt;
    timeText=strT;
    dayText=strD;
    color=col;
    public void setTime(double t) {time =t;}
    public void setDay(java.sql.Date t) {day =t;}
    public void setTimeText(String t) {timeText =t;}
    public void setDayText(String t) {dayText =t;}
    public void setColor(Color t) {color =t;}
    public double getTime() {return time;}
    public java.sql.Date getDay() {return day;}
    public String getTimeText() {return timeText;}
    public String getDayText() {return dayText;}
    public Color getColor() {return color;}
    class Leonardo1 extends JLabel implements java.io.Serializable
    private Vector dataVec = new Vector();
    private double xGap = 5.0;//Gap between 2 bars
    private double xWidth = 12.0;//Width of a bar
    private double yGap = 40.0;//Gap from start of Y axis to first data.
    private int xLength = 645;//Length of the component
    private int yLength = 330;//Height of the component
    private int xMargin = 50;//The gap from the corner of the axis to the y axis
    private int yMargin = 20;//The gap from the corner of the axis to the x axis
    private double avgTime = 0.0;
    protected static Border noFocusBorder = new EmptyBorder(1, 1, 1, 1);
    public int getWidth(){ return xLength;}
    public int getHeight(){ return yLength;}
    public Dimension getMaximumSize(){return new Dimension(xLength,yLength);}
    public Dimension getMinimumSize(){return new Dimension(xLength,yLength);}
    public Dimension getSize(Dimension rv){ return new Dimension(xLength,yLength);}
    public Rectangle getBounds(Rectangle rv){ return new Rectangle(xLength,yLength); }
    public Leonardo1(Vector vec) {
         super();
    setOpaque(true);
    super.setBackground(Color.white);
    setData(vec);
    setBorder(noFocusBorder);
    protected void setData(Vector vec){
    if (vec == null) return;
    dataVec = (Vector)vec.clone();
    public void paintComponent(Graphics gin)
    super.paintComponent(gin);
    Graphics2D g2 = (Graphics2D)gin;
         // setBackground(Color.white);
    Color bl = Color.blue;
    g2.setPaint(bl);
    g2.setStroke(new BasicStroke(5.0f));
    drawData(g2,dataVec);
    g2.setPaint(Color.gray);
    g2.setStroke(new BasicStroke(0.5f));
    g2.draw(new Rectangle2D.Double(0, 0,xLength,yLength));
    g2.setStroke(new BasicStroke(1.5f));
    g2.draw(new Line2D.Double(xMargin, yMargin,xMargin,yLength -yMargin));
    g2.draw(new Line2D.Double(xMargin, yLength -yMargin,xLength -xMargin,yLength -yMargin));
    System.out.println("End1 ");
    public Dimension getPreferredSize(){
    if (dataVec.size()*(xGap+xWidth) > xLength)
    xLength = (int)(dataVec.size()*(xGap+xWidth));
    return new Dimension(xLength,yLength);
    else
    return new Dimension(xLength,yLength);
    protected void drawData(Graphics2D g2, Vector vec)
    if (vec == null || vec.size() == 0)
    return;
    //Check if expansion is required or not
    if (vec.size()*(xGap+xWidth) > (xLength - 2*xMargin))
    xLength = (int)(vec.size()*(xGap+xWidth)+xGap);//Expanded
    setPreferredSize(new Dimension(xLength,yLength));
    double maxTime = 0.0;
    double minTime = 0.0;
    double t=0.0;
    double total=0.0;
    for (int i=0;i<vec.size();i++)
    if ((t = ((Data)vec.elementAt(i)).getTime()) > maxTime)
    maxTime = t;
    if (t < minTime)
    minTime =t;
    total += t;
    avgTime = total/vec.size();
    System.out.println("Avg:"+avgTime+" tot:"+total);
    double scale = (yLength - 2*yMargin - 2*yGap )/(maxTime - minTime);
    //Now the y-axis scale is calculated, we can draw the bar.
    //Currently only bar is supported
    //I asume data are in the order of dates otherwise have to sort it here
    for (int i=1;i<=vec.size();i++)
    //Set color to fill
    if (((Data)vec.elementAt(i-1)).getColor() != null)
    g2.setPaint(((Data)vec.elementAt(i-1)).getColor() );
              //Fill
    g2.fill(new Rectangle2D.Double(xMargin+xGap+(i-1)*(xGap+xWidth), yMargin+yGap+/*length of active y axis*/
    (yLength-2*yMargin-2*yGap)-/*y value converted to scale*/(((Data)vec.elementAt(i-1)).getTime()- minTime)*scale,
    xWidth,(((Data)vec.elementAt(i-1)).getTime()- minTime)*scale+yGap));
    g2.setPaint(Color.black);
    g2.setStroke(new BasicStroke(0.5f));
    g2.draw(new Rectangle2D.Double(xMargin+xGap+(i-1)*(xGap+xWidth), yMargin+yGap+/*length of active y axis*/
    (yLength-2*yMargin-2*yGap)-/*y value converted to scale*/(((Data)vec.elementAt(i-1)).getTime()- minTime)*scale,
    xWidth,(((Data)vec.elementAt(i-1)).getTime()- minTime)*scale+yGap));
    g2.setPaint(Color.blue);
    float[] dash1 = {10.0f};
    g2.setStroke(new BasicStroke(1.5f,BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10.0f, dash1, 0.0f));
    g2.draw(new Line2D.Double(xMargin,
    yMargin+yGap+/*length of active y axis*/(yLength-2*yMargin-2*yGap)-
    /*y value converted to scale*/(avgTime- minTime)*scale,
    xMargin+(xGap+xWidth)*vec.size()+xGap,
    yMargin+yGap+/*length of active y axis*/(yLength-2*yMargin-2*yGap)-
    /*y value converted to scale*/(avgTime- minTime)*scale));

    Replace getBounds(Rectangle) by the following.
    public Rectangle getBounds(Rectangle rv){
    if (rv != null) {
    rv.x = 0; rv.y = 0; rv.width = xLength; rv.height = yLength;
    return rv;
    } else
    return new Rectangle(xLength,yLength);

  • (Another) problem with custom painting using JApplet and JPanel

    Hi all,
    I posted regarding this sort of issue yesterday (http://forums.sun.com/message.jspa?messageID=10883107). I fixed the issue I was having, but have run into another issue. I've tried solving this myself to no avail.
    Basically I'm working on creating the GUI for my JApplet and it has a few different JPanels which I will be painting to, hence I'm using custom painting. My problem is that the custom painting works fine on the mainGUI() class, but not on the rightGUI() class. My code is below:
    import javax.swing.*;
    import javax.swing.border.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import java.io.*;
    import javax.imageio.*;
    public class TetrisClone extends JApplet {
         public void init() {
              setSize( 450, 500 );
              Container content = getContentPane();
              content.add( new mainGUI(), BorderLayout.CENTER );
              content.add( new rightGUI() , BorderLayout.LINE_END );
    class mainGUI extends JPanel {
         // Main bit where blocks fall
         public mainGUI() {
              setBackground( new Color(68,75,142) );
              setPreferredSize( new Dimension( 325, 500 ) );
              validate();
         public Dimension getPreferredSize() {
              return new Dimension( 450, 500 );
         public void paintComponent( Graphics g ) {
              super.paintComponent(g);
              // As a test. This shows up fine.
              g.setColor( Color.black );
              g.fillRect(10,10,100,100);
              g.setColor( Color.white );
              g.drawString("Main",45,55);
    class rightGUI extends JPanel {
         BufferedImage img = null;
         int currentLevel = 0;
         int currentScore = 0;
         int currentLines = 0;
         public rightGUI() {
              // The right panel. Has quite a few bits. Starts here..
              FlowLayout flow = new FlowLayout();
              flow.setVgap( 20 );
              setLayout( flow );
              setPreferredSize( new Dimension( 125, 500 ) );
              setBackground( new Color(27,34,97) );
              setBorder( BorderFactory.createMatteBorder(0,2,0,0,Color.black) );
              // Next block bit
              JPanel rightNext = new JPanel();
              rightNext.setPreferredSize( new Dimension( 100, 100 ) );
              //rightNext.setBackground( new Color(130,136,189) );
              rightNext.setOpaque( false );
              rightNext.setBorder( BorderFactory.createEtchedBorder(EtchedBorder.LOWERED) );
              Font rightFont = new Font( "Courier", Font.BOLD, 18 );
              // The player's playing details
              JLabel rightLevel = new JLabel("Level: " + currentLevel, JLabel.LEFT );
              rightLevel.setFont( rightFont );
              rightLevel.setForeground( Color.white );
              JLabel rightScore = new JLabel("Score: " + currentScore, JLabel.LEFT );
              rightScore.setFont( rightFont );
              rightScore.setForeground( Color.white );
              JLabel rightLines = new JLabel("Lines: " + currentLines, JLabel.LEFT );
              rightLines.setFont( rightFont );
              rightLines.setForeground( Color.white );
              JPanel margin = new JPanel();
              margin.setPreferredSize( new Dimension( 100, 50 ) );
              margin.setBackground( new Color(27,34,97) );
              JButton rightPause = new JButton("Pause");
              try {
                  img = ImageIO.read(new File("MadeBy.gif"));
              catch (IOException e) { }
              add( rightNext );
              add( rightLevel );
              add( rightScore );
              add( rightLines );
              add( margin );
              add( rightPause );
              validate();
         public Dimension getPreferredSize() {
                   return new Dimension( 125, 500 );
         public void paintComponent( Graphics g ) {
              super.paintComponent(g);
              g.setColor( Color.black );
              g.drawString( "blah", 425, 475 ); // Doesn't show up
              g.drawImage( img, 400, 400, null ); // Nor this!
              System.out.println( "This bit gets called fine" );
    }Any help would be greatly appreciated. I've read loads of swing and custom painting tutorials and code samples but am still running into problems.
    Thanks,
    Tristan Perry

    Many thanks for reminding me about the error catching - I've added a System.out.println() call now. Anywhoo, the catch block never gets run; the image get call works fine.
    My problem was/is:
    "My problem is that the custom painting works fine on the mainGUI() class, but not on the rightGUI() class. My code is below:"
    I guess I should have expanded on that. Basically whatever I try to output in the public void paintComponent( Graphics g ) method of the rightGUI class doesn't get output.
    So this doesn't output anything:
    g.drawString( "blah", 425, 475 ); // Doesn't show up
    g.drawImage( img, 400, 400, null ); // Nor this!
    I've checked and experimented with setOpaque(false), however this doesn't seem to be caused by any over-lapping JPanels or anything.
    Let me know if I can expand on this :)
    Many thanks,
    Tristan Perry
    Edited by: TristanPerry on Dec 10, 2009 8:40 AM

  • Create Object Function with Custom ICF Connector

    Hi,
    I am developing an ICF Custom Connector. When provisioned a user, the user is created on the target succesfully but the process remains on the "Provisioning" status. When i control the log file, i see the following error:
    [oim_server1] [ERROR] [] [ORACLE.IAM.CONNECTORS.ICFCOMMON.PROV.ICPROVISIONINGMANAGER] [tid: [ACTIVE].ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: c4b0db765c688017:-2d2de9cf:13c04b25533:-8000-0000000000002b20,0] [APP: oim#11.1.2.0.0] oracle.iam.connectors.icfcommon.prov.ICProvisioningManager : createObject : Error while creating user[[
    java.lang.IllegalArgumentException: null field label doesn't exist
         at oracle.iam.connectors.icfcommon.service.oim9.OIM9Provisioning.getFieldName(OIM9Provisioning.java:174)
         at oracle.iam.connectors.icfcommon.service.oim9.OIM9Provisioning.setFormField(OIM9Provisioning.java:63)
         at oracle.iam.connectors.icfcommon.service.oim11.OIM11Provisioning.setFormField(OIM11Provisioning.java:299)
         at oracle.iam.connectors.icfcommon.prov.ICProvisioningManager.createObject(ICProvisioningManager.java:277)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpICFCREATEOBJECT.CREATEOBJECT(adpICFCREATEOBJECT.java:109)
         at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpICFCREATEOBJECT.implementation(adpICFCREATEOBJECT.java:54)
         at com.thortech.xl.client.events.tcBaseEvent.run(tcBaseEvent.java:196)
         at com.thortech.xl.dataobj.tcDataObj.runEvent(tcDataObj.java:2492)
         at com.thortech.xl.dataobj.tcScheduleItem.runMilestoneEvent(tcScheduleItem.java:3181)
         at com.thortech.xl.dataobj.tcScheduleItem.eventPostInsert(tcScheduleItem.java:753)
         at com.thortech.xl.dataobj.tcDataObj.insert(tcDataObj.java:604)
    Thanks
    Fyigit

    null field label doesn't exist you have to create return field in process form and map this field to provisioning lookup. In this lookup CodeKey should be your process form field and Decode should be __UID__
    Test the provisioning again...

  • Custom painting on jpanel with scrollable

    i have a jpanel with custom painting. because the painting can be wider than the view of the panel i need to implement scrollbars. i have experimented with implementing scrollable and using scrollpanes but i have no result. i need a hint or a tutorial how this can be done

    ok, that was the key. but perhaps you can help me with two other problems:
    because i dont know how large my panel ( or my scroll-area) has to be, i need to expand it on demand. i tried setpreferredsize for that reason, but nothing happens. i think this method is only for initializing but doesnt seem to function properly at a later point.
    next prop:
    when i scroll my custom panting area the jpanel isnt repainted. i have some difficulties finding the right eventlistener so that i can get scrollbar events (repaint after each move)

  • Scrolling a custom Component (e.g. JPanel) with overridden paint(Graphic g)

    Hi.
    I&#8217;m creating an application for modelling advanced electrical systems in a house. Until now I have focused on the custom canvas using Java2D to draw my model. I can move the model components around, draw lines between them, and so on.
    But now I want to implement a JScrollPane to be able to scroll a large model. I&#8217;m currently using a custom JPanel with a complete override of the paint(Graphic g) method.
    Screen-shot of what I want to scroll:
    http://pchome.grm.hia.no/~aalbre99/ScreenShot.png
    Just adding my custom JPanel to a JScrollPane will obviously not work, since the paint(Graphic g) method for the JPanel would not be used any more, since the JScrollPane now has to analyze which components inside the container (JPanel) to paint.
    So my question is therefore: How do you scroll a custom Component (e.g. JPanel) where the paint(Graphic g) method is totally overridden.
    I believe the I have to paint on a JViewport instructing the JScrollPane my self, but how? Or is there another solution to the problem?
    Thanks in advance for any suggestions.
    Aleksander.

    I�m currently using a custom JPanel with a complete override of the paint(Graphic g) method. Althought this isn't your problem, you should be overriding the paintComponent(..) method, not the paint(..) method.
    But now I want to implement a JScrollPane to be able to scroll a large model.When you create a custom component to do custom painting then you are responsible for determining the preferredSize of the component. So, you need to override the getPreferredSize(...) method to return the preferredSize of your component. Then scrolling will happen automatically when the component is added to a scrollPane.

  • Creation of partner functions for customer master with LSMW

    Hello,
    I try to create partner functions together with a customer via Batch Input in LSMW.
    Object: 0050, method: 0000, program name: RFBIDE00, program type: B.
    I use the structure BKNVP (Customer master partner functions) to create a new partner and set values for the fields KTONR and PARVW.
    When I start the batch input the fields are filled in correctly in a new dynpro. After the confirmation of these values the dynpro changes back to the partner functions sscreen, but the value for KTONR isn'n being transferred. So I get an error message.
    Is it only possible to update partner functions with that BI or what is going wrong ?
    Thanks in advance and regards
    Alex

    Hi Alex,
    Could you specify what error message you are getting?
    Thanks!
    Rudra

  • Extending dreamweaver with custom ssi functions ?

    Hi
    I read many posts about ssi and virtual function. Il could'nt find answer to my problem.
    i want to use all the capabilities of DW for ssi inclusion using php virtual function :
    absolute path from site root, visual rendering in creation mode, automatic path calculation ...
    but i don't want to use virtual function, because i'll won't be all the time on apache server.
    i don't want to use native require or include php function because my framework need absolute path from site root.
    I would liket to tell dreaweaver to treat myIncludeFunction() exactly as it does with virtual function.
    so i was expecting to extend Dreamweaver with customs tags. I read part of the Frecnh manual, extending dreamweaver
    but i couldn't manage to do this.
    Someone know the issue, or extensions taht could do this ?
    Thanks
    (sorry if my english is not good, my french is better )

    "Joris van Lier" <[email protected]> wrote in message
    news:fghlrc$ka$[email protected]..
    > Hi all, I'm looking for a way to extend the Dreamweaver
    DOM object with
    > custom functions.
    > In this case I need to backport the copyAssets function
    >
    http://livedocs.adobe.com/en_US/Dreamweaver/9.0_API/dwr_pagecontent_cn_088.html
    > for earlier versions of dreamweaver and reroute calls to
    an existing of
    > custom implementation.
    >
    > My idea is to create a Startup Item that uses the dom
    object as prototype
    > and extends or overrides certain functions, but then:
    how should I tell
    > dreamweaver to use that object instead of the normal
    DOM?
    >
    > --
    > Joris van Lier
    I'm still looking for the preferred/recommended way of doing
    this,
    does anyone have a bright idea?
    Joris van Lier

  • [solved] run dmenu with custom aliases and functions

    Is it possible to run my custom bash aliases and functions with dmenu?
    My aliases are placed in ~/.bash_aliases and my functions are in ~/.bash_functions.
    I source them in my ~/.bashrc through:
    Functions
    if [ -f ~/.bash_functions ]; then
    . ~/.bash_functions
    fi
    # Aliases
    if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
    fi
    Last edited by orschiro (2013-12-27 08:41:40)

    No problem!... sorry, I was about to post an "improved" version, but it breaks support for functions, doh!
    EDIT: finally got it to work as I wanted Sorry, zsh stuff is gone from mine, I don't use it -- feel free to borrow the improvements for your version though!
    v1.4 Changes:
    - removed unnecessary if statements
    - removed unnecessary 'source' command
    - added some logic to see if the command is a real program, or an alias/function - this saves spawning bash shells that aren't needed
    v1.5 TODO list:
    - add some "history" feature so that commonly used commands appear first in the list
    #!/bin/bash
    cachedir=${XDG_CACHE_HOME:-"$HOME/.cache"}
    if [ -d "$cachedir" ]; then
    cache=$cachedir/dmenu_run
    else
    cache=$HOME/.dmenu_cache # if no xdg dir, fall back to dotfile in ~
    fi
    cmd=`(
    IFS=:
    if [ -f ~/.bash_aliases ]; then
    aliases=( ~/.bash_aliases )
    fi
    if [ ~/.bash_functions ]; then
    functions=( ~/.bash_functions )
    fi
    if stest -dqr -n "$cache" $PATH || stest -fqr -n "$cache" "$aliases" || stest -fqr -n "$cache" "$functions"; then
    stest -flx $PATH
    source $aliases
    alias | awk -F '[ =]' '{print $2}'
    compgen -A function
    ) | sort -u | tee "$cache" | dmenu "$@"
    else
    dmenu "$@" < "$cache"
    fi
    )`
    if [ -f ~/.bash_aliases ]; then
    if [ ! -z $(which $cmd) ]; then
    exec $cmd &
    else
    echo -e "source ~/.bash_aliases \n $cmd" | bash -O expand_aliases &
    fi
    fi
    Last edited by dennis123123 (2014-04-21 10:09:39)

  • Runtime error - FBL1N - vendor balance with customer line item

    Hi gurus,
    One scenario where i have assign vendor as customer & customer as vendor in vendor & customer data. also make tick mark for both clearing with vendor & customer.
    when i see the customer report with vendor item it shows me the customer & vendor dues but when i tried to see the vendor balance with customer line item it gives dump error.
    Runtime Errors         PERFORM_NOT_FOUND
    Exception              CX_SY_DYN_CALL_ILLEGAL_FORM
    Error analysis
        An exception occurred that is explained in detail below.
        The exception, which is assigned to class 'CX_SY_DYN_CALL_ILLEGAL_FORM', was
         not caught in
        procedure "%_LDB_CALLBACK" "(FORM)", nor was it propagated by a RAISING clause.
        Since the caller of the procedure could not have anticipated that the
        exception would occur, the current program is terminated.
        The reason for the exception is:
        The program "RSDBRUNT" is meant to execute an external PERFORM,
        namely the routine "CB_DDF_GET_KNA1 " of the program "RFITEMAP ", but
        this routine does not exist.
        This may be due to any of the following reasons:
        1. One of the programs "RSDBRUNT" or "RFITEMAP " is currently being developed.
        The name "CB_DDF_GET_KNA1 " of the called routine may be incorrect, or
        the routine "CB_DDF_GET_KNA1 " is not yet implemented in the program "RFITEMAP
        2. If the program SAPMSSY1 is involved in the runtime error, one of
        the function modules called via RFC is not flagged as remote-capable.
        (see Transaction SE37  Goto -> Administration -> RFC flag)
        3. There is an inconsistency in the system. The versions of the
        programs "RSDBRUNT" and "RFITEMAP " do not match.
    Warm regards,
    Dhananjay R.

    Hi martin
    still problem was not solved. actually i am working on ECC 6.0 & not required to implement the sap note on development. i had done the configuration in vendor master & customer master for clearing.
    please suggest me.....what to do ?
    Than'x
    Dhananjay R

  • Apple tv second generation will no longer function with netflix

    My apple tv won't function with my netflix anymore and i cannot figure out why every film i select it states this error message
    A network error has occured and this title cannot be played or found at this time.
    i know my internet is working just fine and yes i updated to the latest apple tv version but nothing netflix won't work but everything else does what gives could this be because netflix updated to a new version and apple tv hasn't updated to the new version of netflix yet???

    Yes i did reboot same error message and the latest version of the netflix streaming app is 2.37 on all ios devices including apple tv but they went to netflix version 2.38 on ps3 and xbox 360 so now it doesnt work on netflix at all i found this out after talking to netflix customer support.

  • Partner functions in Customer master

    Hi,
    Can we maintain partner functions with out maitain customer sales area data, we need to maintain only general and company code data.
    Business scenario - 1. We have some certain customers like carrying only address purposses we dont need maintain company code and sales area, so is sytem creates partner functions once save this type of customers.
    2. same as said in point one some customers need general and company code data, dont need sales area, can system creates partner functions for this.
    regards
    Satish

    Hi Satish C,
                As already expressed by all other friends,
    Just would like to add,
    SAP has given 3 levels to maintain cusotmer relevant data ( General , Company Code & Sales area) & you are already aware of the same.
    But each level has its own importance & it can be based on how you would like to use the respective partners in specific transactions.
    for eg:
    in Billing- Bill to / Payer is required to have Company Code data & Ship to doesnt need to have Company Code data.
    In FI transactions- Customer doesnt need to have Sales area data.
    similarly, it all depends on how you want to use.
    NOte: if any partners using in Sales documents, should have General & Sales area data is mandatory. Company data is in billing.
    Just to maintain the address, if its ok with your client, you can go for different partner function ( if required in sales transactions) & add in sales area data.
    Regards,
    Reazuddin MD

  • Follow-on RFx creation with custom transaciton type from shopping cart

    Hi,
    we have the requirement as below:
    1) Custom field is added in Shopping cart as drop down to select the custom RFx type
    2) RFx should be created automatically as follow-on document with the Rfx type selected in shopping cart using the dropdown.
    Can anyone help me in this regard?
    Thanks,
    Sivagami R

    Hi,Sivagami Rathinam ,
    Custom field is added in Shopping cart as drop down to select the custom RFx type.
    To achieve this function with Carry out Sourcing.
    Sarah

  • FBL1N error - vendor balance with customer item

    Hi gurus,
    One scenario where i have assign vendor as customer & customer as vendor in vendor & customer data. also make tick mark for both clearing with vendor & customer.
    when i see the customer report with vendor item it shows me the customer & vendor dues but when i tried to see the vendor balance with customer line item it gives dump error.
    Runtime Errors         PERFORM_NOT_FOUND
    Exception              CX_SY_DYN_CALL_ILLEGAL_FORM
    Error analysis
        An exception occurred that is explained in detail below.
        The exception, which is assigned to class 'CX_SY_DYN_CALL_ILLEGAL_FORM', was
         not caught in
        procedure "%_LDB_CALLBACK" "(FORM)", nor was it propagated by a RAISING clause.
        Since the caller of the procedure could not have anticipated that the
        exception would occur, the current program is terminated.
        The reason for the exception is:
        The program "RSDBRUNT" is meant to execute an external PERFORM,
        namely the routine "CB_DDF_GET_KNA1 " of the program "RFITEMAP ", but
        this routine does not exist.
        This may be due to any of the following reasons:
        1. One of the programs "RSDBRUNT" or "RFITEMAP " is currently being developed.
        The name "CB_DDF_GET_KNA1 " of the called routine may be incorrect, or
        the routine "CB_DDF_GET_KNA1 " is not yet implemented in the program "RFITEMAP
        2. If the program SAPMSSY1 is involved in the runtime error, one of
        the function modules called via RFC is not flagged as remote-capable.
        (see Transaction SE37  Goto -> Administration -> RFC flag)
        3. There is an inconsistency in the system. The versions of the
        programs "RSDBRUNT" and "RFITEMAP " do not match.
    Warm regards,
    Dhananjay R.

    Hi Dhananjay,
    Pls show the error/ dump to the ABAPer
    Regards,
    Kiran

  • Rich Text Editor with Custom Text Attribute

    Hello All,
    We are using the latest version of Oracle Portal 10G. I have a need to create custom Attributes of the type text to let people enter a lot of text. But when User are in edit mode of an item where this custom attribute is used, the Rich Text Editor is not shown for entering the Text for the Custom Text Attribute. It shows a normal html text area. Has anyone ever used RTE with Custom Attribute?
    I request you guys for help.
    Thanks.

    The Problem with the Custom Attribute is not solved, but I have now compromised with the Situation and now I am not using a Custom attribute.
    Rather, Now I am creating a Custom Item Type using Base Text Type (earlier i wanted to create custom item type at my own without any base item type). In this case now I will not be able to change the Lable of the RTE (that is "Text", when the Custom Item is in Edit Mode), but I hope that my users can understand that much.
    I have created a template for portal pages. In the Template I can edit the Region Properties. When I edit the Region property of the region where I want to display my Custom Items. I get two Tabs on the top, Main and Attributes/Style. ON the main tab I can tell what type of region it should be, width etc, in my case it is item type region. And on the Attributes/Style tab, I can select from the availabe Attributes as which all Attributes I want to display. Here if i select only "Associated Functions" Attribute then normally portal should not render anything by default on the Page. It should rather make a call to the procedure which is associated with the Custom Item and as when I was creating the custom item type, I had clicked on "Display Procedure Results With Item", so portal should now display the result of my Procedure. So far it works without problem.
    But the problem is that the Portal displays the text at its own also. As i have written that Portal should not display anything at its own, this doesn't work in this version of Portal for a Custom Item Type that is made using Base Text Item Type. For all others it has worked till now (I have create 50s of Custom item types).
    You can better understand by going to the following URL. Just have a look between the two dotted lines (Dotted line is also a seperate Custom Item Type). Between the two Dotted Lines is a custom item, in general it would be a Custom News Item having title, image and so on.
    http://sunnode1.edvz.sbg.ac.at:7778/portal/page?_pageid=79,56047&_dad=portal&_schema=PORTAL
    I have really programmed a lot with portal but now at this stage where I am near to end, I am getting problems which are coming from Product. I request you for help.

Maybe you are looking for