Quick Searches sort algorithm

Hello,
I'm defining some Quick Search queries to be used in Agent Inbox (through SAP Menu>Interaction Center>Administration>Agent Inbox>Define Quick Searches (CRMC_IC_AUI_QUICKS)
There is field for defining 'Special Sort' for search results which can be used to define sort algorithm in addition to default options.
My question is, how can I define sort algorithm? I think it is some xml algorithm but I have no idea how? Does anyone have any examples?
Thanks,

Hi John,
Thanks for your response. I saw page 48 in the Inbox FAQ doc. It does talk about method for Custom sort by doesn't say anything about how?
I need more details. Someone mentioned that we can write xml sort queries in Custom sort field but I'm looking for more information on how it can be done.
Thanks,

Similar Messages

  • How to "quick search" in a sorted list ?

    Hi all,
    I need that your advice to choose the best collection to modelize my data.
    Let me describe you the context of my problem:
    I work on an antenna pattern file which looks like this:
    Elevation (deg);Gain (dB)
    0;5
    3;45
    6;3.1
    10;6.5
    16;18.1
    20;33.1
    24;31.2
    30;3.5 I need, for a given elevation angle, to get the related gain. if the exact value of the angle is not found, we will return the gain of the nearest angle.
    For example:
    If the elevation angle is 5 degrees, I must return 3.1 dB.This operation should be called a big number of time (about many hundred calls)
    What are your advices to modelize my data ? What is the best collection to do it ? What is the best way to quick search in this data to get the gain realted to a given angle ?
    I though to use the binary search tree. What do you think about this solution ? Do you known of the Java API contains an implementation of the binary search trees ?
    I though too to use an hashset. The hashcode should be computed in order to access to the nearest angle in the list of values. But I did not find the alogrithm to compute a such hash code. Maybe it is a wrong way.
    Please, help me.
    Tell me your opinion and your advices to solve my problem.
    Let me know if you need more information
    Thanks

    OK, it works.
    I created a class for my data:public class ElGainPatternElement
      private double elevation;
      private double gain;
    +getters/setters
    }Then, I created a comparator to compare my elements on the elevation attribute.
    Finally, I specialiazed the Collections.binarySearch method in order to return the value instead of the index.
    I the object is not found, I return the inferior (or superior) object.
    public static <T> T binarySearch(List<? extends T> list, T key,
          Comparator<? super T> c, boolean isMinStrategy)
        int index = Collections.binarySearch(list, key, c);
        // si objet non trouv�
        if (index < 0)
          // r�cup�rer l'index le plus proche de celui recherch�
          index = isMinStrategy ? (-index - 2) : (-index - 1);
          // si plus grand que tous les �lts, retourner le dernier de la liste
          if (index >= list.size())
            index = list.size() - 1;
          // si plus grand que tous les �lts, retourner le premier de la liste
          else if (index < 0)
            index = 0;
        // retourner l'objet le plus proche au regard de la strat�gie
        return list.get(index);
      }It works very well.
    But now, I need to change the strategy to use if the wanted elevation is not in the list.
    If you look at the example of my first post, the 5 degrees of elevation is not in my list. So, I have to interpolate the values of the gain in order to get a correct gain.
    If possible, it should use the least squares interpolation (I'm not sure of my traduction of "moindres carr�s").
    I have really no idea of the way to do it.
    Can anyone help me with this interpolation ? I have never use algorithm of interpolation (except the mean of 2 values).
    Maybe the Java API provides some utilities that can help me to interpolate my values ... any suggestions ?
    Thanks

  • Quick-Sort Algorithm HELP !!!

    hi there, I wrote a method to sort an 2D-Vector. I used the Bubble-Algorithm.
    Here the code:
    Vector == [Micky, Niko, Tete] ; [Lilo, Eli, Micha];
    public static void bubbleSort( Vector v,
    int sortColumn,
    boolean ascending )
    int i = 0,
    j = 0,
    length = v.size();
    Vector tmp1,
    tmp2;
    for (i = 0; i < (length - 1); i++)
    for (j = i+1; j < length; j++)
    tmp1 = (Vector) v.elementAt(i);
    tmp2 = (Vector) v.elementAt(j);
    if (SortUtil.isGreaterThan(tmp1.elementAt(sortColumn), tmp2.elementAt(sortColumn)) > 0)
    // swap
    SortUtil.swap2D(v, i, j);
    public class SortUtil
    public static int isGreaterThan(Object obj1, Object2)
    // String
    if ( (obj1 instanceof String) && (obj2 instanceof String) )
    return ( ((String) obj1).compareTo((String) obj2) );
    public static void swap2D(Vector v, int i)
    Vector tmp = (Vector) v.elementAt(i);
    v.setElementAt((Vector) v.elementAt(i+1), i);
    v.setElementAt(tmp, i+1);
    I want now to write a method to use the quick-sort-algorithm.
    How can I do this.
    thanks a lot.
    micky z.

    Hi
    You can use java.util.Arrays.sort() method to sort an array of data in quick sort algo. May be you will have to use a n array insted of the Vector.
    Use vector.toArray() method to get an array from the vector.
    But if you want to use a dynamically resizing container like the Vector, use a java.util.LinkedList insted of the Vector and use Collections.sort() method
    Good luck.

  • [SOLVED] What is this sorting algorithm? (or a new one?)

    Hello everyone!
    Just before starting, i apologize for my grammar mistakes.
    I found a new sorting algorithm but i'm not sure if i really found it. There are too many sorting algorithms and mine is a really simple one; so, i belive that it can be found years ago.
    I searched popular sorting algorithms, but none of the them is the answer.
    Here is algorithm:
    * Search the numbers between brackets
    [24 12 12 55 64 18 32 31]
    * Find smallest one
    [24 12 12 55 64 18 32 31]
    ^S
    * Swap the first item between brackets with smallest one
    [12 12 24 55 64 18 32 31]
    * Find largest one
    [12 12 24 55 64 18 32 31]
    ^L
    * Swap the last item between brackets with largest one
    [12 12 24 55 31 18 32 64]
    * Move brackets by one.
    12[12 24 55 31 18 32]64
    * Continue from step one until the array is sorted
    /* rottsort
    Copyright (c) 2013 Bora M. Alper
    #include <stdio.h>
    void print_array (const int *array, const int length);
    int rottsort_swap (int *x, int *y);
    void rottsort (int *array, const int length);
    int rottsort_largest (const int *array, const int start, const int end);
    int rottsort_smallest (const int *array, const int start, const int end);
    void print_array (const int *array, const int length) {
    int i;
    for (i=0; i < length; ++i)
    printf ("%d ", array[i]);
    putchar ('\n');
    int main (void) {
    int array[] = {24, 12, 12, 55, 64, 18, 32, 31};
    print_array(array, 8);
    rottsort(array, 8);
    print_array(array, 8);
    return 0;
    int rottsort_swap (int *x, int *y) {
    const int temp = *x;
    *x = *y;
    *y = temp;
    void rottsort (int *array, const int length) {
    int i, largest_pos, smallest_pos;
    for (i=0; i < length/2; ++i) {
    largest_pos = rottsort_largest(array, i, length-1-i);
    rottsort_swap(&(array[largest_pos]), &(array[length-1-i]));
    smallest_pos = rottsort_smallest(array, i, length-1-i);
    rottsort_swap(&(array[smallest_pos]), &(array[i]));
    int rottsort_largest (const int *array, const int start, const int end) {
    int i, largest_pos = start;
    for (i=start; i <= end; ++i)
    if (array[i] >= array[largest_pos])
    largest_pos = i;
    return largest_pos;
    int rottsort_smallest (const int *array, const int start, const int end) {
    int i, smallest_pos = start;
    for (i=start; i <= end; ++i)
    if (array[i] <= array[smallest_pos])
    smallest_pos = i;
    return smallest_pos;
    P.S.: If this is a new sorting algorithm, i name it as "rottsort". :)
    Last edited by boraalper4 (2013-08-11 19:08:17)

    Trilby wrote:
    Because you already have two variables for largets and smallest, there is no reason to loop through the whole list twice to get each.  Loop through the list (or list subset) once, and in each loop check if the current item is smaller than smallest_pos or larger than largest_pos.
    This will increase efficiency by a factor of two.
    As written I believe it'd be less efficient than even a simple bubble sort.  With the above revision it may be comparable to a bubble sort.
    Thanks for quick answer and advice. :) I will try to do that. When i'm done, i will post the new code.
    Code is tested on codepad. (I edited the code on my phone so, sorry for formatting)
    /* rottsort
    Copyright (c) 2013 Bora M. Alper
    #include <stdio.h>
    void print_array (const int *array, const int length);
    int rottsort_swap (int *x, int *y);
    void rottsort (int *array, const int length);
    void rottsort_find (int *smallest_pos, int *largest_pos, const int *array, const int start, const int end);
    void print_array (const int *array, const int length) {
    int i;
    for (i=0; i < length; ++i)
    printf ("%d ", array[i]);
    putchar ('\n');
    int main (void) {
    int array[] = {24, 12, 12, 55, 64, 18, 32, 31};
    print_array(array, 8);
    rottsort(array, 8);
    print_array(array, 8);
    return 0;
    int rottsort_swap (int *x, int *y) {
    const int temp = *x;
    *x = *y;
    *y = temp;
    void rottsort (int *array, const int length) {
    int i, largest_pos, smallest_pos;
    for (i=0; i < length/2; ++i) {
    rottsort_find (&smallest_pos, &largest_pos, array, i, length-1-i);
    rottsort_swap(&(array[largest_pos]), &(array[length-1-i]));
    if (smallest_pos == length-1-i)
    smallest_pos = largest_pos;
    rottsort_swap(&(array[smallest_pos]), &(array[i]));
    void rottsort_find (int *smallest_pos, int *largest_pos, const int *array, const int start, const int end) {
    int i;
    *smallest_pos = start;
    *largest_pos = start;
    for (i=start; i <= end; ++i) {
    if (array[i] >= array[*largest_pos])
    *largest_pos = i;
    if (array[i] <= array[*smallest_pos])
    *smallest_pos = i;
    Last edited by boraalper4 (2013-08-11 15:21:48)

  • Sorting algorithm ?

    what is the sorting algorithm used in Collection.sort ?
    Its not clear what sorting algorithm is used in Collection.sort
    http://download.oracle.com/javase/1.4.2/docs/api/java/util/Collections.html
    Can anybody throw some light on this ?

    roy wrote:
    It works on binary search algorithm.No.
    Binary search requires that the list already be sorted. You don't use binary search to do the sorting.
    This algorithm has two forms. The first takes a List and an element to search for (the "search key"). This form assumes that the List is sorted in ascending order according to the natural ordering of its elements. The second form takes a Comparator in addition to the List and the search key.The second form also assumes the list is sorted--according to the rules of the comparator.

  • Best sorting algorithm

    What would be the best sorting to algorithm for a list that is probably 90% sorted? I assume that quick sort wouldn't be the most efficient in this case.
    EDIT: the list is made of strings. So i don't think any of the linear sorts will work.
    Also, what sorting algorithm does Collections.sort() use?

    Quote from the javadocs:
    The sorting algorithm is a modified mergesort (in which the merge is omitted if the highest element in the low sublist is less than the lowest element in the high sublist). This algorithm offers guaranteed n log(n) performance.
    http://java.sun.com/javase/6/docs/api/java/util/Collections.html#sort(java.util.List)

  • How to display the steps of a sort algorithm??

    I'm having a lot of trouble trying to display the results of applying a merge sort to a set of 10 integers. The problem is not that I can't see anything on the text area within the applet, the problem is that I am getting a lot of repetitions and duplicates occuring. I have tried inserting the Display() method in various positions in the sort, I have set up a temporary array to compare the elements of the array before and after the particular step of the sort is applied and an if statement to display only if there are changes have happened to the array. Can anyone advise?? Here's the code for the sort, including my current attempt to get the sort diplayed in steps:
    public class MSort extends JFrame
    public MSort(int[] anArray, JApplet anApplet)
    a = anArray;
    applet = anApplet;
    ArrayUtil.Display(a,textArea);
    JumpLine(textArea);
    Sorts the array managed by this merge sorter
    public void sort()
    throws InterruptedException
    mergeSort(0, a.length - 1);
    textArea.append("End of Merge Sort");
    Sorts a range of the array, using the merge sort
    algorithm.
    @param from the first index of the range to sort
    @param to the last index of the range to sort
    public void mergeSort(int from, int to)
    throws InterruptedException
    if (from == to) return;
    int mid = (from + to) / 2;
    mergeSort(from, mid);
    mergeSort(mid + 1, to);
    merge(from, mid, to);
    Merges two adjacent subranges of the array
    @param from the index of the first element of the
    first range
    @param mid the index of the last element of the
    first range
    @param to the index of the last element of the
    second range
    public void merge(int from, int mid, int to)
    throws InterruptedException
    startPosition = from;
    endPosition = to;
    int n = to - from + 1;
    // size of the range to be merged
    // merge both halves into a temporary array b
    int[] b = new int[n];
    int i1 = from;
    // next element to consider in the first range
    int i2 = mid + 1;
    // next element to consider in the second range
    int j = 0;
    // next open position in b
    int[] oldArray = new int[a.length];
    System.arraycopy(a, 0, oldArray, 0, oldArray.length);
    // as long as neither i1 nor i2 past the end, move
    // the smaller element into b
    while (i1 <= mid && i2 <= to)
    if (a[i1] < a[i2])
              b[j] = a[i1];
    for (int m=0; m < a.length-1; m++) {
    if (a[m] != oldArray[m]){
    ArrayUtil.Display(a,textArea);// method I've put in to try and compare the array b4 and after the sort
    JumpLine(textArea);
    i1++;
    else
    b[j] = a[i2];
    for (int m=0; m < a.length-1; m++) {
    if (a[m] != oldArray[m]){
    ArrayUtil.Display(a,textArea);// method I've put in to try and compare the array b4 and after the sort
    JumpLine(textArea);
    i2++;
         pause(2);
    j++;
         for (int k=0; k < a.length-1; k++) {// method I've put in to                  try and compare the array b4 and after the sort
    if (a[k] != oldArray[k]){
    ArrayUtil.Display(a,textArea);
    JumpLine(textArea);
    // note that only one of the two while loops
    // below is executed
    // copy any remaining entries of the first half
    while (i1 <= mid)
    b[j] = a[i1];
    for (int m=0; m < a.length-1; m++) {
    if (a[m] != oldArray[m]){
    ArrayUtil.Display(a,textArea);// method I've put in to try and compare the array b4 and after the sort
    JumpLine(textArea);
    //ArrayUtil.Display(a,textArea);
                        //JumpLine(textArea);
    pause(2);
    i1++;
    j++;
    // copy any remaining entries of the second half
    while (i2 <= to)
    b[j] = a[i2];
    for (int m=0; m < a.length-1; m++) {
    if (a[m] != oldArray[m]){
    ArrayUtil.Display(a,textArea);// method I've put in to try and compare the array b4 and after the sort
    JumpLine(textArea);
         } pause(2);
    i2++;
    j++;
    // copy back from the temporary array
    for (j = 0; j < n; j++)
    a[from + j] = b[j];
    for (int m=0; m < a.length-1; m++) {
    if (a[m] != oldArray[m]){
    ArrayUtil.Display(a,textArea);// method I've put in to try and compare the array b4 and after the sort
    JumpLine(textArea);
    pause(2);
    public void pause(int steps)
    throws InterruptedException
    if (Thread.currentThread().isInterrupted())
    throw new InterruptedException();
    applet.repaint();
    Thread.sleep(steps * DELAY);
    private int[] a;
    private int startPosition = -1;
    private int endPosition = -1;
         private JTextArea textArea = SortApplet1.getTextArea2();
    private JApplet applet;
    private static final int DELAY = 100;
    public static void JumpLine(JTextArea t){
         JTextArea TxtArea = t;
         TxtArea.append("\n\n");
    }

    see sample at http://lwh.free.fr/pages/algo/tri/tri.htm
    marvinrouge

  • Assigned To column not working in the quick search of a list

    Hi, I have a list where we have a column called Assigned To, but it is a single line of text column type. Search is working since I am able to find other values in the list.
    Now, when using the quick search, it is not working or showing results in this column.
    Could this be related that this column is a manage metadata column type as default in SharePoint?
    I have created a new list with this value but, as person column type and it is not working either.
    Any ideas?

    Hi Javi,
    Please check and make sure your custom "Managed Property" map to the crowed property generated by managed metadata column, and set the manged property as "Searchable" then start an incremental crawl or full crawl.
    For "Assigned To" column(e.g. crawled property should be "ows_Assigned_x0020_To"), I enabled the "Searchable" option for the manged property, then start an incremental crawl, and then search the
    user in "Find an item" and it worked, you can try.
    Thanks
    Daniel Yang
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • How to include variable "assigned to" values in quick search

    Hi!
    The values available in field "assigned to" (agent inbox), vary depending on settings in PPOMA_CRM.
    I can see different teams or even nothing.
    When I try to define a quick search (TX: CRMC_IC_AUI_QUICKS), the field "assigned to" has two values: Me and My groups. Looks like this values are fixed, as they do not vary if I change my assignments in PPOMA_CRM.
    Does that mean that we cannot define any other values in quick search, and that we have to manually choose them in inbox?
    Thanks,
    Borut

    No one encountered this requirment?

  • E72 - Contacts quick search doesn't work correctly

    Hello!
     I have over 1,500 contacts in Outlook and has successfully synchronized them with Nokia E72 (last firmware). But quick search in Contacts application simply doesn't work - I can find only few contacts - others just dissapear when I start typing correct letters. 
    I tried to kill the process of this app and restart Contacts. Voila, it works correctly! But then in 5 min. I tried again and got just the same problem. 
    Desktop quick search doesn't work too.
    I've already tried to reload all the contacts in my phone - no results.
    What would you advise to solve that problem?
    Thanks in advance.

    The E72 Is from the most point of views a complete and very good phone.
    But this bug drives me crazy!
    Zam72 is completely spot on: Pathetic, Killer Feature, frustrating.
    I've done som more testing:
    Started with a quick search from home screen, found the contact I was lookng for.
    Made a Mail for exchange sync. Same search, no hits. (thought I found the issue...)
    Reboot, speed search work again.
    New Mfe sync, search still works, repeated a couple of times, still ok.
    Two hours later: Search still works
    New mfe sync, search once again goes blank!
    Now i'm noticing that when I open the contacts, I can browse the contacts, but if i enter a letter it first appears, but directly disapears making search impossible.
    I'M NOT ABLE TO USE THIS PHONES CONTACTS!!!!!!
    I believe this is related to Mfe synchronizations, but it's a random issue.
    Yes, I've tried a *#7370# with no luck.
    I'm not using PC-suite sync at all (no conflicts)
    I'm not running other programs simultaniously.
    I feel like a Beta tester!

  • Agent Inbox Quick Search with Custom Parameter

    Hi,
    In the Agent Inbox Advanced Search I added Created By as a searchable parameter. We'd now like to create a Quick Search for Created By - Me.
    I see that we use view CRMV_AUI_QUICKS to define quick searches and that this view is based on the table CRMC_AUI_QUICKS. Obviously the field (Created By) that I added to the Search Object (BTQueryAUI) is not included in that table.
    So, I suppose that I can append the new field (Created By) to table CRMC_AUI_QUICKS; but then won't I have to regenerate the Table Maintenance View so that the new field will be included in the maintenance screen? Won't this be considered a repair since the view is in the SAP namespace?
    Will this even work?
    Is there any other way to include custom search fields in Quick Searches? I guess I could code a solution in ICCMP_INBOX/AdvQuicksearchV but I'd rather not have to code quick searches every time a new field is added to the searchable parameters.
    Thanks for your time,
    P.

    Anyone have any insight in to this?
    Thanks,
    P.

  • Case insensitive quick search of UCM

    'Quick Search' in UCM looks case sensitive. If I create a file with title as 'Test File' it shows result in following cases
    Test
    Test File
    But it can't show result when I search for
    test
    test file
    Is there a way to make it case insensitive search?
    Thanks
    Sanjeev

    Hi,
    Already answered in the following thread :https://forums.oracle.com/thread/2193824
    Romain.

  • Advanced and Quick Search on UIX Pages

    Hi all,
    I have run into a situation on pages where I have the advanced and quick search enabled. Here's what is happening. You click on advanced search and search for a particular attribute. This works fine. Then you click on the button for quick search so that the advanced search view collapses. If you go to another page within the application and come back to the original page, the page is displayed with the advanced search view, even though when we left the page it was set to quick search. Any one have any ideas why this occuring or a workaround so that it doesn't happen? Thanks in advance.
    Susan

    Susan,
    Switching between advanced search view and quick search view is done at the client using javascript. Only once a search is issued by pressing the Go or Find button, a request is sent to the server, and we are able to save the "search mode" state.
    In 10.1.3 we have solved this by using Partial Page rendering rather then javascript.
    Steven Davelaar,
    JHeadstart Team.

  • How to add a Quick Search Region of the shuttle

    JHeadstart 10.1.3.1.26
    Help me! Help me! Help me!
    How does add a Quick Search Region of the shuttle
    http://cid-857a1e2135747b0c.spaces.live.com/?_c11_PhotoAlbum_spaHandler=TWljcm9zb2Z0LlNwYWNlcy5XZWIuUGFydHMuUGhvdG9BbGJ1bS5GdWxsTW9kZUNvbnRyb2xsZXI%24&_c11_PhotoAlbum_spaFolderID=cns!857A1E2135747B0C!112&_c11_PhotoAlbum_startingImageIndex=&_c11_PhotoAlbum_commentsExpand=&_c11_PhotoAlbum_addCommentExpand=&_c11_PhotoAlbum_addCommentFocus=&_c=PhotoAlbum
    Message was edited by:
    user589457

    JHeadstart 10.1.3.1.26
    Help me! Help me! Help me!
    How does add a Quick Search Region of the shuttle
    http://cid-857a1e2135747b0c.spaces.live.com/?_c11_PhotoAlbum_spaHandler=TWljcm9zb2Z0LlNwYWNlcy5XZWIuUGFydHMuUGhvdG9BbGJ1bS5GdWxsTW9kZUNvbnRyb2xsZXI%24&_c11_PhotoAlbum_spaFolderID=cns!857A1E2135747B0C!112&_c11_PhotoAlbum_startingImageIndex=&_c11_PhotoAlbum_commentsExpand=&_c11_PhotoAlbum_addCommentExpand=&_c11_PhotoAlbum_addCommentFocus=&_c=PhotoAlbum
    Message was edited by:
    user589457

  • How do I disable/uninstall "Quick Search" in Status Bar?

    I want to disable/uninstall the "Quick Search" box that pops up in my Status Bar in Firefox 23.0.1 Right now I'm having an issue with an "erratic cursor" (Windows 8...YUCK!!!!). I start typing in the address bar in a new tab, or in Google search bar, and my cursor floats all over the screen without my knowledge. In the middle of typing my search, the cursor will somehow "trigger" the "Quick Search" box, and suddenly, my words end up being typed there. I found out that this "erratic cursor" is a documented issue with the Lenovo G585 laptop, and until I find out how to fix it, I REALLY want to stop "Quick Search" from opening unless I ask it to open.
    How do I stop "Quick Search" from opening?
    Thanks in advance for your help!
    Nuts4Mutts :)

    Have you seen the articles below.
    * [[Disable or remove Add-ons]]
    AND
    * [[Troubleshoot Firefox issues caused by malware]]
    Please follow all the instructions on the page.

Maybe you are looking for

  • Hp laserjet cp1525nw

    I recently purchased the Laserjet CP1525nw color printer and 256MB ram upgrade (non HP).  The printer works fine without the ram inserted.  I had our vendor replace the ram and still the yellow triangle on the printer lights up and doesn't print unti

  • Create a JMS reference to a IBM MQ Resource Adapter

    Hi There, We have deployed the IBM MQ RA (version 7.0.0.0-k000-L080529) on our CE 7.1 SP 4 system. We are trying to create a JMS reference to utilise the RA to put a message on an IBM MQ Queue. We are trying to get to the RA using the following code

  • Mail I find on search does not appear in mailbox

    When I search for mail from a certain sender, some messages appear in the search results but don't show in the mailbox where the results say they are. How can I make them appear in the box where they are said to be?

  • Swapping external drives for Time Machine

    I read a number of earlier discussions, but didn't find one that quite directly addressed my question.  Please consider the following scenario: iMac and MacBook Time Machine backups are stored on a single network drive (attached to an Airport Extreme

  • MIGRATION DESIGNER REPOSITORY 6.0 to 6i

    I've tried to migrate repository 6.0 to 6i but in process i recive the error message: ORA-03232 unable to allocate extent to tablespace ... ORA-02063 error from link ... RME-02124 failed to excute SQL statement CREATE TABLE UPG_RM_TEXT_LINES ... I ha