DBA Data[Home] [Help]

APPS.XTR_STOCK_POSITION_P SQL Statements

The following lines contain the word 'select', 'insert', 'update' or 'delete':

Line: 3

/*  This files conatins three procedure to insert/update/delete rows from the
xtr_position_history table for the 'STOCK' deal.

1. Maintain_stk_position_history is called from the form when the
 'BUY' stock deal is created or the deal status is set to cancelled

2. Snapshot_cost_of_funds fetches all the 'BUY' stock deals with status code as
current and call the procedure snapshot_stk_position_history. This procedure is
called from the form when the sell deal is created or when the concurrent
program -update average rates is run.

When this program is called from the 'FORM' the deal number is passed for which
the resale is being created and when called through the CP the deal number is
null.

3.Snapshot_stk_position_history recalculates the values and then insert/update
or delete rows from the xtr_postion_history table. This procedure is called by
snapshot_stk_cost_of_funds

*/


PROCEDURE MAINTAIN_STK_POSITION_HISTORY(
 P_START_DATE                   IN DATE,
 P_DEAL_NUMBER                  IN NUMBER,
 P_TRANSACTION_NUMBER           IN NUMBER,
 P_COMPANY_CODE                 IN VARCHAR2,
 P_CURRENCY                     IN VARCHAR2,
 P_DEAL_TYPE                    IN VARCHAR2,
 P_DEAL_SUBTYPE                 IN VARCHAR2,
 P_PRODUCT_TYPE                 IN VARCHAR2,
 P_PORTFOLIO_CODE               IN VARCHAR2,
 P_CPARTY_CODE                  IN VARCHAR2,
 P_CONTRA_CCY                   IN VARCHAR2,
 P_CURRENCY_COMBINATION         IN VARCHAR2,
 P_ACCOUNT_NO                   IN VARCHAR2,
 P_TRANSACTION_RATE             IN NUMBER,
 P_YEAR_CALC_TYPE               IN VARCHAR2,
 P_BASE_REF_AMOUNT              IN NUMBER,
 P_BASE_RATE                    IN NUMBER,
 P_STATUS_CODE                  IN VARCHAR2,
 P_INTEREST                     IN NUMBER,
 P_ACTION                       IN VARCHAR2
  ) as



 L_REF_DATE 		DATE;
Line: 65

  select s.HCE_RATE,s.ROUNDING_FACTOR
   from XTR_MASTER_CURRENCIES_V s
   where s.CURRENCY = P_CURRENCY;
Line: 88

/* INSERT     */
/**************/
  if P_ACTION='INSERT' and P_STATUS_CODE='CURRENT' then

       L_DEAL_SUBTYPE := P_DEAL_SUBTYPE;
Line: 102

           insert into XTR_POSITION_HISTORY(
             AS_AT_DATE,
             DEAL_TYPE,
             DEAL_NUMBER,
             TRANSACTION_NUMBER,
             COMPANY_CODE,
             CPARTY_CODE,
             DEAL_SUBTYPE,
             PRODUCT_TYPE,
             PORTFOLIO_CODE,
             CURRENCY,
             CONTRA_CCY,
             CURRENCY_COMBINATION,
             YEAR_CALC_TYPE,
             ACCOUNT_NO,
             BASE_REF_AMOUNT,
             HCE_BASE_REF_AMOUNT,
             TRANSACTION_RATE,
             BASE_RATE,
	     INTEREST,
	     HCE_INTEREST)
          values(
             T_AS_AT_DATE(i),
             P_DEAL_TYPE,
             P_DEAL_NUMBER,
             P_TRANSACTION_NUMBER,
             P_COMPANY_CODE,
             P_CPARTY_CODE,
             L_DEAL_SUBTYPE,
             P_PRODUCT_TYPE,
             P_PORTFOLIO_CODE,
             P_CURRENCY,
             P_CONTRA_CCY,
             P_CURRENCY_COMBINATION,
             P_YEAR_CALC_TYPE,
             P_ACCOUNT_NO,
             L_BASE_REF_AMOUNT,
             L_HCE_BASE_REF_AMOUNT,
             L_TRANSACTION_RATE,
             P_BASE_RATE,
             L_DAILY_INT,
	     L_HCE_INT);
Line: 149

/* UPDATE     */
/**************/
  elsif  P_ACTION='UPDATE' and P_STATUS_CODE= 'CANCELLED' then

          delete from XTR_POSITION_HISTORY
          where AS_AT_DATE >= L_REF_DATE
          and DEAL_TYPE = P_DEAL_TYPE
          and DEAL_NUMBER = P_DEAL_NUMBER;
Line: 161

/* DELETE     */
/**************/
/* this function is not available for the stock deals */


end if;
Line: 222

  select s.HCE_RATE,s.ROUNDING_FACTOR
  from XTR_MASTER_CURRENCIES_V s
  where s.CURRENCY = P_CURRENCY;
Line: 230

    select max(AS_AT_DATE + 1)
    from XTR_POSITION_HISTORY
    where DEAL_TYPE = V_DEAL_TYPE
    and DEAL_NUMBER = V_DEAL_NUMBER;
Line: 237

    select cross_ref_start_date
    from xtr_stock_alloc_details
    where deal_no = V_DEAL_NUMBER
    and CROSS_REF_START_DATE <= V_AS_AT_DATE
    and avg_rate_last_processed is null
    order by cross_ref_start_date;
Line: 246

     Select min(remaining_quantity), max(cross_ref_start_date)
     From XTR_STOCK_ALLOC_DETAILS
     Where deal_no = P_DEAL_NUMBER
     and cross_ref_start_date <= V_AS_AT_DATE;
Line: 255

    select rowid
    from XTR_POSITION_HISTORY
    where AS_AT_DATE = V_AS_AT_DATE
    and DEAL_TYPE = V_DEAL_TYPE
    and DEAL_NUMBER = V_DEAL_NUMBER
    for update of BASE_REF_AMOUNT NOWAIT;
Line: 282

               Delete from XTR_POSITION_HISTORY
               Where deal_number = P_DEAL_NUMBER
               And as_at_date >= l_last_resale_date;
Line: 345

              select price_per_share into
              l_price_per_share
              FROM xtr_stock_alloc_details a
              WHERE deal_no = P_DEAL_NUMBER
              and cross_ref_start_date = l_cross_ref_start_date
              and cross_ref_no = ( select max(cross_ref_no)   --  multiple sales on the same date
                                   FROM xtr_stock_alloc_details
                                   WHERE deal_no = a.deal_no
                                   and cross_ref_start_date = l_cross_ref_start_date);
Line: 367

      /* Insert or Update position history table */
      /*========================================*/
       if L_ROWID is not null then
            update XTR_POSITION_HISTORY
              set COMPANY_CODE = P_COMPANY_CODE,
                CPARTY_CODE  = P_CPARTY_CODE,
                DEAL_SUBTYPE = P_DEAL_SUBTYPE,
                PRODUCT_TYPE = P_PRODUCT_TYPE,
                PORTFOLIO_CODE = P_PORTFOLIO_CODE,
                CURRENCY = P_CURRENCY,
                CONTRA_CCY = P_CONTRA_CCY,
                CURRENCY_COMBINATION = P_CURRENCY_COMBINATION,
                YEAR_CALC_TYPE = P_YEAR_CALC_TYPE,
                ACCOUNT_NO = P_ACCOUNT_NO,
                BASE_REF_AMOUNT = l_BASE_REF_AMOUNT,
                HCE_BASE_REF_AMOUNT = L_HCE_BASE_REF_AMOUNT,
                BASE_RATE = P_BASE_RATE,
                TRANSACTION_RATE = l_TRANSACTION_RATE
                where rowid=l_rowid;
Line: 389

           insert into XTR_POSITION_HISTORY(
             AS_AT_DATE,
             DEAL_TYPE,
             DEAL_NUMBER,
             TRANSACTION_NUMBER,
             COMPANY_CODE,
             CPARTY_CODE,
             DEAL_SUBTYPE,
             PRODUCT_TYPE,
             PORTFOLIO_CODE,
             CURRENCY,
             CONTRA_CCY,
             CURRENCY_COMBINATION,
             YEAR_CALC_TYPE,
             ACCOUNT_NO,
             BASE_REF_AMOUNT,
             HCE_BASE_REF_AMOUNT,
             TRANSACTION_RATE,
             BASE_RATE,
	         INTEREST,
	         HCE_INTEREST)
         values(
             L_AS_AT_DATE,
             P_DEAL_TYPE,
             P_DEAL_NUMBER,
             P_TRANSACTION_NUMBER,
             P_COMPANY_CODE,
             P_CPARTY_CODE,
             P_DEAL_SUBTYPE,
             P_PRODUCT_TYPE,
             P_PORTFOLIO_CODE,
             P_CURRENCY,
             P_CONTRA_CCY,
             P_CURRENCY_COMBINATION,
             P_YEAR_CALC_TYPE,
     	     P_ACCOUNT_NO,
             abs(nvl(L_BASE_REF_AMOUNT, P_BASE_REF_AMOUNT)),
             abs(L_HCE_BASE_REF_AMOUNT),
             L_TRANSACTION_RATE,
             P_BASE_RATE,
	         0,
	         0);
Line: 435

	     Update XTR_STOCK_ALLOC_DETAILS
	     set avg_rate_last_processed = greatest(nvl(avg_rate_last_processed,
L_AS_AT_DATE),
					   L_AS_AT_DATE)
	     where deal_no = P_DEAL_NUMBER;
Line: 492

 select a.deal_no deal_number,
        1 transaction_number,
        a.status_code status_code,
        a.company_code,
        a.cparty_code,
        a.deal_type,
        a.deal_subtype,
        a.currency,
        a.currency_buy,
        a.currency_sell,
        a.product_type,
        a.portfolio_code,
        a.year_calc_type,
        a.year_basis,
        a.interest_rate interest_rate,
        a.capital_price transaction_rate,
        a.base_rate base_rate,
        a.calc_basis,
        a.start_date,
        a.value_date,
        a.option_commencement,
        a.expiry_date,
        a.maturity_date,
        a.maturity_account_no account_no,
        a.start_amount base_amount,
        a.settle_amount second_amount,
	    a.maturity_amount,
        a.start_amount,
        a.day_count_type
 from XTR_DEALS a
 where a.deal_type ='STOCK'
 and a.deal_subtype in ('BUY')
 and a.status_code ='CURRENT'
 and a.start_date <=l_date
 and a.deal_no = nvl(p_deal_number, a.deal_no);
Line: 532

     Select min(remaining_quantity), max(cross_ref_start_date)
     From XTR_STOCK_ALLOC_DETAILS
     Where deal_no = D.DEAL_Number
     and cross_ref_start_date <= L_DATE;
Line: 553

    	Update XTR_STOCK_ALLOC_DETAILS
        Set avg_rate_last_processed = L_DATE
        where deal_no = d.deal_number
        and cross_ref_start_date = l_cross_ref_start_date;