Problem with Binary Search.

Hi Gurus.
I am using binary search to read data from internal table with approx more than 3lacs records. Also my table is sorted by BUKRS BELNR. But the problem is that i am getting records from lower half of table only and first half of table is ignoring, so i am not able to get all records. If i use nornal search, i am geting 7856 records and if i use binary search, i am geting only 1786 records....Can anyone help me why this is happening????

Hi PV
Actually my table contain line items. I am reading header data from bkpf for a single day. and for that document nos i am fetching line items. But if i use join or for all entries, i will get time exceed errror. so i get Period of that single day and taking data for that period from BSIS and then reading BKPF.. and only taking that line items for which document no in BKPF...
my code is like
SELECT-OPTIONS: cpudt FOR sy-datum DEFAULT '20030102'.
SELECT bukrs belnr gjahr monat FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE ibkpf
WHERE ( cpudt IN cpudt OR aedat IN cpudt ).
ibkpf1[] = ibkpf[].
SORT ibkpf1 BY monat.
DELETE ADJACENT DUPLICATES FROM ibkpf1 COMPARING monat.
IF ibkpf1[] IS NOT INITIAL.
  SELECT * FROM bsis INTO TABLE ibsis
      FOR ALL ENTRIES IN ibkpf1 WHERE gjahr = ibkpf1-gjahr
                                 AND monat = ibkpf1-monat.
  SORT ibsis BY bukrs belnr.
  LOOP AT ibsis.
    READ TABLE ibkpf WITH KEY bukrs = ibsis-bukrs
                              belnr = ibsis-belnr
                              BINARY SEARCH.
    IF sy-subrc NE 0.
      DELETE ibsis.
    ENDIF.
  ENDLOOP.
ENDIF.

Similar Messages

  • Problem with Binary search statement

    Hi,
    I have problem with reading the internal with Binary search.
    I have two internal tables BSAS and BSIS. In BSAS I have 1,200,000 line items and BSIS 500,000 line items. I need to delete the line items if BSIS-BELNR NE BSAS-AUGBL.
    I am using the following code :
        LOOP AT gt_bsas .
          READ TABLE gt_bsis WITH KEY bukrs = gt_bsas-bukrs
                                      belnr = gt_bsas-augbl
                                      gjahr = gt_bsas-gjahr.
          IF sy-subrc NE 0.
            DELETE gt_bsas.
            CLEAR  gt_bsas.
          ELSE.
         endif.
    endloop.
    By this execution of the loop is taking long time. If I use the binary search it is fast but result is not correct.
    Please suggest me, how to resolve this issue.
    Thanks,
    Sri.

    Try this way:
    LOOP AT gt_bsas .
    <b>SORT GT_BSIS BY BUKRS BELNR GJAHR.</b>
    READ TABLE gt_bsis WITH KEY bukrs = gt_bsas-bukrs
    belnr = gt_bsas-augbl
    gjahr = gt_bsas-gjahr
    <b>BINARY SEARCH.</b>
    <b>IF sy-subrc eq 0.</b>
    ****Do Nothing.
    ELSE.
    <b>DELETE gt_bsas sy-tabix.</b>
    CLEAR gt_bsas.
    endif.
    endloop.
    1. Also make sure that the KEY mentioned in READ statement follows the same seqeunce of gt_bsis structure.
    Thanks,
    Santosh
    Message was edited by:
            SKJ

  • Problem with binary search tree

    Hi all, just having troubles with a program im writing.
    My program is based on a binary search tree full of items which are passed in via an input file and then saved to an output file.
    I have written a sellItem method which gets passed in the item and quantity that has been sold which then needs to be changed in the binary tree.
    Here if my sell Item method:
        public void sellItem(Item item, int quantity){
            stockItem = item;
            mQuantity = quantity;
            if (tree.includes(stockItem)){
                int tempQuantity = stockItem.getQuantityInStock();
                tempQuantity -= mQuantity;
            else{
                throw new IllegalArgumentException("The Barcode " + mBarCode + " does NOT exist.");
        }and here is where i am calling it in a test class :
    number1.sellItem(item1, 40);Each item is in this format :
    ABCD, PENCIL, 1, 0.35, 200, 100, 200
    where 200 is the quantity.
    Therefore if i pass 40 into the method the binary search tree should then store the quantity as 160.
    below is a copy of my binary tree :
    public class BSTree extends Object {
        private class TreeNode extends Object{
            public Comparable data;
            public TreeNode left;
            public TreeNode right;
            public TreeNode() {
                this(null);
            public TreeNode(Comparable barCode){
                super();
                data = barCode;
                left = null;
                right = null;
        private TreeNode root; 
        private int nodeCount;
        public BSTree(){
            super();
            root = null;
            nodeCount = 0;
        public boolean isEmpty() {
          return root == null;
        public int size() {
          return nodeCount;
        private TreeNode attach(TreeNode newPointer, TreeNode pointer){
            if (pointer == null){
                nodeCount++;
                return newPointer;
            else {
                Comparable obj1 = (Comparable) newPointer.data;
                Comparable obj2 = (Comparable) pointer.data;
            if (obj1.compareTo(obj2) < 0) //Go left
                pointer.left = attach(newPointer, pointer.left);
            else //Go right
                pointer.right = attach(newPointer, pointer.right);
            return pointer;
        public void insert(Comparable item){
            //Create a new node and initialize
            TreeNode newPointer = new TreeNode(item);
            //Attach it to the tree
            root = attach(newPointer, root);
        public Comparable remove(Comparable key) {
            TreeNode pointer;
            TreeNode parent;
            //Find the node to be removed
            parent = null;
            pointer = root;
            while ((pointer != null) && !key.equals(pointer.data)) {
                parent = pointer;
                if (key.compareTo(pointer.data) <0)
                    pointer = pointer.left;
                else
                    pointer = pointer.right;
            if (pointer == null)
                return null;
            //Orphans
            TreeNode leftSubtree = pointer.left;
            TreeNode rightSubtree = pointer.right;
            if (parent == null)
                root = null;
            else if (key.compareTo(parent.data) < 0)
                parent.left = null;
            else
                parent.right = null;
            //Reattaching any orphans in the left subtree
            if (leftSubtree != null) {
                root = attach(leftSubtree, root);
                nodeCount--;
            //Reattaching any orphans in the right subtree
            if (rightSubtree != null) {
                root = attach(rightSubtree, root);
                nodeCount--;
            nodeCount--;
            return pointer.data;
        private TreeNode search(TreeNode pointer, Comparable key) {
            if (pointer == null)
                return null;
            else if (pointer.data.compareTo(key) == 0)
                return pointer;
            else if (key.compareTo(pointer.data) < 0)
                return search(pointer.left, key);
            else
                return search(pointer.right, key);
        public boolean includes(Comparable key) {
            return (search(root, key) != null);
        public Comparable retrieve(Comparable key) {
            TreeNode pointer;
            pointer = search(root, key);
            if (pointer == null)
                return null;
            else
                return pointer.data;
        public Comparable[] getAllInOrder() {
            Comparable[] list = new Comparable[nodeCount];
            inOrderVisit(root,list,0);
            return list;
        private int inOrderVisit(TreeNode pointer, Comparable[] list, int count) {
            if (pointer != null) {
                count = inOrderVisit(pointer.left, list, count);
                list[count++] = pointer.data;
                count = inOrderVisit(pointer.right, list, count);
            return count;
        public String toString() {
            StringBuffer result = new StringBuffer(100);
            inOrderString(root, result);
            return result.toString();
        private void inOrderString(TreeNode pointer, StringBuffer result) {
            if (pointer != null) {
                inOrderString(pointer.left, result);
                result.append(pointer.data.toString() + "\n");
                inOrderString(pointer.right, result);
    }Thanks for everyones help. Keep in mind i'm very new to java.

    Hi all, just having troubles with a program im writing.
    My program is based on a binary search tree full of items which are passed in via an input file and then saved to an output file.
    I have written a sellItem method which gets passed in the item and quantity that has been sold which then needs to be changed in the binary tree.
    Here if my sell Item method:
        public void sellItem(Item item, int quantity){
            stockItem = item;
            mQuantity = quantity;
            if (tree.includes(stockItem)){
                int tempQuantity = stockItem.getQuantityInStock();
                tempQuantity -= mQuantity;
            else{
                throw new IllegalArgumentException("The Barcode " + mBarCode + " does NOT exist.");
        }and here is where i am calling it in a test class :
    number1.sellItem(item1, 40);Each item is in this format :
    ABCD, PENCIL, 1, 0.35, 200, 100, 200
    where 200 is the quantity.
    Therefore if i pass 40 into the method the binary search tree should then store the quantity as 160.
    below is a copy of my binary tree :
    public class BSTree extends Object {
        private class TreeNode extends Object{
            public Comparable data;
            public TreeNode left;
            public TreeNode right;
            public TreeNode() {
                this(null);
            public TreeNode(Comparable barCode){
                super();
                data = barCode;
                left = null;
                right = null;
        private TreeNode root; 
        private int nodeCount;
        public BSTree(){
            super();
            root = null;
            nodeCount = 0;
        public boolean isEmpty() {
          return root == null;
        public int size() {
          return nodeCount;
        private TreeNode attach(TreeNode newPointer, TreeNode pointer){
            if (pointer == null){
                nodeCount++;
                return newPointer;
            else {
                Comparable obj1 = (Comparable) newPointer.data;
                Comparable obj2 = (Comparable) pointer.data;
            if (obj1.compareTo(obj2) < 0) //Go left
                pointer.left = attach(newPointer, pointer.left);
            else //Go right
                pointer.right = attach(newPointer, pointer.right);
            return pointer;
        public void insert(Comparable item){
            //Create a new node and initialize
            TreeNode newPointer = new TreeNode(item);
            //Attach it to the tree
            root = attach(newPointer, root);
        public Comparable remove(Comparable key) {
            TreeNode pointer;
            TreeNode parent;
            //Find the node to be removed
            parent = null;
            pointer = root;
            while ((pointer != null) && !key.equals(pointer.data)) {
                parent = pointer;
                if (key.compareTo(pointer.data) <0)
                    pointer = pointer.left;
                else
                    pointer = pointer.right;
            if (pointer == null)
                return null;
            //Orphans
            TreeNode leftSubtree = pointer.left;
            TreeNode rightSubtree = pointer.right;
            if (parent == null)
                root = null;
            else if (key.compareTo(parent.data) < 0)
                parent.left = null;
            else
                parent.right = null;
            //Reattaching any orphans in the left subtree
            if (leftSubtree != null) {
                root = attach(leftSubtree, root);
                nodeCount--;
            //Reattaching any orphans in the right subtree
            if (rightSubtree != null) {
                root = attach(rightSubtree, root);
                nodeCount--;
            nodeCount--;
            return pointer.data;
        private TreeNode search(TreeNode pointer, Comparable key) {
            if (pointer == null)
                return null;
            else if (pointer.data.compareTo(key) == 0)
                return pointer;
            else if (key.compareTo(pointer.data) < 0)
                return search(pointer.left, key);
            else
                return search(pointer.right, key);
        public boolean includes(Comparable key) {
            return (search(root, key) != null);
        public Comparable retrieve(Comparable key) {
            TreeNode pointer;
            pointer = search(root, key);
            if (pointer == null)
                return null;
            else
                return pointer.data;
        public Comparable[] getAllInOrder() {
            Comparable[] list = new Comparable[nodeCount];
            inOrderVisit(root,list,0);
            return list;
        private int inOrderVisit(TreeNode pointer, Comparable[] list, int count) {
            if (pointer != null) {
                count = inOrderVisit(pointer.left, list, count);
                list[count++] = pointer.data;
                count = inOrderVisit(pointer.right, list, count);
            return count;
        public String toString() {
            StringBuffer result = new StringBuffer(100);
            inOrderString(root, result);
            return result.toString();
        private void inOrderString(TreeNode pointer, StringBuffer result) {
            if (pointer != null) {
                inOrderString(pointer.left, result);
                result.append(pointer.data.toString() + "\n");
                inOrderString(pointer.right, result);
    }Thanks for everyones help. Keep in mind i'm very new to java.

  • READ statement with binary search

    Hi friends,
    I know that while using the READ statement that we have to sort data and use BINARY SEARCH  for faster search.
    I have a situation
    following are internal table contents
    belnr          agent    action
    9000001   name1    BRW
    9000001   name1    API
    when i use READ statement with where condition (  ( belnr - 9000001 ) and  ( action = 'BRW' ) )  with binary search then the SY_SUBRC value is 4.
    if i remove the binary search then its giving SY-SUBRC value 0.
    Can anybody explain why BINARY SEARCH fails.
    Points will be rewarded for correct answers.
    Thanks and regards,
    Murthy

    try this i am not getting sy-subrc 4
    TYPES:BEGIN OF TY_ITAB,
    BELNR TYPE BELNR,
    AGENT(30),
    ACTION(5),
    END OF TY_ITAB.
    DATA:IT_TAB TYPE TABLE OF TY_ITAB,
         WA_TAB TYPE TY_ITAB.
    WA_TAB-BELNR = 9000001.
    WA_TAB-AGENT = 'name1'.
    WA_TAB-ACTION = 'BRW'.
    APPEND WA_TAB TO IT_TAB.
    CLEAR WA_TAB.
    WA_TAB-BELNR = 9000002.
    WA_TAB-AGENT = 'name 2'.
    WA_TAB-ACTION = 'API'.
    APPEND WA_TAB TO IT_TAB.
    loop at it_tab into wa_tab.
    read table it_tab into wa_tab with key belnr = wa_tab-belnr  binary search .
    write: sy-subrc, wa_tab-agent.
    endloop.

  • Weird situation with BINARY SEARCH in READ statwment??

    Hi Experts,
    I got weird situation with BINARY SEARCH !! bcoz, below is my code,
    data: begin of it_vbap occurs o,
            vbeln like vbap-vbap,
            posnr like vbap-posnr, ( i also tried like, posnr(6) type n)
    end of it_vbap.
    data: counter type i ( i also tried like, counter(6) type n)
    my it_vbap is filled like below,
    vbeln----
    posnr
    12345678-------000001
    12345678-------000002
    12345678-------000003
    12345678-------000004
    12345678-------000005
    12345678-------000006
    sort it_vbap by posnr. (*)
    clear counter
    loop it_vbap.
    counter = counter + 1.
    read table it_vbap with key posnr = counter
    binary search (after commenting the above SORT * marked statement, then,if I delete BINARY SEARCH, then its working!!)
    if sy-subrc = 0.
    here is my logic.
    endif.
    endloop.
    so, now, for
    1st loop the sy-subrc = 0.
    2nd loop the sy-subrc = 0.
    3rdloop the sy-subrc NE  0.
    4th loop the sy-subrc = 0.
    5th loop the sy-subrc NE 0.
    6th loop the sy-subrc NE 0.
    so, why, ebven though there r all entires in it_vbap, why am getting the sy-subrc NE 0??
    Is the reason that, there r less number of entries in it_vbap?? and am using BINARY SEARCH??
    thanq
    Edited by: SAP ABAPer on Dec 4, 2008 8:33 PM
    Edited by: SAP ABAPer on Dec 4, 2008 8:37 PM
    Edited by: SAP ABAPer on Dec 4, 2008 8:37 PM

    Hello
    The following coding works perfect (6x sy-subrc = 0) on ERP 6.0:
    *& Report  ZUS_SDN_ITAB_BINARY_SEARCH
    REPORT  zus_sdn_itab_binary_search.
    TABLES: vbap.
    DATA: BEGIN OF it_vbap OCCURS 0,
    vbeln LIKE vbap-vbeln,
    posnr LIKE vbap-posnr, "( i also tried like, posnr(6) type n)
    END OF it_vbap.
    DATA: counter TYPE posnr.
    START-OF-SELECTION.
      " Fill itab with data:
    *  12345678-------000001
    *  12345678-------000002
    *  12345678-------000003
    *  12345678-------000004
    *  12345678-------000005
    *  12345678-------000006
      REFRESH: it_vbap.
      CLEAR: vbap.
      DO 6 TIMES.
        it_vbap-vbeln = '12345678'.
        it_vbap-posnr = syst-index.
        APPEND it_vbap.
      ENDDO.
      SORT it_vbap[] BY posnr.  " for BINARY SEARCH
      BREAK-POINT.
      clear counter.
      loop at it_vbap.
      counter = counter + 1.
      READ TABLE it_vbap WITH KEY posnr = counter
      BINARY SEARCH.  " (after commenting the above sort * marked statement, then,if i delete binary search, then its working!!)
      IF sy-subrc = 0.
        "here is my logic.
      ENDIF.
    ENDLOOP.
    END-OF-SELECTION.
    By the way, if your requirement is to check whether the first item has POSNR = '000001', the second item has POSNR = '000002' and so on then you can simplify your coding like this:
    counter = 0.
    LOOP AT it_vbap.
      counter = syst-tabix.
      IF ( it_vbap-posnr = counter ).
        " put in here your logic
      ENDIF.
    ENDLOOP.
    Regards
      Uwe

  • Problem with ALV search help Dictionary Search Help

    Hello experts
    I have a problem with ALV search help.
    I use DDIC table ZXXX with text table ZXXX_T. I created DDIC search help form table ZXXX. In my WD application, in context on COMPONENTCONTROLLER i set on attribute: 'Input help mode' as 'Dictionary Search Help' and in 'Dictionary Search Help' I pass name of new created DDIC search help.
    I create a input field from that atrribute and search help works fine (there was a value and description for value from text table). So I created ALV witch contains that attribute too.
    Next I set column for this attribute in ALV as editable but on Serch help for this collumn I have only value. I DON'T HAVE TEXT DESCRIPTION FOR VALUE.
    Please help me and tell me what I do wrong?
    Miko

    Hello,
    Thank's for your help. I create DDic Search help for all fields from my ALV. Next I changed 'TYPE' for all ALV fields in COMPONENTCONTROLLER from ZXXX-Zfield to Zfield, and I changed 'Input help mode' from 'Automatic' to 'Dictionary Search Help'. Now I see Value and Description for value in Search Help in my ALV.
    Regards
    Miko

  • Proxy problem with Yahoo search returned links

    We have two BM servers here. Older one Netware 6 sp5 w/ BM 3.7 sp3 that works well. A replacement that I have had up but not currently using much Netware 6.5 SP8 w/ BM 3.8 sp5. The latter one has a problem with Yahoo search results. If I point a workstation to the older NW6 BM it works fine in Bing, Google & Yahoo. If I point it to the NW6.5 BM then it will work fine in Bing and Google but in Yahoo it will return the results but when you click on any link there I get this message:
    Yahoo!
    Yahoo! - Help
    The requested URL was not found on this server.
    Please check the URL for proper spelling and capitalization. If you're having trouble locating a destination on Yahoo!, try visiting the Yahoo! home page or look through a list of Yahoo!'s online services. Also, you may find what you're looking for if you try searching below.
    Any ideas? I have no access rules enforced. Anything that might be of help would be greatly appreciated.....Thank you!

    On 03/10/2014 09:56 PM, jpeteet wrote:
    >
    > Mysterious;2310138 Wrote:
    >> On 03/07/2014 09:06 PM, jpeteet wrote:
    >>>
    >>> We have two BM servers here. Older one Netware 6 sp5 w/ BM 3.7 sp3
    >> that
    >>> works well. A replacement that I have had up but not currently using
    >>> much Netware 6.5 SP8 w/ BM 3.8 sp5. The latter one has a problem with
    >>> Yahoo search results. If I point a workstation to the older NW6 BM it
    >>> works fine in Bing, Google & Yahoo. If I point it to the NW6.5 BM
    >> then
    >>> it will work fine in Bing and Google but in Yahoo it will return the
    >>> results but when you click on any link there I get this message:
    >>>
    >>>
    >>> Yahoo!
    >>> Yahoo! - Help
    >>>
    >>>
    >>> The requested URL was not found on this server.
    >>>
    >>> Please check the URL for proper spelling and capitalization. If
    >> you're
    >>> having trouble locating a destination on Yahoo!, try visiting the
    >> Yahoo!
    >>> home page or look through a list of Yahoo!'s online services. Also,
    >> you
    >>> may find what you're looking for if you try searching below.
    >>>
    >>>
    >>> Any ideas? I have no access rules enforced. Anything that might be of
    >>> help would be greatly appreciated.....Thank you!
    >>>
    >>>
    >>
    >> 1. Verify that you use the same proxy.cfg on both servers and the same
    >> settings like persistent connections.
    >> 2. Take a lan trace on the 3.7 when hitting the yahoo url and a lan
    >> trace on the 3.8 doing the same action and compare the differences.
    >
    > I am still trying to make sense of the Wireshark output. I can see where
    > I get the HTTP/1.0 403 Forbidden. What is happening upon further
    > inspection is when I click on a link returned from a yahoo search it
    > actually takes me to a link that always starts
    > "http://r.search.yahoo.com/.......blah blah blah. But If I go to the
    > newly opened tab (in IE) and add 's' to the HTTP address and hit enter
    > - the link works. Maybe that will help. This happens whether or not I
    > have "enforce access rules" checked.....
    >
    >
    1. Verify that you use the same proxy.cfg on both servers and the same
    settings like persistent connections.
    2. Compare both traces, the working one and the non working one. See if
    the returned link from yahoo is the same on both traces and it is coming
    from the same server. You may have another firewall/router up in the
    path causing the issue.
    3. Before taking the lan traces on the netware server using pktscan.nlm,
    unload proxy, load proxy -cc to clear cache. Then take the traces and
    see at what point the non working one differs from the working one.
    check that info is coming from the same up server

  • Problem with context search in iFS

    Hello , here is my problem with iFS.
    We have installation of Oracle 8.1.7 Enterprise edition with interMedia and iFS 1.1 on same server (Windows NT Server 4.0/512 RAM). During install everything went fine.
    I had uploaded about 200 MB files in the iFS (pdf's and html's).
    The problem is when I try to use context based search. If I search for file's name everything is fine, but when I search for a word that is in a file it almost immediately gives mi "0 file(s) found", and I'm sure that there are files that have that word in their body's.
    What can be the problem?
    Any sugestions will be in help.
    Thanks in advance.

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by mark_d_Drake ():
    That's the way it works. Content Indexing is not on insert, it occurs when the ctxsrv process runs. See the IntermediaText doc for more information.
    <HR></BLOCKQUOTE>
    Documents's content is stored in the GLOBALINDEXEDBLOB column of the IFSSYS.ODMM_CONTENTSTORE table.
    There is an text index GLOBALINDEXEDBLOB_I built on this column.
    To make the context search possible just update this index using the following command in SQL*Plus:
    SQL> exec ctx_ddl.sync_index('GLOBALINDEXEDBLOB_I');
    If you want this index be updated automatically when new documents are uploaded/changed/deleted in iFS then start the ctxsrv utility on the computer where your Oracle database resides. To do this issue the following command in OS command line:
    ctxsrv -user ctxsys/ctxpwd@db_alias
    just replace here ctxpwd and db_alias with real values you specified during the installation.
    null

  • E-recruiting - Problems with candidate search

    Hi experts,
    I'm trying to test some enhancements in E-recruiting and I'm facing problems with the candidate search. At firts I thought the problem was with Trex, but after run report RCF_RECREATE_SEARCH_PROFILES I've found the errors below:
    Error in program CL_HRRCF_SPB_CANDIDATE========CM003 line51
    Error in program  CL_HRRCF_SP_BUILDER===========CM003 line115
    Error in dinamic calling method for class CL_HRRCF_CEC_INFOTYPE
    Error in program  CL_HRRCF_CEC_INFOTYPE=========CM005 line 83
    Error in program  CL_HRRCF_CEC_INFOTYPE=========CM005 line 68
    Does anybody know what these errors mean?
    Thanks in advance for any kind of help!
    Best regards,
    Thais

    Hi again,
    Based on the reply I got for this thread I corrected an inconsistency I've found in the category of seach table, it was using a table as structure instead of an infotype. I've run report RCF_RECREATE_SEARCH_PROFILES  again and the error is still the same.
    As other trex searches such as advertise search is not working, I believe the problem is not only this, because this other seach uses another search profile that was not enhanced.
    Does anybody has another suggestion?
    Thanks in advance for any input!
    Best regards,
    Thais

  • Problems with collective search help

    Hello SDNers,
    I was working with collective search help.
    Ex : zc_srch1 (Collective)
    In the 'Include search help' i have included 2 search elementary search
    help
    Ex : zsrc1 and zsrc2 (both elementary)
    I have also assigned the parameter assignment for each included search help.
    I have also mentioned the search help parameter under definition tab
    Ex field form zsrch1 and field1 from zsrch2
    and also checked the import and export checkboxes.
    Now i have used the search help in the abap program
    ex: tmp type field1 matchcode object zc_srch1.
    Now when i execute the program the collective search help is getting populated.  when i try to choose a value it is not getting selected to the parameter box.
    Regards,
    Ranjith N

    Hi,
    Once again check back your seach help creation by following the link below.
    http://help.sap.com/saphelp_erp2005/helpdata/en/cf/21ee86446011d189700000e8322d00/content.htm
    Cheers!!
    VEnk@

  • Problems with the Search for room content

    Hi,
    I face a problem configuring the search for room content using KM search iView (com.sap.km.Search).
    I found the chapter Configuring the Search for Room Content in the help. So I set up the following things :
    1- I assign the room_id iView parameter to the roomid room parameter (in the template)
    2- I added room_cm_search component to the component set (I added it at the bottom of the "component for basic search function")
    3- I select the entry "Folder" as the default search scope in the search option set. I specify a root folder for search as well.
    But it doesn't work properly. It always returns "no result found". And if I add the room_cm_search component at the top of the "component for basic search function", It runs the search on all the documents of the default search scope, and not only on the room documents.
    Can you please tell me the right way to configure the search for room content using the com.sap.km.Search iView ?
    I work on EP 7.0 SP 10.
    Thanks a lot,
    Loïc LEVEUGLE

    Hi Loic,
    the Room Content Search iView is a special Search iView that is filtering for documents that were created in the Room Context (all documents get a specific metadata that is keeping the roomiD) . The easiest thing is to use the standard iView used for the delivered templates from SAP.
    I would advise to use the iView that is already preconfigured for a room template or part template and can be found and referenced in your template from the following path: Portal Content ->com.sap.ip.collaboration--> TemplateAndPartContent --> Generic -->iViews and take the iView "Search Room"
    If you reference that iView in your room template or room part template, you have to think about the correct configuration in the template configuration iView. Just take as example the configuration of the part template "SAP Search Room".
    Or even better: Copy a template (room or part) from SAP that is containing the Room Search and delete everything what you don´t need out of the template. You safe time and you can add all additional content you´ll need to your template. Some ideas can be found in the following "How to Guide":
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f0496f69-cb70-2910-21a6-c4cf2cc66311
    What you have written under 3 -> would never work as the root folder for search doesn´t make any sense as the documents of a room are stored in different folders and you can´t define a root folder. Therefor you have the specific room_id parameter that is filtering what documents belong to the room.
    Good luck,
    Anja

  • Problem with Bridge search

    Am I doing something wrong?
    I title my folders with model names.
    I put names, first, last, nothing works, no folders come up with Bridge search. help. thanks!

    no folders come up with Bridge search.
    Using both the search field top right in Bridge window and the Find Command under edit does give me the folder I searched for, so it should work.

  • Open data set problem with binary mode

    Hi everyone,
    I am trying to read into a buffer the content of a binary file (like Excel) and to write that content file using open data set into a folder destination.
    The file destination has a size diferent than from the original one and cannot be open.
    Here is the code.
      DATA:  lv_file_name(100),
             lt_content LIKE sdokcntbin OCCURS 0 WITH HEADER LINE.
      MOVE '\computerTestA1.xls' TO lv_file_name.
      OPEN DATASET lv_file_name FOR INPUT IN BINARY MODE.
      IF sy-subrc NE 0.
        EXIT.
      ENDIF.
      DO.
        READ DATASET lv_file_name INTO lt_content-line.
        IF sy-subrc NE 0.
          EXIT.
        ENDIF.
        APPEND lt_content.
      ENDDO.
      CLOSE DATASET lv_file_name.
    *  DELETE DATASET lv_file_name.
      CLEAR: lv_file_name.
      MOVE '\computerTestB2.xls' TO lv_file_name.
      OPEN DATASET lv_file_name FOR OUTPUT IN BINARY MODE.
      IF sy-subrc NE 0.
        EXIT.
      ENDIF.
      LOOP AT lt_content.
        TRANSFER lt_content-line TO lv_file_name.
      ENDLOOP.
      CLOSE DATASET lv_file_name.
    THanks in advance.
    Regards.
    Message was edited by:
            David Fryda

    Hi,
    I solve the problem.
    In fact, when I try to write the last line of lt_content, it does write all the line even if this line is not full of data.
    Solution :
      DATA:  lv_file_name(100),
             lt_content LIKE sdokcntbin OCCURS 0 WITH HEADER LINE,
             alen TYPE i,
             pos TYPE i.
      MOVE '\mr0221TestA1.xls' TO lv_file_name.
      OPEN DATASET lv_file_name FOR INPUT IN BINARY MODE.
      IF sy-subrc NE 0.
        EXIT.
      ENDIF.
      SET DATASET lv_file_name POSITION END OF FILE.
      GET DATASET lv_file_name POSITION pos.
      SET DATASET lv_file_name POSITION 0.
      DO.
        CLEAR lt_content.
        READ DATASET lv_file_name INTO lt_content-line ACTUAL LENGTH alen .
        IF sy-subrc NE 0.
          APPEND lt_content.
          EXIT.
        ENDIF.
        APPEND lt_content.
      ENDDO.
      CLOSE DATASET lv_file_name.
    *  DELETE DATASET lv_file_name.
      CLEAR: lv_file_name.
      MOVE '\mr0221TestB2.xls' TO lv_file_name.
      OPEN DATASET lv_file_name FOR OUTPUT IN BINARY MODE.
      IF sy-subrc NE 0.
        EXIT.
      ENDIF.
      LOOP AT lt_content.
        AT LAST.
          TRANSFER lt_content-line TO lv_file_name LENGTH alen.
          EXIT.
        ENDAT.
        TRANSFER lt_content-line TO lv_file_name.
      ENDLOOP.
      CLOSE DATASET lv_file_name.
    Thanks.

  • Problem with custom search help for std SD_DEBI

    Hi,
    I have created a custom zcustom search help and included in std search help SD_DEBI.
    In the custom serach help i have added the fields ktokd and sales area fields(sales org, Disb channel, division).
    now when i goto va01 transaction and hit F4 for sold to party i was able view the KTOKD and sales area fields in the custom tab
    when i select the values from f4 help and hit enter they are not getting displayed in sold to party field.
    when i select only sales area fields from f4 and press enter they are getting displayed in sold to party field.
    problem is with the ktokd field that i have included.
    Any suggestions please let me know

    Hi deepti,
    I think you have missed parameter assignment from your Z append search help to standard search help.
    Select the search help and click on Param Assignment button and assign the refernece parameter(KUNNR) of your
    append search help to std collective search help (KUNNR).
    Thanks,
    Pawan

  • Problems with sort, search and write objects o an ArrayList

    Hi
    Lets say that i have two subclasses (the program is not finished so in the end it can be up to 34 classes) of an abstract superclass. I also got one class which basicly is a register in which i've created an ArrayList of the type <abstractClass>. This means that i store the two subclasses in the arrayList. no problems so far i think (at least eclipse doesn't mind).
    1. now, i want to be able to sort the arrayList aswell as search thorugh it. I've tried Collections.sort(arrayList) but it doesn't work. So i have no idea how to solve that.
    2.The search-method i made doesn't work as good as i hoped for either. I ask the user to first decide what to search for (choose subclass) and then input the same properties as the subclass we search for. I create a new object of the subclass with these inputs and try arrayList.contains(subClassObject)
    it runs but it returns +"false"+ even if i create an object with the exact same properties.
    3. If i want to write this arrayList to a txtFile so i can import it another time. Which is the best method? first i just thought i'd convert the arrayList to string and then print every single object to a textfile as strings. that worked but i have no good idea how to import that into the same arrayList later. Then i found ObjectOutputStream and import using inputStream.nextObject(). But that doesn't work :(
    Any ideas?
    Thank you!
    Anton

    lavalampan wrote:
    Hi
    Lets say that i have two subclasses (the program is not finished so in the end it can be up to 34 classes) of an abstract superclass. I also got one class which basicly is a register in which i've created an ArrayList of the type <abstractClass>. This means that i store the two subclasses in the arrayList. no problems so far i think (at least eclipse doesn't mind).
    1. now, i want to be able to sort the arrayList aswell as search thorugh it. I've tried Collections.sort(arrayList) but it doesn't work. So i have no idea how to solve that. Create a custom comparator.
    >
    2.The search-method i made doesn't work as good as i hoped for either. I ask the user to first decide what to search for (choose subclass) and then input the same properties as the subclass we search for. I create a new object of the subclass with these inputs and try arrayList.contains(subClassObject)
    it runs but it returns +"false"+ even if i create an object with the exact same properties.Implement hashCode and equals.
    >
    3. If i want to write this arrayList to a txtFile so i can import it another time. Which is the best method? first i just thought i'd convert the arrayList to string and then print every single object to a textfile as strings. that worked but i have no good idea how to import that into the same arrayList later. Then i found ObjectOutputStream and import using inputStream.nextObject(). But that doesn't work :(Depends on what your requirement is, but yes, Serialization might work for you. Your classes should in that case implement Serializable.
    Kaj

Maybe you are looking for

  • Can't connect new MacBook to wireless internet

    Just bought a MacBook, but I can't get it to connect to the internet over my wireless network. It picks up the signal, I typed in the password, and Internet Connect says that I am connected. But when I open Safari it just tells me I am not connected.

  • Exporting HDV project for use in Premiere

    Hello All, I have cut a new scene for a film previously edited on Premiere Pro 1.5. The new scene was put together on FCP 5.1 and whenever I export I am left with a file that my PC doesn't recognise. Does anybody have any thoughts on this? Many thank

  • ArchPwn 2.0RC1 released

    We're proud to announce the availability of ArchPwn 2.0RC1. It's an ArchLinux live DVD created for pen-testing purpose. We'd like to ask everyone to boot it and give feedback. There are lot of additions and changes since the 1.0 release, that dates b

  • Help needed: triggering a combo box selection

    I'm new to creating forms in Acrobat (Acrobat 9 on Mac). I'm trying to create a form for my department where a student selects a faculty name from a combo box, and once the value is selected, another field is filled with an int value (course section

  • Dataguard for replication

    Hello there, If I am using external Netapps storage and snapmirror to replicate data to my storage array at the DR site do i still need to use dataguard for log shipping? I am a little confused where both fit. Are they basically both replication tech