Code for CO extension

Hi all,
I am trying to enable/disable column for a standard page,
In Self Service responsibility->personal information->phone Number->update
By Default Number Column is always editable.
here i have to customize page like if I select Home fax then number should be read only.
Now I have extend VO with Boolean attribute.now i am extending CO and i want code for that please help me.

Hi,
use below code.
In Co processFormRequest:
OAApplicationModule am = pageContext.getApplicationModule(webBean);
if("ReadOnly".equals(pageContext.getParameter(EVENT_PARAM))
OAViewObject vo = (OAViewObject)am.findViewObject("VoObject1");
Row poRow = vo.first();
for(int i=0;i<vo.getRowcount();i++)
String HomeFax =poRow .getAttribute("HomeFax").toString();
if("HomeFax".equalsTo(HomeFax ))
poRow.setAttribute("Readonlytr", Boolean.TRUE);
else
poRow.setAttribute("Readonlytr", Boolean.FALSE);
Regards
Meher Irk

Similar Messages

  • I am updating content in an old site and am using an old extension to close a child page.  It has worked fine up until I started using CS6.  The code for this is in a template I am using and the code has not changed.

    So the site is www.fulcrumcwi.com and the page URL is: FulcrumCWI Rebecca Morgan Operations Strategy Consulting Newsletters.
    if you choose the first HTML link to the current newsletter when you try to use the close buttons neither of them work.  Yet if you go down to the issue from January, and go to the HTML version, it works just fine.  This is the code that the extension puts in:
    <form>
              <input name="Close" onclick="self.close();return false" type="button" value="Close" />
            </form>
    I haven't changed it in any way.  The only change is that I'm using Dreamweaver CS6 to make these changes.  Anyone have a fix for me?
    As always, thanks in advance.  (and yes, I know this site needs major updating)
    GraphicEdge

    Boy, that didn't really come out very well.
    On the archive_newsletters.html page, the "HTML" links are supposed to have target="_blank" in them...
    <a href="newsletters_html/2014_03.html" target="_blank">HTML</a>
    so a new tab is opened with the info. That new tab is then closed by the this.close() javascript.
    On the newsletters that don't close correctly, there is no target="_blank" to open them in a new window initially, so they can't close with that method.

  • Batch code for running a find/replace all on multiple files within a source floder/directory

    What I need is a Batch source code that will open all files in a folder/directory and run a find and replace_all query within them and then save all the files.  The files were created in Illustrator and saved using the Scene7 FXG format extension.    These files will be uploaded into Scene7 as a group after the find and replace macro/query is run on the code.  The same find and replace query will be the same for all the files.  Basically this function or batch process  will save time in setting the same parameters all at one time instead of having to set the parameters individually in scene7.
    a source code sample of the find/replace module macro might be              searchString:  s7:colorvalue="#FFFFFFFF" 
                                                                                                                          replaceString: s7:colorValue="#&txtclr;"
                                                                                                                          searchWhat   "FXG document"    
                                                                                                                             searchSource:  true,
                                                                                                                        useRegularExpressions:   true
    I have no problems creating batch files within Ai and PhotoShop but I have limited programming skills in how to create source code for manuipulating documents outside of those apps or in a OS invironment.
    I could probably come up witha simple program to do what i want for one document but i get lost when dealing with multiple documents in a source folder (prolbem is,  I will be dealing with thousands of documents not 100 or less)
    If anything which Adope cloud app would work best:  Dreamweaver or Edge code   (or just use my notepad)

    What I need is a Batch source code that will open all files in a folder/directory and run a find and replace_all query within them and then save all the files.  The files were created in Illustrator and saved using the Scene7 FXG format extension.    These files will be uploaded into Scene7 as a group after the find and replace macro/query is run on the code.  The same find and replace query will be the same for all the files.  Basically this function or batch process  will save time in setting the same parameters all at one time instead of having to set the parameters individually in scene7.
    a source code sample of the find/replace module macro might be              searchString:  s7:colorvalue="#FFFFFFFF" 
                                                                                                                          replaceString: s7:colorValue="#&txtclr;"
                                                                                                                          searchWhat   "FXG document"    
                                                                                                                             searchSource:  true,
                                                                                                                        useRegularExpressions:   true
    I have no problems creating batch files within Ai and PhotoShop but I have limited programming skills in how to create source code for manuipulating documents outside of those apps or in a OS invironment.
    I could probably come up witha simple program to do what i want for one document but i get lost when dealing with multiple documents in a source folder (prolbem is,  I will be dealing with thousands of documents not 100 or less)
    If anything which Adope cloud app would work best:  Dreamweaver or Edge code   (or just use my notepad)

  • How to get source code for WinCE 6.0 USB Camera Driver for ARM4I Processor

    Hi,
    I am implementing USB camera driver for my mini2440 board which has an ARM4I processor. The sample code
    "Windows Embedded CE 6.0 USB camera Driver" downloaded from:
    http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2ef087c0-a4ae-42cc-abd0-c466787c11f2
    does not support ARM4I processors. When trying to generate in VS2005 Platform Builder my WinCE 6.0
    image for mini2440 with the Third party catalog items "MJPEG Decompression Filter" and "USB CameraDriver",
    the linker giver errors. Please advise where to find a working source code for USB (now revision 1.1
    ("full-speed") is supported in my WinCE 6.0 image) camera for my ARM4I processor. The code should 
    be in C# but C++ will be fine also.
    Thanks,
       Paul

    i get this on the hyperterminal when i run the cameradshowapp.exe
    Compulab Windows CE NAND X-Loader for CM-T35                                           
    Built Dec 20 2009 at 16:48:16                            
    Version 1.01.222               
    Commit Date 16/12/09                   
    Jumping to bootloader                    
    Microsoft Windows CE Bootloader Common Library Version 1.4 Built Dec 20 2009 16:                                                                               
    46:16    
    INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0x200b                                                    
    Texas Instruments Windows CE EBOOT for CM-T35, Built Dec 20 2009 at 16:48:10                                                                           
    Version 1.01.222               
    OMAP3430 Version 0x4b7ae02f (Unknown)                                    
    TPS659XX Version 0x10 (ES2.x)                            
    -OEMPinMuxSetup....                  
    System ready!            
    Preparing for download...                        
    INFO: Predownload               
    +FMD_Init        
    Checking bootloader blocks are marked as reserved (Num = 6)                                                          
    +FMD_Init        
    WARN: Boot config wasn't found, using defaults                                             
    +FMD_Init        
    OALFlashStoreOpen: 4096 blocks, 64 sectors/block                                               
    OALFlashStoreOpen: 2048 bytes/sector, 14 reserved blocks                                                       
    Calling LCD_TurnOn                 
    +FMD_Init        
    +FMD_Init        
    BLConfigureFlashPartitions: dwBootPartitionSectorCount = 0x5fff, partition actua                                                                               
    l size =0x4d3a!!!                
    Hit space to enter configuration menu 5...                                         
    Hit space to enter configuration menu 4...                                         
    Hit space to enter configuration menu 3...                                         
    Hit space to enter configuration menu 2...                                         
    Hit space to enter configuration menu 1...                                         
    INFO: Boot Device location = 0x8000020                                     
    Load NK image from flash memory                              
    +FMD_Init        
    ROMHDR (pTOC = 0x823b8c28) ---------------------                                               
      DLL First           : 0x4001c001                                 
      DLL Last            : 0x41c7c0d8                                 
      Physical First      : 0x84001000                                 
      Physical Last       : 0x863bbdec                                 
      Num Modules         :        294                                 
      RAM Start           : 0x863c0000                                 
      RAM Free            : 0x863d5000                                 
      RAM End             : 0x90800000                                 
      Num Copy Entries                        
      Copy Entries Offset : 0x85256e38                                 
      Prof Symbol Length  : 0x00000000                                 
      Prof Symbol Offset  : 0x00000000                                 
      Num Files           :        116                                 
      Kernel Flags        : 0x00000002                                 
      FileSys RAM Percent : 0x00000020                                 
      Driver Glob Start   : 0x00000000                                 
      Driver Glob Length  : 0x00000000                                 
      CPU                 :     0x01c2                                 
      MiscFlags           :     0x0002                                 
      Extensions          : 0x84002020                                 
      Tracking Mem Start  : 0x00000000                                 
      Tracking Mem Length : 0x00000000                                 
    NK Image Loaded            
    Launch Windows CE image by jumping to 0x80001000...                                                  
    Windows CE Kernel for ARM (Thumb Enabled) Built on Apr  5 2011 at 17:47:22                                                                         
    +OEMInit       
    ýSETDATAOUT access is OK....                           
    Forcing clean boot                 
    MainMemoryEndAddress = 0x90800000                                
    -OEMInit       
    +FMD_Init        
    Dumping registry defined VK                          
    Row 0:  0x18    0x9     0x25    0x0     0x0     0x0                                                  
    Row 1:  0x26    0xd     0x28    0x0     0x0     0x0                                                  
    Row 2:  0x27    0x24    0x23    0x0     0x0     0x0                                                  
    Row 3:  0x0     0x0     0x0     0x0     0x0     0x0                                                  
    Row 4:  0x0     0x0     0x0     0x0     0x0                                             
    Row 5:  0x0     0x0     0x0     0x0     0x0     0x0                                                  
    SMSC922x: Core Ethernet Init.                            
    Lan9220 identified. ID_REV = 0x92200000                                      
    SMSC922x: MAC address = 00:01:c0:0a:a0:db                                        
    Lan9220 identified. ID_REV = 0x92200000                                      
    SMSC922x: MAC address = 00:01:c0:09:88:80                                        
    SDIO8686: Loading Driver [version = 38.p44]                                          
    SDIO8686: Reset with TPS GPIO 2 --> done                                       
    !!!Kernel mode PSL 'PRdr' de-registered!!!                                         
    !!!Kernel mode PSL 'HRdr' de-registered!!!                                         
    !!!Kernel mode PSL 'FRdr' de-registered!!!                                         
    EHCI USB Host: HcdPdd_Init+                          
    [OTG] OMAPMHSUSBOTG::Init()+                           
    OMAPMHSUSBOTG::PostInit(): Start.                                
    DSPLINK Module (1.61.04) created on Date: Jun 24 2009 Time: 16:30:52                                                                   
    Display parameters:                  
            Height = 0x280                     
            Width = 0x1e0
            HSW = 0x20
            HFP = 0x8
            HBP = 0x17
            VSW = 0x1
            VFP = 0x4
            VBP = 0x3
            DVI is not enabled
            PixelClkDiv = 0x7
            LogClkDiv = 0x1
            ClkSelDSS = 0x5
    TD035:: LCDTurnOn
    TD035STEE1: Turned display on.
    TD035:: Finished LCD VGA init
    AUTOLAUNCH: Checking HKEY_LOCAL_MACHINE\Startup key for programs to run.
    Can't open HKEY_LOCAL_MACHINE\Startup key.
    [WiFi]: Firmware Version: 9.70.3.23
    CCaptureFramework: Failed setting up the camera data.
    CameraDShowApp: Initializing the camera driver list failed.CameraDShowApp: Retri
    eving the driver list failed.CameraDShowApp: Selecting the camera device failed.
    CameraDShowApp: Selecting the camera device failed.CameraDShowApp: Selecting the
     camera device failed.CameraDShowApp: Selecting the camera device failed.CCaptur
    eFramework: Retrieving the still stream config failed.
    CameraDShowApp: Initializing the capture graph failed.

  • What is the replacement for design view in in flex builder 4.7 for cs extension builder?

    Because design view is not available in flash builder than what is the use of extension builder in UI designing now we have to do design UI with xml which is very time consuming and boring  if there is any replacemnt for it than please help me .1 more thing i want to know is that when i make new default project in extension builder(flash builder 4.6) than it also not able to load design mode errror is
    C:\Program Files\Adobe\Adobe Flash Builder 4.6\eclipse\plugins\com.adobe.cside.libsinstaller_2.0.0.4-33034\archive\cslibs\2.0\4.5\re lease\apedelta.swc- not respondingSWC file failed to load. Any component dependent on this SWC file will not be displayed in the Design Mode.The SWC may have failed to load because of:
    *  Incompatible definitions caused by usage of a different SDK version
    *  Missing referred class definitions

    I have researched this quite considerably and my understanding is that Adobe have no intention of supporting Design View any more for Extension Builder.  In my opinion a very disappointing decision and one that is hard to comprehend.
    The best workaround I can find is to create the majority of your design in a parallel, non Extension Builder, project and then convert/import your design into your Extension.  This is by no means as satisfactory as having Design View for the Extension you are writing but it is better than simply creating your layout by guess work/trial and error.
    Although this has not been announced by Adobe, I have a suspicion that the reason they have decided not to put any further resources into fixing Design View is that Extension Builder as we know it is going to be abandoned soon, probably replaced with an HTML5/JavaScript method of building extensions.  My concern with this is that, other than wanting reassurances that there will be backward compatibility support for old extensions, There will not be a way of compiling an extension in a way that prevents people from seeing your code.
    This is all speculation and I guess we will have to wait and see what happens.  Hope this has helped.

  • How do I rewrite current code for java 1.3

    I'm using the code below that is written for java 1.4. I have been told that the company can not push JRE 1.4 to the company, and that I need to write my code for java 1.3. I'm using org.w3c.dom for my create xml, etc.
    Is there a java 1.3 option to the 1.4? Any help would be very appreciated.
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.util.List;
    import java.io.*;
    import java.util.*;
    import javax.xml.parsers.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;
    import org.w3c.dom.*;
    public class Sametime extends JFrame implements ActionListener {
        private int indentation = -1;
        JPanel panel = new JPanel();
        JTextArea jta = new JTextArea(
        //Instructions for user
        "For a successful buddy list migration do the following:\n"
        + "1. Save your current Sametime Buddy List to your PC.\n   "
        + "The default location should be: C:/Program Files/Lotus/Sametime Client.\n"
        + "  A. Open the Sametime Client.\n"
        + "  B. Click on People\n"
        + "  C. Click on Save List.\n"
        + "  D. Save as your first.last.dat\n"
        + "     Ex. john.doe.dat\n"
        + "NOTE: If you have AOL contacts in your Sametime buddy list they will not be migrated.\n");
        JButton browse = new JButton("Continue");
        JButton exit = new JButton("Exit");
        public Sametime() {
            super("Sametime Buddy List Migration");
            setSize(610, 245);
            Container c = this.getContentPane();
            c.add(panel);
            browse.addActionListener(this);
            exit.addActionListener(this);
            panel.add(jta);
            panel.add(browse);
            panel.add(exit);
            jta.setEditable(false);
            setLookAndFeel();
            setVisible(true);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        } //end Sametime
        public class DATFilter extends javax.swing.filechooser.FileFilter {
            public boolean accept(File f) {
                //if it is a directory -- we want to show it so return true.
                if (f.isDirectory())
                    return true;
                String extension = getExtension(f);//get the extension of the file
                //check to see if the extension is equal to "dat"
                if ((extension.equals("dat")))
                    return true;
                //default -- fall through. False is return on all
                //occasions except:
                //a) the file is a directory
                //b) the file's extension is what we are looking for.
                return false;
            }//end accept
            public String getDescription() {
                return "dat files";
            }//end getDescription
             * Method to get the extension of the file, in lowercase
            private String getExtension(File f) {
                String s = f.getName();
                int i = s.lastIndexOf('.');
                if (i > 0 &&  i < s.length() - 1)
                    return s.substring(i+1).toLowerCase();
                return "";
            }//end getExtension
        }//end class DATFilter
        public void actionPerformed(ActionEvent e) {
            //Default Location for JFileChooser search
            String error = "The file selected is not a .dat file!\n"
            + "Please select your recently saved .dat file and try again.";
            JFileChooser fc = new JFileChooser("/Program Files/Lotus/Sametime Client");
            fc.setFileFilter(new DATFilter());
            fc.setFileSelectionMode( JFileChooser.FILES_ONLY);
            String user = System.getProperty("user.name");// finds who the current user is
            if (e.getSource() == browse) {
                int returnVal = fc.showSaveDialog(Sametime.this);
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    //if (fc.getSelectedFile().getName().equals(".dat")){
                    if (fc.getSelectedFile().getName().endsWith(".dat")){ // checks to see if selected file is .dat
                    }else{
                        JOptionPane.showMessageDialog(null, error, "Wrong File", JOptionPane.ERROR_MESSAGE);
                        return;
                    }//end else
                    try {
                        String[] contactArray = parseDatFile(fc.getSelectedFile());
                        Document document = createXMLDocument(contactArray);
                        saveToXMLFile(
                        document,
                        new File(
                        "C:/Documents and Settings/" + user +"/My Documents/OLCS/",// looks for directory for list
                        "contacts-list_migration.ctt"));
                    } catch (Exception exc) {
                        File f = new File("C:/Documents and Settings/" + user +"/My Documents/OLCS/");// setting directory for list if not there
                        boolean yes = true;
                        yes = f.mkdir();// creating directory
                        try {
                            String[] contactArray = parseDatFile(fc.getSelectedFile());
                            Document document = createXMLDocument(contactArray);
                            saveToXMLFile(
                            document,
                            new File(
                            "C:/Documents and Settings/" + user +"/My Documents/OLCS/",// used only if the directory didn't exist
                            "contacts-list_migration.ctt"));
                            //exc.printStackTrace();// not sure if this is needed?
                        } catch (Exception exc1) {
                            exc1.printStackTrace();
                        }//end inner catch
                    }// end catch
                }// end if
                if(returnVal==JFileChooser.CANCEL_OPTION){
                    String Warning = "You did not migrate your Sametime buddy list at this time.";
                    JOptionPane.showMessageDialog(null, Warning, "Migration Canceled", JOptionPane.WARNING_MESSAGE);
                    return;
                }else{
                    String thankyou = "Thank You for Migrating your Sametime buddy list to OLCS"
                    + "\nYour new OLCS buddy list has been saved to:"
                    + "\nC:/Documents and Settings/" + user +"/My Documents/OLCS"
                    + "\n as: Contact-List_migration.ctt"
                    + "\n\n To be able to use Contact-List_migration.ctt for Windows Messenger:"
                    + "\n1. Log into Windows Messenger."
                    + "\n2. Click on File"
                    + "\n3. Click on 'Import Contacts from a Saved File...'"
                    + "\n4. Open OLCS in My Documents"
                    + "\n5. Click on 'Contact-list_migration.ctt'"
                    + "\n6. Click Open to import the list."
                    + "\n   A window will pop up confirming that you want to add all of the contacts"
                    + "\n   Click 'yes'"
                    + "\n   Your buddy list is ready to be used.";
                    JOptionPane.showMessageDialog(null, thankyou, "Migration Completed", JOptionPane.INFORMATION_MESSAGE);//Change this when defualt directory is known.
                }//end if else statement
            } //end if
            System.exit( 0 );
            if (e.getSource() == exit) {
                System.exit( 0 );
            } //end if
        } //end actionPerformed
        String[] parseDatFile(File datFile)
        throws Exception    {
            List list = new ArrayList();
            BufferedReader br = new BufferedReader(new FileReader(datFile));
            String line;
            while ((line = br.readLine()) != null) {
                line = line.trim();
                if (line.indexOf("U") != 0)
                    continue;
                int p = line.indexOf("::");
                if (p == -1)
                    continue;
                line = line.substring(p + 2).trim();
                if (line.indexOf("AOL") == 0)
                    continue;
                p = line.indexOf(",");
                if (p != -1)
                    line = line.substring(0, p);
                line = line.trim() + "@mci.com";
                if (list.indexOf(line) == -1)
                    list.add(line);
            }//end while
            br.close();
            String[] contactArray = new String[list.size()];
            list.toArray(contactArray);
            return contactArray;
        }// end String
        // setting up the XML file
        Document createXMLDocument(String[] contactArray) throws Exception {
            DocumentBuilderFactory dBF = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = dBF.newDocumentBuilder();
            DOMImplementation domImpl = builder.getDOMImplementation();
            Document document = domImpl.createDocument(null, "messenger", null);
            Element root = document.getDocumentElement();
            Element svcElm = document.createElement("service");
            Element clElm = document.createElement("contactlist");
            svcElm.setAttribute("name", "Microsoft RTC Instant Messaging");
            svcElm.appendChild(clElm);
            root.appendChild(svcElm);
            for (int i = 0; i < contactArray.length; i++) {
                Element conElm = document.createElement("contact");
                Text conTxt = document.createTextNode(contactArray);
    conElm.appendChild(conTxt);
    clElm.appendChild(conElm);
    }//end for
    return document;
    }// end Document
    void saveToXMLFile(Document document, File xmlFile) throws Exception {
    OutputStream os =
    new BufferedOutputStream(new FileOutputStream(xmlFile));
    TransformerFactory tFactory = TransformerFactory.newInstance();
    Transformer transformer = tFactory.newTransformer();
    transformer.setOutputProperty(OutputKeys.INDENT, "yes");//puts information on seperate lines
    transformer.setOutputProperty(OutputKeys.METHOD, "xml");
    transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");//gives the XML file indentation
    transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
    DOMSource source = new DOMSource(document);
    StreamResult result = new StreamResult(os);
    transformer.transform(source, result);
    os.close();
    }//end saveToXMLFile
    public static void main(String[] args) {
    Sametime st = new Sametime();
    ImageIcon picIcon = new ImageIcon(st.getClass().getResource("/images/mci.gif"));//Change when default is known!
    st.setIconImage(picIcon.getImage());
    } //end main
    private void setLookAndFeel() {
    try {
    UIManager.setLookAndFeel(
    UIManager.getSystemLookAndFeelClassName());
    SwingUtilities.updateComponentTreeUI(this);
    } catch (Exception e) {
    System.err.println("Could not use Look and Feel: " + e);
    } //end catch
    } //end void setLookAndFeel
    } //end public class Sametime

    Are there features of Java 1.4 that you specifically took advantage and are there any particular lines you are having problems with or did you just freak and post it here?
    Basically compile it under Java 1.3 and see what complains. I've done several projects that compile under 1.2, 1.3, and 1.4.

  • CUCM 7.1 FAC for registered extension

    Hello experts,
    I have been requested to configured FAC (Forced Autorization Code) even for calls between CUCM registered extensions. This feature works just fine when dealing with extenal route-patterns but I have not found  a way to make it work for internal extensions. Could you please instruct me how to accomplish this?
    Best Regards and thanks in advance.

    Hi Chris,
    Well that´s the same question I asked, the only reason they gave is that they want  the user assigned to an extension be the only one able to use it to whatever destination. I suggested CMC (even though I believe it does not work for internal extension either) but they  want to force a code to be entered also for internal calls. Is there a workaround maybe with authentication to lock the phone.
    Best Regards,
    Roberto.

  • Process Code for Outbound Idoc

    Hi All,
    We need to find out the Process Code for an Idoc.
    Note : We dont have access to WE41, WE20 ,BD51.
    Could you please suggest any alternatives.
    Thanks,
    Sanjeet

    Hi Gautham,
    Thanks for ur reply.
    But still we hv not *** to the solution.
    We have available information as following:
    Basic Type : DESADV01
    Extension Type : EXTDES03
    Message type : DESADV
    Partner NUmber : XXXXXX
    Partner Type : KU
    I checked in Table TMSG1 and i got more than one similar process codes for the same message type.
    Actually I have the generated Idoc number and we are trying to reach to the FM which populates the Idoc segments.
    So if we get the process code, we can reach to FM.
    Thanks,
    Sanjeet

  • How to get creator codes for search?

    How do you figure out/use the creator codes for seaching a file? In the good old OS days (i.e Mac OS) you dragged a file of the kind you were looking for into the search box after selecting "Creator is __". It doesn't work with OS X.
    I'm trying to find a Word document that I know was created in a 3 month window. Using Search for those dates and file type "document" has so far turned up over 8000 files, won't stop, and looks like it's returning almost exclusively files with long numbers ending in .cache, for example 123456789-0123456789.cache
    ARgh!

    Marlinespike
    Sorry, I didn't realise that Find wouldn't get extensions that weren't visible!
    How did you find "MSWD" was the code?I don't remember, I've known this for years! There are shareware databases available with lists of hundreds of codes. There are also shareware applications that will tell you the creator code and file type – but if you have the Developer Tools installed, you have a free application to do this, but it must be invoked from the command line:
    GetFileInfo BS030218.doc
    file: "/Users/michaelc/Documents/Correspondence/BS030218.doc"
    type: "W8BN"
    creator: "MSWD"
    attributes: avbstclinmedz
    created: 02/18/2003 19:27:31
    modified: 02/18/2003 19:27:31The full path to the application is /Developer/Tools/GetFileInfo, but you shouldn't need to type all that since installing the tools modifies your $PATH to include "/Developer/Tools/". So all you need do is type GetFileInfo, then a space, and then drag your file into the Terminal window and press return.

  • Update failed for Adobe Extension Manager CS5 5.0 and Adobe Pixel Bender Toolkit 2.5

    Here are the error codes.
    Adobe Pixel Bender Toolkit 2.5 Update
    There was an error downloading this update. Please quit and try again later. Error Code: U43M1D207
    Adobe Extension Manager CS5 5.0 Update
    There was an error downloading this update. Please quit and try again later. Error Code: U43M1D207
    I need this to install extension to setup my scaleform gfx for unreal 3. I was using trial flash CS 5 originally, until I got this.

    Does anyone know why it would fail on this update? I was able to do some of the earlier updates, but then failed on these.
    When I clicked help->Updates,
    These shows up for me.
    Adobe Extension Manager CS5 20MB
    Adobe Flash Pro CS5 4.9MB

  • T-codes for MM?

    Hi,
            can anybody give me the all t-codes for MM?

    W1SAP MM T CODES
    All transaction is stored in table TSTC.
    Transaction for MM module start with M.
    IH09 - Display Material
    MM01 - Create Material
    MM02 - Change Material
    MM03 - Display Material
    MM50 - List Extendable Materials
    MMBE - Stock Overview
    MMI1 - Create Operating Supplies
    MMN1 - Create Non-Stock Material
    MMS1 - Create Service
    MMU1 - Create Non-Valuated Material
    Purchase Requisition:-
    ME51N - Create Purchase Requisition
    ME52N - Change Purchase Requisition
    ME53N - Display Purchase Requisition
    ME5A - Purchase Requisitions: List Display
    ME5J - Purchase Requisitions for Project
    ME5K - Requisitions by Account Assignment
    MELB - Purch. Transactions by Tracking No.
    ME56 - Assign Source to Purch. Requisition
    ME57 - Assign and Process Requisitions
    ME58 - Ordering: Assigned Requisitions
    ME59 - Automatic Generation of POs
    ME54 - Release Purchase Requisition
    ME55 - Collective Release of Purchase Reqs.
    ME5F - Release Reminder: Purch. Requisition
    Reservation:-
    MB21 - Create Reservation
    MB22 - Change Reservation
    MB23 - Display Reservation
    MB24 - Reservations by Material
    MB25 - Reservations by Account Assignment
    MB1C - Other Goods Receipts
    MB90 - Output Processing for Mat. Documents
    MBRL - Return Delivery per Mat. Document
    MB1C - Other Goods Receipts
    MB90 - Output Processing for Mat. Documents
    MB1B - Transfer Posting
    MIBC - ABC Analysis for Cycle Counting
    MI01 - Create Physical Inventory Document
    MI02 - Change Physical Inventory Document
    MI03 - Display Physical Inventory Document
    MI31 - Batch Input: Create Phys. Inv. Doc.
    MI32 - Batch Input: Block Material
    MI33 - Batch Input: Freeze Book Inv.Balance
    MICN - Btch Inpt:Ph.Inv.Docs.for Cycle Ctng
    MIK1 - Batch Input: Ph.Inv.Doc.Vendor Cons.
    MIQ1 - Batch Input: PhInvDoc. Project Stock
    MI21 - Print physical inventory document
    MI04 - Enter Inventory Count with Document
    MI05 - Change Inventory Count
    MI06 - Display Inventory Count
    MI09 - Enter Inventory Count w/o Document
    MI34 - Batch Input: Enter Count
    MI35 - Batch Input: Post Zero Stock Balance
    MI38 - Batch Input: Count and Differences
    MI39 - Batch Input: Document and Count
    MI40 - Batch Input: Doc., Count and Diff.
    MI08 - Create List of Differences with Doc.
    MI10 - Create List of Differences w/o Doc.
    MI20 - Print List of Differences
    MI11 - Physical Inventory Document Recount
    MI07 - Process List of Differences
    MI37 - Batch Input: Post Differences
    CT01 - Create Characteristic
    CT02 - Change Characteristic
    CT03 - Display Characteristic
    CL01 - Create Class
    CL02 - Classes
    CL03 - Display Class
    CL04 - Delete Class
    CL2B - Class Types
    ME01 - Maintain Source List
    ME03 - Display Source List
    ME04 - Changes to Source List
    ME05 - Generate Source List
    ME06 - Analyze Source List
    ME07 - Reorganize Source List
    ME08 - Send Source List
    ME0M - Source List for Material
    ME11 - Create Purchasing Info Record
    ME12 - Change Purchasing Info Record
    ME13 - Display Purchasing Info Record
    ME14 - Changes to Purchasing Info Record
    ME15 - Flag Purch. Info Rec. for Deletion
    ME16 - Purchasing Info Recs. for Deletion
    ME17 - Archive Info Records
    ME18 - Send Purchasing Info Record
    ME1A Archived Purchasing Info Records
    ME1B Redetermine Info Record Price
    ME1E Quotation Price History
    ME1L Info Records Per Vendor
    ME1M Info Records per Material
    ME1P Purchase Order Price History
    ME1W Info Records Per Material Group
    ME1X Buyer's Negotiation Sheet for Vendor
    ME1Y Buyer's Negotiat. Sheet for Material
    ME21 Create Purchase Order
    ME21N Create Purchase rder
    ME22 Change Purchase Order
    ME22N Change Purchase Order
    ME23 Display Purchase Order
    ME23N Display Purchase Order
    ME24 Maintain Purchase Order Supplement
    ME25 Create PO with Source Determination
    ME26 Display PO Supplement (IR)
    ME27 Create Stock Transport Order
    ME28 Release Purchase Order
    ME29N Release purchase order
    ME2A Monitor Confirmations
    ME2B POs by Requirement Tracking Number
    ME2C Purchase Orders by Material Group
    ME2J Purchase Orders for Project
    ME2K Purch. Orders by Account Assignment
    ME2L Purchase Orders by Vendor
    ME2M Purchase Orders by Material
    ME2N Purchase Orders by PO Number
    ME2O SC Stock Monitoring (Vendor)
    ME2S Services per Purchase Order
    ME2V Goods Receipt Forecast
    ME2W Purchase Orders for Supplying Plant
    ME308 Send Contracts with Conditions
    ME31 Create Outline Agreement
    ME31K Create Contract
    ME31L Create Scheduling Agreement
    ME32 Change Outline Agreement
    ME32K Change Contract
    ME32L Change Scheduling Agreement
    ME33 Display Outline Agreement
    ME33K Display Contract
    ME33L Display Scheduling Agreement
    ME34 Maintain Outl. Agreement Supplement
    ME34K Maintain Contract Supplement
    ME34L Maintain Sched. Agreement Supplement
    ME35 Release Outline Agreement
    ME35K Release Contract
    ME35L Release Scheduling Agreement
    ME36 Display Agreement Supplement (IR)
    ME37 Create Transport Scheduling Agmt.
    ME38 Maintain Sched. Agreement Schedule
    ME39 Display Sched. Agmt. Schedule (TEST)
    ME3A Transm. Release Documentation Record
    ME3B Outl. Agreements per Requirement No.
    ME3C Outline Agreements by Material Group
    ME3J Outline Agreements per Project
    ME3K Outl. Agreements by Acct. Assignment
    ME3L Outline Agreements per Vendor
    ME3M Outline Agreements by Material
    ME3N Outline Agreements by Agreement No.
    ME3P Recalculate Contract Price
    ME3R Recalculate Sched. Agreement Price
    ME3S Service List for Contract
    ME41 Create Request For Quotation
    ME42 Change Request For Quotation
    ME43 Display Request For Quotation
    ME44 Maintain RFQ Supplement
    ME45 Release RFQ
    ME47 Create Quotation
    ME48 Display Quotation
    ME49 Price Comparison List
    ME4B RFQs by Requirement Tracking Number
    ME4C RFQs by Material Group
    ME4L RFQs by Vendor
    ME4M RFQs by Material
    ME4N RFQs by RFQ Number
    ME4S RFQs by Collective Number
    ME51 Create Purchase Requisition
    ME51N Create Purchase Requisition
    ME52 Change Purchase Requisition
    ME52N Change Purchase Requisition
    ME52NB Buyer Approval: Purchase Requisition
    ME53 Display Purchase Requisition
    ME53N Display Purchase Requisition
    ME54 Release Purchase Requisition
    ME54N Release Purchase Requisition
    ME55 Collective Release of Purchase Reqs.
    ME56 Assign Source to Purch. Requisition
    ME57 Assign and Process Requisitions
    ME58 Ordering: Assigned Requisitions
    ME59 Automatic Generation of POs
    ME59N Automatic generation of POs
    ME5A Purchase Requisitions: List Display
    ME5F Release Reminder: Purch. Requisition
    ME5J Purchase Requisitions for Project
    ME5K Requisitions by Account Assignment
    ME5R Archived Purchase Requisitions
    ME5W Resubmission of Purch. Requisitions
    ME61 Maintain Vendor Evaluation
    ME62 Display Vendor Evaluation
    ME63 Evaluation of Automatic Subcriteria
    ME64 Evaluation Comparison
    ME65 Evaluation Lists
    ME6A Changes to Vendor Evaluation
    ME6B Display Vendor Evaln. for Material
    ME6C Vendors Without Evaluation
    ME6D Vendors Not Evaluated Since...
    ME6E Evaluation Records Without Weighting
    ME6F Print
    ME6G Vendor Evaluation in the Background
    ME6H Standard Analysis: Vendor Evaluation
    ME6Z Transport Vendor Evaluation Tables
    ME80 Purchasing Reporting
    ME80A Purchasing Reporting: RFQs
    ME80AN General Analyses (A)
    ME80F Purchasing Reporting: POs
    ME80FN General Analyses (F)
    ME80R Purchasing Reporting: Outline Agmts.
    ME80RN General Analyses (L,K)
    ME81 Analysis of Order Values
    ME81N Analysis of Order Values
    ME82 Archived Purchasing Documents
    ME84 Generation of Sched. Agmt. Releases
    ME84A Individual Display of SA Release
    ME85 Renumber Schedule Lines
    ME86 Aggregate Schedule Lines
    ME87 Aggregate PO History
    ME88 Set Agr. ***. Qty./Reconcil. Date
    ME91 Purchasing Docs.: Urging/Reminding
    ME91A Urge Submission of Quotations
    ME91E Sch. Agmt. Schedules: Urging/Remind.
    ME91F Purchase Orders: Urging/Reminders
    ME92 Monitor Order Acknowledgment
    ME92F Monitor Order Acknowledgment
    ME92K Monitor Order Acknowledgment
    ME92L Monitor Order Acknowledgment
    ME97 Archive Purchase Requisitions
    ME98 Archive Purchasing Documents
    ME99 Messages from Purchase Orders
    ME9A Message Output: RFQs
    ME9E Message Output: Sch. Agmt. Schedules
    ME9F Message Output: Purchase Orders
    ME9K Message Output: Contracts
    ME9L Message Output: Sched. Agreements
    MEAN Delivery Addresses
    MEB0 Reversal of Settlement Runs
    MEB1 Create Reb. Arrangs. (Subseq. Sett.)
    MEB2 Change Reb. Arrangs. (Subseq. Sett.)
    MEB3 Displ. Reb. Arrangs. (Subseq. Sett.)
    MEB4 Settlement re Vendor Rebate Arrs.
    MEB5 List of Vendor Rebate Arrangements
    MEB6 Busn. Vol. Data, Vendor Rebate Arrs.
    MEB7 Extend Vendor Rebate Arrangements
    MEB8 Det. Statement, Vendor Rebate Arrs.
    MEB9 Stat. Statement, Vendor Rebate Arrs.
    MEBA Comp. Suppl. BV, Vendor Rebate Arr.
    MEBB Check Open Docs., Vendor Reb. Arrs.
    MEBC Check Customizing: Subsequent Sett.
    MEBE Workflow Sett. re Vendor Reb. Arrs.
    MEBF Updating of External Busn. Volumes
    MEBG Chg. Curr. (Euro), Vend. Reb. Arrs.
    MEBH Generate Work Items (Man. Extension)
    MEBI Message, Subs.Settlem. - Settlem.Run
    MEBJ Recompile Income, Vendor Reb. Arrs.
    MEBK Message., Subs. Settlem.- Arrangment
    MEBM List of settlement runs for arrngmts
    MEBR Archive Rebate Arrangements
    MEBS Stmnt. Sett. Docs., Vend. Reb. Arrs.
    MEBT Test Data: External Business Volumes
    MEBV Extend Rebate Arrangements (Dialog)
    MECCP_ME2K For Requisition Account Assignment
    MEDL Price Change: Contract
    MEI1 Automatic Purchasing Document Change
    MEI2 Automatic Document Change
    MEI3 Recompilation of Document Index
    MEI4 Compile Worklist for Document Index
    MEI5 Delete Worklist for Document Index
    MEI6 Delete purchasing document index
    MEI7 Change sales prices in purch. orders
    MEI8 Recomp. doc. index settlement req.
    MEI9 Recomp. doc. index vendor bill. doc.
    MEIA New Structure Doc.Ind. Cust. Sett.
    MEIS Data Selection: Arrivals
    MEK1 Create Conditions (Purchasing)
    MEK2 Change Conditions (Purchasing)
    MEK3 Display Conditions (Purchasing)
    MEK31 Condition Maintenance: Change
    MEK32 Condition Maintenance: Change
    MEK33 Condition Maintenance: Change
    MEK4 Create Conditions (Purchasing)
    MEKA Conditions: General Overview
    MEKB Conditions by Contract
    MEKC Conditions by Info Record
    MEKD Conditions for Material Group
    MEKE Conditions for Vendor
    MEKF Conditions for Material Type
    MEKG Conditions for Condition Group
    MEKH Market Price
    MEKI Conditions for Incoterms
    MEKJ Conditions for Invoicing Party
    MEKK Conditions for Vendor Sub-Range
    MEKL Price Change: Scheduling Agreements
    MEKLE Currency Change: Sched. Agreements
    MEKP Price Change: Info Records
    MEKPE Currency Change: Info Records
    MEKR Price Change: Contracts
    MEKRE Currency Change: Contracts
    MEKX Transport Condition Types Purchasing
    MEKY Trnsp. Calc. Schema: Mkt. Pr. (Pur.)
    MEKZ Trnsp. Calculation Schemas (Purch.)
    MELB Purch. Transactions by Tracking No.
    MEMASSIN Mass-Changing of Purch. Info Records
    MEMASSPO Mass Change of Purchase Orders
    MEMASSRQ Mass-Changing of Purch. Requisitions
    MENU_MIGRATION Menu Migration into New Hierarchy
    MEPA Order Price Simulation/Price Info
    MEPB Price Info/Vendor Negotiations
    MEPO Purchase Order
    MEQ1 Maintain Quota Arrangement
    MEQ3 Display Quota Arrangement
    MEQ4 Changes to Quota Arrangement
    MEQ6 Analyze Quota Arrangement
    MEQ7 Reorganize Quota Arrangement
    MEQ8 Monitor Quota Arrangements
    MEQB Revise Quota Arrangement
    MEQM Quota Arrangement for Material
    MER4 Settlement re Customer Rebate Arrs.
    MER5 List of Customer Rebate Arrangements
    MER6 Busn. Vols., Cust. Reb. Arrangements
    MER7 Extension of Cust. Reb. Arrangements
    MER8 Det. Statement: Cust. Rebate Arrs.
    MER9 Statement: Customer Reb. Arr. Stats.
    MERA Comp. Suppl. BV, Cust. Rebate Arrs.
    MERB Check re Open Docs. Cust. Reb. Arr.
    MERE Workflow: Sett. Cust. Rebate Arrs.
    MEREP_EX_REPLIC SAP Mobile: Execute Replicator
    MEREP_GROUP SAP Mobile: Mobile Group
    MEREP_LOG SAP Mobile: Activity Log
    MEREP_MIG SAP Mobile: Migration
    MEREP_MON SAP Mobile: Mobile Monitor
    MEREP_PD SAP Mobile: Profile Dialog
    MEREP_PURGE SAP Mobile: Purge Tool
    MEREP_SBUILDER SAP Mobile: SyncBO Builder
    MEREP_SCENGEN SAP Mobile: SyncBO Generator
    MERF Updating of External Busn. Volumes
    MERG Change Curr. (Euro) Cust. Reb. Arrs.
    MERH Generate Work Items (Man. Extension)
    MERJ Recomp. of Income, Cust. Reb. Arrs.
    MERS Stmnt. Sett. Docs. Cust. Reb. Arrs.
    MEU0 Assign User to User Group
    MEU2 Perform Busn. Volume Comp.: Rebate
    MEU3 Display Busn. Volume Comp.: Rebate
    MEU4 Display Busn. Volume Comp.: Rebate
    MEU5 Display Busn. Volume Comp.: Rebate
    MEW0 Procurement Transaction
    MEW1 Create Requirement Request
    MEW10 Service Entry in Web
    MEW2 Status Display: Requirement Requests
    MEW3 Collective Release of Purchase Reqs.
    MEW5 Collective Release of Purchase Order
    MEW6 Assign Purchase Orders WEB
    MEW7 Release of Service Entry Sheets
    MEW8 Release of Service Entry Sheet
    MEW9 mew9
    MEWP Web based PO
    MEWS Service Entry (Component)
    ME_SWP_ALERT Display MRP Alerts (Web)
    ME_SWP_CO Display Purchasing Pricing (Web)
    ME_SWP_IV Display Settlement Status (Web)
    ME_SWP_PDI Display Purchase Document Info (Web)
    ME_SWP_PH Display Purchasing History (Web)
    ME_SWP_SRI Display Schedule Releases (Web)
    ME_WIZARD ME: Registration and Generation
    PURCHASING TABLES
    A501 Plant/Material
    EBAN Purchase Requisition
    EBKN Purchase Requisition Account Assignment
    EKAB Release Documentation
    EKBE History per Purchasing Document
    EKET Scheduling Agreement Schedule Lines
    EKKN Account Assignment in Purchasing Document
    EKKO Purchasing Document Header
    EKPO Purchasing Document Item
    IKPF Header- Physical Inventory Document
    ISEG Physical Inventory Document Items
    LFA1 Vendor Master (General section)
    LFB1 Vendor Master (Company Code)
    NRIV Number range intervals
    RESB Reservation/dependent requirements
    T161T Texts for Purchasing Document Types

  • Creating transaction code for CJE0 reports

    Hi,
    Can anyone let me know a step by step precess for creating Transaction Code for CJE0 reports?
    Thanks in Advance.

    Hi,
    There's just one proper solution:
    Via trx SE43N. Steps:
    1. I suggest you choose area menu PS01
    2. Choose extend to create a new Z-folder (or select 'change' to add to an existing (standard SAP) folder)
    3. Create extension , ehancement ID: f.e.: ZPS01
    4. Select the new folder in the tree
    5. Click 5th button: 'add entry as a subnode'
    6. In pop-up 'Add new entries' click button 'Report'
    7. Select radio button at 'Drilldown'
    8. A pop up appears to select the application class
    9. I guess you'll no what to do from here... it speaks for itself.
    enjoy, Kind regards,
    Gerjan

  • EJB2JSP generated tags cause exception "no corresponding open tag for tag extension close"

    The EJB2JSP-Tool generated among others the following tag:
              <tag>
              <name>home-findByState</name>
              <tagclass>com.ubisag.swd.ejb.jsp_tags._MessageHome_findByStateTag</tagclass>
              <teiclass>com.ubisag.swd.ejb.jsp_tags._MessageHome_findByStateTagTEI</teicla
              ss>
              <info>attribute 'aState' expects java type 'int'</info>
              <attribute>
              <name>aState</name>
              <required>true</required>
              <rtexprvalue>true</rtexprvalue>
              </attribute>
              </tag>
              When I use it as follows, I get a compile exception
              weblogic.servlet.jsp.JspException: (line 11): no corresponding open tag for
              tag extension close: </message:home-findByState> file://[ null; Line: 11]
              The jsp-code is:
              <%@ taglib uri="/WEB-INF/swdejb-tags.tld" prefix="message" %>
              <ul>
              <message:home-findByState aState="1" _return="messages" >
              <li>
              <%=messages.getId()%>
              <%=messages.getText()%>
              </message:home-findByState>
              </ul>
              I would be thankful for every hint.
              

    Actually I'm getting this exception only, when I use attributes as
              parameter:
              <%
              int aState = 1;
              %>
              <message:home-findByState aState=<%= aState %> _return="messages" >
              <%=messages.getText()%>
              </message:home-findByState>
              I don't know what to do with this.
              "Nora Serinek" <[email protected]> schrieb im Newsbeitrag
              news:[email protected]...
              > The EJB2JSP-Tool generated among others the following tag:
              >
              > <tag>
              > <name>home-findByState</name>
              >
              >
              <tagclass>com.ubisag.swd.ejb.jsp_tags._MessageHome_findByStateTag</tagclass>
              >
              >
              <teiclass>com.ubisag.swd.ejb.jsp_tags._MessageHome_findByStateTagTEI</teicla
              > ss>
              > <info>attribute 'aState' expects java type 'int'</info>
              > <attribute>
              > <name>aState</name>
              > <required>true</required>
              > <rtexprvalue>true</rtexprvalue>
              > </attribute>
              > </tag>
              >
              > When I use it as follows, I get a compile exception
              >
              > weblogic.servlet.jsp.JspException: (line 11): no corresponding open tag
              for
              > tag extension close: </message:home-findByState> file://[ null; Line:
              11]
              >
              > The jsp-code is:
              >
              > <%@ taglib uri="/WEB-INF/swdejb-tags.tld" prefix="message" %>
              >
              > <ul>
              > <message:home-findByState aState="1" _return="messages" >
              > <li>
              > <%=messages.getId()%>
              > <%=messages.getText()%>
              > </message:home-findByState>
              > </ul>
              >
              > I would be thankful for every hint.
              >
              >
              

  • Can anybody give me the jdbc code for postgres database.

    Hello all,
    I tried to search for sample jdbc code for postgres. But I couldn't find working sample. Can anybody please post the sample jdbc code for connecting to postgres database.
    I have already added the jar file, "postgresql-8.0-312.jdbc3.jar" to the build path.
    Thanks.
    Srinivas

    Hi,
    Thanks for your reply!
    I wrote the following code, but the insert doesn't add a row.
    try {
              Class.forName("org.postgresql.Driver");
              //Preparing Conenction String     
              Connection con = DriverManager.getConnection("jdbc:postgresql://<name>:5432/sales_office_test", "sales_office_data","sales_office_data");
              PreparedStatement prepSt =  con.prepareStatement(
                                  "INSERT INTO office_personnel (office_id, salutation, firstname, lastname, email_address,"
                                  + " cellphone, phonenumber, extension, password, username) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
                             prepSt.setString(1, newOfficeIds);
                             prepSt.setString(2, whopperUserSalutation);
                             //Close statement
                             prepSt.close();
         } catch (ClassNotFoundException e1) {
              // TODO Auto-generated catch block
              e1.printStackTrace();
         } catch (SQLException e1) {
              // TODO Auto-generated catch block
              e1.printStackTrace();
         }If I print the connection object I get
    Sql connection value: org.postgresql.jdbc3.Jdbc3Connection@10965c3 I double checked the same query by directly executing it on the web interface to the postgres, works fine there and creates the row...
    What could be wrong.
    Thanks
    Srinivas

  • Example code for java compiler with a simple GUI

    There is no question here (though discussion of the code is welcome).
    /* Update 1 */
    Now available as a stand alone or webstart app.! The STBC (see the web page*) has its own web page and has been improved to allow the user to browse to a tools.jar if one is not found on the runtime classpath, or in the JRE running the code.
    * See [http://pscode.org/stbc/].
    /* End: Update 1 */
    This simple example of using the JavaCompiler made available in Java 1.6 might be of use to check that your SSCCE is actually what it claims to be!
    If an SSCCE claims to display a runtime problem, it should compile cleanly when pasted into the text area above the Compile button. For a compilation problem, the code should show the same output errors seen in your own editor (at least until the last line of the output in the text area).
    import java.awt.BorderLayout;
    import java.awt.Font;
    import java.awt.EventQueue;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JLabel;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    import javax.swing.JButton;
    import javax.swing.SwingWorker;
    import javax.swing.border.EmptyBorder;
    import java.util.ArrayList;
    import java.net.URI;
    import java.io.ByteArrayOutputStream;
    import java.io.OutputStreamWriter;
    import javax.tools.ToolProvider;
    import javax.tools.JavaCompiler;
    import javax.tools.SimpleJavaFileObject;
    /** A simple Java compiler with a GUI.  Java 1.6+.
    @author Andrew Thompson
    @version 2008-06-13
    public class GuiCompiler extends JPanel {
      /** Instance of the compiler used for all compilations. */
      JavaCompiler compiler;
      /** The name of the public class.  For 'HelloWorld.java',
      this would be 'HelloWorld'. */
      JTextField name;
      /** The source code to be compiled. */
      JTextArea sourceCode;
      /** Errors and messages from the compiler. */
      JTextArea output;
      JButton compile;
      static int pad = 5;
      GuiCompiler() {
        super( new BorderLayout(pad,pad) );
        setBorder( new EmptyBorder(7,4,7,4) );
      /** A worker to perform each compilation. Disables
      the GUI input elements during the work. */
      class SourceCompilation extends SwingWorker<String, Object> {
        @Override
        public String doInBackground() {
          return compileCode();
        @Override
        protected void done() {
          try {
            enableComponents(true);
          } catch (Exception ignore) {
      /** Construct the GUI. */
      public void initGui() {
        JPanel input = new JPanel( new BorderLayout(pad,pad) );
        Font outputFont = new Font("Monospaced",Font.PLAIN,12);
        sourceCode = new JTextArea("Paste code here..", 15, 60);
        sourceCode.setFont( outputFont );
        input.add( new JScrollPane( sourceCode ),
          BorderLayout.CENTER );
        sourceCode.select(0,sourceCode.getText().length());
        JPanel namePanel = new JPanel(new BorderLayout(pad,pad));
        name = new JTextField(15);
        name.setToolTipText("Name of the public class");
        namePanel.add( name, BorderLayout.CENTER );
        namePanel.add( new JLabel("Class name"), BorderLayout.WEST );
        input.add( namePanel, BorderLayout.NORTH );
        compile = new JButton( "Compile" );
        compile.addActionListener( new ActionListener() {
            public void actionPerformed(ActionEvent ae) {
              (new SourceCompilation()).execute();
        input.add( compile, BorderLayout.SOUTH );
        this.add( input, BorderLayout.CENTER );
        output = new JTextArea("", 5, 40);
        output.setFont( outputFont );
        output.setEditable(false);
        this.add( new JScrollPane( output ), BorderLayout.SOUTH );
      /** Compile the code in the source input area. */
      public String compileCode() {
        output.setText( "Compiling.." );
        enableComponents(false);
        String compResult = null;
        if (compiler==null) {
          compiler = ToolProvider.getSystemJavaCompiler();
        if ( compiler!=null ) {
          String code = sourceCode.getText();
          String sourceName = name.getText().trim();
          if ( sourceName.toLowerCase().endsWith(".java") ) {
            sourceName = sourceName.substring(
              0,sourceName.length()-5 );
          JavaSourceFromString javaString = new JavaSourceFromString(
            sourceName,
            code);
          ArrayList<JavaSourceFromString> al =
            new ArrayList<JavaSourceFromString>();
          al.add( javaString );
          ByteArrayOutputStream baos = new ByteArrayOutputStream();
          OutputStreamWriter osw = new OutputStreamWriter( baos );
          JavaCompiler.CompilationTask task = compiler.getTask(
            osw,
            null,
            null,
            null,
            null,
            al);
          boolean success = task.call();
          output.setText( baos.toString().replaceAll("\t", "  ") );
          compResult = "Compiled without errors: " + success;
          output.append( compResult );
          output.setCaretPosition(0);
        } else {
          output.setText( "No compilation possible - sorry!" );
          JOptionPane.showMessageDialog(this,
            "No compiler is available to this runtime!",
            "Compiler not found",
            JOptionPane.ERROR_MESSAGE
          System.exit(-1);
        return compResult;
      /** Set the main GUI input components enabled
      according to the enable flag. */
      public void enableComponents(boolean enable) {
        compile.setEnabled(enable);
        name.setEnabled(enable);
        sourceCode.setEnabled(enable);
      public static void main(String[] args) throws Exception {
        Runnable r = new Runnable() {
          public void run() {
            JFrame f = new JFrame("SSCCE text based compiler");
            f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
            GuiCompiler compilerPane = new GuiCompiler();
            compilerPane.initGui();
            f.getContentPane().add(compilerPane);
            f.pack();
            f.setMinimumSize( f.getSize() );
            f.setLocationRelativeTo(null);
            f.setVisible(true);
        EventQueue.invokeLater(r);
    * A file object used to represent source coming from a string.
    * This example is from the JavaDocs for JavaCompiler.
    class JavaSourceFromString extends SimpleJavaFileObject {
      * The source code of this "file".
      final String code;
      * Constructs a new JavaSourceFromString.
      * @param name the name of the compilation unit represented
        by this file object
      * @param code the source code for the compilation unit
        represented by this file object
      JavaSourceFromString(String name, String code) {
        super(URI.create(
          "string:///" +
          name.replace('.','/') +
          Kind.SOURCE.extension),
          Kind.SOURCE);
        this.code = code;
      @Override
      public CharSequence getCharContent(boolean ignoreEncodingErrors) {
        return code;
    }Edit 1:
    Added..
            f.setMinimumSize( f.getSize() );Edited by: AndrewThompson64 on Jun 13, 2008 12:24 PM
    Edited by: AndrewThompson64 on Jun 23, 2008 5:54 AM

    kevjava wrote: Some things that I think would be useful:
    Suggestions reordered to suit my reply..
    kevjava wrote: 2. Line numbering, and/or a line counter so you can see how much scrolling you're going to be imposing on the forum readers.
    Good idea, and since the line count is only a handful of lines of code to implement, I took that option. See the [line count|http://pscode.org/stbc/help.html#linecount] section of the (new) [STBC Help|http://pscode.org/stbc/help.html] page for more details. (Insert plaintiff whining about the arbitrary limits set - here).
    I considered adding line length checking, but the [Text Width Checker|http://pscode.org/twc/] ('sold separately') already has that covered, and I would prefer to keep this tool more specific to compilation, which leads me to..
    kevjava wrote: 1. A button to run the code, to see that it demonstrates the problem that you wish for the forum to solve...
    Interesting idea, but I think that is better suited to a more full blown (but still relatively simple) GUId compiler. I am not fully decided that running a class is unsuited to STBC, but I am more likely to implement a clickable list of compilation errors, than a 'run' button.
    On the other hand I am thinking the clickable error list is also better suited to an altogether more abled compiler, so don't hold your breath to see either in the STBC.
    You might note I have not bothered to update the screenshots to show the line count label. That is because I am still considering error lists and running code, and open to further suggestion (not because I am just slack!). If the screenshots update to include the line count but nothing else, take that as a sign. ;-)
    Thanks for your ideas. The line count alone is worth a few Dukes.

Maybe you are looking for

  • Error in the ISA User Admin to create users

    Hi all i am not able to create the users thru the ISA user admin. while creating the user for new contact persons we are getting the error as " User Does not Exist" and also while creating the user for existing contact persons we are getting error as

  • Payment Authorization Failed error

    Hey, I'm unable to purchase the PS+Lightroom special offer with my card. I've tried 2 different accounts, 3 different browsers (history clear with disk cleanup), 3 different cards (2 debit + 1 credit), 2 different computers .. I'm still unable to pur

  • Adobe Acrobat form can be opened in Adobe Reader but no one can fill it out. Why not?

    So I created a form for my job that my co-workers and clients need to be able to fill out. It was created in Acrobat and while others can open it in their Adobe Reader they are unable to edit any of the fields/fill the form out. Any ideas what might

  • OBIEE 11.1.1.6 HELP

    I HAVE SOME VALUES IN COLUMNS CONSIDER NUM DENO product 1 10 20 product 1 20 30 IN REPORT I HAVE TO SHOW NUM/DENO PRODUCT 1 30/50 I HAVE SUMMED NUM AND DENO BUT HOW TO SHOW THEM AS NUM/DENO ANY HELP

  • Help: Port forward in Cisco SOHO 97

    Hi there! I have a Cisco SOHO 97. The IP is: 10.0.0.1/24 Gw: 0.0.0.0 *Default route via DIALER1 I also have a RV042 configured as VPN Server (PPTP and IPSec). The IP is: 10.0.0.2/24 I need help to configure the router to I be able to connect to VPN s