Where-clause for date-string
Hi specialist's,
i have a simple question about a select, but I think I do not see the forrest becaus of too many trees ...
I have a table where timestamps are stored in seconds-since-epoch.
I select a human readble format with this statement:
select to_char(DATE '1970-01-01' + TRXTIMESTAMP / (24*3600*1000), 'DD-MM-YYYY HH24:MI:SS') as timestamp from txlog;
TIMESTAMP
19-10-2013 09:31:27
19-10-2013 09:31:27
19-10-2013 09:31:27
Now I want to filter i.e. for dates of 19-01....
My first try was this:
select to_char(DATE '1970-01-01' + TRXTIMESTAMP / (24*3600*1000), 'DD-MM-YYYY HH24:MI:SS') as timestamp from txlog
where timestamp like '19-%'
Result:
ORA-00904: "TIMESTAMP": invalid identifier
My next try was this:
select to_char(DATE '1970-01-01' + TRXTIMESTAMP / (24*3600*1000), 'DD-MM-YYYY HH24:MI:SS') as timestamp from txlog
where 1 like '19%'
Result: 0 rows!
If I change this to
... where 1 like '%'
I get all rows.
What is wrong with my selects ???
Felix_GG wrote:
Hi specialist's,
i have a simple question about a select, but I think I do not see the forrest becaus of too many trees ...
I have a table where timestamps are stored in seconds-since-epoch.
I select a human readble format with this statement:
select to_char(DATE '1970-01-01' + TRXTIMESTAMP / (24*3600*1000), 'DD-MM-YYYY HH24:MI:SS') as timestamp from txlog;
TIMESTAMP
19-10-2013 09:31:27
19-10-2013 09:31:27
19-10-2013 09:31:27
Now I want to filter i.e. for dates of 19-01....
My first try was this:
select to_char(DATE '1970-01-01' + TRXTIMESTAMP / (24*3600*1000), 'DD-MM-YYYY HH24:MI:SS') as timestamp from txlog
where timestamp like '19-%'
Result:
ORA-00904: "TIMESTAMP": invalid identifier
My next try was this:
select to_char(DATE '1970-01-01' + TRXTIMESTAMP / (24*3600*1000), 'DD-MM-YYYY HH24:MI:SS') as timestamp from txlog
where 1 like '19%'
Result: 0 rows!
If I change this to
... where 1 like '%'
I get all rows.
What is wrong with my selects ???
Firstly, why not store timestamps as timestamps?
Anyway, Your first select refers to the alias 'timestamp' which is only accessible in an outer query, not from within the where clause.
Try
Select * from (
select to_char(DATE '1970-01-01' + TRXTIMESTAMP / (24*3600*1000), 'DD-MM-YYYY HH24:MI:SS') as timestamp from txlog
where timestamp like '19-%';
But timestamp is not a good choice for an alias, as it is a keyword.
Your second select is obvious - the number 1 will never be like '19%', but it will work
in the third select: as 1 is indeed like '%' (anything).
Similar Messages
-
Using multiple values in a where clause, for values only known at runtime
Dear all
I am creating a PL/SQL program which returns multiple rows of data but only where it meets a set id values that a user has previously chosen. The id values are stored in an associative array and are chosen by a user in the preceding procedure at run time.
I know all the table and column names in advance. The only things I don't know are the exact number of ids selected from the id column and what their values will be. This will only be known at runtime. When the procedure is run by the user it prints multiple rows of data to a web browser.
I have been reading the following posting, which I understand to a large extent, Query for multiple value search But I cannot seem to figure out how I would apply it to my work as I am dealing with multiple rows and a cursor.
The code as I have currently written it is wrong because I get an error not found message in my web browser. I think the var_user_chosen_map_list_ids in the for cursor loop could be the problem. I am using the variable_user_chosen_map_list_ids to store all the id values from my associatative array as a string. Which I modified from the code that vidyadhars posted in the other thread.
Should I be creating a OPEN FOR ref cursor and if so where would I put my associative array into it? At the moment I take the value, turning it into a string and IN part in the WHERE clause holds the string, allowing the WHERE clause to read all the values from it. I would expect the where clause to read everything in the string as 1 complete string of VARCHAR2 data but this would not be the case if this part of the code at least was correct. The code is as follows:
--Global variable section contains:
var_user_chosen_map_list_ids VARCHAR2(32767);
PROCEDURE PROCMAPSEARCH (par_user_chosen_map_list_ids PKG_ARR_MAPS.ARR_MAP_LIST)
IS
CURSOR cur_map_search (par_user_chosen_map_list_ids IN NUMBER)
IS
SELECT MI.map_date
MT.map_title,
FROM map_info MI,
map_title MT,
WHERE MI.map_title_id = MT.map_title_id
AND MI.map_publication_id IN
(var_user_chosen_map_list_ids);
var_map_list_to_compare VARCHAR2(32767) := '';
var_exe_imm_map VARCHAR2(32767);
BEGIN
FOR rec_user_chosen_map_list_ids IN 1 .. par_user_chosen_map_list_ids.count
LOOP
var_user_chosen_map_list_ids := var_user_chosen_map_list_ids ||
'''' ||
par_user_chosen_map_list_ids(rec_user_chosen_map_list_ids) ||
END LOOP;
var_user_chosen_map_list_ids := substr(var_user_chosen_map_list_ids,
1,
length(var_user_chosen_map_list_ids)-1);
var_exe_imm_map := 'FOR rec_search_entered_details IN cur_map_search
LOOP
htp.print('Map date: ' || cur_map_search.map_date || ' Map title: ' || cur_map_search.map_title)
END LOOP;';
END PROCMAPSEARCH;EXECUTE IMMEDIATE var_exe_imm_map;
I would be grateful of any comments or advice.
Kind regards
TimI would like to thank everyone for their kind help.
I have now successfully converted my code for use with dynamic SQL. Part of my problem was getting the concept confused a little, especially as I could get everything work in a static cursor, including variables, as long as they did not contain multiple values. I have learnt that dynamic sql runs the complete select statement at runtime. However even with this I was getting concepts confused. For example I was including variables and the terminator; inside my select string, where as these should be outside it. For example the following is wrong:
TABLE (sys.dbms_debug_vc2coll(par_user_chosen_map_list_ids))....
AND MI.map_publication_id = column_value;';Where as the following is correct:
TABLE (sys.dbms_debug_vc2coll('||par_user_chosen_map_list_ids||'))....
AND MI.map_publication_id = column_value';PL/SQL is inserting the values and then running the select statement, as opposed to running the select statement with the variables and then accessing the values stored in those variables. Once I resolved that it worked. My revised code is as follows:
--Global variable section contains:
var_user_chosen_map_list_ids VARCHAR2(32767);
var_details VARCHAR(32767);
PROCEDURE PROCMAPSEARCH (par_user_chosen_map_list_ids PKG_ARR_MAPS.ARR_MAP_LIST)
IS
BEGIN
FOR rec_user_chosen_map_list_ids IN 1 .. par_user_chosen_map_list_ids.count
LOOP
var_user_chosen_map_list_ids := var_user_chosen_map_list_ids ||
'''' ||
par_user_chosen_map_list_ids(rec_user_chosen_map_list_ids) ||
END LOOP;
var_user_chosen_map_list_ids := substr(var_user_chosen_map_list_ids,
1,
length(var_user_chosen_map_list_ids)-1);
var_details := FUNCMAPDATAFIND (var_user_chosen_map_list_ids);
htp.print(var_details);
END PROCMAPSEARCH;
FUNCTION FUNCMAPDETAILS (par_user_chosen_map_list_ids IN VARCHAR2(32767)
RETURN VARCHAR2
AS
TYPE cur_type_map_search IS REF CURSOR;
cur_map_search cur_type_map_search;
var_map_date NUMBER(4);
var_map_title VARCHAR2(32767);
begin:
OPEN cur_map_search FOR
'SELECT MI.map_date,
MT.map_title
FROM map_info MI,
map_title MT,
TABLE (sys.dbms_debug_vc2coll(' || par_user_chosen_map_list_ids || '))
WHERE MI.map_title_id = MT.map_title_id
AND MI.map_publication_id = column_value';
LOOP
FETCH cur_map_compare INTO
var_map_date,
var_map_title;
var_details := var_details || 'Map date: '||
var_map_date ||
'Map title: ' ||
var_map_title;
EXIT WHEN cur_map_compare%NOTFOUND;
END LOOP;
RETURN var_details;
END FUNCMAPDETAILS;Kind regards
Tim -
Creating WHERE clause for an outer join using DatabaseFilter
Hi all,
I read a post on thie group about constructing the WHERE clause for a RowSet Controls
SQL Query using the DatabaseFilter and this is what it said:
****************************************************************************The
following example shows adding part of a WHERE clause in an action method of a
page flow:
DatabaseFilter.FilterTerm term = new DatabaseFilter.FilterTerm(); term.sColumnName
= "name"; term.op = DatabaseFilter.opContains; // there are ops for equals, less
than, etc... term.value = form.getPartialName();
// You can also add sort terms for an ORDER BY clause allNames = dbControl.getNames(new
DatabaseFilter(new DatabaseFilter.FilterTerm[] {term}, null));
I am trying to create a where clause which uses a join like this:
Select * from x,y where x.id=y.id (+)
ie. All values from x.id but only corrosponding ones from y.id.
Is there any way to build this outer join query using the DatabaseFilter class
or am i forced to use a String which is contruct in my page flow as the where
clause?like so:
* @jc:sql command-type="grid"
* rowset-name="RFPSRowSet"
* max-rows="1000"
* statement::
* SELECT RFPS.RFP_ID,RFPS.NAME AS RFP_NAME,RFPS.FFO_NUMBER,RFPS.RFP_TYPE,RFPS.CFDA_NUMBER,COMPETITIONS.NAME
AS COMP_NAME,COMPETITIONS.COMPETITION_ID FROM RFPS,COMPETITIONS WHERE {sql: whereClause
} {sql: filter.getOrderByClause ()}
public RowSet getAllRfps(java.lang.String whereClause,DatabaseFilter filter)
throws SQLException;
and in my pageFlow action, i do the following:
StringBuffer whereClause= new StringBuffer();
whereClause.append("RFPS.RFP_ID = COMPETITIONS.RFP_ID (+)");
if ((form.getRfpTitle() != null) &&
(!form.getRfpTitle().equalsIgnoreCase("")))
whereClause.append(" AND UPPER(RFPS.NAME) LIKE %"+form.getRfpTitle().toUpperCase());
if ((form.getCfdaNumber() != null) &&
(!form.getCfdaNumber().equalsIgnoreCase("")))
whereClause.append(" AND RFPS.CFDA_NUMBER ="+form.getCfdaNumber());
if ((form.getFfoNumber() != null) &&
(!form.getFfoNumber().equalsIgnoreCase("")))
whereClause.append(" AND RFPS.FFO_NUMBER ="+form.getFfoNumber());
sortFilterService = SortFilterService.getInstance(getRequest());
DatabaseFilter filter=sortFilterService.getDatabaseFilter(getGridName());
log.debug("***********"+whereClause.toString()+"***********");
allRows = searchRfaAndComp.getAllRfps(whereClause.toString(),filter);
Thanks in advance for your help,
Regards,
Vik.Thanks for your reply. Just one more question....if we indeed are trying to use
a simple query and have a where clause like "select * from x where upper(x) like
{x}", how do we set the UPPER filter on the column using the database filter?
I see a IDENTIFIER.ISUPPER static field on that DatabaseFilter but am unsure how
to use it. Would appreciate any pointers .
Thanks again,
Vik
Eddie O'Neil <[email protected]> wrote:
Vik--
I believe that the approach that you describe below is the best one
for dealing with outer joins
with the DatabaseFilter.
Apologies for the limitation...
Eddie
vik wrote:
Hi all,
I read a post on thie group about constructing the WHERE clause fora RowSet Controls
SQL Query using the DatabaseFilter and this is what it said:
****************************************************************************The
following example shows adding part of a WHERE clause in an actionmethod of a
page flow:
DatabaseFilter.FilterTerm term = new DatabaseFilter.FilterTerm(); term.sColumnName
= "name"; term.op = DatabaseFilter.opContains; // there are ops forequals, less
than, etc... term.value = form.getPartialName();
// You can also add sort terms for an ORDER BY clause allNames = dbControl.getNames(new
DatabaseFilter(new DatabaseFilter.FilterTerm[] {term}, null));
I am trying to create a where clause which uses a join like this:
Select * from x,y where x.id=y.id (+)
ie. All values from x.id but only corrosponding ones from y.id.
Is there any way to build this outer join query using the DatabaseFilterclass
or am i forced to use a String which is contruct in my page flow asthe where
clause?like so:
* @jc:sql command-type="grid"
* rowset-name="RFPSRowSet"
* max-rows="1000"
* statement::
* SELECT RFPS.RFP_ID,RFPS.NAME AS RFP_NAME,RFPS.FFO_NUMBER,RFPS.RFP_TYPE,RFPS.CFDA_NUMBER,COMPETITIONS.NAME
AS COMP_NAME,COMPETITIONS.COMPETITION_ID FROM RFPS,COMPETITIONS WHERE{sql: whereClause
sql: filter.getOrderByClause ()}* ::
public RowSet getAllRfps(java.lang.String whereClause,DatabaseFilter
filter)
throws SQLException;
and in my pageFlow action, i do the following:
StringBuffer whereClause= new StringBuffer();
whereClause.append("RFPS.RFP_ID = COMPETITIONS.RFP_ID (+)");
if ((form.getRfpTitle() != null) &&
(!form.getRfpTitle().equalsIgnoreCase("")))
whereClause.append(" AND UPPER(RFPS.NAME) LIKE %"+form.getRfpTitle().toUpperCase());
if ((form.getCfdaNumber() != null) &&
(!form.getCfdaNumber().equalsIgnoreCase("")))
whereClause.append(" AND RFPS.CFDA_NUMBER ="+form.getCfdaNumber());
if ((form.getFfoNumber() != null) &&
(!form.getFfoNumber().equalsIgnoreCase("")))
whereClause.append(" AND RFPS.FFO_NUMBER ="+form.getFfoNumber());
sortFilterService = SortFilterService.getInstance(getRequest());
DatabaseFilter filter=sortFilterService.getDatabaseFilter(getGridName());
log.debug("***********"+whereClause.toString()+"***********");
allRows = searchRfaAndComp.getAllRfps(whereClause.toString(),filter);
Thanks in advance for your help,
Regards,
Vik. -
Where clause as variable string
I'm building a where clause as a string based on submited
form variables. As long as the form variable is an INTEGER the
query works fine. If it is a charcter or character string I get the
error: "Incorrect syntax near 'n' " where "n" was the content of
the form variable.
for example, when the form variable form.explain value is
"n":
<cfset w= " WHERE t_QUESTIONS.q_section =
dbo.t_sections.sect_ID ">
<cfif form.explain neq"">
<cfset w = w & " and t_QUESTIONS.q_explain =
'#form.explain#' " >
</cfif>
<cfquery name="q" datasource="mydsn">
SELECT t_QUESTIONS.q_ID, t_QUESTIONS.q_section,
t_QUESTIONS.q_explain,
t_sections.sect_name, dbo.t_sections.sect_ID
FROM dbo.t_QUESTIONS, dbo.t_sections
#w#
</cfquery>
returns the error: [Macromedia][SQLServer JDBC
Driver][SQLServer]Line 5: Incorrect syntax near 'n'.
Outputting the var #w# content to the screen shows:
WHERE t_QUESTIONS.q_section = dbo.t_sections.sect_ID and
t_QUESTIONS.q_explain = 'n'
which looks perfect, and the query displayed in the debugging
screen is:
SELECT t_QUESTIONS.q_ID, t_QUESTIONS.q_section,
t_QUESTIONS.q_explain, t_sections.sect_name, dbo.t_sections.sect_ID
FROM dbo.t_QUESTIONS, dbo.t_sections WHERE t_QUESTIONS.q_section =
dbo.t_sections.sect_ID and t_QUESTIONS.q_explain = ''n''
This has to be something simple, I just can't figure out what
it is. I really need to get this to work, anybody have a clue about
what's going on? (this is MX7)There is a function called PreserveSingleQuotes( ) that
should solve your problem. Check out
http://livedocs.macromedia.com/coldfusion/5.0/CFML_Reference/Functions184.htm#1110445 -
DATAMOVER: Error: Syntax error in where clause for PSOPRDEFN
SET LOG C:\PSUSER_HRM.log;
SET input F:\psoprdefn.dat;
IMPORT psoprdefn where OPRId = 'PS';
when i execute this command after importing .dat file from my database i get error:
Error: Syntax error in where clause for PSOPRDEFN
any suggestions pls help....
Thanks
aravind
Edited by: 967641 on Nov 20, 2012 11:39 AM
Edited by: 967641 on Nov 20, 2012 11:40 AMThat is correct.
Datamover tries to insert data in PSOPRDEFN and rows exist with these keys.
To avoid this you can add the following statement in your script:
SET UPDATE_DUPS;
This will update the values other than the keys if a row already exists in the database with the keys in the dat file.
I can advice you to buy the new book of Jim Marion, PeopleSoft PeopleTools Data Management and Upgrade Handbook
http://www.amazon.com/PeopleSoft-PeopleTools-Management-Upgrade-Handbook/dp/0071787925/ref=sr_1_1?ie=UTF8&qid=1353575734&sr=8-1&keywords=jim+j+marion
It has an entire chapter on how to use datamover.
Hakan -
Where clause for TaskLOVVO on OTL Timecard
Hi,
Following is the customization on our OTL timecard layout(Projects and Payroll Layout):
->Extended TaskLOVVO and based on a value selected in TaskLOV, i am defaulting Hours type.
The dynamic where clause for the TaskLOVO is taken care of by the below QUALIFIER_ATTRIBUTES(Same as seeded layout)
QUALIFIER_ATTRIBUTE14 = "HxcCuiTaskProjectId|PROJECT|Y#HxcCuiTaskProjectNumber|PROJECT-DISPLAY|Y"
QUALIFIER_ATTRIBUTE15 = "project_id = ::HxcCuiTaskProjectId#upper(project_number) = upper(::HxcCuiTaskProjectNumber)"
But in some scenarios the dynamic layout is not getting appended to TaskLOVO and the query behind the TaskLOV is pulling too many records.
This issue is happening on Fridays when around 15000 employees submit the timecards, as Friday is our deadline for Timecard submission.
I have tried different scenarios to replicate this issue in test intances but I am not able to replicate it.
Please suggest what could be the issue and why is the whereclause is not getting appended in some scenarios.
Thank youHi,
Thank you for your reply.
The whoole LDT file is more than 30000 characters, which is not allowed in the post, so I have included only the lines which have customization.
FYI: This is a Projects and Payroll layout.
Following is my LDT file:
# $Header: hxczzhxclayt0093.ldt 120.0 2008/02/08 09:26:10 bbayragi noship $
# dbdrv: exec fnd bin FNDLOAD bin &phase=dat+10 checkfile:~PROD:~PATH:~FILE &ui_apps 0 Y UPLOAD @HXC:patch/115/import/hxclaytlayoutsld.lct @~PROD:~PATH/~FILE
LANGUAGE = "US"
LDRCONFIG = "hxclaytlayoutsld.lct 120.0"
#Source Database seed121
#RELEASE_NAME 12.1.0
# -- Begin Entity Definitions --
BEGIN HXC_LAYOUT_COMPONENTS
"Projects Details Alternate Timecard Layout - Project"
OWNER = "ORACLE12.1.0"
COMPONENT_VALUE = "PROJECT"
REGION_CODE = "HXC_CUI_TIMECARD"
REGION_CODE_APP_SHORT_NAME = "HXC"
ATTRIBUTE_CODE = "HXC_TIMECARD_PROJECT"
ATTRIBUTE_CODE_APP_SHORT_NAME = "HXC"
SEQUENCE = "200"
COMPONENT_DEFINITION = "LOV"
RENDER_TYPE = "WEB"
PARENT_COMPONENT = "Projects Details Alternate Timecard Layout - Day Scope Building blocks for worker timecard matrix"
LAST_UPDATE_DATE = "2004/05/24"
BEGIN HXC_LAYOUT_COMP_QUALIFIERS
"Projects Details Alternate Timecard Layout - Project"
OWNER = "ORACLE12.1.0"
QUALIFIER_ATTRIBUTE_CATEGORY = "LOV"
QUALIFIER_ATTRIBUTE1 = "ProjectLOVVO"
QUALIFIER_ATTRIBUTE2 = "N"
QUALIFIER_ATTRIBUTE3 = "HXC_CUI_PROJECT_DETAILS_LOV"
QUALIFIER_ATTRIBUTE4 = "809"
QUALIFIER_ATTRIBUTE5 = "25"
QUALIFIER_ATTRIBUTE6 = "HxcCuiProjectDetails|PROJECT-DISPLAY|CRITERIA|N|HxcCuiProjectId|PROJECT|RESULT|N|HxcCuiProjectDetails|PROJECT-DISPLAY|RESULT|N|HxcCuiProjectCoOrgId|LOCATION1|RESULT|N|HxcCuiProjectName|CNAME|RESULT|N"
QUALIFIER_ATTRIBUTE8 = "ProjectDetails"
QUALIFIER_ATTRIBUTE9 = "ProjectId#NUMBER"
QUALIFIER_ATTRIBUTE10 = "oracle.apps.hxc.selfservice.timecard.server.ProjectLOVVO"
QUALIFIER_ATTRIBUTE11 = "RESOURCE_IDENTIFIER_ID"
QUALIFIER_ATTRIBUTE17 = "OraTableCellText"
QUALIFIER_ATTRIBUTE20 = "N"
QUALIFIER_ATTRIBUTE21 = "Y"
QUALIFIER_ATTRIBUTE22 = "L"
QUALIFIER_ATTRIBUTE25 = "FLEX"
QUALIFIER_ATTRIBUTE26 = "PROJECTS"
QUALIFIER_ATTRIBUTE27 = "Attribute1"
QUALIFIER_ATTRIBUTE28 = "PROJECT"
LAST_UPDATE_DATE = "2004/05/24"
END HXC_LAYOUT_COMP_QUALIFIERS
END HXC_LAYOUT_COMPONENTS
BEGIN HXC_LAYOUT_COMPONENTS
"Projects Details Alternate Timecard Layout - Task"
OWNER = "ORACLE12.1.0"
COMPONENT_VALUE = "TASK"
REGION_CODE = "HXC_CUI_TIMECARD"
REGION_CODE_APP_SHORT_NAME = "HXC"
ATTRIBUTE_CODE = "HXC_TIMECARD_TASK"
ATTRIBUTE_CODE_APP_SHORT_NAME = "HXC"
SEQUENCE = "210"
COMPONENT_DEFINITION = "LOV"
RENDER_TYPE = "WEB"
PARENT_COMPONENT = "Projects Details Alternate Timecard Layout - Day Scope Building blocks for worker timecard matrix"
LAST_UPDATE_DATE = "2004/05/24"
BEGIN HXC_LAYOUT_COMP_PROMPTS "HxcCuiTaskProjectId" "AK_PROMPT"
OWNER = "ORACLE12.1.0"
REGION_CODE = "HXC_CUI_TIMECARD"
REGION_APP_SHORT_NAME = "HXC"
ATTRIBUTE_CODE = "HXC_TIMECARD_PROJECT"
ATTRIBUTE_APP_SHORT_NAME = "HXC"
LAST_UPDATE_DATE = "2004/05/24"
END HXC_LAYOUT_COMP_PROMPTS
BEGIN HXC_LAYOUT_COMP_QUALIFIERS
"Projects Details Alternate Timecard Layout - Task"
OWNER = "ORACLE12.1.0"
QUALIFIER_ATTRIBUTE_CATEGORY = "LOV"
QUALIFIER_ATTRIBUTE1 = "TaskLOVVO"
QUALIFIER_ATTRIBUTE2 = "N"
QUALIFIER_ATTRIBUTE3 = "HXC_CUI_TASK_DETAILS_LOV"
QUALIFIER_ATTRIBUTE4 = "809"
QUALIFIER_ATTRIBUTE5 = "10"
QUALIFIER_ATTRIBUTE6 = "HxcCuiTaskDetails|TASK-DISPLAY|CRITERIA|N|HxcCuiTaskProjectId|PROJECT|PASSIVE_CRITERIA|Y|HxcCuiTaskId|TASK|RESULT|N|HxcCuiTaskDetails|TASK-DISPLAY|RESULT|N|HxcCuiTaskBillableFlag|EXPTYPE|RESULT|N"
QUALIFIER_ATTRIBUTE8 = "TaskDetails"
QUALIFIER_ATTRIBUTE9 = "TaskId#NUMBER"
QUALIFIER_ATTRIBUTE10 = "oracle.apps.hxc.selfservice.timecard.server.TaskLOVVO"
QUALIFIER_ATTRIBUTE11 = "RESOURCE_IDENTIFIER_ID|TIMECARD_BIND_END_DATE"
QUALIFIER_ATTRIBUTE14 = "HxcCuiTaskProjectId|PROJECT|Y#HxcCuiTaskProjectNumber|PROJECT-DISPLAY|Y"
QUALIFIER_ATTRIBUTE15 = "project_id = ::HxcCuiTaskProjectId#upper(project_number) = upper(::HxcCuiTaskProjectNumber)"
QUALIFIER_ATTRIBUTE17 = "OraTableCellText"
QUALIFIER_ATTRIBUTE20 = "N"
QUALIFIER_ATTRIBUTE21 = "Y"
QUALIFIER_ATTRIBUTE22 = "L"
QUALIFIER_ATTRIBUTE25 = "FLEX"
QUALIFIER_ATTRIBUTE26 = "PROJECTS"
QUALIFIER_ATTRIBUTE27 = "Attribute2"
QUALIFIER_ATTRIBUTE28 = "TASK"
LAST_UPDATE_DATE = "2004/05/24"
END HXC_LAYOUT_COMP_QUALIFIERS
END HXC_LAYOUT_COMPONENTS
BEGIN HXC_LAYOUT_COMPONENTS
"Projects Details Alternate Timecard Layout - Location"
OWNER = "CUSTOM"
COMPONENT_VALUE = "LOCATION"
REGION_CODE = "HXC_CUI_TIMECARD"
REGION_CODE_APP_SHORT_NAME = "HXC"
ATTRIBUTE_CODE = "HXC_CUI_LOCATION_LABEL"
ATTRIBUTE_CODE_APP_SHORT_NAME = "HXC"
SEQUENCE = "215"
COMPONENT_DEFINITION = "CHOICE_LIST"
RENDER_TYPE = "WEB"
PARENT_COMPONENT = "Projects Details Alternate Timecard Layout - Day Scope Building blocks for worker timecard matrix"
LAST_UPDATE_DATE = "2004/05/24"
BEGIN HXC_LAYOUT_COMP_QUALIFIERS "Projects Details Alternate Timecard Layout - Location"
OWNER = "CUSTOM"
QUALIFIER_ATTRIBUTE_CATEGORY = "CHOICE_LIST"
QUALIFIER_ATTRIBUTE1 = "Custom2VO"
QUALIFIER_ATTRIBUTE4 = "N"
# QUALIFIER_ATTRIBUTE5 = "10"
# QUALIFIER_ATTRIBUTE8 = "DisplayValue"
# QUALIFIER_ATTRIBUTE9 = "Value#NUMBER"
QUALIFIER_ATTRIBUTE10 = "oracle.apps.hxc.selfservice.timecard.server.Custom2VO"
QUALIFIER_ATTRIBUTE17 = "OraTableCellText"
QUALIFIER_ATTRIBUTE20 = "N"
QUALIFIER_ATTRIBUTE21 = "Y"
QUALIFIER_ATTRIBUTE22 = "L"
QUALIFIER_ATTRIBUTE25 = "FLEX"
QUALIFIER_ATTRIBUTE26 = "Dummy Element Context"
QUALIFIER_ATTRIBUTE27 = "Attribute15"
QUALIFIER_ATTRIBUTE28 = "LOCATION1"
LAST_UPDATE_DATE = "2004/05/24"
END HXC_LAYOUT_COMP_QUALIFIERS
END HXC_LAYOUT_COMPONENTS
BEGIN HXC_LAYOUT_COMPONENTS "Projects Details Alternate Timecard Layout - Expenditure Type"
OWNER = "ORACLE"
COMPONENT_VALUE = "EXPENDITURETYPE"
REGION_CODE = "HXC_CUI_TIMECARD"
REGION_CODE_APP_SHORT_NAME = "HXC"
ATTRIBUTE_CODE = "HXC_TIMECARD_EXPTYPE"
ATTRIBUTE_CODE_APP_SHORT_NAME = "HXC"
SEQUENCE = "225"
COMPONENT_DEFINITION = "PACKAGE_CHOICE_LIST"
RENDER_TYPE = "WEB"
PARENT_COMPONENT = "Projects Details Alternate Timecard Layout - Day Scope Building blocks for worker timecard matrix"
LAST_UPDATE_DATE = "2004/05/23"
BEGIN HXC_LAYOUT_COMP_QUALIFIERS "Projects Details Alternate Timecard Layout - Expenditure Type"
OWNER = "ORACLE"
QUALIFIER_ATTRIBUTE_CATEGORY = "PACKAGE_CHOICE_LIST"
QUALIFIER_ATTRIBUTE1 = "BOLINF.XXHXC_TYPE_CHOICE.EXPTTYPE"
QUALIFIER_ATTRIBUTE2 = "@RESOURCE_IDENTIFIER_ID|@TIMECARD_BIND_END_DATE"
QUALIFIER_ATTRIBUTE4 = "N"
QUALIFIER_ATTRIBUTE8 = "aliasname"
QUALIFIER_ATTRIBUTE9 = "value#NUMBER"
QUALIFIER_ATTRIBUTE20 = "N"
QUALIFIER_ATTRIBUTE21 = "Y"
QUALIFIER_ATTRIBUTE22 = "R"
QUALIFIER_ATTRIBUTE24 = "ET_EXPENDITURE_TYPE"
QUALIFIER_ATTRIBUTE25 = "FLEX"
QUALIFIER_ATTRIBUTE26 = "OTL_ALIAS_1"
QUALIFIER_ATTRIBUTE27 = "Attribute1"
QUALIFIER_ATTRIBUTE28 = "EXPTYPE"
LAST_UPDATE_DATE = "2004/05/24"
END HXC_LAYOUT_COMP_QUALIFIERS
END HXC_LAYOUT_COMPONENTS
BEGIN HXC_LAYOUT_COMPONENTS "Projects Details Alternate Timecard Layout - Customer name"
OWNER = "ORACLE"
REGION_CODE = "HXC_CUI_TIMECARD"
REGION_CODE_APP_SHORT_NAME = "HXC"
ATTRIBUTE_CODE = "XXTW_HXC_TIMECARD_CUST_NAME"
ATTRIBUTE_CODE_APP_SHORT_NAME = "HXC"
SEQUENCE = "205"
COMPONENT_DEFINITION = "TEXT_FIELD"
RENDER_TYPE = "WEB"
PARENT_COMPONENT = "Projects Details Alternate Timecard Layout - Day Scope Building blocks for worker timecard matrix"
LAST_UPDATE_DATE = "2004/05/24"
BEGIN HXC_LAYOUT_COMP_QUALIFIERS "Projects Details Alternate Timecard Layout - Customer name"
OWNER = "ORACLE"
QUALIFIER_ATTRIBUTE_CATEGORY = "TEXT_FIELD"
QUALIFIER_ATTRIBUTE1 = "N"
QUALIFIER_ATTRIBUTE2 = "Y"
QUALIFIER_ATTRIBUTE3 = "20"
QUALIFIER_ATTRIBUTE4 = "1"
QUALIFIER_ATTRIBUTE5 = "20"
QUALIFIER_ATTRIBUTE7 = "OraTableCellText"
QUALIFIER_ATTRIBUTE17 = "NONE"
QUALIFIER_ATTRIBUTE20 = "Y"
QUALIFIER_ATTRIBUTE21 = "Y"
QUALIFIER_ATTRIBUTE22 = "L"
QUALIFIER_ATTRIBUTE25 = "FLEX"
QUALIFIER_ATTRIBUTE26 = "PROJECTS"
QUALIFIER_ATTRIBUTE27 = "Attribute9"
QUALIFIER_ATTRIBUTE28 = "CNAME"
QUALIFIER_ATTRIBUTE30 = "Y"
LAST_UPDATE_DATE = "2004/05/24"
END HXC_LAYOUT_COMP_QUALIFIERS
END HXC_LAYOUT_COMPONENTS
And the query in TASKLOVVO:
SELECT task.task_number tasknumber, task.task_name, task_details taskdetails, task.task_id taskid, bolinf.GETALIASID(proj.project_type,proj.project_id,task.task_id, :1, :2) billable_flag, task.project_id, task.start_date, task.completion_date, task.chargeable_flag, proj.project_number , proj.project_details from pa_online_tasks_v task ,pa_online_projects_v proj where proj.project_id = task.project_id
In the above query GETALIASID is a custom function that returns a value.
Thank you
Edited by: Santo on Mar 18, 2013 2:12 PM -
ADF dynamic where clause for VO query using BC
I'm hoping someone can help me out. I have a read only view object that I want to filter results based on some user choices. For example the user may want to see all results or they may only want to see a much smaller subset. This is for an error dashboard, the smaller subset maybe by application or maybe by application and by error severity. I think I can use a dynamic where clause but I'm not sure, Can someone get me started down the right path, or post an example that I can see.
Hi user,
You can use a dynamic where clause for this, but maybe there is a more practical option. Maybe you can have a fixed where clause, but using a bind parameter, like:
vo.application like :applicationParam. This makes an executeWithParams method available that you can call from your page, and use in the bindings. This parameter you can populate with the results of for example a poplist, with a default value of '%'.
When you do want to use a dynamic where clause, you will need to add a method to the java code of your application module, and make this method available for the client. In this method, you can use findViewObject to retrieve your VO, use VO.setWhereClause to set the whereclause to what you want, and then call VO.executeQuery. This method can then again be called from the page.
Success,
Jeroen van Veldhuizen -
Dynamic where clause for MULTIPLE values
In the following of dynamic where clause?
i have some somewhat different problem.
Is a dynamic where clause for multiple values possible?
If the inputvariable varCode1,varCode2,varCode3,varCode4 are 0 then show all id's otherwise filter the resultset on var1 and/or var2,and/or var3,and/or var4.
Example table:
create table t
(d int,var int);
insert into t values (1 ,1 );
insert into t values (2 ,1 );
insert into t values (3 ,2 );
insert into t values (4 ,3 );
insert into t values (5 ,4 );
insert into t values (6 ,4 );
insert into t values (7 ,4 );
insert into t values (8 ,4 );
insert into t values (9 ,5 );
insert into t values (10, 6);
insert into t values (11, 6);
So what i want to change the where clause upon the value of the varCodes. If var1 and var are not 0 a "AND" should be used otherwise an "OR"
select id
from tst
where var = DECODE( :varCode1, 0, var, :varCode1)
or/and(?) DECODE( :varCode2, 0, var, :varCode2)
or DECODE( :varCode3, 0, var, :varCode3)
or DECODE( :varCode4, 0, var, :varCode4)Please turn off your Caps Lock
and try this link
Dynamic WHERE clause -
Validation For Date,String and Date in a reports Region
Apex 4
Good day to all apex users How do I validate a apex_item.text if the value is string the user can only input a string value if it is number then the user can input numbers only and if it is a date the user can only input a date values?APEX_ITEMS are not part of the default apex gui... In fact they are just functions which returns html.
You can however do some stuff with the attributes parameters. You can find some cool stuff over here: Re: Validation For Date,String and Date in a reports Region
If you want apex validation you need to create a page validation and loop over your apex_items with apex_application.g_f0x
Br,
Nico -
I am creating a coditional query for one of my data blocks.
What I need to do is build a where clause on the fly and pass
that back to my block using the Set_BLock_Property built in. I
am able to do this but I am having problems with the fact that I
don't know how to correctly pass a date back. It seems when
specifying a date in a where clause it needs to have single
quotes around this. But when ever I try to embed the quotes in
the string I am not successful. I have even tried appending the
quotes using the chr function doing something like.
Where_Clause := 'Birthday <= 'Spencer,
I think chr(39) will give you the correct character. For example,
Where_Clause := 'Birthday <= ' -
How to construct the where clause for a nested xml target file
Post Author: jlpete72
CA Forum: Data Integration
I'm having some problems getting the desired results creating a multi-level nested xml file. Specifically, it does not seem that the where clause in the child schemas respects values from parent schemas. I'm sure I'm constructing something incorrectly, but am running out of ideas.
I am working with the classic company/order/line hierarchy and there are three levels of output schemas in my target xml file, one for company, order header and order line information.
For testing, I have hardcoded a restriction at the order header line to deal with only one order. But unless I hardcode values into the where clause at the order line level of the schema, all values are returned for orders belonging to the company defined in the company level.
I'm trying a where clause at the order line level similar to:
order_line.customer = order_header.customer and order_line.order_num = order_header.order_num
If the customer has more than one order in the data file, then all orders for that customer are placed in the detail for the order header. Only if I hard code the order number in the where clause do I get only the lines for the order specified in the header section. Not very practical.
What am I missing?An External Parsed Entity could be used to reference a schema.
In your DTD:
<!ENTITY datamodules SYSTEM "file:///c:/Datamodules/Datamodules.xsd">
Refer the external entity in xml document:
<datamodules>&datamodules;</datamodules> -
I'm running Forms 6i client/server.
I have defined a where clause in the Property Palette for a Data Block.
What I like to do is to extend the where clause with a subquery, but
how can this be done? I mean, should I put the code in a trigger, which trigger?
Regards
Roarsimple where clause with sub_query
My block has name is dc_gmod. In the where pallete I put the text (and the all is work good!!!):
exists
select 1 from ttt.xxxxx_table v
where (dc_gmod.cd_gmod = v.cd_gmod)
and
(instr(:fst.tmp_nm,cd_place,1) > 0
or
cd_place IN
(select U_UNIT from ttt.xxxxxxxxx_tabe
where RG_U = :QA.RG_UNIT_RUN
AND SID = :QA.SID
AND SERIAL# = :QA.SERIAL
1.The dc_gmod.cd_gmod - is full name my block_name and item_name.
2. The ttt.xxxxx_table is full name of my table what is source for block dc_gmod
3. The cd_place is ITEM of BLOCK dc_gmod -
Default where clause for different users
Hi!
Is it possible to implement a different where clause to the filter for when different users log into the application?
Let's say I have a table DEPARTMENTS and users Mark and John.
I would like the following:
When Mark logs in and opens the report, it will have the following data:
select * from DEPARTMENTS where REGION='EUROPE';
Where John logs in and opens the report, he will see:
select * from DEPARTMENTS where REGION='NORTH AMERICA';
Thanks!Hi,
if you go to the Security tab in Edit Application Properties you will find a section called Database Session. This is where you can set a session context that can be used by a database feature called Virtual Private Database (VPD) or Fine Grained Access Control (FGAC). This is a feature where the database can be set up to automatically modify any query in order to add extra query filters that have a context, usually related to the logged on user, thus allowing only access to relevant data. I would suggest the you read up on this feature as it is the recommended method of applying security in a row wise fashion.
Regards
Andre -
Urgent: "where" clause for polling database Adapter
Hi
I am creating a database Polling (logical delete OPEN to CLOSED) adapter that polls a table for records which have a "SCHEDULED" date field.
The Polling Adapter should pick up those records where the status is OPEN and SCHEDULED<=SYSDATE.
DB Adapter wizard does not allows this where clause(SCHEDULED<=SYSDATE) to be set; so i tried modifying the Toplink SQL with custom SQL. But it does not works. Please suggest a workaround.
Please help.
Thanks
DebashisHi
Please refer ..\SOA_HOME\bpel\samples\tutorials\122.DBAdapter\advanced\polling\PollingPureSQLOtherTableInsert Readme.txt and Note 873991.1 How To Use Custom SQL To Poll Database Tables Via Database Adapter LogicalDeletePollingStrategy.
This works.
thanks
--debashis -
Correct way to do "where " clause on date type column
Hi,
I am using a following query in Oracle 10.2.0.3 express edition database to retrieve the rows greater than a certain date.
select from FLOWS_020100.WWV_FLOW_ACTIVITY_LOG1$ where TIME_STAMP > to_date('31-OCT-12');*
This query returns all the rows including the rows with TIME_STAMP == '31-OCT-12'.
This TIME_STAMP column is defined as below in this table:
COLUMN_NAME DATA_TYPE DATA_LENGTH NULLABLE CONSTRAINT_TYPE INDEX_TYPE
TIME_STAMP DATE 7 N C NORMAL
Table has 420 rows with '31-OCT-12' being the smallest date and '16-NOV-12' being the biggest.
Is there anything wrong in my above query?
Why is ">" returning the rows that include primary key where-clause value also?
Can you please guide what is the correct syntax for this date comparison?
Thanks for your time and help.
Best Regards.907882 wrote:
Hi,
I am using a following query in Oracle 10.2.0.3 express edition database to retrieve the rows greater than a certain date.
select from FLOWS_020100.WWV_FLOW_ACTIVITY_LOG1$ where TIME_STAMP > to_date('31-OCT-12');*
This query returns all the rows including the rows with TIME_STAMP == '31-OCT-12'.
This TIME_STAMP column is defined as below in this table:
COLUMN_NAME DATA_TYPE DATA_LENGTH NULLABLE CONSTRAINT_TYPE INDEX_TYPE
TIME_STAMP DATE 7 N C NORMAL
Table has 420 rows with '31-OCT-12' being the smallest date and '16-NOV-12' being the biggest.
Is there anything wrong in my above query?
Why is ">" returning the rows that include primary key where-clause value also?
Can you please guide what is the correct syntax for this date comparison?
Thanks for your time and help.
Best Regards.Remember that a date column also contains a time part. Therefore your query would pick up
rows with a time_stamp of 31-Oct-12 13:40:09, for example. Now that is greater than 31-Oct-12
(which is really 31-Oct-12 00:00:00), so it is picked up.
You probably want >= to_date('1-Nov-2012', 'dd-mon-yyyy')
Note: always use a format mask in a to_date, otherwise if the default format mask changes, your code will break.
BTW: please mark your threads as answered, if they have been:
>
Handle: 907882
Status Level: Newbie
Registered: Jan 13, 2012
Total Posts: 9
Total Questions: 6 (5 unresolved)
>
Edited by: Paul Horth on Nov 27, 2012 9:30 AM
Maybe you are looking for
-
Need to restrict values in F4 help for Batch Characteristic
Hi, I need to restrict values in F4 Help for a batch characteristic based on values entered for another characteristic. I could not find any BADI or Exit for this purpose. There is a BADI CACL_VALUE which is triggered after an entry is selected from
-
I've spent 1/2 the day trying to troubleshoot this problem and finally give up. My client has a Windows Server 2012 Essentials server (with all updates installed - no errors in error logs nor SFC /SCANNOW). Purchased a new Windows 8 Pro computer, wh
-
Installing NW2004's SR2 ABAP+JAVA Central Instance
Dear all. I have pass the other erros but i'm getting this error message: ERROR 2007-03-02 17:28:40 CJS-30199 The CTC classes were not found after waiting for 900 seconds. ERROR 2007-03-02 20:10:35 FCO-00011 The step configCAFUiAdmin with step k
-
Config - files ???
is there any built-in functions for reading/writing configfiles in JAVA? if there is(I think I saw some examples somewhere, but I do not rember where) please give me a link where I can find examples thanks in advance .leonard
-
Adobe says that my serial number is correct, but it can't find my product (standard design CS6) on my computer and then it tells me to pick my product from a list but the only product that is not there is mine!!! What can I do?