Advice for editor gutter implementation...

Hello Java Gurus!
I am writing to you to seek advice regarding how one best could implement the gutter in a
textual editor. A gutter is a section, often to the left of the editing area, where line numbers
and different markers can be added to improve the interaction with the editor.
Just to play around and see how it would look like, I put a JPanel inside a scolled pane
and added two text areas to the JPanel. Using a border layout the gutter is placed to the west
and the editing area in the center. This quit test just showed me that this is what I am aiming
for, but it needs to be implemented with some intelligence. If the gutter is a text area and
the line numbers are printed out, the solution becomes quite slow for files that contain more
than about a thosand lines.
Both for looks and performance issues, what do you people feel would be the best solution
to implement the gutter? Am I correct in asuming that drawing the line numbers would be a
better solution? Anybody here who has played around with something similar that has some
advice?
Best regards,
X.

Here's something I've been using for a while now. It doesn't have bookmarking or any other interactive functions, but it works correctly with wrapped lines. I use it with a JTextArea, but it should work with a JTextPane or JEditorPane as well.
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.BorderFactory;
import javax.swing.JComponent;
import javax.swing.SizeSequence;
import javax.swing.UIManager;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.Element;
import javax.swing.text.JTextComponent;
* LineNumberView is a simple line-number gutter that works correctly
* even when lines are wrapped in the associated text component.  This
* is meant to be used as the RowHeaderView in a JScrollPane that
* contains the associated text component.  Example usage:
*<pre>
*   JTextArea ta = new JTextArea();
*   ta.setLineWrap(true);
*   ta.setWrapStyleWord(true);
*   JScrollPane sp = new JScrollPane(ta);
*   sp.setRowHeaderView(new LineNumberView(ta));
*</pre>
* @author Alan Moore
public class LineNumberView extends JComponent
  // This is for the border to the right of the line numbers.
  // There's probably a UIDefaults value that could be used for this.
  private static final Color BORDER_COLOR = Color.GRAY;
  private static final int WIDTH_TEMPLATE = 99999;
  private static final int MARGIN = 5;
  private FontMetrics viewFontMetrics;
  private int maxNumberWidth;
  private int componentWidth;
  private int textTopInset;
  private int textFontAscent;
  private int textFontHeight;
  private JTextComponent text;
  private SizeSequence sizes;
  private int startLine = 0;
  private boolean structureChanged = true;
   * Construct a LineNumberView and attach it to the given text component.
   * The LineNumberView will listen for certain kinds of events from the
   * text component and update itself accordingly.
   * @param startLine the line that changed, if there's only one
   * @param structureChanged if <tt>true</tt>, ignore the line number and
   *     update all the line heights.
  public LineNumberView(JTextComponent text)
    if (text == null)
      throw new IllegalArgumentException("Textarea cannot be null");
    this.text = text;
    updateCachedMetrics();
    UpdateHandler handler = new UpdateHandler();
    text.getDocument().addDocumentListener(handler);
    text.addPropertyChangeListener(handler);
    text.addComponentListener(handler);
    setBorder(BorderFactory.createMatteBorder(0, 0, 0, 1, BORDER_COLOR));
   * Schedule a repaint because one or more line heights may have changed.
   * @param startLine the line that changed, if there's only one
   * @param structureChanged if <tt>true</tt>, ignore the line number and
   *     update all the line heights.
  private void viewChanged(int startLine, boolean structureChanged)
    this.startLine = startLine;
    this.structureChanged = structureChanged;
    revalidate();
    repaint();
  /** Update the line heights as needed. */
  private void updateSizes()
    if (startLine < 0)
      return;
    if (structureChanged)
      int count = getAdjustedLineCount();
      sizes = new SizeSequence(count);
      for (int i = 0; i < count; i++)
        sizes.setSize(i, getLineHeight(i));
      structureChanged = false;
    else
      sizes.setSize(startLine, getLineHeight(startLine));
    startLine = -1;
  /* Copied from javax.swing.text.PlainDocument */
  private int getAdjustedLineCount()
    // There is an implicit break being modeled at the end of the
    // document to deal with boundary conditions at the end.  This
    // is not desired in the line count, so we detect it and remove
    // its effect if throwing off the count.
    Element map = text.getDocument().getDefaultRootElement();
    int n = map.getElementCount();
    Element lastLine = map.getElement(n - 1);
    if ((lastLine.getEndOffset() - lastLine.getStartOffset()) > 1)
      return n;
    return n - 1;
   * Get the height of a line from the JTextComponent.
   * @param index the line number
   * @param the height, in pixels
  private int getLineHeight(int index)
    int lastPos = sizes.getPosition(index) + textTopInset;
    int height = textFontHeight;
    try
      Element map = text.getDocument().getDefaultRootElement();
      int lastChar = map.getElement(index).getEndOffset() - 1;
      Rectangle r = text.modelToView(lastChar);
      height = (r.y - lastPos) + r.height;
    catch (BadLocationException ex)
      ex.printStackTrace();
    return height;
   * Cache some values that are used a lot in painting or size
   * calculations. Also ensures that the line-number font is not
   * larger than the text component's font (by point-size, anyway).
  private void updateCachedMetrics()
    Font textFont = text.getFont();
    FontMetrics fm = getFontMetrics(textFont);
    textFontHeight = fm.getHeight();
    textFontAscent = fm.getAscent();
    textTopInset = text.getInsets().top;
    Font viewFont = getFont();
    boolean changed = false;
    if (viewFont == null)
      viewFont = UIManager.getFont("Label.font");
      changed = true;
    if (viewFont.getSize() > textFont.getSize())
      viewFont = viewFont.deriveFont(textFont.getSize2D());
      changed = true;
    viewFontMetrics = getFontMetrics(viewFont);
    maxNumberWidth = viewFontMetrics.stringWidth(String.valueOf(WIDTH_TEMPLATE));
    componentWidth = 2 * MARGIN + maxNumberWidth;
    if (changed)
      super.setFont(viewFont);
  public Dimension getPreferredSize()
    return new Dimension(componentWidth, text.getHeight());
  public void setFont(Font font)
    super.setFont(font);
    updateCachedMetrics();
  public void paintComponent(Graphics g)
    updateSizes();
    Rectangle clip = g.getClipBounds();
    g.setColor(getBackground());
    g.fillRect(clip.x, clip.y, clip.width, clip.height);
    g.setColor(getForeground());
    int base = clip.y - textTopInset;
    int first = sizes.getIndex(base);
    int last = sizes.getIndex(base + clip.height);
    String text = "";
    for (int i = first; i <= last; i++)
      text = String.valueOf(i+1);
      int x = MARGIN + maxNumberWidth - viewFontMetrics.stringWidth(text);
      int y = sizes.getPosition(i) + textFontAscent + textTopInset;
      g.drawString(text, x, y);
  class UpdateHandler extends ComponentAdapter
      implements PropertyChangeListener, DocumentListener
     * The text component was resized. 'Nuff said.
    public void componentResized(ComponentEvent evt)
      viewChanged(0, true);
     * A bound property was changed on the text component. Properties
     * like the font, border, and tab size affect the layout of the
     * whole document, so we invalidate all the line heights here.
    public void propertyChange(PropertyChangeEvent evt)
      Object oldValue = evt.getOldValue();
      Object newValue = evt.getNewValue();
      String propertyName = evt.getPropertyName();
      if ("document".equals(propertyName))
        if (oldValue != null && oldValue instanceof Document)
          ((Document)oldValue).removeDocumentListener(this);
        if (newValue != null && newValue instanceof Document)
          ((Document)newValue).addDocumentListener(this);
      updateCachedMetrics();
      viewChanged(0, true);
     * Text was inserted into the document.
    public void insertUpdate(DocumentEvent evt)
      update(evt);
     * Text was removed from the document.
    public void removeUpdate(DocumentEvent evt)
      update(evt);
     * Text attributes were changed.  In a source-code editor based on
     * StyledDocument, attribute changes should be applied automatically
     * in response to inserts and removals.  Since we're already
     * listening for those, this method should be redundant, but YMMV.
    public void changedUpdate(DocumentEvent evt)
//      update(evt);
     * If the edit was confined to a single line, invalidate that
     * line's height.  Otherwise, invalidate them all.
    private void update(DocumentEvent evt)
      Element map = text.getDocument().getDefaultRootElement();
      int line = map.getElementIndex(evt.getOffset());
      DocumentEvent.ElementChange ec = evt.getChange(map);
      viewChanged(line, ec != null);
}

Similar Messages

  • Three Key Tips for Successful IT Implementation

    Implementing a new service into business is never an easy endeavor, follow this advice for successful IT Implementation. 
    This topic first appeared in the Spiceworks Community

    distractiboy wrote:
    I won't lie, but I could just not even bring it up as an issue. The compass in particular seems to be a real defect, and one that genuinely bothers me. Bringing up the screen might just complicate things. It's not like I'd be hiding anything — the thing that bothers me should be evident just from their handling of it.
    Honestly, I don't think the screen issue is going to matter. The fact that the compass doesn't work right is a biggie. Just make sure it's a real issue, and it's not something else.
    However, I hope there's a lesson learned on cleaning your screen. I use a dry, lint-free cloth.

  • Need advice for future design and hardware I should purchase now.

    I was wondering if someone could assist me in making a decision on where I should take the future design of my network. Currently the design has no redundancy and I've been told recently that my company has a bit of money to spend and that it needs to spend it within the next 2 weeks. I am fairly new to the company so haven't been able to really think about future redundant designs nor have I studied much about designing networks. There are about 200-300 people that may be using my network at once, all users aren't at the location in question but they may be asking for resources from our servers.
    I've included a basic design of the "core" of my network and would like any suggestions for creating redundancy in the future and also optimizing the way data travels to our servers. Do people generally have redundant Layer 3 switches for the core in small networks such as mine? I will be replacing the 2811 since it only has 100Mbps connections and was thinking, perhaps replace this with a Layer 3 switch with the plan to have another identical Layer 3 switch installed to offer redundancy in the future.
    Also, would it be a good idea to move the servers into a vlan on the core? Thanks for any advice on what I should be purchasing now with plans for redundancy being implemented over a year.  -Mark

    40k Can go pretty quick depending on the scope. Your server farm especially should be dual-homed capable of surviving link, hardware, routing, and software failure.
    It's going to be best practice your server farm be in it's logical subnet, so failover mechanism can be controlled routing protocols, as opposed to FHRP's such as HSRP/VRRP/GLBP. Especially since you adjust routing timers to sub-second convergence.
    Budget will be the primary limitation (as it always it) but ideally dual 6500's running VSS and FWSM would be the ideal way. Data centers should be designed with high availability in mind, hence the need to 2x devices.
    Depending on the size of the SAN/Virtual infrastructure Nexus might want to be considered but you will chew up 40k before you know it.
    Also make sure the server farm is scaled properly. Your server farms should be oversubscribed in a much higher ratio compared to your access layer.
    CCNP, CCIP, CCDP, CCNA: Security/Wireless
    Blog: http://ccie-or-null.net/

  • Best Practice  for SEM-BCS Implementation

    Hello Gurus
    Can I find any Help/suggestions  and or Link to Best Practices(BP)  for  SEM-BCS implementation only ?
    please advice
    thx
    Ramana_12

    This is far too general to answer in this forum. I suggest you ask specific questions about the various functions available and pros and cons to each can be provided.
    Edited by: Dan Sullivan on Apr 28, 2010 10:47 AM

  • SAP SSO using CUA for Transport Express implementation

    I am implementing Transport Express application as part of a larger project on a Dual Track environment. The business want TE to be integrated into the SSO landscape. This is where I am having difficulties. I need advice from anyone having implemented BTI's Transport Express into SAP requiring SSO with CUA as part of the business landscape? Our Domain Controller is Solution Manager. The TE settings in SolMan allow for a Web UI email notification, this contains a hyperlink to a user Dashboard. The expectation with SSO is that clicking on the hyperlink will automatically connect us to the Web UI Dashboard. Currently this does not work. Any suggestions?
    I have also been given three options to concider; 1. Our Portal manages ABAP and Java SSO, 2. SPNego is for ABAP systems, 3. A system to system config might work.

    Hi,
    Now SPNego is working on ABAP stack as well as Java stack.
    If you want to use this solution, the following videos may help.
    Single Sign-On with Kerberos
    Best regards,
    Shuai

  • HT204053 Is it possible to have two (or more) different icloud mail accounts (not alias) under the same apple id? If not what is you best advice for all family members to have their own e-mail and still share the purchases under the same apple id. Thanks

    Is it possible to have two (or more) different icloud mail accounts (not alias) under the same apple id? If not what is you best advice for all family members to have their own e-mail and still share the purchases under the same apple id. Thanks

    mannyace wrote:
    Thanks for the response.
    So I basically won't run into any trouble? I
    There should be no issues. Its designed to work like that.  You don't change Apple IDs just because you get a new device.
    mannyace wrote:
    Thanks for the response.
    Is there any chance that the phones can fall out of sync?
    Unlikely. But nothing is impossible.   Though I don;t see how that would happen. As long as both are signed into the Same Apple ID / iCloud Account they will be N'Sync. (Bad Joke)
    mannyace wrote:
    Thanks for the response.
    If I get a message or buy an app or take a photo on the iPhone 5, how do I get those things onto the iPhone 6?
    If you buy an App, you have 2 ways to get it to the iPhone6: If Automatic Downloads is enabled in Settings->iTunes & App Store, it will automatically download to the iPhone 6 when you buy it on the 5 and vice versa if you buy it on the 6, it will download to the 5.
    Alternatively, you can simply go to the App Store App->Updates->Purchased and look for the App there and download it. Purchased Apps will not require payment again. i.e They'll be free to download to the iPhone 6 once purchased.
    SMS Messages will sync over using Continuity as long as they are on the same Wifi network. Otherwise, restoring the iPhone 5 backup to the iPhone 6 will transfer all messages received up until the backup was made onto the iPhone 6.
    Images, can be transferred either through Photo Stream
    My Photo Stream FAQ - Apple Support
    Or any Cloud service you want such as Dropbox, or One Drive.
    mannyace wrote:
    Also, something i forgot to ask initially: Should I update the iPhone 5 to iOS 8 first or does that not matter?
    If you want the Continuity features as explained above you need to update the iPhone 5 to iOS 8. Otherwise its not all that important.

  • Multiple libraries, Pbook/Pmac, advice for management & updating please.

    Hi Everyone,
    I travel frequently, and am looking for suggestions to keep all my iPhoto libraries up to date. I currently have a g5, Powerbook, and Mini.
    I just upgraded to iPhoto 6 and I have several thousand photos on my Dual g5. I just came back with 1000 more from my diving trip. The problem is, they are on my Powerbook, and taking up alot of space on the relatively small hard drive. I managed to work through the rough upgrade from 5 to 6, and now I need some more help...
    1) What is your advice for managing multiple libraries of photos.
    2) What is the best way to transfer the iphoto pics (and movies) to my desktop, which of course has the larger storage capacity, after travelling...
    Thanks,

    Jason:
    There are several different approaches to what you want to do. Let me just throw out a couple that I'm familiar with.
    To get the new photos from your PB to your G5 and maintain any keywords, and other organization effort you put into them, you'll need the paid version of iPhoto Library Manager. It will allow you to merge libraries or copy between libraries and maintain the metadata, etc. That's the only way currently available to move photos from one library to another and keep the roll, keywords, comments, etc. with those photos. You can connect the two Macs with one in the Target Mode, probably your PB, and then run iPLM to move the photos to the G5 library.
    Now there is a way to have a library on your PB that reflects the one on your G5 but is only a fraction of the size. That's to have an alias based library on your PB that uses the Originals folder as its source of source files. (My 25,600 files, 27G, are represented by an iPhoto Library folder of only 1.75G). When the PB is not connected with the G5, say with a LAN, it will have limited capabilities which are in part: you'll only be able to view the thumbnail files, be able to add comments, create, delete or move albums around, add keywords (but with some hassle-but it can be done). You can't do anything that requires moving thumbnails around, work with books, slideshows or calendars. Once the two computers are networked together again the library will act as normal.
    Now while on the road you can have a "normal" library to import new full sized files, keyword them, add comments, etc. and then transfer to the G5 library. Once in the G5 library they will be represented in a roll(s) and corresponding folder in the Originals folder. You then fire up the "alias" library, and import those new folders in the G5 Originals folder.
    It may be a lot of work but it may be one way of doing it.
    I've not done any of the "sharing" with iPhoto so don't know if that's another possible candidate for transferring.
    P.S. FWIW I've created this workflow for converting from a conventional library to an alias based one.

  • Advice for real performanc​e of LV8.5 operate in the XP and Vista

    Hi all
    My company had purchased new computers for LabVIEW programming purpose.
    We may install the LV8.5 in these computers but OS are not decided yet. Also, we have the current PC is only XP licensed
    Therefore, can anyone give the advice for the real performance advantage of using :
    LV8.5 with Vista over LV8.5 with XP
    LV8.5 with Vista over LV7.1 with XP
    LV7.1 with Vista over LV7.1 with XP
    New computers detail:
    Intel(R) Pentium(R)Dual-Core processor E2160
    BCH-P111 -1.80GHz, 1MB L2 cache, 800MHz FSB
    2GB RAM
    Thanks
    Best Regards
    Steve So

    The biggest issue I have seen with 8.5 Vista vs. XP is that if you leave Vista in the standard theme, the fonts have changed.  I designed several front panels to have them be out of whack with XP.  So if you are going to be using code across platforms, you need to keep in mind they will look different unless you use the XP theme in Vista, or customize your fonts to make sure they remain the same between the systems.  The dialog font is a different size (13 on Vista vs. 11 on XP), and a different font (can't remember the difference).  That was the big one I noticed.
    8.5 over 7.1 is mostly going to be the learning curve to learn the new features.  Overall, I have appreciated the changes, but there are some things (mostly development related) that I have seen run a little slower in 8.5 than in 7.1, but have not noticed any runtime issues as of yet.  One big change between the versions is application building, which is more complex in 8+.  I do appreciate the new features, though, but NIs project still hasn't rubbed me the right way yet.
    NI doesn't support LV 7.1 with Vista.  I have used it and haven't seen any problems, but that doesn't mean one won't pop up.  If you're going to stay with 7.1, you better stay with XP.  8.5 is the first version NIs supports as Vista compatible.  You will also have to use a relatively new set of device drivers, so if you have old hardware you are trying to use in your new system, make sure it is cimpatible with the latest drivers.
    I have actually had more issues with other hardware drivers and software packages than I have with LabVIEW.  TestStand is not yet supported in Vista, and i found out the hard way, one of the ways it is incompatible and had to move back to XP for devlopment.

  • OA Framework newbee - Need suggestions/advice for a new project

    Dear All,
    We are starting up a new "Online Forms" project which aims to move all the offline paper based forms to online forms with online approvals etc.
    We are still new to OA, hence looking for tips from the gurus out here.
    We have various forms (upto 50 forms) e.g. Request for an Employment Letter, Request for Car Loan, Request for a salary bank transfer , in which the employee fills out certain fields specific to that request and submits the request. The request then goes for approval.
    I have gone through the OA dev guide which states that the structure should be :
    schema/server - EO
    server - VO, AM
    webui - Controller
    lov/schema/server - LOV related EO
    lov/webui - LOV related controller
    1 Should we further segregate everything based on the form ?
    E.g. For car loan request the EO s will go to : schema/server/carloan
    and For salary bank transfer : schema/server/bnktransfer
    and The common EO s would go to : schema/server/common
    2 If we have some helper classes, where would these go ? under util/schema ?
    3 How many application modules should be created for such an implementation. Should we have one AM per form ? (With LOVs having their dedicated AM?)
    Will appreciate if someone can guide us on the above questions. It would be helpful to set up the right base !
    Thanks,
    Gagan

    Thanks James and Peddi !
    Peddi, thank you for the detailed stucture. Did you mean that we must put in all the pages and their CO s in the same package ? There are going to be so many forms, with each form having atmost 5 pages - is there any harm creating one package per form ? (Ofcourse beneath the standard structure. E.g. CO's would be in webui, then would be further classified based on the form, so webui/carloan, webui/empletter and then there would be webui/common - for all the common stuff)
    We are also thinking in terms of one AM per form. The forms are simple -
    Page 1 - are you submitting for yourself or another employee
    Page 2- The form itself - The forms may display some employee information etc from APPS. (Grade, salary, exisitng loans etc)
    Page 3 - Review or confirmation page with a submit button.
    Thanks !

  • Creation of ACH pmt advice for EU C.Cd (PMW activated)

    Hi experts,
    I'm a little at loss with my 1st dealings with the payment medium workbench. I got a requirement to setup payment advice a EU company code that currently sends out ACH payments without advice.
    Currently In FBZP,
    1- The EU CCd is a paying company and the form is the same Z_REMITT_S used for the client's US company.
    2- The ACH payment method is defined for the country. The medium is the payment medium workbench and the format is Z_SEPA_CT.
         The US company uses the classic workbench and program RFFOUS_T for ACH.
    3- In Define Payment Method for Company code, I hit a snag because Under Form Data, there is only the "Drawer on the Form" segment; the entire "Forms" segment where you'd select your script is missing.
    Bottom line is How do I set up payment advice for ACH for a EU company paying EU vendors? (am I even asking the right question here?)

    maybe OP want to extract all numbers from his inbox using regular expressions?

  • Automatic creation of remittance advice for employee expense reimbursements

    Hello experts
    Is there a way to have remittance advices for employee expense reimbursements created automatically at the time of payment media run? In case of suppliers, in the supplier base you can heck "Advice Required" and then at the time of media run the remittance advice can be generated alongwith the payment. Is there a similar setting that can be done for employees?
    Thanks
    Gopal

    Hi
    Just to follow on from Ravi's reply:  most sites that I work at have the report RPRAPA00 scheduled to run on a periodic basis (define the job via transaction code SM36) to automatically create employee's vendor accounts.   A screen variant is usually saved for the program, and then the batch session is monitored on a regular basis to ensure that it has run successfully.
    Cheers
    Kylie

  • Can anyone help me with advice for a replacement hard drive

    Hi there,
    Can anyone help me with advice for a replacement hard drive and RAM upgrade for my Mac Book Pro 5,3
    Its 3 years old & running Snow Leopard 10.6.8
    I do a lot of audio & movie work so performance is important.
    The logic board was replaced last summer & I was advised to replace the hard drive then...oops
    Anyway it has limped on until now but is giving me cause for concern...
    I have found a couple of possibilities below...so if anyone does have a moment to take a look & help me out I would be most grateful
    http://www.amazon.co.uk/Western-Digital-Scorpio-7200rpm-Internal/dp/B004I9J5OG/r ef=sr_1_1?ie=UTF8&qid=1356787585&sr=8-1
    http://www.amazon.co.uk/Kingston-Technology-Apple-8GB-Kit/dp/B001PS9UKW/ref=pd_s im_computers_5
    Kind regards
    Nick

    Thanks guys that is so helpful :-)
    I will follow your advice Ogelthorpe & see how I get on with the job!!! Virgin territory for me so I may well shout for help once my MBP is in bits!! Is there a guide for duffers for this job anywhere??
    & yes in an ideal world I would be replacing my old MBP but I'm just not in a position to do that at the moment....let's hope things pick up in 2013
    All the very best
    Nick

  • Asking for advice--for beginning (but artistic) photographer.  Recommend Lightroom 5 or Photoshop Elements 12 (Windows 7 OS)?

    Asking for advice--for beginning (but artistic) photographer. Recommend Lightroom 5 or Photoshop Elements 12 (Windows 7 OS)?

    MarwanSati your install log appears to be free of errors.  I would recommend you post your inquiry about accessing this feature within the Photoshop Elements forum.

  • Payment advice for down payments

    hi ,
    anyone know how to generate the payment advice for downpayment made to Vendor..
    thanks in advance
    regds,
    raman

    Hi,
    Go to FBE1 and select account type k and create a payment advice for the down payment.
    regards
    srikanth
    Edited by: boddupalli srikanth on Apr 28, 2009 9:53 AM

  • Payment Advice for Payment method T- Transfer

    Hi,
    When I run F110 (Automatic payment program), I need to provide the payment advice for payment method T (bank transfer)
    to the vendor in the format provided by the client.
    My question is:
    1. Where to assign the payment advice form  in customisation for payment method T
    2. which program has to be assigned to the payment advice form.
    Very Important note:  Here we are ALSO using DMEE file to upload- Under payment method country -I have configure the same for use payment medium workbench
    Rgds,
    Vidhya

    Hi Vidhya,
    All this is done in a single screen transaction code FBZP.
    Where to assign the payment advice form in customisation for payment method T
    This is in Payment methods in Company codeSelect your payment method-Expand form data and assign the paymnet advice form.
    which program has to be assigned to the payment advice form.
    FPAYM_INT_DMEE(For DMEE)./ in the next form you may have F110_IN_AVIS.
    Thanks
    Aravind

Maybe you are looking for

  • Use of parameter sets with prepared INSERTS via Oracle's ODBC driver 8.1.6.4

    Oracles ODBC driver, version 8.1.6.4, allows for driver configuration of three different batch auto commit modes. If I select COMMIT ALL SUCCESSFUL STATEMENTS and cause my app to execute a prepared and parameterized INSERT statement that makes use of

  • How do I send an email answer when there is no "send" command?

    this problem occurs when I use a 'reply" email address and only with firefox, never with internet explorer

  • Display jsp files with .html extension

    my problem is very straight forward i want all my jsp pages to be shown with .html extension. like if i have a page test.jsp and I access it through a hyperlink Test then in the browser's address bar i want it test.html .. any ideas ..

  • Photos Won't Synch

    I just got a iPod Touch and the photos aren't synching from the pictures folder on my computer (Vista). I had the same problem on my old ipod, once I switched to this computer/ Any suggestions

  • What's adding ":8090" to all my URL's?

    I have a very strange networking problem that only occurs with a login type wireless connection at my school, but never with a wired connection there, or other types of wireless connections, encrypted on unencrypted. What use to work a few weeks ago