Modifying this trigger
dear all;
I need to modify this simple trigger to occur for these cases
create or replace trigger expiry_sync
after update on table_two
for each row
begin
update table_one i
set i.expiry =
case
when :new.period = 'Years'
then
add_months(i.begin_date, :new.life_number * 12)
when :new.period = 'Months'
then
add_months(i.begin_date, :new.life_number)
when :new.period = 'Days'
then
i.begin_date + :new.life_number
end
where
i.part_number = :new.part_number
and i.i_vendors = :new.vendors;
end;now i would like to include this case as well...basically if we have a situation where the i_vendor doesnt match with the :new.vendors from table_two, then it should check to see if there is a vendor that says default in the table_two and if there is one then it should go with the fields/characteristics associated with the default vendor....
Edited by: user13328581 on Feb 3, 2011 8:19 AM
Hi,
The reason I confused you with my two-trigger suggestion was that I mis-understood what you want to do. Could you please post an example or tow of a normal update (where you don't have to use a default vendor) and an abnormal update (where you do)?
That is, assume the tables are as you posted them earlier. Post a couple of UPDATE statements for table_two, and show me what table_one should look like after each one.
Here's an example of a package that asigns values to SYS_CONTEXT variables. The package has 2 procedures, for modualrity:
(1) set_all finds all the 'DEFAULT' rows in table_two, and, for each such row, assigns values to a couple of variables
(2) set_var assigns a given value to a given variable
This assumes that your schema name is FUBAR. It creates a SYS_CONTEXT namespace called TABLE_TWO_DEFAULT, and a package called TABLE_TWO_PKG that can assign variables in that namespace. (Any procedure or query can call SYS_CONTEXT to read the variables in the namespace; no special pivileges are required.)
CREATE OR REPLACE PACKAGE table_two_pkg
AS
PROCEDURE set_all
PROCEDURE set_var
( in_name IN VARCHAR2
, in_text IN VARCHAR2 DEFAULT NULL -- New value
END table_two_pkg;
SHOW ERRORS
CREATE OR REPLACE PACKAGE BODY table_two_pkg
AS
-- NOTE: Before using this package, SYSTEM (or some other authorized user)
-- must issue the following SQL statement:
-- CREATE OR REPLACE CONTEXT table_two_default USING fubar.table_two_pkg;
-- The preceding only needs to be doen once in the lifetime of the application.
-- ** s e t _ a l l **
-- set_all
PROCEDURE set_all
IS
BEGIN
FOR d_rec IN ( SELECT *
FROM table_two
WHERE vendors = 'DEFAULT'
LOOP
dbms_output.put_line (d_rec.period || '= period in set_all');
set_var ( d_rec.id || '_LIFE_NUMBER'
, TO_CHAR (d_rec.life_number)
set_var ( d_rec.id || '_PERIOD'
, d_rec.period)
END LOOP;
END set_all
-- ** s e t _ v a r **
-- set_var assigns a vlaue to a single variable in the
-- table_two_default namespace.
PROCEDURE set_var
( in_name IN VARCHAR2
, in_text IN VARCHAR2 DEFAULT NULL -- New value
IS
BEGIN
dbms_session.set_context
'TABLE_TWO_DEFAULT',
in_name,
in_text
END set_var;
END table_two_pkg;
SHOW ERRORS
EXEC table_two_pkg.set_all;After you have run set_all, then, instead of querying table_two like this:
SELECT period
INTO v_period
FROM table_two
WHERE id = 'C'
AND vendors = 'DEFAULT';you can simply do this:
v_period := SYS_CONTEXT ( 'TABLE_TWO_DEFAULT'
, 'C_PERIOD'
);Since table_two is only queried when set_all is called, you can use SYS_CONTEXT in a trigger on table_two.
This job is a little more confusing than some SYS_CONTEXT applications, because (as I understand it) you want something two-dimensional , that is, might want any column from any row of table_two. I combined those two dimesions into one, by changing what would otherwise be varibale names like LIFE_NUMBER or PERIOD to C_LIFE_NUMBER and C_PERIOD, where C is the id from that row. (This assumes that id is unique among DEFAULT rows.)
Similar Messages
-
Please assist with modifying this script to read in a list of servers and output results to excel
Hello,
I have an excellent script written by Brian Wilhite to gather the last logged in user using Powershell.
http://gallery.technet.microsoft.com/scriptcenter/Get-LastLogon-Determining-283f98ae/view/Discussions#content
My Powershell Fu is stumbling to modify this script to the following requirements:
Currently the script must be loaded first into Powershell, then it can be executed. I would rather edit the script in my Powershell ISE, add the .txt file to the script itself that gives a list of the servers I need to scan. Then when I
press Run Script in my ISE it executes.
I would also like to output the results of the file to excel (.xls or .csv will do). Currently the results look as follows:
Computer : SVR01
User : WILHITE\BRIAN
SID : S-1-5-21-012345678-0123456789-012345678-012345
Time : 9/20/2012 1:07:58 PM
CurrentlyLoggedOn : False
I would prefer it shows up like so:
Computer User SID Time Currently LoggedOn
SVR01 WILHITE\BRIAN S-1xxx 9/20/2012 1:07:58 PM FalseSRV02 WILHITE\BRIAN S-2xxx 9/26/2014 10:00:00 AM True
Any help you can provide would be greatly appreciated. I'll add the full script to the end of this post.
Thank you.
Function Get-LastLogon
<#
.SYNOPSIS
This function will list the last user logged on or logged in.
.DESCRIPTION
This function will list the last user logged on or logged in. It will detect if the user is currently logged on
via WMI or the Registry, depending on what version of Windows is running on the target. There is some "guess" work
to determine what Domain the user truly belongs to if run against Vista NON SP1 and below, since the function
is using the profile name initially to detect the user name. It then compares the profile name and the Security
Entries (ACE-SDDL) to see if they are equal to determine Domain and if the profile is loaded via the Registry.
.PARAMETER ComputerName
A single Computer or an array of computer names. The default is localhost ($env:COMPUTERNAME).
.PARAMETER FilterSID
Filters a single SID from the results. For use if there is a service account commonly used.
.PARAMETER WQLFilter
Default WQLFilter defined for the Win32_UserProfile query, it is best to leave this alone, unless you know what
you are doing.
Default Value = "NOT SID = 'S-1-5-18' AND NOT SID = 'S-1-5-19' AND NOT SID = 'S-1-5-20'"
.EXAMPLE
$Servers = Get-Content "C:\ServerList.txt"
Get-LastLogon -ComputerName $Servers
This example will return the last logon information from all the servers in the C:\ServerList.txt file.
Computer : SVR01
User : WILHITE\BRIAN
SID : S-1-5-21-012345678-0123456789-012345678-012345
Time : 9/20/2012 1:07:58 PM
CurrentlyLoggedOn : False
Computer : SVR02
User : WILIHTE\BRIAN
SID : S-1-5-21-012345678-0123456789-012345678-012345
Time : 9/20/2012 12:46:48 PM
CurrentlyLoggedOn : True
.EXAMPLE
Get-LastLogon -ComputerName svr01, svr02 -FilterSID S-1-5-21-012345678-0123456789-012345678-012345
This example will return the last logon information from all the servers in the C:\ServerList.txt file.
Computer : SVR01
User : WILHITE\ADMIN
SID : S-1-5-21-012345678-0123456789-012345678-543210
Time : 9/20/2012 1:07:58 PM
CurrentlyLoggedOn : False
Computer : SVR02
User : WILIHTE\ADMIN
SID : S-1-5-21-012345678-0123456789-012345678-543210
Time : 9/20/2012 12:46:48 PM
CurrentlyLoggedOn : True
.LINK
http://msdn.microsoft.com/en-us/library/windows/desktop/ee886409(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/system.security.principal.securityidentifier.aspx
.NOTES
Author: Brian C. Wilhite
Email: [email protected]
Date: "09/20/2012"
Updates: Added FilterSID Parameter
Cleaned Up Code, defined fewer variables when creating PSObjects
ToDo: Clean up the UserSID Translation, to continue even if the SID is local
#>
[CmdletBinding()]
param(
[Parameter(Position=0,ValueFromPipeline=$true)]
[Alias("CN","Computer")]
[String[]]$ComputerName="$env:COMPUTERNAME",
[String]$FilterSID,
[String]$WQLFilter="NOT SID = 'S-1-5-18' AND NOT SID = 'S-1-5-19' AND NOT SID = 'S-1-5-20'"
Begin
#Adjusting ErrorActionPreference to stop on all errors
$TempErrAct = $ErrorActionPreference
$ErrorActionPreference = "Stop"
#Exclude Local System, Local Service & Network Service
}#End Begin Script Block
Process
Foreach ($Computer in $ComputerName)
$Computer = $Computer.ToUpper().Trim()
Try
#Querying Windows version to determine how to proceed.
$Win32OS = Get-WmiObject -Class Win32_OperatingSystem -ComputerName $Computer
$Build = $Win32OS.BuildNumber
#Win32_UserProfile exist on Windows Vista and above
If ($Build -ge 6001)
If ($FilterSID)
$WQLFilter = $WQLFilter + " AND NOT SID = `'$FilterSID`'"
}#End If ($FilterSID)
$Win32User = Get-WmiObject -Class Win32_UserProfile -Filter $WQLFilter -ComputerName $Computer
$LastUser = $Win32User | Sort-Object -Property LastUseTime -Descending | Select-Object -First 1
$Loaded = $LastUser.Loaded
$Script:Time = ([WMI]'').ConvertToDateTime($LastUser.LastUseTime)
#Convert SID to Account for friendly display
$Script:UserSID = New-Object System.Security.Principal.SecurityIdentifier($LastUser.SID)
$User = $Script:UserSID.Translate([System.Security.Principal.NTAccount])
}#End If ($Build -ge 6001)
If ($Build -le 6000)
If ($Build -eq 2195)
$SysDrv = $Win32OS.SystemDirectory.ToCharArray()[0] + ":"
}#End If ($Build -eq 2195)
Else
$SysDrv = $Win32OS.SystemDrive
}#End Else
$SysDrv = $SysDrv.Replace(":","$")
$Script:ProfLoc = "\\$Computer\$SysDrv\Documents and Settings"
$Profiles = Get-ChildItem -Path $Script:ProfLoc
$Script:NTUserDatLog = $Profiles | ForEach-Object -Process {$_.GetFiles("ntuser.dat.LOG")}
#Function to grab last profile data, used for allowing -FilterSID to function properly.
function GetLastProfData ($InstanceNumber)
$Script:LastProf = ($Script:NTUserDatLog | Sort-Object -Property LastWriteTime -Descending)[$InstanceNumber]
$Script:UserName = $Script:LastProf.DirectoryName.Replace("$Script:ProfLoc","").Trim("\").ToUpper()
$Script:Time = $Script:LastProf.LastAccessTime
#Getting the SID of the user from the file ACE to compare
$Script:Sddl = $Script:LastProf.GetAccessControl().Sddl
$Script:Sddl = $Script:Sddl.split("(") | Select-String -Pattern "[0-9]\)$" | Select-Object -First 1
#Formatting SID, assuming the 6th entry will be the users SID.
$Script:Sddl = $Script:Sddl.ToString().Split(";")[5].Trim(")")
#Convert Account to SID to detect if profile is loaded via the remote registry
$Script:TranSID = New-Object System.Security.Principal.NTAccount($Script:UserName)
$Script:UserSID = $Script:TranSID.Translate([System.Security.Principal.SecurityIdentifier])
}#End function GetLastProfData
GetLastProfData -InstanceNumber 0
#If the FilterSID equals the UserSID, rerun GetLastProfData and select the next instance
If ($Script:UserSID -eq $FilterSID)
GetLastProfData -InstanceNumber 1
}#End If ($Script:UserSID -eq $FilterSID)
#If the detected SID via Sddl matches the UserSID, then connect to the registry to detect currently loggedon.
If ($Script:Sddl -eq $Script:UserSID)
$Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]"Users",$Computer)
$Loaded = $Reg.GetSubKeyNames() -contains $Script:UserSID.Value
#Convert SID to Account for friendly display
$Script:UserSID = New-Object System.Security.Principal.SecurityIdentifier($Script:UserSID)
$User = $Script:UserSID.Translate([System.Security.Principal.NTAccount])
}#End If ($Script:Sddl -eq $Script:UserSID)
Else
$User = $Script:UserName
$Loaded = "Unknown"
}#End Else
}#End If ($Build -le 6000)
#Creating Custom PSObject For Output
New-Object -TypeName PSObject -Property @{
Computer=$Computer
User=$User
SID=$Script:UserSID
Time=$Script:Time
CurrentlyLoggedOn=$Loaded
} | Select-Object Computer, User, SID, Time, CurrentlyLoggedOn
}#End Try
Catch
If ($_.Exception.Message -Like "*Some or all identity references could not be translated*")
Write-Warning "Unable to Translate $Script:UserSID, try filtering the SID `nby using the -FilterSID parameter."
Write-Warning "It may be that $Script:UserSID is local to $Computer, Unable to translate remote SID"
Else
Write-Warning $_
}#End Catch
}#End Foreach ($Computer in $ComputerName)
}#End Process
End
#Resetting ErrorActionPref
$ErrorActionPreference = $TempErrAct
}#End End
}# End Function Get-LastLogonThis should work:
Get-LastLogon -Computername (Get-content .\Servers.txt) | Export-CSV .\Output.csv -NoTypeInformation
I just tested it on my test domain and it did the trick. -
Hi guys,
I have in my application a subvi which i use to save the configuration of application. I create one file with the last saved configuration, and i would like to open this values and that i could to modify this indicator value, but i cant since to modify i need 'numeric control' and to read the data from file i need 'numeric indicator '...
I thought, use a numeric control and use the values from file to the default values, but i didnt get to find the property node to adjust it. is it possible? or any different way to get it....??
Also, i attached the capture file.. i would like the program DOESNT SHOW the question of
replace the file!!. i would like directly replace the file when i push save.
Thanks, i attached the vi.
Attachments:
options.vi 43 KB
config.cnf 1 KB
capture.GIF 43 KBHi Dennis,
Your 'write to sreadshhet mod' suprime the dialog of replace file or not!, i want when i push save, it show the dialog input name of file and show the default sim000 but when i push this sim000 and this file already exist, then show the dialog to replace or not, if i replace Ok not problem, but when i push cancel replace it shows error eof!!!.
Your file, only remove this dialog and only replace the file directly.
i put the capture, when i choose the file to save and the program say to me this file exist and it give me the option of replace or not,i want when i push cancel replace it continues running without get error.
is it possible?.
Thanks.
Regards, Fonsi.
Attachments:
capture.GIF 71 KB
example.vi 40 KB -
How can I modify this script to return only certain rows of my mySQL table?
Hi there,
I have a php script that accesses a mySQL database and it was generated out of the Flex Builder wizard automatically. The script works great and there are no problems with it. It allows me to perform CRUD on a table by calling it from my Flex app. and it retrieves all the data and puts it into a nice MXML format.
My question, currently when I call "findAll" to retrieve all the data in the table, well, it retrieves ALL the rows in the table. That's fine, but my table is starting to grow really large with thousands of rows.
I want to modify this script so that I can pass a variable into it from Flex so that it only retrieves the rows that match the "$subscriber_id" variable that I pass. In this way the results are not the entire table's data, only the rows that match 'subscriber_id'.
I know how to pass a variable from Flex into php and the code on the php side to pick it up would look like this:
$subscriberID = $_POST['subscriberID'];
Can anyone shed light as to the proper code modification in "findAll" which will take my $subscriberID variable and compare it to the 'subscriber_id' field and then only return those rows that match? I think it has something to do with lines 98 to 101.
Any help is appreciated.
<?php
require_once(dirname(__FILE__) . "/2257safeDBconn.php");
require_once(dirname(__FILE__) . "/functions.inc.php");
require_once(dirname(__FILE__) . "/XmlSerializer.class.php");
* This is the main PHP file that process the HTTP parameters,
* performs the basic db operations (FIND, INSERT, UPDATE, DELETE)
* and then serialize the response in an XML format.
* XmlSerializer uses a PEAR xml parser to generate an xml response.
* this takes a php array and generates an xml according to the following rules:
* - the root tag name is called "response"
* - if the current value is a hash, generate a tagname with the key value, recurse inside
* - if the current value is an array, generated tags with the default value "row"
* for example, we have the following array:
* $arr = array(
* "data" => array(
* array("id_pol" => 1, "name_pol" => "name 1"),
* array("id_pol" => 2, "name_pol" => "name 2")
* "metadata" => array(
* "pageNum" => 1,
* "totalRows" => 345
* we will get an xml of the following form
* <?xml version="1.0" encoding="ISO-8859-1"?>
* <response>
* <data>
* <row>
* <id_pol>1</id_pol>
* <name_pol>name 1</name_pol>
* </row>
* <row>
* <id_pol>2</id_pol>
* <name_pol>name 2</name_pol>
* </row>
* </data>
* <metadata>
* <totalRows>345</totalRows>
* <pageNum>1</pageNum>
* </metadata>
* </response>
* Please notice that the generated server side code does not have any
* specific authentication mechanism in place.
* The filter field. This is the only field that we will do filtering after.
$filter_field = "subscriber_id";
* we need to escape the value, so we need to know what it is
* possible values: text, long, int, double, date, defined
$filter_type = "text";
* constructs and executes a sql select query against the selected database
* can take the following parameters:
* $_REQUEST["orderField"] - the field by which we do the ordering. MUST appear inside $fields.
* $_REQUEST["orderValue"] - ASC or DESC. If neither, the default value is ASC
* $_REQUEST["filter"] - the filter value
* $_REQUEST["pageNum"] - the page index
* $_REQUEST["pageSize"] - the page size (number of rows to return)
* if neither pageNum and pageSize appear, we do a full select, no limit
* returns : an array of the form
* array (
* data => array(
* array('field1' => "value1", "field2" => "value2")
* metadata => array(
* "pageNum" => page_index,
* "totalRows" => number_of_rows
function findAll() {
global $conn, $filter_field, $filter_type;
* the list of fields in the table. We need this to check that the sent value for the ordering is indeed correct.
$fields = array('id','subscriber_id','lastName','firstName','birthdate','gender');
$where = "";
if (@$_REQUEST['filter'] != "") {
$where = "WHERE " . $filter_field . " LIKE " . GetSQLValueStringForSelect(@$_REQUEST["filter"], $filter_type);
$order = "";
if (@$_REQUEST["orderField"] != "" && in_array(@$_REQUEST["orderField"], $fields)) {
$order = "ORDER BY " . @$_REQUEST["orderField"] . " " . (in_array(@$_REQUEST["orderDirection"], array("ASC", "DESC")) ? @$_REQUEST["orderDirection"] : "ASC");
//calculate the number of rows in this table
$rscount = mysql_query("SELECT count(*) AS cnt FROM `modelName` $where");
$row_rscount = mysql_fetch_assoc($rscount);
$totalrows = (int) $row_rscount["cnt"];
//get the page number, and the page size
$pageNum = (int)@$_REQUEST["pageNum"];
$pageSize = (int)@$_REQUEST["pageSize"];
//calculate the start row for the limit clause
$start = $pageNum * $pageSize;
//construct the query, using the where and order condition
$query_recordset = "SELECT id,subscriber_id,lastName,firstName,birthdate,gender FROM `modelName` $where $order";
//if we use pagination, add the limit clause
if ($pageNum >= 0 && $pageSize > 0) {
$query_recordset = sprintf("%s LIMIT %d, %d", $query_recordset, $start, $pageSize);
$recordset = mysql_query($query_recordset, $conn);
//if we have rows in the table, loop through them and fill the array
$toret = array();
while ($row_recordset = mysql_fetch_assoc($recordset)) {
array_push($toret, $row_recordset);
//create the standard response structure
$toret = array(
"data" => $toret,
"metadata" => array (
"totalRows" => $totalrows,
"pageNum" => $pageNum
return $toret;
* constructs and executes a sql count query against the selected database
* can take the following parameters:
* $_REQUEST["filter"] - the filter value
* returns : an array of the form
* array (
* data => number_of_rows,
* metadata => array()
function rowCount() {
global $conn, $filter_field, $filter_type;
$where = "";
if (@$_REQUEST['filter'] != "") {
$where = "WHERE " . $filter_field . " LIKE " . GetSQLValueStringForSelect(@$_REQUEST["filter"], $filter_type);
//calculate the number of rows in this table
$rscount = mysql_query("SELECT count(*) AS cnt FROM `modelName` $where");
$row_rscount = mysql_fetch_assoc($rscount);
$totalrows = (int) $row_rscount["cnt"];
//create the standard response structure
$toret = array(
"data" => $totalrows,
"metadata" => array()
return $toret;Hi there,
I have a php script that accesses a mySQL database and it was generated out of the Flex Builder wizard automatically. The script works great and there are no problems with it. It allows me to perform CRUD on a table by calling it from my Flex app. and it retrieves all the data and puts it into a nice MXML format.
My question, currently when I call "findAll" to retrieve all the data in the table, well, it retrieves ALL the rows in the table. That's fine, but my table is starting to grow really large with thousands of rows.
I want to modify this script so that I can pass a variable into it from Flex so that it only retrieves the rows that match the "$subscriber_id" variable that I pass. In this way the results are not the entire table's data, only the rows that match 'subscriber_id'.
I know how to pass a variable from Flex into php and the code on the php side to pick it up would look like this:
$subscriberID = $_POST['subscriberID'];
Can anyone shed light as to the proper code modification in "findAll" which will take my $subscriberID variable and compare it to the 'subscriber_id' field and then only return those rows that match? I think it has something to do with lines 98 to 101.
Any help is appreciated.
<?php
require_once(dirname(__FILE__) . "/2257safeDBconn.php");
require_once(dirname(__FILE__) . "/functions.inc.php");
require_once(dirname(__FILE__) . "/XmlSerializer.class.php");
* This is the main PHP file that process the HTTP parameters,
* performs the basic db operations (FIND, INSERT, UPDATE, DELETE)
* and then serialize the response in an XML format.
* XmlSerializer uses a PEAR xml parser to generate an xml response.
* this takes a php array and generates an xml according to the following rules:
* - the root tag name is called "response"
* - if the current value is a hash, generate a tagname with the key value, recurse inside
* - if the current value is an array, generated tags with the default value "row"
* for example, we have the following array:
* $arr = array(
* "data" => array(
* array("id_pol" => 1, "name_pol" => "name 1"),
* array("id_pol" => 2, "name_pol" => "name 2")
* "metadata" => array(
* "pageNum" => 1,
* "totalRows" => 345
* we will get an xml of the following form
* <?xml version="1.0" encoding="ISO-8859-1"?>
* <response>
* <data>
* <row>
* <id_pol>1</id_pol>
* <name_pol>name 1</name_pol>
* </row>
* <row>
* <id_pol>2</id_pol>
* <name_pol>name 2</name_pol>
* </row>
* </data>
* <metadata>
* <totalRows>345</totalRows>
* <pageNum>1</pageNum>
* </metadata>
* </response>
* Please notice that the generated server side code does not have any
* specific authentication mechanism in place.
* The filter field. This is the only field that we will do filtering after.
$filter_field = "subscriber_id";
* we need to escape the value, so we need to know what it is
* possible values: text, long, int, double, date, defined
$filter_type = "text";
* constructs and executes a sql select query against the selected database
* can take the following parameters:
* $_REQUEST["orderField"] - the field by which we do the ordering. MUST appear inside $fields.
* $_REQUEST["orderValue"] - ASC or DESC. If neither, the default value is ASC
* $_REQUEST["filter"] - the filter value
* $_REQUEST["pageNum"] - the page index
* $_REQUEST["pageSize"] - the page size (number of rows to return)
* if neither pageNum and pageSize appear, we do a full select, no limit
* returns : an array of the form
* array (
* data => array(
* array('field1' => "value1", "field2" => "value2")
* metadata => array(
* "pageNum" => page_index,
* "totalRows" => number_of_rows
function findAll() {
global $conn, $filter_field, $filter_type;
* the list of fields in the table. We need this to check that the sent value for the ordering is indeed correct.
$fields = array('id','subscriber_id','lastName','firstName','birthdate','gender');
$where = "";
if (@$_REQUEST['filter'] != "") {
$where = "WHERE " . $filter_field . " LIKE " . GetSQLValueStringForSelect(@$_REQUEST["filter"], $filter_type);
$order = "";
if (@$_REQUEST["orderField"] != "" && in_array(@$_REQUEST["orderField"], $fields)) {
$order = "ORDER BY " . @$_REQUEST["orderField"] . " " . (in_array(@$_REQUEST["orderDirection"], array("ASC", "DESC")) ? @$_REQUEST["orderDirection"] : "ASC");
//calculate the number of rows in this table
$rscount = mysql_query("SELECT count(*) AS cnt FROM `modelName` $where");
$row_rscount = mysql_fetch_assoc($rscount);
$totalrows = (int) $row_rscount["cnt"];
//get the page number, and the page size
$pageNum = (int)@$_REQUEST["pageNum"];
$pageSize = (int)@$_REQUEST["pageSize"];
//calculate the start row for the limit clause
$start = $pageNum * $pageSize;
//construct the query, using the where and order condition
$query_recordset = "SELECT id,subscriber_id,lastName,firstName,birthdate,gender FROM `modelName` $where $order";
//if we use pagination, add the limit clause
if ($pageNum >= 0 && $pageSize > 0) {
$query_recordset = sprintf("%s LIMIT %d, %d", $query_recordset, $start, $pageSize);
$recordset = mysql_query($query_recordset, $conn);
//if we have rows in the table, loop through them and fill the array
$toret = array();
while ($row_recordset = mysql_fetch_assoc($recordset)) {
array_push($toret, $row_recordset);
//create the standard response structure
$toret = array(
"data" => $toret,
"metadata" => array (
"totalRows" => $totalrows,
"pageNum" => $pageNum
return $toret;
* constructs and executes a sql count query against the selected database
* can take the following parameters:
* $_REQUEST["filter"] - the filter value
* returns : an array of the form
* array (
* data => number_of_rows,
* metadata => array()
function rowCount() {
global $conn, $filter_field, $filter_type;
$where = "";
if (@$_REQUEST['filter'] != "") {
$where = "WHERE " . $filter_field . " LIKE " . GetSQLValueStringForSelect(@$_REQUEST["filter"], $filter_type);
//calculate the number of rows in this table
$rscount = mysql_query("SELECT count(*) AS cnt FROM `modelName` $where");
$row_rscount = mysql_fetch_assoc($rscount);
$totalrows = (int) $row_rscount["cnt"];
//create the standard response structure
$toret = array(
"data" => $totalrows,
"metadata" => array()
return $toret; -
Return Current month Data:Help needed in modifying this code of a Procedure
Hello Folks i have this scenario where i need to modify this code so that it has to return data from the Current month First Day to the previous Day if its a daily report and previous month data if its a monthly report.
I have no clue how to modify this code below. Currently the code is returning data for Monthly reports for the previous month. Does anyone have any idea how to modify so that the code meets the requirements of both daily and monthly reprts.
BEGIN
if v_lowdate is null or v_highdate is null then
select to_number(to_char(sysdate, 'DD')) into v_cur_day from dual;
if v_cur_day < 25 then
-- this is for the previous month run
Select Add_Months(trunc(sysdate, 'MONTH'), -1)
INTO V_LOWDATE
FROM DUAL;
SELECT Last_Day(ADD_Months(Sysdate, -1)) INTO V_Highdate From Dual;
else
-- this is for the current month run
Select trunc(sysdate, 'MONTH') INTO V_LOWDATE FROM DUAL;
SELECT Last_Day(Sysdate) INTO V_Highdate From Dual;
end if;
end if;
Thanks
Edited by: user11961230 on Sep 30, 2009 8:34 PMHi Frank, This is code till the "modifying Code" which we were working. I will post the code after the "modifying Code" in the next reply. Thanks
CREATE OR REPLACE PROCEDURE "POPULATE_RECOVERY_ACTIVITYHN"(p_lowdate date,
p_highdate date) IS
v_lowdate date := p_lowdate;
v_highdate date := p_highdate;
v_error_code NUMBER(20);
v_error_text VARCHAR2(300);
v_recovery_id Recovery.Recovery_ID%type;
v_loop_control Number(20);
v_settlement_id recovery.settlement_id%type;
V_Event_ID Event.Event_ID%Type;
V_Event_Case_ID Event_Case.Event_Case_ID%Type;
V_Recovery_Month Varchar2(100);
V_Major_Company Major_Client.Major_Client_Name%Type;
V_Company Client.Client_Name%Type;
V_Client_Policy_Identifier Varchar2(100);
V_Lan_ID Varchar2(10) := 'TROVERIS';
V_Recovery_Account Client.Account_Number%Type;
V_AccountA Number(2) := 0;
V_AccountB Number(2) := 0;
V_Unit Event_Client_Field.Client_Field_Data%Type;
V_Market Event_Client_Field.Client_Field_Data%Type;
V_case_open_date Event_case.Open_Date%type;
V_Employer_Group_Code Employer_Group.Employer_Group_Code%Type;
V_Unknown1 Number(2) := 0;
V_Fee_Schedule_Code Event_Case.Fee_Schedule_Code%Type;
V_Total_Fee_Percent Number(20, 2) := 0.00;
V_Subrogation_Fee_Percent Number(20, 2) := 0.00;
V_Unknown2 Number(2) := NULL;
V_Unknown3 Number(2) := NULL;
V_TOTAL_MEDICAL Number(20, 2) := 0.00;
V_Recovery_Amount Number(20, 2) := 0.00;
V_Total_Tax Number(20, 2) := 0.00;
V_Administrative_Tax Number(20, 2) := 0.00;
V_Total_NonCash_Fee Number(20, 2) := 0.00;
V_Total_NonCash_Positive Number(20, 2) := 0.00;
V_Total_NonCash_Negative Number(20, 2) := 0.00;
V_Total_Recovery Number(20, 2) := 0.00;
V_Total_NonCash_Fee_Positive Number(20, 2) := 0.00;
V_Total_NonCash_Fee_Negative Number(20, 2) := 0.00;
V_Total_Admin_Fee Number(20, 2) := 0.00;
V_Total_Fee Number(20, 2) := 0.00;
V_Total_NonCash_Tax_Positive Number(20, 2) := 0.00;
V_Total_NonCash_Tax_Negative Number(20, 2) := 0.00;
report_type Varchar2(2);
v_gl_num client.gl_num%type; -- *002*
v_net_billable client.net_billable%type; -- *003*
vevent_id event.event_id%type; -- *006*
v_prev_event event.event_id%type; -- *006*
v_prev_case event_case.event_case_id%type; -- *006*
v_tot_recovery recovery.amount%type; -- *006*
v_rec_amount recovery.amount%type; -- *006*
v_prev_rec_amt recovery.amount%type; -- *006*
v_prev_rec_month recovery_activity.recovery_month%type; -- *006*
v_tot_fee recovery_activity.total_fee%type; --*006*
v_mth_rev unbundled_recoveries.monthly_revenue%type; -- *006*
v_diff number(18, 2); -- *006*
v_nc_count number := 0; -- *006*
v_c_count number := 0; -- *006*
v_nc_tot recovery.amount%type; -- *006*
v_used_rev recovery_activity.total_fee%type; -- *006*
v_use_mth_rev unbundled_recoveries.monthly_revenue%type := 0; -- *006*
v_use_nc_mth_rev unbundled_recoveries.monthly_revenue%type := 0; -- *006*
v_prev_netbill client.net_billable%type; -- *006*
v_event_type event.event_type_code%type;
v_date_typed event.date_typed%type;
v_acc_client_id client.acc_client_id%Type;
v_Recovery_Revenue_GL_Num client.recovery_revenue_gl_num%Type;
v_Funds_Due_GL_num client.funds_due_gl_num%Type;
v_lob Varchar2(20);
v_nc_recovery_id recovery.recovery_id%Type;
/*Changed the Client_Policy_Identifier to concatenate the Retlation to insured code instead of the description
which was exceeding the column size in the table. SWL 09/03/02. Checked with the Design Doc.*/
CURSOR RECOVERY_INFO IS
SELECT Event.Event_ID,
Event_Case.Event_Case_ID,
TO_CHAR(Recovery.Recovery_Date, 'FMMONTHYYYY') As Recovery_Month,
Major_Client.Major_Client_Name AS Major_Company,
-- Client.Client_Name AS Company,
-- nvl(client.legacy_client_id,'DC')||'-'||substr(Client.Client_Name,1,55) AS Company, -- SWL 04/01/04 52653
substr(nvl(client.legacy_client_id,
decode(client.client_id, 1, 'DC', client.client_code)) || '-' ||
Client.Client_Name,
1,
60) AS Company,
Event.Client_Policy_Identifier ||
Event_Case.Relation_To_Insured_code as Client_Policy_Identifier,
Client.Account_Number as Recovery_Account,
Employer_Group.Employer_Group_Code,
Event_Case.Fee_Schedule_Code,
Recovery_ID,
Event_case.Open_Date,
'(' || recovery.recovery_transaction_internal || ')' ||
l.recovery_transaction_descripti, --fml 110276
recovery.settlement_id,
trim(client.gl_num), -- *002*
nvl(trim(client.net_billable), 'N'), -- *003*
recovery.amount, -- *006*,
event.event_type_code,
event.date_typed,
recovery_id,
Client.ACC_CLIENT_ID,
Recovery_Revenue_GL_Num,
Funds_Due_GL_num
FROM Recovery,
Settlement,
Event_Case,
Event,
Employer_Group,
Client,
Major_Client,
recovery_transaction_lookup l
Where to_date(Recovery.Recovery_Date, 'DD-MON-RR') between
TO_DATE(v_lowdate, 'DD-MON-RR') and
TO_DATE(v_highdate, 'DD-MON-RR')
AND Settlement.Settlement_id = Recovery.Settlement_id
AND Settlement.Event_Case_ID = Event_Case.Event_Case_id
AND Event_Case.Event_ID = Event.Event_ID
AND Event.Employer_Group_ID = Employer_Group.Employer_Group_ID(+)
AND Event.Client_ID = Client.Client_ID
AND Client.Major_Client_id = Major_Client.Major_Client_ID(+)
and recovery.settlement_id not in
(select settlement_id
from recovery
where to_date(Recovery.Recovery_Date, 'DD-MON-RR') between
TO_DATE(v_lowdate, 'DD-MON-RR') and
TO_DATE(v_highdate, 'DD-MON-RR')
AND recovery_transaction_internal in
('05', '50', '52', '51'))
--001
and client.invoice_flag = 'N' *005* commenting
-- SWL 05/03/05 #71231
and event.event_id in
(select event_id
from event_end_user eeu
where eeu.active_flag = 'Y'
and eeu.owner_flag = 'Y'
and eeu.end_user_id in
(select end_user_id
from end_user
where end_user.research_internal_user = 'Y'))
and recovery.recovery_transaction_internal =
l.recovery_transaction_internal --fml 110276
order by event.event_id, recovery.amount; -- *006*
-- SWL 05/03/05 #71231
-- end of 001
-- SWL 11/10/03 # 52743
-- *006*
CURSOR get_recovery(vevent_id event.event_id%type) IS
SELECT sum(r.amount)
FROM Recovery r
Where to_date(r.Recovery_Date, 'DD-MON-RR') between
TO_DATE(v_lowdate, 'DD-MON-RR') and
TO_DATE(v_highdate, 'DD-MON-RR')
and r.event_id = vevent_id
and r.settlement_id not in
(select settlement_id
from recovery
where to_date(Recovery.Recovery_Date, 'DD-MON-RR') between
TO_DATE(v_lowdate, 'DD-MON-RR') and
TO_DATE(v_highdate, 'DD-MON-RR')
AND recovery_transaction_internal in
('05', '50', '52', '51'))
and r.event_id in
(select event_id
from event_end_user eeu
where eeu.active_flag = 'Y'
and eeu.owner_flag = 'Y'
and eeu.end_user_id in
(select end_user_id
from end_user
where end_user.research_internal_user = 'Y'));
CURSOR RECOVERY_INFO_NC IS
SELECT distinct Event.Event_ID,
Event_Case.Event_Case_ID,
TO_CHAR(Recovery.Recovery_Date, 'FMMONTHYYYY') As Recovery_Month,
Major_Client.Major_Client_Name AS Major_Company,
-- Client.Client_Name AS Company,
-- nvl(client.legacy_client_id,'DC')||'-'||substr(Client.Client_Name,1,55) AS Company, /* SWL 04/01/04 52653 */
substr(nvl(client.legacy_client_id,
decode(client.client_id,
1,
'DC',
client.client_code)) || '-' ||
Client.Client_Name,
1,
60) AS Company,
Event.Client_Policy_Identifier ||
Event_Case.Relation_To_Insured_code as Client_Policy_Identifier,
Client.Account_Number as Recovery_Account,
Employer_Group.Employer_Group_Code,
Event_Case.Fee_Schedule_Code,
'(' || recovery.recovery_transaction_internal || ')' ||
l.recovery_transaction_descripti, --fml 110276
recovery.settlement_id,
trim(client.gl_num), -- *002*
nvl(trim(client.net_billable), 'N'), -- *003*
recovery.amount,-- *006*
recovery.recovery_id,
event.event_type_code,
event.date_typed,
Client.ACC_CLIENT_ID,
Recovery_Revenue_GL_Num,
Funds_Due_GL_num
FROM Recovery,
Settlement,
Event_Case,
Event,
Employer_Group,
Client,
Major_Client,
recovery_transaction_lookup l
Where to_date(Recovery.Recovery_Date, 'DD-MON-RR') between
TO_DATE(v_lowdate, 'DD-MON-RR') and
TO_DATE(v_highdate, 'DD-MON-RR')
AND Settlement.Settlement_id = Recovery.Settlement_id
AND Settlement.Event_Case_ID = Event_Case.Event_Case_id
AND Event_Case.Event_ID = Event.Event_ID
AND Event.Employer_Group_ID = Employer_Group.Employer_Group_ID(+)
AND Event.Client_ID = Client.Client_ID
AND Client.Major_Client_id = Major_Client.Major_Client_ID(+)
and recovery.settlement_id in
(select settlement_id
from recovery
where to_date(Recovery.Recovery_Date, 'DD-MON-RR') between
TO_DATE(v_lowdate, 'DD-MON-RR') and
TO_DATE(v_highdate, 'DD-MON-RR')
--001
AND recovery.recovery_transaction_internal in
('05', '50', '52', '51')
and client.invoice_flag = 'N' *005* commenting
/* SWL 05/03/05 #71231 */
and event.event_id in
(select event_id
from event_end_user eeu
where eeu.active_flag = 'Y'
and eeu.owner_flag = 'Y'
and eeu.end_user_id in
(select end_user_id
from end_user
where end_user.research_internal_user = 'Y'))
and recovery.recovery_transaction_internal =
l.recovery_transaction_internal --fml 110276
order by event.event_id, recovery.amount; -- *006*
/* SWL 05/03/05 #71231 */
--end of 001
-- *006*
CURSOR get_recovery_nc(vevent_id event.event_id%type) IS
SELECT sum(r.amount)
FROM Recovery r
Where to_date(r.Recovery_Date, 'DD-MON-RR') between
TO_DATE(v_lowdate, 'DD-MON-RR') and
TO_DATE(v_highdate, 'DD-MON-RR')
AND r.event_id = vevent_id
and r.settlement_id in
(select settlement_id
from recovery
where to_date(Recovery.Recovery_Date, 'DD-MON-RR') between
TO_DATE(v_lowdate, 'DD-MON-RR') and
TO_DATE(v_highdate, 'DD-MON-RR'))
AND recovery_transaction_internal in ('05', '50', '52', '51')
and r.event_id in
(select event_id
from event_end_user eeu
where eeu.active_flag = 'Y'
and eeu.owner_flag = 'Y'
and eeu.end_user_id in
(select end_user_id
from end_user
where end_user.research_internal_user = 'Y'));
CURSOR Recovery_Totals_Nc IS
Select Recovery_Detail.Recovery_Id, /* SWL 07/01/04 59016 */
max(NVL(Recovery_Detail.Fees_Percent, 0) +
NVL(Recovery_Detail.Admin_Percent, 0)) as Total_Fee_Percent,
max(NVL(Recovery_Detail.Fees_Percent, 0)) as Subrogation_Fee_Percent,
max(NVL(Recovery.Amount, 0)) as Recovery_Amount, /* SWL 04/01/04 52653 */
Sum(NVL(Recovery_detail.Fees, 0) + NVL(Recovery_Detail.Admin, 0)) as Total_Fee,
Sum(NVL(Recovery_Detail.Fees_Taxes, 0) +
NVL(Recovery_Detail.Admin_Taxes, 0)) as Total_Tax,
Sum(NVL(Recovery_Detail.Admin_Taxes, 0)) as Administrative_tax,
Sum(NVL(Recovery_Detail.Admin, 0)) as Total_Admin_Fee,
sum(recovery.retained_by_client) as Non_cash_fee, --fml 110276
sum(recovery.allocation_check_amount) as cash --fml 110276
From Settlement, Recovery, Recovery_Detail
Where Recovery.settlement_id = v_settlement_id
And recovery.recovery_id = v_recovery_id
And Settlement.Settlement_id = Recovery.Settlement_id
And Recovery.Recovery_id = Recovery_detail.Recovery_id(+)
and to_date(Recovery.Recovery_Date, 'DD-MON-RR') between
TO_DATE(v_lowdate, 'DD-MON-RR') and
TO_DATE(v_highdate, 'DD-MON-RR') /*SWL 12/03/04 */
-- Group by Recovery_Detail.Fees_Percent; /* SWL 04/01/04 52653 */
Group by Recovery_Detail.recovery_id;
v_cash_recovery recovery_activity.cash_recovery%type;
CURSOR Recovery_Totals_Positive_Nc IS
-- Select Sum(Recovery.Amount) as Total_NonCash_Positive, /* SWL 04/01/04 52653 */
Select max(Recovery.Amount) as Total_NonCash_Positive,
Sum(NVL(Recovery_Detail.Fees_Taxes, 0) +
NVL(Recovery_Detail.Admin_Taxes, 0)) as Total_NonCash_Tax_Positive
From Settlement, Recovery, Recovery_detail
Where Recovery.settlement_id = v_settlement_id
And Settlement.Settlement_id = Recovery.Settlement_id
and recovery.recovery_id = v_recovery_id /* SWL 07/01/04 59016 */
And Recovery.Amount >= 0
And Recovery.Recovery_id = Recovery_detail.Recovery_id(+)
And Recovery.Recovery_Transaction_Internal in
('05', '50', '52', '51')
-- Group by Recovery_Detail.Fees_Percent; /* SWL 04/01/04 52653 */
Group by Recovery_Detail.recovery_id;
CURSOR Recovery_Totals_Negative_Nc IS
-- Select Sum(Recovery.Amount) as Total_NonCash_Negative, /* SWL 04/01/04 52653 */
Select max(Recovery.Amount) as Total_NonCash_Negative,
Sum(NVL(Recovery_Detail.Fees_Taxes, 0) +
NVL(Recovery_Detail.Admin_Taxes, 0)) as Total_NonCash_Tax_Negative
From Settlement, Recovery, Recovery_Detail
Where Recovery.settlement_id = v_settlement_id
And Settlement.Settlement_id = Recovery.Settlement_id
and recovery.recovery_id = v_recovery_id /* SWL 07/01/04 59016 */
And Recovery.Amount < 0
And Recovery.Recovery_id = Recovery_detail.Recovery_id(+)
And Recovery.Recovery_Transaction_Internal in
('05', '50', '52', '51')
Group by Recovery_Detail.recovery_id;
-- Group by Recovery_Detail.Fees_Percent; /* SWL 04/01/04 52653 */
/* SWL 11/10/03 # 52743 */
CURSOR Event_Client_Unit IS
Select e.Client_Field_Data as Unit
From Event_Client_Field e, recovery r
Where r.Event_ID = e.Event_ID
AND r.Recovery_ID = V_Recovery_ID
AND e.Client_Field_Name = 'UNIT';
CURSOR Bill_totals IS
Select mv_billdetail_case_sum.sum_paid as TOTAL_MEDICAL
From mv_billdetail_case_sum
where mv_billdetail_case_sum.event_id = V_Event_ID;
CURSOR NonCash_Fee IS
Select NVL(Sum(Recovery.Amount), 0) as Total_NonCash_Fee
From Settlement, Recovery
Where Recovery.Recovery_ID = V_Recovery_ID
And Settlement.Settlement_id = Recovery.Settlement_id
And Recovery.
Recovery_Transaction_Internal in ('05', '50', '52', '51');
/* SWL 04/01/04 52653 */
CURSOR Recovery_Totals IS
Select round(avg(NVL(Recovery_Detail.Fees_Percent, 0) +
NVL(Recovery_Detail.Admin_Percent, 0)),
2) as Total_Fee_Percent,
round(avg(NVL(Recovery_Detail.Fees_Percent, 0)), 2) as Subrogation_Fee_Percent,
max(NVL(Recovery.Amount, 0)) as Recovery_Amount,
Sum(NVL(Recovery_detail.Fees, 0) + NVL(Recovery_Detail.Admin, 0)) as Total_Fee,
Sum(NVL(Recovery_Detail.Fees_Taxes, 0) +
NVL(Recovery_Detail.Admin_Taxes, 0)) as Total_Tax,
Sum(NVL(Recovery_Detail.Admin_Taxes, 0)) as Administrative_tax,
Sum(NVL(Recovery_Detail.Admin, 0)) as Total_Admin_Fee
From Settlement, Recovery, Recovery_Detail
Where Recovery.Recovery_ID = V_Recovery_ID
And Settlement.Settlement_id = Recovery.Settlement_id
And Recovery.Recovery_id = Recovery_detail.Recovery_id(+)
Group by Recovery_Detail.recovery_id;
CURSOR Recovery_Totals_Positive IS
/* Select Sum(Recovery.Amount) as Total_NonCash_Positive,
Sum(NVL(Recovery_Detail.Fees_Taxes,0)+ NVL(Recovery_Detail.Admin_Taxes,0)) as Total_NonCash_Tax_Positive
*/ /* SWL 04/01/04 52653 */
Select max(Recovery.Amount) as Total_NonCash_Positive,
Sum(NVL(Recovery_Detail.Fees_Taxes, 0) +
NVL(Recovery_Detail.Admin_Taxes, 0)) as Total_NonCash_Tax_Positive
From Settlement, Recovery, Recovery_detail
Where Recovery.Recovery_ID = V_Recovery_ID
And Settlement.Settlement_id = Recovery.Settlement_id
And Recovery.Amount >= 0
And Recovery.Recovery_id = Recovery_detail.Recovery_id(+)
And Recovery.Recovery_Transaction_Internal in ('04', '17', '15') /*SWL 10/05/04 #63919*/--*009* added 15
Group by Recovery_Detail.recovery_id;
-- Group by Recovery_Detail.Fees_Percent; /* SWL 04/01/04 52653 */
CURSOR Recovery_NonFEE_Positive IS
Select Sum(NVL(Recovery_Detail.Fees, 0) + NVL(Recovery_Detail.Admin, 0)) as Total_NonCash_Fee_Positive
From Settlement, Recovery, Recovery_detail
Where Recovery.Recovery_ID = V_Recovery_ID
And Settlement.Settlement_id = Recovery.Settlement_id
And Recovery.Amount >= 0
And Recovery.Recovery_id = Recovery_detail.Recovery_id(+)
And Recovery.Recovery_Transaction_Internal in
('05', '50', '52', '51')
Group by Recovery_Detail.recovery_id;
-- Group by Recovery_Detail.Fees_Percent; /* SWL 04/01/04 52653 */
CURSOR Recovery_Totals_Negative IS
/* Select Sum(Recovery.Amount) as Total_NonCash_Negative,*/ /* SWL 04/01/04 52653 */
Select max(Recovery.Amount) as Total_NonCash_Negative,
Sum(NVL(Recovery_Detail.Fees_Taxes, 0) +
NVL(Recovery_Detail.Admin_Taxes, 0)) as Total_NonCash_Tax_Negative
From Settlement, Recovery, Recovery_Detail
Where Recovery.Recovery_ID = V_Recovery_ID
And Settlement.Settlement_id = Recovery.Settlement_id
And Recovery.Amount < 0
And Recovery.Recovery_id = Recovery_detail.Recovery_id(+)
And Recovery.Recovery_Transaction_Internal in ('04', '17', '15') /*SWL 10/05/04 #63919*/--*009* added 15
Group by Recovery_Detail.recovery_id;
-- Group by Recovery_Detail.Fees_Percent; /* SWL 04/01/04 52653 */
CURSOR Recovery_NonFEE_Negative IS
Select Sum(NVL(Recovery_Detail.Fees, 0) + NVL(Recovery_Detail.Admin, 0)) as Total_NonCash_Fee_Negative
From Settlement, Recovery, Recovery_Detail
Where Recovery.Recovery_ID = V_Recovery_ID
And Settlement.Settlement_id = Recovery.Settlement_id
And Recovery.Amount < 0
And Recovery.Recovery_id = Recovery_detail.Recovery_id(+)
And Recovery.Recovery_Transaction_Internal in
('05', '50', '52', '51')
Group by Recovery_Detail.recovery_id;
-- Group by Recovery_Detail.Fees_Percent; /* SWL 04/01/04 52653 */
--This is a generic cursor which will be used to control the number of rows inserted into the recovery_activity table
--There has to be 1 row inserted into the recovery_activity table for each detail record in the recovery_detail table.
--However, if no recovery_detail record exists there will be only 1 insert into the recovery_activity table.
CURSOR Control_Detail_Loop
IS
Select 1
FROM Recovery,
Recovery_Detail
Where Recovery.Recovery_ID = Recovery_Detail.Recovery_ID(+)
And Recovery.Recovery_ID = V_Recovery_ID;
/* SWL 04/01/04 Commented since the only time there were more entries in rd for a recovery is when there is a split fees */
/* accounting does not want this to be displayed in detail. They need this aggregated as a single fee entry so the recovery */
/* activity table will now have a single entry corresponding to each recovery in the recovery table. (#52653) */
CURSOR Control_Detail_Loop IS
Select 1 FROM Recovery where Recovery.Recovery_ID = V_Recovery_ID;
/* DJ 10/25/04 # 64633 start*/
CURSOR Event_Client_Market IS
Select e.Client_Field_Data as Market
From Event_Client_Field e, recovery r
Where r.Event_ID = e.Event_ID
AND r.Recovery_ID = V_Recovery_ID
AND e.Client_Field_Name = 'MARKET';
/* DJ 10/25/04 # 64633 end*/
v_cur_day integer := 0;
-----dj
v_vendor_fee_wh number;
v_total_vendor_fee_wh number;
v_rec_itc recovery_activity.recovery_transaction_internal%type;
--v_settlement_id settlement.settlement_id%type;
--*004* start
function unbundled_fee(pevent_id event.event_id%type,
plowdate date,
phighdate date) return number is
-- function variables
v_fee number(18, 2) := 0;
v_month_revenue unbundled_recoveries.monthly_revenue%type := 0;
v_cum_revenue unbundled_recoveries.cum_revenue%type := 0;
v_contract_fee_per unbundled_recoveries.contractual_fee_per%type := 0;
v_prev_cum_revenue unbundled_recoveries.cum_revenue%type := 0;
v_cum_ub_rec unbundled_recoveries.cum_ub_recoveries%type := 0;
v_cum_inv_paid unbundled_recoveries.cum_inv_paid%type := 0;
v_month_rec unbundled_recoveries.monthly_recoveries%type := 0;
v_cum_rec unbundled_recoveries.cum_recoveries%type := 0;
v_event_id event.event_id%type;
begin
--v_month_rec and v_cum_inv_paid
begin
select event_id,
(select sum(r.amount)
from recovery r
where r.event_id = e.event_id
and trunc(r.recovery_date) between plowdate and phighdate) as monthly_recoveries,
-- *006* added cum_rec
(select nvl(sum(r.amount), 0)
from recovery r
where r.event_id = e.event_id
and trunc(r.recovery_date) <= trunc(phighdate)) as cum_recoveries,
(select sum(decode(nvl(ex.client_invoice_closed, 'N'),
'N',
ex.paid_amount,
ex.client_invoice_received))
from expense ex
where ex.event_id = e.event_id
and upper(ex.status) = 'PAID'
and trunc(ex.check_date) <= phighdate
and trim(ex.orig_client_invoice_date) is not null
and nvl(ex.client_invoice_dispute, 'Y') = 'N') as cum_invoiced_paid
into v_event_id, v_month_rec, v_cum_rec, v_cum_inv_paid
from event e
where e.event_id = pevent_id;
exception
when no_data_found then
v_event_id := 0;
v_month_rec := 0;
v_cum_rec := 0;
v_cum_inv_paid := 0;
when others then
v_event_id := 0;
v_month_rec := 0;
v_cum_rec := 0;
v_cum_inv_paid := 0;
end;
-- *007* start
-- if event previously written to table, get values from table
begin
select nvl(ub.cum_revenue, 0)
into v_prev_cum_revenue
from unbundled_recoveries ub
where ub.event_id = pevent_id
and ub.month_id =
(select max(a.month_id)
from unbundled_recoveries a
where a.event_id = pevent_id
and a.month_id < to_char(v_lowdate, 'YYYYMM'));
exception
when no_data_found then
v_prev_cum_revenue := 0;
when others then
v_prev_cum_revenue := 0;
end;
-- *007* end
--v_contract_fee_per
begin
select nvl(max(rd.fees_percent), 0)
into v_contract_fee_per
from recovery_detail rd
where rd.recovery_id in
(select r.recovery_id
from recovery r,
(select a.event_id, max(amount) as amount
from recovery a
where a.event_id = pevent_id
and trunc(a.recovery_date) between plowdate and
phighdate
group by a.event_id) max_r
where r.event_id = max_r.event_id
and trunc(r.recovery_date) between plowdate and phighdate
and r.amount = max_r.amount);
exception
when no_data_found then
v_contract_fee_per := 0;
when others then
v_contract_fee_per := 0;
end;
v_cum_ub_rec := nvl(v_cum_rec, 0) - nvl(v_cum_inv_paid, 0);
if ((nvl(v_cum_ub_rec, 0) > 0) and (nvl(v_month_rec, 0) <> 0)) then
-- latest cumulative unbundled recoveries > 0
v_cum_revenue := round(((v_contract_fee_per / 100) * v_cum_ub_rec),
2);
v_month_revenue := v_cum_revenue - v_prev_cum_revenue;
end if;
v_fee := v_month_revenue;
return v_fee;
exception
when others then
raise_application_error(-20106,
substr('populate_recovery_activity.undebundled_fee: ' ||
Sqlcode || Sqlerrm,
1,
500));
return v_fee;
end; -
When I try to install itunes 10.5.2, I get the following error message "The installer has insufficient privileges to modify this file c\progamfiles\itunes\itunes.exe and won't install. help
Okay ... so it's not one of the cases of bodged up ACLs on the Apple folder in Common Files. (That's been underlying a few of the recalcitrant E7W5s.
Just in case, let's try the fixit from the following document:
Fix problems with programs that can't be installed or uninstalled -
I cannot download itunes to my pc. I had it on a couple of months back but I could not update the software so i removed everything and tried to reinstall. I get a message that says "The installer has insufficient privaleges to modify this file. Then when I click that off it continues to download and says its complete and ready but when I try to open i get another message "error#7 itunes did not install correctly. Please reinstall. "Which I have tried to do to no avail. Any suggestions?
Many thanks.
That one's consistent with disk/file damage. The first thing I'd try with that is running a disk check (chkdsk) over your C drive.
XP instructions in the following document: How to perform disk error checking in Windows XP
Vista instructions in the following document: Check your hard disk for errors
Windows 7 instructions in the following document: How to use CHKDSK (Check Disk)
Select both Automatically fix file system errors and Scan for and attempt recovery of bad sectors, or use chkdsk /r (depending on which way you decide to go about doing this). You'll almost certainly have to schedule the chkdsk to run on startup. The scan should take quite a while ... if it quits after a few minutes or seconds, something's interfering with the scan.
Does the chkdsk find/repair any damage? If so, can you get an install to go through properly afterwards? -
Hello!
I am currently having issues installing iTunes on BOTH of my computers. One running Vista, the other, Windows 7.
(Not the same issues)
I used to have iTunes on my Vista (32bit), but when asked to update the software (The update prior to the newest one), I was not able to.
I dont exactly remember the error message.
Yesterday, I tried to install it again when I realized there was a new update.
I am receiving an error message while trying to install the software that says :
"The Installer has insufficient privileges to modify this file: c:\program files\ common files \ apple \ apple application support \ webkit. resources \ inspector \ images \ warnings errors.png
I have tried almost everything I knew to do.
Downloaded itunes setup, extracted the files and tried to install them all separately.
Then I had issues UNinstalling Apple Support and Mobile devices!
Tried something with the registry (not too sure what. I read it on this website)
Tried to Force Uninstall EVERY bit of apple on the computer then try again, and to no avail.
I am a bit discouraged, because I have been trying for so long with both computers.
I even called applecare for help with Windows 7 computer. Spoke to one representative who forwarded me to another who could not help.
(Windows 7 itunes WILL install, but when I plug up my phone says I am not running 64bit itunes, which I am, and to reinstall. Then I was missing the Mobile device and would not let me separately install.)
I am a bit frustrated, and I'd appreciate all of the help I can get.
Thank You all in advance.For general advice see Troubleshooting issues with iTunes for Windows updates.
The steps in the second box are a guide to removing everything related to iTunes and then rebuilding it which is often a good starting point unless the symptoms indicate a more specific approach. Review the other boxes and the list of support documents further down the page in case one of them applies.
Your library should be unaffected by these steps but there is backup and recovery advice elsewhere in the user tip.
tt2 -
Several months ago I bought a 64GB PNY USB memory stick to transpord data quickly.
It seemed to work fine. I could format it as a Mac partition and use it. I hardly ever need
it so I just put it away.
Today I wanted to use it to put a file on and take it to the Kinko's/FedEx to print, and I
find I cannot mount it on any of my computers, iMac, MacMini or MacBookPro.
In Disk Utility virtually everything is greyed out.
Disk Utility says: "This partition can't be modified" "This disk is not writeable and cannot be partitioned"
If I try to mount it, it says "This disk cannot be mounted"
There is no physical read-only switch or setting on the disk that I can see and it is very small.
I has a Mac OS installed on it, so I wonder if that is a problem? I should be able to write over that
or reformat it I would think.Thanks for these replies.
I've got regular time machine backups and just backed up some of my data by copying some key folders to an external drive. I'm bit paranoid about backup integrity and would ideally like to do another full backup to a different drive using a system other than time machine, in the event that something goes wrong with the time machine backup. Any recommendations on good and affordable backup software to do a backup of my TM backup?
One other question: I seem to encounter problems like this pretty frequently. I'd say once a year or so, my drive fails completely or gets near enough to failing that I have to wipe and restore. (I've never had a TM backup fail to work, though the last go around there were some hiccups which has led to my backup paranoia.) I've had this happen on multiple computers, so I'm becoming pretty convinced that the problem lies somewhere in my data. Is it possible (even likely) that there's something in my data causing this recurring problem? If so, is there anything I might be able to do to try and pinpoint and address this problem? I'd love to go one year without having to wipe/restore my machine!
For a while I thought I just had bad luck. But I think this is like the 4th or 5th time this has happened in the past 4 years and every time, I'm restoring from a backup, so I come back with the same data. It's the one constant since I've had 3 different machines over this same time period. -
Need Help in creating this trigger
I need your help to create this trigger. I need to set the default fl in this table depending on various conditions:
If there is only one indvl with end date as null then set the default_pk column for that indvl as 'Y'
ELSE
If there are multiple indvl_pks in this table with NULL end date then set the default_fl column to 'Y' for the indvl_pk with the earliest start date .
ELSE if there are multiple indvls with same start date then set the dflt_fl to 'Y' with the minimum br_pk
I am unable to get this to work due to the mutating trigger problem.
For example in this one rows with emplt_pk with 1001 and 1003 will be set to 'Y'.
create table emplt
emplt_pk number,
indvl_pk number,
start_dt date,
end_dt date,
lct_fl char(1),
sup_fl char(1),
br_pk number,
nro_pk number,
default_fl
char(1) default 'N' );
INSERT
INTO emplt
values(1001, 101, to_date ('01-01-2005', 'MM-DD-YYYY' ), NULL, 'Y','N' ,123,NULL,NULL );
INSERT INTO emplt values(
1002, 101, to_date ('02-01-2005', 'MM-DD-YYYY' ), NULL, 'Y','N' ,NULL,0001,NULL );
INSERT INTO emplt values(
1003, 102, to_date ('02-01-2005', 'MM-DD-YYYY' ), NULL, 'Y','N' ,NULL,0001,NULL );
Thanks in advancethe Easy Tabs could be useful for your requirement
http://usermanagedsolutions.com/SharePoint-User-Toolkit/Pages/Easy-Tabs-v5.aspx
/blog
twttr @esjord -
How can I modify this makefile to create proper ARMV7 dylibs?
I need to modify this makefile in order to create proper dylibs for inclusion in my IOS projects. If I just using the dylibs generated without changing this file, I get this error trying to use the dylibs:
ld: warning: ld: warning: ignoring file Undefined symbols for architecture armv7s:
"_mongo_connect", referenced from:
-[ViewController viewDidLoad] in ViewController.o
libbson.dylib, file was built for unsupported file format
( 0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 0x 0 0x 0 0x 6 0x 0 0x 0 0x 0 ) which is not the architecture being linked (armv7s):
Undefined symbols for architecture armv7s:
"_mongo_connect", referenced from:
-[ViewController viewDidLoad] in ViewController.o
libbson.dylibignoring file
Undefined symbols for architecture armv7s:
"_mongo_connect", referenced from:
-[ViewController viewDidLoad] in ViewController.o
libmongoc.dylib, file was built for unsupported file format
( 0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 0x 0 0x 0 0x 6 0x 0 0x 0 0x 0 ) which is not the architecture being linked (armv7s):
Undefined symbols for architecture armv7s:
"_mongo_connect", referenced from:
-[ViewController viewDidLoad] in ViewController.o
libmongoc.dylib
Undefined symbols for architecture armv7s:
"_mongo_connect", referenced from:
-[ViewController viewDidLoad] in ViewController.o
The makefile:
# MongoDB C Driver Makefile
# Copyright 2009, 2010 10gen Inc.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Version
MONGO_MAJOR=0
MONGO_MINOR=6
MONGO_PATCH=0
BSON_MAJOR=$(MONGO_MAJOR)
BSON_MINOR=$(MONGO_MINOR)
BSON_PATCH=$(MONGO_PATCH)
# Library names
MONGO_LIBNAME=libmongoc
BSON_LIBNAME=libbson
# Standard or posix env.
ENV?=posix
# TODO: add replica set test, cpp test, platform tests, json_test
TESTS=test_auth test_bcon test_bson test_bson_subobject test_count_delete \
test_cursors test_endian_swap test_errors test_examples \
test_functions test_gridfs test_helpers \
test_oid test_resize test_simple test_sizes test_update \
test_validate test_write_concern test_commands
MONGO_OBJECTS=src/bcon.o src/bson.o src/encoding.o src/gridfs.o src/md5.o src/mongo.o \
src/numbers.o
BSON_OBJECTS=src/bcon.o src/bson.o src/numbers.o src/encoding.o
ifeq ($(ENV),posix)
TESTS+=test_env_posix test_unix_socket
MONGO_OBJECTS+=src/env_posix.o
else
MONGO_OBJECTS+=src/env_standard.o
endif
DYN_MONGO_OBJECTS=$(foreach i,$(MONGO_OBJECTS),$(patsubst %.o,%.os,$(i)))
DYN_BSON_OBJECTS=$(foreach i,$(BSON_OBJECTS),$(patsubst %.o,%.os,$(i)))
# Compile flags
ALL_DEFINES=$(DEFINES)
ALL_DEFINES+=-D_POSIX_SOURCE
CC:=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc')
DYN_FLAGS:=-fPIC -DMONGO_DLL_BUILD
# Endianness check
endian := $(shell sh -c 'echo "ab" | od -x | grep "6261" >/dev/null && echo little || echo big')
ifeq ($(endian),big)
ALL_DEFINES+=-DMONGO_BIG_ENDIAN
endif
# Int64 type check
int64:=$(shell ./check_int64.sh $(CC) stdint.h && echo stdint)
ifeq ($(int64),stdint)
ALL_DEFINES+=-DMONGO_HAVE_STDINT
else
int64:=$(shell ./check_int64.sh $(CC) unistd.h && echo unistd)
ifeq ($(int64),unistd)
ALL_DEFINES+=-DMONGO_HAVE_UNISTD
endif
endif
$(shell rm header_check.tmp tmp.c)
TEST_DEFINES=$(ALL_DEFINES)
TEST_DEFINES+=-DTEST_SERVER="\"127.0.0.1\""
OPTIMIZATION?=-O3
WARNINGS?=-Wall
DEBUG?=-ggdb
STD?=c99
PEDANTIC?=-pedantic
ALL_CFLAGS=-std=$(STD) $(PEDANTIC) $(CFLAGS) $(OPTIMIZATION) $(WARNINGS) $(DEBUG) $(ALL_DEFINES)
ALL_LDFLAGS=$(LDFLAGS)
# Shared libraries
DYLIBSUFFIX=so
STLIBSUFFIX=a
MONGO_DYLIBNAME=$(MONGO_LIBNAME).$(DYLIBSUFFIX)
MONGO_DYLIB_MAJOR_NAME=$(MONGO_DYLIBNAME).$(MONGO_MAJOR)
MONGO_DYLIB_MINOR_NAME=$(MONGO_DYLIB_MAJOR_NAME).$(MONGO_MINOR)
MONGO_DYLIB_PATCH_NAME=$(MONGO_DYLIB_MINOR_NAME).$(MONGO_PATCH)
MONGO_DYLIB_MAKE_CMD=$(CC) -shared -Wl,-soname,$(MONGO_DYLIB_MINOR_NAME) -o $(MONGO_DYLIBNAME) $(ALL_LDFLAGS) $(DYN_MONGO_OBJECTS)
BSON_DYLIBNAME=$(BSON_LIBNAME).$(DYLIBSUFFIX)
BSON_DYLIB_MAJOR_NAME=$(BSON_DYLIBNAME).$(BSON_MAJOR)
BSON_DYLIB_MINOR_NAME=$(BSON_DYLIB_MAJOR_NAME).$(BSON_MINOR)
BSON_DYLIB_PATCH_NAME=$(BSON_DYLIB_MINOR_NAME).$(BSON_PATCH)
BSON_DYLIB_MAKE_CMD=$(CC) -shared -Wl,-soname,$(BSON_DYLIB_MINOR_NAME) -o $(BSON_DYLIBNAME) $(ALL_LDFLAGS) $(DYN_BSON_OBJECTS)
# Static libraries
MONGO_STLIBNAME=$(MONGO_LIBNAME).$(STLIBSUFFIX)
BSON_STLIBNAME=$(BSON_LIBNAME).$(STLIBSUFFIX)
# Overrides
kernel_name := $(shell sh -c 'uname -s 2>/dev/null || echo not')
ifeq ($(kernel_name),SunOS)
ALL_LDFLAGS+=-ldl -lnsl -lsocket
INSTALL_CMD=cp -r
MONGO_DYLIB_MAKE_CMD=$(CC) -G -o $(MONGO_DYLIBNAME) -h $(MONGO_DYLIB_MINOR_NAME) $(ALL_LDFLAGS)
BSON_DYLIB_MAKE_CMD=$(CC) -G -o $(BSON_DYLIBNAME) -h $(BSON_DYLIB_MINOR_NAME) $(ALL_LDFLAGS)
endif
ifeq ($(kernel_name),Darwin)
ALL_CFLAGS+=-std=$(STD) $(CFLAGS) $(OPTIMIZATION) $(WARNINGS) $(DEBUG) $(ALL_DEFINES)
DYLIBSUFFIX=dylib
MONGO_DYLIB_MINOR_NAME=$(MONGO_LIBNAME).$(DYLIBSUFFIX).$(MONGO_MAJOR).$(MONGO_M INOR)
MONGO_DYLIB_MAJOR_NAME=$(MONGO_LIBNAME).$(DYLIBSUFFIX).$(MONGO_MAJOR)
MONGO_DYLIB_MAKE_CMD=$(CC) -shared -Wl,-install_name,$(MONGO_DYLIB_MINOR_NAME) -o $(MONGO_DYLIBNAME) $(ALL_LDFLAGS) $(DYN_MONGO_OBJECTS)
BSON_DYLIB_MINOR_NAME=$(BSON_LIBNAME).$(DYLIBSUFFIX).$(BSON_MAJOR).$(BSON_MINOR )
BSON_DYLIB_MAJOR_NAME=$(BSON_LIBNAME).$(DYLIBSUFFIX).$(BSON_MAJOR)
BSON_DYLIB_MAKE_CMD=$(CC) -shared -Wl,-install_name,$(BSON_DYLIB_MINOR_NAME) -o $(BSON_DYLIBNAME) $(ALL_LDFLAGS) $(DYN_BSON_OBJECTS)
endif
# Installation
ifeq ($(kernel_name),SunOS)
INSTALL?=cp -r
endif
INSTALL?= cp -a
INSTALL_INCLUDE_PATH?=/usr/local/include
INSTALL_LIBRARY_PATH?=/usr/local/lib
# TARGETS
all: $(MONGO_DYLIBNAME) $(BSON_DYLIBNAME) $(MONGO_STLIBNAME) $(BSON_STLIBNAME)
# Dependency targets. Run 'make deps' to generate these.
bcon.o: src/bcon.c src/bcon.h src/bson.h
bson.o: src/bson.c src/bson.h src/encoding.h
encoding.o: src/encoding.c src/bson.h src/encoding.h
env_standard.o: src/env_standard.c src/env.h src/mongo.h src/bson.h
env_posix.o: src/env_posix.c src/env.h src/mongo.h src/bson.h
gridfs.o: src/gridfs.c src/gridfs.h src/mongo.h src/bson.h
md5.o: src/md5.c src/md5.h
mongo.o: src/mongo.c src/mongo.h src/bson.h src/md5.h src/env.h
numbers.o: src/numbers.c
$(MONGO_DYLIBNAME): $(DYN_MONGO_OBJECTS)
$(MONGO_DYLIB_MAKE_CMD)
$(MONGO_STLIBNAME): $(MONGO_OBJECTS)
$(AR) -rs $@ $(MONGO_OBJECTS)
$(BSON_DYLIBNAME): $(DYN_BSON_OBJECTS)
$(BSON_DYLIB_MAKE_CMD)
$(BSON_STLIBNAME): $(BSON_OBJECTS)
$(AR) -rs $@ $(BSON_OBJECTS)
install:
mkdir -p $(INSTALL_INCLUDE_PATH) $(INSTALL_LIBRARY_PATH)
$(INSTALL) src/mongo.h src/bson.h $(INSTALL_INCLUDE_PATH)
$(INSTALL) $(MONGO_DYLIBNAME) $(INSTALL_LIBRARY_PATH)/$(MONGO_DYLIB_PATCH_NAME)
$(INSTALL) $(BSON_DYLIBNAME) $(INSTALL_LIBRARY_PATH)/$(BSON_DYLIB_PATCH_NAME)
cd $(INSTALL_LIBRARY_PATH) && ln -sf $(MONGO_DYLIB_PATCH_NAME) $(MONGO_DYLIB_MINOR_NAME)
cd $(INSTALL_LIBRARY_PATH) && ln -sf $(BSON_DYLIB_PATCH_NAME) $(BSON_DYLIB_MINOR_NAME)
cd $(INSTALL_LIBRARY_PATH) && ln -sf $(MONGO_DYLIB_MINOR_NAME) $(MONGO_DYLIBNAME)
cd $(INSTALL_LIBRARY_PATH) && ln -sf $(BSON_DYLIB_MINOR_NAME) $(BSON_DYLIBNAME)
$(INSTALL) $(MONGO_STLIBNAME) $(INSTALL_LIBRARY_PATH)
$(INSTALL) $(BSON_STLIBNAME) $(INSTALL_LIBRARY_PATH)
scan-build: clean
scan-build -V -v make
test: $(TESTS)
sh runtests.sh
valgrind: $(TESTS)
sh runtests.sh -v
docs:
python docs/buildscripts/docs.py
clean:
rm -rf src/*.o src/*.os test/*.o test/*.os test_* .scon* config.log
clobber: clean
rm -rf $(MONGO_DYLIBNAME) $(MONGO_STLIBNAME) $(BSON_DYLIBNAME) $(BSON_STLIBNAME) docs/html docs/source/doxygen
deps:
$(CC) -MM -DMONGO_HAVE_STDINT src/*.c
32bit:
$(MAKE) CFLAGS="-m32" LDFLAGS="-pg"
test_%: test/%_test.c test/test.h $(MONGO_STLIBNAME)
$(CC) -o $@ -L. -Isrc $(TEST_DEFINES) $(ALL_LDFLAGS) $< $(MONGO_STLIBNAME)
%.o: %.c
$(CC) -o $@ -c $(ALL_CFLAGS) $<
%.os: %.c
$(CC) -o $@ -c $(ALL_CFLAGS) $(DYN_FLAGS) $<
.PHONY: 32bit all clean clobber deps docs install test valgrindHi Petar,
Thanks for your answer. No doubt that we could solve the issue using on of the way you suggested.
However, even though I had the evdre issue right after applying time dimension modifications, it occurs that the evdre issue was not due to time dimension modifications. I tested it better and I can tell that using "total" as a level works.
Best regards,
Ludovic -
Hello, I am new to Oracle and I am having problems with this trigger:
CREATE OR REPLACE TRIGGER myTrigger
AFTER INSERT OR UPDATE OF aField ON myTable
DECLARE
myVariable NUMBER(2);
BEGIN
SELECT COUNT(keyColumn) INTO myVariable
FROM myTable
WHERE TO_CHAR(myTableDate,'mm') = (SELECT TO_CHAR(SYSDATE,'mm') FROM DUAL);
IF myVariable > 4 THEN
RAISE_APPLICATION_ERROR(20605, 'Here is an error.')
END IF;
END;
Every time the trigger is executed, this error happens:
ORA-06502: PL/SQL: numeric or value error: number precision too large
ORA-06512: at line 10
How do I resolve this problem?
Thank you.Hi,
user12120979 wrote:
Hello, I am new to Oracle and I am having problems with this trigger:
CREATE OR REPLACE TRIGGER myTrigger
AFTER INSERT OR UPDATE OF aField ON myTable
DECLARE
myVariable NUMBER(2);
BEGIN
SELECT COUNT(keyColumn) INTO myVariable
FROM myTable
WHERE TO_CHAR(myTableDate,'mm') = (SELECT TO_CHAR(SYSDATE,'mm') FROM DUAL);
IF myVariable > 4 THEN
RAISE_APPLICATION_ERROR(20605, 'Here is an error.')
END IF;
END;
Every time the trigger is executed, this error happens:
ORA-06502: PL/SQL: numeric or value error: number precision too large
ORA-06512: at line 10
How do I resolve this problem?
Thank you.Are you sure the code you posted is what's actually running?
I would expect the missing semicolon after:
RAISE_APPLICATION_ERROR(20605, 'Here is an error.')to keep this from even compiling.
Error numbers are supposed to be negative. That will cause a run-time error when you try to raise the error.
This isn't actually an error, but there's rarely a need to use dual in PL/SQL.
WHERE TO_CHAR(myTableDate,'mm') = (SELECT TO_CHAR(SYSDATE,'mm') FROM DUAL);can also be done this way:
WHERE TO_CHAR(myTableDate,'mm') = TO_CHAR(SYSDATE,'mm');Actually, the condition above would work even outside of PL/SQL. -
iTunes won't install on my PC after using it for several years, now I get the following error message; "The installer has insuficient privileges to modify this file:C:\programFiles\iPod\Acknowledgements\rtf." I get the same error message if I try to uninstall iTunes as well. I am the only user of this computer and am the administrater.
See the second box in Troubleshooting issues with iTunes for Windows updates.
tt2 -
error message-The installer has insufficent privileges to modify this file:C:\Program Data\microsoft\windows\start menu\programs\iTunes\.iTunes.ink
How do I correct this to download iTunes so it will run?That one's consistent with disk/file damage. The first thing I'd try with that is running a disk check (chkdsk) over your C drive.
XP instructions in the following document: How to perform disk error checking in Windows XP
Vista instructions in the following document: Check your hard disk for errors
Windows 7 instructions in the following document: How to use CHKDSK (Check Disk)
Select both Automatically fix file system errors and Scan for and attempt recovery of bad sectors, or use chkdsk /r (depending on which way you decide to go about doing this). You'll almost certainly have to schedule the chkdsk to run on startup. The scan should take quite a while ... if it quits after a few minutes or seconds, something's interfering with the scan.
Does the chkdsk find/repair any damage? If so, can you get an install to go through properly afterwards? -
How to modify this query to get the desired output format
I hv written a Query to display all the parent table names and their primary key columns(relevant to this foreign key of the child table).The query is given below...
SELECT DISTINCT(TABLE_NAME) AS PARENT_TABLE,COLUMN_NAME AS PARENT_COLUMN
FROM ALL_CONS_COLUMNS
WHERE CONSTRAINT_NAME IN (SELECT AC.R_CONSTRAINT_NAME
FROM ALL_CONSTRAINTS AC
WHERE AC.TABLE_NAME=TABLE_NAME
AND AC.TABLE_NAME='&TABLE'
AND AC.R_CONSTRAINT_NAME IS NOT NULL);
This query will display all the parent tables and their primary key columns.Now my problem is that how to modify this query to also display the foreign key column name of the child table.
I want the query result in the following format.The query should display the following columns.1)child table's name,2)child table's foreign key column name,3)the corresponding parent table's name,4)the parent table's primary key column name(which is the foreign key in the child table).
For Example I want the output as follows...
TAKE THE CASE OF SCOTT.EMP(AS INPUT TO YOUR QUERY)
CHILD_TABLE CHILD_COLUMN PARENT_TABLE PARENT_COLUMN
EMP DEPTNO DEPT DEPTNO
In this result I hv used alias name for the columns.The query should display this only for the foreign keys in the child table.In the query which I sent to you earlier will give the parent table and the parent column names,But I also want to append the child table and child column names there.
any help on how to tackle would be appreciated.Try this query
SELECT c.table_name child_table,
c.column_name child_column,
p.table_name parent_table,
p.column_name parent_column
FROM user_constraints a,user_constraints b,user_cons_columns c,
user_cons_columns p
WHERE a.r_constraint_name=b.constraint_name and
a.constraint_name=c.constraint_name and
b.constraint_name=p.constraint_name and
c.position=p.position
ORDER BY c.constraint_name,c.position
Anwar
Maybe you are looking for
-
d
-
Adobe Reader for Android to play video embedded in a PDF document.
I am a medical teacher. A large part of my teaching is technical and skills based and I have a lot of teaching video material. I distribute my material to my students as PDF documents with embedded videos. They can presently only read this on their
-
Clearing the cache on version 6.5.2
I was told I should clear my caches now and then...trouble is I can't find out how to do this. Yasu works for the system and browser ones, but how do I clear Quicktime's? I've clicked on everything there was available to click on in Quicktime Prefere
-
[solved]vlc audio doesn't work for HD videos on spdif
As said vlc doesn't work with HD videos, and now I tried to get it to work my normal videos have echo. I have spdif output and use alsa. Everything worked just few day back. It might be the update to KDE4.4.1, but I'm no sure. I'll give more ifo when
-
Enhance infotype 0077 screen number 2008
Hi, I want to enhance infotype 0077 screen number 2008. Using PM01, i created enhance single screen record with infotype 0077 with version 08. But the additional field appear on screen number 2000 instead of screen number 2008. How to add the additio