Code for individual UR in 7.0

Hi Gurus,
In 3.5, I used to have a simple code in one of my individual update rules of a Keyfigure:
IF COMM_STRUCTURE-/BIC/ZFLAG IS INITIAL.
RESULT = 1.
ELSE.
RESULT = 0.
ENDIF.
I now have to write the same code in (another transformation) in 7.0.
In the route of my transformation, word COMM_STRUCTURE is not identified.
I also tried like: SOURCE_FIELDS-/BIC/ZFLAG etc. but nothing seems to work.
Can anyone please give me the code after converting it to 7.0 syntax?
What do we use in place of COMM_STRUCTURE?
Thanks a lot,
AT

Hi AT.
First of all, when you select a field (in the transformation) to write the routine, you have to choose the (input) FIELDS your routine will use. Then, you'll proceed to write the code.
Take a look of this example:
DATA: l_rec TYPE acc_rec.
clear l_rec.
RESULT = ''.
SELECT SINGLE acc
FROM my_table
INTO l_rec.
WHERE  CHRT_ACCTS = SOURCE_FIELDS-CHRT_ACCTS
AND  ACCOUNT = SOURCE_FIELDS-ACCOUNT.
IF SY-SUBRC = 0.
  RESULT = l_rec
ENDIF.
  Before write the code, I've chosen the Fields (In my case where infoObject from one ODS to an InfoCube) "CHRT_ACCTS" and "ACCOUNT"
  You do this by clicking in the "+" sign.
Hope it helps.
Regards-

Similar Messages

  • Code for individual routine in BI 7.0

    Hi Gurus,
    In 3.5, I used to have a simple code in one of my individual update rules of a Keyfigure:
    IF COMM_STRUCTURE-/BIC/ZFLAG IS INITIAL.
    RESULT = 1.
    ELSE.
    RESULT = 0.
    ENDIF.
    where /bic/zflag used to be another field in the comm. structure.
    I now have to write the same code (in another transformation) in 7.0.
    In the routine of my transformation, word COMM_STRUCTURE is not identified and I get a syntax error.
    I tried different things like: SOURCE_FIELDS-/BIC/ZFLAG  ; datapackid-/bic/zflag etc. but nothing seems to work.
    Can anyone please give me the code after converting it to 7.0 syntax?
    What do we use in place of COMM_STRUCTURE?
    Thanks a lot,
    AT

    Hi AT.
    First of all, when you select a field (in the transformation) to write the routine, you have to choose the (input) FIELDS your routine will use. Then, you'll proceed to write the code.
    Take a look of this example:
    DATA: l_rec TYPE acc_rec.
    clear l_rec.
    RESULT = ''.
    SELECT SINGLE acc
    FROM my_table
    INTO l_rec.
    WHERE  CHRT_ACCTS = SOURCE_FIELDS-CHRT_ACCTS
    AND  ACCOUNT = SOURCE_FIELDS-ACCOUNT.
    IF SY-SUBRC = 0.
      RESULT = l_rec
    ENDIF.
      Before write the code, I've chosen the Fields (In my case where infoObject from one ODS to an InfoCube) "CHRT_ACCTS" and "ACCOUNT"
      You do this by clicking in the "+" sign.
    Hope it helps.
    Regards-

  • Need to update out put tax classifcation code for a range of items in Orac

    Hi,
    I need to update out put tax code for a range of items in Oracle EBS. At the moment we update tax code for individual items manually ubder invoice tab. Is there a better way to do this.
    Regards

    Where can I find the mtl_system_items_interface table?Under INV schema.
    R12 -- INV.MTL_SYSTEM_ITEMS_INTERFACE
    http://etrm.oracle.com/pls/et1211d9/etrm_pnav.show_object?c_name=MTL_SYSTEM_ITEMS_INTERFACE&c_owner=INV&c_type=TABLE
    11i -- INV.MTL_SYSTEM_ITEMS_INTERFACE
    http://etrm.oracle.com/pls/trm11510/etrm_pnav.show_object?c_name=MTL_SYSTEM_ITEMS_INTERFACE&c_owner=INV&c_type=TABLE
    Thanks,
    Hussein

  • Streamlining the code for the button group with individual links and rollover imgs

    I am looking for a solution to streamline the code for the array of 20+  buttons located inside the scroll pane.
    I know I can make an array if all the buttons would have a unified code executable change, i.e. they would become larger and brighter.
    My problem is that each button represents an product image in the lights off stage, then of rollover it is a lights on stage so I have to import two images in the on and off stage and play around with the opacity.
    Additional problem is that each button has to ling to a different label.
    My question is: is it possible to unify the code if buttons have that much individuality or I have to make each one of them as in the example below.
    // makes a hand cursor appear over a mc acting as a button for all the buttons inside the scrollpnaeBckgrnd_mc.scrollpaneBckgrnd_btns_mc.
    MovieClip(mc_pane2.content).scrollpaneBckgrnd_mc.scrollpaneBckgrnd_btns_mc.buttonMode = true;
    MovieClip(mc_pane2.content).scrollpaneBckgrnd_mc.scrollpaneBckgrnd_btns_mc.useHandCursor = true;
    ///////////////INDIVIDUAL BUTTONS
              MovieClip(mc_pane2.content).scrollpaneBckgrnd_mc.scrollpaneBckgrnd_btns_mc.FloraLyte _btn.FloraLyte_ON.alpha = 0;
                        var  FloraLyte_btn_Tween:TweenLite = TweenLite.to(MovieClip(mc_pane2.content).scrollpaneBckgrnd_mc.scrollpaneBckgrnd_btns_mc.F loraLyte_btn.FloraLyte_ON, .5, {alpha:1, paused:true});
                        MovieClip(mc_pane2.content).scrollpaneBckgrnd_mc.scrollpaneBckgrnd_btns_mc.Flor aLyte_btn.addEventListener(MouseEvent.ROLL_OVER, overHandler_FloraLyte_btn);
                        MovieClip(mc_pane2.content).scrollpaneBckgrnd_mc.scrollpaneBckgrnd_btns_mc.Flor aLyte_btn.addEventListener(MouseEvent.ROLL_OUT, outHandler_FloraLyte_btn);
            MovieClip(mc_pane2.content).scrollpaneBckgrnd_mc.scrollpaneBckgrnd_btns_mc.FloraLyte_btn. addEventListener(MouseEvent.CLICK, onClick_floralytePopUp);
                      function onClick_floralytePopUp(event:MouseEvent) :void {
                                            gotoAndPlay("floralytepp");
    function overHandler_FloraLyte_btn(e:MouseEvent):void{
             FloraLyte_btn_Tween.play();
             trace("you rolled over me");
    function outHandler_FloraLyte_btn(e:MouseEvent):void{
             FloraLyte_btn_Tween.reverse();
             trace("you rolled off me");
    MovieClip(mc_pane2.content).scrollpaneBckgrnd_mc.scrollpaneBckgrnd_btns_mc.FloraLytell_btn .FloraLytell_ON.alpha = 0;
                        var  myTween:TweenLite = TweenLite.to(MovieClip(mc_pane2.content).scrollpaneBckgrnd_mc.scrollpaneBckgrnd_btns_mc.F loraLytell_btn.FloraLytell_ON, .5, {alpha:1, paused:true});
                        MovieClip(mc_pane2.content).scrollpaneBckgrnd_mc.scrollpaneBckgrnd_btns_mc.Flor aLytell_btn.addEventListener(MouseEvent.ROLL_OVER, overHandler);
                        MovieClip(mc_pane2.content).scrollpaneBckgrnd_mc.scrollpaneBckgrnd_btns_mc.Flor aLytell_btn.addEventListener(MouseEvent.ROLL_OUT, outHandler);
            MovieClip(mc_pane2.content).scrollpaneBckgrnd_mc.scrollpaneBckgrnd_btns_mc.FloraLytell_bt n.addEventListener(MouseEvent.CLICK, onClick_floralytellPopUp);
                      function onClick_floralytellPopUp(event:MouseEvent) :void {
                                            gotoAndPlay("floralyte2pp");
              function overHandler(e:MouseEvent):void{
             myTween.play();
             trace("you rolled over me");
              function outHandler(e:MouseEvent):void{
             myTween.reverse();
             trace("you rolled off me");

    as ned suggested, plan your flow and code into it. here is one example:
    var buttonArray = [someButton, someOtherButton, aDifferentButton];
    for(var i = 0; i < buttonArray.length; i++){
         //get reference to county movieclip
         var mc = buttonArray[i];
         //then add listeners
         mc.addEventListener(MouseEvent.ROLL_OVER, overMe);
    function overMe(e:MouseEvent){
         var mc = e.target;
         switch(mc){
              case: someButton:
                       someOtherButton:   doThis();
                                                     break;
              case: aDifferentButton:     doThat();
                                                     break;
              default:                            //do nothing;
                                                     break;
    function doThis(){
         trace("do this")
    function doThat(){
         trace("do that")

  • Why is command code showing for individual song, rating and review, related?

    This weeks version of iTunes store is showing command code on individual album, song selection for song, rating and review, related and record label.

    I would think it is a bug at the iTunes Store end. Essentially you are looking at web pages in the itunes store.

  • 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)

  • Why won't Apple give out the unlock code for an iPhone 3Gs when the contract was honored and I am still an AT

    Why won't Apple give out the unlock code for an iPhone 3Gs when the 2  year contract was honored and I continued to be an AT&T customer with an iPhone 4. I wanted my old 3gs unlocked so my daughter could use it overseas when she is deployed. AT&T service over there *****, the international plan was not worth it. The individual SIM cards per country are much more reliable and cheaper. Teslestial in Iraq and Afghanistan, Telecom in Croatia,Vodafphone in Germany and Italy.  Why Apple will not unlock these phones for our military to utilize is incomprehensible to me.  These young men and women are fighting for these Apple people to go to work every day, safe, to live lives they have become accustom to yet releasing a phone to use on another network they can't do at least for the military.... WHY APPLE??  WHY?   A good excuse not some of the many lame excuses I have received on the phone many times. AT&T states it is Apple that will not allow them to unlock the phones...  Please tell me why?  All I want Is my daughter to have a phone I trust, to be able to call me when she is given the free time to do so and I trust the apple phone.
    Apple, please reconsider your stance on this issue.  I am having a hard time understanding why you will not unlock the iPhone. 
    A simple code could allow me to talk to my daughter while fighting for our country the Great USA.  Apple should be on the front line and enabling those fighting for our life, liberty and pursuit of happiness to use unlocked phones on reliable local GSM networks.
    I honestly hope that someone who has some sort of authority to begin allowing the release of unlock codes, and not forcing people to unlock their phones with some program produced by some hack just to be able to use your wonderful phone.  That is is in a nutshell, People love the iPhone so much that they want the ability to use it on the most reliable GSM carrier available to them.  That should be a major compliment. Even men and women on the front line want your phone. I agree, my service is not the best where I live either, love the GSM technology so stay with it, but if I had the ability to change to the other GSM network that has much better coverage in this area of the country I would change. To change now I would not have my iPhone and that I will not part with. 
    Apple, please reconsider opening up the lock code and allow your gem of a phone to be used by many more people in many more areas and most importantly overseas fighting for our country.  I know if this is really thought about Apple would understand and come to the conclusion to release the unlock codes, and stop the people from hacking in to use the iPhone on other networks.
    I would love for my daughter to be able to use my iPhone 3gs while fighting for our Free country.
    A response would be appreciated.
    Thank you.
    An Apple customer for 10 years, phones and computers.
    P

    Defiled:
    I did sign a two year contract and completed that contract. The 3gs is no longer in service. My daughter is going overseas to protect you and your family. I was attempting to find a way for her to have a reliable phone that could offer her some connection with home as she travels through the middle east.  She travels in missions all over.
    At&T unlocks other phones of theirs why not the iPhone?  AT&T says that Apple will not give them the code, it is not the carrier.  If I would have known this situation would have come up I would have bought and unlocked 3gs phone"Deggie" .  My main complaint is that Apple has not good excuse as to why they will not allow their phones to be unlocked from services well, AT&T .  I bought the phone full price, completed the contract terms, even went for and iPhone 4 with another2 year contract, along with owning an apple computer... I love the product.  My main issue is give me a good answer as to why you won't allow a phone to be unlocked. It doesn't hurt Apple, People still have to buy the phones from them, and use their App store and iTunes.
    Sorry, just upset about my daughter heading over there, boots on the ground, and just pray she will be safe. Would have liked to facetime her while she is in the airports and in specific areas allowed for that.
    Please don't come down on me for asking this question. I understand all the contracts etc.... but to single out the iPhone specifically to not unlock after contract is over does not seem fair.
    Thank you for your responses.

  • Determine of Tax Code for Country/Product Category - Table handling

    Dear Experts,
    in SRM 7.0, CS, i am facing the following requirement regarding tax codes:
    We have users from different countries using SRM. These different countries have different tax codes that are to be used for legal reasons.
    My question is, how i can achieve a system behaviour, by which in the shopping cart, the correct tax codes gets selected automatically, based on the country of the user, who is creating the shopping cart.
    Question 1:
    Is it correct to assume, that this requirement can be achieved by maintaining the "Determine of Tax Code for Country/Product Category" - Table?
    Q2:
    What is the purpose of the 1st column of the above mentioned table, "Domestic/International Indicator"? Can it be left blank?
    Q3:
    Is it possible to fill in the values for the field "Country" BUT to leave the field "Category ID" empty???The reason for asking it, that otherwise several hundreds entries would have to be maintaind manaully...
    Q4:
    From where in the shopping cart or ppoma settings is the system fetching the Country code, in order to be able to use it in the table? Is there any specific attribute maintenance that has to be taken care of, so the above mentioned table can be used (e.g. delivery address, including the country information)?
    Thank you very much for your help in understanding the topic.

    Hi
    Here are my responses to your questions:
    Question 1:
    Is it correct to assume, that this requirement can be achieved by maintaining the "Determine of Tax Code for Country/Product Category" - Table?
    Answer -  If you have a requirement where different countries have different tax codes, then you do need this confiugration. Otherwise Configuraiton in Enter Tax Code  are sufficient.
    Q2:
    What is the purpose of the 1st column of the above mentioned table, "Domestic/International Indicator"? Can it be left blank?
    Answer - Sometimes you have different codes for International and Domestic purchases for a product Category. IN those situations you can select Domestic/International field to differentiate btw tax codes. Otherwise this field can be left blank
    Q3:
    Is it possible to fill in the values for the field "Country" BUT to leave the field "Category ID" empty???The reason for asking it, that otherwise several hundreds entries would have to be maintaind manaully...
    Answer - No, if you enter country, then Category Id field is mandatory. You may enter * in case you dont have multiple backend systems. otherwise you will ve to ve individual entries for each category and backend system.
    Q4:
    From where in the shopping cart or ppoma settings is the system fetching the Country code, in order to be able to use it in the table? Is there any specific attribute maintenance that has to be taken care of, so the above mentioned table can be used (e.g. delivery address, including the country information)?
    Answer - It is picked up from the address of the user where is will receive goods. and Domestic/International will be decided based on Vendor address with reference to thta address.
    I hope my responses clarify your doubts.
    Regards
    Virender Singh

  • How to display the source code for this friggin' file.

    Below is a rather lengthy bit of code that provides the behavior and attributes of a web server for OpenCyc. I need to know if I can enter some java to have the HTML source code displayed in a separate text file whenever this class returns some resulting webpage. If you have any ideas it will be greatly appreciated.
    -"Will code for foo."
    package org.opencyc.webserver;
    * Class WebServer is simple multithreaded HTTP server
    * with CGI limited to a Cyc connection on default port 3600.
    * <p>
    import java.net.*;
    import java.io.*;
    import java.util.*;
    import java.util.jar.*;
    import java.text.*;
    import org.opencyc.util.*;
    public class WebServer extends Thread {
         * Singleton WebServer instance.
        public static WebServer current;
         * Default HTTP port.
        protected static int DEFAULT_PORT = 80;
         * Default Cyc base port.
        protected static int DEFAULT_CYC_PORT = 3600;
         * Default directory to serve files from on non-Windows OS.
        protected static String DEFAULT_DIR = "/";
         * Default directory to serve files from on Windows.
        //protected static String DEFAULT_WIN_DIR = "C:\\";
        protected static String DEFAULT_WIN_DIR = "k:\\opencyc\\run\\httpd\\htdocs";
         * File cache capacity.
        protected static final int CACHE_CAPACITY = 100;
         * File cache to improve file serving performance.
        protected static Hashtable fileCache = new Hashtable(CACHE_CAPACITY);
         * Number of files served from this web server.
        protected static long nbrFilesServed = 0;
         * Number of files served from this web server that were found in the cache.
        protected static long nbrCacheHits = 0;
         * Server socket for accepting connections.
        protected ServerSocket server;
         * Directories to serve files from.
        protected ArrayList dirs;
         * Map from String (jar root) to JarFile[] (jar class path).
        protected HashMap map;
         * Webserver HTTP port.
        protected int port;
         * Cyc HTML host.
        protected String cycHost = "localhost";
         * Cyc HTML port.
        protected int cycPort;
         * Expand jar tress.
        protected boolean trees;
         * Requests flag.
        protected boolean traceRequests;
         * Constructs a WebServer object.
         * @param port the port to use
         * @param directories the directory to serve files from
         * @param trees true if files within jar files should be served up
         * @param traceRequests true if client's request text should be logged.
         * @exception IOException if the listening socket cannot be opened, or problem opening jar files.
        public WebServer() throws IOException {
            getProperties();
            server = new ServerSocket(port);
            processDirectories();
         * Class Task processes a single HTTP request.
        protected class Task extends Thread {
             * Socket for the incoming request.
            protected Socket sock;
             * Client socket to the Cyc KB HTML server.
            protected Socket cycHtmlSocket;
             * Output tcp stream.
            protected DataOutputStream out;
             * Contains the file request path for a not-found error message.
            protected String notFoundPath;
             * Contains the first line of a request message.
            protected String methodLine;
             * Contains the body of a POST method.
            protected String bodyLine;
             * Constructs a Task object.
             * @param sock the socket assigned for this request.
            public Task(Socket sock) {
                this.sock = sock;
             * Processes the HTTP request.
            public void run() {
                if (traceRequests)
                    Log.current.println("connection accepted from " + sock.getInetAddress());
                notFoundPath = "";
                try {
                    out = new DataOutputStream(sock.getOutputStream());
                    try {
                        getBytes();
                    catch (Exception e) {
                        Log.current.println("file not found: " + notFoundPath);
                        try {
                            out.writeBytes("HTTP/1.1 404 Not Found\r\n");
                            out.writeBytes("Server: Cyc WebServer\r\n");
                            out.writeBytes("Connection: close\r\n");
                            out.writeBytes("Content-Type: text/html\r\n\r\n");
                            out.writeBytes("<HTML><HEAD>\n");
                            out.writeBytes("<TITLE>404 Not Found</TITLE>\n");
                            out.writeBytes("</HEAD><BODY>\n");
                            out.writeBytes("<H1>404 - Not Found</H1>\n");
                            out.writeBytes("</BODY></HTML>");
                            out.flush();
                        catch (SocketException se) {
                catch (Exception e) {
                    Log.current.printStackTrace(e);
                finally {
                    try {
                        sock.close();
                    catch (IOException e) {
             * Reads the HTTP request and obtains the response.
             * @exception IOException when HTTP request has an invalid format.
            private void getBytes() throws IOException {
                // Below logic is complex because web browsers do not close the
                // socket after sending the request, so must parse message to find
                // the end.
                BufferedReader in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
                ArrayList inBytes = new ArrayList(200);
                int ch = 0;
                boolean postMethod;
                methodLine = in.readLine();
                //if (traceRequests)
                //    Log.current.println("methodLine=" + methodLine);
                bodyLine = "";
                if (methodLine.startsWith("POST /"))
                    postMethod = true;
                else
                    postMethod = false;
                //if (traceRequests)
                //    Log.current.println("postMethod=" + postMethod);
                int ch1 = -1;
                int ch2 = -1;
                int ch3 = -1;
                int ch4 = -1;
                // Read the HTTP request headers.
                while (true) {
                    ch = in.read();
                    inBytes.add(new Integer(ch));
                    ch1 = ch2;
                    ch2 = ch3;
                    ch3 = ch4;
                    ch4 = ch;
                    if (ch1 == '\r' && ch2 == '\n' && ch3 == '\r' && ch4 == '\n')
                        break;
                    if ((! postMethod) &&
                        (! in.ready()) &&
                        ch1 == -1 &&
                        ch2 == -1 &&
                        ch3 == '\r' &&
                        ch4 == '\n') {
                        inBytes.add(new Integer('\r'));
                        inBytes.add(new Integer('\n'));
                        break;
                byte[] byteArray = new byte[inBytes.size()];
                for (int i = 0; i < inBytes.size(); i++) {
                    Integer ich = (Integer) inBytes.get(i);
                    byteArray[i] = ich.byteValue();
                String headers = new String(byteArray);
                if (postMethod) {
                    String lcHeaders = headers.toLowerCase();
                    int i = lcHeaders.indexOf("content-length: ");
                    String contentLength = lcHeaders.substring(i + 16);
                    int j = contentLength.indexOf("\r\n");
                    contentLength = contentLength.substring(0, j);
                    int bodyLen = (new Integer(contentLength)).intValue();
                    for (int k = 0; k < bodyLen; k++) {
                        bodyLine = bodyLine + (new Character((char) in.read())).toString();
                String line = methodLine + "\r\n" + headers + bodyLine;
                if (traceRequests)
                    Log.current.println(line);
                if (postMethod)
                    processHttpPost();
                else
                    if (line.startsWith("GET /"))
                        processHttpGet(line.substring(4));
                    else {
                        Log.current.println("Invalid request = " + line);
                        throw new IOException();
             * Processes an HTTP GET method.
             * @param httpGetPath the path of the file to get.
             * @exception IOException if the file is not found.
            private void processHttpGet(String httpGetPath) throws IOException {
                int i = httpGetPath.indexOf(' ');
                if (i > 0)
                    httpGetPath = httpGetPath.substring(0, i);
                Log.current.println(methodLine + " from " + sock.getInetAddress().getHostName());
                i = httpGetPath.indexOf("cg?");
                if (i > 0) {
                    cycHtmlRequest(httpGetPath.substring(i + 3));
                    return;
                notFoundPath = httpGetPath;
                i = httpGetPath.indexOf('/');
                if (i < 0 || map == null) {
                    if (map == null || httpGetPath.endsWith(".jar")) {
                        for (int j = 0; j < dirs.size(); j++) {
                            String dir = (String) dirs.get(j);
                            String nativePath = dir + httpGetPath;
                            nativePath = nativePath.replace('/', File.separatorChar);
                            if (fileCache.containsKey(nativePath)) {
                                writeDataBytes((byte[]) fileCache.get(nativePath));
                                Log.current.println("...cached");
                                nbrCacheHits++;
                                nbrFilesServed++;
                                return;
                            try {
                                File f = new File(nativePath);
                                byte[] fileBytes = getBytes(new FileInputStream(f), f.length());
                                writeDataBytes(fileBytes);
                                if (fileCache.size() >= CACHE_CAPACITY)
                                    fileCache.clear();
                                fileCache.put(nativePath, fileBytes);
                                Log.current.println("...from " + nativePath);
                                nbrFilesServed++;
                                return;
                            catch (IOException e) {
                    throw new IOException();
                String jar = httpGetPath.substring(0, i);
                httpGetPath = httpGetPath.substring(i + 1);
                JarFile[] jfs = (JarFile[]) map.get(jar);
                if (jfs == null)
                    throw new IOException();
                for (i = 0; i < jfs.length; i++) {
                    JarEntry je = jfs.getJarEntry(httpGetPath);
    if (je == null)
    continue;
    writeDataBytes(getBytes(jfs[i].getInputStream(je), je.getSize()));
    nbrFilesServed++;
    return;
    throw new IOException();
    * Processes an HTTP POST method.
    * @exception IOException if the file is not found.
    private void processHttpPost() throws IOException {
    Log.current.println("POST " + bodyLine + " from " + sock.getInetAddress().getHostName());
    cycHtmlRequest(bodyLine);
    * Reads the specified number of bytes and always close the stream.
    * @param in the file to be read for subsequent downloading.
    * @param length the number of bytes to read from the file.
    * @return An array of bytes from the file.
    * @exception IOException if an error occurs when processing the file.
    private byte[] getBytes(InputStream in, long length) throws IOException {
    DataInputStream din = new DataInputStream(in);
    byte[] bytes = new byte[ (int) length];
    try {
    din.readFully(bytes);
    finally {
    din.close();
    return bytes;
    * Sends the HTML request to Cyc.
    * @param cycPath the portion of the URL which is given to the Cyc HTML server.
    private void cycHtmlRequest(String cycPath) {
    String request = sock.getInetAddress().getHostName() + "&" + cycPath + "#";
    System.out.println("request=" + request);
    ArrayList bytes = new ArrayList(10000);
    try {
    cycHtmlSocket = new Socket(cycHost, cycPort);
    System.out.println("cycHost=" + cycHost + " cycPort=" + cycPort);
    BufferedReader cycIn = new BufferedReader(new InputStreamReader(cycHtmlSocket.getInputStream()));
    PrintWriter cycOut = new PrintWriter(cycHtmlSocket.getOutputStream(), true);
    cycOut.println(request);
    cycOut.flush();
    int ch = 0;
    while (ch >= 0) {
    ch = cycIn.read();
    bytes.add(new Integer(ch));
    catch (Exception e) {
    Log.current.printStackTrace(e);
    byte[] byteArray = new byte[bytes.size()];
    for (int i = 0; i < bytes.size() - 1; i++) {
    Integer ich = (Integer) bytes.get(i);
    byteArray[i] = ich.byteValue();
    try {
    writeTextBytes(byteArray);
    catch (Exception e) {
    Log.current.println(e.getMessage());
    * Responds to the HTTP client with data content from the requested URL.
    * @param bytes the array of bytes from the URL.
    * @exception IOException if there is an error writing to the HTTP client.
    public void writeDataBytes(byte[] bytes) throws IOException {
    out.writeBytes("HTTP/1.1 200 OK\r\n");
    out.writeBytes("Server: Cyc WebServer\r\n");
    out.writeBytes("Connection: close\r\n");
    out.writeBytes("Content-Length: " + bytes.length + "\r\n");
    String prefix = (new String(bytes)).toLowerCase();
    if (prefix.indexOf("<html>") > -1)
    out.writeBytes("Content-Type: text/html\r\n\r\n");
    else
    out.writeBytes("Content-Type: application/java\r\n\r\n");
    out.write(bytes);
    out.flush();
    * Respond to the HTTP client with text content from the requested URL.
    * @param bytes the array of bytes from the URL.
    * @exception IOException if there is an error writing to the HTTP client.
    public void writeTextBytes(byte[] bytes) throws IOException {
    out.writeBytes("HTTP/1.1 200 OK\r\n");
    out.writeBytes("Server: Cyc WebServer\r\n");
    out.writeBytes("Connection: close\r\n");
    out.writeBytes("Content-Length: " + bytes.length + "\r\n");
    out.writeBytes("Content-Type: text/html\r\n\r\n");
    out.write(bytes);
    out.flush();
    * Gets properties governing the web server's behavior.
    private void getProperties() {
    port = DEFAULT_PORT;
    String portProperty = System.getProperty("org.opencyc.webserver.port", "");
    if (! portProperty.equalsIgnoreCase(""))
    port = (new Integer(portProperty)).intValue();
    Log.current.println("Listening on port " + port);
    cycPort = DEFAULT_CYC_PORT;
    String cycPortProperty = System.getProperty("org.opencyc.webserver.cycPort", "");
    if (! cycPortProperty.equalsIgnoreCase(""))
    cycPort = (new Integer(cycPortProperty)).intValue();
    Log.current.println("Cyc connections directed to port " + cycPort);
    String dirsProperty = System.getProperty("org.opencyc.webserver.dirs", "");
    dirs = new ArrayList(3);
    StringTokenizer st = new StringTokenizer(dirsProperty, ";", false);
    while (st.hasMoreTokens()) {
    String dir = st.nextToken();
    dirs.add(dir);
    trees = false;
    String treesProperty = System.getProperty("org.opencyc.webserver.trees", "");
    if (! treesProperty.equalsIgnoreCase(""))
    trees = true;
    traceRequests = false;
    String traceRequestsProperty = System.getProperty("org.opencyc.webserver.traceRequests", "");
    if (! traceRequestsProperty.equalsIgnoreCase("")) {
    traceRequests = true;
    Log.current.println("tracing requests");
    * Adds transitive Class-Path jars to jfs.
    * @param jar the jar file
    * @param jfs the list of jar files to serve.
    * @param dir the jar file directory.
    * @exception IOException if an I/O error has occurred with the jar file.
    private void addJar(String jar, ArrayList jfs, String dir) throws IOException {
    Log.current.println("Serving jar files from: " + dir + jar);
    JarFile jf = new JarFile(dir + jar);
    jfs.add(jf);
    Manifest man = jf.getManifest();
    if (man == null)
    return;
    Attributes attrs = man.getMainAttributes();
    if (attrs == null)
    return;
    String val = attrs.getValue(Attributes.Name.CLASS_PATH);
    if (val == null)
    return;
    dir = dir + jar.substring(0, jar.lastIndexOf(File.separatorChar) + 1);
    StringTokenizer st = new StringTokenizer(val);
    while (st.hasMoreTokens()) {
    addJar(st.nextToken().replace('/', File.separatorChar), jfs, dir);
    * Administrative accessor method that obtains list of directories from which files are served.
    public ArrayList getDirs() {
    return dirs;
    * Administrative method that updates the list of directories from which files are served.
    public synchronized void setDirs(ArrayList dirs) throws IOException {
    this.dirs = dirs;
    fileCache.clear();
    processDirectories();
    * Administrative accessor method that obtains number of files served.
    * @return The number of files served.
    public long getNbrFilesServed() {
    return nbrFilesServed;
    * Administrative accessor method that obtains number of files served from cache.
    * @return The number of files served from the cache.
    public long getNbrCacheHits() {
    return nbrCacheHits;
    * Administrative method that clears the file cache.
    public synchronized void clearFileCache() {
    Log.current.println("Clearing file cache");
    fileCache.clear();
    nbrFilesServed = 0;
    nbrCacheHits = 0;
    * Processes the directories from which files are served, expanding jar trees if
    * directed.
    * @exception IOException if problem occurs while processing the jar files.
    private void processDirectories() throws IOException {
    if (dirs.size() == 0)
    if (File.separatorChar == '\\')
    dirs.add(DEFAULT_WIN_DIR);
    else
    dirs.add(DEFAULT_DIR);
    Iterator directories = dirs.iterator();
    while (directories.hasNext())
    Log.current.println("Serving from " + directories.next());
    if (trees) {
    map = new HashMap();
    for (int j = 0; j < dirs.size(); j++) {
    String dir = (String) dirs.get(j);
    String[] files = new File(dir).list();
    for (int i = 0; i < files.length; i++) {
    String jar = files[i];
    if (!jar.endsWith(".jar"))
    continue;
    ArrayList jfs = new ArrayList(1);
    addJar(jar, jfs, dir);
    map.put(jar.substring(0, jar.length() - 4), jfs.toArray(new JarFile[jfs.size()]));
    * Provides the command line interface for creating an HTTP server.
    * The properties are:
    * <pre>
    * org.opencyc.webserver.port=<HTTP listening port>
    * </pre>
    * which defaults to 80.
    * <pre>
    * org.opencyc.webserver.cycPort=<Cyc connection port>
    * </pre>
    * which defaults to 3600.
    * <pre>
    * org.opencyc.webserver.dirs=<path>;<path> ... ;<path>
    * </pre>
    * with the argument enclosed in quotes if any path contains an
    * embedded space.
    * The default directory on Windows is C:
    * and the default on other systems is / the default
    * can be overridden with this property. By default, all files
    * under this directory (including all subdirectories) are served
    * up via HTTP. If the pathname of a file is <var>path</var> relative
    * to the top-level directory, then the file can be downloaded using
    * the URL
    * <pre>
    * http://<var>host</var>:<var>port</var>/<var>path</var>
    * </pre>
    * Caching of file contents is performed.
    * <pre>
    * org.opencyc.util.log=all
    * </pre>
    * If the all value is given, then all attempts to download files
    * are output.
    * <pre>
    * org.opencyc.webserver.traceRequests
    * </pre>
    * If this property has any value, then the client HTTP requests are
    * output.<p>
    * <pre>
    * org.opencyc.webserver.trees
    * </pre>
    * This property can be used to serve up individual files stored
    * within jar files in addition to the files that are served up by
    * default. If the property has any value, the server finds all jar files
    * in the top-level directory (not in subdirectories). For each
    * jar file, if the name of the jar file is <var>name</var>.jar, then any
    * individual file named <var>file</var> within that jar file (or within
    * the jar or zip files referenced transitively in the Class-Path manifest
    * attribute, can be downloaded using a URL of the form:
    * <pre>
    * http://<var>host</var>:<var>port</var>/<var>name</var>/<var>file</var>
    * </pre>
    * When this property has any value, an open file descriptor and cached
    * information are held for each jar file, for the life of the process.
    * @param args an unused array of command line arguments.
    public static void main(String[] args) {
    Log.makeLog();
    System.out.println("OpenCyc Web Server");
    try {
    // Launch thread to accept HTTP connections.
    current = new WebServer();
    current.start();
    catch (IOException e) {
    e.printStackTrace();
    * Just keep looping, spawning a new thread for each incoming request.
    public void run() {
    try {
    while (true) {
    // Launch thread to process one HTTP request.
    new Task(server.accept()).start();
    catch (IOException e) {
    e.printStackTrace();

    JLundan,
    I want to thank you for responding to the thread I started on the forum at java.sun.com. Your solution to my problem of needing to print the code of the html pages that the file I included generates was just what I was looking for. However, I have some further questions to ask, if you don't mind. To clarify my task I should say that your rephrasing of the problem is accurate: "You wan't to display the contents of the HTML file that the web server produces in response of client's request?"
    Yes, this is what I need to do, but also it needs to display the source code of that html file that the server produces in response to the client's request. Also, in this case, I am the client requesting that the server return some html file, and I'm not sure where the server is. But the webserver.java file that I shared on the forum is on my local machine. I was wondering if I could modify this webserver.java file at my home so that any html file the server returns to me would automatically display the source code. This is a school project of mine and I am stuck on this one thing here.
    Further, where would I put the "foo.html" file so it can be written to?
    FileOuputStream fos = new FileOutputStream("foo.html");
    fos.write(bytes);
    fos.close();
    Thanks so much for your help. I look forward to your response, at your convenience.
    Regards

  • Report limits for individual tests

    Hi All
    I have a system under test which I interrogate (via RS232) for embedded hardware and firmware information. The reported response has to be added to the final test report along with all the other specified test cases.
    e.g.
    Operator:  xyz
    Date:  xyz
    UUT Type: xyz
    Serial Number: xyz
    PTS 2.1 Embedded H/W (Processor)  12345 version A  12345 version A
    PTS 2.1 Embedded H/W (Amplifier)    23456 version B  23456 version B
    PTS 2.1 Embedded H/W (Filter)         34567 version c  34567 version c
    PTS 2.1 Embedded H/W (Pre-Amp)   45678 version D  45678 version D
    PTS 2.2 12V OFF Current                  2.1mA  5  LT
    PTS 2.2 12V ON Current                   250mA  300  LT
    etc
    etc
    The only way I can think of to get the information into the main body of the report is to perform a 'String Value' test on it. However I then get the limits displayed in the report as well making the final report look messy. I do need all the limits in the report for the usual test cases e.g. voltages, currents etc so I cannot turn off limit reporting in the configuration  report options.
    Is there a way to turn OFF the limits reporting for individual test cases?
    Regards
    IanR

    What version of TestStand are you using?
    You could change the step to an 'Action' step and put the RS232 string in the report text for the step?  It depends on how your report options are setup in your environment.  Where I work, we do not put any Action steps in the report just Pass Fail results.  Hence you would have to change the Status Expression for your Action step to something other than "Done"....
    Otherwise in TestStand 4.0, you can click on the Property Browser view under the Properties Tab.  Right Click on the Limits container and select 'Advanced -> Edit Flags'
    Within that box there is an option 'Is Limit' checked, perhaps by unchecking this option it will not be put in the report.  Although I would NOT do this, because it is difficult for anyone taking over your code ( unless you document you changed this flag ) to see that it is unchecked.
    Thanks,
    Paul Holzrichter

  • What is the Transaction code for info structure s803

    Please provide me Transaction code for info structure s803

    hai
    try these tcodes
    PSO3   Infotype overview                        
    PSO4   Individual maintenance of infotypes      
    PA20 Display PA Infotypes
    PA30 Create/Change PA Infotypes

  • Help changing code for photos.

    hi, i am a complete novice and have managed to use this code
    to load videos into a div on a page, make them invisable, and play
    each individual video on a player when clicked on via a picture
    link in the same page. It works fine, but now i need to change the
    code to do the same thing for showing pictures
    here's the code for the vids
    obviously i have to change the links to photos, and the image
    source, but i need to change something else in the java script to
    get it to work. and i don't know the function for images etc.
    Please could somebody point me in the right direction.
    Thanks

    Hi Tom J.
    If you are intent on mouseover effects for the button, you
    are probably in for a fun ride coding some special solution.
    Personally, if I want an image for these, I take the
    following approach:
    Insert an image.
    Insert the RelatedTopics control and choose "Hidden, for
    scripts"
    Note the actual name of the control. Often it is simply
    RelatedTopics. But depending on how it was inserted, may be
    object1. Just hover the control in your WYSIWYG editor and the name
    should pop up in a tooltip.
    Select the image and make it a hyperlink. But in the
    hyperlink properties, type
    JavaScript:RelatedTopics.Click();. (and if the name differs
    from RelatedTopics, use what you saw instead.
    This method will make it so your user clicks the image and
    the control activates.
    Cheers... Rick

  • Activate Business areas for existing company (company code) for Ecc 6.0

    Dear Experts,
    I need  to take a chance to ask about my requirement on Activating Business area for existing Company (one company code) in SAP Ecc 6.0, My client wants to open one more plant to do different business operations, he wants to see Trail balance and Financial  statement individual business wise, hence this we need to activate Business areas to track Financial statement different business wise.
    Note: Even though We are in ECC 6.0, client doesn't want to go Profit center wise segment accounting. he is mainly looking about Business area.
    Kindly advice me to do this things in Ecc 6.0, Even I couldn't find T.codes for Business area adjustments through the path wise in SAP Easy Access screen Ecc 6.0. also what would I be taken precaution to do this scenario and what is the impact once i activate Business areas for existing company(one company code)
    Thanks
    Madhusudhan.B

    Dear Experts,
    Please look on this issue........!
    I need to take a chance to ask about my requirement on Activating Business area for existing Company (one company code) in SAP Ecc 6.0, My client wants to open one more plant to do different business operations, he wants to see Trail balance and Financial statement individual business wise, hence this we need to activate Business areas to track Financial statement different business wise.
    Note: Even though We are in ECC 6.0, client doesn't want to go Profit center wise segment accounting. he is mainly looking about Business area.
    Kindly advice me to do this things in Ecc 6.0, Even I couldn't find T.codes for Business area adjustments through the path wise in SAP Easy Access screen Ecc 6.0 (A1FS). also what would I be taken precaution to do this scenario and what is the impact once i activate Business areas for existing company(one company code)
    Thanks
    Madhusudhan.B

  • Sql code for authorizing senior staff after data was inserted in the table

    Dear sirs/madams,
    Sub:
    I am using oracle9i/forms6i/reports6i and developing software for rural bank,
    I need sql/procedure/function code for authorizing senior staff after data was inserted in to the table by the junior staff.
    Thanks in advance for your kind help.
    R. Chandrasekar
    e-mail: [email protected]

    So basically you want a form (only accessible by senior staff) which reads the data entered by junior staff and when it is has been validated by senior staff
    does the following in one transaction:
    This is in effect a design question.
    There are two different scenarios I see. Approve transactions in bulk, or approve individual transcations.
    Approve transactions in Bulk:
    Mark a column with approved.
    Move all approved into final table;
    delete all transactions from temp_table which are in final_table;
    commit;
    approve/move individually.
    insert transcation x into final_table where transaction_x in temp_table;
    delete transaction_x from temp_table;
    commit;
    Its basically up to you how you design it.

  • HTML code for region position 3

    Hi All,
    Can i get the HTML code for display point: Region position 3.
    My requirement is, i have to apply some background color to all the regions which are placed in region position 3.

    Chandran wrote:
    Hi All,
    When you have a problem you'll get a faster, more effective response by including as much relevant information as possible upfront. This should normally include:
    <li>Full APEX version
    <li>Full DB/version/edition/host OS
    <li>Web server architecture (EPG, OHS or APEX listener/host OS)
    <li>Browser(s) and version(s) used
    <li>Theme
    <li>Template(s)
    <li>Region/item type(s) (making particular distinction as to whether a "report" is a standard report, an interactive report, or in fact an "updateable report" (i.e. a tabular form)
    For layout and visual formatting issues the APEX version, browser, theme, page and region template, and region/item details are always required.
    Can i get the HTML code for display point: Region position 3.
    My requirement is, i have to apply some background color to all the regions which are placed in region position 3.Region position 3 is determined by the location of the substitution string<tt>#REGION_POSITION_03#</tt> substitution string in the page template. This will vary by version, theme and page template, which is information you have not provided.
    Regions located in region position 3 will probably have existing background colours determined by their region templates. Is the requirement to apply a background colour to individual regions, or a background colour underlying all of the regions?

Maybe you are looking for