UDF: how to get a value in the previous record when lopping over records?

Hello
I have this challenge:
Source message:
<row>
  <ID>111</ID>
  <Score>200</Score>
  <Date>2010-01-01</Date>
</row>
<row>
  <ID>111</ID>
  <Score>230</Score>
  <Date>2010-01-02</Date>
</row>
<row>
  <ID>112</ID>
  <Score>230</Score>
  <Date>2010-01-03</Date>
</row>
etc...
Now the case is, that IF the value of ID of the current record (row) is equal to the value of the ID of the previous record AND the Score value of the current record is bigger than the Score value of the previous record THEN a record in the target message must be created with these values:
Target Message:
<row>
  <ID_target> value of source ID </ID_target>
  <Score_yesterday> Score value of previous record (day) </Score_yesterday>
  <Score_current_date> Score value of current record </Score_current_date>
  <Date_current> Date of current record  </Date_current>
</row>
I am thinking of using GlobalContainer to store the previous values but am note sure how to maintain these previous values. In addition, I am thinking about using a UDF on the target row record, which will just create the row, if conditions are met (result.addValue("");) and then just make a simple mapping of the ID_target, Score_current_date and Date_current fields and make an other UDF for the Score_yesterday field where I get the Score for the previous record using the GlobalContainer value, that I stored in the other UDF.
BUT:
Should I use "All values of context" or "All values of Queues" in the UDF used on the row record and how do I make sure, that the Score_yesterday global container value is maintained correctly? I am planning of setting it in the UDF used on the Target row record but will it then be in sync with the consuming UDF of the Score_yesterday field?
Java code to go into the UDF would be very much appreciated
Mikael

int tmp1;
int tmp2;
int len = ID.length;
for(int i =0;i< len;i++)
     if( i!= len-1)
         tmp1 = Integer.parseInt(Score<i>);
         tmp2 = Integer.parseInt(Score[i+1]);
               if(tmp2 >tmp1)
                 if (TARGET[0].equals("ROW"))
                          result.addValue("");
                      else if (TARGET[0].equals("ID_TARGET"))
                          result.addValue(ID[0]);
                     else if (TARGET[0].equals("SCORE_YDAY"))
                          result.addValue(Score<i>);
                     else if (TARGET[0].equals("SCORE_CDAY"))
                         result.addValue(Score[i+1]);
                     else
                         result.addValue(DT[i+1]);
I got the following results for the set of data that you provided.
Target-XML
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_TestingTGT xmlns:ns0="http://monsanto.com/CIC">
   <Row>
      <ID_TARGET>571515198310502207</ID_TARGET>
      <SCORE_YDAY>1000</SCORE_YDAY>
      <SCORE_CDAY>1010</SCORE_CDAY>
      <CURRENT_DATE>2010-03-02 00:00</CURRENT_DATE>
   </Row>
   <Row>
      <ID_TARGET>571515198310502207</ID_TARGET>
      <SCORE_YDAY>1000</SCORE_YDAY>
      <SCORE_CDAY>1050</SCORE_CDAY>
      <CURRENT_DATE>2010-03-04 00:00</CURRENT_DATE>
   </Row>
   <Row>
      <ID_TARGET>571515198310502207</ID_TARGET>
      <SCORE_YDAY>1050</SCORE_YDAY>
      <SCORE_CDAY>1080</SCORE_CDAY>
      <CURRENT_DATE>2010-03-05 00:00</CURRENT_DATE>
   </Row>
   <Row>
      <ID_TARGET>571515198310502108</ID_TARGET>
      <SCORE_YDAY>2000</SCORE_YDAY>
      <SCORE_CDAY>2040</SCORE_CDAY>
      <CURRENT_DATE>2010-03-03 05:00</CURRENT_DATE>
   </Row>
   <Row>
      <ID_TARGET>571515198310502108</ID_TARGET>
      <SCORE_YDAY>2000</SCORE_YDAY>
      <SCORE_CDAY>2040</SCORE_CDAY>
      <CURRENT_DATE>2010-03-05 05:00</CURRENT_DATE>
   </Row>
   <Row>
      <ID_TARGET>571515198310302203</ID_TARGET>
      <SCORE_YDAY>3000</SCORE_YDAY>
      <SCORE_CDAY>3020</SCORE_CDAY>
      <CURRENT_DATE>2010-03-05 00:00</CURRENT_DATE>
   </Row>
</ns0:MT_TestingTGT>

Similar Messages

  • How to get a value from the previous element (XSLT/XPATH gurus ahoy!)

    Hi All,
    I am building an RTF template for a "letter of reference"-report. Sometimes there are several rows in the data, that need to be printed as one. This is due to consecutive temporary contracts, which will be printed out as one period of service.
    Here's a simplified data example to illustrate the problem.
    <ROW>
    <START_DATE>01-01-1980</START_DATE>
    <END_DATE>01-01-1988</END_DATE>
    </ROW>
    <ROW>
    <START_DATE>01-01-1988</START_DATE>
    <END_DATE>01-01-1990</END_DATE>
    </ROW>
    <ROW>
    <START_DATE>01-01-2000</START_DATE>
    <END_DATE>01-01-2005</END_DATE>
    </ROW>
    With the data above, I should print two lines:
    01-01-1980 - 01-01-1990
    01-01-2000 - 01-01-2005
    I need to compare START_DATE of an element (except for the first one) with the END_DATE of the previous element, to find out whether to print the END_DATE for that element or not. How can I get that value from the previous element?
    Thanks & Regards, Matilda

    use this to get the following End_date
    <?following-sibling::../END_DATE?>
    Try this
    <?for-each:/ROOT/ROW?>
    ==================
    Current StartDate <?START_DATE?>
    Current End Date <?END_DATE?>
    Next Start Date <?following-sibling::ROW/END_DATE?>
    Previous End Date <?preceding-sibling::ROW[1]/END_DATE?>
    ================
    <?end for-each?>
    o/p
    ==================
    Current StartDate 01-01-1980
    Current End Date 01-01-1988
    Next Start Date 01-01-1990
    Previous End Date
    ================
    ==================
    Current StartDate 01-01-1988
    Current End Date 01-01-1990
    Next Start Date 01-01-2005
    Previous End Date 01-01-1988
    ================
    ==================
    Current StartDate 01-01-2000
    Current End Date 01-01-2005
    Next Start Date
    Previous End Date 01

  • How to get maximal value from the data/class for show in Map legend

    I make WAD report that using Map Web Item.
    I devide to four (4) classes for legend (Generate_Breaks).
    I want to change default value for the class by javascript and for this,
    I need to get maximal value from the class.
    How to get maximal value from the data/class.
    please give me solution for my problem.
    Many Thx
    Eddy Utomo

    use this to get the following End_date
    <?following-sibling::../END_DATE?>
    Try this
    <?for-each:/ROOT/ROW?>
    ==================
    Current StartDate <?START_DATE?>
    Current End Date <?END_DATE?>
    Next Start Date <?following-sibling::ROW/END_DATE?>
    Previous End Date <?preceding-sibling::ROW[1]/END_DATE?>
    ================
    <?end for-each?>
    o/p
    ==================
    Current StartDate 01-01-1980
    Current End Date 01-01-1988
    Next Start Date 01-01-1990
    Previous End Date
    ================
    ==================
    Current StartDate 01-01-1988
    Current End Date 01-01-1990
    Next Start Date 01-01-2005
    Previous End Date 01-01-1988
    ================
    ==================
    Current StartDate 01-01-2000
    Current End Date 01-01-2005
    Next Start Date
    Previous End Date 01

  • How to get multiple values from the list

    I've a list of an item which I queried it from the database. I also created a button that will takes a selected items from the list when it was clicked. I used javabean to get the data from database.
    <%     // clicked on Select District Button
    Vector vselectedDistrict = new Vector();
    Vector vdistrictID = new Vector();
    String tmpSelectDistrict = "";
    tmpSelectDistrict = request.getParameter("bSelectDistrict");
    if(tmpSelectDistrict != null)
         // get multiple values from the list
         String[] selectedDistrict = request.getParameterValues("usrTDistrict");
         vselectedDistrict.clear();
         vdistrictID.clear();
         if((selectedDistrict != null) && (selectedDistrict.length != 0))
                             for(int i=0;i<selectedDistrict.length;i++)
                   vselectedDistrict.addElement(selectedDistrict);           
              vdistrictID = dbaseInfo.getcurrentDistrictID(nstate,vselectedDistrict);
              for(int i=0;i<vdistrictID.size();i++)
                   out.println("district = " + selectedDistrict[i]);                         out.println("district ID= " + vdistrictID.get(i).toString());
    %>
    // get vdistrict from the database here......
    <select name="usrTDistrict" size="5" multiple>
    <%     for(int i = 0; i< vdistrict.size(); i++)
    %>
         <option value="<%=vdistrict.get(i).toString()%>"><%=vdistrict.get(i).toString()%></option>
    <%
    %>          
    </select>
    <input type="submit" name="bSelectDistrict" value="Select District">
    Lets say the item that i selected from the list is 'Xplace' and I clicked on the Select District button,
    what I got is this error message:
    org.apache.jasper.JasperException: Unable to convert string 'Xplace' to class java.util.Vector for attribute usrTDistrict: java.lang.IllegalArgumentException: Property Editor not registered with the PropertyEditorManager
    So where is going wrong and what the message means?. Any help very much appreciated. Thanks

    These are just guesses that might hopefully steer you in directions you haven't looked in yet.
    I presume you used triangle brackets (< >) to avoid having the Jive Forum think it was the "italics" tag?
    Are you certain this: dbaseInfo.getcurrentDistrictID(nstate,vselectedDistrict);
    expects a Vector as its second parameter? And returns a Vector?
    I don't believe you've shown how you use the javabean, or its code? Perhaps it should be rewritten to accept an array of strings instead of a Vector?

  • How to get actionOverride value in the URL in page Flow

    Hi All,
    I have main page Flow , under main page flow there are 2 sub folders.When i navigate
    between the page flow the URL I can see is like http://localhost:7501/myWEB/actportal.portal?_nfpb=true&portlet_2_1_actionOverride=/content/account/getAccount
    Can any body tell me how to get the value 'portlet_2_1' that we see in the URL.
    What is the API to get this value.
    Thanks & Regards,
    Hitesh C.

    u can try in JSP:
    DesktopPresentationContext dpCtx = DesktopPresentationContext.getDesktopPresentationContext(request);
    BookPresentationContext bpCtx= dpCtx.getBookPresentationContext();
    ArrayList al = bpCtx.getPagePresentationContexts();
    for(int i=o; i<al.size(); i++) {
    PagePresentationContext ppCtx = (PagePresentationContext )al.get(i);
    List windowCtxList = ppCtx.getWindowPresentationContexts();
    for(int j=0; j<windowCtxList.size(); j++) {
    WindowPresentationContext wpCtx = (WindowPresentationContext)windowCtxList.get(j);
    wpCtx.getLabel();
    "Hitesh" <[email protected]> wrote:
    >
    Joe,
    Thx a lot .
    I got the instance ID for the current portlet with API
    com.bea.netuix.servlets.controls.portlet.PortletPresentationContext.getPortletPresentationContext(request).getInstanceLabel();
    But how to get instance label for other Portlet ? any idea..........
    Thanks ,
    Hitesh
    "Joe" <[email protected]> wrote:
    It is a portlet's instance name. You can see it in the .portal screen
    as a property.
    This is added for portlet scoping. The instance name you might get from
    a
    backing (did not find it yet) or soeme fancy request attribute eventually.
    "Hitesh" <[email protected]> wrote:
    Hi All,
    I have main page Flow , under main page flow there are 2 sub folders.When
    i navigate
    between the page flow the URL I can see is like http://localhost:7501/myWEB/actportal.portal?_nfpb=true&portlet_2_1_actionOverride=/content/account/getAccount
    Can any body tell me how to get the value 'portlet_2_1' that we see
    in the URL.
    What is the API to get this value.
    Thanks & Regards,
    Hitesh C.

  • How to get multiple values from the db using select

    hi all,
    i am using oracle 9i database
    i created a procedure
    create or replace procedure sample_proce
    as
    to_i varchar2(50)
    begin
    select to_id into to_i from sample where flag in('y');
    dbms_output.put_line('hai'|| to_i);
    end;
    when i executed this procedure the following error occurred.
    error at line 5 fetching too many rows.
    but when i execute the select query alone i can able to view all the rows.
    how to resolve it

    i used the following procedure
    create or replace procedure sample_proc
    as
    begin
    for s in(select to_id from sample where flag='y')
    loop
    dbms_output.put_line(s.to_id);
    end loop.
    end;
    it is executed fine. i can able to fetch all the rows.
    how to pass all these values into the another procedure.
    we usually pass only one value into another procedure, i do no how to pass all the values . please help me.
    Thank u.

  • How to Get Parameter Values from the URL ?

    Hi,
    I have built a calendar called cal_test. I am calling this calendar with this URL:
    http://.../pls/.../xyz.cal_test.show?p_arg_names=p_sc_id&p_arg_values=2&p_arg_names=_start_date&p_arg_values=FEB-2002
    In the 'Additional PL/SQL Code' tab of cal_test, I need to call a procedure which requires me to pass in as parameters the values of p_sc_id and startdate embedded in the URL named above. How can I retrieve these 2 values from the URL ? Any advice will be appreicated !
    Dorothy

    Hi Daniel
    The following thread might help;
    if not, you could try posting the question in Application Server » Web Dynpro Java
    Thanks
    Kenny

  • How to get updated values from the loops while they are running

    Hello,
            I am having difficulty solving a very basic problem, how to access the updated values from the 'FOR loop' while its running?  Basically, the VI  I am currently working on calls two sub VIs. Each sub VI has a for loop, and both VIs may or may not run for same number of iterations. My goal is to read the values at each terminal inside the loop of both sub VIs, in the Main VI. I tried to achieve it using Global Variables, but in main VI it displays only the last iteration value from both sub VIs. Could anyone please tell me whrere am I going wrong? Is there any other/better way to achieve this.
    I appreciate any input on this issue.  
    Kudos are (always) welcome for the good post. :-)
    Solved!
    Go to Solution.

    Dennis,
                In attached VI, I can see the values changing in the sub VI from the main VI with the numeric indicator whose reference is passed on to the sub VI. Now if I wanted to store or use those values how do I do that? I tried to chnge the indicator to control and read from it (in the attached VI) , but the the indicator updates only once. Tried to create a property node and read the Value from it and it didn't work either.
    Thanks in Advance!
    -Nilesh
    Kudos are (always) welcome for the good post. :-)
    Attachments:
    main-1.vi ‏8 KB
    sub-1.vi ‏9 KB

  • How to get warning by using the previous value of the column and new value

    Hi all,
    Suppose the column A has the true and when I click on button which also sets the value of the column as true I should dispaly warning that column a is already true.How can I achieve this.How to store the original value of the column and then check wirth the new value.
    Thanks in advance.

    You dont have to store the value anywhere
    You can do this from setMethod of EOImpl.java
    eg:
    void setAttributeXXX(String Value)
    // value contains new value
    // getAttributeXXX() contains oldValue
    if (value.equals(getAttributeXXX()))
    // Verify value is > 0 if (value.compareTo(0) <= 0)
    throw new OAAttrValException(OAException.TYP_ENTITY_OBJECT, // indicates EO source
    getEntityDef().getFullName(), // entity name
    getPrimaryKey(), // entity primary key
    "AttributeXXX", // attribute Name
    value, // bad attribute value
    "AK", // nessage application short name
    "FWK_TBX_T_EMP_SALARY_REQUIRED"); // message name
    setAttributeInternal(AttributeXXX, value);
    --Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • How to get Resource Name in the Repository Service when Publish evt trigger

    Hi ,
    I have created a repository service in which I have registered the
    StatemanagementEvent.PUBLISH
    My requirement is I need to know which resource rather resource name triggered this event.
    This is the code which
    public class ApprovProcs extends AbstractRepositoryService implements IReconfigurable, IResourceEventReceiver
      private static final String TYPE = "ApprovProcs";
      private Collection repositoryManagers;
      public ApprovProcs()
        super();
        // Do not add code here. Add it to startUpImpl() instead
      public String getServiceType()
        return ApprovProcs.TYPE;
      protected void startUpImpl(Collection repositoryManagers) throws ConfigurationException, StartupException
        // implement this method as follows:
        // - Verify configuration data
        // - Get references to other needed (global) services
        // - Check whether other repository services (this service depends on) are also assigned to the repository managers
        // - Usually the service registers itself for certain events at all repository managers
                 this.repositoryManagers = repositoryManagers;
              Iterator it = repositoryManagers.iterator();
              while (it.hasNext())
                   try
                        addRepositoryAssignment( (IRepositoryManager) it.next());
                   catch (ServiceNotAvailableException e)
                        e.printStackTrace();
      protected void shutDownImpl()
         Iterator it = repositoryManagers.iterator();
         while (it.hasNext())
              try
                   removeRepositoryAssignment( (IRepositoryManager) it.next());
              catch (WcmException e)
                   e.printStackTrace();
      protected void addRepositoryAssignment(IRepositoryManager mgr) throws ServiceNotAvailableException
        // Implement this method: Usually the service registers itself for certain events at the repository manager.
         try
              // capture all the respurce which are published
              mgr.getEventBroker().register( this, new StatemanagementEvent( StatemanagementEvent.PUBLISH, null ));
         catch(WcmException e)
      protected void removeRepositoryAssignment(IRepositoryManager mgr) throws WcmException
        // Implement this method: Usually the service must unregister itself as an event handler.
         //mgr.getEventBroker().unregister(this, new ResourceEvent(ResourceEvent.CREATE_COLLECTION, null));
         mgr.getEventBroker().unregister( this, new StatemanagementEvent( StatemanagementEvent.PUBLISH, null  ));
      public void reconfigure(IConfiguration config) throws ConfigurationException
        this.stateHandler.preReconfigure();
        // check the new configuration data
        try {
        catch (ConfigurationException ex) {
          this.stateHandler.postReconfigure(ex);
          throw ex;
        this.config = config;
        this.stateHandler.postReconfigure();
      public void received(IEvent event)
         System.err.println( "----rid --42354543--- " );
           IResource rsrPublished  = (IResource)event.getParameter();
           if( rsrPublished != null )
              System.err.println( "----rid --42354543--- rsrPublished.getDescription() --- " + rsrPublished.getDescription() );
           else
              System.err.println( "Resource Does not exist -----" ) ;
    In the log file I am getting Null Pointer Exception
    Can any one please help me in this as where I am going wrong
    thanks
    pk

    Hi Romano & Detlev ,
    Thanks for the reply .
    This is what I was looking
    Detlev:
    About the NPE ... in the above code I am not getting that.
    Thats my mistake
    Earlier I tried with
    IResource rsrPublished  = (IResource)event.getParameter();
    String rid = rsrPublished.getRID().toString();
    In the second line of code I was getting the NPE
    after that I used to if condition to debug it
    Sorry for the confusion...
    One more thing
    which is the event triggered for approval or how to capture the Approval Event when a content is approved by the Approver
    thanks
    pk

  • HT201441 WHAT IF YOU DON'T KNOW HOW TO GET IN CONTACT WITH THE PREVIOUS OWNER.

    I recently purchased a ipad and I didn't no that it had a icloud attached to it when I bought it.  After  I purchased it and l tried to reset the password the activation page showed that I needed to to know that apple id and password of the previous owner I called and they said they that they didnt not know it either.  So what can I do about this.

    Welcome to the Apple community.
    Unfortunately, you cannot do very much with your phone unless you get assistance from the previous owner, they should either provide you with the password to unlock it or remove their account from the phone entirely remotely through iCloud.com > Find My Phone. Take it back and get a refund.

  • How to get all values in the range of select option into internal table?

    Hi,
    I need to capture all entries coming in the range of select option into one internal table.
    How to do get that?
    For E.g
    select-options: matnr for mara-matnr.(select option)
    IF I enter G0100013507892 as lower value of matnr and G0100014873947 as higher value
    and if there are 10,000 materials in the above range, then I want to capture all theses 10000 materails in one internal table. How to do that?
    Regards,
    Mrunal

    Hello Mrunal Mhaskar  ,
    What i understand you can do one thing  go in debug mode
    Try this code : -
    LOOP AT s_matnr_ex.
      IF s_matnr_ex-low IS NOT INITIAL.
        i_matnr-matnr = s_matnr_ex-low.
        i_matnr-option = s_matnr_ex-option.
        APPEND i_matnr.
        CLEAR : i_matnr.
      ENDIF.
    ENDLOOP.
    LOOP AT s_matnr_ex.
      IF s_matnr_ex-high IS NOT INITIAL.
        i_matnr-matnr = s_matnr_ex-high.
        i_matnr-option = s_matnr_ex-option.
        APPEND i_matnr.
        CLEAR : i_matnr.
      ENDIF.
    ENDLOOP.
    In the i_matnr table high and low values are there.
    Regards,
    Vandana.

  • Need a PDF viewer - how to get premium version of the ToGo apps when I don't have a TELUS data plan

    Hey all ...
    Is there a way to download and install a premium version of the ToGo apps (or just the PDF Viewer component - I searched the latter term and found one relevant thread wherein sdgardne had made reference to the premium ToGo apps) on my device from an installation executable within the Windows environment?
    Or at least get the necessary file onto the device via Windows?
    Thanks, FFF
    Solved!
    Go to Solution.

    You are most welcome...enjoy!!
    BTW -- given your actual issue, marking this thread as "Solved" may be premature, though...but it is your choice.
    Occam's Razor nearly always applies when troubleshooting technology issues!
    If anyone has been helpful to you, please show your appreciation by clicking the button inside of their post. Please click here and read, along with the threads to which it links, for helpful information to guide you as you proceed. I always recommend that you treat your BlackBerry like any other computing device, including using a regular backup schedule...click here for an article with instructions.
    Join our BBM Channels
    BSCF General Channel
    PIN: C0001B7B4   Display/Scan Bar Code
    Knowledge Base Updates
    PIN: C0005A9AA   Display/Scan Bar Code

  • Value of the previous cell when I double click a cell in ALV Grid.

    Hi !
    Suppose I have an internal table GT_ITAB and I use ALV Grid to print it on the screen. The colums are as below:
    Invoice No       Invoice Data        Customer No     Amount
      90001231        15.01.2009            100024             5
    Customer No Fields is Hot Spot and when I click it uses Call Transaction 'FD10N' and Skip First Screen.
    But the Problem is that :
    Callback subroutine that is defined for  "i_callback_user_command" receives the input and
    p_selfield type slis_selfield structure has the value by means of  p_selfield-value.
    Problem : How can I get also the value of Invoice Data Cell. I need "15.01.2009" to set the Year field of FD10n.
    I know that it is possible because SAP has examples of it.
    Please advice.
    Erkan VAROL.

    Hi ,
      In teh structure slis_selfield  there is a field tabindex , you can get the index of the record selected from this field and use this to read the internal table being displayed in the alv to get the entrired row.
    Regards
    Arun

  • How to get each value from a parameter passed like this '(25,23,35,1)'

    Hi
    One of the parameter passed to the function is
    FUNCTION f_main_facility(pi_flag_codes VARCHAR2) return gc_result_set AS
    pi_flag_codes will be passed a value in this way '(25,23,35,1)'
    How to get each value from the string
    like 25 first time
    23 second time
    35 third time
    1 fourth time
    I need to build a select query with each value as shown below:-
    (SELECT t2.org_id, t4.description
    from org_name t2, ref_org_name t3, code_table t4
    where t2.att_data = t4.code
    and t3.ref_code = t2.att_type
    and t2.att_type = 25 and t3.code_type = t4.code_type
    and to_date('01-JAN-10', 'DD-MON-YY') between t2.att_start_date AND t2.att_end_date) q1,
    (SELECT t2.org_id, t4.description
    from org_name t2, ref_org_name t3,code_table t4
    where t2.att_data = t4.code
    and t3.ref_code = t2.att_type
    and t2.att_type = 23 and t3.code_type = t4.code_type
    and to_date('01-JAN-10', 'DD-MON-YY') between t2.att_start_date AND t2.att_end_date) q2,
    (SELECT t2.org_id, RTRIM(xmlagg(xmlelement(e, t4.description || ';')
    ORDER BY t4.description).EXTRACT('//text()'), ';') AS DESCRIPTION
    from org_name t2, ref_org_name t3,code_table t4
    where t2.att_data = t4.code
    and t3.ref_code = t2.att_type
    and t2.att_type = 35 and t3.code_type = t4.code_type
    and to_date('01-JAN-10', 'DD-MON-YY') between t2.att_start_date AND t2.att_end_date
    group by t2.org_id) q3,
    (SELECT t2.org_id, t4.description
    from org_name t2, ref_org_name t3, code_table t4
    where t2.att_data = t4.code
    and t3.ref_code = t2.att_type
    and t2.att_type = 1 and t3.code_type = t4.code_type
    and to_date('01-JAN-10', 'DD-MON-YY') between t2.att_start_date AND t2.att_end_date) q4
    Please help me with extracting each alue from the parm '(25,23,35,1)' for the above purpose. Thank You.

    chris227 wrote:
    I would propose the usage of regexp for readibiliy purposes and only in the case if this doesnt perform well, look at solutions using substr etc.
    select
    regexp_substr( '(25,23,35,1)', '\d+', 1, 1) s1
    ,regexp_substr( '(25,23,35,1)', '\d+', 1, 2) s2
    ,regexp_substr( '(25,23,35,1)', '\d+', 1, 3) s3
    ,regexp_substr( '(25,23,35,1)', '\d+', 1, 4) s4
    from dual 
    S1     S2     S3     S4
    "25"     "23"     "35"     "1"In pl/sql you do something like l_val:= regexp_substr( '(25,23,35,1)', '\d+', 1, 1);
    If t2.att_type is type of number you will do:
    t2.att_type= to_number(regexp_substr( '(25,23,35,1)', '\d+', 1, 1))Edited by: chris227 on 01.03.2013 08:00Sir,
    I am using oracle 10g.
    In the process of getting each number from the parm '(25,23,35,1)' , I also need the position of the number
    say 25 is at 1 position.
    23 is at 2
    35 is at 3
    1 is at 4.
    the reason I need that is when I build seperate select for each value, I need to add the query number at the end of the select query.
    Please see the code I wrote for it, But the select query is having error:-
    BEGIN
    IF(pi_flag_codes IS NOT NULL) THEN
    SELECT length(V_CNT) - length(replace(V_CNT,',','')) FROM+ ----> the compiler gives an error for this select query : PLS-00428:
    *(SELECT '(25,23,35,1)' V_CNT  FROM dual);*
    DBMS_OUTPUT.PUT_LINE(V_CNT);
    -- V_CNT := 3;
    FOR L_CNT IN 0..V_CNT LOOP
    if L_CNT=0 then
    V_S_POS:=1;
    V_E_POS:=instr(pi_flag_codes, ',', 1, 1)-1;
    else
    V_S_POS:=instr(pi_flag_codes,',',1,L_CNT)+1;
    V_E_POS:=instr(pi_flag_codes, ',', 1, L_CNT+1)-V_S_POS;
    end if;
    if L_CNT=V_CNT then
    V_ID:=TO_NUMBER(substr(pi_flag_codes,V_S_POS));
    else
    V_ID:=TO_NUMBER(substr(pi_flag_codes,V_S_POS,V_E_POS));
    end if;
    VN_ATYPE := ' t2.att_type = ' || V_ID;
    rec_count := rec_count +1;
    query_no := 'Q' || rec_count;
    Pls help me with fetching each value to build the where cond of the select query along with the query number.
    Thank You.

Maybe you are looking for

  • Camcorder minidisc transfer to iMovie

    I have a number of DVD-RW minidiscs with video footage taken with a Canon camcorder. How can I transfer them to my MacBook so that I can edit them with iMovie?

  • Create 16 bit dll

    Hello! I'm creating an application in C for the NI USB-6009 Multifunction device. (The application will work as a .dll to be called from a VB3 program.) I use nidaqmxbase functions (I know nidaqmx is more up to date, but I had no problems using nidaq

  • Unable to connect to the server - windows sockets

    //////socket connector method//// bool SocketConnecter::connect(const std::string& ip, size_t port) size_t uport = htons(port); std::string sPort = toString(uport); // Resolve the server address and port const char* pTemp = ip.c_str(); iResult = geta

  • AUTH after TLS

    hi at all I´ve a problem when send messages to a provider that requires us to stablish a tls connection an then send it a user name and password. On my old MTA these scenario works fine, but if i use our news C360 appliances I cannot deliver messages

  • Launchctl

    Loaded Samsung Reis Software to move pictures to MacBook Pro OSX 10.6.8.  After install said to reboot.  Got blue screen. Booted in safe mode and removed the software but still the blue screen.  Crash report shows Exception Type:  EXC_BAD_ACCESS (SIG