Current Months Data - Automatic
How to run a YTD report which will automatically show the current months data with no variable prompt for the same...?
Is there any such variable which will run a report only for current months data.
I dont think there is a std variable for current period. rather you can use fiscalyear/period time char and use 0FPER to derive current fiscalyear/period
Similar Messages
-
Calc script for calculating current month data after loading
Hi,
I'm trying to write a script to do a calculation to all dimension after load current month data; it ran successfully but current month data is all zero; can someone tell me what i'm doing wrong?
SET CACHE HIGH;
SET UPDATECALC OFF;
SET CALCPARALLEL 4;
FIX (&CurMon, &CurYr)
AGG (Sparse2, Sparse3, Sparse 4, Sparse 5, Sparse 6);
ENDFIX
Dense1 – Dynamic Calc
Period: Dense – Dynamic Calc
Year: Sparse – Dynamic Calc
Sparse2 – Label Only
Sparse3 – Label Only
Sparse 4– Label Only
Sparse5 – Label Only
Sparse6 – Label Only
Thanks!Natilie,
If I understand you correctly, you are loading data, then clearing out the current month->current year, and then aggregating current month->current year? There isn't going to be any data there -- you've cleared it out in your second step.
I think the order you want is:
1) Clear out the current month->current year to be sure it's a good load
2) Load the current month->current year
3) Aggregate the current month->current year
This could be done with a single Maxl that controls two calc scripts and one import database (clear, import, agg) or you could do it manually.
The default calc is (generally) equivalent to CALC ALL using db properties (UPDATECALC, AGGMISSG, etc.). There shouldn't be practical difference between that and the AGG portion of your calc.
I would again confirm that all of your data is at the lowest level, i.e., you can navigate to leaf level on all dimensions and pull a data value before you aggregate. Perhaps you are loading to upper level members and don't realize it. I often use the Excel add-in's Styles to tell me if I'm at the lowest level of a db or not.
Regards,
Cameron Lackpour -
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; -
Help:Unable to get the Current Month Data
Hello Folks,
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.
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;
I have replaced the above code with the code below but its still returning the previous month Data. Any help would be appreciated.
v_lob := get_admin_value(p_admin_procedure_name => 'CLIENT_DATAFEED_CODE',p_err_msg => v_error_text);
if v_lowdate is null or v_highdate is null then
v_cur_day := TO_CHAR (SYSDATE, 'DD');
IF report_type = 'D' -- Daily report
AND v_cur_day > '01' -- (except when run on 1st of the month)
THEN -- will cover from
v_lowdate := TRUNC (SYSDATE, 'MONTH'); -- 1st of this month to
v_highdate := TRUNC (SYSDATE - 1); -- yesterday
ELSIF report_type = 'M' -- Monthly report
OR ( report_type = 'D' -- (or Daily report
AND v_cur_day = '01' -- if run on the 1st of the month)
) -- will cover from
THEN
v_lowdate := ADD_MONTHS ( TRUNC (SYSDATE, 'MONTH')
, -1
); -- 1st of last month
v_highdate := TRUNC (SYSDATE, 'MONTH') - 1; -- last day of last month
END IF;
END IF:How are you testing this? It works for me, or at least generates the dates I think you want.
SQL> var fake VARCHAR2(25);
SQL> var report_type VARCHAR2(1);
SQL> exec :fake := '16-oct-2009'; :report_type := 'M';
PL/SQL procedure successfully completed.
SQL> DECLARE
2 v_cur_day VARCHAR2(2);
3 v_lowdate DATE;
4 v_highdate DATE;
5 fake_date DATE := TO_DATE(:fake, 'dd-mon-yyyy');
6 BEGIN
7 v_cur_day := TO_CHAR (fake_date, 'DD');
8 IF :report_type = 'D' AND v_cur_day > '01' THEN
9 v_lowdate := TRUNC (fake_date, 'MONTH'); -- 1st of this month to
10 v_highdate := TRUNC (fake_date - 1); -- yesterday
11 ELSIF :report_type = 'M' OR (:report_type = 'D' AND v_cur_day = '01') THEN
12 v_lowdate := ADD_MONTHS ( TRUNC (fake_date, 'MONTH'), -1); -- 1st of last month
13 v_highdate := TRUNC (fake_date, 'MONTH') - 1; -- last day of last month
14 END IF;
15 DBMS_OUTPUT.Put_Line('Low: '||TO_CHAR(v_lowdate, 'dd-mon-yyyy'));
16 DBMS_OUTPUT.Put_Line('High: '||TO_CHAR(v_highdate, 'dd-mon-yyyy'));
17 END;
18 /
Low: 01-sep-2009
High: 30-sep-2009
PL/SQL procedure successfully completed.
SQL> exec :report_type := 'D';
PL/SQL procedure successfully completed.
SQL> /
Low: 01-oct-2009
High: 15-oct-2009
PL/SQL procedure successfully completed.
SQL> exec :fake := '01-oct-2009';
PL/SQL procedure successfully completed.
SQL> /
Low: 01-sep-2009
High: 30-sep-2009
PL/SQL procedure successfully completed.John -
How to take last months date to current month date
Hi,
I am designing a report wherein the data should range from 12:01am on the 28th day of the previous month to 11:59 pm on the 27th of the current month.. Also this report would be scheduled accordingly and I should not be able to modify the report every month. What is the formula that should go into it.
Any help will be greatly appreciated!
Thanks & Regards
CauveryHi Cauvery,
try to use the following formula :
Local DateTimeVar A;
Local DateTimeVar From_;
Local DateTimeVar To__;
A:=today;
if Month(A)=1
then From_:=Datetime(year(A),12,28,0,1,0)
else From_:=Datetime(year(A),Month(A)-1,28,0,1,0);
To__:=Datetime(year(A),Month(A),27,23,59,0);
Regards
Edited by: jeecech on Apr 17, 2009 9:37 AM -
How can i pull out data from a spreadsheet only from the current month?
Data is constantly being fed into a spreadsheet using a VI, this data comprises of such things as month, year, weights, std dev, etc. I want to do some data manipulation on the current months data while the VI is running, how can I pull out only the data relating to the current month? Each input into the spreadsheet stores the values for that run on one row, and there are perhaps 150 runs each month
Any thoughts are greatefully received
Thanks
Ross
Attachments:
Results.xls 1 KBHi Ross,
I thought I would go away and make you an example VI for the results xls that you have sent me.
Here it is: I have added a few comments here and there but if you need more info please don't hessitate to post back on the forum
Hope if helps
AdamB
National Instruments
Applications Engineering Team Leader | National Instruments | UK & Ireland
Attachments:
MonthExtract.vi 43 KB -
Current month and previous months of fiscal year period data
Hi All,
My requirement is end user will enter month ie (fiscal year period ) and in report my requiremnt is to show data in two columns 1.Current month data and
2.April till date.
Please let me know how to do this and please send the coding to be done in CMOS.
RegardsHi,
In your query, you should have following object :
in filters:
fiscal period object, with an user entry variable on it (UE_MONTH)
in rows/ratios:
Current month column, with your KF and a restriction on 0calmonth2 with an customer exit variable on it (ie: CE_VAR1)
same for April column. (CE_VAR2)
in your customer exit, CMOD, step 2, add these two cases :
WHEN 'CE_VAR1'.
READ TABLE i_t_var_range WITH KEY vnam = 'UE_MONTH' INTO
intern_range.
CONCATENATE intern_range-low(6) sy-datum+4(2) INTO l_s_range-low.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
APPEND l_s_range TO e_t_range.
Same for April, add a new case and just replace sy-datum+4(2) by '04'.
Hope it helps, -
IW69 report not fetching all transaction data of current month.
Dear Guru Ji,
While doing testing IW69 report, i noticed that it is not displaying current month data. It is only get the data uptil last date of past month data in DEV & QA client.
I wonder why this is happening?
I tried using Malfunction start date & notification reference date input. But still the same result.
Please guide me, what is going wrong?Hi,
The selection option 'notification date' is based on notification date (VIQMEL-QMDAT). Transaction IW69 is used to display notification items - when there is no item data in the notification nothing will be returned.
-Paul -
Delete DSO data for current month on a daily basis.
Hi Gurus,
We have a requirement where we have to delete the data in the BW DSO's for the Current Month every day before loading data into it. The reason for this is that in R3 they delete data for the current month in addition to adding new records and changing existing records. Since we do a Full load in BW, the deleted records in R3 will still exist in the BW DSO, hence the need for deletion.
We can't delete ALL the data in the DSO as we use the BW DSO for Archiving purpose and the R3 table at any point of time will have just 3 months of data, while BW will have historical data.
I know there is a process to delete DSO contents in the Process Chain, but can it be set up to just delete the current months data??
Thanks
ArvindHi Arvind,
The program RSDRD_DELETE_FACTS or transaction DELETE_FACTS will help you in deleting the records. Execute the program and select the option 'Generate Selection Program'. It will create a Z program , you can then dynamically select the current month in the Variant and assign the Z program and the variant in ABAP step of the process chain.
Hope this helps with your requirement.
Regards,
BINETWEAVER2004s -
Can one Crystal Report could contian Current Month, YTD and ITD data?
Hi,
I am trying to build a crystal report and be able to show data in summarized format on single report containing data for the current month, year to date and Inception to date.
The difficulty that I find is the date ranges. Current month date range is different from YTD and ITD date.
what would be the best way to show such data on crystal report? is there a sample report available that can help me to produce such report?
your help will be highly appreciated, thanks!
regards,
MansoorHey Joe,
if you have CRXI, take a look at the sample reports
Record Selection on Date Range has some good examples
you can do this with multiple Groups
create a formula
in to currentdate
( this group will cover your inception date to currentdate)
second group will be a date group also, select year as your print by option for this group.
3rd group also by date,
select month.
add fields to your details section, select the field, right click and select summary location,
(add to all groups)
you can then supress footers and headers as needed.
Hope this helps. -
Get the yesterday or last month data
Hi ,
I've need a small help .
This is the scenario.
If today is 1st feb. so I need to get last month data.
if today is 30 th i need to get the current month data before 30 I mean 29 days data.
I have to do it automatically i mean i need to write case statement in my existing query by using sysdate and i have to get it .
pls help me out . Your help is greatly appreciated.
Thanks & Regards,
madhav.Haven't tested it, but you could try something like
This gives you last months data if executed on the first day of the month otherwise this months data until the day before today
select *
from my_table
where my_date >= add_months(trunc(sysdate, 'MM'), sign(trunc(sysdate)-trunc(sysdate, 'MM'))-1)
and my_date <trunc(sysdate)After I read your posting again, I guess you wanted something else
This query now gives you last months data if executed on the first day of the month otherwise the data of the day before today
select *
from my_table
where my_date >= (case when trunc(sysdate) = trunc(sysdate, 'MM') then add_months(trunc(sysdate, 'MM'), -1) else trunc(sysdate-1) end)
and my_date <trunc(sysdate)Message was edited by:
Jens Petersen -
Hi,
Iam working on BW reports. Currently iam with report which needs to get the current system date automatically in reports.
Can anybody help me on how to get the current system date in report automatically.
I tried in layout but it gives all info. But i need only current system date.
I even tried variable of type sapexit under 0calday. but as it is an variable it filters values with reg to current system date.Hi Ucas,
U have to write the code for the variable as follows:
1) Go to transaction SMOD
2) Enter 'RSR00001' in Enhancement field. Also select the 'Components' radio button. And press 'Display'.
3) Double click on the function module 'EXIT_SAPLRRS0_001'
4) Then, double click on code text 'INCLUDE ZXRSRU01'
5) Now, u reach a screen, where u can write ur include program. U have to write, for example, 'INCLUDE my_code'. Then double click on this to include ur code inside.
6) The code can be :
CASE i_vnam.
WHEN '<write ur variable name>'.
CHECK i_step = 2.
s_range-sign = 'I'.
s_range-opt = 'EQ'.
s_range-low = sy-datum.
APPEND s_range TO e_t_range.
ENDCASE.
Assign points if u find the above info useful.
Message was edited by: Vishesh Pahariya -
Rolling 13 months data dynamically
Hi All ,
I got the 'Cal year/Month' filed and it is showing as 04.2010.
How to make the block to get rolling 13 months data and how to make the block dynamic.
Could any one please help me on this and how to convert the data 04.2010 to April 2010.
Many Thanks in advanceIn the first column of the block get the current month data and then add second column for last month data by creating an report level object with the following formula.
=If(MonthNumberOfYear(CurrentDate()) =1;ToDate("12/01/"+ FormatNumber(Year(CurrentDate())-1;"####"); "MM/dd/yyyy" ); ToDate(FormatNumber(MonthNumberOfYear(CurrentDate())-1;"##")"/01/"FormatNumber(Year(CurrentDate());"####");"MM/dd/yyyy") )
Similarly, add another column for 'last month - 1' data by creating an report level object with following formula.
= If(MonthNumberOfYear(CurrentDate()) =2;ToDate("12/01/"+ FormatNumber(Year(CurrentDate())-1;"####"); "MM/dd/yyyy"); If(MonthNumberOfYear(CurrentDate()) =1;ToDate("11/01/"+ FormatNumber(Year(CurrentDate())-1;"####"); "MM/dd/yyyy" ); ToDate(FormatNumber(MonthNumberOfYear(CurrentDate())-2;"##")"/01/"FormatNumber(Year(CurrentDate());"####");"MM/dd/yyyy") ) )
Similarly, add another column for 'last month - 2' data by creating an report level object with following formula.
= If(MonthNumberOfYear(CurrentDate()) =3;ToDate("12/01/"+ FormatNumber(Year(CurrentDate())-1;"####"); "MM/dd/yyyy"); If(MonthNumberOfYear(CurrentDate()) =2;ToDate("11/01/"+ FormatNumber(Year(CurrentDate())-1;"####"); "MM/dd/yyyy"); If(MonthNumberOfYear(CurrentDate()) =1;ToDate("10/01/"+ FormatNumber(Year(CurrentDate())-1;"####"); "MM/dd/yyyy" ); ToDate(FormatNumber(MonthNumberOfYear(CurrentDate())-3;"##")"/01/"FormatNumber(Year(CurrentDate());"####");"MM/dd/yyyy") ) ) )
In a similar fashion continue this logic for last month -10. This will give you the block of rolling 13 months data.
In the case of date function. If your date is a DATE data type then use FormatDate() or if its a STRING data type then use SubStr.
Thanks,
Praneeth -
Trying to fetch previous month data
hi ...
i have to develope a report in which cutomer on selecting month from the prompt , i have to show transactions for that selected month,transactions for previous month and growth %.
for fetching previous month data i am using the below formula in column
FILTER(etxnmistopbr.tot_txns USING (etxnmistopb(TIMESTAMPADD(SQL_TSI_MONTH, -1,etxnmistopbr.month_year)))
but it doesnt fetch any result.
i have tried
FILTER(etxnmistopbr.tot_txns USING (etxnmistopbr.month_year= TIMESTAMPADD(SQL_TSI_MONTH,-1,timestamp '@{current_year}{2012}-@{current_month}{07}-31 00:00:00')))
where current_year and current_month are presentation variable
but it throws error as "
HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 46046] Datetime value 2012-8-31 00:00:00 does not match the specified format. (HY000) "
can anyone please help how to retrieve previous month data and current month data
Edited by: 8826 on Sep 27, 2012 4:31 AMI would recommend using Time Series Functions, specifically the Ago function in the RPD. This is precisely what they have been designed for and is a very powerful feature of OBIEE. This removes the need for complex formulae embedded within result columns (which you will have to replicate each time you create a new analysis).
The syntax of the Ago function is as simple as:-
AGO(Measure, Time Dimension Level, Number of Periods Ago) e.g.
AGO(Core."Fact - Project Cost".Cost, Core."Date - Fiscal Calendar"."Fiscal Period", 1)
Please mark if helpful/answered.
Andy. -
Need formula in my subreport to get last month date - CR XIr2
Post Author: olesco
CA Forum: Formula
I need to pass the value (#of units) from the subreport to the main report u2013 I know how to do that but my problem is I donu2019t know what formula should I put in my subreport to get last month date.
Both main report and subreport have a date parameter (Field link - {?DatePrompt}. What I need is when I fill in the current month date to the main report the subreport should process the last moth date.
Main report u2013 Date Range (2007-10-1) (2007-10-31) - result #of units = 22
u201CRecord Selection Formula Editor
DateRecd = {@DatePrompt} [i.e. current month]
Subreport u2013 should have data from last month - result #of units = 25
u201CRecord Selection Formula Editor
DateRecd < {@DatePrompt} [last month] ??????
There are 22 3 units this month and 25 units last month.
Any help is greatly appreciated.Post Author: SKodidine
CA Forum: Formula
DateRecd in dateadd('m',-1,minimum({@DatePrompt})) to dateadd('m',-1,maximum({@DatePrompt}))
Maybe you are looking for
-
UNITS have been changed while variable changes
Hi All, While executing BI reports , the Units being changed in the report after change the variable for fiscal year. In the first execution the report is showing correct units but in the same report when changes the fiscal year variable the units ar
-
Having a problem using an Access 2003 database on a Windows 2012 Server
We have an old application developed in Visual Basic 6.0 with an Access 2003 database. We have recently migrated the application from a D-link data server to a new Windows Server 2012. At first everything seemed OK, but then the application began r
-
Web service URL configuration for Xcelsius in BO XI3.1
Currently we can evaluate the BOE R2 and BOE XI3.1, and we are facing such a problem: In R2, we configure the Web service URL for Tomcat in "...\Tomcat\webapps\businessobjects\enterprise115\desktoplaunch\WEB-INF\web.xml ", there is a parameter called
-
Help Needed With Bento 'Inventory' Template.
I am a new user of Bento and I am delighted with the 'Inventory' template. It is just what I have been looking for and would be even better if my two questions can be resolved: 1) I have set it up so that it gives me a monetary SUM of the value of my
-
Core install - no man pages & can not eject cdrom solaris 10
I did a custom core install for solaris 10. I thought I installed all the packages needed, as well as all the dependacies. I have no man pages! I can not eject cdrom, I get an error: "No such file or directory" When I type vold I also get an error: "