Classification single / multiple select

Can we limit the Classification field in the Material Spec --> Summary Tab to be single select instead of multiple values select? If so, where is this setting controlled? Want to force the user to only select one classification not multiple classifications.

No, this is multi-select, only. This could be solved with a save validation.

Similar Messages

  • Single Multiple select option in selection screen

    Dear All,
    I want to have single multiple selection functionality on the selection screen.I have used function module  'SELECT_OPTIONS_RESTRICT'. but my problem is it only allows to include single vals but does not give me an option to exclude single vals. how should I go about it. If you have some example or piece of code , i would be grateful.
    Thanks
    Amit

    Hi Amit,
      Where have you written this code?
      It normally should be in AT SELECTION-SCREEN OUTPUT.
      (Infact even in INITIALIZATION, try it out) 
      Also did you declare SELECT-OPTION with NO INTERVALS addition?
      Here is a sample code that works,
    REPORT zsritest.
    TYPE-POOLS: sscr.
    TABLES vbak.
    SELECT-OPTIONS: so_vbeln FOR vbak-vbeln NO INTERVALS.
    AT SELECTION-SCREEN OUTPUT.
    DATA: s_restrict TYPE sscr_restrict,
    s_opt_list TYPE sscr_opt_list,
    s_*** TYPE sscr_***.
    s_opt_list-name = 'EQ_ONLY'.
    s_opt_list-options-eq = 'X'.
    s_opt_list-options-ne = 'X'.
    APPEND s_opt_list TO s_restrict-opt_list_tab.
    CLEAR s_***.
    s_***-kind = 'S'.
    s_***-name = 'SO_VBELN'.
    s_***-sg_main = '*'. "This will allow I/E signs
    s_***-sg_addy = ' '.
    s_***-op_main = 'EQ_ONLY'.
    APPEND s_*** TO s_restrict-***_tab.
    CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'
    EXPORTING
    restriction = s_restrict
    EXCEPTIONS
    OTHERS = 0.
    Sri
    Message was edited by: Srikanth Pinnamaneni

  • How to pass the single/multiple selected data of a table to SAP(R/3)

    Hi ,
    I have a table with 2 colums and 10 records.Now i want to send the selected record/Multiple records to the R/3.
    Once the user checks the checkbox i retrieved the column values of that row/rows into a string array.
    and i added all the string arrays to an AbstractList.
    Now in function module it is giving as setT_TestOperations(AbstractList)
    can any one help as  how the function module understands the individual/multiple String arrays.
    If possible provide sample code for the same.
    Thanks and regards,
    Chandrashekar.

    One way to achieve this is to maintain an attribute in the assistance class or a node element , called OldLeadSelection , at the Component controller level which stores the value of the lead selection index.
    On LeadSelect action handler method, in the first line, read the value of the attribute/element defined above. For the first time a row is lead selected, this value will be initial. After exexcuting the code in the LeadSelection event handler method, store the LeadSelection index value in the attribute defined above. The next time when the LeadSelection event method is called, when the value of this attribute is read in the initial line, it will house the value of the index of the previous LeadSelection.
    There could be other ways to achieve this. This is one of the methods.
    Best Regards,
    Rashmi.

  • Multiple Selection Field Type

    how do i change a multiple selection field type to place what i've entered to side-by-side instead of vertical?  i've un-checked "stack choices verticallly" and even made the column smaller but it's not moving anything. 
    ANY IDEAS??

    The default width for all of the choices in a Single/Multiple selection field is the width of you longest choice label (as you have seen).  In order for you to get side by side you will need to make your form wider and then make the multiple selection field wider.
    Click and drag on the right edge of the form to widen the form page
    Click and drag on the right border of the Multiple Select field to widen it.
    If these steps do not work then the next step would be to use a font size smaller and/or change font to Times New Roman (which is narrower than other fonts).
    -Jeff

  • Maximum number of "Single values" accepted in "Multiple Selection"

    Hello gurus. I wonder if you could help me with this.
    You know how in transactions like the Data Browser (SE16), you want to look up records in a table, for example MARA.
    If you want to list only individual values, then you can press the yellow arrow to the right of the fields, and this opens the "Multiple Selection" window. In it you can add single values, ranges, etc.
    My question is, what is the maximum number of single values that you can put in here?
    For example, sometimes if I put like 5000 lines, instead of getting a result I get an ABAP runtime error that reads:
    Runtime errors         DBIF_RSQL_INVALID_RSQL
    Exception              CX_SY_OPEN_SQL_DB    
    "Error in the module RSQL accesing the database interface".
    But if I put around 1500 or less, then I don't have that problem. It lists the results just fine.
    How do I know what the maximum number of lines these functions allow?

    Hi
    Yes even I had the same experience and based on my several tests I dont put more than 2000 valeues.
    Please advice if you have any question.
    Thanks

  • Toggling between single and multiple selection in a table

    I am working on ADF faces. I need to switch between single and multiple selection in <af:table based on a button I select.
    I cannot use switcher or rendered property inside <af:table. Only the first one is rendering the second one is not rendering based on the switch
    <f:facet name="selection">
    <af:tableSelectMany autoSubmit="true"
    rendered="#{treeBean.multipleRows}"/>
    </f:facet>
    <f:facet name="selection">
    <af:tableSelectOne autoSubmit="true"
    rendered="#{treeBean.singleRows}"/>
    </f:facet>
    When I use inside the switcher, it doesn't like the parent.
    Any ideas would be greatly appreciated.
    Thanks,
    Vijay.

    I have probably misunderstood what your issue is. I do not know what your version of ADF faces is. Here is some sample code working with my version. Please check if your jdev has "rowSelection" attribute. If it has, please try my sampe code
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:afh="http://xmlns.oracle.com/adf/faces/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces">
    <jsp:directive.page contentType="text/html;charset=utf-8"/>
    <f:view>
    <af:document title="tableSelectMany Demo">
    <af:form>
    <af:panelGroup layout="vertical">
    <af:messages/>
    <af:selectOneChoice value="#{sessionScope.tableSelection}"
    autoSubmit="true"
    id="selType"
    label="Selection Type">
    <af:selectItem label="Single" value="#{null}"/>
    <af:selectItem label="Multiple" value="#{true}"/>
    </af:selectOneChoice>
    <af:table summary="Periodic table"
    binding="#{tableActions.table}"
    partialTriggers="selType"
    rowSelection="#{sessionScope.tableSelection ? 'multiple' : 'single'}"
    value="#{periodicTable.tableData}" var="row" rows="10">
    <af:column>
    <f:facet name="header">
    <af:outputText value="Name"/>
    </f:facet>
    <af:outputText value="#{row.name}"/>
    </af:column>
    <af:column>
    <f:facet name="header">
    <af:outputText value="Symbol"/>
    </f:facet>
    <af:outputText value="#{row.symbol}"/>
    </af:column>
    <af:column>
    <f:facet name="header">
    <af:outputText value="Action Column"/>
    </f:facet>
    <af:commandButton immediate="true" text="Action"
    action="#{row.action}"/>
    </af:column>
    </af:table>
    </af:panelGroup>
    </af:form>
    </af:document>
    </f:view>
    </jsp:root>

  • Multiple selection but delete single item

    Hi,
    please help me to find a solution!!
    I have 2 listboxes. listbox Description is populated by XML.
    When user selects multiple items at the same time from the Description listbox, they are populated in the listbox and are removed from Description listbox. that works fine.
    But the issue is if the user accidently selects one of the multiple selected items at the same time wrong and want to delete a single items, this doesnt work anymore.
    I can not even click on each single item.
    I try to find a way how to enable user to populate multiple items at the same time and be able to delete each single item, which then should return back to the Description listbox.
    I would really appreciate if you could help me on this!!!
    This is my sample: https://acrobat.com/#d=l0mujTOFduSJFele5R5i3g
    Thanks,
    Diana

    Would you not just reverse your code ..instead of populating listbox from the selections in description and deleting the items out of description, remove the items from listbox and update description then remove the items from listbox.
    Or am I missing something?
    Paul

  • Multiple selects() within a single VM

    Is anyone aware of any contention issues when running multiple threads within a VM where each thread has it's own select statement?
    I have an home grown app server that allows me to run multiple applications within a single VM. The applications are unrelated however they sometimes communicate with each other via TCP. All of them are very network intensive ( 500 messages a second where each message is around 200 bytes ). These apps are usually single threaded where the main thread is a select() loop.
    Therefore, each application is a single threaded select() loop but there are multiple applications running within a single VM.
    I am seeing performance issues when two apps running within the same VM try to send messages to one another via TCP. When the two apps are running on different boxes one app can send about 10,000 messages a second to the other app. However, when the apps are running within the same VM ( localhost TCP connection ) I can only transfer about 1000 messages a second.
    Are 2 selectors running within the same VM a problem? Is it synchronized within the VM so that only one select can fire at a time?
    I am running on a dual proc RH3 box with plenty of memory.
    Any ideas?

    Works for me, though I'm trying on Windows. Test program below. I get >10,000 replies and responses per second over loopback with both "java SelectPingPong both" (one VM) and running client and server on separate VMs.
    Does this program get only 1000 messages/s on Linux? What VM version?
    import java.util.*;
    import java.net.*;
    import java.io.*;
    import java.nio.*;
    import java.nio.channels.*;
    public class SelectPingPong
        private static final int MESSAGE_SIZE = 200;
        private String server_name;
        private Selector selector;
        private HashMap clients = new HashMap();
        static class Client
         ByteBuffer buf = ByteBuffer.allocate(MESSAGE_SIZE);
         long connect_time = System.currentTimeMillis();
         int number_of_messages;
        public SelectPingPong(int port, String server_name)
         throws IOException
         this.server_name = server_name;
         selector = Selector.open();
         ServerSocketChannel server_channel = ServerSocketChannel.open();
         server_channel.configureBlocking(false);
         server_channel.socket().bind(new InetSocketAddress(port));
         server_channel.register(selector, SelectionKey.OP_ACCEPT);
        public Socket connect(String host, int port)
         throws IOException
         SocketChannel channel = SocketChannel.open();
         Socket socket = channel.socket();
         socket.connect(new InetSocketAddress(host, port));
         configureSocket(socket);
         channel.configureBlocking(false);
         channel.register(selector, SelectionKey.OP_READ);
         clients.put(channel, new Client());
         return socket;
        private void configureSocket(Socket socket)
         throws IOException
         // Let's say we have a request-reply protocol with modest requirements
         socket.setReceiveBufferSize(1024);
         socket.setSendBufferSize(1024);
        public void mainLoop()
         while (true) {
             try {
              selector.select();
              for (Iterator iter = selector.selectedKeys().iterator(); iter.hasNext(); ) {
                  SelectionKey key = (SelectionKey) iter.next();
                  iter.remove();
                  if (!key.isValid())
                   continue;
                  if (key.isAcceptable())
                   acceptClient(key);
                  if (key.isReadable())
                   readFromClient(key);
             } catch (Exception e) {
              System.out.println(server_name + ": error in selector loop: " + e);
              e.printStackTrace();
        private void acceptClient(SelectionKey key)
         throws IOException
         ServerSocketChannel server_channel = (ServerSocketChannel) key.channel();
         if (server_channel == null)
             return;
         SocketChannel channel = server_channel.accept();
         if (channel == null)
             return;
         configureSocket(channel.socket());
         channel.configureBlocking(false);
         channel.register(selector, SelectionKey.OP_READ);
         clients.put(channel, new Client());
         System.out.println(server_name + ": got a new client; " +
                      clients.size() + " clients");
        private void readFromClient(SelectionKey key)
         throws IOException
         SocketChannel channel = (SocketChannel) key.channel();
         Client client = (Client) clients.get(channel);
         ByteBuffer buf = client.buf;
         int count;
         try {
             count = channel.read(buf);
         } catch (IOException e) {
             System.out.println(server_name + ": error reading, closing connection: " + e);
             clients.remove(channel);
             channel.close();
             return;
         if (count == -1) {
             clients.remove(channel);
             System.out.println(server_name + ": client disconnected; " +
                          clients.size() + " clients");
             channel.close();
             return;
         if (buf.position() == MESSAGE_SIZE) {
             if (++client.number_of_messages % 10000 == 0) {
              long now = System.currentTimeMillis();
              System.out.println(server_name + ": " + client.number_of_messages +
                           " messages in " + (now - client.connect_time) + " ms");
             buf.flip();
             // RFE write without blocking
             writeFully(channel, buf);
             buf.rewind();
        public static void writeFully(SocketChannel channel, ByteBuffer buf)
         throws IOException
         while (buf.remaining() != 0)
             channel.write(buf);
        private static void startClient()
         throws Exception
         SelectPingPong client = new SelectPingPong(6667, "client");
         Socket socket = client.connect("localhost", 6666);
         // Send initial message
         ByteBuffer buf = ByteBuffer.allocate(MESSAGE_SIZE);
         buf.put(new byte[MESSAGE_SIZE]);
         buf.flip();
         socket.getChannel().write(buf);
         client.mainLoop();
        public static void main(String args[])
         throws Exception
         if (args.length == 1 && args[0].equals("server")) {
             SelectPingPong server = new SelectPingPong(6666, "server");
             server.mainLoop();
         } else if (args.length == 1 && args[0].equals("client")) {
             startClient();
         } else if (args.length == 1 && args[0].equals("both")) {
             new Thread() { public void run() {
              try {
                  SelectPingPong server = new SelectPingPong(6666, "server");
                  server.mainLoop();
              } catch (Exception e) {
                  System.err.println("error in server");
             } }.start();
             startClient();
         } else {
             System.err.println("usage: SelectPingPong [client | server | both]");
    }

  • Multiple Selection Property in Single Column Listbox

    Hello All,
    I have taken a Single-column list box and have enable the multiple selection property of the listbox.
    In fact, i want to find out the values of the multiple rows selected in the listbox. But, i couldn't found any of the property of this listbox that can indicate the index or value of the multiple lines that are selected.
    Can anybody help me to resolve this issue? What is the approach i can take to find out the multiple rows selected in the listbox?
    Regards,
    Nishant

    Nishant wrote:
    Hello All,
    I have taken a Single-column list box and have enable the multiple selection property of the listbox.
    In fact, i want to find out the values of the multiple rows selected in the listbox. But, i couldn't found any of the property of this listbox that can indicate the index or value of the multiple lines that are selected.
    Can anybody help me to resolve this issue? What is the approach i can take to find out the multiple rows selected in the listbox?
    Regards,
    Nishant
    Here is an example where the value is read from a property node.
    the Value becomes an array when you elect a selection mode that allows multiple selections. (and thats the reason you can't write Selection mode while the VI is running
    Jeff
    Attachments:
    Listbox.vi ‏7 KB

  • Multiple Selection not Grouped into a Single Get Info Window

    It used to be that when I selected a group of files and choose "Get Info", the file information is shown in a single windoid as a multiple selection. This allows you to, for example, lock all the files at once. Now when I select multiple files and choose "Get Info" I always get a separate windoid for each one popping up all over my screen.
    Why? And how do I switch it back?
    Thanks in advance!

    If you are checking on info for 10 or less files then it will open individual info windows. 11 or more will open a single info window showing the combined info for those files. But there are ways to get the one window for less then files which has been said already.

  • PARM error (shows as mrap) with multiple selections, no error with single selection

    Hello all,
    I am new to Illustrator scripting this is my first script. I am getting a this error " Error 1200: an Illustrator error occurred: 1346458189 ('MRAP'): line 50" which is the line:
    var next_board = doc.artboards.add([next_board_L, next_board_T, next_board_R, next_board_B]); 
    It only occurs when I have multiple selections and never when I have only one selection. After a little research I have found the error is actually PARM, but I don't see any uninstantiated variables or other  issues that could be throwing this error. I am on a mac Illustrator CC. I would appreciate any help on the matter. Below is the full script.
    #target Illustrator
    // This script was made to take all selected objects
    // Create a new arboard for all Selected objects
    // At a user specified width and height then
    // Scale the object to the artboard size and center
    var doc = app.activeDocument;
    var select = doc.selection;
    if (select.length &gt; 0) {
         var title = "Fit Selected Object(s) to Artboard(s)";
         var msg = "Enter the width and height of artboards (single number)";
         var board = Number(Window.prompt (msg, 0, title));
         for(var i = 0; i &lt; select.length; i++) {
              var selectW = select[i].width;
              var selectH = select[i].height;
              if(selectH &gt;= selectW) {
                   if(board &gt; selectH) {
                        scale = board/selectH*100;
              } else {
                   scale = board/selectW*100;
              var boardIdx = doc.artboards.getActiveArtboardIndex();
              var boardSrc = doc.artboards[boardIdx];
              var boardSrc_L = boardSrc.artboardRect[0];
              var boardSrc_T = boardSrc.artboardRect[1];
              var boardSrc_R = board;
              var boardSrc_B = -board;
              var moveX = 10;
              var next_board_L = boardSrc_R + moveX; 
              var next_board_T = boardSrc_T; 
              var next_board_R = next_board_L + (boardSrc_R - boardSrc_L); 
              var next_board_B = boardSrc_B;
              var next_board = doc.artboards.add([next_board_L, next_board_T, next_board_R, next_board_B]); 
              select[i].resize(
                  scale, //this is a percentage of current width 
                  scale, //this is a percentage of current height 
                  true, // changePositions 
                  true, // changeFillPatterns 
                  true, // changeFillGradients 
                  true, // changeStrokePattern 
              var selPosX = select[i].left;
              var selPosY = select[i].top;
              var selBoardDiffX = next_board_L - selPosX;
              var selBoardDiffY = next_board_T - selPosY;
              var toCenter = 0;
             select[i].translate (
                       selBoardDiffX,
                       selBoardDiffY,
                       true,
                       true,
                       true,
                       true
             var boardH = next_board.artboardRect[2] - next_board.artboardRect[0];
              var boardW = next_board.artboardRect[3] - next_board.artboardRect[1];
             if( boardH &gt; select[i].height ) {
                  toCenter = (boardH-select[i].height)/2;
                      select[i].translate (
                                0,
                                -toCenter,
                                true,
                                true,
                                true,
                                true
             var NegSelectW = select[i].width * -1; //Must be a negative number
             if ( boardW &lt; NegSelectW ) {
                  toCenter = (boardW+select[i].width)/2;
                      select[i].translate (
                                -toCenter,
                                0,
                                true,
                                true,
                                true,
                                true

    Ah I finally understand. I looked into that post a little more an started experimenting. I used the function posted to create my artboards. Its a lot easier if you can think
    (x, y, width, height). So yes the issue was with my variable but not in the way I was thinking.
    for those who need it here is the function posted in that thread
    var newRect = function(x, y, width, height) { 
        var l = 0; 
        var t = 1; 
        var r = 2; 
        var b = 3; 
        var rect = []; 
        rect[l] = x; 
        rect[t] = -y; 
        rect[r] = width + x; 
        rect[b] = -(height - rect[t]); 
        return rect; 

  • Insert items from two different Multiple Select Lists into a single table

    I need help. I have a training tracking system that tracks the courses taken by employees.
    I have created two multiple select lists, one is SelectEmployees and the other is SelectCourses. I want to insert
    the selected item from those two multiple select lists into Training_Record table.
    Note, SelectEmployees" is from Employee table and SelectCourses is from Courses table. Those two table has no intersetion.
    Train_Record is the table that joins those two together.
    Please advice and your help is appreciate.

    Thank you for your help.
    I tried your code and changed the table/field name to my actual table/field name and the iitem name to actual item name.
    declare
    cursor c_Employees is
    select PERSONNEL_NEW.EMPLOYEEID from PERSONNEL_NEW where PERSONNEL_NEW.EMPLOYEEID in (:P15_SELECTEDEMP);
    cursor c_Courses is
    select COURSES.COURSE_ID from COURSES where COURSES.COURSE_ID in
    (:P15_SELECTEDCOUR);
    begin
    foreach :=r_employee in c_Employees loop
    foreach :=r_course in c_Courses loop
    insert
    into COPYOFTRAINREC ( EMPLOYEEID, COURSEID )
    values ( r_employee.EMPLOYEEID, r_course.COURSE_ID );
    end loop;
    end loop;
    end;
    I got error message as :
    ORA-06550: line 12, column 25: PLS-00103: Encountered the symbol "C_EMPLOYEES" when expecting one of the following: (
    Error
    OK

  • Multiple Select in same Query

    I'm building a report based on a single table in APEX. The report requires the following.
    select user, project, count(start date ), project, count(end date) where date between 01-jan-07 01-feb-07
    (simplified to show the idea)
    basicaly a count of projects that started between two dates and the ones that ended between the same two dates relating to the user.
    I have writen the selects to do both parts and they work BUT is it posible to glue them together in a single statement?
    I tried to searching the forum on "multiple selects" but never realy got anything close.
    Is it possible to do this type of select? If so does it have a special name (so I can try a search on that name)
    Thanks
    Bjorn

    First of all, '11-MAY-06' and '19-MAY-06' are not dates, they are strings. This has some important disadvantages:
    1) Oracle has to implicitly convert them to a date, when they are being compared to a date column
    2) Your application will be NLS (National Language Support) dependent, so they might break when you change a setting
    3) When compared to a varchar2 or other string column, the comparison will give incorrect results. For example: 12-MAY-06 will be between 06-JAN-06 and 18-JAN-06
    Bottom line: convert those dates to real dates using the to_date function, or the date 'yyyy-mm-dd' variant.
    Back to your question, apparently you don't want to count the number of occurences of CON_ACTUAL_START and CON_SIGN_OFF, but you only want to count them when this date is between the two boundary values. So use the following:
    select mli_clo
         , count(case when con_actual_start between date '2006-05-11' and date '2006-05-19' then 1 end)
         , count(case when con_sign_off between date '2006-05-11' and date '2006-05-19' then 1 end)
    ...Regards,
    Rob.

  • Passing multiple select value from BI publisher to PL/SQL functions

    Hi - I have designed a report which pass parameters (Multi select) into a function to get the output result. When a single parameter value is passed to the function, report is being displayed. When multi select value is passed to the function it is returning the error `wrong number or types of arguments in call to 'F_PROCESS_WAVE_DATA'. When i checked the parameters passed to the function, i can see each multi select value is treated as different value and is assigned to different parameter in the function.
    Any help on passing the multi select parameter into function will be helpful.
    Regards,
    Vikram.

    All - Issue was resolved. I followed the following steps to resolve the issue
    1. Create a PL/SQL table type variable as VARCHAR2 in the database - Say as Larray
    2. Create PL/SQL type record and table for the record in database. Lrec, Ltable
    3. In BI report pass multiple select LOV variable as Larray(variable).
    4. In DB function, Parameter should be defined as LARRAY.
    5. Return PL/SQL table type Ltable from the function.
    Regards,
    Vikram.

  • How to use multiple selection parameters in the data model

    Hi, after have looked all the previous threads about how to use multiple selection parameters , I still have a problem;
    I'm using Oracle BI Publisher 10.1.3.3.2 and I'm tried to define more than one multiple selection parameters inside the data template;
    Inside a simple SQL queries they work perfectly....but inside the data template I have errors.
    My data template is the following (it's very simple...I am just testing how the parameters work):
    <dataTemplate name="Test" defaultPackage="bip_departments_2_parameters">
    <parameters>
    <parameter name="p_dep_2_param" include_in_output="false" datatype="character"/>
    <parameter name="p_loc_1_param" include_in_output="false" datatype="character"/>
    </parameters>
    <dataTrigger name="beforeReport" source="bip_departments_2_parameters.beforeReportTrigger"/>
    <dataQuery>
    <sqlStatement name="Q2">
    <![CDATA[
    select deptno, dname,loc
    from dept
    &p_where_clause
    ]]>
    </sqlStatement>
    </dataQuery>
    <dataStructure>
    <group name="G_DEPT" source="Q2">
    <element name="deptno" value="deptno"/>
    <element name="dname" value="dname"/>
    <element name="loc" value="loc"/>
    </group>
    </dataStructure>
    </dataTemplate>
    The 2 parameters are based on these LOV:
    1) select distinct dname from dept (p_dep_2_param)
    2) select distinct loc from dept (p_loc_1_param)
    and both of them have checked the "Multiple selection" and "Can select all" boxes
    The package I created, in order to use the lexical refence is:
    CREATE OR REPLACE package SCOTT.bip_departments_2_parameters
    as
    p_dep_2_param varchar2(14);
    p_loc_1_param varchar2(20);
    p_where_clause varchar2(100);
    function beforereporttrigger
    return boolean;
    end bip_departments_2_parameters;
    CREATE OR REPLACE package body SCOTT.bip_departments_2_parameters
    as
    function beforereporttrigger
    return boolean
    is
    l_return boolean := true;
    begin
    if (p_dep_2_param is not null) --and (p_loc_1_param is not null)
    then
    p_where_clause := 'where (dname in (' || replace (p_dep_1_param, '''') || ') and loc in (' || replace (p_loc_1_param, '''') || '))';
    else
    p_where_clause := 'where 1=1';
    end if;
    return (l_return);
    end beforereporttrigger;
    end bip_departments_2_parameters;
    As you see, I tried to have only one p_where_clause (with more than one parameter inside)....but it doesn't work...
    Using only the first parameter (based on deptno (which is number), the p_where_clause is: p_where_clause := 'where (deptno in (' || replace (p_dep_2_param, '''') || '))';
    it works perfectly....
    Now I don't know if the problem is the datatype, but I noticed that with a single parameter (deptno is number), the lexical refence (inside the data template) works.....with a varchar parameter it doesn't work....
    So my questions are these:
    1) how can I define the p_where_clause (inside the package) with a single varchar parameter (for example, the department location name)
    2) how can I define the p_where_clause using more than one parameter (for example, the department location name and the department name) not number.
    Thanks in advance for any suggestion
    Alex

    Alex,
    the missing thing in your example is the fact, that if only one value is selected, the parameter has exact this value like BOSTON. If you choose more than one value, the parameter includes the *'*, so that it looks like *'BOSTON','NEW YORK'*. So you need to check in the package, if there's a *,* in the parameter or not. If yes there's more than one value, if not it's only one value or it's null.
    So change your package to (you need to expand your variables)
    create or replace package bip_departments_2_parameters
    as
    p_dep_2_param varchar2(1000);
    p_loc_1_param varchar2(1000);
    p_where_clause varchar2(1000);
    function beforereporttrigger
    return boolean;
    end bip_departments_2_parameters;
    create or replace package body bip_departments_2_parameters
    as
    function beforereporttrigger
    return boolean
    is
    l_return boolean := true;
    begin
    p_where_clause := ' ';
    if p_dep_2_param is not null then
    if instr(p_dep_2_param,',')>0 then
    p_where_clause := 'WHERE DNAME in ('||p_dep_2_param||')';
    else
    p_where_clause := 'WHERE DNAME = '''||p_dep_2_param||'''';
    end if;
    if p_loc_1_param is not null then
    if instr(p_loc_1_param,',')>0 then
    p_where_clause := p_where_clause || ' AND LOC IN ('||p_loc_1_param||')';
    else
    p_where_clause := p_where_clause || ' AND LOC = '''||p_loc_1_param||'''';
    end if;
    end if;
    else
    if p_loc_1_param is not null then
    if instr(p_loc_1_param,',')>0 then
    p_where_clause := p_where_clause || 'WHERE LOC in ('||p_loc_1_param||')';
    else
    p_where_clause := p_where_clause || 'WHERE LOC = '''||p_loc_1_param||'''';
    end if;
    end if;
    end if;
    return (l_return);
    end beforereporttrigger;
    end bip_departments_2_parameters;
    I've written a similar example at http://www.oracle.com/global/de/community/bip/tipps/Dynamische_Queries/index.html ... but it's in german.
    Regards
    Rainer

Maybe you are looking for

  • Error While Creating Proxy in SPROXY

    Hi All, We Created one Packagewith NAme ZPACK1 in SE80. While Creating Proxy in SPROXY TC, it is Asking Package & Prefix We gave Package as ZPACK1 & Prefix as ZPREFIX. Then One Error is Comming Like <b>"Package ZPACK1 has no use access to package int

  • How to use 2 Dropdown box in webapplication for date range selection

    Dear all, I am working on a report that will show 2 drop down boxes. These should be used as a date range. This works fine if I use 2 variables as a date range on 0CALYEAR. However I dont want the user to fill in the dates but selecting the dates wit

  • Java and SOAP

    I am trying to use Java and SOAP to call a Coldfusion CFC file. The problem is that I can not figure out how to call the coldfusion function by using a url to direct the SOAP request, within java. The cfc file does sql queries on a separate network s

  • Not picking up ethernet connection

    Hi, I am using a WRT54GS. its and old one about 1 years old was working with my SBC Yahoo SpeedStream DSL modem well. recently I switched to Cable. Now the CAT5 (rj45)  that comes out from the cable modem works well with my HP n6120 office laptop pic

  • Idoc Segment Fields

    Hi, I am having a problem with the display of idoc segment fields. When i check the Idoc segment contents in WE02 it is displaying the fields which dont have the value in the DB table along with the fields which have the data. To avoid this what is t