Notify changes

It would be nice if once a week, an e-mail could be received to notify what is added or changed to/on otn, prefered per catogory (XML,Java,PL/SQL and so on).

Several options.
You could use the current item with a shared collection like this:
https://gallery.technet.microsoft.com/Dynamic-XAML-Composed-View-e087f3c1
and
http://social.technet.microsoft.com/wiki/contents/articles/29859.wpf-tips-bind-to-current-item-of-collection.aspx
Note the / notation for current item
<local:EditRow LabelFor="First Name:" >
<TextBox Text="{Binding PeopleCollectionView/FirstName, UpdateSourceTrigger=PropertyChanged}"/>
</local:EditRow>
<local:EditRow LabelFor="Middle Name:">
<TextBox Text="{Binding PeopleCollectionView/MiddleName, UpdateSourceTrigger=PropertyChanged}"/>
</local:EditRow>
Or you could send an mvvm light message and react to that - using this technique
http://social.technet.microsoft.com/wiki/contents/articles/26070.communicating-between-classes.aspx
Hope that helps.
Recent Technet articles:
Property List Editing;  
Dynamic XAML

Similar Messages

  • Referencing iPhoto pictures and notify changes in Aperture

    Hi
    I'm trying to figure out how to setup iPhoto and Aperture to work together. At the moment all my photos are located in the iPhoto library.
    I've imported some of my iPhoto images as references in my Aperture library which is pretty cool because I can make changes to my images without having to copy them. But the thing I can't seem to figure out is how to notify iPhoto that I made changes to an image and the 'optimized' image needs to be updated in iPhoto's library.
    Is the iPhoto -> Aperture link only one way traffic?
    Please do mind that I'm aware that there is a way to reference Aperture photos in iPhoto but I'd rather like to have all my images in iPhoto and use Aperture as the 'editing' program.

    Please do mind that I'm aware that there is a way to reference Aperture photos in iPhoto but I'd rather like to have all my images in iPhoto and use Aperture as the 'editing' program.
    You can't. There is no way to round-trip a photo from iPhoto to Aperture and back again.
    Aperture is not an editing programme. It is - rather like iPhoto - a database driven Digitial Asset Manager. While you can set Aperture as an external editor in iPhoto, it doesn't work, because it's a DAM rather than an editor. (You can set the Chess Game as an external editor in iPhoto )
    iPhoto has no awareness of or ability to read the Aperture Library. Aperture's ability to read the iPhoto Library is really limited to allowing you to migrate to Aperture from iPhoto.
    Regards
    TD

  • IDOC to notify changes in Purchase Requisition

    Hi,
    I have a requirement where I would like to generate an IDOC whenever there is a change in Purchase Requisition therough SAP Screen. Is there any idoc available for the same?
    Regards,
    Venkatesh

    Hello Venkatesh,
    I do not think what you are looking for is available readily. SAP provides the following:
    PREQCR01
    PREQCR02
    PREQCR03
    PREQDL01
    What you could do is create a ZPREQCHG IDOC by copying PREQDL01, so you are covered for closing and deletion as well.
    In the header segment  E1PREQDL, create a z segment and include all the fields that you want here.

  • ZRS Email notify: Change attachment of the attachment PDF?

    Hi guys, I just wanted to check if we could configure the ZRS report to send an email with a PDF exctention instead of .WID ??
    Looks like I can't even open that type of file with any apps on my MAC. I guess it's the same story on Windows.
    Thanks!

    sebastien,
    It appears that in the past few days you have not received a response to your
    posting. That concerns us, and has triggered this automated reply.
    Has your problem been resolved? If not, you might try one of the following options:
    - Visit http://support.novell.com and search the knowledgebase and/or check all
    the other self support options and support programs available.
    - You could also try posting your message again. Make sure it is posted in the
    correct newsgroup. (http://forums.novell.com)
    Be sure to read the forum FAQ about what to expect in the way of responses:
    http://forums.novell.com/faq.php
    If this is a reply to a duplicate posting, please ignore and accept our apologies
    and rest assured we will issue a stern reprimand to our posting bot.
    Good luck!
    Your Novell Product Support Forums Team
    http://forums.novell.com/

  • Notify and notifyAll

    notify results in a single thread acquiring a lock whereas notifyAll results in all the threads competing for the lock and one of them acquiring it
    so any way only one thread is able to acquire the lock, so why do we need notfyAll at all.
    Is there something more to it.

    It can all be illustrated by an example:
    public class Test {
         public static void main(String[] args) throws Exception {
              final Object lock = new Object();
              class R implements Runnable {
                   public void run() {
                        synchronized (lock) {
                             try {
                                  lock.wait();
                             } catch (InterruptedException e) {
                                  e.printStackTrace();
                        System.err.println("Thread " + toString() + " ended");
              synchronized (lock) {
                   new Thread(new R()).start();
                   new Thread(new R()).start();
                   new Thread(new R()).start();
              Thread.sleep(1000);
              synchronized (lock) {
                   lock.notify();     //Change this line to notifyAll
              System.out.println("Main thread ended");
    }Kaj

  • Issue with setting float point in Textfield

    hi
    i have an issue with float input in a textfield.
    what i want to do is.
    when the user start typing numerics it should accept from right hand side and keep appending value from right hand side.
    for ex
    if i want to enter 123.45
    user starts entering
    1 then it should display as 0.01
    2 then it should display as 0.12
    3 then it should display as 1.23
    4 then it should display as 12.34
    5 then it should display as 123.45
    to achive this i have written the code as below
    public class Test{
         public static void main(String[] a){
         try {
    UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
    } catch (Exception evt) {}
    DecimalFormat format = new DecimalFormat();
    format.setGroupingUsed(true);
    format.setGroupingSize(3);
    format.setParseIntegerOnly(false);
    JFrame f = new JFrame("Numeric Text Field Example");
    final DecimalFormateGen tf = new DecimalFormateGen(10, format);
    // tf.setValue((double) 123456.789);
    tf.setHorizontalAlignment(SwingConstants.RIGHT);
    JLabel lbl = new JLabel("Type a number: ");
    f.getContentPane().add(tf, "East");
    f.getContentPane().add(lbl, "West");
    tf.addKeyListener(new KeyAdapter(){
         public void keyReleased(KeyEvent ke){
              char ch = ke.getKeyChar();
              char key;
              int finalres =0;
              String str,str1 = null,str2 =null,str3 = null,str4= null;
              if(ke.getKeyChar() == KeyEvent.VK_0 || ke.getKeyChar() == KeyEvent.VK_0 ||
                        ke.getKeyChar() == KeyEvent.VK_0 || ke.getKeyChar() == KeyEvent.VK_1 || ke.getKeyChar() == KeyEvent.VK_2 ||
                             ke.getKeyChar() == KeyEvent.VK_3 || ke.getKeyChar() == KeyEvent.VK_4 || ke.getKeyChar() == KeyEvent.VK_5 ||
                             ke.getKeyChar() == KeyEvent.VK_6 || ke.getKeyChar() == KeyEvent.VK_7 || ke.getKeyChar() == KeyEvent.VK_8 ||
                             ke.getKeyChar() == KeyEvent.VK_9 ){
                   double value1 = Double.parseDouble(tf.getText());
                   int position = tf.getCaretPosition();
                   if(tf.getText().length() == 1){
                        if(tf.getText() != null || tf.getText() != ""){
                        value1 = value1 / 100;
                        tf.setText(String.valueOf(value1));
                   /*else if(tf.getText().length() == 3){
                        str = tf.getText();
                        for(int i=0;i<str.length();i++){
                             if(str.charAt(i) == '.'){
                                  str1 = str.substring(0,i);
                                  str2 = str.substring(i+1,str.length()-1);
                                  break;
                        key = ke.getKeyChar();
                        finalres = calculate.calculate1(str2,key);
                        str3 = merge.merge1(str1,finalres);
                        tf.setText(str3);
                        System.out.println(key);
                        System.out.println(str1);
                        System.out.println(str2);
                   else{
                        value1 = Float.parseFloat(tf.getText());
                        value1 = value1*10;
                        tf.setText(String.valueOf(value1));
    tf.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
    try {
    tf.normalize();
    Long l = tf.getLongValue();
    System.out.println("Value is (Long)" + l);
    } catch (ParseException e1) {
    try {
    Double d = tf.getDoubleValue();
    System.out.println("Value is (Double)" + d);
    } catch (ParseException e2) {
    System.out.println(e2);
    f.pack();
    f.setVisible(true);
    import javax.swing.JTextField;
    * Created on May 25, 2005
    * TODO To change the template for this generated file go to
    * Window - Preferences - Java - Code Style - Code Templates
    * @author jagjeevanreddyg
    * TODO To change the template for this generated type comment go to
    * Window - Preferences - Java - Code Style - Code Templates
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.text.DecimalFormat;
    import java.text.ParseException;
    import java.text.ParsePosition;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JTextField;
    import javax.swing.UIManager;
    import javax.swing.text.AbstractDocument;
    import javax.swing.text.AttributeSet;
    import javax.swing.text.BadLocationException;
    import javax.swing.text.Document;
    import javax.swing.text.PlainDocument;
    import javax.swing.text.AbstractDocument.Content;
    public class DecimalFormateGen extends JTextField implements
    NumericPlainDocument.InsertErrorListener {
         public DecimalFormateGen() {
         this(null, 0, null);
         public DecimalFormateGen(String text, int columns, DecimalFormat format) {
         super(null, text, columns);
         NumericPlainDocument numericDoc = (NumericPlainDocument) getDocument();
         if (format != null) {
         numericDoc.setFormat(format);
         numericDoc.addInsertErrorListener(this);
         public DecimalFormateGen(int columns, DecimalFormat format) {
         this(null, columns, format);
         public DecimalFormateGen(String text) {
         this(text, 0, null);
         public DecimalFormateGen(String text, int columns) {
         this(text, columns, null);
         public void setFormat(DecimalFormat format) {
         ((NumericPlainDocument) getDocument()).setFormat(format);
         public DecimalFormat getFormat() {
         return ((NumericPlainDocument) getDocument()).getFormat();
         public void formatChanged() {
         // Notify change of format attributes.
         setFormat(getFormat());
         // Methods to get the field value
         public Long getLongValue() throws ParseException {
         return ((NumericPlainDocument) getDocument()).getLongValue();
         public Double getDoubleValue() throws ParseException {
         return ((NumericPlainDocument) getDocument()).getDoubleValue();
         public Number getNumberValue() throws ParseException {
         return ((NumericPlainDocument) getDocument()).getNumberValue();
         // Methods to install numeric values
         public void setValue(Number number) {
         setText(getFormat().format(number));
         public void setValue(long l) {
         setText(getFormat().format(l));
         public void setValue(double d) {
         setText(getFormat().format(d));
         public void normalize() throws ParseException {
         // format the value according to the format string
         setText(getFormat().format(getNumberValue()));
         // Override to handle insertion error
         public void insertFailed(NumericPlainDocument doc, int offset, String str,
         AttributeSet a) {
         // By default, just beep
         Toolkit.getDefaultToolkit().beep();
         // Method to create default model
         protected Document createDefaultModel() {
         return new NumericPlainDocument();
         // Test code
         public static void main(String[] args) {
         try {
         UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
         } catch (Exception evt) {}
         DecimalFormat format = new DecimalFormat("#,###.###");
         format.setGroupingUsed(true);
         format.setGroupingSize(3);
         format.setParseIntegerOnly(false);
         JFrame f = new JFrame("Numeric Text Field Example");
         final DecimalFormateGen tf = new DecimalFormateGen(10, format);
         tf.setValue((double) 123456.789);
         JLabel lbl = new JLabel("Type a number: ");
         f.getContentPane().add(tf, "East");
         f.getContentPane().add(lbl, "West");
         tf.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent evt) {
         try {
         tf.normalize();
         Long l = tf.getLongValue();
         System.out.println("Value is (Long)" + l);
         } catch (ParseException e1) {
         try {
         Double d = tf.getDoubleValue();
         System.out.println("Value is (Double)" + d);
         } catch (ParseException e2) {
         System.out.println(e2);
         f.pack();
         f.setVisible(true);
         class NumericPlainDocument extends PlainDocument {
         public NumericPlainDocument() {
         setFormat(null);
         public NumericPlainDocument(DecimalFormat format) {
         setFormat(format);
         public NumericPlainDocument(AbstractDocument.Content content,
         DecimalFormat format) {
         super(content);
         setFormat(format);
         try {
         format
         .parseObject(content.getString(0, content.length()), parsePos);
         } catch (Exception e) {
         throw new IllegalArgumentException(
         "Initial content not a valid number");
         if (parsePos.getIndex() != content.length() - 1) {
         throw new IllegalArgumentException(
         "Initial content not a valid number");
         public void setFormat(DecimalFormat fmt) {
         this.format = fmt != null ? fmt : (DecimalFormat) defaultFormat.clone();
         decimalSeparator = format.getDecimalFormatSymbols()
         .getDecimalSeparator();
         groupingSeparator = format.getDecimalFormatSymbols()
         .getGroupingSeparator();
         positivePrefix = format.getPositivePrefix();
         positivePrefixLen = positivePrefix.length();
         negativePrefix = format.getNegativePrefix();
         negativePrefixLen = negativePrefix.length();
         positiveSuffix = format.getPositiveSuffix();
         positiveSuffixLen = positiveSuffix.length();
         negativeSuffix = format.getNegativeSuffix();
         negativeSuffixLen = negativeSuffix.length();
         public DecimalFormat getFormat() {
         return format;
         public Number getNumberValue() throws ParseException {
         try {
         String content = getText(0, getLength());
         parsePos.setIndex(0);
         Number result = format.parse(content, parsePos);
         if (parsePos.getIndex() != getLength()) {
         throw new ParseException("Not a valid number: " + content, 0);
         return result;
         } catch (BadLocationException e) {
         throw new ParseException("Not a valid number", 0);
         public Long getLongValue() throws ParseException {
         Number result = getNumberValue();
         if ((result instanceof Long) == false) {
         throw new ParseException("Not a valid long", 0);
         return (Long) result;
         public Double getDoubleValue() throws ParseException {
         Number result = getNumberValue();
         if ((result instanceof Long) == false
         && (result instanceof Double) == false) {
         throw new ParseException("Not a valid double", 0);
         if (result instanceof Long) {
         result = new Double(result.doubleValue());
         return (Double) result;
         public void insertString(int offset, String str, AttributeSet a)
         throws BadLocationException {
         if (str == null || str.length() == 0) {
         return;
         Content content = getContent();
         int length = content.length();
         int originalLength = length;
         parsePos.setIndex(0);
         // Create the result of inserting the new data,
         // but ignore the trailing newline
         String targetString = content.getString(0, offset) + str
         + content.getString(offset, length - offset - 1);
         // Parse the input string and check for errors
         do {
         boolean gotPositive = targetString.startsWith(positivePrefix);
         boolean gotNegative = targetString.startsWith(negativePrefix);
         length = targetString.length();
         // If we have a valid prefix, the parse fails if the
         // suffix is not present and the error is reported
         // at index 0. So, we need to add the appropriate
         // suffix if it is not present at this point.
         if (gotPositive == true || gotNegative == true) {
         String suffix;
         int suffixLength;
         int prefixLength;
         if (gotPositive == true && gotNegative == true) {
         // This happens if one is the leading part of
         // the other - e.g. if one is "(" and the other "(("
         if (positivePrefixLen > negativePrefixLen) {
         gotNegative = false;
         } else {
         gotPositive = false;
         if (gotPositive == true) {
         suffix = positiveSuffix;
         suffixLength = positiveSuffixLen;
         prefixLength = positivePrefixLen;
         } else {
         // Must have the negative prefix
         suffix = negativeSuffix;
         suffixLength = negativeSuffixLen;
         prefixLength = negativePrefixLen;
         // If the string consists of the prefix alone,
         // do nothing, or the result won't parse.
         if (length == prefixLength) {
         break;
         // We can't just add the suffix, because part of it
         // may already be there. For example, suppose the
         // negative prefix is "(" and the negative suffix is
         // "$)". If the user has typed "(345$", then it is not
         // correct to add "$)". Instead, only the missing part
         // should be added, in this case ")".
         if (targetString.endsWith(suffix) == false) {
         int i;
         for (i = suffixLength - 1; i > 0; i--) {
         if (targetString
         .regionMatches(length - i, suffix, 0, i)) {
         targetString += suffix.substring(i);
         break;
         if (i == 0) {
         // None of the suffix was present
         targetString += suffix;
         length = targetString.length();
         format.parse(targetString, parsePos);
         int endIndex = parsePos.getIndex();
         if (endIndex == length) {
         break; // Number is acceptable
         // Parse ended early
         // Since incomplete numbers don't always parse, try
         // to work out what went wrong.
         // First check for an incomplete positive prefix
         if (positivePrefixLen > 0 && endIndex < positivePrefixLen
         && length <= positivePrefixLen
         && targetString.regionMatches(0, positivePrefix, 0, length)) {
         break; // Accept for now
         // Next check for an incomplete negative prefix
         if (negativePrefixLen > 0 && endIndex < negativePrefixLen
         && length <= negativePrefixLen
         && targetString.regionMatches(0, negativePrefix, 0, length)) {
         break; // Accept for now
         // Allow a number that ends with the group
         // or decimal separator, if these are in use
         char lastChar = targetString.charAt(originalLength - 1);
         int decimalIndex = targetString.indexOf(decimalSeparator);
         if (format.isGroupingUsed() && lastChar == groupingSeparator
         && decimalIndex == -1) {
         // Allow a "," but only in integer part
         break;
         if (format.isParseIntegerOnly() == false
         && lastChar == decimalSeparator
         && decimalIndex == originalLength - 1) {
         // Allow a ".", but only one
         break;
         // No more corrections to make: must be an error
         if (errorListener != null) {
         errorListener.insertFailed(this, offset, str, a);
         return;
         } while (true == false);
         // Finally, add to the model
         super.insertString(offset, str, a);
         public void addInsertErrorListener(InsertErrorListener l) {
         if (errorListener == null) {
         errorListener = l;
         return;
         throw new IllegalArgumentException(
         "InsertErrorListener already registered");
         public void removeInsertErrorListener(InsertErrorListener l) {
         if (errorListener == l) {
         errorListener = null;
         public interface InsertErrorListener {
         public abstract void insertFailed(NumericPlainDocument doc, int offset,
         String str, AttributeSet a);
         protected InsertErrorListener errorListener;
         protected DecimalFormat format;
         protected char decimalSeparator;
         protected char groupingSeparator;
         protected String positivePrefix;
         protected String negativePrefix;
         protected int positivePrefixLen;
         protected int negativePrefixLen;
         protected String positiveSuffix;
         protected String negativeSuffix;
         protected int positiveSuffixLen;
         protected int negativeSuffixLen;
         protected ParsePosition parsePos = new ParsePosition(0);
         protected static DecimalFormat defaultFormat = new DecimalFormat();
    this is not working as desired pls help me.
    can we use this code and get the desired result or is there any other way to do this.
    it is very urgent for me pls help immediately
    thanks in advance

    Hi camickr
    i learned how to format the code now, and u also responded for my testarea problem , iam very much thankful to u, and now i repeat the same problem what i have with a text field.
    actually i have window with a textfield on it and while end user starts entering data in it , it should be have as follows
    when the user start typing numerics it should accept from right hand side and keep appending value from right hand side.
    first the default value should be as 0.00 and as the user starts entering
    then it is as follows
    for ex
    if i want to enter 123.45
    user starts entering
    1 then it should display as 0.01
    2 then it should display as 0.12
    3 then it should display as 1.23
    4 then it should display as 12.34
    5 then it should display as 123.45
    i hope u will give me quick reply because this is very hard time for me.

  • File sender.

    Hi,
    i am doing file to file scenario with file content conversion in both sender and receiver side.
    i got output for for both sender and receiver structure as follows.
    Header
       key1
       field1
       field2
       field3
    Data
       key2
       field4
       field5
       field6
    Tail
       key3
    field7
    field8
    field9
    if my both structures are changed to as follows
    Header
       field1
       key1
       field2
       field3
    Data
       field4
       field5
       key2
       field6
    Tail
       key3
    field7
    field8
    field9
    in moni i got run time exception error (Showing olny Tail sub structure).
    specify your thoughts on this.
    regards,
    pradeep.

    Hi All,
    thank u for all replays, 
    i just want to confirm form all that
    Weather we can do scenario with Multiple key fields in sub structure (Key fields are not first fields).
    if
    No
           please provide documentation or sapnote(for reference).
    Yes
            please provide documentation or sapnote(for reference).
    i am provide my sender DSD
    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema targetNamespace="http://Example" xmlns="http://Example" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><xsd:complexType name="DTO_Example"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">91245bf08c2511dc910b001cc43a8a68</xsd:appinfo></xsd:annotation><xsd:sequence><xsd:element name="Company"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">4ade85f0762f11dcad25001676a58c2a</xsd:appinfo></xsd:annotation><xsd:complexType><xsd:sequence><xsd:element name="Header"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">4ade85f1762f11dcb9ba001676a58c2a</xsd:appinfo></xsd:annotation><xsd:complexType><xsd:sequence><xsd:element name="FIELD1" type="xsd:string"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">5fa8f85076f011dc9d89001676a58c2a</xsd:appinfo></xsd:annotation></xsd:element><xsd:element name="KEY1" type="xsd:string"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">4ade85f2762f11dc8224001676a58c2a</xsd:appinfo></xsd:annotation></xsd:element><xsd:element name="FIELD2" type="xsd:string"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">4ade85f3762f11dcca5e001676a58c2a</xsd:appinfo></xsd:annotation></xsd:element><xsd:element name="FIELD3" type="xsd:string"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">4ade85f4762f11dcc7bc001676a58c2a</xsd:appinfo></xsd:annotation></xsd:element></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="Data" maxOccurs="unbounded"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">4ade85f5762f11dca43e001676a58c2a</xsd:appinfo></xsd:annotation><xsd:complexType><xsd:sequence><xsd:element name="FIELD4" type="xsd:string"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">5fa8f85176f011dc84f9001676a58c2a</xsd:appinfo></xsd:annotation></xsd:element><xsd:element name="FIELD5" type="xsd:string"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">4ade85f6762f11dcc9bd001676a58c2a</xsd:appinfo></xsd:annotation></xsd:element><xsd:element name="KEY2" type="xsd:string"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">4ade85f7762f11dc93ed001676a58c2a</xsd:appinfo></xsd:annotation></xsd:element><xsd:element name="FIELD6" type="xsd:string"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">4ade85f8762f11dccc1c001676a58c2a</xsd:appinfo></xsd:annotation></xsd:element></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="Tail"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">1d3ac7a086e011dca7fb000d6033aa2c</xsd:appinfo></xsd:annotation><xsd:complexType><xsd:sequence><xsd:element name="KEY3" type="xsd:string"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">1d3ac7a186e011dcb4d4000d6033aa2c</xsd:appinfo></xsd:annotation></xsd:element><xsd:element name="FIELD7" type="xsd:string"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">1d3ac7a286e011dca24f000d6033aa2c</xsd:appinfo></xsd:annotation></xsd:element><xsd:element name="FIELD8" type="xsd:string"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">1d3ac7a386e011dcb9b1000d6033aa2c</xsd:appinfo></xsd:annotation></xsd:element><xsd:element name="FIELD9" type="xsd:string"><xsd:annotation><xsd:appinfo source="http://sap.com/xi/TextID">1d3ac7a486e011dcb120000d6033aa2c</xsd:appinfo></xsd:annotation></xsd:element></xsd:sequence></xsd:complexType></xsd:element></xsd:sequence></xsd:complexType></xsd:element></xsd:sequence></xsd:complexType></xsd:schema>
    and
    FCC Parameters.
    Header.keyFieldValue H
    Data.keyFieldValue    D
    Tail.keyFieldValue      T
    Header.fieldFixedLengths  5,1,5,5
    Data.fieldFixedLengths      5,5,1,5
    Tail.fieldFixedLengths        1,5,5,5
    Header.fieldNames           FIELD1,KEY1,FIELD2,FIELD3
    Data.fieldNames               FIELD4,FIELD5,KEY2,FIELD6
    Tail.fieldNames                 KEY3,FIELD7,FIELD8,FIELD9
    Header.endSeparator        'nl'
    Data.endSeparator            'nl'
    Tail.endSeparator              'nl'
    notify change in field names mention in forum.
    waiting for replay,
    Regards,
    pradeep.

  • UIX/BC4J: Update/Caching problem?

    Dear all,
    we are using UIX with BC4J to build a web application that models sort of a workflow. We factored the application into multiple application modules nested in one root module. We have two VOs (VO1 and VO2) that are both based on the same EO. Both VOs live in different application modules (AM1 and AM2). One UIX page adds rows to the EO through VO1 (using Java to handle the UIX event), another UIX page displays the new rows through VO2 (using bc4j:table).
    Now during testing I encounter the following problem: After I add rows in VO1 and do AM1.getTransaction().commit(), I don't see any changes in VO2. As a workaround, I do VO2.executeQuery() immediately after the commit, but shouldn't the changes be automatically propagated if the VOs are based on the same EO?
    Is there a way to notify changes across user/session borders, e.g. if user A updates VO1, user B immediately sees the changes in VO2?
    Many thanks for any help!
    Markus.

    I think the behaviour you describe is normal and there are reasons for it: see a section entitled "How Does the Business Logic Tier Cache Data?" in the help. (In particular, the "Multiple view object instances and update, delete and insert behaviour" near the bottom.)
    Basically, because BC4J doesn't have an arbitrary-SQL evaluator it can't generally tell whether an entity belongs in a different view or not.
    I recall having read in these forums before (Sung Im, I think) that you're allowed to add a row to more than one view (and that only one entity will be created) but I think the views have to be of exactly the same format.
    HTH
    Mike.

  • Problem in  in_edit_mode

    Hi ,
        In the esf interface if_esf_provider_access we get an attribute called in_edit_mode for method retrieve and retrieve association .
                      The problem is when we try to create an new entry in the root using the esf test tool and use the association to navigate to its node the in_edit_mode comes as zero . But while retrieving the root properties after create it is 2 .
    We cant figure out where and how the edit mode value is changed to zero . Can any one help me ?? . Do we need to do anyting in the notify change handler ??
    With Regards,
    Saurabh Kumar Pandey.
    SAP Labs India.

    Hello Andreas,
    The edit mode is changed to 2 after the create operation but the edit mode is set to 0 after any of the update operations. I am implementing the service provider for the Formula and Derivation Tool Business Objects.
    Just to explain you what i am doing is:
    Case1.
    Step1. I create a root node for the BO without saving in the database.
    Step2.Then I do a retrieve by association to the child node. In this transaction the Edit_mode is set to 0. Hence i loose the locks for the node id which i have created.
    Case2.
    Step1. I query the node on which i want to do the update.
    Step2. I update the fields in the node and press enter in the ESI Test tool. This call the modify operation with the update mode. After modify the retrieve is called which is called with the edit mode 0(i.e. Read_Only Mode). With the read only mode i again loose the locks and hence i am not in position to save the changes.
    With Regards
    Saurabh

  • Bidirectional binding and passing data.

    I started learning Flex and I have couple of problem of which I can't see a clear solution.
    Flex 4 has two way binding, but how can I use it with data type different from strings? I receive from a web service dates and numbers, let the user edit them and send them back to the web service. Flex 4 code generator created all the necessary objects, that contain numers and dates types. Presenting them to the user in text fields (or date fields) is easy, but I can't get such a simple way to send them back. When I try two way binding it gives compilation error because it think I'm trying to force a cast from String to Number or Date. If I understand correctly, the only way to get the data back to the web service is:
    Introduce validators for Numbers and Dates
    For each of the form element, check if it is valid
    If all of them are valid, convert them manually to the appropriate type
    Populate back the original object with new values (and then send it to the web service)
    Is there a smarter way to let the two way binding work the way is meant to be? Is there some way to set the converter to use when binding back from String to Number?
    By the way, is there some simple way to ask a Form object that all the contained fields are valid?
    The second problem regards passing data among different views: is there a standard way in Flex to "share" data between different mxml files? I have two scenarios:
    A view (mxml file) uses a lot of components (other mxml files, that may include other components as well). There are a few objects, mostly data container, that I'd like to use in most of this hierarchy. Which is the best way to share these objects? Do I have to set something static in the root view and have all the other components access them statically? Or do I have to write setters in all the components in the hierarchy and pass all the objects down the hierarchy? Is there a quick way to set up a sort of "session" for this hierarchy and access it?
    A view (mxml file) presents a list of results. Selecting/clicking on one of the results the user goes to another view (mxml file, may be a module), but in the new view I need a reference to the data the user selected in the previous view. The first solution here seems to be using an event and passing the data with it, but is there any other way? I'm looking for something that can cover both this and the previous case.
    Any suggestion is welcome. Sorry if the question was already posted but I didn't find any clear answer.

    This works as expected for me: I see the text "invalid" any time a change occurs to the text in the text field that causes the value of the DoubleProperty to change.
    E.g.:
    Select the default value (42.0); press a non-numeric key to change the text. The invalidation listener is invoked.
    Delete the text. The invalidation listener is not invoked (the text is now "", which causes a NumberFormatException, the double property is "set" to zero, which is no change so there is no notification).
    Enter 0. There is no notification (the value of the DoubleProperty has not changed).
    Enter a non-zero numeric value. The invalidation listener is notified.
    Change to zero. The invalidation listener is notified
    Change to non-numeric text. The invalidation listener is not notified (the value of the DoubleProperty has not changed).
    If you're expecting the text to update to zero when non-numeric text is input: I guess the implementation is something like
    if (! converter.fromString(text).equals(value)) {
         // updateText
    in the binding's method that listens for changes in the DoubleProperty. This is similar to not seeing "1.0" appear in the text field when you type "1"; or "123.0" appearing when you type "0123", etc.

  • Server Process taking all CPU time intermittently on Solaris

    Hi,
    What does my program do :-
    We have been facing this problem from many days, We have a server
    process which is continuously listening at a port on Solaris 5.8.
    Whenever a request is sent to this server a new thread & a socket is created for that client.
    This process is running as a proxy server, which connects to some other machine on client request.
    Problem:
    The process start taking whole CPU after few days, happens in a weeks
    period. The process remain in this state for few hours & after that it
    stops responding to any requests.
    & the only thing which can be done, to make it work is to restart the
    process.
    If someone has faced a similar problem then please let me know if you
    have found a solution for that.
    I will give 10 duke dollars to you if you can provide a solution for this problem.
    Regards,
    Sachin

    Here is another class which is used in my code:
    package com.ge.med.service.olea.telnetapplet.proxy;
    import java.io.*;
    import java.net.*;
    import java.util.*;
    * This class is a generic framework for a flexible, multi-threaded server.
    * It listens on any number of specified ports, and, when it receives a
    * connection on a port, passes input and output streams to a specified Service
    * object which provides the actual service. It can limit the number of
    * concurrent connections, and logs activity to a specified stream.
    public class Server {
    // This is the state for the server
    ConnectionManager connectionManager; // The ConnectionManager object
    Hashtable services; // The current services and their ports
    ThreadGroup threadGroup; // The threadgroup for all our threads
    PrintWriter logStream; // Where we send our logging output to
    * This is the Server() constructor. It must be passed a stream
    * to send log output to (may be null), and the limit on the number of
    * concurrent connections. It creates and starts a ConnectionManager
    * thread which enforces this limit on connections.
    public Server(OutputStream logStream, int maxConnections) {
    setLogStream(logStream);
    log("Starting server");
    threadGroup = new ThreadGroup("Server");
    connectionManager = new ConnectionManager(threadGroup, maxConnections);
    connectionManager.start();
    services = new Hashtable();
    * A public method to set the current logging stream. Pass null
    * to turn logging off
    public void setLogStream(OutputStream out) {
    if (out != null) logStream = new PrintWriter(new OutputStreamWriter(out));
    else logStream = null;
    /** Write the specified string to the log */
    protected synchronized void log(String s) {
    if (logStream != null) {
    logStream.println("[" + new Date() + "] " + s);
    logStream.flush();
    /** Write the specified object to the log */
    protected void log(Object o) { log(o.toString()); }
    * This method makes the server start providing a new service.
    * It runs the specified Service object on the specified port.
    public void addService(Service service, int port) throws IOException {
    Integer key = new Integer(port); // the hashtable key
    // Check whether a service is already on that port
    if (services.get(key) != null)
    throw new IllegalArgumentException("Port " + port + " already in use.");
    // Create a Listener object to listen for connections on the port
    Listener listener = new Listener(threadGroup, port, service);
    // Store it in the hashtable
    services.put(key, listener);
    // Log it
    log("Starting service " + service.getClass().getName() +
    " on port " + port);
    // Start the listener running.
    listener.start();
    * This method makes the server stop providing a service on a port.
    * It does not terminate any pending connections to that service, merely
    * causes the server to stop accepting new connections
    public void removeService(int port) {
    Integer key = new Integer(port); // hashtable key
    // Look up the Listener object for the port in the hashtable of services
    final Listener listener = (Listener) services.get(key);
    if (listener == null) return;
    // Ask the listener to stop
    listener.pleaseStop();
    // Remove it from the hashtable
    services.remove(key);
    // And log it.
    log("Stopping service " + listener.service.getClass().getName() +
    " on port " + port);
    * This nested class manages client connections for the server.
    * It maintains a list of current connections and enforces the
    * maximum connection limit. It creates a separate thread (one per
    * server) that sits around and wait()s to be notify()'d that a connection
    * has terminated. When this happens, it updates the list of connections.
    public class ConnectionManager extends Thread {
    int maxConnections; // The maximum number of allowed connections
    Vector connections; // The current list of connections
    * Create a ConnectionManager in the specified thread group to enforce
    * the specified maximum connection limit. Make it a daemon thread so
    * the interpreter won't wait around for it to exit.
    public ConnectionManager(ThreadGroup group, int maxConnections) {
    super(group, "ConnectionManager");
    this.setDaemon(true);
    this.maxConnections = maxConnections;
    connections = new Vector(maxConnections);
    log("Starting connection manager. Max connections: " + maxConnections);
    * This is the method that Listener objects call when they accept a
    * connection from a client. It either creates a Connection object
    * for the connection and adds it to the list of current connections,
    * or, if the limit on connections has been reached, it closes the
    * connection.
    synchronized void addConnection(Socket s, Service service) {
    // If the connection limit has been reached
    if (connections.size() >= maxConnections) {
    try {
    PrintWriter out = new PrintWriter(s.getOutputStream());
    // Then tell the client it is being rejected.
    out.println("Connection refused; " +
    "server has reached maximum number of clients.");
    out.flush();
    // And close the connection to the rejected client.
    s.close();
    // And log it, of course
    log("Connection refused to " + s.getInetAddress().getHostAddress() +
    ":" + s.getPort() + ": max connections reached.");
    } catch (IOException e) {log(e);}
    else {  // Otherwise, if the limit has not been reached
    // Create a Connection thread to handle this connection
    Connection c = new Connection(s, service);
    // Add it to the list of current connections
    connections.addElement(c);
    // Log this new connection
    log("Connected to " + s.getInetAddress().getHostAddress() +
    ":" + s.getPort() + " on port " + s.getLocalPort() +
    " for service " + service.getClass().getName());
    // And start the Connection thread running to provide the service
    c.start();
    * A Connection object calls this method just before it exits.
    * This method uses notify() to tell the ConnectionManager thread
    * to wake up and delete the thread that has exited.
    public synchronized void endConnection() { this.notify(); }
    /** Change the current connection limit */
    public synchronized void setMaxConnections(int max) { maxConnections=max; }
    * Output the current list of connections to the specified stream.
    * This method is used by the Control service defined below.
    public synchronized void printConnections(PrintWriter out) {
    for(int i = 0; i < connections.size(); i++) {
    Connection c = (Connection)connections.elementAt(i);
    out.println("CONNECTED TO " +
    c.client.getInetAddress().getHostAddress() + ":" +
    c.client.getPort() + " ON PORT " + c.client.getLocalPort()+
    " FOR SERVICE " + c.service.getClass().getName());
    * The ConnectionManager is a thread, and this is the body of that
    * thread. While the ConnectionManager methods above are called by other
    * threads, this method is run in its own thread. The job of this thread
    * is to keep the list of connections up to date by removing connections
    * that are no longer alive. It uses wait() to block until notify()'d by
    * the endConnection() method.
    public void run() {
    while(true) {  // infinite loop
    // Check through the list of connections, removing dead ones
    for(int i = 0; i < connections.size(); i++) {
    Connection c = (Connection)connections.elementAt(i);
    if (c != null && !c.isAlive()) {
    connections.removeElementAt(i);
                   try      {
                        //close server socket. SPR SVCge16539. Sachin Joshi.
                        Socket server = ProxyServer.Proxy.getServerSocket(c.client);                    
                        if (server != null)
                             server.close();
                        //close client socket.
                        if (c.client != null)
                             c.client.close();                    
                   catch (java.io.IOException e)     {
                        System.err.println("Error closing connection " + e);
                   catch (Exception e)     {
                        System.err.println("Cannot Establish Connection !! " + e);
    log("Connection to " + c.client.getInetAddress().getHostAddress() +
    ":" + c.client.getPort() + " closed.");
              System.out.println("Total Connections now = " + connections.size());
    // Now wait to be notify()'d that a connection has exited
    // When we wake up we'll check the list of connections again.
    try { synchronized(this) { this.wait(); } }
    catch(InterruptedException e) {}
    * This class is a subclass of Thread that handles an individual connection
    * between a client and a Service provided by this server. Because each
    * such connection has a thread of its own, each Service can have multiple
    * connections pending at once. Despite all the other threads in use, this
    * is the key feature that makes this a multi-threaded server implementation.
    public class Connection extends Thread {
    Socket client; // The socket to talk to the client through
    Service service; // The service being provided to that client
    * This constructor just saves some state and calls the superclass
    * constructor to create a thread to handle the connection. Connection
    * objects are created by Listener threads. These threads are part of
    * the server's ThreadGroup, so all Connection threads are part of that
    * group, too.
    public Connection(Socket client, Service service) {
    super("Server.Connection:" + client.getInetAddress().getHostAddress() +
    ":" + client.getPort());
    this.client = client;
    this.service = service;
    * This is the body of each and every Connection thread.
    * All it does is pass the client input and output streams to the
    * serve() method of the specified Service object. That method
    * is responsible for reading from and writing to those streams to
    * provide the actual service. Recall that the Service object has been
    * passed from the Server.addService() method to a Listener object
    * to the ConnectionManager.addConnection() to this Connection object,
    * and is now finally getting used to provide the service.
    * Note that just before this thread exits it calls the
    * ConnectionManager.endConnection() method to wake up the
    * ConnectionManager thread so that it can remove this Connection
    * from its list of active connections.
    public void run() {
    try {
    InputStream in = client.getInputStream();
    OutputStream out = client.getOutputStream();
    // service.serve(in, out);
    ((ProxyServer.Proxy)service).serve(in, out,client);
    catch (IOException e) {log(e);}
    finally { connectionManager.endConnection(); }
    * Here is the Service interface that we have seen so much of.
    * It defines only a single method which is invoked to provide the service.
    * serve() will be passed an input stream and an output stream to the client.
    * It should do whatever it wants with them, and should close them before
    * returning.
    * All connections through the same port to this service share a single
    * Service object. Thus, any state local to an individual connection must
    * be stored in local variables within the serve() method. State that should
    * be global to all connections on the same port should be stored in
    * instance variables of the Service class. If the same Service is running
    * on more than one port, there will typically be different Service instances
    * for each port. Data that should be global to all connections on any port
    * should be stored in static variables.
    * Note that implementations of this interface must have a no-argument
    * constructor if they are to be dynamically instantiated by the main()
    * method of the Server class.
    public interface Service {
    public void serve(InputStream in, OutputStream out) throws IOException;     
         }

  • ChaRM: Customizing of SAP smart formular CRM_REMINDER_MAIL_01

    Hi!
    I would like to customize the smart formular CRM_REMINDER_MAIL_01 in order to notify change request manager that the urgent correction status has been changed from "Created" to "In Development".
    The formular has originally the following view and will be generated as PDF:
    Title: Reminder Mail
    Text:
    One of your activities is overdue.
    Number: &orderadm_h-object_id&
    Description: &orderadm_h-description&
    Please do not respond to this mail, as it was automatically generated.
    Best Wishes - System Administration
    How can I customize the formular as follows?
    Title: Urgent correction &orderadm_h-object_id&
    Text:
    The urgent correction numer &orderadm_h-object_id&
    has changed their status from &???status_A& to
    status &???status_B&.
    Other question:
    What are the settings in tcode SCON to send the mails with formular name CRM_REMINDER_MAIL_01 as txt not as PDF?
    Thank you very much!
    regards

    Hello,
    please look here:
    Subject of the Email (CHARM/ServiceDesk)
    It should helps.
    Kind regards
    Marc

  • About Rmi

    i m doing a project on "Loosely coupled architecture".It means 2 applications working independent of each other.
    But they can notify changes to other applications if required using xml files.
    Suppose 1st appl can send name,rno,class,div
    2nd appl wants only name and rno
    we have a broker in between them
    broker has info abt all the appl,and ioaddress of the machine where the appl is running.
    now 1st appl sends the xml file to broker .
    Broker will make another xml file according to the fields required by 2nd appl
    and transfer that file to that 2nd appl.
    previously i hav written the code to transfer the files using socket programming.
    but we did not think abt broker at that time.we just transfered file frm 1 appl to another.
    now my prob is where to place the broker.as it shd not depend on any appl to keep running.even if 1 appl is down it shd b running so that other appl can use broker.
    and if i use rmi is a proper way to do that?
    can i transfer the file using rmi so that i wnt use socket programming then.

    A book can. The O'Reilly book is very good. The Java Tutorial is a good place to start. The Horstman and Cornell Core Java series has a good section.
    I can write a book or do private tutoring for $150/hr., but I get to keep the royalties. Overall, you'll save more money and learn more by bothering to read.

  • Bidirectional binding and StringConverter issue

    Hi,
    I'm bound a TextField to a DoubleProperty value using a StringConverter. If there is a non parseable value in the textfield, my StringConverter catches the NumberFormatException and returns a valid double value (0.). But in this case the DoubleProperty doesn't become invalid and the textfield text is not updated. I don't have any clue why?
    I added a code fragment below. If anybody have an idea, thank you in advance.
    JavaFX 2.2 JRE7_25
    Code:
    @Override
        public void start(Stage primaryStage) {
            primaryStage.setTitle("-.-");
            DoubleProperty longvar = new SimpleDoubleProperty(42.0);
            TextField tfInput = new TextField();
            tfInput.textProperty().bindBidirectional(longvar, getDoubleToStringConverter() );
            longvar.addListener(new InvalidationListener() {
                @Override
                public void invalidated(Observable arg0) {
                    System.out.println("invalid");
            VBox root = new VBox();
            root.getChildren().add(tfInput);
            primaryStage.setScene(new Scene(root, 300, 250));
            primaryStage.show();
        private StringConverter<Number> getDoubleToStringConverter(){
            return new StringConverter<Number>(){
                @Override
                public String toString(Number t){
                    return t.toString();
                @Override
                public Number fromString(String string){
                    string = string.replace(",", ".");
                    Number tmp = 0.;
                    try{
                     tmp = Double.parseDouble(string);
                    }catch(NumberFormatException e){
                        tmp = 0.;
                    return tmp;

    This works as expected for me: I see the text "invalid" any time a change occurs to the text in the text field that causes the value of the DoubleProperty to change.
    E.g.:
    Select the default value (42.0); press a non-numeric key to change the text. The invalidation listener is invoked.
    Delete the text. The invalidation listener is not invoked (the text is now "", which causes a NumberFormatException, the double property is "set" to zero, which is no change so there is no notification).
    Enter 0. There is no notification (the value of the DoubleProperty has not changed).
    Enter a non-zero numeric value. The invalidation listener is notified.
    Change to zero. The invalidation listener is notified
    Change to non-numeric text. The invalidation listener is not notified (the value of the DoubleProperty has not changed).
    If you're expecting the text to update to zero when non-numeric text is input: I guess the implementation is something like
    if (! converter.fromString(text).equals(value)) {
         // updateText
    in the binding's method that listens for changes in the DoubleProperty. This is similar to not seeing "1.0" appear in the text field when you type "1"; or "123.0" appearing when you type "0123", etc.

  • [SOLVED]zsh completion config not being loaded but other settings work

    This seems like a slightly odd problem.  I've been using zsh quite happily for a while now and as far as I've been aware, my .zshrc has been loaded consistently and properly.
    Today I decided to add auto-completion for one of my own programs.  It works, BUT I have to manually `source ~/.zshrc` in each new terminal even after logging out and back in.  The `fpath` variable is not being read from the .zshrc when I log in or start a terminal/emulator, but if I manually source .zshrc it works fine.
    Here are the relevant files:
    ~/.zshenv
    #!/bin/zsh
    ZDOTDIR=~/.config/zsh
    typeset -U path
    path=($HOME/bin $HOME/scripts $path)
    export EDITOR=vim
    export DIRB=~/.local/share/DirB
    export LOCAL_PACKAGE_SOURCES=/home/ian/dl
    ~/.config/_zshrc
    # The following lines were added by compinstall
    zstyle ':completion:*' completer _complete _ignored
    zstyle :compinstall filename '/home/ian/.config/zsh/_zshrc'
    autoload -Uz promptinit colors
    colors
    promptinit
    # COMPLETION settings
    fpath=(~/.config/zsh/completion $fpath)
    autoload -Uz compinit
    compinit
    zstyle ':completion:*' menu select=2
    # Lines configured by zsh-newuser-install
    HISTFILE=~/.local/share/zshhistfile
    HISTSIZE=1000
    SAVEHIST=1000
    if ! [[ "${PATH}" =~ "^${HOME}/bin" ]]; then
    export PATH="${HOME}/bin:${PATH}"
    fi
    if ! [[ "${PATH}" =~ "^${HOME}/scripts" ]]; then
    export PATH="${HOME}/scripts:${PATH}"
    fi
    # history options:
    setopt append_history hist_ignore_dups hist_ignore_all_dups hist_ignore_space hist_no_store
    # background jobs:
    setopt notify
    # changing directory:
    setopt auto_cd auto_pushd pushd_silent
    # globbing:
    setopt extended_glob
    # unset:
    unsetopt beep flow_control
    # keymap: emacs
    bindkey -e
    # End of lines configured by zsh-newuser-install
    # make M-f and M-b stop at / in paths:
    export WORDCHARS=''
    source ~/.bash_profile
    source ~/.config/bash/aliases
    source ~/.config/zsh/alias_s
    source ~/.config/zsh/alias_g
    source ~/.config/bash/DirB
    source ~/.config/zsh/functions
    # prompt:
    PS1="%B%{$fg[black]%}::%{$fg[cyan]%}(%b%{$fg[cyan]%}%n@%m%B%{$fg[cyan]%})%{$fg[black]%}-%{$fg[cyan]%}(%b%{$fg[cyan]%}%T%B%{$fg[cyan]%})%{$fg[black]%}-%{$fg[cyan]%}[%b%{$fg[cyan]%}%h%B%{$fg[cyan]%}]%{$fg[black]%}-%{$fg[cyan]%}(%b%{$fg[yellow]%}%2~%B%{$fg[cyan]%})%{$fg[black]%}>%b %{$reset_color%}"
    The only changes I've made are the lines under "COMPLETION."
    Can anyone spot something in there to suggest why everything seems to work except the `fpath=(~/.config/zsh/completion $fpath)` line?
    Last edited by ibrunton (2015-06-09 22:43:24)

    This is what I use (note, different ZSHDOTDIR to you):
    # completions
    # add custom completion scripts
    fpath=(~/.zsh/completion $fpath)
    autoload -Uz compinit
    compinit
    zstyle ':completion:*' completer _complete _correct _approximate
    zstyle ':completion:*' expand prefix suffix
    zstyle ':completion:*' completer _expand_alias _complete _approximate
    zstyle ':completion:*' menu select
    zstyle ':completion:*' file-sort name
    zstyle ':completion:*' ignore-parents pwd
    zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
    zstyle ':completion:*:pacman:*' force-list always
    zstyle ':completion:*:*:pacman:*' menu yes select
    zstyle -e ':completion:*' hosts 'reply=(cent pi sent veles)'
    zstyle :compinstall filename '$HOME/.zsh/zshrc'

Maybe you are looking for

  • Power Supply Isn't Charging the Battery

    This is a rather tricky issue. It's happened before, a few weeks ago, but it had seemed to work itself out and began functioning normally. As I was playing Neverwinter Nights today, the iBook went to sleep. I had the Power Supply plugged in whilst I

  • How do i create a new keyboard shortcut for an action?

    I have created an action to "Save as PostScript." Can I create a keyboard shortcut or am I only allowed to use the "start" button in the action menu? Sure would be great to be able to have a shortcut....

  • Default xml namespace and attributes

    Hi, I was trying to use default xml namespaces, but came upon something strange. I got the following piece of xml: <animal type="sheep" xmlns="http://blabla">     <name>josh</name>     <age>2</age> </animal> and the following code public static var n

  • To work with Pro Tools 9 . Wicht Mac mini should i use?

    To work with Pro Tools 9 . With Mac mini should i use. Intel Core i7 2.0GHz Quad-Core Processor or Intel Core i7 2.7GHz Dual-Core Processor.

  • How to Move from CSV to Table in Physical layer in Best possible way

    We had a project which had the source (physical Layer) as CSV. Now there are moving from CSV to a Table in the Database. Can anyone guide through the best possible way to complete the task With Regards! Steve