Alternative FM instead of 'HR_TIME_RESULTS_IN_INTERVAL'

Hi,
Can anybody suggest me any alternative FM instead of 'HR_TIME_RESULTS_IN_INTERVAL', this standard FM is throwing DUmp.
Regards
Rohini.

Hi,
Try this:
HR_TIME_RESULTS_GET
Rgds

Similar Messages

  • Alternative way instead of BDC to Improve performance  of teh ABAP report

    Hi All,
    Our requirement is to delete buffered entries of credit card expences for terminated/ inavtive staff of teh organization.
    For that we are using BDC call transaction in order do so for each employee (terminated/inactive). I mean technically speaking BDC is perfomred inside the loop.
    Can any one suggest me some other alternative way to do this other than BDC, so that we can improve the performance of teh report?
    Thanks in advance.
    Regards,
    Ashwini

    Hi,
    But  the FM /BAPI were using BDC call transaction internally.So same effect. No improvement in performance.
    Kindly suggest related FM/BAPI for creating/deleting expences for a trip.
    Thanks.
    Regards,
    Ashwini

  • Image instead of Java

    Hi Folks,
    Im hoping that one of you guys can give me a bit of help on a project im doing. I have created a HTML page which at the moment simply consists of an image (logo.gif) which when rolled over animates with a water ripple effect.
    Its a java applet !
    The problem im having (or may have) is that some people may have java disabled in there browser prefs.
    I was wandering is there some script i can enter in the HTML page to say "if java is disabled then display this alternative image instead" ?????
    If anyone can offer me any help id much appreciate it !
    Many thank
    darren

    you can insert html code into applet tag
    this code is used by browsers if the applet can't be launched

  • Posting with alternative accounts

    Hi
    I have a situation whereby the users would like to post to an alternative accounts instead of the recon accounts that has been maintained in the vendor or customer master data.
    Question:
    Customers and vendors will have their own recon accounts. On certain cases the users wants to post to other account instead of the one maintained in the master data
    How do I go about it in posting to such alternative accounts?
    rgds
    eddielim

    Hi Eddielim,
    You can do this with a special GL indicator.
    All you have to do is-
    Create 2 GL accounts at FS00
    One as vendor recon account and
    Another one as customer recon account
    Then to maintain alternate recon account for customers -
    Go to OBXY, maintain an indicator ( a single alphabet/numeric)
    Assign the customer recon account, created above, to this indicator.
    Then to maintain alternate recon account for vendors -
    Go to OBXT, maintain an indicator ( a single alphabet/numeric)
    Assign the vendor recon account, created above, to this indicator.
    Now, you can post an entry for vendor (F-43) or customer (F-22) with the special GL indicator. This entry will posted to the alternate account.
    Regards,
    Mike

  • Alternative Payer Address information stored in REGUH table

    Hi
    Is there a setting that would tell the system to use Alternatine Payer Address information to be used and stored in table REGUH?
    Whenever there is a Payer that has the Alternative Payer set, the system is using its Address information instead of Address from Original Payer.
    Any help on this topic is very much appreciated.
    Best regards, Maikol M.

    Alternative payers are maintained in the vendor master data or can be entered in a document from the list maintained in vendor master. Payment program uses the alternative payer instead of the original vendor info while creating the check.

  • Sample Quantity to be in alternative Uom

    Dear QM Gurus,
    We have a material which has basic uom as KG. We will be maintaining the alternative uom as PCS and conversion factor as 1KG = 1330 PCS in Material master. Now we want sample quantity in the inspection lot to be created in alternative uom instead of basic uom. Already we maintained PCS in inspection plan header level & MIC. But still the sample quantity is coming in KG.
    Kindly guide me to solve this issue.

    Refer
    Sample size to maintain in gram when base qty in Tons

  • Creation of Target group.

    Hi All,
    I having one urgent requirement, we have maintained the Ztable for maintaning the information of Vehicles against Business partners.
    The Fields in the said Ztables are Vehicle type, vehicle Reg Number and BP number.
    I want to send the mails using target group to customer who is having Perticular vehicle type for that i have created Infoset using the Ztable, then i have created the data source for target group still i m not getting the desired result !!!!!!
    please anybody tell me that i  missing any of step for above requirement ???
    how to link up the BP to Ztables fields ???
    How to create the said Target group ???   
    Regards,
    Dipesh

    Hi,
    You can try this alternative solution:-
    Instead of maintaining vehicle type etc in Z table, please crate it as "attribute", and assign it to Business Partners.
    You can use CRMD_PROF_BP transaction to assign Attributes to Business partners.
    Based on the attributes , you can subsequently create the "target group".
    Regards,
    PD
    Pl. Reward points if it helps !!

  • Why is my flash content not working on my dreamweaver created html site?

    This is a problem that's happening on my website I'm creating.  I created a quick test website to show you the problem on the fourm.  It's the same problem, and if you can provide the solution to this test website I can apply it to my main website.
    Test website on server:
    test331754952.net23.net
    What I did:
    -launched flash
    -typed "test" and made it spin 360 degrees
    -published swf
    -launched dreamweaver
    -created a site
    -moved swf to site folder
    -saved a html file to the site folder
    -in dreamweaver, went to insert, media, swf, then selected the swf I made
    -it inserted the swf, creating a gray placeholder for it
    -re-saved the html document, at which point dreamweaver created a folder named script and 2 files, an swf, and a javascript file
    Site Directory:
    Scripts Sub-Directory:
    What happens:
    -when I launch the swf on my machine, it plays fine
    -when I open the swf directly on the test website on the server, it plays fine
    -when I open the html with the embended swf on the test website on the server, it shows a gray box, then goes white
    -In dreamweaver, when I go to preview in browser and choose internet explorer, it tells me I don't have new flashplayer(I do: flashplayer 11) 
    Ie also pokes up a box at the bottom that says its not allowing content.  When I click allow content, it creates a gray box
    -In dreamweaver, when I go to preview in borwser and choose google chrome, it tells me flash player has stopped a potentionally unsafe operation.  When I close this dialog box, it gives me a gray box where my swf should be embeded.
    -I've tried changing global flash secuirty setting and it does nothing
    -I've tried visiting the test website on multiple computers in my household to no avail
    -I've tried having friends visit the site on their computer at their house to no avail
    -I did't touch the code on this test website-the code is exactly what dreamweaver generated
    Html Document Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
    </head>
    <body>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="400" id="FlashID" title="test">
      <param name="movie" value="test.swf" />
      <param name="quality" value="high" />
      <param name="wmode" value="opaque" />
      <param name="swfversion" value="15.0.0.0" />
      <!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don’t want users to see the prompt. -->
      <param name="expressinstall" value="Scripts/expressInstall.swf" />
      <!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
      <!--[if !IE]>-->
      <object type="application/x-shockwave-flash" data="test.swf" width="550" height="400">
        <!--<![endif]-->
        <param name="quality" value="high" />
        <param name="wmode" value="opaque" />
        <param name="swfversion" value="15.0.0.0" />
        <param name="expressinstall" value="Scripts/expressInstall.swf" />
        <!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
        <div>
          <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
          <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
        </div>
        <!--[if !IE]>-->
      </object>
      <!--<![endif]-->
    </object>
    <script type="text/javascript">
    swfobject.registerObject("FlashID");
    </script>
    </body>
    </html>
    Javascript file code(the one dreamweaver made when I inserted swf):
    /*! SWFObject v2.0 <http://code.google.com/p/swfobject/>
    Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis
    This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
    var swfobject = function() {
    var UNDEF = "undefined",
      OBJECT = "object",
      SHOCKWAVE_FLASH = "Shockwave Flash",
      SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash",
      FLASH_MIME_TYPE = "application/x-shockwave-flash",
      EXPRESS_INSTALL_ID = "SWFObjectExprInst",
      win = window,
      doc = document,
      nav = navigator,
      domLoadFnArr = [],
      regObjArr = [],
      timer = null,
      storedAltContent = null,
      storedAltContentId = null,
      isDomLoaded = false,
      isExpressInstallActive = false;
    /* Centralized function for browser feature detection
      - Proprietary feature detection (conditional compiling) is used to detect Internet Explorer's features
      - User agent string detection is only used when no alternative is possible
      - Is executed directly for optimal performance
    var ua = function() {
      var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF && typeof doc.appendChild != UNDEF && typeof doc.replaceChild != UNDEF && typeof doc.removeChild != UNDEF && typeof doc.cloneNode != UNDEF,
       playerVersion = [0,0,0],
       d = null;
      if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) {
       d = nav.plugins[SHOCKWAVE_FLASH].description;
       if (d) {
        d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
        playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);
        playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
        playerVersion[2] = /r/.test(d) ? parseInt(d.replace(/^.*r(.*)$/, "$1"), 10) : 0;
      else if (typeof win.ActiveXObject != UNDEF) {
       var a = null, fp6Crash = false;
       try {
        a = new ActiveXObject(SHOCKWAVE_FLASH_AX + ".7");
       catch(e) {
        try {
         a = new ActiveXObject(SHOCKWAVE_FLASH_AX + ".6");
         playerVersion = [6,0,21];
         a.AllowScriptAccess = "always";  // Introduced in fp6.0.47
        catch(e) {
         if (playerVersion[0] == 6) {
          fp6Crash = true;
        if (!fp6Crash) {
         try {
          a = new ActiveXObject(SHOCKWAVE_FLASH_AX);
         catch(e) {}
       if (!fp6Crash && a) { // a will return null when ActiveX is disabled
        try {
         d = a.GetVariable("$version");  // Will crash fp6.0.21/23/29
         if (d) {
          d = d.split(" ")[1].split(",");
          playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
        catch(e) {}
      var u = nav.userAgent.toLowerCase(),
       p = nav.platform.toLowerCase(),
       webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit
       ie = false,
       windows = p ? /win/.test(p) : /win/.test(u),
       mac = p ? /mac/.test(p) : /mac/.test(u);
      /*@cc_on
       ie = true;
       @if (@_win32)
        windows = true;
       @elif (@_mac)
        mac = true;
       @end
      return { w3cdom:w3cdom, pv:playerVersion, webkit:webkit, ie:ie, win:windows, mac:mac };
    /* Cross-browser onDomLoad
      - Based on Dean Edwards' solution: http://dean.edwards.name/weblog/2006/06/again/
      - Will fire an event as soon as the DOM of a page is loaded (supported by Gecko based browsers - like Firefox -, IE, Opera9+, Safari)
    var onDomLoad = function() {
      if (!ua.w3cdom) {
       return;
      addDomLoadEvent(main);
      if (ua.ie && ua.win) {
       try {  // Avoid a possible Operation Aborted error
        doc.write("<scr" + "ipt id=__ie_ondomload defer=true src=//:></scr" + "ipt>"); // String is split into pieces to avoid Norton AV to add code that can cause errors
        var s = getElementById("__ie_ondomload");
        if (s) {
         s.onreadystatechange = function() {
          if (this.readyState == "complete") {
           this.parentNode.removeChild(this);
           callDomLoadFunctions();
       catch(e) {}
      if (ua.webkit && typeof doc.readyState != UNDEF) {
       timer = setInterval(function() { if (/loaded|complete/.test(doc.readyState)) { callDomLoadFunctions(); }}, 10);
      if (typeof doc.addEventListener != UNDEF) {
       doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, null);
      addLoadEvent(callDomLoadFunctions);
    function callDomLoadFunctions() {
      if (isDomLoaded) {
       return;
      if (ua.ie && ua.win) { // Test if we can really add elements to the DOM; we don't want to fire it too early
       var s = createElement("span");
       try { // Avoid a possible Operation Aborted error
        var t = doc.getElementsByTagName("body")[0].appendChild(s);
        t.parentNode.removeChild(t);
       catch (e) {
        return;
      isDomLoaded = true;
      if (timer) {
       clearInterval(timer);
       timer = null;
      var dl = domLoadFnArr.length;
      for (var i = 0; i < dl; i++) {
       domLoadFnArr[i]();
    function addDomLoadEvent(fn) {
      if (isDomLoaded) {
       fn();
      else {
       domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+
    /* Cross-browser onload
      - Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/
      - Will fire an event as soon as a web page including all of its assets are loaded
    function addLoadEvent(fn) {
      if (typeof win.addEventListener != UNDEF) {
       win.addEventListener("load", fn, false);
      else if (typeof doc.addEventListener != UNDEF) {
       doc.addEventListener("load", fn, false);
      else if (typeof win.attachEvent != UNDEF) {
       win.attachEvent("onload", fn);
      else if (typeof win.onload == "function") {
       var fnOld = win.onload;
       win.onload = function() {
        fnOld();
        fn();
      else {
       win.onload = fn;
    /* Main function
      - Will preferably execute onDomLoad, otherwise onload (as a fallback)
    function main() { // Static publishing only
      var rl = regObjArr.length;
      for (var i = 0; i < rl; i++) { // For each registered object element
       var id = regObjArr[i].id;
       if (ua.pv[0] > 0) {
        var obj = getElementById(id);
        if (obj) {
         regObjArr[i].width = obj.getAttribute("width") ? obj.getAttribute("width") : "0";
         regObjArr[i].height = obj.getAttribute("height") ? obj.getAttribute("height") : "0";
         if (hasPlayerVersion(regObjArr[i].swfVersion)) { // Flash plug-in version >= Flash content version: Houston, we have a match!
          if (ua.webkit && ua.webkit < 312) { // Older webkit engines ignore the object element's nested param elements
           fixParams(obj);
          setVisibility(id, true);
         else if (regObjArr[i].expressInstall && !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) { // Show the Adobe Express Install dialog if set by the web page author and if supported (fp6.0.65+ on Win/Mac OS only)
          showExpressInstall(regObjArr[i]);
         else { // Flash plug-in and Flash content version mismatch: display alternative content instead of Flash content
          displayAltContent(obj);
       else {  // If no fp is installed, we let the object element do its job (show alternative content)
        setVisibility(id, true);
    /* Fix nested param elements, which are ignored by older webkit engines
      - This includes Safari up to and including version 1.2.2 on Mac OS 10.3
      - Fall back to the proprietary embed element
    function fixParams(obj) {
      var nestedObj = obj.getElementsByTagName(OBJECT)[0];
      if (nestedObj) {
       var e = createElement("embed"), a = nestedObj.attributes;
       if (a) {
        var al = a.length;
        for (var i = 0; i < al; i++) {
         if (a[i].nodeName.toLowerCase() == "data") {
          e.setAttribute("src", a[i].nodeValue);
         else {
          e.setAttribute(a[i].nodeName, a[i].nodeValue);
       var c = nestedObj.childNodes;
       if (c) {
        var cl = c.length;
        for (var j = 0; j < cl; j++) {
         if (c[j].nodeType == 1 && c[j].nodeName.toLowerCase() == "param") {
          e.setAttribute(c[j].getAttribute("name"), c[j].getAttribute("value"));
       obj.parentNode.replaceChild(e, obj);
    /* Fix hanging audio/video threads and force open sockets and NetConnections to disconnect
      - Occurs when unloading a web page in IE using fp8+ and innerHTML/outerHTML
      - Dynamic publishing only
    function fixObjectLeaks(id) {
      if (ua.ie && ua.win && hasPlayerVersion("8.0.0")) {
       win.attachEvent("onunload", function () {
        var obj = getElementById(id);
        if (obj) {
         for (var i in obj) {
          if (typeof obj[i] == "function") {
           obj[i] = function() {};
         obj.parentNode.removeChild(obj);
    /* Show the Adobe Express Install dialog
      - Reference: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75
    function showExpressInstall(regObj) {
      isExpressInstallActive = true;
      var obj = getElementById(regObj.id);
      if (obj) {
       if (regObj.altContentId) {
        var ac = getElementById(regObj.altContentId);
        if (ac) {
         storedAltContent = ac;
         storedAltContentId = regObj.altContentId;
       else {
        storedAltContent = abstractAltContent(obj);
       if (!(/%$/.test(regObj.width)) && parseInt(regObj.width, 10) < 310) {
        regObj.width = "310";
       if (!(/%$/.test(regObj.height)) && parseInt(regObj.height, 10) < 137) {
        regObj.height = "137";
       doc.title = doc.title.slice(0, 47) + " - Flash Player Installation";
       var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn",
        dt = doc.title,
        fv = "MMredirectURL=" + win.location + "&MMplayerType=" + pt + "&MMdoctitle=" + dt,
        replaceId = regObj.id;
       // For IE when a SWF is loading (AND: not available in cache) wait for the onload event to fire to remove the original object element
       // In IE you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
       if (ua.ie && ua.win && obj.readyState != 4) {
        var newObj = createElement("div");
        replaceId += "SWFObjectNew";
        newObj.setAttribute("id", replaceId);
        obj.parentNode.insertBefore(newObj, obj); // Insert placeholder div that will be replaced by the object element that loads expressinstall.swf
        obj.style.display = "none";
        win.attachEvent("onload", function() { obj.parentNode.removeChild(obj); });
       createSWF({ data:regObj.expressInstall, id:EXPRESS_INSTALL_ID, width:regObj.width, height:regObj.height }, { flashvars:fv }, replaceId);
    /* Functions to abstract and display alternative content
    function displayAltContent(obj) {
      if (ua.ie && ua.win && obj.readyState != 4) {
       // For IE when a SWF is loading (AND: not available in cache) wait for the onload event to fire to remove the original object element
       // In IE you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
       var el = createElement("div");
       obj.parentNode.insertBefore(el, obj); // Insert placeholder div that will be replaced by the alternative content
       el.parentNode.replaceChild(abstractAltContent(obj), el);
       obj.style.display = "none";
       win.attachEvent("onload", function() { obj.parentNode.removeChild(obj); });
      else {
       obj.parentNode.replaceChild(abstractAltContent(obj), obj);
    function abstractAltContent(obj) {
      var ac = createElement("div");
      if (ua.win && ua.ie) {
       ac.innerHTML = obj.innerHTML;
      else {
       var nestedObj = obj.getElementsByTagName(OBJECT)[0];
       if (nestedObj) {
        var c = nestedObj.childNodes;
        if (c) {
         var cl = c.length;
         for (var i = 0; i < cl; i++) {
          if (!(c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "param") && !(c[i].nodeType == 8)) {
           ac.appendChild(c[i].cloneNode(true));
      return ac;
    /* Cross-browser dynamic SWF creation
    function createSWF(attObj, parObj, id) {
      var r, el = getElementById(id);
      if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content
       attObj.id = id;
      if (ua.ie && ua.win) { // IE, the object element and W3C DOM methods do not combine: fall back to outerHTML
       var att = "";
       for (var i in attObj) {
        if (attObj[i] != Object.prototype[i]) { // Filter out prototype additions from other potential libraries, like Object.prototype.toJSONString = function() {}
         if (i == "data") {
          parObj.movie = attObj[i];
         else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
          att += ' class=" + attObj[i] + "';
         else if (i != "classid") {
          att += ' ' + i + '="' + attObj[i] + '"';
       var par = "";
       for (var j in parObj) {
        if (parObj[j] != Object.prototype[j]) { // Filter out prototype additions from other potential libraries
         par += '<param name="' + j + '" value="' + parObj[j] + '" />';
       el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>';
       fixObjectLeaks(attObj.id); // This bug affects dynamic publishing only
       r = getElementById(attObj.id);
      else if (ua.webkit && ua.webkit < 312) { // Older webkit engines ignore the object element's nested param elements: fall back to the proprietary embed element
       var e = createElement("embed");
       e.setAttribute("type", FLASH_MIME_TYPE);
       for (var k in attObj) {
        if (attObj[k] != Object.prototype[k]) { // Filter out prototype additions from other potential libraries
         if (k == "data") {
          e.setAttribute("src", attObj[k]);
         else if (k.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
          e.setAttribute("class", attObj[k]);
         else if (k != "classid") { // Filter out IE specific attribute
          e.setAttribute(k, attObj[k]);
       for (var l in parObj) {
        if (parObj[l] != Object.prototype[l]) { // Filter out prototype additions from other potential libraries
         if (l != "movie") { // Filter out IE specific param element
          e.setAttribute(l, parObj[l]);
       el.parentNode.replaceChild(e, el);
       r = e;
      else { // Well-behaving browsers
       var o = createElement(OBJECT);
       o.setAttribute("type", FLASH_MIME_TYPE);
       for (var m in attObj) {
        if (attObj[m] != Object.prototype[m]) { // Filter out prototype additions from other potential libraries
         if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
          o.setAttribute("class", attObj[m]);
         else if (m != "classid") { // Filter out IE specific attribute
          o.setAttribute(m, attObj[m]);
       for (var n in parObj) {
        if (parObj[n] != Object.prototype[n] && n != "movie") { // Filter out prototype additions from other potential libraries and IE specific param element
         createObjParam(o, n, parObj[n]);
       el.parentNode.replaceChild(o, el);
       r = o;
      return r;
    function createObjParam(el, pName, pValue) {
      var p = createElement("param");
      p.setAttribute("name", pName);
      p.setAttribute("value", pValue);
      el.appendChild(p);
    function getElementById(id) {
      return doc.getElementById(id);
    function createElement(el) {
      return doc.createElement(el);
    function hasPlayerVersion(rv) {
      var pv = ua.pv, v = rv.split(".");
      v[0] = parseInt(v[0], 10);
      v[1] = parseInt(v[1], 10);
      v[2] = parseInt(v[2], 10);
      return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
    /* Cross-browser dynamic CSS creation
      - Based on Bobby van der Sluis' solution: http://www.bobbyvandersluis.com/articles/dynamicCSS.php
    function createCSS(sel, decl) {
      if (ua.ie && ua.mac) {
       return;
      var h = doc.getElementsByTagName("head")[0], s = createElement("style");
      s.setAttribute("type", "text/css");
      s.setAttribute("media", "screen");
      if (!(ua.ie && ua.win) && typeof doc.createTextNode != UNDEF) {
       s.appendChild(doc.createTextNode(sel + " {" + decl + "}"));
      h.appendChild(s);
      if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) {
       var ls = doc.styleSheets[doc.styleSheets.length - 1];
       if (typeof ls.addRule == OBJECT) {
        ls.addRule(sel, decl);
    function setVisibility(id, isVisible) {
      var v = isVisible ? "inherit" : "hidden";
      if (isDomLoaded) {
       getElementById(id).style.visibility = v;
      else {
       createCSS("#" + id, "visibility:" + v);
    function getTargetVersion(obj) {
         if (!obj)
             return 0;
      var c = obj.childNodes;
      var cl = c.length;
      for (var i = 0; i < cl; i++) {
       if (c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "object") {
           c = c[i].childNodes;
           cl = c.length;
           i = 0;
       if (c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "param" && c[i].getAttribute("name") == "swfversion") {
          return c[i].getAttribute("value");
      return 0;
    function getExpressInstall(obj) {
         if (!obj)
             return "";
      var c = obj.childNodes;
      var cl = c.length;
      for (var i = 0; i < cl; i++) {
       if (c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "object") {
           c = c[i].childNodes;
           cl = c.length;
           i = 0;
       if (c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "param" && c[i].getAttribute("name") == "expressinstall") {
           return c[i].getAttribute("value");
      return "";
    return {
      /* Public API
       - Reference: http://code.google.com/p/swfobject/wiki/SWFObject_2_0_documentation
      registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr) {
       if (!ua.w3cdom || !objectIdStr) {
        return;
       var obj = document.getElementById(objectIdStr);
       var xi = getExpressInstall(obj);
       var regObj = {};
       regObj.id = objectIdStr;
       regObj.swfVersion = swfVersionStr ? swfVersionStr : getTargetVersion(obj);
       regObj.expressInstall = xiSwfUrlStr ? xiSwfUrlStr : ((xi != "") ? xi : false);
       regObjArr[regObjArr.length] = regObj;
       setVisibility(objectIdStr, false);
      getObjectById: function(objectIdStr) {
       var r = null;
       if (ua.w3cdom && isDomLoaded) {
        var o = getElementById(objectIdStr);
        if (o) {
         var n = o.getElementsByTagName(OBJECT)[0];
         if (!n || (n && typeof o.SetVariable != UNDEF)) {
             r = o;
         else if (typeof n.SetVariable != UNDEF) {
          r = n;
       return r;
      embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj) {
       if (!ua.w3cdom || !swfUrlStr || !replaceElemIdStr || !widthStr || !heightStr || !swfVersionStr) {
        return;
       widthStr += ""; // Auto-convert to string to make it idiot proof
       heightStr += "";
       if (hasPlayerVersion(swfVersionStr)) {
        setVisibility(replaceElemIdStr, false);
        var att = (typeof attObj == OBJECT) ? attObj : {};
        att.data = swfUrlStr;
        att.width = widthStr;
        att.height = heightStr;
        var par = (typeof parObj == OBJECT) ? parObj : {};
        if (typeof flashvarsObj == OBJECT) {
         for (var i in flashvarsObj) {
          if (flashvarsObj[i] != Object.prototype[i]) { // Filter out prototype additions from other potential libraries
           if (typeof par.flashvars != UNDEF) {
            par.flashvars += "&" + i + "=" + flashvarsObj[i];
           else {
            par.flashvars = i + "=" + flashvarsObj[i];
        addDomLoadEvent(function() {
         createSWF(att, par, replaceElemIdStr);
         if (att.id == replaceElemIdStr) {
          setVisibility(replaceElemIdStr, true);
       else if (xiSwfUrlStr && !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) {
        setVisibility(replaceElemIdStr, false);
        addDomLoadEvent(function() {
         var regObj = {};
         regObj.id = regObj.altContentId = replaceElemIdStr;
         regObj.width = widthStr;
         regObj.height = heightStr;
         regObj.expressInstall = xiSwfUrlStr;
         showExpressInstall(regObj);
      getFlashPlayerVersion: function() {
       return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] };
      hasFlashPlayerVersion:hasPlayerVersion,
      createSWF: function(attObj, parObj, replaceElemIdStr) {
       if (ua.w3cdom && isDomLoaded) {
        return createSWF(attObj, parObj, replaceElemIdStr);
       else {
        return undefined;
      createCSS: function(sel, decl) {
       if (ua.w3cdom) {
        createCSS(sel, decl);
      addDomLoadEvent:addDomLoadEvent,
      addLoadEvent:addLoadEvent,
      getQueryParamValue: function(param) {
       var q = doc.location.search || doc.location.hash;
       if (param == null) {
        return q;
        if(q) {
        var pairs = q.substring(1).split("&");
        for (var i = 0; i < pairs.length; i++) {
         if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
          return pairs[i].substring((pairs[i].indexOf("=") + 1));
       return "";
      // For internal usage only
      expressInstallCallback: function() {
       if (isExpressInstallActive && storedAltContent) {
        var obj = getElementById(EXPRESS_INSTALL_ID);
        if (obj) {
         obj.parentNode.replaceChild(storedAltContent, obj);
         if (storedAltContentId) {
          setVisibility(storedAltContentId, true);
          if (ua.ie && ua.win) {
           storedAltContent.style.display = "block";
         storedAltContent = null;
         storedAltContentId = null;
         isExpressInstallActive = false;
    Can someone please help!  I've looked and tried prety much everything.  If you can provide a solution I would GREATLY apreciate it!

    There is no Flash player version 15... as in your code:
    <param name="swfversion" value="15.0.0.0" />
    For some reason Adobe thought it would be a good idea to target a Flash player version (15) as default.....which may be out a couple years in the future. Go figure!!!
    If you don't like player version 9, change to 10 or 11.... just not 15 (yet).
    Best wishes,
    Adninjastrator

  • Storage Location Naming Convention without WM!

    Dear all
    We are facing serious problem in our Storage Location for Raw Material.
    We have 4 types of Raw Material Seating (S), Panel (P), Metal (M), Wood (W). And they are all stored under Storage Location: RWSL.
    Requirement:
    Although we have visual guideline as to which industrial rack will store the type of Material, it is insufficient. We need a more refined storage location down to which BIN of the rack we will put the Raw Material.
    Due to limited time and resource, we cannot have WM implemented right now. Thus, we have come out with 2 alternative to overcome this problem:
    Alternative 01:
    We will use the Fixed Bin field in Storage Data 02 by putting the Bin number assigned to each Rack.
    E.g. For Seating material code:SEAT01, we will maintain the Fixed Bin as R12A01/A02, it means this Seating material SEAT01 will be stored at Rack 12, fixed bin A01 or A02.
    Question to Alternative 01: Will it cause problem in GR, GR, Transfer Posting and Stock Count?
    Alternative 02:
    Instead of going into details to put Fixed Bin field in Storage Data 2, we will abandan the existing Storage Location RMSL by introducing new format for Storage Location
    Here is the example of Alternative 02:
    For raw materials, we will use 4 digits location numbers, consistent with other Storage locations, the 4 digits storage location will start with u201CR _ _ _u201D to represent each location
    And,
    R _ _ _ is:
    R = Raw materials
    2nd digit = Division (S= Seating, P =Panel, W=Wood, M=Metal and W=Wood)
    3rd digit = Rack Number (A, B, C, Du2026 and etc.)
    4th digit = Rack Zone - each rack will broken down into zone, each rack can possibility have 2 to 3 zone. 1 Zone can be 1 colume of the Rack
    An example of a possible location and its meaning will be
    RSA1 = Raw materials warehouse, Seating division, Rack A, Zone 1
    RPB3 = Raw materials warehouse, Panel Division, Rack B, Zone 3
    The challenge of this is that instead of having 1 Raw Material Storage Location like RMSL, we will have a lot more storage locations each for division of Raw material due to the Rack Number we have as well as the Rack Zone.
    Question to Alternative 02:
    If we use this alternative, will it impact our future implementation of WM? From design wise, is it feasible?
    Please advise what is the best approach and the feasible design on it.
    Many thanks in advance.
    Edited by: Daimos on May 13, 2009 10:15 AM

    Hi, here is the Pro and Co of both approaches:
    Method 01: Use existing SLOC and add the Storage Bin info
    e.g. SLOC: STM1
             Storage Bin: RSC3, where RS = Rack Seating, C3 = column 3
    Pro 01:
    It will cause less effort as we only need to use LSMW for material master to add in the Storage Bin data for all material of SCM.
    Pro 02:
    I have tested out that in TCode MIGO, apart from SLOC, the pertaining Storage Bin data also appear.  Based on my discuss with Xian Chen, sometimes they use MB1C(GR), MB1A(GI) rather than MIGO due to speed issue, I will need to check the field status if can have Storage Bin field APPEAR, if can, it will solve the problem
    Con 01:
    The Storage Bin information will only appear in MMBE (Stock Overview) but will not appear in the standard SAP Inventory Report (e.g. MB52 Warehouse Stock). To view it from SAP Inventory Report, we may need to customize the standard report to show the new field Storage Bin. It needs Abap effort.
    Con 02:
    We must have a very good naming convention for Storage Bin. And again, in the above example, if a material is put in SLOC STM1 at Storage Bin RA A1 or C4, it will set a very rigid rule in the future if we need to change it, as I fear that one the Storage Bin has been used up. It will not allow us to change (need to do testing to find out)
    Con 03:
    Do we have the time to define all the Storage Bin for each SLOC? Operation wise, the store personnel needs to design it
    Method 02: Use the new SLOC
    Pro 01:
    RSA1 = Raw materials warehouse, Seating division, Rack A, Zone 1. More organized. Easy to tell the material is at which  Rack and which Zone of the Rack.
    Assumption:
    01. we must not have too many rack for one Seating division and also not too many Zone for each
          Division, else it will cause confusion
    02. 1 material should stick to 1 Rack 1 zone as much as possible, else later the PP consultant will 
         have hard to to perform GI due to too many SLOC assigned to a material.
    Pro 02:
    In report wise, we are able to show the SLOC in inventory report. No need to enhance the existing inventory report as we do not use Storage Bin.
    Con 01:
    If there are too many SLOC creation due to it. It may cause problem for PP perform GI as too many selection available for a material. This can be avoided if stick to the General Rule that one material is tied with one SLOC.
    Edited by: Daimos on May 16, 2009 5:07 AM

  • I just upgraded to Mavarick.  I can no longer find my mailboxes in my e-mail.  I read to go to 'finder'/ go go to folder the type in ~/Library which I did and I eventually found all my mailboxes.  But I want them to be available from my e-mail.  How ?

    I just upgraded to Mavarick.  I can no longer find my mailboxes in my e-mail.  I went to 'finder', under 'go'> go to folder / mail and eventually I found all my missing mailboxes.  But I want them to show up as they used to, in my e-mail.  How do I get them back?

    .........and just wasted more time clicking on the 'chat online' link which of course does nothing.
    I'll be spending time searching for an alternative ISP instead. Absolutely sick of this.

  • New BT website = I can no longer find my mobile ac...

    Well done BT! For the 2nd month running I get the usual e-mail telling me my mobile bill is now available, only to find they've changed mybt.com and I can no longer see my mobile phone account, only my landline/broadband.
    I've wasted at least 10 minutes hunting for it.............it's not there to be found! And now I'll have to waste more time ringing them, which in my experience will result in at least 45 minutes of being put through to someone else, and then being told that they'll ring me back only they won't. 
    I hate talking to customer support and being polite and patient while they spend more time checking my account no. etc. than they do solving the problem, and then can't resolve it anyway.
    I'm fed up with having to constantly fuss over all these mundane, basic issues just to keep it all working.
    Is the only solution to 'go commando'?

    .........and just wasted more time clicking on the 'chat online' link which of course does nothing.
    I'll be spending time searching for an alternative ISP instead. Absolutely sick of this.

  • Can you do Green Screen/Blue Screen/Chroma Key on Adobe Premiere Elements 12 for mac?

    Can you do Green Screen/Blue Screen/Chroma Key on Adobe Premiere Elements 12 for mac?  If not, what are the alternatives?

    JimbobT
    ChromaKey, GreenScreen Key, and BlueScreen Key are not included in Premiere Elements Mac.
    Some suggest Videomerge as the alternative. I do not. But Videomerge is not THE alternative.
    Instead, I prefer the Difference Matte as a substitute for the 3 absent keying effects. Please check out my blog post on that which includes
    the how to.
    http://atr935.blogspot.com/2013/05/pe11-difference-matte-as-substitute-for.html
    The suggestion has met with good results according to the feedback that I have gotten to this.
    I am strictly a Premiere Elements Windows user who does not prefer Videomerge even in Windows.
    Please review, consider, and let us know the outcome.
    Thanks.
    ATR

  • VLC doesn't save streaming audio to mp3 anymore

    I want to save streaming audio from the internet to my HDD in mp3 format while listening to it at the same time.  That worked fine when I did it with VLC, using the GUI.  To be specific, here are the settings that I used:
    VLC main menu: File>Open Network Stream>Open...Network>tick HTTP/HTTPS/FTP/MMS and enter the URL (http://vruk.sc.llnwd.net:12265) >under Advanced Options tick Stream/Save and click on Settings (opens Stream Output window)>Outputs, tick Play locally, tick File, click on Browse and enter filename and location for the stream saving file, i.e. /home/robert/vlcout.mp3>Encapsulation method, tick on Raw>Transcoding options, tick on Audio codec and select mp3>Bitrate 128 kb/s, Channels 2>OK, OK, to start recording. Stop or Quit VLC, to stop recording.
    Two days ago I upgraded VLC from v.0.8.5-9 to v.0.8.6a-4 (which also upgraded ffmpeg from v.20060920-1 to v.20070131-1), and now the above procedure isn't working anymore.  The stream isn't playing anymore over my speakers while the encoding supposedly is going on, the vlcout.mp3 file is empty (0B), and VCL gives me the following error messages:
    stream_out_transcode error: cannot find encoder ((null))
    stream_out_transcode error: cannot create audio chain
    main error: cannot create packetizer output (mpga)
    It looks as though VLC is failing to encode the stream to mp3.  The VLC documentation (see http://www.videolan.org/streaming-features.html) in a table of "possible output formats for the transcoding module" says that for mp3 audio "you have to compile ffmpeg with libmp3lame support."  Has the new ffmpeg v.20070131-1 (in extra) been compiled without mp3 support?  If so, why?  Apparently, the older version I was using last week supported mp3.
    libmp3lame is installed on my system.  There is a very recent alternative ffmpeg-svn-8218-1 pkgbuild in AUR that enables libmp3lame in the configure section of the build but when I try to install the package built that way it conflicts with ffmpeg v.20070131-1, and to remove the official ffmpeg v.20070131-1 I'd first have to remove a slew of other packages that depend on it.
    Is it possible to remove VLC v.0.8.6a-4 and ffmpeg v.20070131-1 and go back to the older versions that worked for me?  There was talk of a bug in ffmpeg in this forum at the end of January; what about it?
    What should I do?
    Robert
    Last edited by RobF (2007-03-14 16:25:51)

    I solved the problem for now by downgrading both vlc and ffmpeg to the earlier versions that I was using before.  Saving an audio stream in mp3 format is working again now.
    I believe there are problems with the current versions of both vlc and ffmpeg.
    1. vlc 0.8.6a doesn't seem to have ffmpeg enabled, i.e.
    $ vlc --list | grep ffmpeg
    VLC media player 0.8.6a Janus
    whereas with the older version I get
    $ vlc --list | grep ffmpeg
    VLC media player 0.8.5 Janus
      ffmpeg                FFmpeg audio/video decoder/encoder ((MS)MPEG4,SVQ1,H263,WMV,WMA)
      ffmpeg                FFmpeg chroma conversion
      ffmpeg                FFmpeg audio/video encoder
      ffmpeg                FFmpeg demuxer
      ffmpeg                FFmpeg video filter
      ffmpeg                FFmpeg crop padd filter
      ffmpeg                FFmpeg deinterlace video filter
    2. The current package ffmpeg v.20070131-1 in extra may not refer to various libraries correctly in its configure parameters.  E.g. in AUR there is an alternative pkgbuild ffmpeg-svn 8218-1 from 04-Mar-2007 in which the original configure parameters were replaced as follows:
    --enable-mp3lame --> --enable-libmp3lame
    --enable-vorbis --> --enable-libvorbis
    --enable-faac --> --enable-libfaac
    --enable-faad --> --enable-libfaad
    --enable-a52 --> --enable-liba52
    --enable-dts --> --enable-libdts
    Has the ffmpeg package in extra been compiled with mp3 support which is needed for the transcoding module of vlc to encode in mp3 format?  The alternative ffmpeg package in AUR conflicts with the ffmpeg package from extra, and I don't know how to tell the new vlc to use the alternative package instead of the one from extra. 
    Someone ought to look into this.
    Robert

  • Cannot use multiple database in my application

    I have written a C++/CLI wrapper for use berkeleydb without lost performance. This wrapper run perfectly with one database but when i open a second database ( i create a new instance of the wrapper ) the application crash.
    I have written a minimal pure C++ application that use the pure C++ classe of my wrapper, when a open and use only one database the code run perfectly but with two databases, the application be crazy.
    infos : compiler VC++ 2008, OS : Vista 32bit
    this the code of my berkeleydb class :
    #pragma comment (lib, "libdb47.lib")
    #if defined(WIN32) || defined(WIN64)
    #include <windows.h>
    #include <list>
    #endif
    #ifndef ParamsStructCpp
    #include "ParamsStruct.h"
    #endif
    #include <db_cxx.h>
    #include "BerkeleyMethods.h"
    using namespace std;
    using namespace stdext;
    // type
    //typedef list<ParamsStructCpp>::iterator it;
    typedef list<ParamsStructCpp> fetchbuffer;
    // Db objects
    Db * db; // Database object
    DbEnv env(0); // Environment for transaction
    u_int32_t oFlags = DB_CREATE|DB_AUTO_COMMIT|DB_READ_UNCOMMITTED; // Open flags; //
    u_int32_t env_oFlags = DB_CREATE |
    DB_THREAD |
                             DB_INIT_LOCK |
                             DB_INIT_LOG |
                             DB_INIT_MPOOL |
                             DB_INIT_TXN |
                             DB_MULTIVERSION; // Flags for environement
    // Constructeurs
    BerkeleyMethods::BerkeleyMethods()
    BerkeleyMethods::BerkeleyMethods(char * dbname, unsigned int db_cache_gbyte, unsigned int db_cache_size,
                        int db_cache_number, int db_type, char * dberr_file, char * envdir, unsigned int dbtxn_timeout,
                             unsigned int dbtxn_max)
         strcpy_s(this->db_name, strlen(_db_name)+1, dbname);
         this->db_cache_gbyte = db_cache_gbyte;
    this->db_cache_size = db_cache_size;
         this->db_cache_number = db_cache_number;
    this->db_type = db_type;
         this->db_txn_timeout = dbtxn_timeout;
         this->db_txn_max = dbtxn_max;
         strcpy_s(this->db_err_file, strlen(_db_err_file)+1, dberr_file);
         strcpy_s(this->env_dir, strlen(_env_dir)+1, envdir);
         this->Set_restoremode(false);
    // ==========
    // Fonctions
    // http://www.codeproject.com/KB/string/UtfConverter.aspx
    bool BerkeleyMethods::OpenDatabase()
         try
              std::cout << "Dbname " << this->db_name << std::endl;
              if (strlen(this->db_name) < 2) {
    throw new std::exception("Database name is unset");
              // Set database cache
              env.set_cachesize(this->db_cache_gbyte, this->db_cache_size, this->db_cache_number);
              // Set transaction timeout
              if (this->db_txn_timeout > 0) {
                   env.set_timeout(this->db_txn_timeout, DB_SET_TXN_TIMEOUT);
    // Set max opened transactions
              if (this->db_txn_max > 0) {
                   env.set_tx_max(this->db_txn_max);
              // Dupplicate key support;
              if (this->Get_dup_support()) {
    env_oFlags = env_oFlags|DB_DUPSORT;
              // Deadlokcs gesture
              env.set_lk_detect(DB_LOCK_MINWRITE);
    // Set the error file
              env.set_errfile(fopen(this->db_err_file, "w+"));
    // Error prefix
              env.set_errpfx("Error > ");
              // Open environement
              env.open(this->env_dir, env_oFlags, 0);
              // Create database object
              db = new Db(&env, 0);
              // Open the database
              switch(this->db_type)
              case 1:
                   db->open(NULL, this->db_name, NULL, DB_BTREE, oFlags, 0);
                   break;
              case 2:
                   db->open(NULL, this->db_name, NULL, DB_HASH, oFlags, 0);
                   break;
              case 3:
                   db->open(NULL, this->db_name, NULL, DB_QUEUE, oFlags, 0);
                   break;
              case 4:
                   db->open(NULL, this->db_name, NULL, DB_RECNO, oFlags, 0);
                   break;
              default:
                   throw new std::exception("Database name is unset");
                   break;
              u_int32_t gbcacheSize = 0;
    u_int32_t bytecacheSize=0;
    int ncache=0;
    env.get_cachesize(&gbcacheSize,&bytecacheSize,&ncache);
    std::cerr << "Taille du cache est:" << gbcacheSize << "Go plus " << bytecacheSize << " octets." << std::endl;
    std::cerr << "Number of caches : " << ncache << std::endl;
              return true;
         catch(DbException &e)
              std::cout << e.what() << std::endl;
         catch(std::exception &e)
              std::cout << e.what() << std::endl;
         return false;
    bool BerkeleyMethods::CloseDatabase()
         try
              db->close(0);
              env.close(0);
              return true;
         catch(DbException &e)
              std::cout << e.what() << std::endl;
         catch(std::exception &e)
              std::cout << e.what() << std::endl;
         return false;
    bool BerkeleyMethods::AddData(char * key, unsigned long int value)
         if (this->Get_restoremode())
              return false;
         DbTxn * txn;
         try
              env.txn_begin(NULL, &txn, 0); // Bebin transaction
              // Set datas
    Dbt _key(key, strlen(key)+1);
    Dbt _value(&value, sizeof(unsigned long int));
              env.txn_checkpoint(512, 2, 0);
              int exist = db->put(txn, &_key, &_value, DB_NOOVERWRITE);
              if (exist == DB_KEYEXIST) {
                   std::cout << "This record already exist" << std::endl;
              txn->commit(0);
              return true;
         catch(DbException &e)
              std::cout << e.what() << std::endl;
              txn->abort();
         catch(...)
              std::cout << "Error" << std::endl;
              txn->abort();
         return false;
    bool BerkeleyMethods::AddData(unsigned long int key, char * value)
         if (this->Get_restoremode())
              return false;
         DbTxn * txn;
         try
              env.txn_begin(NULL, &txn, 0); // Bebin transaction
    Dbt _key(&key, sizeof(unsigned long int));
              Dbt _value(value, strlen(value)+1);
              env.txn_checkpoint(512, 2, 0);
              int exist = db->put(txn, &_key, &_value, DB_NOOVERWRITE);
              if (exist == DB_KEYEXIST) {
                   std::cout << "This record already exist" << std::endl;
              txn->commit(0);     
              return true;
         catch(DbException &e)
              std::cout << e.what() << std::endl;
              txn->abort();
         catch(...)
              txn->abort();
         return false;
    bool BerkeleyMethods::AddData(char * key, char * value)
         if (this->Get_restoremode())
              return false;
         DbTxn * txn;
         try
              env.txn_begin(NULL, &txn, 0); // Bebin transaction
    Dbt _key(key, strlen(key)+1);
              Dbt _value(value, strlen(value)+1);
              env.txn_checkpoint(512, 2, 0);
              int exist = db->put(txn, &_key, &_value, DB_NOOVERWRITE);
              if (exist == DB_KEYEXIST) {
                   std::cout << "This record already exist" << std::endl;
              txn->commit(0);     
              return true;
         catch(DbException &e)
              std::cout << e.what() << std::endl;
              txn->abort();
         catch(...)
              txn->abort();
         return false;
    bool BerkeleyMethods::AddData(unsigned long int key, unsigned long int value)
         if (this->Get_restoremode())
              return false;
         DbTxn * txn;
         try
              env.txn_begin(NULL, &txn, 0); // Bebin transaction
    Dbt _key(&key, sizeof(unsigned long int));
              Dbt _value(&value, sizeof(unsigned long int));
              env.txn_checkpoint(512, 2, 0);
              int exist = db->put(txn, &_key, &_value, DB_NOOVERWRITE);
              if (exist == DB_KEYEXIST) {
                   std::cout << "This record already exist" << std::endl;
              txn->commit(0);     
              return true;
         catch(DbException &e)
              std::cout << e.what() << std::endl;
              txn->abort();
         catch(...)
              txn->abort();
         return false;
    bool BerkeleyMethods::AddData(char * key, ParamsStructCpp value)
         if (this->Get_restoremode())
              return false;
         DbTxn * txn;
         try
              env.txn_begin(NULL, &txn, 0); // Bebin transaction
    Dbt _key(key, strlen(key)+1);
              Dbt _value(&value, sizeof(ParamsStructCpp));
              env.txn_checkpoint(512, 2, 0);
              int exist = db->put(txn, &_key, &_value, DB_NOOVERWRITE);
              if (exist == DB_KEYEXIST) {
                   std::cout << "This record already exist" << std::endl;
              txn->commit(0);     
              return true;
         catch(DbException &e)
              std::cout << e.what() << std::endl;
              txn->abort();
         catch(...)
              txn->abort();
         return false;
    bool BerkeleyMethods::AddData(unsigned long int key, struct ParamsStructCpp value)
         if (this->Get_restoremode())
              return false;
         DbTxn * txn;
         try
              env.txn_begin(NULL, &txn, 0); // Bebin transaction
    Dbt _key(&key, sizeof(unsigned long int));
              Dbt _value(&value, sizeof(ParamsStructCpp));
              env.txn_checkpoint(512, 2, 0);
              int exist = db->put(txn, &_key, &_value, DB_NOOVERWRITE);
              if (exist == DB_KEYEXIST) {
                   std::cout << "This record already exist" << std::endl;
              txn->commit(0);     
              return true;
         catch(DbException &e)
              std::cout << e.what() << std::endl;
              txn->abort();
         catch(...)
              txn->abort();
         return false;
    bool BerkeleyMethods::Exist(unsigned long int key)
         if (this->Get_restoremode())
              return true;
         DbTxn * txn;
         try
              env.txn_begin(NULL, &txn, DB_TXN_SNAPSHOT); // Bebin transaction
    Dbt _key(&key, sizeof(unsigned long int));
              int state = db->exists(txn, &_key, DB_READ_COMMITTED);
              txn->commit(0);
              if (state == 0) {
                   return true;
         catch(DbException &e)
              std::cout << e.what() << std::endl;
              txn->abort();
         catch(...)
              txn->abort();
         return false;
    bool BerkeleyMethods::Exist(char * key)
         if (this->Get_restoremode())
              return true;
         DbTxn * txn;
         try
              env.txn_begin(NULL, &txn, DB_TXN_SNAPSHOT); // Bebin transaction
              Dbt _key(key, strlen(key)+1);
              int state = db->exists(txn, &_key,DB_READ_COMMITTED);
              txn->commit(0);
              if (state == 0) {
                   return true;
         catch(DbException &e)
              std::cout << e.what() << std::endl;
              txn->abort();
         catch(...)
              txn->abort();
         return false;
    void BerkeleyMethods::GetData (char * pData, int nbr, unsigned long int key)
         if (this->Get_restoremode())
              return;
         DbTxn * txn;
         Dbc *dbcp;
         try
    env.txn_begin(NULL, &txn, DB_TXN_SNAPSHOT); // Bebin transaction
              db->cursor(txn, &dbcp, 0);
              Dbt _key;
              Dbt data;
              key.setdata(&key);
              key.setsize(sizeof(unsigned long int));
              dbcp->get(&_key, &data, DB_FIRST);
              char * temp = (char *)data.get_data();
    strcpy_s(pData, strlen(temp)+1, temp);
              dbcp->close();
              txn->commit(0);
         catch(DbException &e)
              std::cout << e.what() << std::endl;
              if (dbcp != NULL)
                   dbcp->close();
              if (txn != NULL)
                   txn->abort();
         catch(...)
              if (dbcp != NULL)
                   dbcp->close();
              if (txn != NULL)
                   txn->abort();
    unsigned long int BerkeleyMethods::GetData(char * key)
         if (this->Get_restoremode())
              return 0;
         DbTxn * txn;
         Dbc *dbcp;
         try
    env.txn_begin(NULL, &txn, DB_TXN_SNAPSHOT); // Bebin transaction
              db->cursor(txn, &dbcp, 0);
    Dbt _key;
              Dbt data;
              key.setdata(key);
              key.setulen(strlen(key)+1);
              dbcp->get(&_key, &data, DB_FIRST);
    unsigned long int xdata = *((unsigned long int *)data.get_data());
              dbcp->close();
              txn->commit(0);
              return xdata;
         catch(DbException &e)
              std::cout << e.what() << std::endl;
              dbcp->close();
              txn->abort();
         catch(...)
              dbcp->close();
              txn->abort();
         return 0;
    ParamsStructCpp * BerkeleyMethods::GetData(unsigned long int key, bool null)
         if (this->Get_restoremode()) {
              return new ParamsStructCpp();
         DbTxn * txn;
         Dbc *dbcp;
         try
    env.txn_begin(NULL, &txn, DB_TXN_SNAPSHOT); // Bebin transaction
              db->cursor(txn, &dbcp, 0);
              Dbt _key;
              Dbt data;
              key.setdata(&key);
              key.setsize(sizeof(unsigned long int));
    dbcp->get(&_key, &data, DB_FIRST);
              ParamsStructCpp * temp = (ParamsStructCpp *)data.get_data();
              dbcp->close();
              txn->commit(0);
              return temp;
         catch(DbException &e)
              std::cout << e.what() << std::endl;
              dbcp->close();
              txn->abort();
         catch(...)
              dbcp->close();
              txn->abort();
         return new ParamsStructCpp();
    ParamsStructCpp * BerkeleyMethods::GetData(char * key, bool null)
         if (this->Get_restoremode()) {
              return new ParamsStructCpp();
         DbTxn * txn;
         Dbc *dbcp;
         try
    env.txn_begin(NULL, &txn, DB_TXN_SNAPSHOT); // Bebin transaction
              db->cursor(txn, &dbcp, 0);
    Dbt _key;
              Dbt data;
              key.setdata(key);
              key.setulen(strlen(key)+1);
              dbcp->get(&_key, &data, DB_FIRST);
    ParamsStructCpp * xdata = (ParamsStructCpp *)data.get_data();
              dbcp->close();
              txn->commit(0);
              return xdata;
         catch(DbException &e)
              std::cout << e.what() << std::endl;
              dbcp->close();
              txn->abort();
         catch(...)
              dbcp->close();
              txn->abort();
         return new ParamsStructCpp();
    list<ParamsStruct> BerkeleyMethods::FetchAllDatabase ()
         list<ParamsStruct> temp;
         Dbc *dbcp;
         try
              db->cursor(NULL, &dbcp, 0);
    Dbt _key;
              Dbt data;
    while(dbcp->get(&_key, &data, DB_NEXT))
                   unsigned long int key = *((unsigned long int *)_key.get_data());
                   char * datetime = (char *)data.get_data();
                   ParamsStruct p;
                   strcpy_s(p.lastaccess, strlen(datetime)+1, datetime);
                   p.downloaded
                   temp.push_back(
                   //temp.insert(Tuple(datetime, key));
         catch(DbException &e)
              std::cout << e.what() << std::endl;
         catch(...)
         return temp;
    bool BerkeleyMethods::DeleteData(unsigned long int key)
         if (this->Get_restoremode())
              return true;
         DbTxn * txn;
         try
              env.txn_checkpoint(128, 1, 0);
              env.txn_begin(NULL, &txn, 0); // Bebin transaction
    Dbt _key;
              key.setdata(&key);
              key.setsize(sizeof(unsigned long int));
              db->del(txn, &_key, 0);
              txn->commit(0);
              return true;
         catch(DbException &e)
              std::cout << e.what() << std::endl;
              txn->abort();
         catch(...)
              txn->abort();
         return false;;
    bool BerkeleyMethods::DeleteData(char * key)
         if (this->Get_restoremode())
              return true;
         DbTxn * txn;
         try
              env.txn_begin(NULL, &txn, 0); // Bebin transaction
    Dbt _key;
              key.setdata(key);
              key.setulen(strlen(key)+1);
              db->del(txn, &_key, 0);
              txn->commit(0);
              return true;
         catch(DbException &e)
              std::cout << e.what() << std::endl;
              txn->abort();
         catch(...)
              txn->abort();
         return false;
    int BerkeleyMethods::Sync()
         if (this->Get_restoremode())
              return -1;
         try
              return db->sync(0);
         catch(...)
    return -1;
    int BerkeleyMethods::Count()
         if (this->Get_restoremode())
              return -1;
         Dbc *dbcp;
         int count = 0;
         try
    Dbt key;
              Dbt data;
              db->cursor(NULL, &dbcp, 0);
              while (dbcp->get(&key, &data, DB_NEXT) == 0) {
    count++;
              dbcp->close();
              return count;
         catch(...)
    return -1;
    BerkeleyMethods::~BerkeleyMethods()
         if (db) {
         db->sync(0);
    db->close(0);
         env.close(0);
    =====
    The code the use this class :
         BerkeleyMethods db("test.db", 0, 524288000, 1, 1, "log.txt", "./Env_dir", 1000000 * 5, 600000);
                   BerkeleyMethods db1("test2.db", 0, 524288000, 1, 1, "log2.txt", "./Env_dir2", 1000000 * 5, 600000);
    bool z = db.OpenDatabase();
    db1.OpenDatabase();
    if (z)
                        std::cout << "Base de données ouverte" << std::endl;
                   for (unsigned int i = 0; i < 1000; i++)
                        ParamsStructCpp p = { 10, "02/08/2008 14:46:23", 789 };
                   bool a = db.AddData(i, p);
                        db1.AddData(i, p);
    if (a)
                        std::cout << "Ajout de données ok" << std::endl;
                   for (unsigned int i = 0; i < 1000; i++)
                        ParamsStructCpp * c = db.GetData(i, false);
                        ParamsStructCpp * c1 = db1.GetData(i, false);
                        std::cout << "Donné récupéré " << c->downloaded << " : " << c->lastaccess << " : " << c->waittime << std::endl;
                        std::cout << "Donné récupéré " << c1->downloaded << " : " << c1->lastaccess << " : " << c1->waittime << std::endl;
    / ====
    The application output show that when using two database the data is not correctly set. It seems that db and db1 is the same object :|.
    For example in db i insert a key => toto with value 4, and in db1 i insert the same value nomaly have no problem. But berkeleydb say the the key toto in db1 already exist while not
    I don't understand.
    NB : sorry for my english

    Michael Cahill wrote:
    As a side note, it is unlikely that you want both
    DB_READ_UNCOMMITTED and DB_MULTIVERSION to be set.
    This combination pays a price during updates for
    maintaining multiple versions, but still requires
    (short term) locks to be held during reads. The BDB/XML Transaction Processing Guide states the following:
    [...]in addition to BDB XML's normal degrees of isolation, you can also use snapshot isolation. This allows you to avoid the read locks that serializable isolation requires.
    http://www.oracle.com/technology/documentation/berkeley-db/xml/gsg_xml_txn/cxx/isolation.html
    This seems to contradict what you're saying here.
    Is there a general guideline on whether or not to use MVCC together with a relaxed isolation degree like DB_READ_UNCOMMITTED? Should the statement in the BDB/XML TP Guide rather have "as an alternative to" instead of "in addition to"?
    Michael Ludwig

  • Print Screen of SAPscript for 1099-misc shows wrong vendor

    When I run report RFW 1099M and go to SAPscript&Download on the menu and do a screen print, the vendor information is picked from the "Alternative Payee" instead of the actual vendor. How can I change it? Is the problem coming from the report RFW 1099M? When I delete the alternative payee from the vendor master, it doesn't fix the problem.
    Example when I run the report I get the following:
    Cocd             Account                          Vendor                     Telephone         WT              Tax number
    KBL               XXXXXXX                          xXXXXX                       XXXXXX            X                    XXXXXX
    CBC               XXXXXXX                          XXXXXX                       XXXXXX            X                    XXXXXX
    The second vendor is the alternative payee in the vendor master of the first vendor. When I go to the menu and do SAPScript &Download --> SAPscrip (F7) --> Print Preview, the vendor number on the LOCL page is the Alternative Payee, not the first vendor as it is supposed to be. When I delete the alternative payee in Xk02, it doesn't fix the problem.

    Hi Praveen,
    Thanks a lot for the input.
    Yes I tried downloading the file and the amount shows correctly for both upper and lower part.
    Infact I have already checked sapscript form and found in std program the amount in lower form is assigned to bset-fwbase field and sapscript forms prints the value
    in field *bset-fwbase. so its only changing the assignment in td prg.
    But before doing the repair ...I just wanted to know if there is some notes provided for this so that we dont have to touch std code..
    let me know if u r aware of any...
    Thanks
    Pankaj

Maybe you are looking for

  • How to resolve error ORA-29491: invalid table for chunking?

    Hello, I'm trying to implement DBMS_PARALLEL_EXECUTE to speed up a huge update I need to do. I'm stuck on a problem with the table I'm using to test my procedure. Here's a simple test that produces the same error. As best I can tell, the table I'm de

  • Tone Curve Region Sliders ?

    Please explain how you can identify an area of an image that could benefit from adjustments using the Tone Curve Region Sliders, and explain how to set the sliders to get the effect you want. Thank you.

  • Stand speaker with charger and it has the function to make phone calls

    Dear Team, kindly advise me if I could get accessory on my I-phone 6, as below description: Stand Charger + speaker with the function enabling receiving phone calls at same time align with speaker.

  • Ipods and mp3

    Can my ipod read books formatted as mp3? Marty

  • Most annoying error in the world

    Hi, I've been having problems with the following code: public static Person[] calcRelative(Person[] calcArray, int len){      for(int p =0; p<len ; p++) {                     int convert = Integer.parseInt(calcArray[p].Num);           calcArray[p].Fa