"Weird" result in MOSFET Capacitance calculation.

Hi everyone,
I have a problem with the simulation result for calculating N-CH Mosfet
capacitance (Cgs, Cgd, and Cdb).  
In this simulation I tried to verify my manual calculation with the Spice
result using Multsim 11.0. But, the result in Multism simulation is quit
different either from the manual calculation or from Pspice/Hspice simulation.
Manual Calculation:
Multisim Simulation:
Setting Parameters in Multisim:
.DC from Multisim
>DC from PSPICE
From those results, it seems that Pspice gave a close value to the theoretical MOSFET calculation here.  And I got messy result in Multisim.
Can somebody help me solving this problem?..is Multisim not as powerful as other spice software? or I just messed up with the parameters setting form Multisim and ended with the wrong answer?

You need to post this on the Multisim forum.
Alan

Similar Messages

  • Results analysis data is calculated through sales order

    Hi All,
    I m trying to calculate WIP of one process Order through KKAX. But I am getting the below error
    Results analysis data is calculated through sales order 300002423 001000
    Message no. KJ112
    Diagnosis
    The order you selected for WIP calculation or results analysis is assigned to a sales order. A results analysis key was entered for this sales order.
    System Response
    The system determines results analysis data for orders assigned to sales order items through the results analysis for the sales order.
    Procedure
    Carry out results analyis on sales order 300002423 001000.
    This process Order is related to Sales Order and I have checked the Result Analysis key is attached to Sales Order.
    Please help me out in this issue.
    Thanks!
    Regards,
    Vivek

    Hi,
    I was getting the above error because a RA key was selected ar Sales Order, Now what I have done is I have removed the RA Key from Sales Order, there is already a RA key attached to Process Order. Now When i am calculating KKAX (WIP) I am getting below message
    The order is not a WIP element
    Message no. KJ148
    I have done this because my client is not using KKA3(RA fro Sales Order)
    Please help!!!!!!!!!
    Thanks!
    Regards,
    Vivek Srivastava

  • Variable Definitions - weird results

    Using Flash8 I am getting some weird results when defining
    variables.
    In my Actionscripts I am trying to define and assign
    variables on the same line and then trace it as below :
    var light_critical_colour:String = "#FF0000";
    trace ("light_critical_colour = " + light_critical_colour);
    If I create an new blank fla file and place this in the first
    frame, scene 1, it works as you would expect and opens a trace
    window and returns "light_critical_colour = #FF0000". Also if I
    remove the first line then the result is "light_critical_colour =
    undefined" again as expected.
    My issue is that I have another fla file which i have created
    from scratch as per the example above. I have 2 scenes, scene 1 is
    the preloader and scene 2 is the main user screen. It does not
    matter where I place the code even in the the first frame of scene
    1, the var definition seems to be ignored and if I remove the var
    definition line and just have "trace ("light_critical_colour = " +
    light_critical_colour);" I get "light_critical_colour =" rather
    than "light_critical_colour = undefined" as expected.
    Does anyone have any idea's ?
    Thanks

    More Information:
    I have managed to get around this by cutting and pasting my
    ActionScript and objects into a new fla and its now working fine.
    If I was not such a ActionScript newbee I would suggest that
    this is a Flash8 bug !
    This sure managed to waste lots of my time.........

  • Calculations - weird results with add blend

    When using the calculations command to blend two channels with the ADD blend mode I am getting strange results when using a negative offset with a 16 bit image. The preview behaves as expected with the image darkening but when I press OK the light areas become dark and vice versa. Looking at Levels all pixels are either sent to 0 or 255.
    8 bit images perform as I would expected.
    Has anyone else noticed this behaviour ?

    I am not sure why you have used addNode method on same parentNode two times (line by line) because you already have added node in first line and now you have to save it. May be this is causing issue.
    parentNode = parentNode.addNode("orignal", "nt:file"); 
    parentNode.addNode("orignal", "nt:file");
    let me know if it does not help you.

  • Read Verify Scan Weird result "11ror!"

    Had some problems with my ipod for no real reason, never droped or anything, but the other day stopped responding totally. After leaving it on charge over night managed to at least to get it to show sad ipod face, or sometimes the folder icon. After about 40 trys managed to get it into diagnostic mode. Ran the Read Verify Scan in th IO harddrive option, and it returned the result of 11ror!. I am guessing that this basically means the harddrive is screwed. The computer wont even recognise that it is attached at all.
    Rich

    The Sad iPods icon, clicking sound or folder with an exclamation mark are the toughest problems to deal with, and must do a Restore in order to fix it. However, when your iPod is showing this icon, it is probably too late for your computer to recognize the iPod.
    1. Try these five steps (known as the five Rs) and it would conquer most iPod issues.
    http://www.apple.com/support/ipod/five_rs/
    2. Try to put the iPod into Disk Mode if it fails to appear on the desktop
    http://docs.info.apple.com/article.html?artnum=93651
    Still can't see your iPod?
    Several things could keep iPod from appearing in iTunes or in the Desktop/Finder when you connect it to your PC/Mac. The most likely causes are listed below in logical order. Check from the top of the list to see if that is what's keeping iPod from appearing.
    3. Try to wait 30 minutes while iPod is charging.
    4. Try another known-good FireWire or USB through Dock Connector cable.
    5. Try another known-good FireWire or USB port on your computer .
    6. Try to disconnect all devices from your computer's FireWire and USB ports.
    7. Windows users having trouble with their iPods should locate a Mac user. We've found that in many cases when an iPod won't show up on a PC that it will show up on the Mac. Then it can be restored. When the PC user returns to his computer the iPod will be recognized by the PC, reformatted for the PC, and usable again. By the way, it works in reverse too. A Mac user often can get his iPod back by connecting it to a PC and restoring it.
    There are also some cases being reported that some unrecognized iPod being able to be erased with Linux, then reconnect the iPod with the original computer and do a Restore there.
    8. Try to do an Erase (Disk Utility) on a Mac computer or a format with a PC (Disk Management tool) but ensure you choose the right Drive (your iPod not your Hard Disk of your computer). You may need to plug and unplug your iPod with the computer for several attempts, and switching around Format and Restore, and hope out of sudden, it will get recognized.
    9. Diagnostic mode solution – which I copied from a thread of a post from thinktwice
    “Then I cam across this special Diganostics Mode that you can get to by resetting and then while the Apple is showing pressing the Select and backwards keys simultaneously. It bring up and weird Diagnostic utility witha a abunch of tests. Here is what I did
    - I tried the 5in1 test and got and error on Firewire.
    - I did the HDD R/W and surprisingly it passed.
    - I went on to the HDD scan. This supposedly tkaes acouple of minute so I waited. I think 4-5 dots appeared then nothing. The iPod started to get hot. THe disk was spinning away. After a while the battery got very low. THis test chews up the battery. So I escaped out by resetting and went to connect it to a power source.
    My USB was dangling out of my computer and I was too lazy to get the Firewire AC adapter thing going so I connected expecting the whole lockup thing with iTunes. Surprise. IT was recognized immediately and has been working like a champ. So go figure.
    Details on Diag mode can be found at http://www.methodshop.com/mp3/ipodsupport/diagnosticmode/index.shtml
    10. Let me ask you a question, if an iPod with no iPod software with it. When your connect it with a computer, what would happen?
    Yeah, the computer will treat it as a fresh external hard disk, which will get force mounted, the computer will ask you to format the iPod. It does not really matter the format is completed or not, the key is to erase (or partly) the corrupted iPod software on the iPod, after that the computer will recognize it.
    Once it has been completed, eject your iPod, open the iPod updater and interestingly, you will able to do the Restore this time.
    Base on the above, that's why I suggest Windows users who experience trouble with their iPods should locate a Mac machine or vice versa. PC computer will not recognize a Mac formatted iPod, but it will get mounted in an attempt to format your iPod.
    11. Put your iPod in disk mode and plug with a computer, and have a boot of your computer using the Mac OS or XP startup disks, hope that your iPod will be seen on Mac's Disk utility and allow you to do a Erase there. Or, under the XP, you will be able to find your iPod there for you to do a Restore.
    But, if none of these steps address the issue, your iPod may need to be repaired. You can arrange for service at the iPod Service Website.
    I have just read an interesting solution about the Sad iPod, it does make sense but the warranty will be waived once you open the iPod, I would not do it myself as I am not good on doing this
    http://discussions.apple.com/thread.jspa?threadID=412033&tstart=0
    Pictures and instructions of how to open the iPod case for battery replacement
    http://www.kokopellimusic.us/KM_instructions.htm

  • Window.bounds gives weird results

    I run without Application Frame and without Application Bar. I see no point to the former and the latter is just a shocking waste of space. For years, I've been using a handful of scripts to manage my window positions. One of them is now misbehaving. The script is so old that it didn't use functions and all its variables were global -- it probably dates all the way back to when I was beta-testing the original ExtendScript in CS.
    So I decided to rewrite it in case I'd done something weird that rewriting would expose. Well, I found the weirdness but it wasn't me. With one document window open, I typed this into the JavaScript Console (I'm running with a monitor that is 1920 x 1200):
    app.windows[0].bounds = [22,32,1140,863]
    and the console duly responded with:
    Result: 22,32,1140,863
    and visually, I can see that the window is indeed at that location.
    But now when I type:
    app.windows[0].bounds
    into the JS Console, it responds with:
    Result: 60,32,1178,863
    The x values are right but the y values are off by 38.
    Is this a Mac-only issue? I'm running with Mountain Lion on a Retina MacBook Pro. Oh: of course it's Mac only: you can't switch off the Application Frame on Windows, can you?
    Dave

    It turned out that moving to 0,0 created problems with the x-coordinate, but since those were the only x-coordinate problems I ever saw, I decided to focus only on the y-coordinate. In this version of the script, I move the window to y = 0 to measure the current value of the y error.
    //DESCRIPTION: Resets active layoutWindow size or uses front layoutWindow to set page default size.
              Rewrite of a venerable old favorite
              1. If no layoutWindow open offer to delete settings file
              2. If no settings and layoutWindow offer to make layoutWindow bounds new settings
              3. If settings and layoutWindow move layoutWindow to settings location unless there's a layoutWindow already there
                  in which case, move layoutWindow next to that other layoutWindow or move only layoutWindow right by its width
    (function() {
              var settingsFile = getSettingsFile();
              if (app.layoutWindows.length == 0) {
                        // no front layoutWindow; offer user chance to delete settings
                        if (confirm("No layoutWindow is open; would you like to delete the settings file?")) {
                                  // user said yes; only bother to delete it if it exists
                                  if (settingsFile.exists) {
                                            settingsFile.remove();
                        return; // no layoutWindow, so nothing more to do
              // there's at least one layoutWindow
              var yDelta = getDelta(app.layoutWindows[0]);
              if (settingsFile.exists) {
                        applySettings(settingsFile, yDelta);
              } else {
                        if (confirm("Settings file is missing. Use current front layoutWindow to set default?")) {
                                  // user said do it
                                  var bounds = app.layoutWindows[0].bounds;
                                  var bounds = [
                                            bounds[0] - yDelta,
                                            bounds[1],
                                            bounds[2] - yDelta,
                                            bounds[3]
                                  new File(settingsFile);
                                  settingsFile.open("w");
                                  settingsFile.write(bounds);
                                  settingsFile.close();
              function getDelta(layoutWindow) {
                        // get current layoutWindow position and dimensions
                        var reportedBounds = layoutWindow.bounds;
                        var wHeight = reportedBounds[2] - reportedBounds[0];
                        // move to 0, 0
                        layoutWindow.bounds = [0, reportedBounds[1], wHeight, reportedBounds[3]];
                        $.sleep(10);
                        var newBounds = layoutWindow.bounds;
                        // calculate errors
                        var yDelta = newBounds[0];
                        // restore layoutWindow to original position
                        layoutWindow.bounds = [
                                  reportedBounds[0] - yDelta,
                                  reportedBounds[1],
                                  reportedBounds[2] - yDelta,
                                  reportedBounds[3]
                        $.sleep(10);
                        return yDelta
              function applySettings(settingsFile, yDelta) {
                        // values written out to the settings file must take delta into account
                        settingsFile.open("r");
                        var savedBounds = settingsFile.read();
                        settingsFile.close();
                        var myBounds = savedBounds.split(",");
                        for (var j = myBounds.length - 1; j >= 0; j--) {
                                  myBounds[j] = Number(myBounds[j]);
                        // Check to see if an existing layoutWindow is already at these bounds;
                        var layoutWindowsBounds = app.layoutWindows.everyItem().bounds;
                        // all these values are off by delta
                        for (var j = layoutWindowsBounds.length - 1; j >= 0; j--) {
                                  if (layoutWindowsBounds[j][0] - yDelta == myBounds[0]
                                                      && layoutWindowsBounds[j][1]  == myBounds[1]
                                                      && layoutWindowsBounds[j][2] - yDelta == myBounds[2]
                                                      && layoutWindowsBounds[j][3] == myBounds[3]) {
                                            // layoutWindow right there, so:
                                            var myWidth = myBounds[3] - myBounds[1];
                                            myBounds[1] += myWidth;
                                            myBounds[3] += myWidth;
                                            break; // only do it once!
                        app.layoutWindows[0].bounds = myBounds;
              function getSettingsFile() {
                        var scriptFile = getScriptFile();
                        return File(scriptFile.parent + "/PageDefault" + parseInt(app.version) + ".txt");
              function getScriptFile() {
                        // This function returns the file of the active script, even when running ESTK
                        try {
                                  return app.activeScript;
                        } catch(e) {
                                  return File(e.fileName);

  • Feeding dynamic data into formula is causing slow execution and weird results

    I am gathering 11 channels of analog input voltage, then performing a series of (different, editable) calculations on each channel of voltage to convert each to sensor temperature.
    My first stage of calculations (using multiply, subtract, and divide blocks) works fine.
    My second stage of calculations (which includes a natural log "ln") is being performed with the formula block. However, the formula block has three red arrows where the input constants are, and the results of the formula block are intermittent and incorrect (if plotted, the plot just flashes what looks like a value of 1 intermittently... if saved to a csv file, the results show a bunch of zeros and then a row of values, then more zeroes).
    I'm not sure if I need to be converting my dynamic data to an array before feeding into the formula, or if there's some other way applying a complex formula to dynamic data, or...? I'd like to stick with dynamic data because it makes plotting things easier, but I'm open to other suggestions.
    Solved!
    Go to Solution.
    Attachments:
    Capture1.PNG ‏53 KB
    Capture2.PNG ‏20 KB

    Converting from a waveform to a double array makes you lose time information.
    Index Array can be expanded to index out as many items as you need.
    He meant Coercion Dots.  The spellcheck probably went to cocoon.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Weird result of oracle query before and after function base index creation

    Hi All,
    Here is the unique situation we are facing after creating just an index.
    The query result before the index and the query result after the index do not match.
    This is very illogical situation. Shidhar and me have done lot of R&D, also tried to get lots info from Google but we couldn't decipher the reason for that.
    I am giving you all the details about the query, index and tables with following steps.
    Please let us know if anything is going wrong from our side or is it a bug at oracle level which is a rarest possibility but a possibility.
    Step 1 :- Create table
    create table TEMP_COMP
    ID VARCHAR2(10),
    GROUP_ID VARCHAR2(10),
    TRAN_DATE DATE,
    AMT_1 NUMBER,
    AMT_2 NUMBER,
    AMT_3 NUMBER
    Step 2 :- Insert Sample data
    set feedback off
    set define off
    prompt Deleting TEMP_COMP...
    delete from TEMP_COMP;
    commit;
    prompt Loading TEMP_COMP...
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('01', 'G01', to_date('01-03-2007', 'dd-mm-yyyy'), 1, 11, 111);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('02', 'G01', to_date('02-03-2007', 'dd-mm-yyyy'), 2, 22, 222);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('03', 'G01', to_date('03-03-2007', 'dd-mm-yyyy'), 3, 33, 333);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('04', 'G01', to_date('04-03-2007', 'dd-mm-yyyy'), 4, 44, 444);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('05', 'G01', to_date('05-03-2007', 'dd-mm-yyyy'), 5, 55, 555);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('06', 'G01', to_date('01-03-2008', 'dd-mm-yyyy'), 6, 66, 666);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('07', 'G01', to_date('02-03-2008', 'dd-mm-yyyy'), 7, 77, 777);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('08', 'G01', to_date('03-03-2008', 'dd-mm-yyyy'), 8, 88, 888);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('09', 'G01', to_date('04-03-2008', 'dd-mm-yyyy'), 9, 99, 999);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('10', 'G01', to_date('05-03-2008', 'dd-mm-yyyy'), 10, 100, 1000);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('01', 'G01', to_date('01-03-2007', 'dd-mm-yyyy'), 1, 11, 111);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('02', 'G01', to_date('02-03-2007', 'dd-mm-yyyy'), 2, 22, 222);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('03', 'G01', to_date('03-03-2007', 'dd-mm-yyyy'), 3, 33, 333);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('04', 'G01', to_date('04-03-2007', 'dd-mm-yyyy'), 4, 44, 444);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('05', 'G01', to_date('05-03-2007', 'dd-mm-yyyy'), 5, 55, 555);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('06', 'G01', to_date('01-03-2008', 'dd-mm-yyyy'), 6, 66, 666);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('07', 'G01', to_date('02-03-2008', 'dd-mm-yyyy'), 7, 77, 777);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('08', 'G01', to_date('03-03-2008', 'dd-mm-yyyy'), 8, 88, 888);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('09', 'G01', to_date('04-03-2008', 'dd-mm-yyyy'), 9, 99, 999);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('10', 'G01', to_date('05-03-2008', 'dd-mm-yyyy'), 10, 100, 1000);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('01', 'G02', to_date('01-03-2007', 'dd-mm-yyyy'), 1, 11, 111);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('02', 'G02', to_date('02-03-2007', 'dd-mm-yyyy'), 2, 22, 222);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('03', 'G02', to_date('03-03-2007', 'dd-mm-yyyy'), 3, 33, 333);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('04', 'G02', to_date('04-03-2007', 'dd-mm-yyyy'), 4, 44, 444);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('05', 'G02', to_date('05-03-2007', 'dd-mm-yyyy'), 5, 55, 555);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('06', 'G02', to_date('01-03-2008', 'dd-mm-yyyy'), 6, 66, 666);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('07', 'G02', to_date('02-03-2008', 'dd-mm-yyyy'), 7, 77, 777);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('08', 'G02', to_date('03-03-2008', 'dd-mm-yyyy'), 8, 88, 888);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('09', 'G02', to_date('04-03-2008', 'dd-mm-yyyy'), 9, 99, 999);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('10', 'G02', to_date('05-03-2008', 'dd-mm-yyyy'), 10, 100, 1000);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('01', 'G03', to_date('01-03-2007', 'dd-mm-yyyy'), 1, 11, 111);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('02', 'G03', to_date('02-03-2007', 'dd-mm-yyyy'), 2, 22, 222);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('03', 'G03', to_date('03-03-2007', 'dd-mm-yyyy'), 3, 33, 333);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('04', 'G03', to_date('04-03-2007', 'dd-mm-yyyy'), 4, 44, 444);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('05', 'G03', to_date('05-03-2007', 'dd-mm-yyyy'), 5, 55, 555);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('06', 'G03', to_date('01-03-2008', 'dd-mm-yyyy'), 6, 66, 666);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('07', 'G03', to_date('02-03-2008', 'dd-mm-yyyy'), 7, 77, 777);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('08', 'G03', to_date('03-03-2008', 'dd-mm-yyyy'), 8, 88, 888);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('09', 'G03', to_date('04-03-2008', 'dd-mm-yyyy'), 9, 99, 999);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('10', 'G03', to_date('05-03-2008', 'dd-mm-yyyy'), 10, 100, 1000);
    insert into TEMP_COMP (ID, GROUP_ID, TRAN_DATE, AMT_1, AMT_2, AMT_3)
    values ('11', 'G01', to_date('03-03-2008', 'dd-mm-yyyy'), 100, 200, 300);
    commit;
    prompt 41 records loaded
    set feedback on
    set define on
    prompt Done.
    Step 3 :- Execute the query.
    SELECT GROUP_ID
    , SUM(LAST_YR_REV) as "Year_2007_Amt"
    , SUM(CURR_YR_REV) as "Year_2008_Amt"
    FROM (
    SELECT GROUP_ID,
    CASE WHEN TO_CHAR(TRAN_DATE,'YYYYMM') BETWEEN'200701'AND'200712'THEN SUM(AMT_1) ELSE 0 END AS LAST_YR_REV ,
    CASE WHEN TO_CHAR(TRAN_DATE,'YYYYMM') BETWEEN'200801'AND'200812'THEN SUM(AMT_1) ELSE 0 END AS CURR_YR_REV
    FROM TEMP_COMP t
    WHERE GROUP_ID ='G01'
    AND TO_CHAR(TRAN_DATE,'YYYYMM') BETWEEN'200601'AND'200912'
    GROUP BY GROUP_ID, TRAN_DATE
    GROUP BY GROUP_ID
    The result of above query
    GROUP_ID Year_2007_Amt Year_2008_Amt
    G01 30 180
    Step 4 : Create composite index
    create index GROUP_ID_TRAN_DATE_IDX on TEMP_COMP (GROUP_ID, TO_CHAR(TRAN_DATE,'YYYYMM'))
    Step 5 : Execute once again query from step 3.
    SELECT GROUP_ID
    , SUM(LAST_YR_REV) as "Year_2007_Amt"
    , SUM(CURR_YR_REV) as "Year_2008_Amt"
    FROM (
    SELECT GROUP_ID,
    CASE WHEN TO_CHAR(TRAN_DATE,'YYYYMM') BETWEEN'200701'AND'200712'THEN SUM(AMT_1) ELSE 0 END AS LAST_YR_REV ,
    CASE WHEN TO_CHAR(TRAN_DATE,'YYYYMM') BETWEEN'200801'AND'200812'THEN SUM(AMT_1) ELSE 0 END AS CURR_YR_REV
    FROM TEMP_COMP t
    WHERE GROUP_ID ='G01'
    AND TO_CHAR(TRAN_DATE,'YYYYMM') BETWEEN'200601'AND'200912'
    GROUP BY GROUP_ID, TRAN_DATE
    GROUP BY GROUP_ID
    The result of above query
    GROUP_ID Year_2007_Amt Year_2008_Amt
    G01 0 210
    Thanks
    Sunil

    I just wanted to make a comment. The predicates in both your queries are flawed I believe. You convert a date column to a character and then you say only pick the converted result between two sets of characters.
    TO_CHAR(TRAN_DATE,'YYYYMM') BETWEEN'200601'AND'200912'It should be coded like this for a proper date range comparison:
    TRAN_DATE BETWEEN TO_DATE('200601','YYYYMM') AND TO_DATE('200912','YYYYMM')That will eliminate the need for you to create FBI that you created. You should now be able to create a regular (B*Tree) index on the TRAN_DATE column.
    Also, now that we have the structure of your tables and sample data, what business question are you trying to answer? I think there is a better query that can be written if we know the requirements.
    Hope this helps!

  • Variable to store a result of a complex calculation in bex query

    Hello all,
    I've got a query in BEX with some key fields to display and also need to perform some calculations not supported in bex formulas.
    I think this could be made in a BEX user exit and I'm trying this by creating a project in CMOD assigning EXIT_SAPLRR0_001... Working with INCLUDE ZXRSRU01 and so on.
    I just want to know if this is possible this way because I execute my query and the variable created never get any value at runtime.
    Could anybody help me or give an idea on how to use BEx user-exits?
    Thank you very much,
    Carlos Hinestrosa.

    Hi!
      I think it should work .here are some links to help topics on using user exits.
    presentations
    https://websmp206.sap-ag.de/~form/sapnet?_FRAME=CONTAINER&_OBJECT=011000358700005475091999E
    Help:
    http://help.sap.com/saphelp_nw04/helpdata/en/e3/e60138fede083de10000009b38f8cf/frameset.htm
    propably they might help you
    With regards
    Ashwin

  • Weird results when using prompt

    I have created a report in answers. When using a normal filter condition I get one set of results. When using a prompt with the same criteria and no filter I get no results! I played around with removing/adding certain columns (all from the same subject area and same underlying physical table ie no joins involved) and answers sometimes returns results and sometimes not, depending which columns I have added into the query! We are running OBI SE1 on windows 10.1.3.2.1 (Build 070411.1900) - has anyone come across a similar problem? I fear it may be a bug in the OBI software but couldn't find anything on metalink.

    Hi Hurtn
    Can you paste the Query Log?
    Sunil S Ranka
    Blog :: http://sranka.wordpress.com
    "Superior BI is the antidote to Business Failure"

  • ASO MDX IsLevel weirds result when a parent with only a child

    Hi,
    I am using the function IsLevel but I find funny results when I apply it with a parent member with only a child.
    The result of the function is the level of the child
    I am doing it in Essbase 11.1.2.2
    Has anyone had the same issue?

    Hi Tim,
    It is true, it is an implied share issue.
    With the parent as never share works.
    I don't remember that it happens with BSO, not with the attributes of the members (level, generation, UDA).

  • Weird results for GregorianCalendar.getTimeInMillis()

    The documentation for the method GregorianCalendar.getTimeInMillis() is as follows:
    "Returns: the current time as UTC milliseconds from the epoch."
    However, all values that are stored in the database seem to be off by one hour, so I made the following test:
    GregorianCalendar gc=new GregorianCalendar(1970,0,1,0,0,0);
    long timestamp=gc.getTimeInMillis()/1000;
    System.out.println(timestamp);And the result is -3600, so with a difference of one hour of the expected value. What's going on? UTC doesn't have daylight saving time, so it seems that it just uses my local timezone instead of the UTC one which is in the documentation.

    Hi,
    maybe it is your constructor that causes this confusion on your side:
    GregorianCalendar(int year, int month, int date, int hour, int minute)
              Constructs a GregorianCalendar with the given date and time set for the default time zone with the default locale.and getTimeInMillis() says:
    public long getTimeInMillis()
        Gets this Calendar's current time as a long.
        Returns:
            the current time as UTC milliseconds from the epoch.So, if your default time zone/locale have daylight savings time, and UTC doesn't, there has to be some gap - and that should be correct.
    Bye.
    Edited by: swmtgoet_x on Nov 25, 2008 12:32 PM: Sorry, obviously thought about it for way too long...

  • Weird results when adding or validating nt:file-Node

    Hello,
    I'm trying to add the absolute path: /content/2012/201212/20121219_lh_lu_1442.pdf/jcr.content/renditions/original/jcr.content by this code:
    Node parentNode = session.getNode("/content");
                  Verbose.message(3,"Add node " + folders[folders.length-1]);
            if (session.nodeExists(parentNode.getPath()+"/"+"2012"))  {
                parentNode = session.getNode(parentNode.getPath()+"/"+"2012");
                Verbose.message(3,parentNode.getPath() + " already there");
            else  {
                parentNode = parentNode.addNode("2012", "sling:OrderedFolder");
               Verbose.message(3,parentNode.getPath() + " created");
            if (session.nodeExists(parentNode.getPath()+"/"+"201212"))  {
                parentNode = session.getNode(parentNode.getPath()+"/"+"201212");
                Verbose.message(3,parentNode.getPath() + " already there");
            else  {
                parentNode = parentNode.addNode("201212", "sling:OrderedFolder");
               Verbose.message(3,parentNode.getPath() + " created");
            // dam:Asset-Node named with the PDF-Name
            Verbose.message(3,"Add node 20121219_lh_lu_1442.pdf ");
            if (session.nodeExists(parentNode.getPath()+"/"+"20121219_lh_lu_1442.pdf")  {
                parentNode = session.getNode(parentNode.getPath()+"/"+"20121219_lh_lu_1442.pdf");
                Verbose.message(3,parentNode.getPath() + " already there");
            else  {
                parentNode = parentNode.addNode("20121219_lh_lu_1442.pdf", "dam:Asset");
                Verbose.message(3,parentNode.getPath() + " created");
            // jcr:content
            if (session.nodeExists(parentNode.getPath()+"/"+"jcr.content"))  {
                parentNode = session.getNode(parentNode.getPath()+"/"+"jcr.content");
                Verbose.message(3,parentNode.getPath() + " already there");
            else  {
                parentNode = parentNode.addNode("jcr.content", "dam:AssetContent");
                session.save();
                Verbose.message(3,parentNode.getPath() + " created");
            // metadata
            Node metadata=null;       
            if (session.nodeExists(parentNode.getPath()+"/"+"metadata"))  {
                metadata = session.getNode(parentNode.getPath()+"/"+"metadata");
                Verbose.message(3,metadata.getPath() + " already there");
            else  {
                metadata=parentNode.addNode("metadata", "nt:unstructured");
                session.save();
                Verbose.message(3,metadata.getPath() + " created");
            // renditions
            if (session.nodeExists(parentNode.getPath()+"/"+"renditions"))  {
                parentNode = session.getNode(parentNode.getPath()+"/"+"renditions");
                Verbose.message(3,parentNode.getPath() + " already there");
            else  {
                parentNode = parentNode.addNode("renditions", "nt:folder");
                Verbose.message(3,parentNode.getPath() + " created");
            listChildren("--->", parentNode );
            // orignal
            Verbose.message(3,"Create node " + parentNode.getPath()+"/"+"orignal - Exists=" + session.itemExists(parentNode.getPath()+"/"+"orignal"));
            if (session.nodeExists(parentNode.getPath()+"/"+"orignal"))  {
                parentNode = session.getNode(parentNode.getPath()+"/"+"orignal");
                Verbose.message(3,parentNode.getPath() + " already there");
            else  {
                parentNode = parentNode.addNode("orignal", "nt:file");
                parentNode.addNode("orignal", "nt:file");
                Verbose.message(3,parentNode.getPath() + " created");
            // jcr:content
            Verbose.message(3,"Add node 'jcr.content' to " + parentNode.getPath());
            if (session.nodeExists(parentNode.getPath()+"/"+"jcr.content"))  {
                parentNode = session.getNode(parentNode.getPath()+"/"+"jcr.content");
                Verbose.message(3,parentNode.getPath() + " already there");
            else  {
                parentNode = parentNode.addNode("jcr.content", "nt:resource");           
    //            session.save();
                Verbose.message(3,parentNode.getPath() + " created");
            session.save();
            return parentNode.getPath();
        private static void listChildren(String indent, Node node ) throws RepositoryException {
            System.out.println("-->" + indent + node.getName()+ " Exists=" + session.nodeExists(node.getPath()));
            NodeIterator ni = node.getNodes();
            while(ni.hasNext()) {
                Node nextNode=ni.nextNode();
                listChildren(indent+"  ", nextNode);
                String NAME = nextNode.getName();
    (Just to avoid irritations; the Verbose class does the logging.)
    My program fails in the line "parentNode = parentNode.addNode("orignal", "nt:file");" with the messages:
    Okt 29 16:33:14 --- Verbose(3): /content/2012 already there
    Okt 29 16:33:14 --- Verbose(3): /content/2012/201212 already there
    Okt 29 16:33:14 --- Verbose(3): Add node 20121219_lh_lu_1442.pdf
    Okt 29 16:33:14 --- Verbose(3): /content/2012/201212/20121219_lh_lu_1442.pdf already there
    Okt 29 16:33:14 --- Verbose(3): /content/2012/201212/20121219_lh_lu_1442.pdf/jcr.content already there
    Okt 29 16:33:14 --- Verbose(3): /content/2012/201212/20121219_lh_lu_1442.pdf/jcr.content/metadata already there
    Okt 29 16:33:14 --- Verbose(3): /content/2012/201212/20121219_lh_lu_1442.pdf/jcr.content/renditions already there
    -->--->renditions Exists=true
    -->--->  original Exists=true
    -->--->    jcr:content Exists=true
    Okt 29 16:33:15 --- Verbose(3): Create node /content/2012/201212/20121219_lh_lu_1442.pdf/jcr.content/renditions/orignal - Exists=false
    Exception in thread "main" javax.jcr.nodetype.ConstraintViolationException: no matching child node definition found for {}orignal
        at org.apache.jackrabbit.jcr2spi.nodetype.ItemDefinitionProviderImpl.getQNodeDefinition(ItemDefinitionProviderImpl.java:201)
        at org.apache.jackrabbit.jcr2spi.nodetype.ItemDefinitionProviderImpl.getQNodeDefinition(ItemDefinitionProviderImpl.java:90)
        at org.apache.jackrabbit.jcr2spi.NodeImpl.createNode(NodeImpl.java:1444)
        at org.apache.jackrabbit.jcr2spi.NodeImpl.addNode(NodeImpl.java:187)
        at com.lsy.test.lnnreader.lufthanseat.CRXrepository.addArchiveFolder(CRXrepository.java:120)
    I've no idea, why this program fails. The node ../original is already there; have added it with CRXDE Explorer. Saving there didn't work before adding jcr.content with the property "jcr:data". But now you can see that there is a difference in the validating the existence of the relative path "original" in the ongoing routine (results in "Exists=false") and in the "listChildren-method" called immediately after validating the "renditions". This routines results in "Exists=true" for the node "original".
    So I've got two questions left: What do I need to do to add the node with the WebDAV-Connected program and how can I make sure it recognizes correctly the existence of a node
    best regards,
    Ulrich

    I am not sure why you have used addNode method on same parentNode two times (line by line) because you already have added node in first line and now you have to save it. May be this is causing issue.
    parentNode = parentNode.addNode("orignal", "nt:file"); 
    parentNode.addNode("orignal", "nt:file");
    let me know if it does not help you.

  • Result Recording and Sample calculation

    Dear Experts,
    I have a concern regarding the sampling designed
    According to the sampling plan in local SOP the samples to be taken for all ZAPI and ZRAW as per below points.
    Withdraw sample from each container for Identification test. Here the sample size will very form material to material.
    Make a pool of sample according to No. of containers /5 for Other tests, like Assay,LOD,Potency,Microbiological tests etc...
    And there is Retention Sample.
    To meet this requirement, I have designed the sample management like this......
    There will be two partial Samples for Sample drawing procedure
    Partial Sample 010 has formula for Primary Samples :- P2.
    Partial Sample 010 has no Pooled Sample
    Partial Sample 010 has Reserved Sample; Fixed No 1;  along with Sample Size.
    Partial Sample 020 has Primary Sample IF P2>=5 THEN P2/5 ELSE P2 to meet the pooling of containers for other test than Identification.
    Partial Sample 020 has Pooled sample 1
    Partial Sample 020 has no Reserved Sample.
    No at the other end In inspection plan we have two operations;
    Operation 0010 ; Identification where all the MICs will be linked with Partial Sample 010 and Sample size for Identification test will be assigned along with Sampling procedure.
    Operation 0020; QC Laboratory where all the MICs will be linked with Partial Sample 020 and Sample size for Chemical and Micro Analysis tests will be assigned along with Sampling procedure.
    For an example for Material X:-
    Sample Size = 2gm, for Identification (ID) is maintained at respective MICs in Inspection plan
    Sample Size = 50gm, for Chemical and Micro Analysis tests  maintained at respective MICs in Inspection plan
    Sample Size = 150gm maintained at SDP for Reserved.
    If we receive a consignment 10 Containers for Material X. Then system will create sample as below.
    10 Primary samples from Partial Sample 010 of SDP each have sample size 2 and result needs to be recorded for each sample. This is very lengthy hence not acceptable to business.
    02 Primary samples from Partial Sample 020 of SDP each have sample size 25 and result not required to be recorded for it.
    01 Pooled samples from Partial Sample 020 of SDP each have sample size 50 and result needs to be recorded for it.
    01 Reserved Sample (There is no issue with this so not elaborating more)
    Total Sample size is 220 (20+50_150)
    {10*2=20 Primary Samples for ID
    2*25=50 Pooled Samples for Chem and Micro
    150 Retain Sample}
    Now the requirement is We don't want to record result for all 10 Primary sample from Partial Sample 010 but want to calculate the sample size as per above quantity.
    Kindly give me some guidance!!!!!!!
    Regards,
    Shyamal

    I think what you'll need to do is create a sampling procedure for each container type you expect to receive. So if you get BUOM KG's  in 55 gal drums, you'll need a sampling procedure for drums. If you get it in a 2000lb super sac, you'll need a sampling procedure for that.  And of course separate inspection plans for the drum material and one for the super sac material since the same characteristic will specify different sampling procedures.
    The sampling procedure will specify a sampling scheme for that container.  I.e. for the super sacs with normal inspection you would specify 0-2000 = 2 g sample.  2001-4000  - 4 g sample.  4001-6000 = 6 g.  etc. etc..
    When the sample size for the ID characteristic is figured out, it will be 10g or 20 g.  Whatever.  It is based on the total lot size.
    The sample drawing procedure will take the sample size of 20 g now, and apply that to the pooled sample.  That will be divided by the primary samples, (P2 = 10) for a set of 10 primary samples of 2 g each.
    A second alternative would be to create the inspection plan in the alternative UOM. Say super sacs.  You receive in 10.  You could create a large sampling scheme for this where a lot size of 1 = 2 g.  2 = 4 g, 3 = 6 g, etc...   While it would be a large sampling scheme, you'd only need one sampling procedure and one sampling scheme.  The inspection plan will see a BUOM of 20,000Kg but convert that to 10 super sacs.  The sampling procedure would see an inspection lot qty of 10 super sacs.  The sampling scheme calcualtes a sample size of 20 for a lot size of 10.  The sample size is applied to the pooled sample and then distributed to the 10 primary samples. 
    This should work for all container types.  If the plan was in drums, 20,000 kgs might calcuate out to 30 drums.  The sampling procedure looks up 30 to find that is 60 and returns a sample size of 60g. That is applied to the pooled sample and divided amoung the primary samples, (P2 = 30), for 2 g per primary sample. 
    FF

  • Ipad and Iphone WIFI speed tested weird results

    Hi:
    Just to help (or make it worse).
    I am sitting at my desk and testing my IPad and my Iphone.
    I am running the speedtest app from the app store.
    The Iphone consistenly gets 14+mbit download (I have a 50mbit ISP link) and just under 5mbit Upload (I have a 5mbit upload link).
    The IPAD gets at BEST 7.8mbit down, but also gets just under 5mbit up. So it's even weirder than it seems. The IPAD gets the same upload speed and 1/2 the download speed.
    I am testing them on the same network, same location, same everything (wireless G only setting on Router). I am testing them one after the other not simultaneously.
    Oh and I couldn't get the IPAD to connect to Wirless N AT ALL.

    I guess you both are new here.
    Lots of iPad users are plagued by terrible slow wifi connections. There was a thread here "weak wifi" with over 80,000 views and 37 pages of replies.
    I too had the same issue then I changed my N capable router to G only mode and my speed Is amazing. Well this is not a solution but hopefully temporary work around until apple comes out with a firmware update.
    Write to apple in their iPad feedback form so that they listen to it.they don't look at the forums supposedly.
    http://www.apple.com/feedback/ipad.html
    Bottom line here is you guys are not alone.
    Regrads,

Maybe you are looking for

  • Mac Office 2008 powerpoint

    I know this is in the wrong forum but Im not sure where to put it. Im trying to print out multiple slides on a single piece of paper for a school project. I cant figure it out for the life of me. Can someone give me step by step directions on how to

  • Guidance - import exchange rate from a webpage

    Hello everyone, I am now starting a new project and one of the functionalities I wanted to implement is to obtain from a website the exchange rate from one specific currency. Based on the date and currency I inform in a field, this script, if possibl

  • Permissions Errors. SUID

    Repairing permissions for "Macbook HD" Warning: SUID file "Applications/Utilities/Keychain Access.app/Contents/Resources/kcproxy" has been modified and will not be repaired. Warning: SUID file "System/Library/Printers/IOMs/LPRIOM.plugin/Contents/MacO

  • Weird goings on with my ipods

    hi everyone, i posted in the shuffle forum on this but now it seems to be happening with all my 4 ipods. ! when i plug one of them in to the computer itunes does not automatically open anymore with any of them but a window opens with a drive letter (

  • How to handle duplicate price creation while using RV_CONDITION_COPY

    Hi, I using FM RV_CONDITION_COPY in my BAPI to create the price but if the same record is being passed again either with same validation date or different validation dates then system pops up a window with message "The validity period of the conditio