Problems using a parameter

Hi, I am running into a problem that I can't fix.
This is the code I have in the after parameter form trigger. I am selecting a character field from the holder table that has characters in like this '010204050709' I then put these numbers into a parameter called :p_condit_comma and I add a comma between each set of two numbers. I then use this parameter in my query in the where clause as can be seen below. This should work unless I am missing something.
Using the parameter in the query produces no output and no error, if I replace the parameter in the query with (01,02,03) the report produces the desired output. I have also checked that the parameter contains what I am expecting eg. 01,02,04
Thank you
Michael
function AfterPForm return boolean is
v_conditions holder.conditions%type;
v_num NUMBER(2) := 1;
begin
SELECT conditions INTO v_conditions
FROM holder
WHERE authority = :authority;
LOOP
     EXIT WHEN SUBSTR(v_conditions,v_num,2) IS NULL;
     IF v_num = 1 THEN
     :p_condit_comma := SUBSTR(v_conditions,v_num,2);
     ELSE     
     :p_condit_comma := :p_condit_comma || ',' || SUBSTR(v_conditions,v_num,2);
     END IF;
     v_num := v_num + 2; END LOOP;     
     return (TRUE);
end;
SQL Query
SELECT ALL CONDIT.CONDITION, CONDIT.CONDIT_MEM
FROM CONDIT
WHERE condition IN (:p_condit_comma)

Hi M
I have tried what you suggested
:p_condit_comma := :p_condit_comma ||''''|| ',' || SUBSTR(v_conditions,v_num,2);
this gives you something like this 01',02',03',04' and if you add an inverted comma before the number like this
:p_condit_comma := :p_condit_comma ||''''|| ',' ||''''|| SUBSTR(v_conditions,v_num,2);
you get the following error "ORA-06502 PL/SQL Numeric or value error"
I have tried many different combinations of this and I still have problems, maybe I need a new approach.
Thanks
Michael

Similar Messages

  • Problem using OdiOSCommand parameter

    Hi,
    I want to execute a .sh file which is in a unix machine(remote) and ODI studio is installed in windows7 machine(host).
    I followed the link below
    http://docs.oracle.com/cd/E21764_01/integrate.1111/e12643/appendix_a.htm#CEGDEGJB
    here I saw the command:
    OdiOSCommand "-OUT_FILE=c:\work\load-out.txt"
    "-ERR_FILE=c:\work\load-err.txt" "-FILE_APPEND=YES"
    *"-WORKING_DIR=c:\work" c:\work\load.bat*
    but the value for working_dir parameter is for local machine.What will I do for this WORKING_DIR parameter?
    assume IP of the unix machine is 172.18.11.11. My second question is that
    is it possible to execute multiple .bat file using a single command?
    Please help
    Thanks
    Papai
    Edited by: Papai on Oct 16, 2012 6:47 AM

    Explanation is little bit confusing. Anyway for your second question what you can do is that create one bat file which can trigger multiple bat files.
    For 1st question if you want to run a bat file which is in a unix machine from windows machine then you might have to create link between them lets say samba share. So the unix dirctory can be accesed from the windows machine. You need to talk with the windows team on this. Once you can access the the unix directory you use it like shared folder.

  • URL iView Problem - How to Use URL Parameter of Type 'User Information'

    Hello URL iView experts
    I am currently working on integration of backend-functionality with the help of an URL iView.
    I want to use a parameter of type 'User Information'. In SAP Help Library it is said, that it is possible to set the value of a parameter according to a dynamic query on the users attributes. (Link SAP HELP)
    It is also said, that one can retrieve the Logon ID of the users account.(Attribute Name: j_user -> Link SAP HELP Attributes )
    I can choose the type 'User Information' but i don't know what to specify in the field 'Value'.
    I have made a screenshot of the problem.->[Link to screenshot|http://img66.imageshack.us/img66/7782/urliviewproblemfrsdnthrel3.jpg]
    But if i am calling the application this way, he doesn't retrieve the Logon-ID of the account, but he just uses the 'j_user' as value for the parameter.
    Can you tell me, what i need to specify in the field value?
    Best Regards
    Marcus
    Edited by: Marcus Böhm on Jun 2, 2008 1:22 PM

    Hi Marcus,
    > It is also said, that one can retrieve the Logon ID of the users account
    This is not correct; on the help.sap.com-page concerning the URL-iView-Parameters, it is printed that "other attributes (general, account, group, role) are not supported". The j_user attribute is part of the account group, so - not supported.
    For your needs, it may be a better choose to use the AppIntegrator, which offers such a possibility by using "<User.LogonUid>"; see http://help.sap.com/saphelp_nw70/helpdata/EN/36/5e3842134bad04e10000000a1550b0/frameset.htm and https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e0cbc309-ff89-2a10-8bad-bcde4c152ecb
    Hope it helps
    Detlev

  • Problem get the parameter ID using debug mode

    Hi Expert,
    I got problem for tracking the problem which is using GET PARAMETER ID under debug mode. the scenario is like that, I go and run the BDC transaction and want to use GET PARAMETER ID 'KUN' to populate data customer code to some variable. but when I using the debug mode sometimes my variable is came from GET PARAMETER ID was missing. but if running not using the debug mode all is populated perfectly. is there any SAP notes or code I can use to continue my debuging instead using GET PARAMETER ID ? Thank you
    Regards,
    Koho koho

    Hi BreakPoint,
    Thanks for the replay, I really don't know and how to configure again. this morning I am running upload program using the BDC using the get paramater ID from posting FB03. I loading 10 documents upload. and 2 is failed to take the "get parameter id 'BLN' field var1" and var1 is blank, the other 8 document posted I can get the paramter id as well. any solution for this case. Thanks
    Regards,
    Koho koho

  • Problems using event structure to write new parameter values to VISA

    Attachments:
    FMA_event_2.vi ‏28 KB
    FMA_event_2.vi ‏28 KB

    It seems I'm also having trouble using forums..not sure what happened...updated and corrected thread: http://forums.ni.com/t5/LabVIEW/Problems-using-event-structure-to-write-new-parameter-values-to/td-p...

  • Problem using parameter IT_EVENT_EXIT of FM   'REUSE_ALV_GRID_DISPLAY'

    Hi,
    I am working with FM 'REUSE_ALV_GRID_DISPLAY' .
    Now when i am trying to use the parameter IT_EVENT_EXIT according to the FM documentation, its not responding accordingly.
    I want that when i press the menu button for "DESELECT ALL' , i should be able to respond to the execution of the standard function before the ALV does it.
    *&      Form  Z8_EVENT_EXIT
          text
    -->  p1        text
    <--  p2        text
    form Z8_EVENT_EXIT .
    DATA : L_EVENT_EXIT TYPE SLIS_EVENT_EXIT.
    REFRESH R_EVENT_EXIT.
    L_EVENT_EXIT-UCOMM = '&SAL'.
    L_EVENT_EXIT-BEFORE = 'X'.
    APPEND L_EVENT_EXIT TO R_EVENT_EXIT.
    CLEAR R_EVENT_EXIT.
    endform.                    " Z8_EVENT_EXIT
    FORM Z8_PERFORM_ALV_GRID .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
       IT_EVENT_EXIT                     = R_EVENT_EXIT
    ENDFORM.

    In fact, you should use the 'USER_COMMAND' routine to put your code, not the 'EVENT'.
    eg :
    *       ITAB_user_command                                             *
    FORM itab_user_command  USING ucomm TYPE sy-ucomm
                            s_selfield TYPE slis_selfield.
        WHEN '&IC1'.
    *     Call Transaction MM03
          IF s_selfield-fieldname = 'MATNR' .
                READ TABLE itab INDEX s_selfield-tabindex.
                SET PARAMETER ID 'MAT' FIELD itab-matnr.
                SET PARAMETER ID 'WRK' FIELD itab-werks.
            CALL TRANSACTION 'MD04' AND SKIP FIRST SCREEN.
          ENDIF.
      ENDCASE.
    ENDFORM. "ITAB_user_command
    Regards,
    Erwan

  • Problem in getting parameter value from selection screen in web dynpro abap

    Hi,
    I am facing problem in getting parameter value from selection screen.
    Please find my code below:
    DATA LT_PAR_ITEM TYPE IF_WD_SELECT_OPTIONS=>TT_SELECTION_SCREEN_ITEM.
    FIELD-SYMBOLS:<FS_PAR_ITEM> LIKE LINE OF LT_PAR_ITEM,
                                 <FS_OBJ_USAGE>    TYPE REF TO data.
      WD_THIS->M_HANDLER->GET_PARAMETER_FIELDS( IMPORTING ET_FIELDS = LT_PAR_ITEM ).
      LOOP AT LT_PAR_ITEM ASSIGNING <FS_PAR_ITEM>.
        CASE <FS_PAR_ITEM>-M_ID.
          WHEN `OBJ_USAGE`.
             ASSIGN <FS_PAR_ITEM>-M_VALUE->* TO <FS_OBJ_USAGE>.      
    [ Here, sy-subrc is 4,  <FS_OBJ_USAGE> is not assigning.]
        ENDCASE.
      ENDLOOP. 
    So, can any one solve this problem.
    Thanks in advance,
    Radhika

    Hi Radhika,
    Try using GET_RANGE_TABLE_OF_SEL_FIELD...
    Please Refer below code..
       DATA: NODE_FLIGHTS TYPE REF TO IF_WD_CONTEXT_NODE.
      DATA: RT_CARRID TYPE REF TO DATA.
      DATA: ISFLIGHT TYPE TABLE OF SFLIGHT.
      DATA: WSFLIGHT TYPE SFLIGHT.
      FIELD-SYMBOLS: <FS_CARRID> TYPE TABLE.
    Retrieve the data from the select option
      RT_CARRID = WD_THIS->M_HANDLER->GET_RANGE_TABLE_OF_SEL_FIELD( I_ID = 'S_CARR_ID' ).
    Assign it to a field symbol
      ASSIGN RT_CARRID->* TO <FS_CARRID>.
      CLEAR ISFLIGHT. REFRESH ISFLIGHT.
      SELECT * INTO CORRESPONDING FIELDS OF TABLE ISFLIGHT FROM SFLIGHT
                           WHERE CARRID IN <FS_CARRID>.
      NODE_FLIGHTS = WD_CONTEXT->GET_CHILD_NODE( NAME = `FLIGHTS` ).
      NODE_FLIGHTS->BIND_ELEMENTS( ISFLIGHT ).
    Thanks,
    Regards,
    Kiran

  • Use of parameter sets with prepared INSERTS via Oracle's ODBC driver 8.1.6.4

    Oracles ODBC driver, version 8.1.6.4, allows for driver configuration of three different batch auto commit modes. If I select COMMIT ALL SUCCESSFUL STATEMENTS and cause my app to execute a prepared and parameterized INSERT statement that makes use of parameter value sets, all records up to the first record that causes an error are committed. What is happening? The driver returns only one diagnostic record, with SQLGetDiagField returning the index of the bad record through the [SQL_DIAG_ROW_COUNT] field. Regardless of whether SQLExecute executed successfully or not, the [SQL_ATTR_PARAM_OPERATION_PTR]/ [SQL_ATTR_PARAM_STATUS_PTR] buffers are not initialized by the driver. Even more so, the drive returns SQL_PARC_NO_BATCH for SQLGetInfo when [SQL_PARAM_ARRAY_ROW_COUNTS] is passed. Does anyone know if the driver fully or partially or does not support use of parameter value sets. If it is only partial implementation, ignoring the parameter operation and status buffers, in my opinion, greatly diminishes any real use of parameter value sets. Does anyone known if the above problems disappear with use of Oracles ODBC driver, version 8.1.7.3.0?
    All help is greatly appreciated,
    Chris Simms
    null

    <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by Justin Cave ([email protected]):
    What version of the database do you have on the back end?
    Justin<HR></BLOCKQUOTE>
    Oracle8i version 8.1.6. Looking at the specs that come with the ODBC driver upgrades, version 8.1.7.3.0 [which requires Oracle*i version 8.1.7] and 8.1.6.4, it seems that similar enhancements/fixes were made to both. I honestly do not know if what I am attempting is possible with either of the ODBC drivers. I really would prefer not to have to drop down to programming using OCI.
    Chris
    null

  • Getting error when using the "/parameter" switch in command line run

    Has anyone experienced this problem before?
    My report queries over 100,000 records from a view. When the report is run from the command line every thing works fine.
    But when I add a condition using a "parameter", although the report still runs fine from the destop, when launched from the command line it errs.
    "Oracle Discoverer Desktop has encountered a problem and needs to close. ..."
    "The instruction at "0x0044397c" referenced memory at "0x0000004e". The memory cound not be "read"...."
    I'm guessing its a memory issue with my PC. I've tested using a parameter with other reports using fewer records and it doesn't err from the command line.
    I can work around the issue by not using a parameter but then I have 20 versions of the same report each with a different condition.
    Any suggestions would be appreciated.
    Lise McGillis

    Hi Michael,
    I'm using an DELL Intel Pentium 4 CPU 3.00 GHz with 1 GB of RAM. We use Microsoft Windows XP Prof version 2002.
    As for Discoverer we are using 10G, Desktop Client 10.1.2.48.18 - 1047500 KB available memory , 2099744 KB Free disk space.
    I'm not sure I have acess to a computer with more RAM but I'm looking into it.
    What I'm frustrated by is the fact that the parameter works fine when run directly from the desktop but when passed from the command line it bombs... but only when dealing with mega records.
    Lise.

  • Bug while using string parameter values in postgresql query

    Hi,
    I have the following query for the postgresql database:
    Code:
    <queryString><![CDATA[SELECT
    evt_src_mgr_rpt_v."evt_src_mgr_name" AS esm_name,
    evt_src_collector_rpt_v."evt_src_collector_name" AS collector_name,
    evt_src_grp_rpt_v."evt_src_grp_name" AS grp_name,
    evt_src_grp_rpt_v."state_ind" AS state_ind,
    evt_src_rpt_v."evt_src_name" AS src_name,
    evt_src_rpt_v."date_modified" AS date_modified,
    evt_src_rpt_v."date_created" AS date_created,
    CASE WHEN $P{mysortfield} = 'evt_src_mgr_name' THEN evt_src_mgr_name
    WHEN $P{mysortfield} = 'evt_src_collector_name' THEN evt_src_collector_name
    WHEN $P{mysortfield} = 'evt_src_grp_name' THEN evt_src_grp_name
    ELSE evt_src_name END as sort
    FROM
    "evt_src_mgr_rpt_v" evt_src_mgr_rpt_v
    LEFT JOIN
    "evt_src_collector_rpt_v" evt_src_collector_rpt_v
    ON EVT_SRC_MGR_RPT_V."evt_src_mgr_id" = evt_src_collector_rpt_v."evt_src_mgr_id"
    LEFT JOIN
    "evt_src_grp_rpt_v" evt_src_grp_rpt_v
    ON evt_src_collector_rpt_v."evt_src_collector_id" = evt_src_grp_rpt_v."evt_src_collector_id"
    LEFT JOIN
    "evt_src_rpt_v" evt_src_rpt_v
    ON evt_src_grp_rpt_v."evt_src_grp_id" = evt_src_rpt_v."evt_src_grp_id"
    LEFT JOIN
    "evt_src_offset_rpt_v" evt_src_offset_rpt_v
    ON evt_src_rpt_v."evt_src_id" = evt_src_offset_rpt_v."evt_src_id"
    WHERE
    $P!{mysortfield} LIKE '$P!{searchvalue}' || '%']]></queryString>
    That is I try to select only the records where the field which is
    selected by user as report parameter ($P{mysortfield}) contains data
    starting with the text entered by user as a report parameter
    ($P{searchvalue}).
    When I try to run the report in iReport with active connection to the
    database the report is generated as expected.
    But when I try to run the report from Sentinel Log Manager I get the
    following error: "java.lang.String cannot be cast to
    net.sf.jasperreports.engine.JRValueParameter".
    After several detailed debug sessions I finally came into a conclusion
    that this error is related to the use of parameter values (
    $P!{mysortfield} and $P!{searchvalue} ).
    I even tried using the following WHERE clause (which emulates the
    queries as used in standart reports (especially at VendorProduct related
    SQL queries ) with no success:
    Code:
    WHERE
    ($P{mysortfield} = 'evt_src_mgr_name' AND evt_src_mgr_name LIKE ($P{searchvalue} || '%')) OR
    ($P{mysortfield} = 'evt_src_collector_name' AND evt_src_collector_name LIKE ($P{searchvalue} || '%')) OR
    ($P{mysortfield} = 'evt_src_grp_name' AND evt_src_grp_name LIKE ($P{searchvalue} || '%')) OR
    ($P{mysortfield} = 'evt_src_name' AND evt_src_name LIKE ($P{searchvalue} || '%'))
    Any suggestions?
    hkalyoncu
    hkalyoncu's Profile: http://forums.novell.com/member.php?userid=63527
    View this thread: http://forums.novell.com/showthread.php?t=450687

    bweiner12345;2167651 Wrote:
    > I'm not 100% sure the $P! (instead of just $P) is needed in that WHERE
    > portion of your SQL statement.
    >
    > What I would suggest doing is building the WHERE portion of your query
    > up again step by step. That is, instead of using any parameters in your
    > WHERE:
    >
    > $P!{mysortfield} LIKE '$P!{searchvalue}' || '%'
    >
    > ... take a step back and literally hard-code some values in there, such
    > as:
    >
    > evt_src_mgr_name LIKE '%' || '%'
    >
    > ... and run it on your box to make sure it works fine.
    >
    > If it works fine, start substituting the parameters one by one:
    >
    > $P{mysortfield} LIKE '%' || '%'
    >
    > .... test on the box.
    >
    > $P{mysortfield} LIKE '$P{searchvalue}' || '%'
    >
    > .... test on the box.
    >
    > It may be a little tedious, but at least you'll find out where the
    > problem is occurring... and may be quicker in the long run.
    >
    > (Note: In my above example steps I didn't use the ! in with the
    > parameters, as I don't think they are needed in the WHERE clause... but
    > I could be wrong... and by following the above step-by-step technique
    > should answer that for sure.)
    Thank you for the suggestions:
    While trying to implement your suggestions I realized that there was a
    error at the parameter name I used inside the where clause (it should be
    $P{searchfield}).
    Here are my results:
    Code:
    vt_src_mgr_name LIKE '%' || '%'
    worked as expected.
    Code:
    $P{searchfield} LIKE '%' || '%'
    produced PDF but wrong output.
    Code:
    $P!{searchfield} LIKE '%' || '%'
    resulted with the error "java.lang.String cannot be cast to
    net.sf.jasperreports.engine.JRValueParameter" and no PDF.
    Then I tried the following where clause which resulted in exactly as
    expected PDF:
    Code:
    WHERE
    ($P{searchfield} = 'evt_src_mgr_name' AND evt_src_mgr_name LIKE ($P{searchvalue} || '%')) OR
    ($P{searchfield} = 'evt_src_collector_name' AND evt_src_collector_name LIKE ($P{searchvalue} || '%')) OR
    ($P{searchfield} = 'evt_src_grp_name' AND evt_src_grp_name LIKE ($P{searchvalue} || '%')) OR
    ($P{searchfield} = 'evt_src_name' AND evt_src_name LIKE ($P{searchvalue} || '%'))
    As a summary:
    * The query which works in iRepord do not work in Sentinel Log
    Manager.
    * I found a workaround for my case.
    * I did not checked, but the reports provided in Sentinel RD which use
    the same technique for VendorProduct parameter (i.e. the reports with
    query string containing
    Code:
    LIKE ($P{VendorProduct} || '%')
    will most probably not work as expected IF Sentinel RD uses the same
    code as Sentinel Log Manager.
    hkalyoncu
    hkalyoncu's Profile: http://forums.novell.com/member.php?userid=63527
    View this thread: http://forums.novell.com/showthread.php?t=450687

  • Problem using c:forEach

    I'm having a problem using c:forEach. Eclipse is telling me the problem is with the items parameter, and for the life of me, I cannot see why, since I could swear forEach uses an items parameter. Here is my code and the exception report. Can anyone please help? Thanks.
    <table>
         <c:forEach var="user" items="${users}">
              <tr>
                   <td>${user.name}</td>
                   <c:forEach var="education" items="${education}">
                        <td>${education.school}</td>
                        <td>${education.major}</td>
                        <td>${education.degree}</td>
                        <td>${education.gpa}</td>
                   </c:forEach>
                   <c:forEach var="employment" items="${employment}">
                        <td>${employment.employer}</td>
                        <td>${employment.jobtitle}</td>
                        <td>${employment.startdate}</td>
                        <td>${employment.enddate}</td>
                   </c:forEach>
              </tr>
         </c:forEach>
    </table>
    org.apache.jasper.JasperException: /RecruiterResumeResults.jsp(46,1) According to TLD or attribute directive in tag file, attribute items does not accept any expressions
         org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
         org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
         org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
         org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1174)
         org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:821)
         org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530)
         org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
         org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
         org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
         org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
         org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
         org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1736)
         org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:183)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
         org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
         org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)

    In web.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="2.4"
         xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">At the top of my JSP:
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
         pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

  • N-Queens Problem Using Stacks Help

    I'm trying to solve the N-Queens problem using Stacks. Quite frankly, I'm completely lost.
    Here's the pseudocode from the book:
    "Push information onto the stack indicating the first choice is a queen in row 1, column 1.
    success = false;
    while(!success && !s.isEmpty())
    Check whether the most recent choice (on top of the stack) is in the same row, same column, or same diagonal as any other choices (below the top). If so, we say there is a conflict: otherwise, there is no conflict.
    if (there is a conflict)
    -Pop items off the stack until the stack becomes empty or the top of the stack is a choice that is not in column n. If the stack is now not empty, then increase the column number of the top choice by 1.
    else if (no conflict and the stack size is n)
    -Set success to true because we have found a solution to the n-queens problem.
    else
    -Push information onto the stack indicating tat the next choice is to place a queen at row number s.size()+1 and column number 1.
    And here is my excuse for code so far. I have no idea how to check the diagonals, or how to even really make this work
    {code}import java.util.Stack;
    public class NQueens {
    int row, column, n;
    public NQueens(int n) {
    row = 0;
    column = 0;
    n = n;
    public Stack Solve(){
    boolean success, conflict;
    Stack<NQueens> Qs = new Stack<NQueens>();
    if (Qs.size() == 0)
    Qs.push(new NQueens(1));
    success = false;
    while (!success && !Qs.isEmpty())
    if (Qs.peek().row == row)
    conflict = true;
    if (Qs.peek().column == column)
    conflict = true;
    if (conflict = true)
    Qs.pop();
    Qs.peek().column += 1;
    else
    if (!conflict && Qs.size() == n)
    success = true;
    else
    Qs.push(new NQueens(Qs.size()+1));
    return Qs;
    {code}

    First off I'll address this:
        int row, column, n;
        public NQueens(int n) {
            row = 0;
            column = 0;
            n = n; //here
        }Notice the last line of that. I get what you're trying to do, but think about what the compiler sees there. If you have two variables called 'n', one at the class level, and one at the method level, the compiler must have rules so it knows which one you're talking about. And if it follows those rules, then saying 'n' inside that method must always refer to the same n. Otherwise, how would it decide which one you're talking about? The rule here is that it uses the most local variable available to it, which in this case is your method parameter. So 'n = n' is setting the parameter equal to itself. To refer to the class variable n, use "this.n", like so:
    this.n = n;Now that that's settled, let's address some logic. You'll need to figure out whether two Queens share a diagonal. I can think of at least a couple options for that. First, every time you look at a Queen you could loop through the entire board and make sure that if a piece is in r3c4, that no piece is in r2c3,r4c5,r5c6, etc. Or you could create a new variable for your class similar to your 'row' and 'column' variables that tracks the diagonal a piece is in. But that requires some calculating. And remember, there's 2 directions for diagonals, so you'll need 2 diagonal variables.
    If these are your Row and Column values:
    Row          Column
    00000000     01234567
    11111111     01234567
    22222222     01234567
    33333333     01234567
    44444444     01234567
    55555555     01234567
    66666666     01234567
    77777777     01234567And these are your diagonal values:
    Diag 1                    Diag 2
    0  1  2  3  4  5  6  7          7  6  5  4  3  2  1  0
    1  2  3  4  5  6  7  8          8  7  6  5  4  3  2  1
    2  3  4  5  6  7  8  9          9  8  7  6  5  4  3  2
    3  4  5  6  7  8  9  10          10 9  8  7  6  5  4  3
    4  5  6  7  8  9  10 11          11 10 9  8  7  6  5  4
    5  6  7  8  9  10 11 12          12 11 10 9  8  7  6  5
    6  7  8  9  10 11 12 13          13 12 11 10 9  8  7  6
    7  8  9  10 11 12 13 14          14 13 12 11 10 9  8  7Then examine the relationship between Row(R), Column(C), and Diagonals 1 and 2 (D1/D2):
    RC   D1,D2
    00 = 0,7
    01 = 1,6
    02 = 2,5
    03 = 3,4
    04 = 4,3
    05 = 5,2
    06 = 6,1
    07 = 7,0
    10 = 1,8
    11 = 2,7
    12 = 3,6
    13 = 4,5
    14 = 5,4
    15 = 6,3
    16 = 7,2
    17 = 8,1You'll notice that D1 is always the same as R + C. And D2 is always the same as C subtracted from 7 plus R, giving:
    int d1 = row + column;
    int d2 = (7 + row) - column;But remember, that 7 in the formula above, is based on how big your grid is. So whatever your 'N' is, whether its a 10x10 square or a 574x574 square, that 7 should be changed to (N-1)
    So those could be your variables to track diagonals. What I'm noticing in your current code, is that you never change your row and column variables...so every Queen is always at r0c0. You should probably put values for those in your parameters for the constructor, in addition to n. Then the diagonals can be calculated from those.
    Edited by: newark on Apr 17, 2008 10:46 AM

  • Using paramform parameter !!!

    Dear all,
    I would to know, where can i specify the paramform parameter in the sample code delivers with the package:"Oracle Forms Services - Using Run_Report_Object to call Reports with a Parameter Form".
    It's a set of document and sample codes which gives a solution encountred when we try call Report from Form using a parameter form.
    Thank u for your help.

    I just implemented the white paper's RUN_REPORT_OBJECT_PROC procedure yesterday. (We're doing a simple pilot 6i Client Server form/report conversion to Forms10g and 10gAS.)
    To be honest, after reading the white paper I wasn't quite sure what this procedure was going to do. But after implementing it, here's what we see:
    If we pass a PARAMFORM=YES to the procedure using the report_otherparam, an HTML representation of the report's parameter form will be generated for the user.
    In our case, the original report parameter form had a populated list box of payroll periods. The new HTML parameter form even used the boilerplate text from our original parameter form and had a populated list box of the payroll periods. So it basically duplicated the original client/server parameter form into HTML with no work needed from us. I was impressed.
    Our only problem at this point is that when calling the report from our webform, we're being asked for a single signon logon. We don't want to use that yet, but can't find where to turn it off.
    Dave

  • Problems using Oracle Directory

    Hi all
    I have the following problem using 9i: I would like to use oracle internet directory to register my db's. I am currently reading the online handbooks and found a section that says to start the directory by using the 'oidmon' and 'oidctl' commands. The problem is that I cannot find these tools anywhere on the server, altough i am pretty sure i intalled anything important. is this a separate product? I thought it was included in 9i 9.2?
    Anyone?
    Cheers,
    Michael

    Hi.
    Hmm, your shared lib path appears to be ok. What version of Solaris are you running? Also what JDK version are you using (I'll assume you are using the one that installed with WLS)?
    You might also try posting this to the weblogic.developer.interest.jdbc newsgroup.
    Thanks,
    Michael
    Alex wrote:
    Hi,
    Please help. While trying to do a dbping, I get the following error:
    [root@hkodsdb01 SMEloan]# java -Djava.library.path=/export/home/greenwood/bea/wlserver6.0/lib/solaris:/export/home/greenwood/bea/wlserver6.0/lib/solaris/oci817_8:/u01/oracle/product/817/lib utils.dbping ORACLE oracle smeloan 192.168.1.252
    Starting Loading jDriver/Oracle .....
    Error encountered:
    java.sql.SQLException: System.loadLibrary threw java.lang.UnsatisfiedLinkError with the message '/export/home/greenwood/bea/wlserver6.0/lib/solaris/oci817_8/libweblogicoci37.so: ld.so.1: /greenwood/bea/jdk131/jre/bin/../bin/sparc/native_threads/java: fatal: libclntsh.so.8.0: open failed: No such file or directory'.
    at weblogic.jdbcbase.oci.Driver.loadLibraryIfNeeded(Driver.java:202)
    at weblogic.jdbcbase.oci.Driver.connect(Driver.java:57)
    at java.sql.DriverManager.getConnection(DriverManager.java:517)
    at java.sql.DriverManager.getConnection(DriverManager.java:146)
    at utils.dbping.main(dbping.java:167)
    The required file is under the Oracle directory specified. Also, I am having some problems with using the LD_LIBRARY_PATH for my shared library files. The command won't work with LD_LIBRARY_PATH and I must use the -Djava.library.path parameter. Any thoughts and suggestions?
    Thanks so much for your help in advance.
    Alex--
    Michael Young
    Developer Relations Engineer
    BEA Support

  • Problem with String Parameter in Command

    I'm running CR XI. I have a report that I want to change the command to use a parameter rather than an hard-coded number that I used for testing. The text of the SQL is:
    select j.instrument_type,j.cost_type_cd,j.customer,j.bs, j.product,j.del_pd, j.bl_num, j.date2,j.match,j.jrnl_ref,j.mot_name,
    j.tank_name, j.trade_num ,  j.date3, j.volume,  j.invoice, j.trade_price,
    j.mrkt_price,  j.book_pl,  j.pl,  o.strategy_name, j.snapshot
    from JE_TABLE_{?TName} j,  ORG_STRATEGY o
    where j.STRATEGY in (select o.external_ref from org_strategy o where o.strategy_name='{?StratName}')
    and j.strategy=o.external_ref and j.cost_in_mtm=1
    order by j.PL
    When I added the '{?StratName}' to the SQL, CR started aslways failing telling me I had an invalid character. So, I changed to double quotes and the error message changed to the expected Oracle error becuase it does nto like  double quotes but I did not get the invalid character error.
    This is a string parameter so I need the single quotes. What do I need to do to get CR to handle it? I've used this structure before ino other reports and it never objected to the single quotes before.
    Could the command just be corrupt?

    I decided to create a new blank report and added the command as before and then paramterized it. This time there was no problem. It must be that the other command was corrupt.

Maybe you are looking for

  • Function Module BAPI_ABSENCE_CREATE for creating leave request.

    Hi Experts, I am using FM BAPI_ABSENCE_CREATE for creating leave request. I am passing all the data into this as import parameter. When i am executing this return table gives statement  EPG184Employee/applicant is not locked yet Please let me know wh

  • Correct the PL/SQL statement to open file in MS Word?

    Hi Friends, I use this command in when button press trigger , to open the MS Word file. But it gives some compilation errors. word.fileopen (oshook.filespec('c:\user1.rtf')); kindly solve this problem on urgent. Best regards, Shahzad

  • Vendor IDOCs are not uploading in LFA1 table

    Hi All, We have a SAP system where Vendor IDOCS are coming from MDM through SAP PI middleware. The problem we are facing is we are not able to see all Vendors in LFA1 table. In WE05 IDOCS are posting successfully but when we check for respective vend

  • New Nodes and writeXML

    Hi, i'm a beginner in XML world and a'm trying to add my nodes to the xml-output, that was generated by getMyView().writeXML(1,Row.XML_OPT_ALL_ROWS, xsl) from my BC4J. Smth. like: XMLNode e = (XMLNode)getMyView().writeXML(1,Row.XML_OPT_ALL_ROWS, xsl)

  • Firefox crashes / StackHash

    Hi! Sorry can´t open crash report, because firefox does not running. Tried to get it by using "execute button" of windows ("%APPDATA...), but only an error occurred. The only information I can give: Problemereignisame: BEX Anwendungsname: firefox.exe