How to filter based on two keywords (using And)?
Something that seems so simple but I just can't figure it out.
I've added keywords to a lot of my photos. Now I want to find all the keywords that match multiple pictures -- like with Snow AND Tree.
When I select multiple keywords using shift, it builds a filter Snow OR Tree instead of what I want, Snow AND Tree.
How do I build up a filter based on multiple keywords with AND logic?
And along the same train of thought, I imagine someday I might want to even build on this and say Nature is synonymous with Tree or Lake... and then build a filter based on Nature AND Snow. Is this possible?
Sorry for such an obvious question and thanks in advance.
Love Lightroom so far, in the 2 days I've played with it and see it as finally being a way to quickly and easily organize and manage my photos.
Ron
For NOT it works if you do the following:
1. Select keyword (e.g foo) to find photos with just that keyword
2. Ctrl + A to select all
3. Go to All Photogrpahs in the Library (selection will be maintained)
4. Go to Edit -> Invert Selection
This should leave you with all photos without 'foo'.
Works for me (Windows XP).
Andy.
Similar Messages
-
Searching based on two keywords?
I always click on the arrow next to a certain keyword in order to filter my photo results down to just that keyword. How can I search for images based on two keywords? So maybe I want to search for all images of keyword "Bob" with his dog keyword "Charlie." When I click on the second arrow it deselects the first one.
Thanks.I would use the Library Filter [ \ ] and change the first two columns to Keyword as in this example.
-
Hi my name Abukar I had an old apple ID and I had problem with signing it so I decided to make a new apple ID with a new email address, so how can I link with two apple IDs and how can I get back all my previous apps that I purchased before, I cloud stuff
It is not possible to do that.
Allan -
How to filter a get-adcomputer command using a text/csv file and output to a CSV
OK, so I'm in the process of trying to get a Windows 7 refresh completed for a large client... I had the bright idea to use AD to find what computers are listed as XP, and determine our progress using that. Well, I run get-adcomputer, and it returns
the results... a whole lot of results that really aren't active anymore. I obtained a list of systems that have been disposed of, holding for disposal, etc... now my problem is I can't quite figure out how to get that list to be used to exclude those
computers from the results... I execute my script, it runs, but it seems to get stuck in a loop... I'm sure I'm missing something VERY basic, but I can't figure it out. This is the first time I've ever attempted to use the get-content commandlet, so
again, I'm sure I'm doing something stupid.
Any help will be greatly appreciated!
import-module ActiveDirectory
$exclude = get-content c:\scripts\excludes.csv
ForEach ($entry in $Exclude)
$Excl = "*$entry*"
get-adcomputer -filter {Name -notlike $excl} | select Name,operatingsystem
} Export-CSV c:\scripts\xpfil.csvOK, this one with a little tweaking on my excludes.txt worked... I'd really like to know what the
?{$a -notcontains $_.name}
is doing... Step through it if you can... that way next time I'm not beating my head against this same rather solid wall!
? is an alias for Where-Object. I avoid using aliases in posts, as they usually confuse people.
The concept is that you're reading your exclude list into a variable and then verifying that the variable doesn't contain the computer name that you're currently processing in the pipeline. In my case, I'm running each object through a ForEach-Object loop.
Make sense?
Don't retire TechNet! -
(Don't give up yet - 12,830+ strong and growing) -
How to print text in two lines using REUSE_ALV_LIST_DISPLAY
hai gurus,
i want to print the heading of the column in two lines using the REUSE_ALV_LIST_DISPLAY fucntion module
fro example if column is for DOCUMENT TYPE
DOCUMENT TYPE
shoudl be printed as
DOCUMENT
TYPE
regards
afzalLet me know if this helps...I don't know why the formatting is not working...
<MODIFIED BY MODERATOR - RESPECT THE 2,500 CHARS LIMIT>
Edited by: Sourav Bhaduri on Jan 15, 2010 2:37 AM
Edited by: Sourav Bhaduri on Jan 15, 2010 2:42 AM
Edited by: Alvaro Tejada Galindo on Jan 14, 2010 5:58 PM -
How to create relationship between two records using MDM Java APIs
Hi,
I am trying to create relationship between two records using Java Apis. Please guide me in doing this.
Regards,
NirajHi Niraj,
There is ModifyRelationshipsCommand:
http://help.sap.com/javadocs/MDM/SP06/com/sap/mdm/data/commands/ModifyRelationshipsCommand.html
Retrieve Relationship command:
http://help.sap.com/javadocs/MDM/current/com/sap/mdm/schema/commands/GetRelationshipListCommand.html
Also, please refer similar thread, MDM Java API and relationships.
Hope it helps..
Regards,
Mandeep Saini -
How do I set up two iPods (nano and touch) on the same computer?
I have to configure two Ipod (touch and nano) on the same computer but with two different music libraries. It can be done?How?
ThankSee:
How to use multiple iPods, iPads, or iPhones with one computer
and this previous discussion:
What is the best way to manage multiple...: Apple Support Communities -
SharePoint Databases - How to determine which ones are being used and which ones aren't
I am not sure where to exactly post this question. On the SQL Server side or on a SharePoint side.
I am a SQL Server Database Administrator who is monitoring some SharePoint databases. On a daily basis it seems that they are creating new databases but don't delete the databases that they are no longer using. For example, they might be testing
on a development server and if things aren't working properly instead of asking that the databases be deleted they just go ahead and create new databases to do what ever they need to do. Is there a way on the SQL Server side to determine which SharePoint
databases are being used and which ones aren't being used? Or does one determine this information through the SharePoint Central Administration console?
lcerniHello,
The following query gives you the databases now in use.
SELECT
DISTINCT d.name
FROM
sys.dm_tran_locks
tl INNER
JOIN sys.databases
d
ON
tl.resource_database_id
= d.database_id
Hope this helps.
Regards,
Alberto Morillo
SQLCoffee.com -
How to filter by manager's name using selection screen
Hi all,
I am trying to modify the report to filter data from the report based on the manger name given in selection screen. As the manger's name was given in selection screen.. records have to come only of the employee how were working under that entered manager name.
I am unable to follow this code to modify.. where to add select criteria to filter... please make modify to my code..
I am pasting my code here, Can any one kindly help for this scenario.
TABLES: PA0001, "HR Master Record: Infotype 0001 (Org. Assignment),
PA0002,
P0000,
PA9001,
PA0007,
HRP1001, "Infotype 1001 DB Table
PA0034. "HR Master Record: Infotype 0034 (Corporate Function)
*Internal table for holding output data
DATA: IT_PA0002 LIKE PA0002 OCCURS 100 WITH HEADER LINE,
IT_PA9001 LIKE PA9001 OCCURS 100 WITH HEADER LINE,
IT_PA0007 LIKE PA0007 OCCURS 100 WITH HEADER LINE,
IT_PA0034 LIKE PA0034 OCCURS 100 WITH HEADER LINE.
DATA: IT_RET LIKE BAPIRET2,
IT_ACT LIKE BAPI_SWHACTOR OCCURS 0,
IT_STR LIKE BAPI_STRUC OCCURS 0,
IT_ORG LIKE BAPI_OBJEC OCCURS 0,
IT_POS LIKE BAPI_OBJEC OCCURS 0,
IT_SUP LIKE BAPI_OBJEC OCCURS 0,
IT_FCAT LIKE BAPI_HRAQFIELDDESCRIPTION OCCURS 0,
IT_FDAT LIKE BAPI_HRFIELDDATA OCCURS 0,
IT_ORGS TYPE STANDARD TABLE OF BAPI_OBJEC WITH HEADER LINE,
IT_POSS TYPE STANDARD TABLE OF BAPI_OBJEC WITH HEADER LINE,
IT_SUPR TYPE STANDARD TABLE OF BAPI_OBJEC WITH HEADER LINE,
V_DATE TYPE SY-DATUM,
IT_T500P LIKE T500P OCCURS 0 WITH HEADER LINE,
IT_TT500P LIKE T500P OCCURS 0 WITH HEADER LINE,
IT_T001P LIKE T001P OCCURS 0 WITH HEADER LINE .
DATA: IT_PA0001 LIKE PA0001 OCCURS 100 WITH HEADER LINE,
P_ENDDA LIKE sy-datum.
DATA: Begin of I_HRE,
pernr like pa0001-pernr, "Emp Number
nachn like pa0002-nachn, "Last Name
vorna like pa0002-vorna, "First Name
plans like BAPI_OBJEC-LONG_TEXT, "Position
div_text like pa9001-div_text,
kztim like ZKZTIM_VAUES-name,
stext like T591S-STEXT, "Corporate function text
werks like BAPI_OBJEC-LONG_TEXT,
btrtl like pa0001-btrtl,
orgeh like BAPI_OBJEC-LONG_TEXT,
kostl like pa0001-kostl,
mstbr like pa0001-mstbr, "Supervisor
End of I_HRE.
DATA: I_HR like I_HRE occurs 100 with header line.
DATA: V_PLANS LIKE PA0001-PLANS,
V_EMP LIKE PA0001-PERNR,
V_KOSTL LIKE PA0001-KOSTL,
V_SUPER LIKE BAPI_OBJEC-LONG_TEXT,
V_EMP_POS LIKE BAPI_OBJEC-LONG_TEXT,
V_SUPER_POS LIKE BAPI_OBJEC-LONG_TEXT,
V_HEADER TYPE N VALUE 1,
V_COUNTER TYPE N VALUE 1,
EMP_INDICATOR TYPE N,
V_ORGEH LIKE BAPI_OBJEC-LONG_TEXT,
V_WERKS LIKE BAPI_OBJEC-LONG_TEXT,
V_KZTIM LIKE ZKZTIM_VAUES-NAME,
V_STEXT LIKE T591S-STEXT.
DATA: v_file TYPE string, "Detail Filename
v_filerecord(1000),
f_filerecord(1000),
drive(3),
mstbr like pa0001-mstbr, "Supervisor
count type n value 0.
SELECTION-SCREEN BEGIN OF BLOCK SELECTION WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_PERNR FOR P0000-PERNR,
S_WERKS FOR PA0001-WERKS,
S_BTRTL FOR PA0001-BTRTL,
S_PERSG FOR PA0001-PERSG,
S_ORGEH FOR PA0001-ORGEH,
S_DIV FOR PA9001-DIV_CODE,
S_KZTIM FOR PA0007-KZTIM,
S_sname for pa0001-sname, " this is to enter name
" as manager name
S_FUNKT FOR PA0034-FUNKT.
SELECTION-SCREEN END OF BLOCK SELECTION.
SELECTION-SCREEN BEGIN OF BLOCK SELECTION1 WITH FRAME TITLE TEXT-002.
PARAMETERS: P_BEGDA LIKE SY-DATUM DEFAULT sy-datum.
* P_ENDDA LIKE SY-DATUM DEFAULT '99991231'.
SELECTION-SCREEN END OF BLOCK SELECTION1.
START-OF-SELECTION.
if P_BEGDA is initial.
p_begda = sy-datum.
endif.
if P_ENDDA is initial.
p_endda = sy-datum.
endif.
if S_PERSG is initial.
* S_PERSG-SIGN = 'I'.
* S_PERSG-OPTION = 'EQ'.
* S_PERSG-LOW = '1'.
* APPEND S_PERSG.
* S_PERSG-SIGN = 'I'.
* S_PERSG-OPTION = 'EQ'.
* S_PERSG-LOW = '6'.
* APPEND S_PERSG.
S_PERSG-SIGN = 'I'.
S_PERSG-OPTION = 'NE'.
S_PERSG-LOW = '5'.
APPEND S_PERSG.
endif.
SELECT * FROM PA0001 into IT_PA0001
WHERE PERNR IN S_PERNR
AND WERKS IN S_WERKS
AND BTRTL IN S_BTRTL
AND PERSG IN S_PERSG
AND ORGEH IN S_ORGEH
AND BEGDA LE P_BEGDA
AND ENDDA GE P_ENDDA.
APPEND IT_PA0001.
ENDSELECT.
IF not S_DIV[] is initial.
SELECT * FROM PA9001 into IT_PA9001
WHERE DIV_CODE IN S_DIV.
APPEND IT_PA9001.
ENDSELECT.
ENDIF.
IF not S_KZTIM[] is initial.
SELECT * FROM PA0007 into IT_PA0007
WHERE KZTIM IN S_KZTIM.
APPEND IT_PA0007.
ENDSELECT.
ENDIF.
IF not S_FUNKT[] is initial.
SELECT * FROM PA0034 into IT_PA0034
WHERE FUNKT IN S_FUNKT.
APPEND IT_PA0034.
ENDSELECT.
ENDIF.
SORT IT_PA0001 by SNAME.
LOOP AT IT_PA0001.
IF not S_DIV[] is initial.
READ TABLE IT_PA9001 with key pernr = IT_PA0001-PERNR.
IF sy-subrc ne 0.
continue.
ENDIF.
ENDIF.
IF not S_KZTIM[] is initial.
READ TABLE IT_PA0007 with key pernr = IT_PA0001-PERNR.
IF sy-subrc ne 0.
continue.
ENDIF.
ENDIF.
IF not S_FUNKT[] is initial.
READ TABLE IT_PA0034 with key pernr = IT_PA0001-PERNR.
IF sy-subrc ne 0.
continue.
ENDIF.
ENDIF.
V_COUNTER = 1.
V_EMP = IT_PA0001-PERNR.
V_KOSTL = IT_PA0001-KOSTL.
* WRITE: (10) V_EMP, (20) PA0002-NACHN, (20) PA0002-VORNA.
WRITE: / SY-VLINE. " Left border
WHILE V_EMP NE ''.
PERFORM GET_SUPER CHANGING V_EMP V_SUPER
V_EMP_POS.
if v_emp ne ''.
select single * into it_pa0002 from pa0002
where pernr = v_emp
and begda LE p_begda
and endda GE p_endda.
IF V_HEADER = 1.
PERFORM HEADING.
V_HEADER = 0.
ENDIF.
WRITE: (10) V_EMP, (17) IT_PA0002-NACHN
,(17) IT_PA0002-VORNA, (40) V_EMP_POS.
move v_emp to i_hr-pernr.
move IT_PA0002-NACHN to i_hr-nachn.
move IT_PA0002-VORNA to i_hr-vorna.
move V_EMP_POS to i_hr-plans.
EMP_INDICATOR = V_COUNTER.
IF V_COUNTER = 1.
select single * into it_pa9001 from pa9001
where pernr = v_emp
and begda LE p_begda
and endda GE p_endda.
select single * into it_pa0007 from pa0007
where pernr = v_emp
and begda LE p_begda
and endda GE p_endda.
PERFORM GET_KZTIM_TEXT CHANGING it_pa0007-kztim V_KZTIM.
select single * into it_pa0034 from pa0034
where pernr = v_emp
and begda LE p_begda
and endda GE p_endda.
PERFORM GET_FUNKT_TEXT CHANGING it_pa0034-funkt v_stext.
write: (8) IT_PA9001-DIV_CODE, (17) V_KZTIM,
(25) V_STEXT.
move IT_PA9001-DIV_CODE to i_hr-div_text.
move v_KZTIM to i_hr-kztim.
ENDIF.
IF V_COUNTER = 0.
WRITE: (1) '|'.
ENDIF.
IF V_COUNTER = 1.
PERFORM GET_NAMES.
WRITE: (20) V_WERKS, (5) IT_PA0001-BTRTL
,(20) V_ORGEH,(11) V_KOSTL, (3) '|'.
V_COUNTER = 0.
move V_WERKS to i_hr-werks.
move IT_PA0001-BTRTL to i_hr-btrtl.
move V_ORGEH to i_hr-orgeh.
move V_KOSTL to i_hr-kostl.
ENDIF.
clear it_pa0002.
refresh it_pa0002.
endif.
V_EMP = V_SUPER.
move V_SUPER to i_hr-mstbr.
if EMP_INDICATOR EQ 1.
append i_hr.
endif.
clear i_hr.
ENDWHILE.
NEW-LINE.
CLEAR : V_KZTIM, it_pa9001, it_PA0007.
ENDLOOP.
* Check if its a background Job
IF SY-BATCH NE SPACE.
perform write_file. "Output File
ENDIF.
ULINE.
*& Form GET_SUPER
* This subroutine takes the position number and get the position
* number that it reports to and then who is holding that position and
* then the name of the person who is holding that position in order to
* provide the supervisors name for the person in that position.
* --> p1 text
* <-- p2 text
FORM GET_SUPER CHANGING EMP_SUB EMP_SUPER
EMP_SUB_POS .
DATA: v_reporto like hrp1001-varyf value space,
v_holder like hrp1001-varyf value space,
v_filled like hrp1001-varyf value space,
v_otype like hrp1001-otype value space,
v_objid like hrp1001-objid value space.
CLEAR: v_reporto, v_holder, v_filled, v_otype, v_objid,
EMP_SUB_POS.
Select single plans
into v_plans
from pa0001
where pernr = emp_sub
and begda LE p_begda
and endda GE p_endda.
CALL FUNCTION 'BAPI_ORGUNITEXT_DATA_GET'
EXPORTING
PLVAR = '01'
OTYPE = 'S'
OBJID = v_PLANS
KEYDATE = SY-DATUM
SCENARIO = ' '
* EVALPATH = 0
EVALDEPTH = 0
IMPORTING
RETURN = IT_RET
TABLES
* ACTORTAB = IT_ACT
* STRUCTURALDATA = IT_STR
OBJECTSDATA = IT_SUP
* FIELDCATALOGUE = IT_FCAT
* FIELDDATA = IT_FDAT
IF SY-SUBRC EQ 0.
READ TABLE IT_SUP INTO IT_SUPR
WITH KEY PLAN_VERS = '01'
OBJECTTYPE = 'S'
OBJECT_ID = v_PLANS.
IF SY-SUBRC EQ 0.
MOVE IT_SUPR-LONG_TEXT TO EMP_SUB_POS.
ENDIF.
ENDIF.
Select Single varyf
into v_reporto
from hrp1001
where otype = 'S'
and objid = v_plans
and rsign = 'A'
and relat = '002'
and begda LE p_begda
and endda GE p_endda.
if sy-subrc = 0.
move v_reporto+0(1) to v_otype.
move v_reporto+2(8) to v_objid.
Select single varyf
into v_holder
from hrp1001
where otype = v_otype
and objid = v_objid
and rsign = 'A'
and relat = '008'
and begda LE p_begda
and endda GE p_endda.
if sy-subrc = 0.
move v_holder+0(1) to v_otype.
move v_holder+2(8) to v_objid.
EMP_SUPER = v_objid.
IF EMP_SUB = EMP_SUPER.
EMP_SUPER = ''.
ENDIF.
* Select single varyf
* into v_filled
* from hrp1001
* where otype = v_otype
* and objid = v_objid
* and rsign = 'A'
* and relat = '209'.
* if sy-subrc = 0.
* CLEAR: IT_RET, IT_ACT, IT_STR, IT_FCAT, IT_FDAT,
* IT_SUP, IT_SUPR.
* REFRESH: IT_POSS.
* move v_filled+0(2) to v_otype.
* move v_filled+2(8) to v_objid.
* CALL FUNCTION 'BAPI_ORGUNITEXT_DATA_GET'
* EXPORTING
* PLVAR = '01'
* OTYPE = v_otype
* OBJID = v_objid
* KEYDATE = V_DATE
* SCENARIO = ' '
** EVALPATH = 0
* EVALDEPTH = 0
* IMPORTING
* RETURN = IT_RET
* TABLES
** ACTORTAB = IT_ACT
** STRUCTURALDATA = IT_STR
* OBJECTSDATA = IT_SUP
** FIELDCATALOGUE = IT_FCAT
** FIELDDATA = IT_FDAT
* IF SY-SUBRC EQ 0.
* READ TABLE IT_SUP INTO IT_SUPR
* WITH KEY PLAN_VERS = '01'
* OBJECTTYPE = v_otype
* OBJECT_ID = v_objid.
* IF SY-SUBRC EQ 0.
* MOVE IT_SUPR-LONG_TEXT TO EMP_SUPER.
* ENDIF.
* ENDIF.
* endif.
endif.
endif.
if sy-subrc <> 0.
EMP_SUPER = ''.
endif.
ENDFORM. " GET_SUPER
*& Form HEADING
* text
* --> p1 text
* <-- p2 text
FORM HEADING .
FORMAT INTENSIFIED OFF. " Remove any INTENSIFIED
FORMAT COLOR COL_HEADING INTENSIFIED." Title color
WRITE: (10) 'Employee', (17) 'Last Name'
,(17) 'First Name', (40) 'Position'
,(8) 'Division', (17) 'Management Type'
,(25) 'Corporate Function'
,(20) 'Personnel Area', (5) 'PSA'
,(20) 'Org. Unit',(11) 'Cost Center',(3) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
,(10) 'Supervisor', (17) 'Last Name'
,(17) 'First Name', (40) 'Position', (1) '|'
ULINE . " Line below titles
NEW-LINE.
WRITE: / SY-VLINE. " Left border
FORMAT COLOR OFF.
ENDFORM. " HEADING
*& Form GET_NAMES
* text
* --> p1 text
* <-- p2 text
FORM GET_NAMES .
CLEAR: IT_RET, IT_ACT, IT_STR, IT_ORG, IT_POS, IT_FCAT, IT_FDAT,
IT_ORGS, IT_POSS, V_ORGEH, V_WERKS.
REFRESH: IT_ORGS, IT_POSS.
MOVE SY-DATUM TO V_DATE.
CALL FUNCTION 'BAPI_ORGUNITEXT_DATA_GET'
EXPORTING
PLVAR = '01'
OTYPE = 'O '
OBJID = IT_PA0001-ORGEH
KEYDATE = V_DATE
SCENARIO = ' '
* SCENARIO = 'MDT1'
* EVALPATH = '0 '
EVALDEPTH = 0
IMPORTING
RETURN = IT_RET
TABLES
* ACTORTAB = IT_ACT
* STRUCTURALDATA = IT_STR
OBJECTSDATA = IT_ORG
* FIELDCATALOGUE = IT_FCAT
* FIELDDATA = IT_FDAT
IF SY-SUBRC EQ 0.
READ TABLE IT_ORG INTO IT_ORGS
WITH KEY PLAN_VERS = '01'
OBJECTTYPE = 'O '
OBJECT_ID = IT_PA0001-ORGEH.
IF SY-SUBRC EQ 0.
MOVE IT_ORGS-LONG_TEXT TO V_ORGEH.
ENDIF.
ENDIF.
CALL FUNCTION 'HR_TMW_READ_T500P'
EXPORTING
PERSA = IT_PA0001-WERKS
IMPORTING
W500P = IT_T500P
EXCEPTIONS
NO_ENTRY_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF SY-SUBRC EQ 0.
MOVE IT_T500P-NAME1 TO V_WERKS.
CLEAR: IT_T500P.
REFRESH: IT_T500P.
ENDIF.
* CALL FUNCTION 'HR_TMW_READ_T001P'
* EXPORTING
* PERSA = PA0001-WERKS
* BTRTL = PA0001-BTRTL
* IMPORTING
* W001P = IT_T001P
* EXCEPTIONS
* NO_ENTRY_FOUND = 1
* OTHERS = 2.
* IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
* ENDIF.
* IF SY-SUBRC EQ 0.
* MOVE IT_T001P-BTEXT TO IT_HRR05-BTRTL.
* ENDIF.
ENDFORM. " GET_NAMES
*& Form GET_KZTIM_TEXT
* text
* <--P_V_EMP text
* <--P_V_KZTIM text
FORM GET_KZTIM_TEXT CHANGING P_KZTIM_ID
P_KZTIM.
select single NAME into P_KZTIM from ZKZTIM_VAUES
where TYPE eq P_KZTIM_ID.
ENDFORM. " GET_KZTIM_TEXT
*& Form GET_FUNKT_TEXT
* text
* <--P_V_EMP text
* <--P_V_KZTIM text
FORM GET_FUNKT_TEXT CHANGING P_FUNKT_ID
P_STEXT.
select single STEXT into P_STEXT from T591S
where SPRSL eq 'EN' and
INFTY eq '0034' and
SUBTY eq P_FUNKT_ID.
ENDFORM. " GET_KZTIM_TEXT
*& Form write_file
* text
* --> p1 text
* <-- p2 text
FORM write_file .
* Checking the System ID
if sy-sysid = 'RD1'.
drive = 'D:\'.
else.
drive = 'M:\'.
endif.
* concatenate drive sy-sysid
* '\Output\Reports\HR\HR_Public\Emp_Hierarchy'
* sy-datum
* '.xls' into v_file.
concatenate drive sy-sysid
'\Output\Reports\HR\HR_Public\Emp_Hierarchy.xls'
into v_file.
OPEN DATASET v_file FOR OUTPUT in text mode encoding default.
concatenate 'Employee'
'Last Name'
'First Name'
'Position'
'Division'
'Management Type'
'Corporate Function'
'Personnel Area '
'PSA'
'Org. Unit'
'Cost Center'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
'Supervisor'
'Last Name'
'First Name'
'Position'
into v_filerecord
separated by CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
transfer v_filerecord to v_file. "Writing to file
clear v_filerecord.
loop at IT_PA0001.
do.
if count eq 0.
read table i_hr with key pernr = IT_PA0001-pernr.
concatenate i_hr-pernr
i_hr-nachn
i_hr-vorna
i_hr-plans
i_hr-div_text
i_hr-kztim
i_hr-stext
i_hr-werks
i_hr-btrtl
i_hr-orgeh
i_hr-kostl
into v_filerecord
separated by CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
mstbr = i_hr-mstbr.
count = count + 1.
else.
read table i_hr with key pernr = mstbr.
concatenate v_filerecord
i_hr-pernr
i_hr-nachn
i_hr-vorna
i_hr-plans
into f_filerecord
separated by CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
v_filerecord = f_filerecord.
mstbr = i_hr-mstbr.
clear i_hr.
endif.
if mstbr eq space.
exit.
endif.
enddo.
transfer v_filerecord to v_file. "Writing to file
clear: v_filerecord, f_filerecord, count.
endloop.
CLOSE DATASET v_file.
ENDFORM. " write_file
Edited by: Surender Batlanki on Feb 20, 2008 7:50 AM
Edited by: Surender Batlanki on Feb 20, 2008 7:59 AM
Edited by: Surender Batlanki on Feb 20, 2008 8:12 AM
Edited by: Surender Batlanki on Feb 20, 2008 3:16 PM
Edited by: Alvaro Tejada Galindo on Feb 20, 2008 9:26 AMHi Surender,
In the Perform GET_SUPER, you are getting manager's OBJID. Use this OBJID and from PA0001 get Manger's name.
While passing data to output table, filter that table by Manager's name and then pass output table for display.
Hope this helps u.
<REMOVED BY MODERATOR>
Regards,
Preeti
Edited by: Alvaro Tejada Galindo on Feb 20, 2008 9:26 AM -
BC4J Objects with PKs based on two columns using multiple sequences
I have implemented a BC4J object that is based on a DB table that has two columns as the primary key. For example Table A's primary key is Group and ID and there is a DB sequence for each Group.
I use the BC4J object using servlets and JSPs and I have been able to implement an Update form.
I now want to implement a Create (New) form. I've read forum postings and info on the help regarding using the SequenceImpl class to override the EntityImpl object's create method as shown below:
protected void create(AttributeList attributeList)
super.create(attributeList);
SequenceImpl mySeq = new SequenceImpl("MY_SEQ",getDBTransaction());
setMyObjectId(mySeq.getSequenceNumber());
But as you can see I need to know the value of the group attribute before I can get the next value sequence:
For new EO belonging in Group1 I need sequence from "GROUP1_SEQ", Group 2 from "GROUP2_SEQ", etc.
I would like to put this code in the Entity Object where it belongs. I guess my problem is simply how to create a new row in the View Object with a passed parameter which is the value of Group.
Thanks in advance!Angelo:
How is the EO suppose to receive the group id? Is it from the view row? If so, the VO can pass that group id to the EO through the attribute list and calling the
public Row createAndInitRow(AttributeList nvp);
API.
Example code would be:
ViewObject myVO;
// myVO is initialized
AttributeList nvp = new oracle.jbo.NameValuePairs();
// GroupID is the attr name of the Group ID
nvp.setAttribute("GroupID", <some-value>);
Row row = myVO.createAndInitRow(nvp);
If you do that the create(AttributeList attributeList) method of the EO will receive the GroupID value coming from the VO.
Then, you can use that for your sequence.
Thanks.
Sung -
HTML Dataset - how to filter based on data values within columns
I have had success with using the XML dataset and filtering based on user input (see javascript example below)
<script type="text/javascript">
var ds2 = new Spry.Data.XMLDataSet("disciplinary_actions3.xml", "doh/disciplinary_actions2[type='<? echo($type) ?>'][name>='<? echo($name) ?>']");
ds2.setColumnType("date-of-sanction", "date");
</script>
The XML dataset filters the results based on the type and name values within the XML dataset columns.
I need to accomplish this type of filtering with an HTML table. All that I have been able to accomplish with the use of the in the rowselector (see example below)
<script type="text/javascript">
<!-- the setRowSelector filters by the class attribute on the row in the html table
var ds4 = new Spry.Data.HTMLDataSet("disciplinary_physicians_htmldataset.php", "physician-list");
ds4.setRowSelector("tr.<? echo($type) ?>");
ds4.loadData();
//-->
</script>
How can I filter the HTML dataset based on the data VALUES within the table columns and NOT the class or id or span or div,,,etc?
Although my advanced dataselector within Dreamweaver CS4 has a column selector... I can't under or get it to work.
Any assistance or direction is greatly appreciated.Hi Ron,
According to your description, you want to pass the Terminal number that user logon to where clause without needing to create a userid table, right?
As per my understanding, you need to add an additional table to store the user and corresponding terminal, so that you can filter the data to show the rows based on the user and corresponding terminal. Here are some blogs which describe dynamic security
on tabular model, please see:
http://blogs.msdn.com/b/himanshu1/archive/2013/03/02/implementing-dynamic-security-in-tabular-models.aspx
http://www.bidn.com/blogs/ChrisSchmidt/ssas/4332/dynamic-security-in-tabular
If this is not what you want, there is no other approach to pass the Terminal number that user logon to where clause without needing to create a userid table. Thank you for your understanding.
Regards,
Charlie Liao
TechNet Community Support -
How to filter particular xml tag value using -DBMS_XMLGEN / DBMS_XMLSTORE
Hi,
I am using dbms_xmlgen and dbms_xmlstore package to extract xml datafile tag value from file server to oracle database table.
I have used the below pl/sql program to extract the xml tag values to oracle relational table.Its working fine for me.
But I would like to extract the values based on particular filter condition.
The following xml program I have 3 rows I would like extract the xml data based on the following condition .
Filter condition
==============
the tag <STATE_ABBREVIATION> value shuold be 'CA' and the <CITY> tag value should be Palo_Alto then I will store the ZIPCODE
ZIP_CODE_EXTN,STATE_ABBREVIATION tag values in the Oracle Relational table.
The below pl/sql program storing all the three rows but I required the values based on the filter condition that I mentioned earlier.
Kindly assist me what are the steps that I need to change in this program.?
XML Program file content.
======================
<ZIPCODES>
<mappings>
<STATE_ABBREVIATION>CA</STATE_ABBREVIATION>
<ZIPCODE>94301</ZIPCODE>
<ZIP_CODE_EXTN>9277</ZIP_CODE_EXTN>
<CITY>Palo_Alto</CITY>
</mappings>
<mappings>
<STATE_ABBREVIATION>CA</STATE_ABBREVIATION>
<ZIPCODE>95302</ZIPCODE>
<ZIP_CODE_EXTN>9279</ZIP_CODE_EXTN>
<CITY>LA</CITY>
</mappings>
<mappings>
<STATE_ABBREVIATION>TX</STATE_ABBREVIATION>
<ZIPCODE>75038</ZIPCODE>
<ZIP_CODE_EXTN>7837</ZIP_CODE_EXTN>
<CITY>DALLAS</CITY>
</mappings>
</ZIPCODES>
PL/SQL Program for XML extract.
==========
declare
charString varchar2(80);
finalStr varchar2(4000) := null;
rowsp number;
insCtx DBMS_XMLStore.ctxType;
ctx dbms_xmlgen.ctxHandle;
v_FileHandle UTL_FILE.FILE_TYPE;
begin
v_FileHandle := utl_file.fopen('XMLTEST','XML_NEW_CITIES.XML','r') ;
loop
BEGIN
utl_file.get_line(v_FileHandle, charString);
exception
when no_data_found then
utl_file.fclose(v_FileHandle);
exit;
END;
dbms_output.put_line(charString);
if finalStr is not null then
finalStr := finalStr || charString;
else
finalStr := charString;
end if;
end loop;
insCtx := DBMS_XMLStore.newContext('SYS.ZIPCODES');
dbms_xmlgen.setRowsetTag(insCtx,'ZIPCODES');
dbms_xmlgen.setRowsetTag(insCtx,'mappings');
DBMS_XMLStore.clearUpdateColumnList(insCtx);
DBMS_XMLStore.setUpdateColumn(insCtx,'ZIPCODE');
DBMS_XMLStore.setUpdateColumn(insCtx,'ZIP_CODE_EXT N');
DBMS_XMLStore.setUpdateColumn(insCtx,'STATE_ABBREV IATION');
rowsp := dbms_xmlstore.insertXML(insCtx,finalstr);
end;
Thanks,
natThanks for your reply. :)
Its working fine in the DBMS_XMLSTORE package. Here I have given the code
CREATE OR REPLACE TYPE typ_dummy AS OBJECT
( "@ENO" NUMBER,
"@ENAME" VARCHAR2(100),
eno NUMBER,
ename VARCHAR2(100));
CREATE TABLE EMP
empno VARCHAR2(25),
sal NUMBER,
hiredate DATE,
typ TYP_DUMMY
DECLARE
insCtx DBMS_XMLStore.ctxType;
rows NUMBER;
xmldoc CLOB :=
'<ROWSET>
<ROW num="1">
<SAL>1800</SAL>
<EMPNO>739</EMPNO>
<HIREDATE>27-AUG-1996</HIREDATE>
<TYP ENO="739" ENAME="Nazurullah">
<ENO> 1 </ENO>
<ENAME> ALDRIN </ENAME>
</TYP>
</ROW>
<ROW>
<SAL>18000</SAL>
<EMPNO>7369</EMPNO>
<HIREDATE>27-AUG-1996</HIREDATE>
<TYP ENO="7369" ENAME="PEPPIN" />
</ROW>
<ROW>
<SAL>37000</SAL>
<EMPNO>20701</EMPNO>
<HIREDATE>27-AUG-1996</HIREDATE>
<TYP>
<ENO> 20701 </ENO>
<ENAME> VENKATACHALAM </ENAME>
</TYP>
</ROW>
</ROWSET>';
BEGIN
insCtx := DBMS_XMLStore.newContext('emp'); -- get saved context
-- Now insert the doc.
-- This will only insert into EMPNO, SAL and HIREDATE columns
rows := DBMS_XMLStore.insertXML(insCtx, xmlDoc);
-- Close the context
DBMS_XMLStore.closeContext(insCtx);
END;
SELECT * FROM emp;
EMPNO SAL HIREDATE TYP(@ENO, @ENAME, ENO, ENAME)
739 1800 27-AUG-96 TYP_DUMMY(739, 'Nazurullah', 1, ' ALDRIN ')
7369 18000 27-AUG-96 TYP_DUMMY(7369, 'PEPPIN', NULL, NULL)
20701 37000 27-AUG-96 TYP_DUMMY(NULL, NULL, 20701, ' VENKATACHALAM ') -
To filter data in two dates using combo box component
Hi,
I have a requirement like, i need to filter data in chart between two dates from two combo box.. From combo_box and To combo_box.
I am using one QaaWS to populate LOV's into Combo box's and another QaaWS for chart data. Universe is the same one on SAP BI query.
LOV's are populating into both combo's and chart as well, i used a query refresh button after choosing two dates and press button.
Data is not reflecting as per the choice of dates.
If any one have such scenario, request you to share the same....
Thanks in advance...
Raj..Problem is with ranges, not with dates, my data is working fine with CALDAY (in BI Query)....
My query variable is on FiscalPeriod month, like "FEB 2011" to "OCT 2011" and is optional, but it is fails in QaaWS to execute when i try to input any months.
If we give default values in BI query format is like K4/010.2011 for october month. QaaWS doesnt fail and executes, but if i change any value in QaaWS it is taking as "OCT 2011"
And in Xcelsius it is not recognizing eaither of the formats like, K4/010.2011 or "OCT 2011"
the format is not matching with xcelsius. -
How to generate report from two tables using DAO design pattern?
Hi,
Iam using struts with DAO pattern for my application. According to DAO design im creating model class for each table in my database with getter,setter methods. i have no problem when im generating report from one table. but if have i have to join two tables whatis the better way for doing that? is it good practise to create a new model contains properties from both the tables?
Please help me
Thanks in Advance
RajeshDear Rajesh,
As per the pattern you are creating equivalent java objects for every database table under consideration in which each db field will become a private attribute and public getter and setter methods.
If you have to display data from one table the above approach is sufficient enough.
But in case your database is normalised ..lets take an example of Bank having Branch and Accounts tables. We dont need to repeat the whole information of the branch for every account in that branch. so we prefer to have a branch id in that table....this approach lot of insertion/deletion/updatation anomlies that may exists with the database...
now lets come back to our topic....we shall create two java objects 1) Branch 2) Account.....
When ever u just need to display simple report u can do it staright forward,,,,,now if u want to display branch information along with the account information....the two objects just created are not sufficient
So i suggest u the following approaches
1) Create an attribute of type Branch in the Accounts Object......
This shall serve the purpose of displaying the Btranch information
2) Create a collection object of type ( Vector or ArrayList) which can have objects of Account in the Branch Object,,,
Now its upto u how shall u fill up the objects with appropriate sql queries.
The method that i mentioned is followed by Oracle Toplink and Hibernate ....which provide Object to relation mapping layers.
Any queries ...revert back to me...
Mahesh -
Hi
I have KPI's for tasks performed by specific groups within our organization, the actuals are determined by an MDX tuple formula against an AS OLAP data source:
([Change Task Assignment Group].[Group Subtype].&[GDC PM], [Measures].[Average task duration - m]) /1440
The Task Name is provided by a filter, also looking at the AS OLAP data source.
This woks well and allows us to have a single scorecard for the team, providing actuals depending on the task selected from the filter. The problem comes in setting targets for the KPI's! I can only set one target for each KPI and this is
the same for which ever task is selected via the filter. The target is stored in a SharePoint list.
Is it possible to have targets for the different tasks driven by the same filter? Can a single filter be configured to return values from two data sources to both the Actual KPI value and the Target value?
ThanksA good solution. Liked it very much. Can you please make it a technet blog for others.
[email protected]
Maybe you are looking for
-
How to send output of alv report as mail
Hi Experts, I Have retrieved data from USER tables and i need to send the output of the list through mail. could you please help me in completing this task Moderator message: FAQ, please search for previous discussions of this topic. Edited by: Thoma
-
My browsing history stops after yesterday how do i fix this
Under history there is supposed to be today , yesterday, last 7 days, i think then maybe months . Well my history only has today and yesterday, How do i fix it so by browsing history is remembered longer than that.
-
How to set up forwarded mail?
I have several email addresses associated with my personal domain name that I have, that I set up on my host as forwards/aliases so I don't actually check server for mail sent to those accounts. In Apple Mail I want to be able to send out mail someti
-
Applying Keywords in Aperture - why can't I do it?
I'm trying to apply keywords to images by dragging and dropping both from the keyword HUD and the keyword panel, but nothing is happening. Nothing appears either on the image or in metadata. Am I missing something really simple (happens a lot to us s
-
Hi, I'm trying to update my table using the oData Update. Below is the code press: function(){ // BUTTON PRESS var currentCont