Calendar.add for Central African Timezone (GMT +2)

Hi all,
I am trying to add x days to 1900-01-01 06:00 at the Central African Timezone (GMT +2). However, the result from simple Calendar.add(Calender.DATE, numDays) is giving me 4 min and 12 seconds less. This only happens when the final date pass March 1, 1903 (which is the only DST day of Central African).
ie:
origDate = 1900-01-01 06:00 CAT
numDaysToAdd = 1154
resultDate = 1903-03-01 05:55:48 CAT (instead of 06:00)
I searched around the bug database and someone suggests to always use GMT to do calendar calculation. However, with that, I will get 2 extra hours.
ie:
origDate = 1900-01-01 06:00 CAT
numDaysToAdd = 1154
resultDate = 1903-03-01 08:00:00 CAT (instead of 06:00)
Any idea on how to work this out?
Here is the test code:
import java.util.*;
import java.math.*;
public class Test2
public static void main(String[] args) {
TimeZone.setDefault(TimeZone.getTimeZone("Africa/Harare"));
// Create a date set the Time to 1900/01/01 06:00 AM
Calendar now = Calendar.getInstance();
          now.set(1900, 0, 1, 6, 0, 0);
          Date d = new Date(now.getTimeInMillis());
          System.out.println(d.toString());          
     System.out.println();
          // try to add 1154 days to d with GMT timezone
          Date d2 = addDaysWithGMT(d, 1154);
          System.out.println("Extra two hours: " + d2.toString());
          System.out.println();
          // try to add 1154 days to d with original timezone
          d2 = addDays(d, 1154);
          System.out.println("Missing 4 minutes and 12 seconds: " + d2.toString());
     public static Date addDaysWithGMT(Date d, int days) {
Calendar now=Calendar.getInstance();
          now.setTimeZone(TimeZone.getTimeZone("GMT"));
          now.set(d.getYear() + 1900, d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds());
          System.out.println("after set: " + now.getTime());
          now.add(Calendar.DATE,days);
          System.out.println("after add: " + now.getTime());
          now.setTimeZone(TimeZone.getDefault());
          return new Date(now.getTimeInMillis());
     public static Date addDays(Date d, int days) {
Calendar now=Calendar.getInstance();
          now.set(d.getYear() + 1900, d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds());
          System.out.println("after set: " + now.getTime());
          now.add(Calendar.DATE,days);
          System.out.println("after add: " + now.getTime());
          return new Date(now.getTimeInMillis());
Any help would be appreciated.
Thanks,
Winnie

Not going to read all that, especially with the unformatted code. However, a couple of things leap out at me.
* 1903
* 4 min., 12 sec.
As a rough guess, this sounds like an accumulation of leap seconds.
As a second out-of-my-butt guess--this TZ might be one of the less common/"popular"/well-known ones, so it's possible that it has various adjustments to its rules over the years. Note that I don't really know what I'm talking about here--just venting a vague gut feeling.

Similar Messages

  • Error in Calendar.add (almost) evey last Monday of March

    Is the following a known bug? I am running under Windows 2000 and using
    C:\jdk1.4>java -version
    java version "1.4.1"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-b21)
    Java HotSpot(TM) Client VM (build 1.4.1-b21, mixed mode)
    * Filename: CalendarBug.java
    * Every last Monday of March (except those with a whole week after it),
    * gives a wrong result when subtracting 24 hours with the Calendar.add function.
    * These specific dates give -25 hours...
    * Selected output:
    * Set date: Mon Mar 26 00:00:00 CEST 2001
    * -->Adjusted 24 hours: Sat Mar 24 23:00:00 CET 2001
    * Set date: Mon Mar 25 00:00:00 CET 2002
    * Adjusted 24 hours: Sun Mar 24 00:00:00 CET 2002
    * Set date: Mon Mar 31 00:00:00 CEST 2003
    * -->Adjusted 24 hours: Sat Mar 29 23:00:00 CET 2003
    * Set date: Mon Mar 29 00:00:00 CEST 2004
    * -->Adjusted 24 hours: Sat Mar 27 23:00:00 CET 2004
    * Does anyone care to explain?
    * The result is the same when substituting seedDate.add(Calendar.HOUR,-24) with
    * - seedDate.add(Calendar.HOUR_OF_DAY,-24)
    * - seedDate.add(Calendar.MINUTE, -24*60)
    * Date Created: 25. september 2003 09:53:20
    * Written by: Skjalg Bjorndal
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
    public class CalendarBug {
        GregorianCalendar seedDate = new GregorianCalendar();
        public void lastMondayInMarch(int year, int month, int date) {
            System.out.println("   ------- Year: " + year + " ----------");
            for (int i = 0; i < 10; i++) {
                System.out.println("   ---------- " + i + " ----------");
                seedDate.set(year, month, date + i);
                seedDate.setTime(zeroTime(seedDate.getTime()));
                System.out.println("   Set date:          " + seedDate.getTime().toString());
                seedDate.add(Calendar.HOUR, -24);
                if (seedDate.get(Calendar.HOUR_OF_DAY) != 0) {
                    System.out.print("-->");
                } else {
                    System.out.print("   ");
                System.out.println("Adjusted 24 hours: " + seedDate.getTime().toString());
            System.out.println("");
        private Date zeroTime(Date date) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            // Zero out time:
            cal.set(Calendar.HOUR_OF_DAY, 0);
            cal.set(Calendar.MINUTE, 0);
            cal.set(Calendar.SECOND, 0);
            cal.set(Calendar.MILLISECOND, 0);
            return cal.getTime();
        public static void main(String args[]) {
            CalendarBug aBug = new CalendarBug();
            aBug.lastMondayInMarch(2001, 2, 19);
            aBug.lastMondayInMarch(2002, 2, 18);     // OK - hole week after last Monday of month
            aBug.lastMondayInMarch(2003, 2, 24);
            aBug.lastMondayInMarch(2004, 2, 22);

    Thanks for both of your prompt replies!
    The number of hours to be subtracted is configurable in a property file in the program in which the problem arose. I.e. it could be 1, 23, 24, 120 or whatever...
    My solution will be to download 1.4.2, as kurisu1 pointed out would solve the problem.
    Until we tested the rest of the code with 1.4.2, I will reprogram and use the seedDate.add(Calendar.DATE, -1); as a temporary work around.
    Best regards
    __Skjalg

  • Calendar help for Date i/p field in SRM 5.0 shopping cart

    Hi All,
    I am working on SRM 5.0..I have a requirement for the addition of custom field ie. lease termination date field on SRM shopping cart screen and having a calendar help for this date input field.
    Has anyone tried to add calendar help for an input date field in the ITS service??What all additions have to be done for this(style,images etc)...Does any one has any idea?Please help.
    Thanks & Regards,
    K rav.

    Disha can you please send me these images.
    IMAGES/CALENDAR/ICO12_CALENDAR.GIF
    IMAGES/CALENDAR/LEFT1.GIF
    IMAGES/CALENDAR/LEFT2.GIF
    IMAGES/CALENDAR/RIGHT1.GIF
    IMAGES/CALENDAR/RIGHT2.GIF
    my email id: [email protected]
    and should i store these images in mime repository? Also I have the below code to be attached in template for calendar function give by Zakhar..do you know where exactly in the template do you insert this code? and do you insert it in the standard template itself. My field will appear in shopping cart line item level (CUF field) so what will be the template number??
    <input type=text
              id="`ZAPPSSPR_INCL_ITEM_CSF_AVL-ZZSPR_DKK_DATE.name`"
              name="`ZAPPSSPR_INCL_ITEM_CSF_AVL-ZZSPR_DKK_DATE.name`"
              value="`ZAPPSSPR_INCL_ITEM_CSF_AVL-ZZSPR_DKK_DATE.value`"
              onBlur="BBP_ITS_EXTW_CloseCalendar()" maxlength="10" size="10">
         <a id="a_ZAPPSSPR_INCL_ITEM_CSF_AVL-ZZSPR_DKK_DATE" name="a_ZAPPSSPR_INCL_ITEM_CSF_AVL-ZZSPR_DKK_DATE"
             href="javascript:BBP_ITS_EXTW_OpenCalendarDomRel(window.document.BBPForm.elements['`<b>zappsspr_incl_item_csf_avl-zzspr_dkk_date.name</b>`'], 'a_ZAPPSSPR_INCL_ITEM_CSF_AVL-ZZSPR_DKK_DATE')">
      <img src="/sap/public/bc/its/mimes/bbpglobal/99/images/calendar/ico12_calendar.gif" border="0"></a>
    Thanks,
    Krupa

  • Calendar Sync for Palm won't install Conduit

    Hi, I'm trying to install Calendar Sync for Palm 10.1 on Windows 2K. Installation proceeds with no errors, but the conduit does not appear in the Hotsynch conduit list. It does remove the default conduits for Calendar, Date Book and To-Do. I've tried uninstalling Palm Desktop and Calendar synch, and reinstalling them, no luck. HotSynch works fine with the conduits that are left, and works with the default conduits if I don't install the Oracle Calendar Synch. I can't find any mention of this problems on the forum, does anyone have an idea of what could cause it?
    Thanks.

    There's a bug on the conduits as to were to find needed DLLs. It depends on setting itself in the path via environment variables.
    The thing is that the conduits are not compatible with other Oracle client installations, which also add themselves to the path. An example is Oracle's Instant Client.
    Check your system's path to see if you have any other Oracle client directories before CalSync's directory.
    I had a TAR created for this and supposedly they will be 'patching' it for next version...

  • Calendar Sync for Palm and encryption

    We are converting our Calendar Server to always use encryption. We're not finding any way to specify the encryption in the Calendar Sync conduit. Did we miss it somewhere? If not, how do we force the Calendar Sync for Palm to use encryption?

    There's a bug on the conduits as to were to find needed DLLs. It depends on setting itself in the path via environment variables.
    The thing is that the conduits are not compatible with other Oracle client installations, which also add themselves to the path. An example is Oracle's Instant Client.
    Check your system's path to see if you have any other Oracle client directories before CalSync's directory.
    I had a TAR created for this and supposedly they will be 'patching' it for next version...

  • Calendar Functionality for a date field in HTML of  a ITS service

    Hi
    I am working with SRM EBP module we want to add date help(with calendar function) to existign date fields in Shopping cart and PO screens . I found some HTML and Javascripts in SYSTEM and BBPGLOBAL services (named as calendar)but not sure which ones to use if anyone used date functionality or even have access to Standard SAP ITS screens that already have date field with calendar fuctionality can you help???????????????
    Thanks in Advance

    Hi
    Let me first thank you for the quick response and timely help you provided calendar popup works great but one minor issue i am not able to click on the date entry and bring the field back into the field not sure if this funcitonality is in show_calendar.
    I would really appreciate if you get time to look at below i am almost there with your help......thanks again
    Here are the steps I did
    I have a HTML page  SAPLBBP_SC_UI_ITS screen 300 in SRM module , I created a new HTML page (zcalendar.html) in the same internet service BBPSC01 as suggested and I included in my HTML page SAPLBBP_SC_UI_ITS screen 300 and also I added below code to add a icon and a href call to the show_calendar function.
    Code works great I get the popup but when I double click on the date it is not selecting the date into the field back .
    Any thoughts??????
    <!-- Start ghantavine -->
    `include (~service="bbpsc01", ~name="zcalendar.html")`
    <!-- End ghantavine -->
    <!--    10/24/05 ghantavine--delivary date  -->
    `TR()`
        `if (GS_SCR_BASIC_I-DELIV_DATE.visible)`    
         `TR()`                                    
           `if (gs_scr_basic_i-deliv_date.disabled)`
              `TD(class="label", nowrap="x",
    active="")``TXT_BASIC_I-DELIV_DATE.label` 
              `TD(class="label", nowrap="x", active="")``gs_scr_basic_i-deliv_date.value`
            `else`  
                `TD(class="label", nowrap="x", active="")`<label
    for="`GS_SCR_BASIC_I-DELIV_DATE.name`">`TXT_BASIC_I-DELIV_DATE.label`</label>     
                `TD(class="data",  nowrap="x")`  
                <input type="text" id="GS_SCR_BASIC_I-DELIV_DATE"
    name="GS_SCR_BASIC_I-DELIV_DATE"  value="`GS_SCR_BASIC_I-DELIV_DATE.value`"
    maxlength="010" size="008">          
           <a href=http://mail.yahoo.com/config/login?/"_javascript:show_calendar();">
           <img id="anchor1" src="`mimeurl(~service="bbpglobal",
    ~name="images/button/f4.gif", ~language="", ~theme="99")`" />
           </a>
             `end`
          `TR()` `Lines()`
        `end`
    <!--      10/24/05 ghantavine--delivary date    -->
    below is the showcalendar code
    Hi , u save this as a html file and call this show_calendar fn  from Onclick button of your Calendar image .
    //  For generating the calendar
    var weekend = [0,6];
    var weekendColor = "#e0e0e0";
    var fontface = "Verdana";
    var fontsize = 2;
    var gNow = new Date();
    var ggWinCal;
    isNav = (navigator.appName.indexOf("Netscape") != -1) ? true : false;
    isIE = (navigator.appName.indexOf("Microsoft") != -1) ? true : false;
    Calendar.Months = ["January", "February", "March", "April", "May", "June",
    "July", "August", "September", "October", "November", "December"];
    // Non-Leap year Month days..
    Calendar.DOMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    // Leap year Month days..
    Calendar.lDOMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    function Calendar(p_item, p_WinCal, p_month, p_year, p_format) {
         if ((p_month == null) && (p_year == null))     return;
         if (p_WinCal == null)
              this.gWinCal = ggWinCal;
         else
              this.gWinCal = p_WinCal;
         if (p_month == null) {
              this.gMonthName = null;
              this.gMonth = null;
              this.gYearly = true;
         } else {
              this.gMonthName = Calendar.get_month(p_month);
              this.gMonth = new Number(p_month);
              this.gYearly = false;
         this.gYear = p_year;
         this.gFormat = p_format;
         this.gBGColor = "white";
         this.gFGColor = "black";
         this.gTextColor = "black";
         this.gHeaderColor = "black";
         this.gReturnItem = p_item;
    Calendar.get_month = Calendar_get_month;
    Calendar.get_daysofmonth = Calendar_get_daysofmonth;
    Calendar.calc_month_year = Calendar_calc_month_year;
    Calendar.print = Calendar_print;
    function Calendar_get_month(monthNo) {
         return Calendar.Months[monthNo];
    function Calendar_get_daysofmonth(monthNo, p_year) {
         Check for leap year ..
         1.Years evenly divisible by four are normally leap years, except for...
         2.Years also evenly divisible by 100 are not leap years, except for...
         3.Years also evenly divisible by 400 are leap years.
         if ((p_year % 4) == 0) {
              if ((p_year % 100) == 0 && (p_year % 400) != 0)
                   return Calendar.DOMonth[monthNo];
              return Calendar.lDOMonth[monthNo];
         } else
              return Calendar.DOMonth[monthNo];
    function Calendar_calc_month_year(p_Month, p_Year, incr) {
         Will return an 1-D array with 1st element being the calculated month
         and second being the calculated year
         after applying the month increment/decrement as specified by 'incr' parameter.
         'incr' will normally have 1/-1 to navigate thru the months.
         var ret_arr = new Array();
         if (incr == -1) {
              // B A C K W A R D
              if (p_Month == 0) {
                   ret_arr[0] = 11;
                   ret_arr[1] = parseInt(p_Year) - 1;
              else {
                   ret_arr[0] = parseInt(p_Month) - 1;
                   ret_arr[1] = parseInt(p_Year);
         } else if (incr == 1) {
              // F O R W A R D
              if (p_Month == 11) {
                   ret_arr[0] = 0;
                   ret_arr[1] = parseInt(p_Year) + 1;
              else {
                   ret_arr[0] = parseInt(p_Month) + 1;
                   ret_arr[1] = parseInt(p_Year);
         return ret_arr;
    function Calendar_print() {
         ggWinCal.print();
    function Calendar_calc_month_year(p_Month, p_Year, incr) {
         Will return an 1-D array with 1st element being the calculated month
         and second being the calculated year
         after applying the month increment/decrement as specified by 'incr' parameter.
         'incr' will normally have 1/-1 to navigate thru the months.
         var ret_arr = new Array();
         if (incr == -1) {
              // B A C K W A R D
              if (p_Month == 0) {
                   ret_arr[0] = 11;
                   ret_arr[1] = parseInt(p_Year) - 1;
              else {
                   ret_arr[0] = parseInt(p_Month) - 1;
                   ret_arr[1] = parseInt(p_Year);
         } else if (incr == 1) {
              // F O R W A R D
              if (p_Month == 11) {
                   ret_arr[0] = 0;
                   ret_arr[1] = parseInt(p_Year) + 1;
              else {
                   ret_arr[0] = parseInt(p_Month) + 1;
                   ret_arr[1] = parseInt(p_Year);
         return ret_arr;
    // This is for compatibility with Navigator 3, we have to create and discard one object before the prototype object exists.
    new Calendar();
    Calendar.prototype.getMonthlyCalendarCode = function() {
         var vCode = "";
         var vHeader_Code = "";
         var vData_Code = "";
         // Begin Table Drawing code here..
         vCode = vCode + "<TABLE BORDER=1 BGCOLOR=\"" + this.gBGColor + "\">";
         vHeader_Code = this.cal_header();
         vData_Code = this.cal_data();
         vCode = vCode + vHeader_Code + vData_Code;
         vCode = vCode + "</TABLE>";
         return vCode;
    Calendar.prototype.show = function() {
         var vCode = "";
         this.gWinCal.document.open();
         // Setup the page...
         this.wwrite("<html>");
         this.wwrite("<head><title>Calendar</title>");
         this.wwrite("</head>");
         this.wwrite("<body " +
              "link=\"" + this.gLinkColor + "\" " +
              "vlink=\"" + this.gLinkColor + "\" " +
              "alink=\"" + this.gLinkColor + "\" " +
              "text=\"" + this.gTextColor + "\">");
         this.wwriteA("<FONT FACE='" + fontface + "' SIZE=2><B>");
         this.wwriteA(this.gMonthName + " " + this.gYear);
         this.wwriteA("</B><BR>");
         // Show navigation buttons
         var prevMMYYYY = Calendar.calc_month_year(this.gMonth, this.gYear, -1);
         var prevMM = prevMMYYYY[0];
         var prevYYYY = prevMMYYYY[1];
         var nextMMYYYY = Calendar.calc_month_year(this.gMonth, this.gYear, 1);
         var nextMM = nextMMYYYY[0];
         var nextYYYY = nextMMYYYY[1];
         this.wwrite("<TABLE WIDTH='100%' BORDER=1 CELLSPACING=0 CELLPADDING=0 BGCOLOR='#e0e0e0'><TR><TD ALIGN=center>");
         this.wwrite("[<A HREF=\"" +
              "javascript:window.opener.Build(" +
              "'" + this.gReturnItem + "', '" + this.gMonth + "', '" + (parseInt(this.gYear)-1) + "', '" + this.gFormat + "'" +
              ");" +
              "\"><<<\/A>]</TD><TD ALIGN=center>");
         this.wwrite("[<A HREF=\"" +
              "javascript:window.opener.Build(" +
              "'" + this.gReturnItem + "', '" + prevMM + "', '" + prevYYYY + "', '" + this.gFormat + "'" +
              ");" +
              "\"><<\/A>]</TD><TD ALIGN=center>");
         this.wwrite("[<A HREF=\"javascript:window.print();\">Print</A>]</TD><TD ALIGN=center>");
         this.wwrite("[<A HREF=\"" +
              "javascript:window.opener.Build(" +
              "'" + this.gReturnItem + "', '" + nextMM + "', '" + nextYYYY + "', '" + this.gFormat + "'" +
              ");" +
              "\">><\/A>]</TD><TD ALIGN=center>");
         this.wwrite("[<A HREF=\"" +
              "javascript:window.opener.Build(" +
              "'" + this.gReturnItem + "', '" + this.gMonth + "', '" + (parseInt(this.gYear)+1) + "', '" + this.gFormat + "'" +
              ");" +
              "\">>><\/A>]</TD></TR></TABLE><BR>");
         // Get the complete calendar code for the month..
         vCode = this.getMonthlyCalendarCode();
         this.wwrite(vCode);
         this.wwrite("</font></body></html>");
         this.gWinCal.document.close();
    Calendar.prototype.showY = function() {
         var vCode = "";
         var i;
         var vr, vc, vx, vy;          // Row, Column, X-coord, Y-coord
         var vxf = 285;               // X-Factor
         var vyf = 200;               // Y-Factor
         var vxm = 10;               // X-margin
         var vym;                    // Y-margin
         if (isIE)     vym = 75;
         else if (isNav)     vym = 25;
         this.gWinCal.document.open();
         this.wwrite("<html>");
         this.wwrite("<head><title>Calendar</title>");
         this.wwrite("<style type='text/css'>\n<!--");
         for (i=0; i<12; i++) {
              vc = i % 3;
              if (i>=0 && i<= 2)     vr = 0;
              if (i>=3 && i<= 5)     vr = 1;
              if (i>=6 && i<= 8)     vr = 2;
              if (i>=9 && i<= 11)     vr = 3;
              vx = parseInt(vxf * vc) + vxm;
              vy = parseInt(vyf * vr) + vym;
              this.wwrite(".lclass" + i + " {position:absolute;top:" + vy + ";left:" + vx + ";}");
         this.wwrite("-->\n</style>");
         this.wwrite("</head>");
         this.wwrite("<body " +
              "link=\"" + this.gLinkColor + "\" " +
              "vlink=\"" + this.gLinkColor + "\" " +
              "alink=\"" + this.gLinkColor + "\" " +
              "text=\"" + this.gTextColor + "\">");
         this.wwrite("<FONT FACE='" + fontface + "' SIZE=2><B>");
         this.wwrite("Year : " + this.gYear);
         this.wwrite("</B><BR>");
         // Show navigation buttons
         var prevYYYY = parseInt(this.gYear) - 1;
         var nextYYYY = parseInt(this.gYear) + 1;
         this.wwrite("<TABLE WIDTH='100%' BORDER=1 CELLSPACING=0 CELLPADDING=0 BGCOLOR='#e0e0e0'><TR><TD ALIGN=center>");
         this.wwrite("[<A HREF=\"" +
              "javascript:window.opener.Build(" +
              "'" + this.gReturnItem + "', null, '" + prevYYYY + "', '" + this.gFormat + "'" +
              ");" +
              "\" alt='Prev Year'><<<\/A>]</TD><TD ALIGN=center>");
         this.wwrite("[<A HREF=\"javascript:window.print();\">Print</A>]</TD><TD ALIGN=center>");
         this.wwrite("[<A HREF=\"" +
              "javascript:window.opener.Build(" +
              "'" + this.gReturnItem + "', null, '" + nextYYYY + "', '" + this.gFormat + "'" +
              ");" +
              "\">>><\/A>]</TD></TR></TABLE><BR>");
         // Get the complete calendar code for each month..
         var j;
         for (i=11; i>=0; i--) {
              if (isIE)
                   this.wwrite("<DIV ID=\"layer" + i + "\" CLASS=\"lclass" + i + "\">");
              else if (isNav)
                   this.wwrite("<LAYER ID=\"layer" + i + "\" CLASS=\"lclass" + i + "\">");
              this.gMonth = i;
              this.gMonthName = Calendar.get_month(this.gMonth);
              vCode = this.getMonthlyCalendarCode();
              this.wwrite(this.gMonthName + "/" + this.gYear + "<BR>");
              this.wwrite(vCode);
              if (isIE)
                   this.wwrite("</DIV>");
              else if (isNav)
                   this.wwrite("</LAYER>");
         this.wwrite("</font><BR></body></html>");
         this.gWinCal.document.close();
    Calendar.prototype.wwrite = function(wtext) {
         this.gWinCal.document.writeln(wtext);
    Calendar.prototype.wwriteA = function(wtext) {
         this.gWinCal.document.write(wtext);
    Calendar.prototype.cal_header = function() {
         var vCode = "";
         vCode = vCode + "<TR>";
         vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Sun</B></FONT></TD>";
         vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Mon</B></FONT></TD>";
         vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Tue</B></FONT></TD>";
         vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Wed</B></FONT></TD>";
         vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Thu</B></FONT></TD>";
         vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Fri</B></FONT></TD>";
         vCode = vCode + "<TD WIDTH='16%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Sat</B></FONT></TD>";
         vCode = vCode + "</TR>";
         return vCode;
    Calendar.prototype.cal_data = function() {
         var vDate = new Date();
         vDate.setDate(1);
         vDate.setMonth(this.gMonth);
         vDate.setFullYear(this.gYear);
         var vFirstDay=vDate.getDay();
         var vDay=1;
         var vLastDay=Calendar.get_daysofmonth(this.gMonth, this.gYear);
         var vOnLastDay=0;
         var vCode = "";
         Get day for the 1st of the requested month/year..
         Place as many blank cells before the 1st day of the month as necessary.
         vCode = vCode + "<TR>";
         for (i=0; i<vFirstDay; i++) {
              vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(i) + "><FONT SIZE='2' FACE='" + fontface + "'> </FONT></TD>";
         // Write rest of the 1st week
         for (j=vFirstDay; j<7; j++) {
              vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j) + "><FONT SIZE='2' FACE='" + fontface + "'>" +
                   "<A HREF='#' " +
                        "onClick=\"self.opener.document." + this.gReturnItem + ".value='" +
                        this.format_data(vDay) +
                        "';window.close();\">" +
                        this.format_day(vDay) +
                   "</A>" +
                   "</FONT></TD>";
              vDay=vDay + 1;
         vCode = vCode + "</TR>";
         // Write the rest of the weeks
         for (k=2; k<7; k++) {
              vCode = vCode + "<TR>";
              for (j=0; j<7; j++) {
                   vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j) + "><FONT SIZE='2' FACE='" + fontface + "'>" +
                        "<A HREF='#' " +
                             "onClick=\"self.opener.document." + this.gReturnItem + ".value='" +
                             this.format_data(vDay) +
                             "';window.close();\">" +
                        this.format_day(vDay) +
                        "</A>" +
                        "</FONT></TD>";
                   vDay=vDay + 1;
                   if (vDay > vLastDay) {
                        vOnLastDay = 1;
                        break;
              if (j == 6)
                   vCode = vCode + "</TR>";
              if (vOnLastDay == 1)
                   break;
         // Fill up the rest of last week with proper blanks, so that we get proper square blocks
         for (m=1; m<(7-j); m++) {
              if (this.gYearly)
                   vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j+m) +
                   "><FONT SIZE='2' FACE='" + fontface + "' COLOR='gray'> </FONT></TD>";
              else
                   vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j+m) +
                   "><FONT SIZE='2' FACE='" + fontface + "' COLOR='gray'>" + m + "</FONT></TD>";
         return vCode;
    Calendar.prototype.format_day = function(vday) {
         var vNowDay = gNow.getDate();
         var vNowMonth = gNow.getMonth();
         var vNowYear = gNow.getFullYear();
         if (vday == vNowDay && this.gMonth == vNowMonth && this.gYear == vNowYear)
              return ("<FONT COLOR=\"RED\"><B>" + vday + "</B></FONT>");
         else
              return (vday);
    Calendar.prototype.write_weekend_string = function(vday) {
         var i;
         // Return special formatting for the weekend day.
         for (i=0; i<weekend.length; i++) {
              if (vday == weekend<i>)
                   return (" BGCOLOR=\"" + weekendColor + "\"");
         return "";
    Calendar.prototype.format_data = function(p_day) {
         var vData;
         var vMonth = 1 + this.gMonth;
         vMonth = (vMonth.toString().length < 2) ? "0" + vMonth : vMonth;
         var vMon = Calendar.get_month(this.gMonth).substr(0,3).toUpperCase();
         var vFMon = Calendar.get_month(this.gMonth).toUpperCase();
         var vY4 = new String(this.gYear);
         var vY2 = new String(this.gYear.substr(2,2));
         var vDD = (p_day.toString().length < 2) ? "0" + p_day : p_day;
    /*     switch (this.gFormat) {
              case "MM\/DD\/YYYY" :
                   vData = vMonth + "\/" + vDD + "\/" + vY4;
                   break;
              case "MM\/DD\/YY" :
                   vData = vMonth + "\/" + vDD + "\/" + vY2;
                   break;
              case "MM-DD-YYYY" :
                   vData = vMonth + "-" + vDD + "-" + vY4;
                   break;
              case "MM-DD-YY" :
                   vData = vMonth + "-" + vDD + "-" + vY2;
                   break;
              case "DD\/MON\/YYYY" :
                   vData = vDD + "\/" + vMon + "\/" + vY4;
                   break;
              case "DD\/MON\/YY" :
                   vData = vDD + "\/" + vMon + "\/" + vY2;
                   break;
              case "DD-MON-YYYY" :
                   vData = vDD + "-" + vMon + "-" + vY4;
                   break;
              case "DD-MON-YY" :
                   vData = vDD + "-" + vMon + "-" + vY2;
                   break;
              case "DD\/MONTH\/YYYY" :
                   vData = vDD + "\/" + vFMon + "\/" + vY4;
                   break;
              case "DD\/MONTH\/YY" :
                   vData = vDD + "\/" + vFMon + "\/" + vY2;
                   break;
              case "DD-MONTH-YYYY" :
                   vData = vDD + "-" + vFMon + "-" + vY4;
                   break;
              case "DD-MONTH-YY" :
                   vData = vDD + "-" + vFMon + "-" + vY2;
                   break;
              case "DD\/MM\/YYYY" :
                   vData = vDD + "\/" + vMonth + "\/" + vY4;
                   break;
              case "DD\/MM\/YY" :
                   vData = vDD + "\/" + vMonth + "\/" + vY2;
                   break;
              case "DD-MM-YYYY" :
                   vData = vDD + "-" + vMonth + "-" + vY4;
                   break;
              case "DD-MM-YY" :
                   vData = vDD + "-" + vMonth + "-" + vY2;
                   break;
              default :
                   vData = vMonth + "\/" + vDD + "\/" + vY4;
    vData = vY4vMonthvDD ;
    //vData = vDD"."vMonth"."vY4;
         return vData;
    function Build(p_item, p_month, p_year, p_format) {
         var p_WinCal = ggWinCal;
         gCal = new Calendar(p_item, p_WinCal, p_month, p_year, p_format);
         // Customize your Calendar here..
         gCal.gBGColor="white";
         gCal.gLinkColor="black";
         gCal.gTextColor="black";
         gCal.gHeaderColor="darkgreen";
         // Choose appropriate show function
         if (gCal.gYearly)     gCal.showY();
         else     gCal.show();
    function show_calendar() {
              p_month : 0-11 for Jan-Dec; 12 for All Months.
              p_year     : 4-digit year
              p_format: Date format (mm/dd/yyyy, dd/mm/yy, ...)
              p_item     : Return Item.
         p_item = arguments[0];
         if (arguments[1] == null)
              p_month = new String(gNow.getMonth());
         else
              p_month = arguments[1];
         if (arguments[2] == "" || arguments[2] == null)
              p_year = new String(gNow.getFullYear().toString());
         else
              p_year = arguments[2];
         if (arguments[3] == null)
              p_format = "MM/DD/YYYY";
         else
              p_format = arguments[3];
         vWinCal = window.open("", "Calendar",
              "width=300,height=250,status=no,resizable=no,top=100,left=100");
         vWinCal.opener = self;
         ggWinCal = vWinCal;
         Build(p_item, p_month, p_year, p_format);
    Yearly Calendar Code Starts here
    function show_yearly_calendar(p_item, p_year, p_format) {
         // Load the defaults..
         if (p_year == null || p_year == "")
              p_year = new String(gNow.getFullYear().toString());
         if (p_format == null || p_format == "")
              p_format = "MM/DD/YYYY";
         var vWinCal = window.open("", "Calendar", "scrollbars=yes");
         vWinCal.opener = self;
         ggWinCal = vWinCal;
         Build(p_item, null, p_year, p_format);

  • Help on calendar.add() adding -60 days

    hi all
    i am having problem with the add() in Calendar class. i try to get a date that is 60 days prior to the current date, and here is what i coded:
    Calendar calendar = new GregorianCalendar();
    System.out.println("current day : "+calendar.toString());
    calendar.add(Calendar.DAY_OF_MONTH, -60);      
    System.out.println("after adding (-60), the day is "+calendar.toString()); and here is the output of the print:
    --- getEffectiveDate ---
    current day : java.util.GregorianCalendar[time=1088608525321,areFieldsSet=true,a
    reAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="America/New
    _York",offset=-18000000,dstSavings=3600000,useDaylight=true,transitions=235,last
    Rule=java.util.SimpleTimeZone[id=America/New_York,offset=-18000000,dstSavings=36
    00000,useDaylight=true,startYear=0,startMode=3,startMonth=3,startDay=1,startDayO
    fWeek=1,startTime=7200000,startTimeMode=0,endMode=2,endMonth=9,endDay=-1,endDayO
    fWeek=1,endTime=7200000,endTimeMode=0]],firstDayOfWeek=1,minimalDaysInFirstWeek=
    1,ERA=1,YEAR=2004,MONTH=5,WEEK_OF_YEAR=27,WEEK_OF_MONTH=5,DAY_OF_MONTH=30,DAY_OF
    _YEAR=182,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=5,AM_PM=0,HOUR=11,HOUR_OF_DAY=11,MI
    NUTE=15,SECOND=25,MILLISECOND=321,ZONE_OFFSET=-18000000,DST_OFFSET=3600000]
    after adding (-60), the day is java.util.GregorianCalendar[time=1083424525321,ar
    eFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInf
    o[id="America/New_York",offset=-18000000,dstSavings=3600000,useDaylight=true,tra
    nsitions=235,lastRule=java.util.SimpleTimeZone[id=America/New_York,offset=-18000
    000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=3,sta
    rtDay=1,startDayOfWeek=1,startTime=7200000,startTimeMode=0,endMode=2,endMonth=9,
    endDay=-1,endDayOfWeek=1,endTime=7200000,endTimeMode=0]],firstDayOfWeek=1,minima
    lDaysInFirstWeek=1,ERA=1,YEAR=2004,MONTH=4,WEEK_OF_YEAR=18,WEEK_OF_MONTH=1,DAY_O
    F_MONTH=1,DAY_OF_YEAR=122,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=11,H
    OUR_OF_DAY=11,MINUTE=15,SECOND=25,MILLISECOND=321,ZONE_OFFSET=-18000000,DST_OFFS
    ET=3600000]it looks like it only subtracted 30 days from current date. i wonder what happen to the 60 days. does anyone have any idea why? thanks for ur help.

    DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
    Calendar calendar = Calendar.getInstance();
    System.out.println("current day : " + df.format(calendar.getTime())); // 6/30/04
    calendar.add(Calendar.DAY_OF_MONTH, -60);
    System.out.println("after adding (-60), the day is " + df.format(calendar.getTime())); // 5/1/04What's the problem?

  • Calendar object for the next week day

    I have a calendar object,
    How can I get the calendar object the comes on the next Tuesday or for that matter any week day.
    For example I have the calendar object for today ie. Monday, 7th Aug 2006. How can I get the calendar object for the first saturday after today.

    What you do is calculate how many days ahead it is.
    This would be the target day, less today's day
    reduced to modulo 7. Add 7 to guarantee the %
    operator works correctly e.g.
    cal.add(Calendar.DAY_OF_YEAR,(7 + Calendar.SATURDAY -
    cal.get(DAY_OF_WEEK)) % 7);
    Requires that the numeric values associated with the days of the week are ordered and one apart. Even thought this is the case, the API does not say this is the case so it should not be assumed.

  • MobileMe/iCal Error: "The server has not specified a calendar home for the account at..."

    Hi everyone,
    I get a problem when trying to add my MobileMe account in iCal. The error message I receive after trying to add ("+") my MobileMe account to iCal is:
    "The account information was not found. The server has not specified a calendar home for the account at "/ -- https://cal.me.com/".
    Attached the screenshot: http://grab.by/cPDP
    Any idea's on what could be going wrong?
    Thanks,
    Michael

    Hi everyone,
    I get a problem when trying to add my MobileMe account in iCal. The error message I receive after trying to add ("+") my MobileMe account to iCal is:
    "The account information was not found. The server has not specified a calendar home for the account at "/ -- https://cal.me.com/".
    Attached the screenshot: http://grab.by/cPDP
    Any idea's on what could be going wrong?
    Thanks,
    Michael

  • How do I install the Calendar Server for UNIX?

    In order to install the Netscape Calendar Server for UNIX, please
    follow these exact instructions:
    o Login as "root".
    o Create the group "dxoffice"
    o Create the user "unison".
    - Please make sure this user has a UID less than 60000.
    - Please make it's primary group "dxoffice".
    o Edit the /etc/services file and add the entries:
    unieng 5730/tcp # Cal Server DB Daemon
    unisnc 5731/tcp # Cal Server Real-Time Daemon
    o Untar the calendar archive. It should install extract itself to
    /users/unison/.
    o Change directories to /users/unison/bin.
    o Run ncsconfig.
    After answering the questions to configure your server you can start
    your server by running the command: "unistart".

    Hi,
      This is from the documentation -
    Database: Third Party JDBC Drivers
    The Third Party JDBC Drivers pane specifies drivers to be used for connections to third-party (non-Oracle) databases, such as IBM DB2, MySQL, Microsoft SQL Server, or Sybase Adaptive Server. (You do not need to add a driver for connections to Microsoft Access databases.) To add a driver, click Add Entry and select the path for the driver:
    For Microsoft SQL Server or Sybase Adaptive Server: jtds-1.2.jar, which is included in the jtds-1.2-dist.zip download
    To find a specific third-party JDBC driver, see the appropriate website (for example, http://www.mysql.com for the MySQL Connector/J JDBC driver for MySQL, http://jtds.sourceforge.net/ for the jTDS driver for Microsoft SQL Server and Sybase Adaptive Server, or search at http://www.teradata.com/ for the JDBC driver for Teradata). For MySQL, use the MySQL 5.0 driver, not 5.1 or later, with SQL Developer release 1.5.
    You must specify a third-party JDBC driver or install a driver using the Check for Updates feature before you can create a database connection to a third-party database of that associated type. (See the tabs for creating connections to third-party databases in the Create/Edit/Select Database Connection dialog box.)
    Alternative:
    As an alternative to using this preference, you can click Help, then Check for Updates to install the JTDS JDBC Driver for Microsoft SQL Server and the MySQL JDBE Driver as extensions.
    Regards,
    Mike

  • Calendar Groups for Events

    I had in the past created two "categories" in Calendar: one for "Home" and one for "Work" ... I thought I recently created a new one called "School" - there seems to be a drop-down arrow in front of the colored box for "School" that does nothing. I'm unable to use "School". I then tried to edit it or use it or create something new and now there's a new "category" called "Untitled 2" which I CAN use .... how do I get rid of "Calendars" I don't on "On My Mac" and use ones I do want? Also, can I select the color or are the colors pre-assigned?  Also, I "subscribed" to "Birthday Calendar" but don't have any idea how to use it, activate it, add to it....

    Hi,
    Outlook.exe /cleanreminders switch will clear and regenerate reminders.
    Does this problem occurred for just one user?
    I suggest the following several methods to check this issue.
    Open outlook with command: outlook.exe /cleanviews, this command will restore default views. All custom views you created are lost.
    Switch outlook to online mode.
    Check in OWA.
    Best Regards.
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact [email protected]
    Lynn-Li
    TechNet Community Support
    Thanks for your replies.  The reservation I have around the /cleanreminders switch is that effectively, the notifications are fine (they appear when they should) - but it's the underlying appointment which isn't showing (unless the reminder pops up
    and you open the item). Will the reminders be regenerated if the actual appointment doesn't appear?  Or will they disappear too?
    Only one user gets these notifications, he created the appointments in the shared calendar.  The notificiations and the appointments don't show in OWA  - I'd expect the same with Outlook in online mode.
    The worst thing to happen is lose all trace of these appointments.
    Kind Regards,
    Paul

  • Calendar help for Date i/p field

    Hi All,
       I am working on SRM 4.0..I have a query regarding the addition of calendar help for an input date field....
      Has  anyone tried to add calendar help for an input date field in  the ITS service??What all additions have to be done for this(style,images etc)...Does any one has any idea?Please help.
    Thanks & Regards,
    Disha.

    Vijith Kumar,
      I also have a requirement to add custom field in SRM shopping cart screen, with calendar as an input help. Can you please pass me the relevant code, for adding this field into HTML template
    My email id is [email protected]
    Thanx,
    K rav.

  • 5.0.2. For Moscow Time Zone GMT+4:00 ?!!

    Request for change
    Moscow TIME  GMT+3:00
    p.s. calendar event not work.
    Solved!
    Go to Solution.

    Thanks for sending me your IMEI Kju!
    I checked which software you have in your phone (it's generic for Russia) and installed the same version in my phone but i still see GMT+03:00.
    Would it be possible for you to do a backup of your phone and then do a repair of the phones software using PC Companion and let me know if that helps?
    Did you update to the new firmware using PC Companion, Bridge for Mac or Update Center in the phone?
     - Official Sony Xperia Support Staff
    If you're new to our forums make sure that you have read our Discussion guidelines.
    If you want to get in touch with the local support team for your country please visit our contact page.

  • Uncertain behaviour in calendar service for moved users

    Hi freinds,
    I transferred users from old version 6.2 to new version 7u3 using ldap export-import. All users are capable of accessing thier mail interface through convergence.
    Those users were not configured for calendar service in the previous msg instance and calendar service was not installed. Then I added new service pkg (earth) with calendar server facility to a one of transferred domain and then add this service pkg to a user in this domain. Although service pkg assignment get success there is an uncertain behaviour of setting attributes for each user.
    For some users following two attributes ( Viewable through new DA )are set properly while for others it is not set at all. For "test01" user convergence does not show the calendar interface properly after pressing the "calendar" button. But for user "test04" the calendar interface is shown with all featuers.
    For "test01" user
    Owned Calendar:
    Subscribed Calendar:
    For "test04" user
    Owned Calendar: [email protected]$test04 testing
    Subscribed Calendar: [email protected]$test04 testing
    Since I am doing a test for confirming possibility of getting calendar service enabled for old users
    I did not remove unnecessary LDAP attributes from the exported ldif files.
    Can somebody explain the reason for such an uncertainty.
    Thanks

    Hi shane,
    Thanks for the reply. pls find my answers and observations below. Appreciate your intervention.
    Q. What version of Delegated Administrator-DA are you using? Are you using Direct LDAP or Access Manager mode?
    A. This is a test for a large scale user migration from old msg server 6.2 (2005Q1)/ DS 5.2 to new commsuite ver 7u3
    The old system used Delegated administrator integrated in to AM 6 2005Q1. The new delegated administartor is ver 7.
    ( Direct LDAP connection is configured with out AM installed)
    Q. How were the "old" users provisioned -- which tool?
    A. Some users belongs to virtual domains were added through DA. Other users were added directly to LDAP using a customised
    tool.
    Q.Were the test01 and test04 accounts both from the "old" environment?
    A. Yes they both were created using old version DA. When do a ldap search both have same kind of attributes in the old system.
    Q. Does an account exist for the test01 user in the calendar database e.g.
    A. Yes. For both test01 and test04 accounts exist and they are enabled
    Q. What are the "ics" parameters for the test01 and test04 accounts set to e.g.
    A.
    bash-3.00# ./ldapsearch -D "cn=directory manager" -w password -b "o=example.com,o=isp" uid=test01 | grep -i ics
    objectClass: icscalendaruser
    icsFirstDay: 2
    icsTimezone: Asia/Calcutta
    icsDWPHost: newmail.example.com
    icsStatus: active
    icsCalendar: [email protected]
    bash-3.00# ./ldapsearch -D "cn=directory manager" -w password -b "o=example.com,o=isp" uid=test04 | grep -i ics
    objectClass: icscalendaruser
    icsStatus: active
    icsCalendar: [email protected]
    icsTimezone: Asia/Calcutta
    icsFirstDay: 2
    icsSubscribed: [email protected]$test04 testing--->A
    icsDWPHost: newmail.example.com
    icsCalendarOwned: [email protected]$test04 testing--->B
    bash-3.00#
    Note : pls look at the attributes I marked as A and B. I observed they added in to the user entry after the user
    logged in to convergence interface and click on the "calendar" button.For test04 these attributes were added. But
    for test01 it was not!
    Q. What do you define as "unnecessary LDAP attributes"?
    A. In the entries I impored from the old version there are some attributes that are not defined in the new DS ver 6.3.
    I did a diff check between a new user entry created in the new system and a user entry imported from the old system.
    My aim is to find exact attributes needed per a user entry to make calendar service/IM service up and then add these
    attributes to each user imported from old system using an automated script.I think I do not need to rectify above problem
    at the DA level. After I found the list of necessary LDAP attributes for the task I can add them manually to one of
    old user entry and test it. Is that a recommended way of doing it?
    Regards,

  • Help!Cache status of object for Central Adapter Engine is incorrect

    this problem cconfused me several days!
    version:PI 7.1
    after i activate the communication channel, the cache not update for central adapter engine
    problem: in cache status overview, the update for central adapter engine not yet started, but notification is ok.
                     the update for integration server and mapping run time are all correct.
    then when i display wsdl for sender agreement(SOAP sender),  show message:Cache status of object abcd123 for Central Adapter Engine is incorrect
    if i ignore this message, error message popup:dapter Engine af.xid.sapittest for communication channel abcd123 not registered in SLD
    who can help me solve this problem.
    thank you in advance.

    Hi cheng,
    Kindly check if you have set theparameter 'com.sap.aii.connect.integrationserver.sld.name' in your
    Exchange Profile, since it's not set by default. Open note #1278563 and follow the procedures.
    And you may check the following notes:
    #1031321 - Self-Registration of Adapter Engine and RWB fails
    #1334053 - No automatic PI 7.10 SLD Registration (Here you'll see the note 764176 which you have already applied and also the note #1117249).
    In RWB, is the adapter Engine "red light"? If yes, what is the specific error?
    Regards,
    Caio Cagnani

Maybe you are looking for

  • Random freezing on a Macbook Air?

    Hello, I am encountering random freezing on my Macbook Air, that has started in the last few weeks.  - Applications will suddenly crash at random points - Sometimes Lion will pop a translucent grey screen asking me to hold down a power button. - I ca

  • Photoshop CS2 suddenly not working

    I'm suddenly having troubles with my Photoshop CS2. I had uploaded the software onto my new laptop, Dell with Vista, and it has always worked fine. Suddenly, this message is popping up and I have no more use of Photoshop CS2: http://i19.photobucket.c

  • Why is the footer specified on the master being misapplied to the page

    This is somewhat inexplicable as the page properties for master and page are the same. I have several master pages for the site which were created by duplicating a master then making the changes. Two of the masters created in this way work correctly,

  • TAX not Calculating for Unplanned Delivery cost in MIRO

    Dear All, I am having an issue with Unplanned delivery cost in MIRO, We have to do an accounting of a invoice/PO which contains in addition to actual Value the Unplanned Delivery cost also, and for which also the TAXes also applicable with ED 10% and

  • Problem with put a table in Image....?

    respeced sir.... i have an issue like i want to show the content of table on image so could any one tell me how can i put a table on image...... like <table> <tr> <td> some Data from database </td> <td> some other Data from database </td> </tr> </tab