Automatic Import Index Entries and Add All References?
I have figured out how to import a list of index entries to automically generate an index. Problem is, it doesn't allow me to choose the Add All feature to search the entire document for those terms. What am I missing?
I have figured out how to import a list of index entries to automically generate an index. Problem is, it doesn't allow me to choose the Add All feature to search the entire document for those terms. What am I missing?
Similar Messages
-
How can I take the files that were migrated from my PC to my Mac and add all those files to my current user instead of having 2 users? Having to log out just to sign in on a different user to access the files is absurd.
Do I make all the files sharable to all the NOW users on the mac then just delete the files? Or can i erase my account that I made when starting up my new mac and then just use the one with the transferred files?
I just dont want to have to og in and out of 2 different accounts .. Help please.
-NinaSorry. /Users is a folder path. It would be similar to C:\Users (if that exists on Windows).
So, in the Finder, select Computer from the Go menu.
You'll see Macintosh HD, double-click that to open it.
In there you'll see several folders. One is Users. That is where all the user Home folders exist. Select the other account's home folder and go to step 3.
If you have any more confusion, please stop and ask. We'll get there.
If you feel more comfortable, you can just log into that other account and move the files into /Users/Shared.
Then, log into the account you wish to use and copy the files from the Shared folder and paste them into your Home folder, wherever they belong, Documents, Music, Pictures, etc. That just takes a little more work. Transferring them into Shared, and then copying into your home sets the permissions on the files so that you won't have a problem accessing them later. The steps I provided just prevent you from having to do the double move, since you are not going to use the old account once you are done.
Quick unix shorthand. If someone gives you a file path that begins with a /, that means the root of the hard drive, ie Macintosh HD (if you haven't renamed it). The path separator in unix is /, not \.
A path that starts with ~/ means your Home folder, the one inside /Users named with your account name. -
Automatically synced my phone and deleted all my stuff
automatically synced my phone and deleted all my stuff
tonefox wrote:
I would suggest a serious discussion with your son.
that is great advice. -
MAC iTunes 11 search songs and add all to playlist?
I used to be able enter a search term and find all songs then slect all and add or create a playlist. What happened? now a separate column opens and I try using cmd to select more than one - that doesn't work. Tried shift to slect all that doesn't work. Wish there was a toggle to switch back to old interface. Anyone know how to search and find a more than one at a time to add to a playlist? I use to do that a lot!
I have a similar problem. Dozens of play counts are gone (but not ratings). It affects some songs that are of the kind "Purchased AAC audio file" rather than whole albums.
-
I want to add many compilation folders of mp3's to Itunes. I want to create a automator workflow which will automatically add a specific tag in grouping, year and also check as a compilation when I move the folders to the specific folder that the folder actions are appointed to.
I can't manage to work this out. Can anyone give me some tips?I import a lot of my content from my external hard drive and i dont know which option i should use.
Use the 'Add to library...' option. If you have checked the 'Copy files to iTunes Music folder when adding to library' (Preferences>Advanced>General), the files also will be copied to the 'iTunes Music folder location' as set in the preferences.
There's an article that describes the differences between the importing and adding functions here:
http://docs.info.apple.com/article.html?artnum=301509
Hope this helps.
M -
Heyo,
So I'm punting as tech support in my office, and don't use TB myself. What's happening is on startup, a Bing settings page and the TB add-ons page are loading in tabs in addition to the inbox tab.
X'ing the tabs individually does remove them, but I need to make them stop loading at startup for the sanity of this older gentleman.
There are no modifiers on the shortcuts to open the program, no homepages listed in options. What am I missing?
Thanks buckets for any input.The only time that this gets messed up is when they run cleaner software like CCleaner that deletes settings because it thinks it knows best. You can set CCleaner to leave the Thunderbird, or other software, files along to stop that issue.
Glad you got it working.
The other common issue is people complaining about all the message tabs accumulating across the top of the screen and moving the Inbox tab out of view. This is because they open messages in tabs and never close them. You can right click one tabs and select Close Other Tabs and then use the x to close the last one. Then explain to them how to close tabs after reading messages. :) -
I am trying to record/add audio to a project that I created from a powerpoint. How is this done? The ppt comes into Captivate as one slide so I am not able to coordinate my words with each click that moves to the next screen. So far my work around is to create a new captivate project, screen by screen, and copy in a screen shot from the ppt. captivate project. There must be an easier way?
Thanks.what versions of PPT and Captivate are you using?
what options are you selecting when importing? -
How to Closing Adobe account and remove all reference to Adobe Creative Cloud from Computers C Drive
I currently have two windows computers and i have had Adobe Creative Cloud installed on both of them, I have already removed the creative cloud program from one of them using the Add/remove program that comes as default with the windows platform, how ever the licence information is still on the C Drive, How can this be removed. I also wish to close my CC account, how is this done?
Hi There,
Kindly try CC cleaner tool:
Use the CC Cleaner Tool to solve installation problems | CC, CS3-CS6
Thanks,
Atul Saini -
i download a lot of music from blogs, most of it is indie label or no-label and can't be purchased from the itunes store. anyway, using firefox, when i download a track it saves it to my downloads folder and then itunes automatically imports the file and starts playing it.
needless to say this is annoying. i'm usually doing other stuff while downloading and i don't want itunes opening on it's own and playing songs while i'm busy doing other things. also, i prefer to move the files into itunes manually.
i feel like this should be simple, and maybe it is, but i can't figure it out. how do i keep this from happening? anyone?Please please please update your software RIGHT NOW.
Update to Firefox 19.0.2 [[Update Firefox to the latest version]]
Update your plugins: https://www.mozilla.org/plugincheck/
This is critically important for security and stability reasons. -
ITunes automatically imports music after re-boots (damaged .itl file)
Every time I start ITunes after my computer has been re-booted, ITunes starts importing my music library and says I have a damaged Music Library file (itl). If I allow ITunes to import my music files then it works fine (all playlists and ratings intact) even if I exit & re-enter the Itunes Application. However, as soon as I reboot the system I get the same damaged file dialog box. Also, I've tried waiting after I have booted the system for a long time to make sure it isn't conflicting with startup processes.
I have a lot of songs and it takes ITunes a long time to import each time, and it is really frustrating. A temporary work-around is that I make a backup copy of the "itl" and "xml" files each time after I exit Itunes when I have made changes. Then after a reboot when I start Itunes, I stop it from importing the library, finding artwork, gapless scan, etc... I copy the previously saved "itl" & "xml" files into the ITunes folder and the ITunes program will then start up correctly with all my music files, ratings & playlists.
_*A. COMMENTS*_
1. Since the "itl" file I copy into itunes folder (as per my work-around)is an exact copy of the "itl" file that was originally in the ITunes folder after a reboot, I don't think the ITunes file is actually damaged, since ITunes will boot from this file after Itunes is started a 2nd time. This also shows me that it is not a path issue.
_*B. SETUP*_
1. Dell 3.4Ghz Pentium 4
2. MS Windows XP Home Edition (service pack 3)
3. Recently upgraded to ITunes 9.0.3.15 (did not resolve problem)
4. McAfee Security Center virus/firewall software
5. Ad-Aware spyware checker(resident)
6. Spy-bot Search and Destroy spyware checker(resident)
5. My Music files are located in C:\Documents and Settings\My Name\My Documents\My Music\ (itunes folder is also in same folder)
6. My Itunes Library .itl file is 2,842 KB
7. My Itunes Music Library .xml file is 16,580 KB
_*C. WHAT I HAVE TRIED SO FAR*_
1. I have re-installed ITunes
2. I ran scan disk (fixed errors & checked physical disk). It did say it repaired something with an "XML" extension, but I didn't write it down because I thought it fixed the issue, but I don't think it was the itunes xml file
3. I cleaned a bunch of junk files (internet cache, etc) and defragged
4. I completely un-installed ITunes and ran a registry cleaner to remove all references to Itunes, Then I installed ITunes. ITunes imported my library and lost all my ratings & playlists however it found all of my artwork (not just automatically created from internet) I re-used an old .itl file for ratings/playlists. However I did try with the newly imported "itl" file and the same problem was persistent
5. I tried restoring my computer to month ago when everything was working correctly
6. I tried for hours looking through multiple forums and the ones that I found that have the same problem (only after reboots) were never resolved. Most of the others just tell people how to get their library back
7. I tried to call Apple Itunes tech support on the phone and was told that Apple does not provide Itunes phone support for PC's. I did pay good money for 30Gb & 16Gb Iphones, so I am giving Apple Money. I would own a Mac however my profession uses software not supported by Apple.
_*D. QUESTIONS*_
1. Does anyone have any idea why this is happening? I'm going to try to figure out how to start in some sort of safe mode and log the processes to see if there are any conflicts, but I'm running out of options.
2. I did copy rather large 1200x12000 artwork from the internet into some of the CD's because I was printing them, however I later removed the artwork and replaced it with 300x300. I noticed the Album artwork Cache & Download folders seems rather large and convoluted. I was thinking about possibly deleting all artwork from my library and deleting these folders to see if there is something in there.
Please Help, I've spent far too many hours trying to resolve this issue. I just don't understand that after uninstalling, and cleaning registry that re-installing didn't fix this issue.Followup:
The link you posted wasn't really any help, but I believe I have finally resolved the issue (after 2 consecutive reboots without problems -- knocks on wood). I wish I could single out exactly what resolved the issue, but I went crazy and did a lot of things last night/this morning (and didn't have the patience to reboot after each single change).
Here's a list of a few things I remember doing
1. Installed updated hardware drivers using Uniblue driver update software (a couple were bundles that affected quite a few things). I booted up this morning only to get a repeated "REFMONINITIALIZATIONFAILED" dialog with the blue screen of death. I wasn't worried as I did a complete backup of all my personal files last night, anticipating a full rebuild today. So the next time I rebooted I used the "last known good configuration".
2. I don't have any indexing programs (that I'm aware of), but I clicked the library file, xml files and all other files in the itunes library root directory and unchecked the "For fast searching, allow Indexing Service to index this file" box after right clicking and selecting "properties" and then "advanced"
3. I rolled back ALL Uniblue SpeedUPMYPC2009 system tweaks (except internet) that were automatically done when I ran the program on 1/10/10.
I have a strong inclination that one (or more) of the Uniblue system tweaks did something that prevented my library file from being accessed the first time after after a boot that I started ITunes. I apparently hadn't accessed ITunes for a couple weeks after I ran the Uniblue program, so it didn't register that it could have caused the issue. At some point in the future I'll try to pin down which tweak caused the problem, but for now I've wasted far too much dealing with this and don't care if my computer runs a few milliseconds slower.
Thank you for responding -
Index Entries Appearing Incorrectly in .CHM Index
**I made a post regarding RH7 and issues with the indexing feature...since then, I have come across more issues, hence why I am doing a new post**
I have RH7 and before I was having troubles with keywords being missed from the index in the generated .chm. I would open the index in RH and then compare it to the index in the .chm file-some keywords would be missing. This was occurring with all projects converted from RH X5 to RH7.
Now, I have a project that was started in RH7-it has not been converted from a previous version. I am not seeing issues with missing keywords but I am noticing that some keywords are being misplaced in the .chm index. For example, "demand dates" in the RH index has not sub-keywords. In the generated .chm, there are two sub-keywords under "demand dates", neither one anywhere close to being related to the keyword. When I looked for the keyword they SHOULD be under, it was not there.
I have installed all three RH fixes on my laptop, and I have even deleted every single index entry and re-entered them. My last guess is, could it be that the template I use was created in another version of RH? The template file has been converted to RH7.
Any help at all would be greatly appreciated-I have research this topic quite a bit and cannot turn up any answers and it is hindering project production.
Thanks!Hi there
Screen shots? Nooo, screen shots. Where see screen shots?
Have you tried right-clicking in the Index Designer and choosing Sort?
Are the keywords possibly stored inside the topics and not the HHK? When you see them in the Index Designer, is the icon that of a page with a key instead of just a key?
Cheers... Rick
Click here for Adobe Authorized Captivate and RoboHelp HTML Training
Click here for the SorcerStone Blog
Click here for RoboHelp and Captivate eBooks -
Mail Udate? Import Messages? Mail is all messed up!
Today I logged into my Mac and tried to read my mail like I always do at 8am, and I was prompted by a screen saying similar to "Welcome to Mac Mail in Tiger, Mail needs to import your messages before you may use mail. Click Okay to continue"
Not like I had an option, I clicked Okay, assuming Mail must have done an auto update during the night or something. I get another screen talking about the great new features of Mail. I checked my Software Update history in System Prefs and saw no new mail updates.
Once it was done importing all my messages mail opened and downloaed my usual batch of 100 or so spam messages, which interestingly enough were dumped in my normal in box - I've got rules that usually sort these messgaes out. Further interesting was my Junk bag was missing. Like Mail no longer did Junk filtering?
Also, I looked in my message Rules and saw the long list of rules I've put togehter to filter the junk mail was blank. No rules.
I checked the forum here and didn't see anyone else talking about Mail updates, so figured something freaky must have happened to my computer.
Also interesting, the program "Backup" which I installed off the Apple site last week was waiting to run - seemed in process of kicking off a backup when I tried to open mail.
I then noticed inside my Mail folder "MessageRules.plist.backup" with a create date of yesterday, and another file "MessageRules.plist" with a create date of today. Like the program "Backup" did this.
So I swapped the "backup" files back manually, also the file "Envelope Index" had a duplicate the same way "Envelope Index-1". So I swapped those back.
I shut down and re-started Mail and sure enough, my Junk mail folder is back, my rules are back, everything looks fine.... EXCEPT....
Every single message (of thousands) in my in box has an itallic line saying "The message from {Sender} concerning {Subject line} has not been downloaded from the server. You need to take this account online in order to download it."
What's up with that??
I manually open my mail folders where all the messages are stored with the .emix extension and double click a few - they open right up, so the message are still there but for some reason the email index thinks they're missing?
Can anyone shed some light on this? Any help? What a mess.
Thanks!Sounds like something went afoul with Envelope Index file which is the file that keeps an index of all messages in all mailboxes.
All Mail.app rules including the Junk Mail rules are stored in the MessageRules.plist file and sounds like something went afoul with this file also and I'm not sure why since I've never experienced the same with either.
So I swapped the "backup" files back manually, also the
file "Envelope Index" had a duplicate the same way "Envelope Index-1".
So I swapped those back.
Since it seems something went wrong with the Envelope Index file and a new file was created, I suggest the following which should take care of this problem also.
"The message from {Sender} concerning {Subject line} has not
been downloaded from the server. You need to take this account
online in order to download it."
Quit the Mail.app first and using the Finder, go to Home > Library > Mail. Copy the Mail folder and place the copy on the Desktop for backup purposes.
Using the Finder, go to Home > Library > Mail > Envelope Index. Delete the Envelope Index and if still available, the Envelope Index-1 file and empty the Trash,
Launch Mail and you will be prompted to import all mailboxes again. Select OK and allow the import process to complete. This isn't really importing anything but replacing the deleted Envelope Index file and reindexing all messages in all mailboxes.
Test if this resolves the problem. -
How to make iTunes automatically import songs on my hard drive
Does anyone know if you can have iTunes search your hard drive and add all music to the iTunes library?
Limewire? That tells me you're stealing songs using P2P. Yuk.
-
How can I stop the automatic importing and playing of a music file?
I download legal music from several places besides the Apple music store, and I always have this very annoying problem. As soon as a song finishes downloading to my selected download folder, it is automatically imported to iTunes and it STARTS PLAYING!!! This is really annoying when I am doing something else because iTunes always jumps to the front of whatever application I am working with and forces me to stop my multi-tasking, and push stop on the iTunes player. VERY annoying if I am downloading an entire album because I have to do it for twelves songs in a row.
HOW do I turn this off? I looked in my iTunes preferences but I couldn't find the option.
Thanks
ErichWhat software are you using to download music besides iTunes? Aquisition and Xfactor both have settings to songs after they've finished downloading.
Or if you're downloading using your web browser, your browser may have iTunes setup as a "helper application", so that it opens the song file after it's downloaded. -
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 ..
byeHI
<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 dont 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.
Maybe you are looking for
-
Recommendations;;; Please help me
We would like to build necessary monitors around fast refresh that we are doing for one product. To start, we have a counter table in database 1 which gets refreshed to database 2 via a dblink from database 1 periodically, every 15 minutes. we have a
-
Day after it came back it was gone again. That's why I'm looking for help again. thanks
-
I use OBIEE and I got some difficulties with the times dimensions and the function AGO because I used two differents dates for my measure. My fact table: Ordered ||Delivered||Amount 12/21/2008 ||1/20/2009||30000 1/1/2009 ||2/1/2009 ||20000 1/1/2009 |
-
How to automatically activate the indicator u2018Capital Goods Affectedu2019 in MI
Dear Expert; I've created a specific document for asset purchases order, I want at the MIRO automatically activate the indicator u2018Capital Goods Affectedu2019. Is it possible by setting via the SPRO or my document. Thank you in advance for your he
-
Using the healing brush can slow my system so much it takes several minutes for my system to catch up. Does't happen every time, I think only when I have multiple edits. When it slows I can watch my brush change size in increments that take about on