ESH_ADM_INDEX_ALL_SC cannot perform initial indexing for all search connectors

Dear SAP Gurus,
We are implementing TREX version 7.10.50 for Talent Management ECC 6.0 - EHP 5.
I'd like to ask you question regarding ESH_ADM_INDEX_ALL_SC program
which used to create search connector for TREX and perform initial indexing for all search connectors.
As we know we can perform indexing using  ESH_COCKPIT transaction code or use ESH_ADM_INDEX_ALL_SC.
If I try to perform indexing using ESH_COCKPIT, all search connectors can be indexed ("searchable" column are "checked" and status are changed to "Active" for all search connectors).
However, if I try to perform indexing using ESH_ADM_INDEX_ALL_SC, not all search connectors are indexed.
I've traced the program ESH_ADM_INDEX_ALL_SC using ST01 transaction code and found these error:
- rscpe__error 32 at rscpu86r.c(6;742) "dest buffer overflow" (,)
- rscpe__error 32 at rscpc   (20;12129) "convert output buffer overflow"
- rscpe__error 128 at rstss01 (1;178) "Object not found"
Please kindly help me to solve this issue,
Thank you very much
Regards,
Bobbi

Hi Luke,
Please find below connectors and the status after running ESH_ADM_INDEX_ALL_SC:
HRTMC AES Documents Prepared
HRTMC AES Elements Prepared
HRTMC AES Templates Prepared
HRTMC Central Person Prepared
HRTMC Functional Area Prepared
HRTMC Job Prepared
HRTMC Job Family Prepared
HRTMC Org Unit Prepared
HRTMC Person Active
HRTMC Position Prepared
HRTMC Qualification Active
HRTMC Relation C JF 450 Active
HRTMC Relation C Q 031 Active
HRTMC Relation CP JF 744 Active
HRTMC Relation CP P 209 Active
HRTMC Relation CP Q 032 Active
HRTMC Relation CP TB 743 Active
HRTMC Relation FN Q 031 Active
HRTMC Relation JF FN 450 Active
HRTMC Relation JF Q 031 Active
HRTMC Relation P Q 032 Active
HRTMC Relation S C 007 Active
HRTMC Relation S CP 740 Active
HRTMC Relation S JF 450 Active
HRTMC Relation S O 003 Active
HRTMC Relation S O Area of Responsibility Active
HRTMC Relation S P 008 Active
HRTMC Relation S Q 031 Active
HRTMC Relation S S Manager Active
HRTMC Relation SC JF FN Active
HRTMC Structural authority Active
HRTMC Talent Group Prepared
As suggested by OSS, we implement SAP Note 1058533.
Kindly need your help.
Thank you very much
Regards
Bobbi

Similar Messages

  • RoboHelp HTML Version 10, Why has my CHM search stopped working? I get "no results found" for all searches.

    RoboHelp HTML Version 10,
    Why has my CHM search stopped working? I get "no results found" for all searches...........rob

    Likely you need to re-register some DLLs and recompile.
    Click the link below and follow the information you find there.
    Click here
    Cheers... Rick

  • Performance Problems with "For all Entries" and a big internal table

    We have big Performance Problems with following Statement:
    SELECT * FROM zeedmt_zmon INTO TABLE gt_zmon_help
      FOR ALL ENTRIES IN gt_zmon_help
        WHERE
        status = 'IAI200' AND
        logdat IN gs_dat AND
        ztrack = gt_zmon_help-ztrack.
    In the internal table gt_zmon_help are over 1000000 entries.
    Anyone an Idea how to improve the Performance?
    Thank you!

    >
    Matthias Weisensel wrote:
    > We have big Performance Problems with following Statement:
    >
    >  
    SELECT * FROM zeedmt_zmon INTO TABLE gt_zmon_help
    >   FOR ALL ENTRIES IN gt_zmon_help
    >     WHERE
    >     status = 'IAI200' AND
    >     logdat IN gs_dat AND
    >     ztrack = gt_zmon_help-ztrack.
    >
    > In the internal table gt_zmon_help are over 1000000 entries.
    > Anyone an Idea how to improve the Performance?
    >
    > Thank you!
    You can't expect miracles.  With over a million entries in your itab any select is going to take a bit of time. Do you really need all these records in the itab?  How many records is the select bringing back?  I'm assuming that you have got and are using indexes on your ZEEDMT_ZMON table. 
    In this situation, I'd first of all try to think of another way of running the query and restricting the amount of data, but if this were not possible I'd just run it in the background and accept that it is going to take a long time.

  • Configuring Browsing Indexes for Service Search Descriptor Filters

    I am running DSEE 6.1 on Solaris 10.
    I restrict access to the ldap clients (solaris8, 9, and 10) for various users in the Directory by configuring the service search descriptors to use a filter based on specific roles. Each servers profile mentions a role depending on type of server and then users are assigned roles which are nested within specific server type roles:
    NS_LDAP_SERVICE_SEARCH_DESC= passwd:ou=People,dc=example,dc=com?one?nsrole=cn=serverRole,ou=profile,dc=example,dc=com
    NS_LDAP_SERVICE_SEARCH_DESC= group:ou=group,dc=example,dc=com?one
    NS_LDAP_SERVICE_SEARCH_DESC= audit_user:ou=People,dc=example,dc=com?one?nsrole=cn=serverRole,ou=profile,dc=example,dc=com
    NS_LDAP_SERVICE_SEARCH_DESC= shadow:ou=People,dc=example,dc=com?one?nsrole=cn=serverRole,ou=profile,dc=example,dc=com
    NS_LDAP_SERVICE_SEARCH_DESC= user_attr:ou=People,dc=example,dc=com?one?nsrole=cn=serverRole,ou=profile,dc=example,dc=com
    I have noticed in my error logs on the Directory servers messages regarding these filters not being indexed:
    WARNING<20805> - Backend Database - conn=949139 op=1 msgId=2 - search is not indexed base='ou=people,dc=example,dc=com' filter='(nsRole=cn=serverRole,ou=profile,dc=example,dc=com)' scope='one'
    I have also had a few instances where the naming services seems to have stopped altogether. This seems to be timed with when my clients do a refresh of the ldap cache - which is the time that I seed the not indexed messages in the error log.
    I guess that I need to set up Browsing Indexes for these filters
    Can anyone give examples how to do this?
    I guess I will need a vlvBase of ou=people,dc=example,dc=com
    vlvScope of 1
    vlvFilter of nsRole=cn=serverRole,ou=profile,dc=example,dc=com
    I am not sure what I would do for vlvsort attributes though??

    The access logs shows that the attributes to be sorted are uid and cn:
    25/Apr/2008:09:58:21 +1200] conn=171835 op=1 msgId=2 - SRCH base="ou=people,dc=example,dc=com" scope=1 filter="(nsRole=cn=serverRole,ou=profile,dc=example,dc=com)" attrs="cn uid uidNumber gidNumber gecos description homeDirectory loginShell"
    [25/Apr/2008:09:58:21 +1200] conn=171835 op=1 msgId=2 - SORT cn uid (1426)
    [25/Apr/2008:09:58:21 +1200] conn=171835 op=1 msgId=2 - VLV 0:999:0:0 1:1426 (0)
    [25/Apr/2008:09:58:26 +1200] conn=171835 op=1 msgId=2 - RESULT err=0 tag=101 nentries=999 etime=5 notes=U
    So the vlvsort attributes should be cn and uid.

  • Cannot disable compatibility mode for all users once enabled

    I work for a school district technology department. For a computer lab that is using an old version of adobe Photoshop, we tried turning compatibility mode to windows xp and set it to run as administrator for all users in hopes that it might fix some problems
    with the program. When students log on it now asks them for a password. They do not have local administrator rights to the computers. After going back in and disabling the compatibility settings, the students are still being asked for a password to run the
    program. I have even tried uninstalling and reinstalling photoshop and the computer is still asking for a password to open the program. Is there some way to undo this in a permanent fashion so students are not asked for a pssword?

    Hello Mike Witnauer,
    Please correct me if I have misunderstanding:
    1. The student account can ran the Photoshop without administrator password before you turn compatibility mode to Windows XP.
    2. Then, the students need the password to run the Photoshop no matter if you use compatible setting.
    Please take the following steps and check if this issue still exists.
    1. Enable built-in administrator account
    2. Use the following code
     runas /user:ComputerName\Administrator /savecred "Full path to program's exe file"
    For more information, please take a look at the answer in the following thread.
    How to run a program as an administrator from within a non-elevated command prompt?
    https://social.technet.microsoft.com/Forums/en-US/0339772f-9f9b-4381-b513-73b263e2cf2f/how-to-run-a-program-as-an-administrator-from-within-a-nonelevated-command-prompt?forum=w7itprogeneral
    Best regards,
    Fangzhou CHEN
    Fangzhou CHEN
    TechNet Community Support

  • Full text PDF indexing for website search?

    Hi.  We run a couple of websites on CQ5.5 and are trying to get the PDF files we refer to in the DAM to show in search results that users conduct on our sites.  I've seen a number of references that imply that full text searching of PDFs is possible.  For example:
    http://dev.day.com/docs/en/crx/current/developing/searching_in_crx.html#Full-Text%20Extrac tion
    But thus far I've not been able to figure out what I must do to get it working.  I had expected that if this were possible to do, then it would have worked with the Geometrixx demo site.  It did not.
    Am I chasing my tail here, or is there actually a way to get this done?  If it's possible, links to documentation on how to configure indexing_config.xml and any other required files would be greatly appreciated.
    Thanks.

    Laurent,
    We never got a definitive answer, but we have suspicions that it was due to having upgraded from CQ 5.4 to 5.5.  It seems that the libraries used for the indexing changed during that version upgrade.  When I took our application and installed it on a pristine 5.5 installation, the PDF indexing worked.  It was only our existing installations (two staging, two production) that did not work.  So at least we know it's not our application or CQ in general.
    Sadly, we don't have the resources to rebuild our servers, and we also ran into a separate problem that would prevent us from using the indexing anyway.  It seems that there is no way to prevent cross-site results if you have multiple sites on the same CQ install and they each have their own sections in the DAM where the PDF files are stored.  Would take some custom code to get around the issue, it seems.
    For example, you have site A and site B.
    /content/a  <- Main site A content for pages
    /content/b
    /content/dam/a <- Site A's files in the DAM
    /content/dam/b
    There is no stock way, that I am aware of, to keep searches on site A from turning up PDF results from /content/dam/b (for site B), and vice versa.  That's enough to keep us from using it - a total deal breaker.

  • Search response returning 100 items for all searches

    Hi,
    In ATG 10 Search, I see wierd behavior while displaying the value of FacetSearchTools.searchResponse.
    Case #1 : total no. of products < 100 , responseCount = correct value AND all products displayed by paginating
    Case #2 : total no. of products > 100 , responseCount = 100 AND only 100 products listed in the pagination
    In the below XML total items is 617 but responseCount=100.(Sending the part of XML due to limited characters)
    Any guess on this issue?
    Thanks in advance!
    Mani
    <answer printer="Java" contentID="ec58cd16-eb6c-44a1-8e93-cf4c3ba5a4e8" id="0004670052" time="1340746281659" sorting="property" sortProp="string:$repositoryId:1" docSetSort="none" mode="and" strategy="normal" refineMax="50" refineMin="0" refineMinVal="2" refineTop="500" refineDebug="true" autospell="true" highlight="false" minScore="0" pageNum="0" pageSize="15" maxRelatedSets="0" docSort="relevance" docSortOrder="descending" docSortCase="true" docSortPropVal="first" responseCount="100" groupCount="100" docCand="738" docMax="754" docMin="754" ansCand="4737" ansMax="5203" ansMin="5203" ansPool="500"> <question>maps</question> <userquestion>maps</userquestion> <info>unknown rank config: cfg7004|</info> <documentSets> <and> <or name="base"> <and> <strprop name="catalogs.$repositoryId" op="equal" case="true">masterCatalog</strprop> <strprop name="catalogs.$repositoryId" op="equal" case="true">masterCatalog</strprop> </and> </or> <or name="refinement"> <numprop name="isSearchable" op="equal">1.0</numprop> </or> </and> </documentSets> <spelling> <term text="maps" offset="1" length="4"></term> </spelling> <parserOptions> <language>english</language> <propertyMapping>price,childSKUs.price@salePrices,childSKUs.price@listPrices</propertyMapping> </parserOptions> <response contentID="ec58cd16-eb6c-44a1-8e93-cf4c3ba5a4e8" score="995.0" id="0" answerGroup="1" type="ANCESTORCATEGORIES.DISPLAYNAME" field="17" sortprop="1020300"> <text score="99.49" name="ANCESTORCATEGORIES.DISPLAYNAME" goto="466">Maps</text> <document contextID="352:466.470" contentID="ec58cd16-eb6c-44a1-8e93-cf4c3ba5a4e8" goto="466" hdoc="352" size="0" docset="/Solutions"> <_url>atgrep:/CustomProductCatalog/product/1020300?catalog=masterCatalog&amp;locale=en_US</_url> <timestamp>0</timestamp> <properties> <meta name="$itemDescriptor.itemDescriptorName" content="product"></meta> <meta name="$repository.repositoryName" content="CustomProductCatalog"></meta> <meta name="$repositoryId" content="1020300"></meta> </properties> </document> </response> <response contentID="ec58cd16-eb6c-44a1-8e93-cf4c3ba5a4e8" score="995.0" id="1" answerGroup="2" type="ANCESTORCATEGORIES.DISPLAYNAME" field="18" sortprop="315"> <text score="99.49" name="ANCESTORCATEGORIES.DISPLAYNAME" goto="609">Maps</text> <document contextID="1377:609.613" contentID="ec58cd16-eb6c-44a1-8e93-cf4c3ba5a4e8" goto="609" hdoc="1377" size="0" docset="/Solutions"> <_url>atgrep:/CustomProductCatalog/product/315?catalog=masterCatalog&amp;locale=en_US</_url> <timestamp>0</timestamp> <properties> <meta name="$itemDescriptor.itemDescriptorName" content="product"></meta> <meta name="$repository.repositoryName" content="CustomProductCatalog"></meta> <meta name="$repositoryId" content="315"></meta> </properties> </document> </response> <response contentID="ec58cd16-eb6c-44a1-8e93-cf4c3ba5a4e8" score="995.0" id="2" answerGroup="3" type="ANCESTORCATEGORIES.DISPLAYNAME" field="19" sortprop="810"> <text score="99.48" name="ANCESTORCATEGORIES.DISPLAYNAME" goto="631">Maps</text> <document contextID="2709:631.635" contentID="ec58cd16-eb6c-44a1-8e93-cf4c3ba5a4e8" goto="631" hdoc="2709" size="0" docset="/Solutions"> <_url>atgrep:/CustomProductCatalog/product/810?catalog=masterCatalog&amp;locale=en_US</_url> <timestamp>0</timestamp> <properties> <meta name="$itemDescriptor.itemDescriptorName" content="product"></meta> <meta name="$repository.repositoryName" content="CustomProductCatalog"></meta> <meta name="$repositoryId" content="810"></meta> </properties> </document> </response> <response contentID="ec58cd16-eb6c-44a1-8e93-cf4c3ba5a4e8" score="995.0" id="3" answerGroup="4" type="ANCESTORCATEGORIES.DISPLAYNAME" field="20" sortprop="1023051"> <text score="99.48" name="ANCESTORCATEGORIES.DISPLAYNAME" goto="578">Maps</text> <document contextID="2735:578.582" contentID="ec58cd16-eb6c-44a1-8e93-cf4c3ba5a4e8" goto="578" hdoc="2735" size="0" docset="/Solutions"> <_url>atgrep:/CustomProductCatalog/product/1023051?catalog=masterCatalog&amp;locale=en_US</_url> <timestamp>0</timestamp> <properties> <meta name="$itemDescriptor.itemDescriptorName" content="product"></meta> <meta name="$repository.repositoryName" content="CustomProductCatalog"></meta> <meta name="$repositoryId" content="1023051"></meta> </properties> </document> </response> <response contentID="ec58cd16-eb6c-44a1-8e93-cf4c3ba5a4e8" score="995.0" id="4" answerGroup="5" type="ANCESTORCATEGORIES.DISPLAYNAME" field="21" sortprop="1020339"> <text score="99.48" name="ANCESTORCATEGORIES.DISPLAYNAME" goto="674">Maps</text> <document contextID="506:674.678" contentID="ec58cd16-eb6c-44a1-8e93-cf4c3ba5a4e8" goto="674" hdoc="506" size="0" docset="/Solutions"> <_url>atgrep:/CustomProductCatalog/product/1020339?catalog=masterCatalog&amp;locale=en_US</_url> <timestamp>0</timestamp> <properties> <meta name="$itemDescriptor.itemDescriptorName" content="product"></meta> <meta name="$repository.repositoryName" content="CustomProductCatalog"></meta> <meta name="$repositoryId" content="1020339"></meta> </properties> </document> </response> <response contentID="ec58cd16-eb6c-44a1-8e93-cf4c3ba5a4e8" score="995.0" id="5" answerGroup="6" type="ANCESTORCATEGORIES.DISPLAYNAME" field="21" sortprop="1074529"> <text score="99.47" name="ANCESTORCATEGORIES.DISPLAYNAME" goto="680">Maps</text> <document contextID="1198:680.684" contentID="ec58cd16-eb6c-44a1-8e93-cf4c3ba5a4e8" goto="680" hdoc="1198" size="0" docset="/Solutions"> <_url>atgrep:/CustomProductCatalog/product/1074529?catalog=masterCatalog&amp;locale=en_US</_url> <timestamp>0</timestamp> <properties> <meta name="$itemDescriptor.itemDescriptorName" content="product"></meta> <meta name="$repository.repositoryName" content="CustomProductCatalog"></meta> <meta name="$repositoryId" content="1074529"></meta> </properties> </document> </response> <response contentID="ec58cd16-eb6c-44a1-8e93-cf4c3ba5a4e8" score="995.0" id="6" answerGroup="7" type="ANCESTORCATEGORIES.DISPLAYNAME" field="17" sortprop="1072016"> <text score="99.47" name="ANCESTORCATEGORIES.DISPLAYNAME" goto="455">Maps</text> <document contextID="2737:455.459" contentID="ec58cd16-eb6c-44a1-8e93-cf4c3ba5a4e8" goto="455" hdoc="2737" size="0" docset="/Solutions"> <_url>atgrep:/CustomProductCatalog/product/1072016?catalog=masterCatalog&amp;locale=en_US</_url> <timestamp>0</timestamp> <properties> <meta name="$itemDescriptor.itemDescriptorName" content="product"></meta> <meta name="$repository.repositoryName" content="CustomProductCatalog"></meta> <meta name="$repositoryId" content="1072016"></meta> </properties> </document> </response>
    .

    The search server returns the results in the form of groups. You can notice the groupCount value in the xml is set to 100. The value of the groupCount is determined by setting the responseNumberSettings property in the QueryRequest component.
    responseNumberSettings=\
    prop=100,\
    perProp=1,\
    doc=100,\
    perDoc=1
    You can notice here that the value of the doc property is set to 100. It indicates maximum number of document result groups to return. I believe this is the reason why you are only seeing 100 results though the total number of products are more. You can tweak this property in the QueryRequest component and try.
    <ATGDir>\DCS\Search\Query\config\config\atg\commerce\search\catalog\QueryRequest.properties.

  • Search index for UTF8

    How i can organize search index for the varchar2 field in the table, when the coding page of the database is UTF8 ?

    There are 2 ways to build linguistic indexes for data in multiple languages.
    1. Build a linguistic index for each language which the application needs to support. This approach offers simplicity but requires more disk space. For each index, the rows in the language other than the one on which the index is built are collated together at the end of the sequence. The following example builds linguistic indexes for French and German.
    CREATE INDEX french_index ON emp (NLSSORT(emp_name, 'NLS_SORT=FRENCH'));
    CREATE INDEX german_index ON emp (NLSSORT(emp_name, 'NLS_SORT=GERMAN'));
    Which index to use is based on the NLS_SORT session parameters or the arguments of the NLSSORT function you specified in the ORDER BY clause. For example, if the session variable NLS_SORT is set to FRENCH, you can use french_index and when it is set to GERMAN, you can use german_index.
    2. Build a single linguistic index for all languages. This can be accomplished by
    including a language column (LANG_COL in the example below) that contains NLS_LANGUAGE values for the corresponding column on which the index is built as a parameter to the NLSSORT function. The following example builds a single linguistic index for multiple languages. With this index, the rows with
    the same values for NLS_LANGUAGE are collated together.
    CREATE INDEX i ON t (NLSSORT(col, 'NLS_SORT=' &#0124; &#0124; LANG_COL));
    Which index to use is based on the argument of the NLSSORT function you specified in the ORDER BY clause.

  • For all entries against Ranges

    Hi,
    I have a question regarding a Select query where I have to select some data and then store it in table and refer it for the 2nd Select.
    eg: Select from table 1
          into itab1.
        select from table 2
       into itab2
       for all entries in itab1.
    My question is should I use a Range for the 1st select instead of an itab.The itab1 will be containing max 50 records.
    The problem with for all entries is that I cannot use 'UP TO ROWS' as it only deletes extra entries at application level and not database level. I will be selecting 1000 rows even if I want only 100 rows.
    Please let me know ur views

    From a performance perspective ranges perform better than FOR ALL ENTRIES however the number of records you can use in your range is limited. You will get a run time dump if your range size increases beyond the allowable. If you are very confident that you have not more than 50 entries in your range, I would recommend that you use the range instead of FOR ALL ENTRIES.
    An even better option would be to use a join of two tables. If you can provide specifics I could help you further.

  • Regarding SELECT FOR ALL ENTRIES AND DELETE ADJACENT DUPLICATES

    Hi,
    i got few doubts.....
        1) Is it necessary to DELETE ADJACENT DUPLICATES when we perform a SELECT FOR ALL ENTRIES ? because for all entries itself eliminates the duplicate entries?
       2) Wat Sy-subrc returns after a SELECT FOR ALL ENTRIES statement?
       I found some code where these are used
               SORT ITAB[] BY NEWKO[].
              DELETE ADJACENT DUPLICATES FORM ITAB[].
      SELECT buknr
                   kunnr
    FORM KNB1
        into table ITAB_KNB1
      FOR ALL ENTRIES IN ITAB
        where kunnr eq itab-newko.
    Regards.
    Maehsh.

    Hi Mahesh,
    To be more specific, first you should delete "adjacent duplicates" using the sorting key ( here : NEWKO ), if Itab contains other fields.
    SORT ITAB[] BY NEWKO[].
    DELETE ADJACENT DUPLICATES FORM ITAB COMPARING NEWKO.
    You can delete or not the duplicates, but, you must know that if you don't delete them in the Itab, you will retrieve them in the ITAB_KNB1.
    Concerning the return code, it works like for the "SELECT"  ( 0 = entries found / 4 = no entrie found )
    => One more thing, it's better check :
    Check not ITab[] is initial
    because, if the Itab is empty, you'll retrieve all the record of KNB1 !
    Hope this helps,
    Erwan.
    Message was edited by:
            Erwan LE BRUN

  • Multi-column Index vs One index for each column

    Hello everyone,
    i have one table about 20 000 000 rows, some developers have to generate reports on it and i want to create indexes on this table.
    The table has 34 columns, no primary key, no unique keys.
    The "where..." clause of the reports usually use 8 columns but some reports uses 8 + some other columns.
    can any one help me on what kind of indexes do i have to create?
    1. one index for each column used in "where clause"
    2. one index for 8 columns and some other indexes for other used columns
    3. one index for all columns
    or something else etc...
    br flag

    i have one table about 20 000 000 rows, some developers have to generate reports on it and i want to create indexes on this table.
    The table has 34 columns, no primary key, no unique keys.
    The "where..." clause of the reports usually use 8 columns but some reports uses 8 + some other columns.
    can any one help me on what kind of indexes do i have to create?
    1. one index for each column used in "where clause"
    2. one index for 8 columns and some other indexes for other used columns
    3. one index for all columns
    or something else etc...What's the version of your data base? what kind of database you have, DWH or OTLP? The answer might depend on the type of database as far as bitmap indexes might suit or might not depending if you are runing DWH or OLTP kind of database
    Let me suppose that you are runing OLTP database and you have a where clause with 8 columns.
    1) are all those where clause equalities (where col1 = and col2 =) or there are inequalities?
    2) could you evaluate the most repetitive columns?
    3) could you know the column that could have the best clustering factor (the column which most follow a certain order in the table)
    Based on that I would suggest to create one b-tree index having 8 columns (even though that it seems for me to high) this index should follow the following points:
    1) put the most repetitive column at the leading edge (and compress the index if necessary)
    2) put the columns that are used in equalitity predicate first
    3) put the column having the best clustering factor first
    The most precise index you have the best access you could gain.
    Of course that you have to know that an index access is not always good and a FULL table scan is not always bad.
    Best regards
    Mohamed Houri
    www.hourim.wordpress.com

  • Is it not recommended to use FOR ALL ENTRIES in version 4.5B

    Hi,
    Is it not recommended to used For all entries in version 4.5B as  Size limit for SQL is 32KB hence we should not be using FOR ALL ENTRIES, instead of this we should be using select inside the loop?
    Can anyone please let me know if this is correct and if you can provide me the SAP documentation on the specific statement.
    Regards
    Ria

    Hi Ria,
    From what I understand, you cannot use JOINS with FOR ALL ENTRIES in 4.5b & lower versions. In general the SELECT..FOR ALL ENTRIES statement has been in use from 3.1i versions. For more information, PL take a look at OSS Note #652634.
    Regards,
    Suresh Datti

  • Exchange 2013 - Location for SMTP Receive Connector verbose logs

    So I'm trying to troubleshoot a relay failure:
    + 1415809433 51000008 Wed Nov 12 11:23:53 2014
    F:[email protected]
    T:[email protected]
    A:c:\v1\temp\200046.pdf
    S:Sales Order Number  200046
    ! Error in SMTP conversation:
      550 5.7.1 Unable to relay
      dbmailsend error 8 (Error in SMTP conversation).
    ! Command-line dump follows (delimited by colons):
      [0]:c:\v1\dbmail\bin\dbmailsend:
      [1]:-vv:
      [2]:-a:
      [3]:c:\v1\temp\200046.pdf:
      [4]:-s:
      [5]:Sales Order Number  200046:
      [6]:-t:
      [7]:[email protected]
      [8]:-r:
      [9]:[email protected]
      [10]:-h:
      [11]:C:\Users\sagert\AppData\Local\Temp\dbf72A3.tmp:
    ! Error in SMTP conversation:
      451 4.7.0 Temporary server error. Please try again later. PRX5
      dbmailsend error 8 (Error in SMTP conversation).
    ! Unable to send report to administrator.
    Note the SMTP Converstion error, I've done the steps in this forum article:
    https://social.technet.microsoft.com/Forums/fr-FR/fc26dac5-d4e2-49da-903d-361ea8b85388/451-470-temporary-server-error-please-try-again-later-prx5?forum=exchangesvrgeneral
    but the issue still exists... so I need to review my Exchange logs for this relay (I've enabled verbose logging on the specific receive connector this should be using)

    Fromhttp://technet.microsoft.com/en-us/library/bb125140(v=exchg.150).aspx
    Set-ReceiveConnector
    The location of the Receive connector protocol logs for all Receive connectors configured in the Transport service on a Mailbox server or an Edge server is specified by using the Set-TransportService cmdlet with the ReceiveProtocolLogPath parameter.
    Run a get-transportservice|fl *logpath* and that should get you what you need.

  • Doubt regarding FOR ALL ENTRIES and INDEXES

    Hi iam Aslam ..
    and i have a  doubt  ..regrding .. .
    1)   what are  the  disadvs of using FOR ALL ENTRIES
    2)  what are the disadvs of using INDEXES
    3)    what is the  disadvs of  using  Binary search ..
    4) . how can u do performance tuning ...if u have    more than one SELECT  statements  between ... Loop and Endloop .......
    please answer to these   questions   or  reply me to [email protected] ..
    thanks  in advance ..
    bye

    HI
    <b>1) what are the disadvs of using FOR ALL ENTRIES</b>
    if there is no data available for you condition mentioned in the where condition then it will retrive all the data from the database table , which we don't want , but we can solve that easily
    Ways of Performance Tuning
    1.     Selection Criteria
    2.     Select Statements
    •     Select Queries
    •     SQL Interface
    •     Aggregate Functions
    •     For all Entries
    Select Over more than one Internal table
    Selection Criteria
    1.     Restrict the data to the selection criteria itself, rather than filtering it out using the ABAP code using CHECK statement. 
    2.     Select with selection list.
    Points # 1/2
    SELECT * FROM SBOOK INTO SBOOK_WA.
      CHECK: SBOOK_WA-CARRID = 'LH' AND
             SBOOK_WA-CONNID = '0400'.
    ENDSELECT.
    The above code can be much more optimized by the code written below which avoids CHECK, selects with selection list
    SELECT  CARRID CONNID FLDATE BOOKID FROM SBOOK INTO TABLE T_SBOOK
      WHERE SBOOK_WA-CARRID = 'LH' AND
                  SBOOK_WA-CONNID = '0400'.
    Select Statements   Select Queries
    1.     Avoid nested selects
    2.     Select all the records in a single shot using into table clause of select statement rather than to use Append statements.
    3.     When a base table has multiple indices, the where clause should be in the order of the index, either a primary or a secondary index.
    4.     For testing existence , use Select.. Up to 1 rows statement instead of a Select-Endselect-loop with an Exit. 
    5.     Use Select Single if all primary key fields are supplied in the Where condition .
    Point # 1
    SELECT * FROM EKKO INTO EKKO_WA.
      SELECT * FROM EKAN INTO EKAN_WA
          WHERE EBELN = EKKO_WA-EBELN.
      ENDSELECT.
    ENDSELECT.
    The above code can be much more optimized by the code written below.
    SELECT PF1 PF2 FF3 FF4 INTO TABLE ITAB
        FROM EKKO AS P INNER JOIN EKAN AS F
          ON PEBELN = FEBELN.
    Note: A simple SELECT loop is a single database access whose result is passed to the ABAP program line by line. Nested SELECT loops mean that the number of accesses in the inner loop is multiplied by the number of accesses in the outer loop. One should therefore use nested SELECT loops  only if the selection in the outer loop contains very few lines or the outer loop is a SELECT SINGLE statement.
    Point # 2
    SELECT * FROM SBOOK INTO SBOOK_WA.
      CHECK: SBOOK_WA-CARRID = 'LH' AND
             SBOOK_WA-CONNID = '0400'.
    ENDSELECT.
    The above code can be much more optimized by the code written below which avoids CHECK, selects with selection list and puts the data in one shot using into table
    SELECT  CARRID CONNID FLDATE BOOKID FROM SBOOK INTO TABLE T_SBOOK
      WHERE SBOOK_WA-CARRID = 'LH' AND
                  SBOOK_WA-CONNID = '0400'.
    Point # 3
    To choose an index, the optimizer checks the field names specified in the where clause and then uses an index that has the same order of the fields . In certain scenarios, it is advisable to check whether a new index can speed up the performance of a program. This will come handy in programs that access data from the finance tables.
    Point # 4
    SELECT * FROM SBOOK INTO SBOOK_WA
      UP TO 1 ROWS
      WHERE CARRID = 'LH'.
    ENDSELECT.
    The above code is more optimized as compared to the code mentioned below for testing existence of a record.
    SELECT * FROM SBOOK INTO SBOOK_WA
        WHERE CARRID = 'LH'.
      EXIT.
    ENDSELECT.
    Point # 5
    If all primary key fields are supplied in the Where condition you can even use Select Single.
    Select Single requires one communication with the database system, whereas Select-Endselect needs two.
    Select Statements           contd..  SQL Interface
    1.     Use column updates instead of single-row updates
    to update your database tables.
    2.     For all frequently used Select statements, try to use an index.
    3.     Using buffered tables improves the performance considerably.
    Point # 1
    SELECT * FROM SFLIGHT INTO SFLIGHT_WA.
      SFLIGHT_WA-SEATSOCC =
        SFLIGHT_WA-SEATSOCC - 1.
      UPDATE SFLIGHT FROM SFLIGHT_WA.
    ENDSELECT.
    The above mentioned code can be more optimized by using the following code
    UPDATE SFLIGHT
           SET SEATSOCC = SEATSOCC - 1.
    Point # 2
    SELECT * FROM SBOOK CLIENT SPECIFIED INTO SBOOK_WA
      WHERE CARRID = 'LH'
        AND CONNID = '0400'.
    ENDSELECT.
    The above mentioned code can be more optimized by using the following code
    SELECT * FROM SBOOK CLIENT SPECIFIED INTO SBOOK_WA
      WHERE MANDT IN ( SELECT MANDT FROM T000 )
        AND CARRID = 'LH'
        AND CONNID = '0400'.
    ENDSELECT.
    Point # 3
    Bypassing the buffer increases the network considerably
    SELECT SINGLE * FROM T100 INTO T100_WA
      BYPASSING BUFFER
      WHERE     SPRSL = 'D'
            AND ARBGB = '00'
            AND MSGNR = '999'.
    The above mentioned code can be more optimized by using the following code
    SELECT SINGLE * FROM T100  INTO T100_WA
      WHERE     SPRSL = 'D'
            AND ARBGB = '00'
            AND MSGNR = '999'.
    Select Statements       contd…           Aggregate Functions
    •     If you want to find the maximum, minimum, sum and average value or the count of a database column, use a select list with aggregate functions instead of computing the aggregates yourself.
    Some of the Aggregate functions allowed in SAP are  MAX, MIN, AVG, SUM, COUNT, COUNT( * )
    Consider the following extract.
                Maxno = 0.
                Select * from zflight where airln = ‘LF’ and cntry = ‘IN’.
                 Check zflight-fligh > maxno.
                 Maxno = zflight-fligh.
                Endselect.
    The  above mentioned code can be much more optimized by using the following code.
    Select max( fligh ) from zflight into maxno where airln = ‘LF’ and cntry = ‘IN’.
    Select Statements    contd…For All Entries
    •     The for all entries creates a where clause, where all the entries in the driver table are combined with OR. If the number of entries in the driver table is larger than rsdb/max_blocking_factor, several similar SQL statements are executed to limit the length of the WHERE clause.
         The plus
    •     Large amount of data
    •     Mixing processing and reading of data
    •     Fast internal reprocessing of data
    •     Fast
         The Minus
    •     Difficult to program/understand
    •     Memory could be critical (use FREE or PACKAGE size)
    Points to be must considered FOR ALL ENTRIES
    •     Check that data is present in the driver table
    •     Sorting the driver table
    •     Removing duplicates from the driver table
    Consider the following piece of extract
    Loop at int_cntry.
           Select single * from zfligh into int_fligh
    where cntry = int_cntry-cntry.
    Append int_fligh.
    Endloop.
    The above mentioned can be more optimized by using the following code.
    Sort int_cntry by cntry.
    Delete adjacent duplicates from int_cntry.
    If NOT int_cntry[] is INITIAL.
                Select * from zfligh appending table int_fligh
                For all entries in int_cntry
                Where cntry = int_cntry-cntry.
    Endif.
    Select Statements    contd…  Select Over more than one Internal table
    1.     Its better to use a views instead of nested Select statements.
    2.     To read data from several logically connected tables use a join instead of nested Select statements. Joins are preferred only if all the primary key are available in WHERE clause for the tables that are joined. If the primary keys are not provided in join the Joining of tables itself takes time.
    3.     Instead of using nested Select loops it is often better to use subqueries.
    Point # 1
    SELECT * FROM DD01L INTO DD01L_WA
      WHERE DOMNAME LIKE 'CHAR%'
            AND AS4LOCAL = 'A'.
      SELECT SINGLE * FROM DD01T INTO DD01T_WA
        WHERE   DOMNAME    = DD01L_WA-DOMNAME
            AND AS4LOCAL   = 'A'
            AND AS4VERS    = DD01L_WA-AS4VERS
            AND DDLANGUAGE = SY-LANGU.
    ENDSELECT.
    The above code can be more optimized by extracting all the data from view DD01V_WA
    SELECT * FROM DD01V INTO  DD01V_WA
      WHERE DOMNAME LIKE 'CHAR%'
            AND DDLANGUAGE = SY-LANGU.
    ENDSELECT
    Point # 2
    SELECT * FROM EKKO INTO EKKO_WA.
      SELECT * FROM EKAN INTO EKAN_WA
          WHERE EBELN = EKKO_WA-EBELN.
      ENDSELECT.
    ENDSELECT.
    The above code can be much more optimized by the code written below.
    SELECT PF1 PF2 FF3 FF4 INTO TABLE ITAB
        FROM EKKO AS P INNER JOIN EKAN AS F
          ON PEBELN = FEBELN.
    Point # 3
    SELECT * FROM SPFLI
      INTO TABLE T_SPFLI
      WHERE CITYFROM = 'FRANKFURT'
        AND CITYTO = 'NEW YORK'.
    SELECT * FROM SFLIGHT AS F
        INTO SFLIGHT_WA
        FOR ALL ENTRIES IN T_SPFLI
        WHERE SEATSOCC < F~SEATSMAX
          AND CARRID = T_SPFLI-CARRID
          AND CONNID = T_SPFLI-CONNID
          AND FLDATE BETWEEN '19990101' AND '19990331'.
    ENDSELECT.
    The above mentioned code can be even more optimized by using subqueries instead of for all entries.
    SELECT * FROM SFLIGHT AS F INTO SFLIGHT_WA
        WHERE SEATSOCC < F~SEATSMAX
          AND EXISTS ( SELECT * FROM SPFLI
                         WHERE CARRID = F~CARRID
                           AND CONNID = F~CONNID
                           AND CITYFROM = 'FRANKFURT'
                           AND CITYTO = 'NEW YORK' )
          AND FLDATE BETWEEN '19990101' AND '19990331'.
    ENDSELECT.
    1.     Table operations should be done using explicit work areas rather than via header lines.
    2.     Always try to use binary search instead of linear search. But don’t forget to sort your internal table before that.
    3.     A dynamic key access is slower than a static one, since the key specification must be evaluated at runtime.
    4.     A binary search using secondary index takes considerably less time.
    5.     LOOP ... WHERE is faster than LOOP/CHECK because LOOP ... WHERE evaluates the specified condition internally.
    6.     Modifying selected components using “ MODIFY itab …TRANSPORTING f1 f2.. “ accelerates the task of updating  a line of an internal table.
    Point # 2
    READ TABLE ITAB INTO WA WITH KEY K = 'X‘ BINARY SEARCH.
    IS MUCH FASTER THAN USING
    READ TABLE ITAB INTO WA WITH KEY K = 'X'.
    If TAB has n entries, linear search runs in O( n ) time, whereas binary search takes only O( log2( n ) ).
    Point # 3
    READ TABLE ITAB INTO WA WITH KEY K = 'X'. IS FASTER THAN USING
    READ TABLE ITAB INTO WA WITH KEY (NAME) = 'X'.
    Point # 5
    LOOP AT ITAB INTO WA WHERE K = 'X'.
    ENDLOOP.
    The above code is much faster than using
    LOOP AT ITAB INTO WA.
      CHECK WA-K = 'X'.
    ENDLOOP.
    Point # 6
    WA-DATE = SY-DATUM.
    MODIFY ITAB FROM WA INDEX 1 TRANSPORTING DATE.
    The above code is more optimized as compared to
    WA-DATE = SY-DATUM.
    MODIFY ITAB FROM WA INDEX 1.
    7.     Accessing the table entries directly in a "LOOP ... ASSIGNING ..." accelerates the task of updating a set of lines of an internal table considerably
    8.    If collect semantics is required, it is always better to use to COLLECT rather than READ BINARY and then ADD.
    9.    "APPEND LINES OF itab1 TO itab2" accelerates the task of appending a table to another table considerably as compared to “ LOOP-APPEND-ENDLOOP.”
    10.   “DELETE ADJACENT DUPLICATES“ accelerates the task of deleting duplicate entries considerably as compared to “ READ-LOOP-DELETE-ENDLOOP”.
    11.   "DELETE itab FROM ... TO ..." accelerates the task of deleting a sequence of lines considerably as compared to “  DO -DELETE-ENDDO”.
    Point # 7
    Modifying selected components only makes the program faster as compared to Modifying all lines completely.
    e.g,
    LOOP AT ITAB ASSIGNING <WA>.
      I = SY-TABIX MOD 2.
      IF I = 0.
        <WA>-FLAG = 'X'.
      ENDIF.
    ENDLOOP.
    The above code works faster as compared to
    LOOP AT ITAB INTO WA.
      I = SY-TABIX MOD 2.
      IF I = 0.
        WA-FLAG = 'X'.
        MODIFY ITAB FROM WA.
      ENDIF.
    ENDLOOP.
    Point # 8
    LOOP AT ITAB1 INTO WA1.
      READ TABLE ITAB2 INTO WA2 WITH KEY K = WA1-K BINARY SEARCH.
      IF SY-SUBRC = 0.
        ADD: WA1-VAL1 TO WA2-VAL1,
             WA1-VAL2 TO WA2-VAL2.
        MODIFY ITAB2 FROM WA2 INDEX SY-TABIX TRANSPORTING VAL1 VAL2.
      ELSE.
        INSERT WA1 INTO ITAB2 INDEX SY-TABIX.
      ENDIF.
    ENDLOOP.
    The above code uses BINARY SEARCH for collect semantics. READ BINARY runs in O( log2(n) ) time. The above piece of code can be more optimized by
    LOOP AT ITAB1 INTO WA.
      COLLECT WA INTO ITAB2.
    ENDLOOP.
    SORT ITAB2 BY K.
    COLLECT, however, uses a hash algorithm and is therefore independent
    of the number of entries (i.e. O(1)) .
    Point # 9
    APPEND LINES OF ITAB1 TO ITAB2.
    This is more optimized as compared to
    LOOP AT ITAB1 INTO WA.
      APPEND WA TO ITAB2.
    ENDLOOP.
    Point # 10
    DELETE ADJACENT DUPLICATES FROM ITAB COMPARING K.
    This is much more optimized as compared to
    READ TABLE ITAB INDEX 1 INTO PREV_LINE.
    LOOP AT ITAB FROM 2 INTO WA.
      IF WA = PREV_LINE.
        DELETE ITAB.
      ELSE.
        PREV_LINE = WA.
      ENDIF.
    ENDLOOP.
    Point # 11
    DELETE ITAB FROM 450 TO 550.
    This is much more optimized as compared to
    DO 101 TIMES.
      DELETE ITAB INDEX 450.
    ENDDO.
    12.   Copying internal tables by using “ITAB2[ ] = ITAB1[ ]” as compared to “LOOP-APPEND-ENDLOOP”.
    13.   Specify the sort key as restrictively as possible to run the program faster.
    Point # 12
    ITAB2[] = ITAB1[].
    This is much more optimized as compared to
    REFRESH ITAB2.
    LOOP AT ITAB1 INTO WA.
      APPEND WA TO ITAB2.
    ENDLOOP.
    Point # 13
    “SORT ITAB BY K.” makes the program runs faster as compared to “SORT ITAB.”
    Internal Tables         contd…
    Hashed and Sorted tables
    1.     For single read access hashed tables are more optimized as compared to sorted tables.
    2.      For partial sequential access sorted tables are more optimized as compared to hashed tables
    Hashed And Sorted Tables
    Point # 1
    Consider the following example where HTAB is a hashed table and STAB is a sorted table
    DO 250 TIMES.
      N = 4 * SY-INDEX.
      READ TABLE HTAB INTO WA WITH TABLE KEY K = N.
      IF SY-SUBRC = 0.
      ENDIF.
    ENDDO.
    This runs faster for single read access as compared to the following same code for sorted table
    DO 250 TIMES.
      N = 4 * SY-INDEX.
      READ TABLE STAB INTO WA WITH TABLE KEY K = N.
      IF SY-SUBRC = 0.
      ENDIF.
    ENDDO.
    Point # 2
    Similarly for Partial Sequential access the STAB runs faster as compared to HTAB
    LOOP AT STAB INTO WA WHERE K = SUBKEY.
    ENDLOOP.
    This runs faster as compared to
    LOOP AT HTAB INTO WA WHERE K = SUBKEY.
    ENDLOOP.

  • "Outlook cannot perform search. Cannot display view." error coming up when searching shared calenders in Outlook 2010.

    Hi,
    So I am having issues with the advanced find feature in Outlook 2010. When I goes to search a shared calender it gives me the "Outlook cannot perform search. Cannot display view." error. It is odd because it only does it with shared calenders
    and only when a calender is selected. If I search my inbox it works fine. It also works fine when I first open Outlook and perform a search without selecting any calenders. If I select on it then gives me the error. I have tried resetting the views, I ran
    cleanfinders and I went through this page (http://www.msoutlook.info/question/47) and rebuilt the index/scanned the pst/etc. Nothing seems to be working. I would appreciate some help if anyone knows why this would be happening. 
    Thank you for your time,
    Gabe M. 

    Pst file size would not cause this and Outlook 2010 can have huge pst files as long as you use the new Unicode format.
    If the problem is a corrupt view, cleanviews will clear it. I'm sure there are other causes besides corrupt views, but I can't think of any at the moment.
    Does it work in Safe mode? To open Outlook in Safe mode: Close Outlook then hold Ctrl as you click on the Outlook icon. You'll get a message asking if you want to start in Safe mode. Click Ok.
    Diane Poremsky [MVP - Outlook]
    Outlook & Exchange Solutions Center
    Outlook Tips
    Subscribe to Exchange Messaging Outlook weekly newsletter

Maybe you are looking for

  • Screen Saver crashing my Java Web Start app

    I've written a Java Web Start time tracker application that all employees run from the time they start work until they leave at the end of the day. The only problem is that there are a couple of people who from time to time find that the application

  • Rollover images not working

    I've looked through the different rollover discussion in the forum, but nothing I've found has been able to help me so far. I'm trying to set up a very simple menubar for my website, and have gotten the look about how I want it, but the rollover imag

  • DASYLAB/USB 2416 error, freezes

    Hello everyone,  I'm running into an issue where the USB 2416 DAQ is freezing up, stuck in a state while it is outputting signals. I have worksheet where Dasylab is outputting two digital signal to turn on a physical relay, which in turn activates tw

  • Horrible Adobe Customer Service

    Hard to believe that Adobe has such horrible customer service but I just experienced it myself. I should preface this by saying that I've been using Adobe products since the late 90s and had always been an advocate but that changed today. I had signe

  • Javascript needed for adding filenames to MULITPLE pdfs - thanks

    Hi there, Im familiar with batch processing and i've found some information on the filenames, but I cant really get this to work. I have multiple PDFs and i'd like to add the file name of each PDF to the bottom of each page for our printer. I know th