Keywording stacks. Request for 'all in stack' selection.
I stacked a folder of 400 images into 12 stacks, keyworded each stack. Came back the next day, typed in a keyword - there is my stack.
But it won't expand. Stack indicator goes from '80' to '1 of 80'. I thought this was a bug .. but after eliminating the keyword, the stack expands and I see the keyword only sticks to the top copy of the stack.
If I keyword a stack, it should go through to every image. There needs to be a 'select all in stack' option. Now I have to open each stack, select photos, keyword, close stack.
A work-around is to keyword before I 'group in stack'. Maybe add a keyword to each stack (stack1, stack2) so I can actually group a stack and keyword later. Not very elegant.
You can select stack, click left side to open stack. Cmd/Ctl click last image in stack to selesct all in stack and then Keyword Stamp (show Keywrod in Toolbar) or use Keywording in Right Panel or D&D keywords.
Don
Don Ricklin, MacBook 1.83Ghz Duo 2 Core, Pentax *ist D
http://donricklin.blogspot.com/
Similar Messages
-
In LR6CC, after using the merge to HDR and the photo returns to LR as a DRG, it is not automatically put into a previously set up stack. For example a stack of three photos. If I use NIK HDR and the photo returns to LR, the stack is automatically changed from 3 to 4. When LR's HDR merge brings a photo back into LR's library, the stack number does not change and the DRG version isn't included in the stack.
Hi,
The Ps CS6 public beta version contains the same camera support as found in Ps CS5/5.5 compatible CR 6.6. There will be future updates to CR 7 for Ps CS6 to pick up more camera support. The Nikon D800 NEF files are not supported, yet.
If you like to work with your D800 files in the public beta build now, you'll have to get the DNG Converter 6.7 from here: http://labs.adobe.com/technologies/cameraraw6-7/
and convert your files to DNG.
regards,
steve -
Duplicate entries missing using for all entries in select query.
Hi Gurus,
Is there any way to avoid missing duplicate entries in an internal table if you use for all entries in select statement?
Note : i am selecting two tables using non key fields and i have to aggregate the data. I want only 2 data fields and one amount field in my final internal table. I can add all the primary key fields into my internal table and collect my required fields in another table, but I just want to know is there any other way to avoid missing duplicate entries without adding all the key fields?
Regards,
RaghavendraHi,
Just check what are the other possible fields in the table which may be having
duplicate entries and make use of them in the selection accordingly.
You may not miss any entries unless there is any restriction on them.
You can better judge that in debugging mode while selecting data from that table. -
Joins And For all Enteries in Select Statement
Could you please tell me when there is a high amount of data which is being handled in the table, does the use of INNER JOINS and FOR ALL ENTERIES in SELECT Statement decreases the system performance? ?
Can you also let me know where can i get some tips regarding do's and dont's for ABAP Programming, I want to increase my system performance.
Currently the programs which are being used are taking a lot of time for execution...
Its very URGENT!Hai Jyotsna
Go through the following Tips for improving Performence
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)
Some steps that might make FOR ALL ENTRIES more efficient:
Removing duplicates from the driver table
Sorting the driver table
If possible, convert the data in the driver table to ranges so a BETWEEN statement is used instead of and OR statement:
FOR ALL ENTRIES IN i_tab
WHERE mykey >= i_tab-low and
mykey <= i_tab-high.
Nested selects
The plus:
Small amount of data
Mixing processing and reading of data
Easy to code - and understand
The minus:
Large amount of data
when mixed processing isnt needed
Performance killer no. 1
Select using JOINS
The plus
Very large amount of data
Similar to Nested selects - when the accesses are planned by the programmer
In some cases the fastest
Not so memory critical
The minus
Very difficult to program/understand
Mixing processing and reading of data not possible
Use the selection criteria
SELECT * FROM SBOOK.
CHECK: SBOOK-CARRID = 'LH' AND
SBOOK-CONNID = '0400'.
ENDSELECT.
SELECT * FROM SBOOK
WHERE CARRID = 'LH' AND
CONNID = '0400'.
ENDSELECT.
Use the aggregated functions
C4A = '000'.
SELECT * FROM T100
WHERE SPRSL = 'D' AND
ARBGB = '00'.
CHECK: T100-MSGNR > C4A.
C4A = T100-MSGNR.
ENDSELECT.
SELECT MAX( MSGNR ) FROM T100 INTO C4A
WHERE SPRSL = 'D' AND
ARBGB = '00'.
Select with view
SELECT * FROM DD01L
WHERE DOMNAME LIKE 'CHAR%'
AND AS4LOCAL = 'A'.
SELECT SINGLE * FROM DD01T
WHERE DOMNAME = DD01L-DOMNAME
AND AS4LOCAL = 'A'
AND AS4VERS = DD01L-AS4VERS
AND DDLANGUAGE = SY-LANGU.
ENDSELECT.
SELECT * FROM DD01V
WHERE DOMNAME LIKE 'CHAR%'
AND DDLANGUAGE = SY-LANGU.
ENDSELECT.
Select with index support
SELECT * FROM T100
WHERE ARBGB = '00'
AND MSGNR = '999'.
ENDSELECT.
SELECT * FROM T002.
SELECT * FROM T100
WHERE SPRSL = T002-SPRAS
AND ARBGB = '00'
AND MSGNR = '999'.
ENDSELECT.
ENDSELECT.
Select Into table
REFRESH X006.
SELECT * FROM T006 INTO X006.
APPEND X006.
ENDSELECT
SELECT * FROM T006 INTO TABLE X006.
Select with selection list
SELECT * FROM DD01L
WHERE DOMNAME LIKE 'CHAR%'
AND AS4LOCAL = 'A'.
ENDSELECT
SELECT DOMNAME FROM DD01L
INTO DD01L-DOMNAME
WHERE DOMNAME LIKE 'CHAR%'
AND AS4LOCAL = 'A'.
ENDSELECT
Key access to multiple lines
LOOP AT TAB.
CHECK TAB-K = KVAL.
ENDLOOP.
LOOP AT TAB WHERE K = KVAL.
ENDLOOP.
Copying internal tables
REFRESH TAB_DEST.
LOOP AT TAB_SRC INTO TAB_DEST.
APPEND TAB_DEST.
ENDLOOP.
TAB_DEST[] = TAB_SRC[].
Modifying a set of lines
LOOP AT TAB.
IF TAB-FLAG IS INITIAL.
TAB-FLAG = 'X'.
ENDIF.
MODIFY TAB.
ENDLOOP.
TAB-FLAG = 'X'.
MODIFY TAB TRANSPORTING FLAG
WHERE FLAG IS INITIAL.
Deleting a sequence of lines
DO 101 TIMES.
DELETE TAB_DEST INDEX 450.
ENDDO.
DELETE TAB_DEST FROM 450 TO 550.
Linear search vs. binary
READ TABLE TAB WITH KEY K = 'X'.
READ TABLE TAB WITH KEY K = 'X' BINARY SEARCH.
Comparison of internal tables
DESCRIBE TABLE: TAB1 LINES L1,
TAB2 LINES L2.
IF L1 <> L2.
TAB_DIFFERENT = 'X'.
ELSE.
TAB_DIFFERENT = SPACE.
LOOP
AT TAB1.
READ TABLE TAB2 INDEX SY-TABIX.
IF TAB1 <> TAB2.
TAB_DIFFERENT = 'X'. EXIT.
ENDIF.
ENDLOOP.
ENDIF.
IF TAB_DIFFERENT = SPACE.
ENDIF.
IF TAB1[] = TAB2[].
ENDIF.
Modify selected components
LOOP AT TAB.
TAB-DATE = SY-DATUM.
MODIFY TAB.
ENDLOOP.
WA-DATE = SY-DATUM.
LOOP AT TAB.
MODIFY TAB FROM WA TRANSPORTING DATE.
ENDLOOP.
Appending two internal tables
LOOP AT TAB_SRC.
APPEND TAB_SRC TO TAB_DEST.
ENDLOOP
APPEND LINES OF TAB_SRC TO TAB_DEST.
Deleting a set of lines
LOOP AT TAB_DEST WHERE K = KVAL.
DELETE TAB_DEST.
ENDLOOP
DELETE TAB_DEST WHERE K = KVAL.
Tools available in SAP to pin-point a performance problem
· The runtime analysis (SE30)
· SQL Trace (ST05)
· Tips and Tricks tool
· The performance database
Optimizing the load of the database
Using table buffering
Using buffered tables improves the performance considerably. Note that in some cases a statement can not be used with a buffered table, so when using these statements the buffer will be bypassed. These statements are:
Select DISTINCT
ORDER BY / GROUP BY / HAVING clause
Any WHERE clause that contains a sub query or IS NULL expression
JOIN s
A SELECT... FOR UPDATE
If you wan t to explicitly bypass the buffer, use the BYPASS BUFFER addition to the SELECT clause.
Use the ABAP SORT Clause Instead of ORDER BY
The ORDER BY clause is executed on the database server while the ABAP SORT statement is executed on the application server. The database server will usually be the bottleneck, so sometimes it is better to move the sort from the database server to the application server.
If you are not sorting by the primary key ( E.g. using the ORDER BY PRIMARY key statement) but are sorting by another key, it could be better to use the ABAP SORT statement to sort the data in an internal table. Note however that for very large result sets it might not be a feasible solution and you would want to let the database server sort it.
Avoid the SELECT DISTINCT Statement
As with the ORDER BY clause it could be better to avoid using SELECT DISTINCT, if some of the fields are not part of an index. Instead use ABAP SORT + DELETE ADJACENT DUPLICATES on an internal table, to delete duplicate rows.
Thanks & regards
Sreenivasulu P -
What is the use of for all entries in select statement
what is the use of for all entries in select statement
hi,
FOR ALL ENTRIES is an effective way of doing away with using JOIN on two tables.
You can check the below code -
SELECT BUKRS BELNR GJAHR AUGDT
FROM BSEG
INTO TABLE I_BSEG
WHERE BUKRS = ....
SELECT BUKRS BELNR BLART BLDAT
FROM BKPF
INTO TABLE I_BKPF
FOR ALL ENTRIES IN I_BSEG
WHERE BUKRS = I_BSEG-BUKRS
AND BELNR = I_BSEG-BELNR
AND BLDAT IN SO_BLDAT.
*******************************8
look another example
what is the use of FOR ALL ENTRIES
1. INNER JOIN
DBTAB1 <----
> DBTAB2
It is used to JOIN two DATABASE tables
having some COMMON fields.
2. Whereas
For All Entries,
DBTAB1 <----
> ITAB1
is not at all related to two DATABASE tables.
It is related to INTERNAL table.
3. If we want to fetch data
from some DBTABLE1
but we want to fetch
for only some records
which are contained in some internal table,
then we use for alll entries.
1. simple example of for all entries.
2. NOTE THAT
In for all entries,
it is NOT necessary to use TWO DBTABLES.
(as against JOIN)
3. use this program (just copy paste)
it will fetch data
from T001
FOR ONLY TWO COMPANIES (as mentioned in itab)
4
REPORT abc.
DATA : BEGIN OF itab OCCURS 0,
bukrs LIKE t001-bukrs,
END OF itab.
DATA : t001 LIKE TABLE OF t001 WITH HEADER LINE.
itab-bukrs = '1000'.
APPEND itab.
itab-bukrs = '1100'.
APPEND itab.
SELECT * FROM t001
INTO TABLE t001
FOR ALL ENTRIES IN itab
WHERE bukrs = itab-bukrs.
LOOP AT t001.
WRITE :/ t001-bukrs.
ENDLOOP.
Hope this helps!
Regards,
Anver
<i>if hlped pls mark points</i> -
Customer Tolerance for all open item selected in an incoming payment.
Hi Experts
I have set a tolerance of 5 $ in OBA3 to be written off to Bad Debts account. This settings are working fine when an incoming payment is entered in F-28.
My requirement is, in F-28 I enter the Document Date, Posting Date, Company Code, Currency, REF, Doc.Header Text in the document header & enter the Bank Account, Amount and Text, then instead of entering the customer account in open item selection, I selet the process open items and Select the Reference as the selection criteria and enter a list of references (for clearing a Batch of open items for different customers).
Standard tolerance functionality will check if the complete incoming document meets the specified tolerance limits set in OBA3. But I want the tolerance of 5 $ specified to be applied for all the open items selected to be cleared with the incoming payment.
I understand that tolerance will be applied when the amount entered and amount of the open items (total) is within the specified tolerance.
But is there any option which will check if each of the open item selected for processing short of 5 $ and then write off to the bad debt account specified in OBXL.
Do we have any user exit, or BADi or can we use any of the BTE functionality to achieve this.
Kindly give your valuable inputs..
Thanks in Advance.
KIM Khan.Kim,
Did you get answer to this question? If so can you please share with me?
Thanks -
For all entries in select query
Hi Guys,
I am fetching the BUKRS GJAHR BELNR and BUZEI from BSEG table, using for all entires of BSEG data, i am getting the data from BSID table.
But in BSID table, i have duplicate records, those records i am not able to get.
Could you please suggest me, is any wrong in my code. Please sugest is any other way to get the data.
SELECT bukrs
belnr
gjahr
buzei
xref1 INTO TABLE it_bseg
FROM bseg
WHERE bukrs = p_bukrs
AND gjahr IN s_gjahr
AND xref1 IN s_xref1.
SORT it_bseg BY bukrs gjahr belnr buzei.
SELECT bukrs
kunnr
zuonr
gjahr
belnr
budat
bldat
xblnr
blart
dmbtr
shkzg INTO TABLE it_bsid
FROM bsid
FOR ALL ENTRIES IN it_bseg
WHERE bukrs = it_bseg-bukrs
AND belnr = it_bseg-belnr
AND gjahr = it_bseg-gjahr
AND buzei = it_bseg-buzei
AND blart IN r_blart.
Thanks
Gourisankar.Hi Sankar,
if there are duplicates entries select statement will omit those records. try to include fields in the select statement which makes the selected record different from other atleast by one field.
cheers!! -
'FOR ALL ENTRIES' in SELECT statements
Hi,
I got a doubt in working of the 'FOR ALL ENTRIES' option in the SELECT statement. Here is my scenarion.
Table A - Document Header Level (Key: Doc Number)
Internal Table B - Document Item level (Keys: Doc num and Doc Item).
So, for each record in Table A, table B will have multiple records.
In this situation, how the below SELECT will work.
SELECT <field names> INTO <some internal table>
FROM A
FOR ALL ENTRIES in B
WHERE doc_num = B-doc_num.
Will the above SELECT result in duplicate records or not?
(I tested it and found that it doesn't! I was lil surprised and wanted to confirm that)
Thanks & Regards,
SreeHi,
For all entries option basically sorts out the entries in the internal tbale based on the where condition and thus it only picks the unique entries based on the list.
so indeed your table A is a header one so it will give you only single value. if you go by the reverse way where in look for B for all entries in A it will give you multiple values as table B has multiple values for each value in A.
Regards,
Jagath -
Usage of FOR ALL ENTRIES in SELECT query
Hi All,
While writing SELECT query using FOR ALL ENTRIES, in the WHERE condition can we use IN operator on a range table?
Will this work out.
Thanks,
Anil KumarHI,
Yes you can use the in operator.
SELECT *
FROM MARC
INTO TAB:E i_mARC
FOR ALL ENTRIES IN I_MARA
WHERE MATNR EQ I_MARA_MATNR
AND WERKS IN S_WERKS. -
Want to Avoid Loop for all entries with select query !!
Hi Guru's !
This is my following code . I want to avoid loop to improve the performance of program.
data: lt_cuhd type HASHED TABLE OF /sapsll/cuhd WITH UNIQUE key guid_cuhd,
ls_cuhd type /sapsll/cuhd.
data: lt_comments type STANDARD TABLE OF zss_comments,
ls_comments type zss_comments.
data: lv_objkey type string.
select * from /sapsll/cuhd into table lt_cuhd.
loop at lt_cuhd into ls_cuhd.
CONCATENATE ls_cuhd-corder '%' into lv_objkey. " Example 'Mum%'
select * from zss_comments into table lt_comments
where objkey like lv_objkey
AND guid_cuhd = ls_cuhd-guid_cuhd
AND event_id <> ''.
endloop.
I want
New code should be...using all entries no loop required.
*select * from zss_comments into table lt_comments
where objkey like lv_objkey
AND guid_cuhd = ls_cuhd-guid_cuhd
AND event_id <> ''.*why dont you add the object key also to lt_cuhd and once you fetch the data to lt_cuhd loop it and add the '%'
when looping use field symbols so that you dont have to use modify.
then use for all entries using lt_cuhd
i don't you can find a better way to add the % mark apart from looping but by this way only one select query will be done for
zss_comments
Thanks
Nafran -
Creation of spool request for a report without selection-screen.
Hi Experts ,
I need to create a spool request for ALV Grid report which is not having any selection-screen , after pressing F8 it will directly display the ALV Grid out put.
Can any one help me how to run the above report in background which is not having selection-screen?
Thank you & Regards.
Rajasekhar.PHI,
At transaction SE38 click Program -> Execute -> Background.
Regards
Sudheer -
Demand Planning - No authorization for all characteristic values selected
Hello All,
I am trying to load the data and it is giving error "You do not have authorization for all the characteristic
values selected". I can access the data in sandbox but not in Development. SU53 of both are same.
Also the roles are same in both the system. /sapapo/mc77 - maintain selection assignments is also same in both the systems.
Thank you for the help.
Regards
PratapHi,
This is a case of inadequate authorization for display or execution of demand planning.
I don't understand what you exactly mean by
"su53 of both are same".
SU53 gives you a list of the authorization check that the system last executed on the ID.
Here r some suggestions. do an su53 immediately after the authorization error message is flashed.
It shall give you the authorization object which is required for that activity that you were attempting.
Also it suggested the name of role/s which have the required authorization object already present.
It is possible that you might have ALL authorizations in dev system, but the quality and production systems are usually the area where selective authorizations are to be used.
Hence the basis team might not have given you all the authorizations in the higher system where you are facing the above issue.
Hope this helps
Regards -
Problem with for all entries in select querry
hi,
Hi,
I am using select queery like this
SELECT version COUNT( * )
from ztbi_default_va4
INTO CORRESPONDING FIELDS OF TABLE lit_new
FOR ALL ENTRIES IN lit_new1
WHERE network = lit_new1-network GROUP BY version.
this is not working showing error as:
The addition "FOR ALL ENTRIES" excludes all aggregate functions with
the exception of "COUNT( * )" as the single element of the SELECT clause.
I am using only count(*) ,not using othes like max,min etc,,,,,,,,,
please suggest any missing in syntax,,,,attach relavant code using count(*) with for all entreis
any help appriciated,,,,,
Thanks in advance,,,,Hi,
Try this -
TYPES: begin of t_data,
version TYPE version,
count type i,
end of t_data.
DATA: i_data TYPE STANDARD TABLE OF t_data,
wa_data TYPE t_data.
DATA: l_version TYPE version,
l_count TYPE i.
SELECT version COUNT( * )
from ztbi_default_va4
INTO CORRESPONDING FIELDS OF TABLE lit_new
FOR ALL ENTRIES IN lit_new1
WHERE network = lit_new1-network.
SORT lit_new.
LOOP AT lit_new INTO lwa_new.
IF lwa_new EQ l_version.
l_count = l_count + 1.
ELSE.
wa_data-version = l_version.
wa_data-count = l_count + 1.
APPEND wa_data TO i_data.
CLEAR: wa_data.
CLEAR: l_count.
ENDIF.
l_version = lwa_new-version.
CLEAR: lwa_new.
I hope this will do.
Make any necessary changes.
Regards,
Harsh Bansal -
Pending Add request for all contacts when I log into Live Messenger
Each time I log into Windows Live messenger on my Blackberry Bold I get a request for every contact to allow them to add me as a contact. They are longtime contacts of mine who have already been accepted. They can see me regardless of if I accept. If I accept, all of the requests reappear when I log back in. I do not get the requests on the pc version.
I have this problem with 4 specific contacts - every time I log in I'm prompted to confirm/deny the requests! Running latest OS on a Bold and latest Live Messenger app. Any ideas?
I wouldn't mind too much if it didn't treat the requests as conversations and set the LED flashing at me constantly...
-SOLVED-
Log into the Live website at:
http://home.live.com/
confirmed the requests from there and all looking good so far!
Message Edited by mikecupcake on 03-24-2009 06:33 PM -
Customer Service request for all mobile users
To all cellular subscribers, first off, I wish to say I am a proud VZW user. Second, I want to say I am a customer service rep for a competitor carrier. Personally, a few of my coworkers and I believe there really isn't any competition. Thirdly, I want to remind everyone... When you get your bills and you don't understand them, or your service isn't working correctly, try to have your duckies in a row BEFORE you call customer service. We do not work for the company in question, we are a 3rd party outfit that is hired by the big guys (T-Mo, ATT, Sprint, Verizon....) to handle the calls coming in. We are trained, but remember, we are in a call center, some may be overseas, some may be in the US, but our paychecks do not come from the big guys, but our real bosses. Yes, you are customers, just like I am, but before you call us, put yourself in our place. Seriously, if you had to talk to a person over the phone who is yelling and calling you names, would you want to help them?
So, my request to you is follow the Golden Rule: Do unto others as you would have others do unto you. Trust me, staying calm in the face of any hardship will go farther than flying off the handle.Yes, my coworker's sister works for the same company we work for and she handles VZW calls. Also, just the other day, I helped someone cancel her contract with the competitor's company because she was just hired on as a rep with the same company we work for but in a different state. BTW, that new VZW customer/CSR says that the service for Verizon is WAY BETTER than with her old company
Maybe you are looking for
-
I'm using the flvplayback component that came with Flash CS4. To use with an xml file, it indicates that all I need to do is to enter the name of the file in the contentPath, which I have done (videostest.xml) Both Flash file, html file and xml file
-
Sql statement hanging in prod. fast in dev.
Hi, Sql statement is hanging in production. In development it is executing in 2 secs. From explainplan , noticed that taking different indexes. I have posted the staement and explain plan (prod and dev) below. Statement: SELECT REP_V_SERVICE_REQUEST.
-
Can't play video on Safari (and Firefox) !!
Hi, I'm having an issue when trying to play any video online. Every time I click play, it appears to start to load the video but then stops (freezes - like the browser has crashed). About 10/20 seconds later I get a box appear saying ... "A script in
-
Hi , Can anybody help in 'Saving the VA05 layout'. But we don't want to add 'SD_VARIANT_MAINTAIN' parameter in the user profile. Any other way, I can activate the 'Save' layout option. Thanks
-
Hi all, Can someone tell how to check if the configuration is done for the following ? As I am new to HCM it would be helpful if someone gives the answers. 1) Benefit termination codes. 2) Calculate or adjust accrual of leave time for non-academic em