Formula to return the date of the fourth Thursday in a given month/year

Using Excel 2013, I need a formula that returns the date of the fourth Thursday in a given month.  For example, if the date in
A1 = 11/2/2012
B1 needs a formula that references A1 and returns 11/22/2012
or if
A1 = 11/1/2014
B1 needs a formula that references A1 and returns 11/27/2014.

You can use this formula:
=DATE(YEAR(A1),MONTH(A1),CHOOSE(WEEKDAY(DATE(YEAR(A1),MONTH(A1),1)),26,25,24,23,22,28,27))
This formula has been derived from
http://chandoo.org/wp/2009/11/25/findout-thanksgiving-date/
Regards, Hans Vogelaar (http://www.eileenslounge.com)

Similar Messages

  • How to insert the data even the trigger returned null

    Hi Gurus,
    I have a question regarding on how to insert the record even the condition being used by a "before insert trigger" returned null.
    The scenario is:
    2 tables have the same structure:
    Table A (Name varchar2 (100), No Number)
    Table B (Name_1 varchar2 (100), No Number)
    A script is using to load the data into table A daily, and a “before insert trigger” is being used to get the value for A.Name = B.Name whenever the condition A.No equals to B.No.
    If the B.No exists, then the trigger work fine, otherwise the records will be rejected, this is not the way we wanted, so I just wonder, is there any way to load all the data to the other fields but still using this trigger ?
    Thanks,
    Tran

    Either amend the select in the trigger that gets the name value to not raise a NO_DATA_FOUND exception (e.g. change "select name..." to "select min(name)..." ) or handle the NO_DATA_FOUND exception in an exception handler.
    e.g.
    EXCEPTION
      WHEN no_data_found THEN
        :new.name = 'where the streets have no name';

  • HT3702 i have two weeks that you guys are taking money from my bank account and I want to return to my accounts the amount is $ 74.16 sacanron me the date of the accounts is 11/26.12 $ 10.59 12/1/12 10.59-10.59-this is the total 42.39

    have two weeks that you guys are taking money from my bank account and I want to return to my accounts the amount is $ 74.16 sacanron me the date of the accounts is 11/26.12 $ 10.59 12/1/12 10.59-10.59-this is the total 42.39 total $74.16

    These are user-to-user forums, you are not talking to Apple here.
    You've checked the purchase history on your account (Store > View My Account menu option on your computer's iTunes), and have you made any in-app purchases or have any auto-renewing subscriptions ?  If not then you can contact iTunes support via this page : http://www.apple.com/support/itunes/contact/ - click on Contact iTunes Store Support on the right-hand side of the page, then Purchases, Billing & Redemption

  • Formula  variable  replacemnt path    date   as the dimension

    formula  variable  replacemnt path    date  as the dimension  then  what  are the changes in my report

    Check the below link to see if this is what you need:
    http://www.sd-solutions.com/documents/SDS_BW_Replacement%20Path%20Variables.html

  • Problem while refreshing the data for the second time using excel services in sharepoint 2013...

    Hi,
    I have migrated my Sharepoint from 2010 to 2013.I am able to get the data at the first time of refresh when I click on refresh for the second time I am getting the empty the sheet.
    below find the flow of refresh
    First Refresh
    On Click of refresh open the workbook with excel services and return the session id.
    Using that session I am invoking RefrehAsync method of excel services
    After refresh completed I am setting the calculation of workbook as automatic(to calculate the formulas) using the same session id
    After setting the calculation as Automatic I am setting the calculation type as full(recalculate) using the same session id.
    Now I am able to see the data
    Second Refresh
    After clicking on refresh instead of opening the workbook I am using the session id(already opened workbook) and setting the calculation type as manual
    I am following the same process from refresh(RefreshAsync) as I have followed in first refresh.
    This time my formulas are not getting calculated because of that I am not able to see the data.
    Could you please let me know that am I missing anything here?
    Is this know issue in Sharepoint2013 excel services as same code is working fine with Sharepoint2010.
    If I close the workbook(session id null) and opens(new session id) for all the refreshes it is working and I am able to see the data.
    Thanks,
    Meenakshi Nagpal
    N.Meenakshi

    I am able to see the data for the second refresh  if I change the data source.If I use the same data source which is used in the first refresh I am not getting the data.Excel services will contact the cubes and calculate the formulas in my workbook.
    Could you please let me know what could be the problem at second refresh while contacting the same data source with same session id?
    Please help me asap.
    Thanks,
    Meenakshi Nagpal
    N.Meenakshi

  • Not displaying the data in the ALV Microsoft Excel (Ctrl+Shift+F7)..

    Hi All,
    I can able to display the data through the FM REUSE_ALV_GRID_DISPLAY in the out put screen.When I click on the Microsoft Excel (CtrlShiftF7) at the ALV toolbar to view the same data in excel sheet it does open the excel sheet WITHOUT ANY DATA. Please help me how to make the data visible in the excel sheet.
    Can anyone help in this regard.
    Thanks & Regards,
    Seshadri G

    Hi,
    Check whether the tool bar export is disabled in the alv.
    check in the alv->set_table_for_first_display  FM the toolbar exclude export list.
    If that is ok, then try download manually by providing abutton and clicking it. You can download data manually in this way.
    refer the code below.
    DATA: lv_path      TYPE string,
            lv_fullpath  TYPE string,
            lc_c         TYPE string,
            v_fnam       TYPE string,
            lc_date(15)      TYPE c.
      TYPES: BEGIN OF ts_fieldnames,
                field_name(1000),
             END OF ts_fieldnames.
      lc_c =  'C:\'.
      WRITE sy-datum TO lc_date.
      DATA:lt_fieldnames TYPE STANDARD TABLE OF ts_fieldnames,
           ls_fieldnames TYPE ts_fieldnames,
           lt_fieldnames1 TYPE STANDARD TABLE OF ts_fieldnames,
           ls_fieldnames1 TYPE ts_fieldnames,
           lt_fieldnames2 TYPE STANDARD TABLE OF ts_fieldnames,
           ls_fieldnames2 TYPE ts_fieldnames,
           lt_fieldnames3 TYPE STANDARD TABLE OF ts_fieldnames,
           ls_fieldnames3 TYPE ts_fieldnames,
           lt_fieldnames5 TYPE STANDARD TABLE OF ts_fieldnames,
           ls_fieldnames5 TYPE ts_fieldnames.
      CONCATENATE 'ContractAccount'
                  'DocumentNumber'
                  'Reference/InvoiceDocumentNumber'
                  'ClearingDocumentNumber'
                  INTO ls_fieldnames-field_name SEPARATED BY
                  cl_abap_char_utilities=>horizontal_tab.
      APPEND ls_fieldnames TO lt_fieldnames.
      CONCATENATE '' ''
                  INTO ls_fieldnames5-field_name SEPARATED BY
                  cl_abap_char_utilities=>newline.
      APPEND ls_fieldnames5 TO lt_fieldnames5.
      DATA :    ls_str1 TYPE string,
                ls_str2 TYPE string.
      ls_str1 = 'Invoice Clearing Posting'.
      ls_str2 = 'Payment On Account Posting'.
      CONCATENATE ls_str1  ' :: ' lc_date INTO ls_fieldnames2-field_name.
      APPEND ls_fieldnames2 TO lt_fieldnames2.
      CONCATENATE ls_str2 ' :: ' lc_date INTO ls_fieldnames3-field_name.
      APPEND ls_fieldnames3 TO lt_fieldnames3.
      CONCATENATE 'ContractAccount'
                  'Reference/InvoiceDocumentNumber'
                  'PostOnAccountDocumentNumber'
                  INTO ls_fieldnames1-field_name SEPARATED BY
                  cl_abap_char_utilities=>horizontal_tab.
      APPEND ls_fieldnames1 TO lt_fieldnames1.
      CALL METHOD cl_gui_frontend_services=>file_save_dialog
        EXPORTING
          window_title      = 'Select file for download'
          default_extension = '.xls'
          default_file_name = lv_path
          initial_directory = lc_c
        CHANGING
          filename          = lv_path
          path              = lc_c
          fullpath          = lv_fullpath
        EXCEPTIONS
          cntl_error        = 1
          error_no_gui      = 2
          OTHERS            = 3.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ELSE.
        v_fnam = lv_fullpath.
      ENDIF.
      IF v_fnam IS INITIAL.
        RETURN.
      ENDIF.
      IF i_finalclear[] IS NOT INITIAL.
        CALL METHOD cl_gui_frontend_services=>gui_download
          EXPORTING
            filename              = v_fnam
            filetype              = 'DAT'
           HEADER                = header
            append                = 'X'
            write_field_separator = 'X'
          CHANGING
            data_tab              = lt_fieldnames2
          EXCEPTIONS
            OTHERS                = 8.
        CALL METHOD cl_gui_frontend_services=>gui_download
          EXPORTING
            filename              = v_fnam
            filetype              = 'DAT'
           HEADER                = header
            append                = 'X'
            write_field_separator = 'X'
          CHANGING
            data_tab              = lt_fieldnames
          EXCEPTIONS
            OTHERS                = 8.
    REgards
    sheron

  • Not able to get the data on the page

    hi,
    I tried brining the data on the JSP page. I am passing the parameters to a PL/SQL procedure. but I am not getting any data or error. can anyone helpme how to proceed further I am retreving the page parameters that are passed to the JSP page like this.
    <%
    PortletRenderRequest portletRequest = (PortletRenderRequest)request.getAttribute(HttpCommonConstants.PORTLET_RENDER_REQUEST);
    RenderContext rc = portletRequest.getRenderContext();
    PortletDefinition pd = portletRequest.getPortletInstance().getPortletDefinition();
    %>
    I am getting the page parameters. but I am not able to get any result on the page.
    while I am using the same code to get the data on another JSP page I am getting the data except I am not retreving the page parameters.
    I am using the code like this to pass the parameters to the procedure.
    OracleConnection conn__OCI      = cpool.getProxyConnection(OracleOCIConnectionPool.PROXYTYPE_USER_NAME, proxUserProp);
                                  cstmt = conn__OCI.prepareCall ("begin test.test1( ?,?,?,?,? ); end;");
                                  cstmt.setString(2, cnumb);
                                  cstmt.setString(3, cperiod);
                                  cstmt.setInt(4, retStrC);
                                  cstmt.setString(5, retStr3);
                                  cstmt.registerOutParameter (4, Types.NUMERIC);
                                  cstmt.registerOutParameter (5, Types.VARCHAR);
                                  cstmt.registerOutParameter(1, OracleTypes.CURSOR);
                                  cstmt.execute();
                                  retStrC = cstmt.getInt (4);
                                  retStr3 = cstmt.getString (5);
                                  retStr = "<tr class=OraDataText><td>  " + retStrC + "</td></tr>";
                                  retStr = retStr + "<tr class=OraDataText><td>  " + retStr3 + "</td></tr>";
                                  if ( retStrC == -1 )                    { ALLretStr = ALLretStr + retStr; }
                                  else
                                       cursor = ((OracleCallableStatement)cstmt).getCursor(1);
                                       while (cursor.next ())
                                                 if (spacerLine >= 2)
                                                      ALLretStr = ALLretStr + "<tr><td colspan=5 height=1 <div id=ssubLine> <div id=ssubLinet></div> </div> </td></tr>";
                                                 ALLretStr = ALLretStr + "<tr class=smmjWipAltText><td ALIGN=LEFT>" + cursor.getString(1) + "</td><td ALIGN=CENTER>" + cursor.getInt(2) + "</td><td ALIGN=CENTER>" + cursor.getString(3) + "</td><td ALIGN=CENTER>" + cursor.getString(4) + "</td><td ALIGN=RIGHT>" + cursor.getString(5) + "</td></tr>";
                                                 spacerLine++;
                                  }

    Hi Frank,<br>
    <br>
    I am getting a blank page after hitting the submit button. can you help me finding a solution for this in the JSP page or tell me where the error is. <br>
    <br>
    <%@page contentType="text/html;charset=UTF-8" %><br>
    <%@page import="oracle.portal.provider.v2.render.*" %><br>
    <%@page import="oracle.portal.provider.v2.render.PortletRenderRequest" %><br>
    <%@page import="oracle.portal.provider.v2.PortletDefinition" %><br>
    <%@page import="oracle.portal.provider.v2.http.HttpCommonConstants" %><br>
    <%@page import="java.sql.*, javax.sql.*, java.util.*, oracle.jdbc.*, <br>
    oracle.jdbc.pool.*, oracle.jdbc.oci.*" %><br>
    <br>
    <%<br> PortletRenderRequest portletRequest = (PortletRenderRequest)request.getAttribute(HttpCommonConstants.PORTLET_RENDER_REQUEST);<br>
    RenderContext rc = portletRequest.getRenderContext();<br>
    PortletDefinition pd = portletRequest.getPortletInstance().getPortletDefinition();<br>
    %><br>
    <%! String tree_descrip;<br> String tree_descrip_long;<br>
    String curr_Scheme;<br>
    String overl_gif;<br>
    String curr_css_path;<br>
    // page param<br>
    String p_number_val= "1";<br>
    String p_period_val= "Day";<br>
    %><br>
    <%<br> String long_desc = "LONG";<br>
    String Descrip = "SHORT";<br>
    String treeDescrip= "%SUBMISS%OLDER%";<br>
    String curr_treeCateg = "SUB";<br>
    try<br>
    {<br>
    curr_Scheme = getInfo.getSchem.getSchem();<br>
    overl_gif = "/images/tested/"+curr_Scheme+ "images/prefreshdefault.gif";<br>
    curr_css_path = "/images/tested/" curr_Scheme "css/param_jsp.css";<br>
    tree_descrip = getInfo.getPortletTitle.getPortletTitle ( Descrip , treeDescrip , curr_treeCateg);<br>
    tree_descrip_long = getInfo.getPortletTitle.getPortletTitle ( long_desc , treeDescrip , curr_treeCateg);<br>
    }<br>
    catch(Exception e)<br>
    {<br>
    tree_descrip = "";<br>
    tree_descrip_long = "";<br>
    }<br>
    %> <br>
    <% // Get page param p_number_val try { p_number_val = request.getParameterValues("p_number")[0]; } catch(Exception e) { p_number_val = "1"; } <br>
    // Get page param p_period_val try { p_period_val = request.getParameterValues("p_period")[0]; } catch(Exception e) { p_period_val = "Day"; } %> <br>
    <HTML> <HEAD> <link href="<%= curr_css_path %>" rel="stylesheet" type="text/css" media='' screen=''/> <SCRIPT LANGUAGE="JavaScript1.1" SRC="/images/smmj_page_obj/Popup/overlib.js"></SCRIPT> </HEAD> <BODY>
    <TABLE WIDTH=100% summary="<%= tree_descrip %>" border="0" cellspacing="0" cellpadding="3" BGCOLOR="#FFFFFF" > <TR WIDTH="100%" height="6px"><td height="6px" COLSPAN="6" ></td></TR> <TR WIDTH="100%" > <td ALIGN="LEFT" nowrap ></td> <td ALIGN="LEFT" style="font-family:Verdana; font-size:8pt;font-weight:normal" nowrap class="smmjPort2HeadJS"> CYCLE NAME</td> <td ALIGN="CENTER" style="font-family:Verdana; font-size:8pt;font-weight:normal" nowrap class="smmjPort2HeadJS">ID</td> <td ALIGN="CENTER" style="font-family:Verdana; font-size:8pt;font-weight:normal" nowrap class="smmjPort2HeadJS">FIRM NAME</td> <td ALIGN="CENTER" style="font-family:Verdana; font-size:8pt;font-weight:normal" nowrap class="smmjPort2HeadJS">BILLING PERIOD</td> <td ALIGN="RIGHT" style="font-family:Verdana; font-size:8pt;font-weight:normal" nowrap class="smmjPort2HeadJS0">AGE</td> </TR> <%= getOlderSubs( p_number_val, p_period_val , "dev", portletRequest.getUser().getName(), "close_connect") %> </table> <TABLE><TR><TD> <%=p_number_val%>
    <%=p_period_val%> <br>
    <%=portletRequest.getUser().getName()%> </TD></TR> </TABLE> </BODY> </HTML> <br>
    <%!<br> private String getOlderSubs( String cnumb, String cperiod, String cstring, String userid, String cState) throws SQLException
    {<br>
    CallableStatement cstmt;<br>
    ResultSet cursor;<br>
    int spacerLine = 1;<br>
    int retStrC = 1;<br>
    String retStr = "f";<br>
    String retStr2 = "f";<br>
    String retStr3 = "f";<br>
    String retStr4 = "f";<br>
    String ALLretStr = " ";<br>
    String TempretStr = " ";<br>
    String userstring = getInfo.getPortlUser.getPortUsr("B", "1");<br>
    String pwstring = getInfo.getPortlUser.getPortUsr("B", "2");<br>
    String CNNstring = getInfo.getPortlUser.getPortUsr("B", "3");<br>
    String PROXY_user_name = "test$" + userid;<br>
    //String PROXY_user_name = "test1$roger" ;<br>
    String url= "jdbc:oracle:oci:@" + CNNstring;<br>
    Properties prop = new Properties();<br>
    try {<br>
    if ( userid.trim().toUpperCase().equals(getInfo.getCONN.chkPortal.trim().toUpperCase()) )<br>
    {<br>
    ALLretStr = "<tr><td>Default user: " + userid + "</td></tr>"; }<br>
    else<br>
    {<br>
    // Create an OracleOCIConnectionPool instance with default configuration
    OracleOCIConnectionPool cpool = new OracleOCIConnectionPool(userstring, pwstring , url, null);<br>
    Properties proxUserProp = new Properties();<br>
    proxUserProp.setProperty(OracleOCIConnectionPool.PROXY_USER_NAME, PROXY_user_name);<br>
    OracleConnection conn__OCI = cpool.getProxyConnection
    (OracleOCIConnectionPool.PROXYTYPE_USER_NAME, proxUserProp);<br>
    cstmt = conn__OCI.prepareCall ("begin PORT_CURSOR.s_submission_wip( ?,?,?,?,? ); end;");<br>
    cstmt.setString(2, cnumb);<br>
    cstmt.setString(3, cperiod);<br>
    cstmt.setInt(4, retStrC);<br>
    cstmt.setString(5, retStr3);<br>
    cstmt.registerOutParameter (4, Types.NUMERIC);<br>
    cstmt.registerOutParameter (5, Types.VARCHAR);<br>
    cstmt.registerOutParameter(1, OracleTypes.CURSOR);<br>
    cstmt.execute();<br>
    retStrC = cstmt.getInt (4);<br>
    retStr3 = cstmt.getString (5);<br>
    retStr = "<tr class=OraDataText><td> " + retStrC + "</td></tr>";<br>
    retStr = retStr + "<tr class=OraDataText><td> " + retStr3 + "</td></tr>";<br>
    if ( retStrC == -1 ) { ALLretStr = ALLretStr + retStr; }<br>
    else<br>
    {<br>
    cursor = ((OracleCallableStatement)cstmt).getCursor(1);<br>
    while (cursor.next ())<br>
    {<br>
    if (spacerLine >= 2)<br>
    {<br>
    ALLretStr = ALLretStr + "<tr><td ALIGN=LEFT nowrap ></td><td colspan=5 height=1 ></td></tr>";<br>
    }<br>
    ALLretStr = ALLretStr + "<tr WIDTH=100% class=smmjPort2Text >
    <td ALIGN=LEFT nowrap ></td><td ALIGN=LEFT> " + cursor.getString(1) + "</td><td ALIGN=CENTER>" + cursor.getInt(2) + "</td><td ALIGN=CENTER>" + cursor.getString(3) + "</td><td ALIGN=CENTER>" + cursor.getString(4) + "</td><td ALIGN=RIGHT>" + cursor.getString(5) + "</td></tr>";<br>spacerLine++;<br>
    }<br>
    }<br>
    if (cState != null )<br>
    { //return(retStr);<br>
    if (conn__OCI != null) conn__OCI.close();<br>
    if (cpool != null) cpool.close();<br>
    }}<br>
    return(TempretStr);<br>
    }<br>
    catch (SQLException e )<br>
    {<br>
    String retErrStr = retStr + " SQL Error: <PRE> " + e + " </PRE> \n";<br>
    return(retErrStr);<br>
    }<br>
    }<br>
    %><br>
    Regards,<br>
    Vijay.

  • How to print the data in the grid?

    Hi all,
    I'm new to java. So, I need some helps.
    I want to print the data in the grid. Data could be more than one page. But I have no idea how to start writing code.
    Please let me know if you know.
    Thank you.
    DT.

    Follow this steps.
    1- the Grid which you wish to print must locate in a class which implements Printable() interface.
    e.g.
    import javax.swing.table.*;
    import java.awt.print.*;
    import javax.infobus.*;
    public class myGridControl extends GridControl implements Printable{
    // add the following statements in the definition section of your class
    int m_maxNumPage =1;
    JTable m_table;
    TableModel m_tableModel;
    ScrollableRowsetAccess myRs;
    // add the folowing statemnts in the
    //constructor or init method or start method
    //(Notice:if you couldn't print, possible
    //you didn't put these stetment on the right
    //location and one or all of them
    //are "null".change the location and make
    //sure they are not null when you issue a
    //print order)
    m_table = new JTable();
    m_table = masterGrid.getTable();
    m_tableModel = m_table.getModel();
    myRs = (ScrollableRowsetAccess)masterGrid.getDataItem();
    3- add following methods to your class(myGridControl). just cut and paste.
    // Print Methods
    public void printData() {
    try {
    PrinterJob prnJob = PrinterJob.getPrinterJob();
    prnJob.setPrintable(this);
    if (!prnJob.printDialog())
    return;
    prnJob.print();
    catch (PrinterException e) {
    e.printStackTrace();
    System.err.println("Printing error: "+e.toString());
    public int print(Graphics pg, PageFormat pageFormat,int pageIndex) throws PrinterException {
    JLabel m_title=new JLabel("Alexus Report : "+titleName);
    if (pageIndex >= m_maxNumPage)
    return NO_SUCH_PAGE;
    pg.translate((int)pageFormat.getImageableX(),
    (int)pageFormat.getImageableY());
    int wPage = 0;
    int hPage = 0;
    if (pageFormat.getOrientation() == pageFormat.PORTRAIT) {
    wPage = (int)pageFormat.getImageableWidth();
    hPage = (int)pageFormat.getImageableHeight();
    else {
    wPage = (int)pageFormat.getImageableWidth();
    wPage += wPage/2;
    hPage = (int)pageFormat.getImageableHeight();
    pg.setClip(0,0,wPage,hPage);
    int y = 0;
    pg.setFont(m_title.getFont());
    pg.setColor(Color.black);
    Font fn = pg.getFont();
    FontMetrics fm = pg.getFontMetrics();
    y += fm.getAscent();
    pg.drawString(m_title.getText(), 0, y);
    y += 20; // space between title and table headers
    Font headerFont = m_table.getFont().deriveFont(Font.BOLD);
    pg.setFont(headerFont);
    fm = pg.getFontMetrics();
    TableColumnModel colModel = m_table.getColumnModel();
    int nColumns = colModel.getColumnCount();
    int x[] = new int[nColumns];
    x[0] = 0;
    int h = fm.getAscent();
    y += h; // add ascent of header font because of baseline
    // positioning (see figure 2.10)
    int nRow, nCol;
    for (nCol=0; nCol<nColumns; nCol++) {
    TableColumn tk = colModel.getColumn(nCol);
    int width = tk.getWidth();
    if (x[nCol] + width > wPage) {
    nColumns = nCol;
    break;
    if (nCol+1<nColumns)
    x[nCol+1] = x[nCol] + width;
    String title = (String)tk.getIdentifier();
    pg.drawString(title, x[nCol], y);
    pg.setFont(m_table.getFont());
    fm = pg.getFontMetrics();
    int header = y;
    h = fm.getHeight();
    int rowH = Math.max((int)(h*1.5), 10);
    int rowPerPage = (hPage-header)/rowH;
    m_maxNumPage = Math.max((int)Math.ceil(m_table.getRowCount()/
    (double)rowPerPage), 1);
    int iniRow = pageIndex*rowPerPage;
    int endRow = Math.min(m_table.getRowCount(),
    iniRow+rowPerPage);
    // take an array to store columns header
    String colNames[] = new String[nColumns];
    for (nCol=0; nCol<nColumns; nCol++) {
    colNames[nCol] = myRs.getColumnName(nCol+1).toString();
    try{
    for (nRow=iniRow; nRow<endRow; nRow++) {
    y += h;
    // set RowSet on the specific row
    myRs.absolute(nRow+1);
    for (nCol=0; nCol<nColumns; nCol++) {
    /* the next 3 lines are old code
    int col = m_table.getColumnModel().getColumn(nCol).getModelIndex();
    Object obj = m_tableModel.getValueAt(nRow, col);
    String str = obj.toString();
    // take the values column by columns
    ImmediateAccess ia = (ImmediateAccess)myRs.getColumnItem(colNames[nCol]);
    String str = ia.getValueAsString();
    if (str.equals("")) str=" ";
    /* this if is usefull if we'd like to have coloring in printing
    if (obj instanceof ColorData)
    pg.setColor(((ColorData)obj).m_color);
    else
    pg.setColor(Color.black);
    pg.drawString(str, x[nCol], y);
    }catch(Exception e){
    e.printStackTrace();
    System.gc();
    return PAGE_EXISTS;
    public void printData() {
    try {
    PrinterJob prnJob = PrinterJob.getPrinterJob();
    prnJob.setPrintable(this);
    if (!prnJob.printDialog())
    return;
    prnJob.print();
    catch (PrinterException e) {
    e.printStackTrace();
    System.err.println("Printing error: "+e.toString());
    public int print(Graphics pg, PageFormat pageFormat,int pageIndex) throws PrinterException {
    JLabel m_title=new JLabel("Alexus Report : "+titleName);
    if (pageIndex >= m_maxNumPage)
    return NO_SUCH_PAGE;
    pg.translate((int)pageFormat.getImageableX(),
    (int)pageFormat.getImageableY());
    int wPage = 0;
    int hPage = 0;
    if (pageFormat.getOrientation() == pageFormat.PORTRAIT) {
    wPage = (int)pageFormat.getImageableWidth();
    hPage = (int)pageFormat.getImageableHeight();
    else {
    wPage = (int)pageFormat.getImageableWidth();
    wPage += wPage/2;
    hPage = (int)pageFormat.getImageableHeight();
    pg.setClip(0,0,wPage,hPage);
    int y = 0;
    pg.setFont(m_title.getFont());
    pg.setColor(Color.black);
    Font fn = pg.getFont();
    FontMetrics fm = pg.getFontMetrics();
    y += fm.getAscent();
    pg.drawString(m_title.getText(), 0, y);
    y += 20; // space between title and table headers
    Font headerFont = m_table.getFont().deriveFont(Font.BOLD);
    pg.setFont(headerFont);
    fm = pg.getFontMetrics();
    TableColumnModel colModel = m_table.getColumnModel();
    int nColumns = colModel.getColumnCount();
    int x[] = new int[nColumns];
    x[0] = 0;
    int h = fm.getAscent();
    y += h; // add ascent of header font because of baseline
    // positioning (see figure 2.10)
    int nRow, nCol;
    for (nCol=0; nCol<nColumns; nCol++) {
    TableColumn tk = colModel.getColumn(nCol);
    int width = tk.getWidth();
    if (x[nCol] + width > wPage) {
    nColumns = nCol;
    break;
    if (nCol+1<nColumns)
    x[nCol+1] = x[nCol] + width;
    String title = (String)tk.getIdentifier();
    pg.drawString(title, x[nCol], y);
    pg.setFont(m_table.getFont());
    fm = pg.getFontMetrics();
    int header = y;
    h = fm.getHeight();
    int rowH = Math.max((int)(h*1.5), 10);
    int rowPerPage = (hPage-header)/rowH;
    m_maxNumPage = Math.max((int)Math.ceil(m_table.getRowCount()/
    (double)rowPerPage), 1);
    int iniRow = pageIndex*rowPerPage;
    int endRow = Math.min(m_table.getRowCount(),
    iniRow+rowPerPage);
    // take an array to store columns header
    String colNames[] = new String[nColumns];
    for (nCol=0; nCol<nColumns; nCol++) {
    colNames[nCol] = myRs.getColumnName(nCol+1).toString();
    try{
    for (nRow=iniRow; nRow<endRow; nRow++) {
    y += h;
    // set RowSet on the specific row
    myRs.absolute(nRow+1);
    for (nCol=0; nCol<nColumns; nCol++) {
    /* the next 3 lines are old code
    int col = m_table.getColumnModel().getColumn(nCol).getModelIndex();
    Object obj = m_tableModel.getValueAt(nRow, col);
    String str = obj.toString();
    // take the values column by columns
    ImmediateAccess ia = (ImmediateAccess)myRs.getColumnItem(colNames[nCol]);
    String str = ia.getValueAsString();
    if (str.equals("")) str=" ";
    /* this if is usefull if we'd like to have coloring in printing
    if (obj instanceof ColorData)
    pg.setColor(((ColorData)obj).m_color);
    else
    pg.setColor(Color.black);
    pg.drawString(str, x[nCol], y);
    }catch(Exception e){
    e.printStackTrace();
    System.gc();
    return PAGE_EXISTS;
    4- execute printData() method to print.
    e.g. myGridControl.printData();
    let me know if you still cannot print.
    Ali

  • How can I enter the data from the recordset into your insert query

    Hi
    i would like to know how I can enter the data from the recordset into your insert query without using a  hidden field.
    thanks
    ------------------------------------------------------------------------------------Below is the code------------------------------------------------------------------------------------- -----
    <?php require_once('../../Connections/ezzyConn.php'); ?>
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
      if (PHP_VERSION < 6) {
        $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
       $theValue = function_exists("mysql_real_escape_string") ?  mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;   
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      return $theValue;
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "frmpostComment")) {
       $insertSQL = sprintf("INSERT INTO comments (com_topic, com_user, title,  com_content, com_date, online_id) VALUES (%s, %s, %s, %s, %s, %s)",
                           GetSQLValueString($_POST['com_topic'], "int"),
                           GetSQLValueString($_POST['commentby'], "int"),
                           GetSQLValueString($_POST['title'], "text"),
                           GetSQLValueString($_POST['com_content'], "text"),
                           GetSQLValueString($_POST['com_date'], "text"),
                           GetSQLValueString($_POST['online_id'], "int"));
      mysql_select_db($database_ezzyConn, $ezzyConn);
      $Result1 = mysql_query($insertSQL, $ezzyConn) or die(mysql_error());
      $insertGoTo = "index.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      header(sprintf("Location: %s", $insertGoTo));
    $colname_rsCommentby = "-1";
    if (isset($_SESSION['MM_Username'])) {
      $colname_rsCommentby = $_SESSION['MM_Username'];
    mysql_select_db($database_ezzyConn, $ezzyConn);
    $query_rsTopics = "SELECT topic_id, topic FROM topics ORDER BY topic_date DESC";
    $rsTopics = mysql_query($query_rsTopics, $ezzyConn) or die(mysql_error());
    $row_rsTopics = mysql_fetch_assoc($rsTopics);
    $totalRows_rsTopics = mysql_num_rows($rsTopics);
    mysql_select_db($database_ezzyConn, $ezzyConn);
    $query_rsOnline = "SELECT online_id, `online` FROM `online` ORDER BY online_id DESC";
    $rsOnline = mysql_query($query_rsOnline, $ezzyConn) or die(mysql_error());
    $row_rsOnline = mysql_fetch_assoc($rsOnline);
    $totalRows_rsOnline = mysql_num_rows($rsOnline);
    $colname_rsCommentby = "-1";
    if (isset($_SESSION['MM_Username'])) {
      $colname_rsCommentby = $_SESSION['MM_Username'];
    mysql_select_db($database_ezzyConn, $ezzyConn);
    $query_rsCommentby  = sprintf("SELECT user_id, username FROM users WHERE username = %s",  GetSQLValueString($colname_rsCommentby, "text"));
    $rsCommentby = mysql_query($query_rsCommentby, $ezzyConn) or die(mysql_error());
    $row_rsCommentby = mysql_fetch_assoc($rsCommentby);
    $totalRows_rsCommentby = mysql_num_rows($rsCommentby);
    ?>
    <?php include("../includes/access.php"); ?>
    <!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>ezzybay - easy click, ezzy shopping</title>
    <link href="../css/global.css" rel="stylesheet" type="text/css" />
    <link href="../css/navigation.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <div id="wrapper">
      <?php include("../includes/top.php"); ?>
      <div id="content">
      <div id="pageTitle">
        <h2>CMS Section:</h2>
        <p>Comment Topics Page</p>
      </div>
      <?php include("../includes/leftnav.php"); ?>
        <div id="mainContent">
          <form action="<?php echo $editFormAction; ?>" method="post" name="frmpostComment" id="frmpostComment">
            <table align="center">
            <caption>Post Comment</caption>
              <tr valign="baseline">
                <td nowrap="nowrap" align="right">Topic:</td>
                <td><select name="com_topic" class="listbox" id="com_topic">
                  <?php
    do { 
    ?>
                   <option value="<?php echo  $row_rsTopics['topic_id']?>"><?php echo  $row_rsTopics['topic']?></option>
                  <?php
    } while ($row_rsTopics = mysql_fetch_assoc($rsTopics));
      $rows = mysql_num_rows($rsTopics);
      if($rows > 0) {
          mysql_data_seek($rsTopics, 0);
          $row_rsTopics = mysql_fetch_assoc($rsTopics);
    ?>
                </select></td>
              </tr>
              <tr valign="baseline">
                <td nowrap="nowrap" align="right">Title:</td>
                <td><input name="title" type="text" class="textfield" value="" size="32" /></td>
              </tr>
              <tr valign="baseline">
                <td nowrap="nowrap" align="right" valign="top">Comment:</td>
                <td><textarea name="com_content" cols="50" rows="5" class="textarea"></textarea></td>
              </tr>
              <tr valign="baseline">
                <td nowrap="nowrap" align="right">Status:</td>
                <td><select name="online_id" class="smalllistbox">
                  <?php
    do { 
    ?>
                   <option value="<?php echo $row_rsOnline['online_id']?>"  <?php if (!(strcmp($row_rsOnline['online_id'], 2))) {echo  "SELECTED";} ?>><?php echo  $row_rsOnline['online']?></option>
                  <?php
    } while ($row_rsOnline = mysql_fetch_assoc($rsOnline));
    ?>
                </select></td>
              </tr>
              <tr> </tr>
              <tr valign="baseline">
                <td nowrap="nowrap" align="right"> </td>
                <td><input type="submit" class="button" value="Insert record" /></td>
              </tr>
            </table>
            <input name="commentby" type="hidden" id="commentby" value="<?php echo $row_rsCommentby['user_id']; ?>" />
            <input type="hidden" name="com_date" value="<?php echo date("d/m/y : H:i:s", time()) ?>" />
            <input type="hidden" name="MM_insert" value="frmpostComment" />
          </form>
        </div>
      </div>
    <?php include("../includes/footer.php"); ?>
    </div>
    </body>
    </html>
    <?php
    mysql_free_result($rsTopics);
    mysql_free_result($rsOnline);
    mysql_free_result($rsCommentby);
    ?>

    I'll keep it simple and only use the date as an example. Hopefully you get the concept from the example. Basically you create a recordset and insert the recordset value instead of the POST value into your insert query. In the example below I declared a variable for $the_date and entered the variable into the INSERT query instead of the hidden POST field.
    <?php require_once('../../Connections/ezzyConn.php'); ?>
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
      if (PHP_VERSION < 6) {
        $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
       $theValue = function_exists("mysql_real_escape_string") ?  mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;   
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      return $theValue;
    $the_date = date("d/m/y : H:i:s", time());
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "frmpostComment")) {
       $insertSQL = sprintf("INSERT INTO comments (com_topic, com_user, title,  com_content, com_date, online_id) VALUES (%s, %s, %s, %s, %s, %s)",
                           GetSQLValueString($_POST['com_topic'], "int"),
                           GetSQLValueString($_POST['commentby'], "int"),
                           GetSQLValueString($_POST['title'], "text"),
                           GetSQLValueString($_POST['com_content'], "text"),
                           GetSQLValueString($the_date, "text"),
                           GetSQLValueString($_POST['online_id'], "int"));
      mysql_select_db($database_ezzyConn, $ezzyConn);
      $Result1 = mysql_query($insertSQL, $ezzyConn) or die(mysql_error());
      $insertGoTo = "index.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      header(sprintf("Location: %s", $insertGoTo));
    ?>

  • SelectOneMenu does not show the data from the backing bean

    Here is my code:
    <!--
    Fetch the source directory
    -->
    <h:inputText id="dir"
    value="#{myBean.sourceDirectory}"/>
    <!--
    Click this button to refresh the sub-directories list below
    -->
    <h:commandButton value="fetch"
    actionListener="#{myBean.processFetch}" />
    <!--
    Show the list of sub-directories in the directory entered above as a drop
    down
    -->
    <h:selectOneMenu value="#{myBean.selection}">
    <f:selectItems value="#{myBean.dirs}"/>
    </h:selectOneMenu>
    public class MyBean{
    private String sourceDirectory;
    private ArrayList<SelectItem> dirs;
    public String getSourceDirectory(){
    return sourceDirectory;
    public void setSourceDirectory(String newDir){
    this.sourceDirectory = newDir;
    public ArrayList<SelectItem> getDirs(){
    return dirs;
    public void setDirs(ArrayList<SelectItem> newDirs){
    this.dirs = newDirs;
    public void processFetch(ActionEvent e){
    //For this example, we return some hard coded values
    dirs = new ArrayList<SelectItem>();
    SelectItem s1 = new SelectItem();
    s1.setLabel(sourceDir + "_1");
    SelectItem s2 = new SelectItem();
    s2.setLabel(sourceDir + "_2");
    SelectItem s3 = new SelectItem();
    s3.setLabel(sourceDir + "_3");
    SelectItem s4 = new SelectItem();
    s4.setLabel(sourceDir + "_4");
    dirs.add(s1);
    dirs.add(s2);
    dirs.add(s3);
    dirs.add(s4);
    When I run the above code, I notice that the first time, (and the only time), if I hit the "fetch" button the data in the drop-down menu does get refreshed.
    Subsequently, it does not change. I am not sure what I am doing wrong.
    Can someone help me?

    Hi,
    In order to use the JDBC persistence store you have to use a non XA JDBC driver for your Data Source.
    http://docs.oracle.com/cd/E23943_01/web.1111/e13701/store.htm#CNFGD221
    Point-13). When configuring a connection pool to use with WebLogic JMS JDBC Store, use non-XA database drivers.
    http://middlewaremagic.com/weblogic/?p=586
    Hope it helps

  • Couldn't fetch the data from the data source...[nQSError: 16023]

    Hi all.
    I think that the problem I want to discuss is well-known, but still I got no answer whatever I tried ...
    I installed the BIEE on Linux (32 bit, OEL 5 - to be more precise), the complete installation was not a big deal. After that I installed the Administration tool on my laptop and created the repository. So... my tnsnames.ora on the laptop looks like this:
    TESTDB =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = testdb)
    And the tnsnames.ora on server, in its turn, looks like this:
    TESTDB =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = testdb.localdomain)
    The database worked normally and I created and transferred the repository to the server and started it up.
    It started without any errors, but when I tried to fetch the data via the representation services I got the error:
    Odbc driver returned an error (SQLExecDirectW).
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred.
    [nQSError: 16023] The ODBC function has returned an error. The database may not be available, or the network may be down. (HY000)
    I discovered, that the ODBC on my laptop was named not correctly (it should have been identical to tnsnames entry) - so I corrected it, saved and replaced the repository on the server and restarted it... - and still got the same error.
    Apparently, something is wrong with the data source. So let me put here some more information...
    My user.sh looks like this:
    ORACLE_HOME=/u01/app/ora/product/11.2.0/dbhome_1
    export ORACLE_HOME
    TNS_ADMIN=$ORACLE_HOME/network/admin
    export TNS_ADMIN
    PATH=$ORACLE_HOME/bin:/opt/bin:$PATH
    export PATH
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
    and my odbc.ini looks like this:
    [ODBC]
    Trace=0
    TraceFile=odbctrace.out
    TraceDll=/u01/OracleBI/odbc/lib/odbctrac.so
    InstallDir=/u01/OracleBI/odbc
    UseCursorLib=0
    IANAAppCodePage=4
    [ODBC Data Sources]
    AnalyticsWeb=Oracle BI Server
    Cluster=Oracle BI Server
    SSL_Sample=Oracle BI Server
    TESTDB=Oracle BI Server
    [TESTDB]
    Driver=/u01/OracleBI/server/Bin/libnqsodbc.so
    Description=Oracle BI Server
    ServerMachine=local
    Repository=SH
    Catalog=
    UID=
    PWD=
    Port=9703
    [AnalyticsWeb]
    Driver=/u01/OracleBI/server/Bin/libnqsodbc.so
    Description=Oracle BI Server
    ServerMachine=local
    Repository=
    Catalog=
    UID=
    PWD=
    Port=9703
    [Cluster]
    Driver=/u01/OracleBI/server/Bin/libnqsodbc.so
    Description=Oracle BI Server
    ServerMachine=local
    Repository=
    FinalTimeOutForContactingCCS=60
    InitialTimeOutForContactingPrimaryCCS=5
    IsClusteredDSN=Yes
    Catalog=SnowFlakeSales
    UID=Administrator
    PWD=
    Port=9703
    PrimaryCCS=
    PrimaryCCSPort=9706
    SecondaryCCS=
    SecondaryCCSPort=9706
    Regional=No
    [SSL_Sample]
    Driver=/u01/OracleBI/server/Bin/libnqsodbc.so
    Description=Oracle BI Server
    ServerMachine=localhost
    Repository=
    Catalog=SnowflakeSales
    UID=
    PWD=
    Port=9703
    SSL=Yes
    SSLCertificateFile=/path/to/ssl/certificate.pem
    SSLPrivateKeyFile=/path/to/ssl/privatekey.pem
    SSLPassphraseFile=/path/to/ssl/passphrase.txt
    SSLCipherList=
    SSLVerifyPeer=No
    SSLCACertificateDir=/path/to/ca/certificate/dir
    SSLCACertificateFile=/path/to/ca/certificate/file.pem
    SSLTrustedPeerDNs=
    SSLCertVerificationDepth=9
    Can anybody point a finger where the error line is? According to the documentation it should work fine.Maybe the driver name is wrong? What driver I need then?
    Cause I can't find it.
    I'm really sorry to bother, guys :) Let me know if you get some ideas about it (metalink didn't help).

    OK, several things wrong here. First the odbc.ini is not meant to be used for Oracle databases, that's not supported on Linux. On Linux you should OCI (Oracle native drivers) and nothing should be added on odbc.ini. Your user.sh seems to be pointing to your DB installation path. This is not correct. It should point to your Oracle client installation so you need to install the Oracle FULL client somewhere. Typically this is normally done with the same OS account as the one used for OBIEE whereas the DB normally runs with the oracle account. Once you got the client installed test it under the OBIEE account doing tnsping and sqlplus to your DB. Also the LD_LIBRARY_PATH should point to $ORACLE_HOME/lib32 not lib as the lib directory is the 64bits and OBIEE uses the 32bits libraries even in 64bits OSes. Finally change your RPD connection to use OCI. Make all those changes and you should be good.

  • Vaildating File name with the data in the file using sender file adapter

    Hi,
    Below is the scenario
    1)       Pick up files from a FTP server, the file name is dynamic, how do I put dynamic name in sender file adapter?
    2)       Determine if the user correctly named the file based on data in the file.
    a.       File naming structure that we will be concerned with is <company_code><accounting_time_period>.<extension>
    b.      The company code and the time period in the file name have to match the data in the file.
    i.      For example.  If the file name is 1001_200712.csv and the data in the file is for company code 1005, time period 200712, the file is incorrectly named.  Both values must be correct.
    How do we do this?

    Hi Sachin,
                    As Rightly said by Krishna, You can not put Dynamic name in sender File Adapter .You have to provide the name of the file like "*.txt" in Sender Adapter and at runtime you can access this file name by using following UDF:
    DynamicConfiguration conf  = (DynamicConfiguration) container
      .getTransformationParameters()
      .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String valueOld = conf.get(key);
    return (valueOld);
    As now you have picked up the file name at runtime.
    Now concatenate source file fields Company_code and Accounting_timeperiod using "_" as delimiter in properties.Also concat the extension .Now you have required file name.
    So using EQUALS standard function ,compare it with File Name fetched at runtime using above given UDF, and pass result as you desire to process further or not or to raise Alert to resend the file.
    Thanks & Regards,
    Anurag Garg
    You can validate this file name in Mapping itself.

  • Function module to determine the date for the nth weekday of the mth month

    Hey folks,
    Is there a function module which determines the date for the mth weekday of the nth month in the pth year.
    For instance, if I input 2nd thursday of the 4th month in 2008, it should return me, 04/10/2008  (MM/DD/YYYY).
    Thanks and Best Regards,
    Puja.

    Hi Ravi,
    Hadn't been able to work on this lately...You solution was quite close, but did not work for a few scenarios....I tweaked the logic a bit to take care of them as well...
    So here goes the code:
    ================================================
      DATA first_day_of_month TYPE datum.
      DATA day TYPE p.
      CONCATENATE year month '01' INTO first_day_of_month.
      CALL FUNCTION 'DAY_IN_WEEK'
        EXPORTING
          datum = first_day_of_month
        IMPORTING
          wotnr = day.
      DATA day_number TYPE numc2.
      IF day = weekday.
        IF recur = 1.
          DATA ls_date(10) TYPE c.
          CONCATENATE month '/01/' year INTO ls_date.
          CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
            EXPORTING
              date_external                  = ls_date
           IMPORTING
             date_internal                  = date.
        ELSE.
          day_number =  ( ( recur - 1 ) * 7 )  + 1.
        ENDIF.
      ELSEIF day < weekday.
        day_number = ( ( recur - 1 ) * 7 ) + ( weekday - day ) + 1.
      ELSE.
        day_number = ( ( recur - 1 ) * 7 ) + ( 7 - day ) + weekday + 1.
      ENDIF.
      IF date IS INITIAL.
        CONCATENATE year month day_number INTO date.
      ENDIF.
    ====================================
    There still could be some loopholes in this....am not sure....but it sure did seem to work for a couple of random checks that I performed.
    Brownie points to you for giving me a direction.
    Thanks,
    Puja.

  • ROW-00014: Cannot update row as the data in the database has changed

    We're having the problem below. We are trying to upgrade a 10g Oracle database via a linked server in SQL Server 2008.
    OLE DB provider "OraOLEDB.Oracle" for linked server "abc" returned message "ROW-00014: Cannot update row as the data in the database has changed".
    Mensagem 7343, Nível 16, Estado 4, Linha 1
    The OLE DB provider "OraOLEDB.Oracle" for linked server "abc" could not UPDATE table "[OraOLEDB.Oracle]".
    Can anyone help?
    Thank you.
    Edited by: user10641061 on 14/10/2011 18:48

    The columns that I want insert in oracle database have this data:
    JULIO DE SANT’ ANNA     KOLISNHG     1968-10-04 00:00:00.000     S     F     10     9     RUA, N° 999 / APT° 99999 RJ     TH     25410003     N°42.018      78550510     125296625     2178942326     2008-11-15 18:58:58.000
    Some of this data may be interfering with this insert?
    thank you
    Edited by: user10641061 on 15/10/2011 15:47
    Edited by: user10641061 on 15/10/2011 15:48

  • Why users with rights defined as View cannots see the data of the form ?

    Hi,
    I have a nice form page. My application has an authorization scheme with an authentification function : return acl_custom_auth. It is working well. I have defined users with Edit, View and Admin rights. Unfortunately on a form, if the user is defined as "View" he cannot see the data, he only sees the item but their content is not diplayed. I don't understand why. I would like him to see the data.
    The authorization scheme of the page is "Access control -view" as well as the items of the page.
    Do you have any idea of what is going wrong here ?
    Thank you for your kind help !
    Regards,
    Christian

    Another thing that can be done though mon tech-savy people may not know about it.
    Locate a group of PDF's and select at least 5-6 of them as a Group.
    hold down Option key while click on file menu
    Click on Get info.
    One window will open for the group.  in Mountain Lion (OSX.8.2) the term will change to Show Inspector.
    click on the  button next to Open With.
    choose either Reader or Acrobat.
    just bellow is a question Use Acrobat (or Reader) to open all files of this type, Click on it and choose yes.
    Make sure you have a mix of Adobe PDF's and Preview PDF/s for  this to work. If it wasn't good for opening other Type Files I'd compress Preview and throw the original away. It’s a nusiance.

Maybe you are looking for