fmb_pay_supp_v1: 21 programs convert in part
Shortest first. Left, the PL/SQL as the form holds it. Right, the clauses in the vocabulary’s spelling and, under them, each refused statement with the converter’s reason. 2 of them are program units, headed on unit: a unit’s refusals belong to the unit and are finished there once, and a caller that inlined one links to it rather than asking for the same work again.
go_item('Search.PB_Search');
execute_trigger('WHEN-BUTTON-PRESSED');on change of SDOCNO: go to PB_SEARCH # 1 statement did not convert.# line 2 # execute_trigger('WHEN-BUTTON-PRESSED'); # reason: EXECUTE_TRIGGER is a Forms built-in, which no FormConnect document declares because no database holds it, and no program unit of this form declares one either, so there is no body to inline under the caller's point and item and nothing to bridge to
1 clause converted, 1 statement refused
go_item('Search.PB_Search');
execute_trigger('WHEN-BUTTON-PRESSED');on change of SINVOICE: go to PB_SEARCH # 1 statement did not convert.# line 2 # execute_trigger('WHEN-BUTTON-PRESSED'); # reason: EXECUTE_TRIGGER is a Forms built-in, which no FormConnect document declares because no database holds it, and no program unit of this form declares one either, so there is no body to inline under the caller's point and item and nothing to bridge to
1 clause converted, 1 statement refused
FUNCTION fn_get_early_disc RETURN Number IS
v_Disc Number;
BEGIN
If :Frm_Early_Pay_Disc >0 and :T_Pay_Detail.Pay_Amt > 0 Then
v_Disc := Round(:T_Pay_Detail.Pay_Amt * :Payd_Early_Pay_Disc_Perc/100,2);
Else
v_Disc := 0;
End If;
Return v_Disc;
END;on unit FN_GET_EARLY_DISC: # 1 statement did not convert.# line 10 # Return v_Disc; # reason: this RETURN gives the local V_DISC, which 2 arms of one branch above it write, the last of them an Else, and the guards are not all an equality or an IN list on one name, so no decode says which arm ran: `:FRM_EARLY_PAY_DISC >0 AND :T_PAY_DETAIL.PAY_AMT > 0` asks a question a value pair cannot. What the function returns is therefore not stated
0 clauses converted, 1 statement refused
If :T_Pay_Detail.PayD_OS_Id Is Not Null Then
SELECT Supp_Name
INTO :T_Pay_Detail.Supp_Name
FROM M_Supplier
WHERE Supp_Code=:T_Pay_Detail.PayD_Supp_Code;
SELECT OS_Final_Txn_Code, OS_Doc_No, OS_Invoice_No, OS_Invoice_Due_Dt, Os_Invoice_Dt, Os_Divn_Code
INTO :T_Pay_Detail.Os_Txn_Code, :T_Pay_Detail.Os_Doc_No, :T_Pay_Detail.OS_Invoice_No, :T_Pay_Detail.Os_Due_Dt,:T_Pay_Detail.OS_DOC_DT, :T_Pay_Detail.Payd_Divn_Code
FROM T_OS
WHERE Os_Id=:T_Pay_Detail.PayD_OS_Id;
End If;
------/*Janisha*/-- To show the pay amount in query mode
If :T_Pay_Detail.PayD_DrCr_Flag = 'C' Then
:T_Pay_Detail.Pay_Amt := :T_Pay_Detail.PayD_LC_Amt;
Else
:T_Pay_Detail.Pay_Amt := :T_Pay_Detail.PayD_LC_Amt * -1;
End If;
----------Janisha on 26-05-2013 to populate into the currency rate in query mode----------------
If :T_Pay_Detail.Payd_Curr_Code Is Not Null Then
Select Curr_Buying
Into :T_Pay_Detail.Payd_Curr_Rate
From M_Currency
Where Curr_Code=:T_Pay_Detail.Payd_Curr_Code;
End If;
Set_Record_Property(:System.Trigger_Record,:System.Trigger_Block,Status,Query_Status);
-----------------------
If :Payh_Supp_TT_Amt >0 Then
:Load_Curr_Rate := ROund(:T_Pay_Detail.Tot_Pay_Amt /:PayH_Supp_TT_Amt,3);
End If;
--Os_Doc_Dt := C.Doc_Dt;on load of T_PAY_DETAIL: from SUPPLIER(PAYD_SUPP_CODE) when is_filled(PAYD_OS_ID) # load-fmb-pay-supp-t-pay-detail-load-0 from OS(PAYD_OS_ID) when is_filled(PAYD_OS_ID) # load-fmb-pay-supp-t-pay-detail-load-1 from CURRENCY(PAYD_CURR_CODE) when is_filled(PAYD_CURR_CODE) # load-fmb-pay-supp-t-pay-detail-load-2 set SUPP_NAME to SUPPLIER.SUPP_NAME when is_filled(PAYD_OS_ID) set OS_TXN_CODE to OS.OS_FINAL_TXN_CODE when is_filled(PAYD_OS_ID) set OS_DOC_NO to OS.OS_DOC_NO when is_filled(PAYD_OS_ID) set OS_INVOICE_NO to OS.OS_INVOICE_NO when is_filled(PAYD_OS_ID) set OS_DUE_DT to OS.OS_INVOICE_DUE_DT when is_filled(PAYD_OS_ID) set OS_DOC_DT to OS.OS_INVOICE_DT when is_filled(PAYD_OS_ID) set PAYD_DIVN_CODE to OS.OS_DIVN_CODE when is_filled(PAYD_OS_ID) set PAY_AMT to PAYD_LC_AMT when PAYD_DRCR_FLAG = 'C' set PAY_AMT to PAYD_LC_AMT * -1 when not (PAYD_DRCR_FLAG = 'C') set PAYD_CURR_RATE to CURRENCY.CURR_BUYING when is_filled(PAYD_CURR_CODE) set LOAD_CURR_RATE to round(TOT_PAY_AMT / PAYH_SUPP_TT_AMT, 3) when PAYH_SUPP_TT_AMT > 0 # 1 statement did not convert.# line 27 # Set_Record_Property(:System.Trigger_Record,:System.Trigger_Block,Status,Query_Status); # reason: this sets a record's status, and the platform derives a record's status from its own baseline rather than being told it (the save path, item 99), so a statement that marks a queried record unchanged is refused rather than performed
11 clauses converted, 1 statement refused
DECLARE
founditem CHAR (1);
BEGIN
founditem := 'N';
GO_BLOCK ('Ctrl_Pay_Detail');
FIRST_RECORD;
LOOP
IF TRIM (:search.sdocno) IS NOT NULL
THEN
IF TRIM (:ctrl_pay_detail.os_doc_no) LIKE
TRIM (:search.sdocno)
|| '%'
THEN
founditem := 'Y';
EXIT;
END IF;
ELSIF TRIM (:search.sinvoice) IS NOT NULL
THEN
IF TRIM (:ctrl_pay_detail.os_invoice_no) LIKE
TRIM (:search.sinvoice)
|| '%'
THEN
founditem := 'Y';
EXIT;
END IF;
END IF;
EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE';
NEXT_RECORD;
END LOOP;
:search.sdocno := '';
:search.sinvoice := '';
IF founditem = 'N'
THEN
show_message ('Msg_Alert', 'Finished Search;No Match Found');
FIRST_RECORD;
END IF;
END;on press of PB_SEARCH: go to CTRL_PAY_DETAIL set SDOCNO to '' set SINVOICE to '' # 2 statements did not convert.# line 9 # LOOP # IF TRIM (:search.sdocno) IS NOT NULL # THEN # IF TRIM (:ctrl_pay_detail.os_doc_no) LIKE # TRIM (:search.sdocno) # || '%' # THEN # founditem := 'Y'; # EXIT; # END IF; # ELSIF TRIM (:search.sinvoice) IS NOT NULL # THEN # IF TRIM (:ctrl_pay_detail.os_invoice_no) LIKE # TRIM (:search.sinvoice) # || '%' # THEN # founditem := 'Y'; # EXIT; # END IF; # END IF; # # EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE'; # NEXT_RECORD; # END LOOP; # reason: nothing in it converts to a clause, so what it did per row is not recorded# line 37 # If founditem = 'N' Then # show_message ('Msg_Alert', 'Finished Search;No Match Found'); # FIRST_RECORD; # End If; # reason: the guard reads the local FOUNDITEM, which a loop body above it writes, so what it holds here depends on which iteration ran last
3 clauses converted, 2 statements refused
--If :Load_Supp_Code Is Null Then
If :Load_Supp_Code Is NOT Null Then
SELECT Supp_Name, Supp_Cr_Days, Supp_Email
INTO :Load_Supp_Name, :Load_Supp_Cr_Days, :Load_Supp_Email
FROM M_Supplier
WHERE Supp_Code=:Load_Supp_Code;
:PayH_Desc2 := 'Settlement of bills upto ' || To_Char(:PayH_Process_Dt-:Load_Supp_Cr_Days, :Global.DateFormat);
------------25-05-2013-------------------------
/* If :parameter.Supp_Active Is not Null Then
If :Load_Supp_Code<>:parameter.Supp_Active Then
:parameter.Supp_Active:=:Load_Supp_Code;
End If;
End If;
*/--27-05-2013
SELECT nvl(Supp_Cr_Days,0)
INTO :Supp_Cr_Days
FROM M_Supplier
WHERE supp_code=:Load_Supp_Code;
SELECT SUM(Nvl(Dr,0))-Sum(Nvl(Cr,0))
INTO :Supp_Hold_Amt
FROM(
SELECT DECODE (os_drcr_flag, 'D', os_balance, 0) Dr,
DECODE (os_drcr_flag, 'C', os_balance, 0) Cr
FROM t_os
WHERE os_comp_code = :Global.company
AND os_main_acnt_code =:T_Pay_Head.Load_Supp_Code
AND os_invoice_dt <=:T_Pay_Head.PayH_Process_Dt
AND os_balance > 0
AND NVL (os_hold, 'N') = 'Y');
End If;
-----------25-05-2013-----------------
If :System.Form_Status <> 'Query' Then
If :Parameter.Supp_Active Is Not Null Then
If :Payh_Sup_Tot<=0 Then
Show_Message('Msg_Alert', 'Supplier '||:Parameter.Supp_Active ||' Failed Validation.Pay Amount Goes '||:Payh_Sup_Tot);
Raise Form_Trigger_Failure;
End If;
End If;
End If;
--------------------------on change of PAYH_SUPP_CODE: from SUPPLIER_0(LOAD_SUPP_CODE) when is_filled(LOAD_SUPP_CODE) # load-fmb-pay-supp-t-pay-head-payh-supp-code-when-validate-item-change-0 from SUPPLIER_1(LOAD_SUPP_CODE) when is_filled(LOAD_SUPP_CODE) # load-fmb-pay-supp-t-pay-head-payh-supp-code-when-validate-item-change-1 set LOAD_SUPP_NAME to SUPPLIER_0.SUPP_NAME when is_filled(LOAD_SUPP_CODE) set LOAD_SUPP_CR_DAYS to SUPPLIER_0.SUPP_CR_DAYS when is_filled(LOAD_SUPP_CODE) set LOAD_SUPP_EMAIL to SUPPLIER_0.SUPP_EMAIL when is_filled(LOAD_SUPP_CODE) set PAYH_DESC2 to 'Settlement of bills upto ' || to_char(PAYH_PROCESS_DT - SUPPLIER_0.SUPP_CR_DAYS, GLOBAL.DATEFORMAT) when is_filled(LOAD_SUPP_CODE) set SUPP_CR_DAYS to SUPPLIER_1.SUPP_CR_DAYS when is_filled(LOAD_SUPP_CODE) deny when ((SYSTEM.FORM_STATUS <> 'Query') and is_filled(PARAMETER.SUPP_ACTIVE)) and (PAYH_SUP_TOT <= 0) else (('Supplier ' || PARAMETER.SUPP_ACTIVE) || ' Failed Validation.Pay Amount Goes ') || PAYH_SUP_TOT # 2 statements did not convert.# SELECT SUM(Nvl(Dr,0))-Sum(Nvl(Cr,0)) # INTO :Supp_Hold_Amt # FROM( # SELECT DECODE (os_drcr_flag, 'D', os_balance, 0) Dr, # DECODE (os_drcr_flag, 'C', os_balance, 0) Cr # FROM t_os # WHERE os_comp_code = :Global.company # AND os_main_acnt_code =:T_Pay_Head.Load_Supp_Code # AND os_invoice_dt <=:T_Pay_Head.PayH_Process_Dt # AND os_balance > 0 # AND NVL (os_hold, 'N') = 'Y') # reason: its query has no WHERE clause, so nothing ties the row it reads to a value# SELECT SUM(Nvl(Dr,0))-Sum(Nvl(Cr,0)) # INTO :Supp_Hold_Amt # FROM( # SELECT DECODE (os_drcr_flag, 'D', os_balance, 0) Dr, # DECODE (os_drcr_flag, 'C', os_balance, 0) Cr # FROM t_os # WHERE os_comp_code = :Global.company # AND os_main_acnt_code =:T_Pay_Head.Load_Supp_Code # AND os_invoice_dt <=:T_Pay_Head.PayH_Process_Dt # AND os_balance > 0 # AND NVL (os_hold, 'N') = 'Y'); # reason: the query they read is refused above, so a clause over it would read no row
6 clauses converted, 2 statements refused
Declare
v_Curr_Block VarChar2(30);
Begin
If :Load_Supp_Code Is Not Null AND :Load_Supp_Bank_Code Is Not Null AND Nvl(:Load_Oth_Amt,0) <> 0 Then
v_Curr_Block := :System.Current_Block;
Go_Block('T_Pay_Detail');
Set_Block_Property ('T_Pay_Detail', Insert_Allowed, Property_True);
Set_Block_Property ('T_Pay_Detail', Delete_Allowed, Property_True);
Last_Record;
Next_Record;
/*
First_Record;
Loop
If :System.Last_Record='TRUE' Then
Exit;
End If;
Next_Record;
End Loop;
*/
If :Parameter.Supp_Active Is Not Null Then
If :Load_Supp_Code<>:Parameter.Supp_Active Then
:Parameter.Supp_Active:=:Load_Supp_Code;
End If;
Else
:Parameter.Supp_Active:=:Load_Supp_Code;
End If;
:T_Pay_Detail.PayD_Supp_Code := :Load_Supp_Code;
:T_Pay_Detail.PayD_Supp_Bank_Code := :Load_Supp_Bank_Code;
:T_Pay_Detail.Supp_Name := :Load_Supp_Name;
:T_Pay_Detail.PayD_Pay_Type := 'O';
:T_Pay_Detail.PayD_Curr_Code := :Load_Curr_Code;
:T_Pay_Detail.PayD_Curr_Rate := :Load_Curr_Rate;
If Nvl(:Load_Oth_Amt, 0) > 0 Then
:T_Pay_Detail.PayD_LC_Amt := :Load_Oth_Amt;
:T_Pay_Detail.PayD_Fc_Amt := :Load_Oth_Amt/Nvl(:T_Pay_Detail.PayD_Curr_Rate,0);
:T_Pay_Detail.PayD_DrCr_Flag := 'C';
Else
:T_Pay_Detail.PayD_LC_Amt := Abs(:Load_Oth_Amt);
:T_Pay_Detail.PayD_Fc_Amt := Abs(:Load_Oth_Amt)/Nvl(:T_Pay_Detail.PayD_Curr_Rate,0);
:T_Pay_Detail.PayD_DrCr_Flag := 'D';
End If;
:T_Pay_Detail.PayD_Flag := 'M';
:T_Pay_Detail.PayD_Cr_USer:= :Global.User;
:T_Pay_Detail.PayD_Cr_Dt := SysDate;
:Load_Oth_Amt := 0;
:Parameter.Oth :='Y';
Set_Item_Property('PB_Load', Enabled, Property_False);
Set_Item_Property('PB_Manual_Load', Enabled, Property_False);
End If;
End; on press of PB_OTH: when (is_filled(LOAD_SUPP_CODE) and is_filled(LOAD_SUPP_BANK_CODE)) and (nvl(LOAD_OTH_AMT, 0) <> 0) # 3 statements did not convert.# line 23 # :Parameter.Supp_Active:=:Load_Supp_Code; # reason: set writes a field or a global and there is no third spelling, so a write to a form parameter is refused: item 20 rules a parameter read-only# line 26 # :Parameter.Supp_Active:=:Load_Supp_Code; # reason: set writes a field or a global and there is no third spelling, so a write to a form parameter is refused: item 20 rules a parameter read-only# line 49 # :Parameter.Oth :='Y'; # reason: set writes a field or a global and there is no third spelling, so a write to a form parameter is refused: item 20 rules a parameter read-only
1 clause converted, 3 statements refused
Declare
v_Count Number;
v_Active_Bank Char(1);
v_Curr_Code VarChar2(10);
Begin
If :Load_Supp_Bank_Code Is Not Null Then
SELECT Bank_Name INTO :Load_Supp_Bank_Name FROM M_Bank WHERE Bank_Code=:Load_Supp_Bank_Code;
SELECT Count(*) INTO v_Count
FROM M_Supplier_Bank
WHERE SuppB_Supp_Code=:Load_Supp_Code
AND SuppB_Bank_Code=:Load_Supp_Bank_Code;
If v_Count = 0 Then
Show_Message('Msg_Alert', 'Bank not defined for the supplier!');
Else
--Bank
--Ac_No
--Swift Code
--branch=>address1
--street=>address2
--country
--interbank
--interbankswift
--active
/*
SELECT SUBSTR('Account# ' || RTrim(Nvl(SuppB_Ac_No, ' ')) || '
' || 'Account Name: ' || RTrim(Nvl(SuppB_Ac_Name, ' ')) || '
' || 'Swift Code: ' || Nvl(SuppB_Swift_Code, ' ') || '
' || 'Country: ' || Nvl(SuppB_Country_Code, ' ') || '
' || 'Active: ' || Nvl(SuppB_Active_YN, 'N') || '
' || 'Inter Bank ' || Nvl(SuppB_Inter_Bank, ' ') || '
' || 'Inter Bank Swift ' || Nvl(SuppB_Inter_Swift_Code, ' '), 1, 2000), SuppB_Curr_Code, SuppB_Active_YN
INTO :Bank_Dtl, v_Curr_Code, v_Active_Bank
FROM M_Supplier_Bank
WHERE SuppB_Supp_Code=:Load_Supp_Code
AND SuppB_Bank_Code = :Load_Supp_Bank_Code;
*/
SELECT SuppB_Ac_No, SuppB_Swift_Code, Suppb_Active_YN, SuppB_Curr_Code, SuppB_Inter_Bank, SuppB_Inter_Swift_Code
INTO :Load_Supp_Ac_No, :Load_Supp_Swift, v_Active_Bank, v_Curr_Code, :Load_Supp_Inter_Bank, :Load_Supp_Inter_Swift_Code
FROM M_Supplier_Bank
WHERE SuppB_Supp_Code =:Load_Supp_Code
AND SuppB_Bank_Code =:Load_Supp_Bank_Code;
If v_Curr_Code Is Not Null Then
:Load_Curr_Code := v_Curr_Code;
SELECT Curr_Buying INTO :Load_Curr_Rate
FROM M_Currency
WHERE Curr_Code=v_Curr_Code;
End If;
If Nvl(v_Active_Bank, 'N') = 'N' Then
Show_Message('Msg_Alert', 'Bank not active!');
Raise Form_Trigger_Failure;
End If;
End If;
End If;
End;on change of LOAD_SUPP_BANK_CODE when is_filled(LOAD_SUPP_BANK_CODE): from BANK(LOAD_SUPP_BANK_CODE) # load-fmb-pay-supp-t-pay-head-load-supp-bank-code-change-0 from SUPPLIER_BANK_COUNT(LOAD_SUPP_BANK_CODE, LOAD_SUPP_CODE) # load-fmb-pay-supp-t-pay-head-load-supp-bank-code-change-1 from SUPPLIER_BANK(LOAD_SUPP_BANK_CODE, LOAD_SUPP_CODE) when not (SUPPLIER_BANK_COUNT.COUNT = 0) # load-fmb-pay-supp-t-pay-head-load-supp-bank-code-change-2 set LOAD_SUPP_BANK_NAME to BANK.BANK_NAME warn "Bank not defined for the supplier!" when SUPPLIER_BANK_COUNT.COUNT = 0 set LOAD_SUPP_AC_NO to SUPPLIER_BANK.SUPPB_AC_NO when not (SUPPLIER_BANK_COUNT.COUNT = 0) set LOAD_SUPP_SWIFT to SUPPLIER_BANK.SUPPB_SWIFT_CODE when not (SUPPLIER_BANK_COUNT.COUNT = 0) set LOAD_SUPP_INTER_BANK to SUPPLIER_BANK.SUPPB_INTER_BANK when not (SUPPLIER_BANK_COUNT.COUNT = 0) set LOAD_SUPP_INTER_SWIFT_CODE to SUPPLIER_BANK.SUPPB_INTER_SWIFT_CODE when not (SUPPLIER_BANK_COUNT.COUNT = 0) set LOAD_CURR_CODE to SUPPLIER_BANK.SUPPB_CURR_CODE when not (SUPPLIER_BANK_COUNT.COUNT = 0) and is_filled(SUPPLIER_BANK.SUPPB_CURR_CODE) deny when not (SUPPLIER_BANK_COUNT.COUNT = 0) and (nvl(SUPPLIER_BANK.SUPPB_ACTIVE_YN, 'N') = 'N') else "Bank not active!" # 2 statements did not convert.# SELECT Curr_Buying INTO :Load_Curr_Rate # FROM M_Currency # WHERE Curr_Code=v_Curr_Code # reason: its query narrows on V_CURR_CODE, which this body declares as a local: a formal becomes an :ARG bind and a page value becomes a param, and a local is neither# SELECT Curr_Buying INTO :Load_Curr_Rate # FROM M_Currency # WHERE Curr_Code=v_Curr_Code; # reason: the query they read is refused above, so a clause over it would read no row
8 clauses converted, 2 statements refused
Declare
Cursor C1 is
Select * from (
select 1 Sl_No, Paysd_Txn_Type,Paysd_Doc_No,Paysd_Doc_Dt,Paysd_Divn_Code,Paysd_Anly_Code,
Paysd_Ref,Paysd_DrCr_Flag,Paysd_Req_Amt,
Paysd_Actual_Amt,Paysd_Remarks,Paysd_Adj_Amt,Paysd_Os_Id
from t_pay_suppstmt_detail a
Where Paysd_Payh_Id In (select Max(PayH_id) from T_Pay_head
where PayH_Comp_Code = :Global.Company And Payh_Supp_Code =:PayH_Supp_Code)
Union All
Select 2 Sl_No, Os_Final_Txn_Code , Os_Doc_No , Os_Invoice_Dt ,Os_Divn_Code,Os_Anly_Code_1,
Os_Invoice_no,Os_Drcr_Flag,0,OS_Balance-Nvl(Os_Unconf_Pdc,0) - Nvl(Os_Payd_Amt,0) Bal,
Os_Remarks,0,Os_Id
From T_Os
Where Os_Comp_Code = :Global.Company
And Os_Main_Acnt_Code = :PayH_Supp_Code
And Sign (Os_Balance-Nvl(Os_Unconf_Pdc,0) - Nvl(Os_Payd_Amt,0)) = 1
And Os_Invoice_Dt + :Supp_Cr_Days Between :PayH_Process_Dt_Fm and :Payh_Process_Dt
And Os_Drcr_Flag = 'D'
And Nvl (Os_Hold, 'N') <> 'Y'
Union All
Select 3 Sl_No, Pdc_Txn_Code , To_Number(Pdc_No) , Pdc_Chq_Dt ,Pdc_Divn_Code,Pdc_Anly_Code_1,
Null,'D',0,Pdc_Lc_Amt,
Pdc_Desc,0,Null
From T_Pdc
Where Pdc_Comp_Code = :Global.Company
And Pdc_Party_Main_Acnt_Code = :PayH_Supp_Code
and Pdc_Type_flag ='I'
And Nvl(Pdc_Status,'O') <>'C'
and Pdc_Chq_Dt >= Nvl(:Payh_Dt,trunc(sysdate)) -90
And Nvl(pdc_Confirmed,'N') ='N')
Order by Sl_No,Paysd_Doc_Dt;
Begin
Go_Block('T_Pay_Suppstmt_Detail');
Last_Record;
For Cur in C1 Loop
If C1%NotFound Then
Exit;
End If;
:Paysd_Doc_Dt := Cur.Paysd_Doc_Dt;
:Paysd_Doc_No := Cur.Paysd_Doc_No;
:Paysd_Txn_Type := Cur.Paysd_Txn_Type;
:Paysd_Ref :=Cur.Paysd_Ref;
:Paysd_DrCr_Flag := Cur.Paysd_DrCr_Flag;
:Paysd_Req_Amt := Cur.Paysd_Req_Amt;
:Paysd_Actual_Amt := Cur.Paysd_Actual_Amt;
:Paysd_Adj_Amt := Cur.Paysd_Adj_Amt;
:Paysd_Remarks :=Cur.Paysd_Remarks;
:Paysd_Os_Id :=Cur.PAYSD_OS_ID;
:Paysd_Divn_Code :=Cur.PAYSD_Divn_Code;
:Paysd_Anly_Code :=Cur.PAYSD_Anly_Code;
Next_Record;
End Loop;
Set_Item_Property('Btn_Prv_Load',Enabled,Property_False);
End;
on press of BTN_PRV_LOAD: go to T_PAY_SUPPSTMT_DETAIL last record of T_PAY_SUPPSTMT_DETAIL state disable BTN_PRV_LOAD # 1 statement did not convert.# line 41 # For Cur in C1 Loop # If C1%NotFound Then # Exit; # End If; # :Paysd_Doc_Dt := Cur.Paysd_Doc_Dt; # :Paysd_Doc_No := Cur.Paysd_Doc_No; # :Paysd_Txn_Type := Cur.Paysd_Txn_Type; # :Paysd_Ref :=Cur.Paysd_Ref; # :Paysd_DrCr_Flag := Cur.Paysd_DrCr_Flag; # :Paysd_Req_Amt := Cur.Paysd_Req_Amt; # :Paysd_Actual_Amt := Cur.Paysd_Actual_Amt; # :Paysd_Adj_Amt := Cur.Paysd_Adj_Amt; # :Paysd_Remarks :=Cur.Paysd_Remarks; # :Paysd_Os_Id :=Cur.PAYSD_OS_ID; # :Paysd_Divn_Code :=Cur.PAYSD_Divn_Code; # :Paysd_Anly_Code :=Cur.PAYSD_Anly_Code; # # Next_Record; # End Loop; # reason: it selects *, which a row cannot be read by a name
3 clauses converted, 1 statement refused
Declare
v_Count Number;
v_Days Number;
Begin
--If :Load_Supp_Code Is Null Then
If :Load_Supp_Code Is NOT Null Then
select Count(*) into v_Count From M_Supplier Where Supp_Code=:Load_Supp_Code;
If Nvl(v_Count,0) = 0 Then
Show_Message('Msg_Alert', 'Supplier not found in Supplier master');
Raise Form_Trigger_Failure;
End If;
--SELECT Supp_Name, Supp_Cr_Days, Supp_Email
--INTO :Load_Supp_Name, :Load_Supp_Cr_Days, :Load_Supp_Email
--FROM M_Supplier
--WHERE Supp_Code=:Load_Supp_Code;
SELECT Supp_Name, Supp_Cr_Days, Supp_Email, SuppB_Bank_Code,SuppB_Ac_No
INTO :Load_Supp_Name, :Load_Supp_Cr_Days, :Load_Supp_Email,:Load_Supp_Bank_Code,:Load_Supp_Ac_No
FROM M_Supplier, M_Supplier_Bank
WHERE Supp_Code=SuppB_Supp_Code(+)
And Supp_Code=:Load_Supp_Code;
:PayH_Desc2 := 'Settlement of bills upto ' || To_Char(:PayH_Process_Dt-:Load_Supp_Cr_Days, :Global.DateFormat);
------------25-05-2013-------------------------
/* If :parameter.Supp_Active Is not Null Then
If :Load_Supp_Code<>:parameter.Supp_Active Then
:parameter.Supp_Active:=:Load_Supp_Code;
End If;
End If;
*/--27-05-2013
SELECT nvl(Supp_Cr_Days,0)
INTO :Supp_Cr_Days
FROM M_Supplier
WHERE supp_code=:Load_Supp_Code;
SELECT SUM(Nvl(Dr,0))-Sum(Nvl(Cr,0))
INTO :Supp_Hold_Amt
FROM(
SELECT DECODE (os_drcr_flag, 'D', os_balance, 0) Dr,
DECODE (os_drcr_flag, 'C', os_balance, 0) Cr
FROM t_os
WHERE os_comp_code = :Global.company
AND os_main_acnt_code =:T_Pay_Head.Load_Supp_Code
AND os_invoice_dt <=:T_Pay_Head.PayH_Process_Dt
AND os_balance > 0
AND NVL (os_hold, 'N') = 'Y');
End If;
-----------25-05-2013-----------------
If :System.Form_Status <> 'Query' Then
If :Parameter.Supp_Active Is Not Null Then
If :Payh_Sup_Tot<=0 Then
Show_Message('Msg_Alert', 'Supplier '||:Parameter.Supp_Active ||' Failed Validation.Pay Amount Goes '||:Payh_Sup_Tot);
Raise Form_Trigger_Failure;
End If;
End If;
End If;
End;
:PAYH_SUPP_CODE := :LOAD_SUPP_CODE;
:Frm_En_Early_Pay :=Fn_Get_Supp_Param(:PayH_Supp_Code,'SUPP_EN_EARLY_PAY');
:Frm_Early_Pay_Disc :=Fn_Get_Supp_Param(:PayH_Supp_Code,'SUPP_EARLY_PAY_DISC');
--Set_Item_Property('Load_Supp_Code',Enabled,Property_false); commented by Srisankar
--------------------------on change of LOAD_SUPP_CODE: from SUPPLIER_0(LOAD_SUPP_CODE) when is_filled(LOAD_SUPP_CODE) # load-fmb-pay-supp-t-pay-head-load-supp-code-when-validate-item-change-0 from SUPPLIER_1(LOAD_SUPP_CODE) when is_filled(LOAD_SUPP_CODE) # load-fmb-pay-supp-t-pay-head-load-supp-code-when-validate-item-change-1 exists of SUPPLIER_0 else "Supplier not found in Supplier master" when is_filled(LOAD_SUPP_CODE) set LOAD_SUPP_NAME to SUPPLIER_1.SUPP_NAME when is_filled(LOAD_SUPP_CODE) set LOAD_SUPP_CR_DAYS to SUPPLIER_1.SUPP_CR_DAYS when is_filled(LOAD_SUPP_CODE) set LOAD_SUPP_EMAIL to SUPPLIER_1.SUPP_EMAIL when is_filled(LOAD_SUPP_CODE) set LOAD_SUPP_BANK_CODE to SUPPLIER_1.SUPPB_BANK_CODE when is_filled(LOAD_SUPP_CODE) set LOAD_SUPP_AC_NO to SUPPLIER_1.SUPPB_AC_NO when is_filled(LOAD_SUPP_CODE) set PAYH_DESC2 to 'Settlement of bills upto ' || to_char(PAYH_PROCESS_DT - SUPPLIER_1.SUPP_CR_DAYS, GLOBAL.DATEFORMAT) when is_filled(LOAD_SUPP_CODE) set SUPP_CR_DAYS to SUPPLIER_0.SUPP_CR_DAYS when is_filled(LOAD_SUPP_CODE) deny when ((SYSTEM.FORM_STATUS <> 'Query') and is_filled(PARAMETER.SUPP_ACTIVE)) and (PAYH_SUP_TOT <= 0) else (('Supplier ' || PARAMETER.SUPP_ACTIVE) || ' Failed Validation.Pay Amount Goes ') || PAYH_SUP_TOT set PAYH_SUPP_CODE to LOAD_SUPP_CODE set FRM_EN_EARLY_PAY to FN_GET_SUPP_PARAM(PAYH_SUPP_CODE, 'SUPP_EN_EARLY_PAY') set FRM_EARLY_PAY_DISC to FN_GET_SUPP_PARAM(PAYH_SUPP_CODE, 'SUPP_EARLY_PAY_DISC') # 2 statements did not convert.# SELECT SUM(Nvl(Dr,0))-Sum(Nvl(Cr,0)) # INTO :Supp_Hold_Amt # FROM( # SELECT DECODE (os_drcr_flag, 'D', os_balance, 0) Dr, # DECODE (os_drcr_flag, 'C', os_balance, 0) Cr # FROM t_os # WHERE os_comp_code = :Global.company # AND os_main_acnt_code =:T_Pay_Head.Load_Supp_Code # AND os_invoice_dt <=:T_Pay_Head.PayH_Process_Dt # AND os_balance > 0 # AND NVL (os_hold, 'N') = 'Y') # reason: its query has no WHERE clause, so nothing ties the row it reads to a value# SELECT SUM(Nvl(Dr,0))-Sum(Nvl(Cr,0)) # INTO :Supp_Hold_Amt # FROM( # SELECT DECODE (os_drcr_flag, 'D', os_balance, 0) Dr, # DECODE (os_drcr_flag, 'C', os_balance, 0) Cr # FROM t_os # WHERE os_comp_code = :Global.company # AND os_main_acnt_code =:T_Pay_Head.Load_Supp_Code # AND os_invoice_dt <=:T_Pay_Head.PayH_Process_Dt # AND os_balance > 0 # AND NVL (os_hold, 'N') = 'Y'); # reason: the query they read is refused above, so a clause over it would read no row
12 clauses converted, 2 statements refused
PROCEDURE create_csv IS
v_values DBMS_UTILITY.maxname_array;
v_val varchar2(2000);
v_qry_line varchar2(1000);
v_qry varchar2(10000);
v_ctr number := 1;
v_qry_ref varchar2(50);
CURSOR cur_sql (p_ref in varchar2) IS SELECT SQL_TEXT FROM M_CUSTOM_SQL
WHERE SQL_REF=p_ref
ORDER BY sql_sl_no;
v_Dt Date;
---26-05-2013----------
v_file_prfx varchar2(10);
v_file_extn varchar2(10);
BEGIN
--Increase revision number and set file name to have this revision number
Set_Block_Property('T_Pay_Head', Update_Allowed, Property_True);
:PayH_Rev_No := Nvl(:PayH_Rev_No, 0) + 1;
------------/*Janisha*/-- get the file name prefix and extension
v_file_prfx :=FN_GET_MAIN_ACNT_PARAM(:PayH_Bank_Main_Acnt_Code, :Global.Company, 'ACNT_PAR_PAYFILE_PREFIX');
v_file_extn :=FN_GET_MAIN_ACNT_PARAM(:PayH_Bank_Main_Acnt_Code, :Global.Company, 'ACNT_PAR_PAYFILE_EXTN');
---------------------------
-- :File_Name := 'ffcpmt_' || :PayH_Batch_No || '_' || :PayH_Rev_No || '.csv'; Commented on 27-05-2013 to remove the hard coding of file prefix and extension
:File_Name := v_file_prfx || :PayH_Batch_No || '_' || :PayH_Rev_No || Nvl(v_file_extn,'.csv');
Set_Block_Property('T_Pay_Head', Update_Allowed, Property_False);
--find out dynamic sql ref
v_qry_ref := FN_GET_MAIN_ACNT_PARAM(:PayH_Bank_Main_Acnt_Code, :Global.Company, 'SUP_SCRIPT_QRY_REF');
---
Select Sysdate INTO v_Dt From Dual;
------
If v_qry_ref Is Not Null Then
--find dynamic query to generate csv
Open cur_sql(v_qry_ref);
Loop
Fetch cur_sql INTO v_qry_line;
EXIT WHEN cur_sql%NOTFOUND;
v_qry := Nvl(v_qry, ' ') || ' ' || nvl(v_qry_line, ' ');
End Loop;
v_values := FN_RUN_CUSTOM_SUPP_QRY(v_qry, :PayH_Id);
--set initial values of bean if query returns values
Set_Custom_Property('CTRL.CSVBEAN', 1,'FILE_PATH',:File_Path);
Set_Custom_Property('CTRL.CSVBEAN', 1,'FILE_NAME',:File_Name);
While v_ctr <= v_values.LAST Loop
v_val := v_values(v_ctr);
v_ctr := v_ctr + 1;
--Add Value to CSV File
Set_Custom_Property('CTRL.CSVBEAN', 1, 'ADD_ROWDATA', v_val);
End Loop;
--Send End Message and Create CSV file
Set_Custom_Property('CTRL.CSVBEAN', 1,'CREATE_FILE','Yes');
--Janisha on 20-05-2013 to log the csv generation --------------
Proc_Insert_DivnTxn_Csv_Log(:PayH_Comp_Code,:PayH_Divn_Code,:PayH_Ayr_Code,:PayH_Txn_Code,:PayH_Id,:PayH_Id,v_Dt,:Global.User);
standard.commit;
----------------------------------
Show_Message('Msg_Alert', 'CSV Created Successfully');
End If;
END;on unit CREATE_CSV: state unlock T_PAY_HEAD on update set PAYH_REV_NO to nvl(PAYH_REV_NO, 0) + 1 set FILE_NAME to (((FN_GET_MAIN_ACNT_PARAM(PAYH_BANK_MAIN_ACNT_CODE, GLOBAL.COMPANY, 'ACNT_PAR_PAYFILE_PREFIX') || PAYH_BATCH_NO) || '_') || PAYH_REV_NO) || nvl(FN_GET_MAIN_ACNT_PARAM(PAYH_BANK_MAIN_ACNT_CODE, GLOBAL.COMPANY, 'ACNT_PAR_PAYFILE_EXTN'), '.csv') state lock T_PAY_HEAD on update call PROC_INSERT_DIVNTXN_CSV_LOG(PAYH_COMP_CODE, PAYH_DIVN_CODE, PAYH_AYR_CODE, PAYH_TXN_CODE, PAYH_ID, PAYH_ID, sysdate(), GLOBAL.USER) when is_filled(FN_GET_MAIN_ACNT_PARAM(PAYH_BANK_MAIN_ACNT_CODE, GLOBAL.COMPANY, 'SUP_SCRIPT_QRY_REF')) warn "CSV Created Successfully" when is_filled(FN_GET_MAIN_ACNT_PARAM(PAYH_BANK_MAIN_ACNT_CODE, GLOBAL.COMPANY, 'SUP_SCRIPT_QRY_REF')) # 6 statements did not convert.# line 42 # Loop # Fetch cur_sql INTO v_qry_line; # EXIT WHEN cur_sql%NOTFOUND; # # v_qry := Nvl(v_qry, ' ') || ' ' || nvl(v_qry_line, ' '); # # End Loop; # reason: its cursor takes P_REF, and a parameter passed in PL/SQL is not a bind the page can supply, so the query behind the collection has a name nothing resolves# line 55 # Set_Custom_Property('CTRL.CSVBEAN', 1,'FILE_PATH',:File_Path); # reason: 'CTRL.CSVBEAN' is a bean for a file export, a Bean Area, and component-tracker.md tier 4.4 rules Bean Areas will not be built: they are a Forms applet's own protocol and the web has no equivalent# line 56 # Set_Custom_Property('CTRL.CSVBEAN', 1,'FILE_NAME',:File_Name); # reason: 'CTRL.CSVBEAN' is a bean for a file export, a Bean Area, and component-tracker.md tier 4.4 rules Bean Areas will not be built: they are a Forms applet's own protocol and the web has no equivalent# line 58 # While v_ctr <= v_values.LAST Loop # v_val := v_values(v_ctr); # v_ctr := v_ctr + 1; # # # Set_Custom_Property('CTRL.CSVBEAN', 1, 'ADD_ROWDATA', v_val); # End Loop; # reason: it repeats while v_ctr <= v_values.LAST holds, and a condition is not a collection: crl-loops.md's six operations each read a finite collection whose rows are known before the first pass, and a while loop states only when it stops# line 67 # Set_Custom_Property('CTRL.CSVBEAN', 1,'CREATE_FILE','Yes'); # reason: 'CTRL.CSVBEAN' is a bean for a file export, a Bean Area, and component-tracker.md tier 4.4 rules Bean Areas will not be built: they are a Forms applet's own protocol and the web has no equivalent# line 70 # standard.commit; # reason: G13: mid-trigger DML and the transaction boundary are refused, not converted
6 clauses converted, 6 statements refused
Declare
v_Curr_Block VarChar2(30);
v_TT_Txn Varchar2(10);
v_Count Number;
v_main_ac Varchar2(10);
Begin
If :Payh_Pay_Mode <> 'T' Then
Show_Message('Msg_Alert', 'Payment mode is not TT');
Raise Form_Trigger_Failure;
End If;
If :Payh_Pay_Mode = 'T' and Nvl(:PayH_Supp_Tt_Amt,0) =0 Then
Show_Message('Msg_Alert', 'TT Amount cannot be zero');
Raise Form_Trigger_Failure;
End If;
If Nvl(:Payh_Approval_Status,'N') <> 'F' Then
Show_Message('Msg_Alert', 'Payment not approved');
Raise Form_Trigger_Failure;
End If;
Select count(*) into v_Count From T_Tele_Transfer Where TTrans_Payh_Id =:Payh_Id;
If v_Count > 0 Then
Show_Message('Msg_Alert', 'TT already generated');
Raise Form_Trigger_Failure;
End If;
v_Count := 0;
v_TT_Txn :=Fn_get_Company_Param(:Global.Company,'COM_TT_TXN_CODE');
If v_TT_Txn is Null Then
Show_Message('Msg_Alert', 'TT Txn code not defined');
Raise Form_Trigger_Failure;
Else
Select count(*) Into v_Count from m_final_txn where final_txn_code= v_TT_Txn;
If Nvl(v_Count,0) =0 Then
Show_Message('Msg_Alert', 'Invalid TT Txn code');
Raise Form_Trigger_Failure;
End If;
End If;
Select Supp_Main_acnt_Code into v_Main_ac From M_Supplier Where Supp_Code =:PayH_Supp_Code;
Insert Into T_Tele_Transfer (
Ttrans_Id, Ttrans_Comp_Code, Ttrans_Ayr_Code,
Ttrans_Divn_Code, Ttrans_Dept_Code, Ttrans_Txn_Code,
Ttrans_Doc_Dt, Ttrans_Doc_No, Ttrans_Bank_Main_Acnt_Code,
Ttrans_Party_Main_Acnt_Code, Ttrans_Party_Address, Ttrans_Party_Bank_Code,
Ttrans_Party_Bank_Address, Ttrans_Party_Bank_Ac_No, Ttrans_Party_Bank_Swift,
Ttrans_Party_Bank_Aba_No, Ttrans_Anly_Code_1, Ttrans_Curr_Code,
Ttrans_Fc_Amt, Ttrans_Lc_Amt, Ttrans_Desc,
Ttrans_Remarks, Ttrans_Poh_Id, Ttrans_Confirmed,
Ttrans_Conf_Dt, Ttrans_Conf_User, Ttrans_Approval_Path_Id,
Ttrans_Approval_Status, Ttrans_Approval_Remarks, Ttrans_Approval_Dt,
Ttrans_Status, Ttrans_Due_Dt, Ttrans_Th_Id,
Ttrans_Closed, Ttrans_Closed_Dt, Ttrans_Cr_User,
Ttrans_Cr_Dt, Ttrans_Edt_User, Ttrans_Edt_Dt,TTrans_Payh_Id)
Values (Fn_Get_Next_Id('Tele_Transfer'),:Global.Company,:Payh_Ayr_Code,
:PayH_Divn_Code,:Payh_Dept_Code,v_TT_Txn,
Trunc(Sysdate),Fn_Get_Next_Doc_No(:Global.Company, v_TT_Txn, :PayH_Divn_Code, 'D'), :PayH_bank_Main_Acnt_Code,
v_Main_Ac,Null,:Load_Supp_Bank_Code,
Null,:Load_Supp_Ac_No,:Load_Supp_Swift,
:PayH_Supp_Bank_Aba_No,Null,:Load_Curr_Code,
:PayH_Supp_TT_Amt,:T_Pay_Detail.Net_Pay_Amt,:Payh_Desc1,
:Payh_Remarks,Null,'N',
Null,Null,Null,
'F','AUTO APPROVE[PAYMENT PREPARATION]',Null,
Null,Null,Null,
Null,Null,:Global.User,
Sysdate,Null,Null,:Payh_Id);
Standard.Commit;
v_Count := 0;
Select count(*) into v_Count From T_Tele_Transfer Where TTrans_Payh_Id =:Payh_Id;
If v_Count > 0 Then
Select TTrans_Doc_No into :TT_Req_No From T_Tele_Transfer Where TTrans_Payh_Id =:Payh_Id;
End If;
Show_Message('Msg_Alert', 'TT Generated Successfully');
End; on press of BTN_TT: from TELE_TRANSFER_0(PAYH_ID) # load-fmb-pay-supp-t-pay-head-btn-tt-press-0 from SUPPLIER(PAYH_SUPP_CODE) when not (TELE_TRANSFER_0.COUNT > 0) # load-fmb-pay-supp-t-pay-head-btn-tt-press-2 from TELE_TRANSFER_3(PAYH_ID) when not (TELE_TRANSFER_0.COUNT > 0) # load-fmb-pay-supp-t-pay-head-btn-tt-press-3 from TELE_TRANSFER(PAYH_ID) when (TELE_TRANSFER_3.COUNT > 0) and not (TELE_TRANSFER_0.COUNT > 0) # load-fmb-pay-supp-t-pay-head-btn-tt-press-4 deny when PAYH_PAY_MODE <> 'T' else "Payment mode is not TT" deny when (PAYH_PAY_MODE = 'T') and (nvl(PAYH_SUPP_TT_AMT, 0) = 0) else "TT Amount cannot be zero" deny when nvl(PAYH_APPROVAL_STATUS, 'N') <> 'F' else "Payment not approved" unique of TELE_TRANSFER_0 else "TT already generated" deny when is_blank(FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_TT_TXN_CODE')) else "TT Txn code not defined" call WRITE_T_TELE_TRANSFER_52795528(GLOBAL.COMPANY, PAYH_AYR_CODE, PAYH_DIVN_CODE, PAYH_DEPT_CODE, PAYH_BANK_MAIN_ACNT_CODE, LOAD_SUPP_BANK_CODE, LOAD_SUPP_AC_NO, LOAD_SUPP_SWIFT, PAYH_SUPP_BANK_ABA_NO, LOAD_CURR_CODE, PAYH_SUPP_TT_AMT, NET_PAY_AMT, PAYH_DESC1, PAYH_REMARKS, GLOBAL.USER, PAYH_ID) set TT_REQ_NO to TELE_TRANSFER.TTRANS_DOC_NO when TELE_TRANSFER_3.COUNT > 0 warn "TT Generated Successfully" # 3 statements did not convert.# line 71 # Standard.Commit; # reason: G13: mid-trigger DML and the transaction boundary are refused, not converted# Select count(*) Into v_Count from m_final_txn where final_txn_code= v_TT_Txn # reason: its query narrows on V_TT_TXN, which this body declares as a local: a formal becomes an :ARG bind and a page value becomes a param, and a local is neither# Show_Message('Msg_Alert', 'Invalid TT Txn code'); # Raise Form_Trigger_Failure; # reason: the query they read is refused above, so a clause over it would read no row
8 clauses converted, 3 statements refused
If :PayH_Pay_Mode In ('B', 'C','T') Then
Declare
PL_Id ParamList;
v_Report VarChar2(30);
v_Rep_Id Report_Object;
v_Rep_Job_Id VarChar2(100);
v_Job_Id VarChar2(100);
v_Rep_Status VarChar2(100);
v_Rep_URL VarChar2(1000);
v_Host_Name VarChar2(100) := :Global.Rep_Host_Name;
v_Port VarChar2(100) := :Global.Rep_Port;
v_Rep_Server VarChar2(100) := :Global.Rep_Server;
v_Log_Id Number(10);
v_Dt Date;
Begin
v_Report := 'rep_pay_supp_draft';
PL_Id := Get_Parameter_List(v_Report);
If Not Id_Null(Pl_Id) Then
Destroy_Parameter_List(Pl_Id);
End If;
Pl_Id:=Create_Parameter_List(v_Report);
Select Sysdate INTO v_Dt From Dual;
Add_Parameter(PL_Id, 'Comp_Code', Text_Parameter, :Global.Company);
Add_Parameter(PL_Id, 'Txn_Code', Text_Parameter, :PayH_Txn_Code);
Add_Parameter(PL_Id, 'Ayr_Code', Text_Parameter, :Payh_Ayr_Code);
Add_Parameter(PL_Id, 'Divn', Text_Parameter, :PayH_Divn_Code);
Add_Parameter(PL_Id, 'Doc_No', Text_Parameter, :PayH_No);
Add_Parameter(PL_Id, 'Usr_Id', Text_Parameter, :Global.User);
Add_Parameter(PL_Id, 'Rep_Id', Text_Parameter, :Global.System_Product || '.' || :Parameter.Menu_Code);
Add_Parameter(PL_Id, 'Comp_Name', Text_Parameter, :Global.Company_Name);
Add_Parameter(Pl_Id, 'ParamForm', Text_Parameter, 'No');
--Find Report Object
v_Rep_Id := Find_Report_Object('rep_pay_supp');
--Communication Mode
Set_Report_Object_Property(v_Rep_Id, Report_Comm_Mode, Synchronous);
Set_Report_Object_Property(v_Rep_Id, Report_Desformat, Nvl(:Frm_Rep_Desformat,'PDF'));
If :Mnu_Dest_Name = 'PRINTER' Then
Set_Report_Object_Property(v_Rep_Id, Report_DesType, PRINTER);
If :Mnu_Printer_Name Is Not Null Then
Set_Report_Object_Property(v_Rep_Id, Report_DesName, :Mnu_Printer_Name);
End If;
Else
Set_Report_Object_Property(v_Rep_Id, Report_DesType,CACHE);
End If;
--Specify Report Server and Report File Name
Set_Report_Object_Property(v_Rep_Id, Report_Server, v_Rep_Server);
Set_Report_Object_Property(v_Rep_Id, Report_FileName, v_Report);
--Run Report
v_Rep_Job_Id := Run_Report_Object(v_Rep_Id, PL_Id);
v_Rep_Status := Report_Object_Status(v_Rep_Job_Id);
Proc_Insert_DivnTxn_Print_Log(:PayH_Comp_Code,:PayH_Divn_Code,:PayH_Ayr_Code,:PayH_Txn_Code,:PayH_No,:PayH_No,v_Dt,:Global.User);
standard.commit;
If v_Rep_Status = 'FINISHED' Then
If Upper(Nvl(:Mnu_Dest_Name,'CACHE')) = 'CACHE' Then
v_Job_Id := SubStr(v_Rep_Job_Id, length(v_Rep_Server)+2);
v_Rep_URL := 'http://' || v_Host_Name || ':' || v_Port || '/reports/rwservlet/getjobid' || v_Job_Id || '?server=' || v_Rep_Server;
-- Message(v_Rep_URL);
Web.Show_Document(v_Rep_URL, '_blank');
End If;
Else
Message('Error Running Report');
End If;
End ;
End If;
on press of PRINT_BTN: report rep_pay_supp_draft with (Ayr_Code = PAYH_AYR_CODE, Comp_Code = GLOBAL.COMPANY, Comp_Name = GLOBAL.COMPANY_NAME, Divn = PAYH_DIVN_CODE, Doc_No = PAYH_NO, ParamForm = 'No', Rep_Id = (GLOBAL.SYSTEM_PRODUCT || '.') || PARAMETER.MENU_CODE, Txn_Code = PAYH_TXN_CODE, Usr_Id = GLOBAL.USER) when ((PAYH_PAY_MODE = 'B') or (PAYH_PAY_MODE = 'C')) or (PAYH_PAY_MODE = 'T') call PROC_INSERT_DIVNTXN_PRINT_LOG(PAYH_COMP_CODE, PAYH_DIVN_CODE, PAYH_AYR_CODE, PAYH_TXN_CODE, PAYH_NO, PAYH_NO, sysdate(), GLOBAL.USER) when ((PAYH_PAY_MODE = 'B') or (PAYH_PAY_MODE = 'C')) or (PAYH_PAY_MODE = 'T') # 2 statements did not convert.# line 61 # standard.commit; # reason: G13: mid-trigger DML and the transaction boundary are refused, not converted# line 64 # If v_Rep_Status = 'FINISHED' Then # If Upper(Nvl(:Mnu_Dest_Name,'CACHE')) = 'CACHE' Then # v_Job_Id := SubStr(v_Rep_Job_Id, length(v_Rep_Server)+2); # v_Rep_URL := 'http://' || v_Host_Name || ':' || v_Port || '/reports/rwservlet/getjobid' || v_Job_Id || '?server=' || v_Rep_Server; # Web.Show_Document(v_Rep_URL, '_blank'); # End If; # Else # Message('Error Running Report'); # End If; # reason: the guard reads the local V_REP_STATUS, which is written from something CRL has no expression for: a Forms built-in, a database call or a shape the reader refuses
2 clauses converted, 2 statements refused
If :PayH_Pay_Mode In ('B', 'C','T') Then
Declare
PL_Id ParamList;
v_Report VarChar2(30);
v_Rep_Id Report_Object;
v_Rep_Job_Id VarChar2(100);
v_Job_Id VarChar2(100);
v_Rep_Status VarChar2(100);
v_Rep_URL VarChar2(1000);
v_Host_Name VarChar2(100) := :Global.Rep_Host_Name;
v_Port VarChar2(100) := :Global.Rep_Port;
v_Rep_Server VarChar2(100) := :Global.Rep_Server;
v_Log_Id Number(10);
v_Dt Date;
Begin
v_Report := 'rep_pay_supp_recons';
PL_Id := Get_Parameter_List(v_Report);
If Not Id_Null(Pl_Id) Then
Destroy_Parameter_List(Pl_Id);
End If;
Pl_Id:=Create_Parameter_List(v_Report);
Select Sysdate INTO v_Dt From Dual;
Add_Parameter(PL_Id, 'Comp_Code', Text_Parameter, :Global.Company);
Add_Parameter(PL_Id, 'Txn_Code', Text_Parameter, :PayH_Txn_Code);
Add_Parameter(PL_Id, 'Ayr_Code', Text_Parameter, :Payh_Ayr_Code);
Add_Parameter(PL_Id, 'Divn', Text_Parameter, :PayH_Divn_Code);
Add_Parameter(PL_Id, 'Doc_No', Text_Parameter, :PayH_No);
Add_Parameter(PL_Id, 'Usr_Id', Text_Parameter, :Global.User);
Add_Parameter(PL_Id, 'Cr_User', Text_Parameter, :Payh_Cr_User);
Add_Parameter(PL_Id, 'Rep_Id', Text_Parameter, :Global.System_Product || '.' || :Parameter.Menu_Code);
Add_Parameter(PL_Id, 'Comp_Name', Text_Parameter, :Global.Company_Name);
Add_Parameter(Pl_Id, 'ParamForm', Text_Parameter, 'No');
--Find Report Object
v_Rep_Id := Find_Report_Object('rep_pay_supp');
--Communication Mode
Set_Report_Object_Property(v_Rep_Id, Report_Comm_Mode, Synchronous);
Set_Report_Object_Property(v_Rep_Id, Report_Desformat, Nvl(:Frm_Rep_Desformat,'PDF'));
If :Mnu_Dest_Name = 'PRINTER' Then
Set_Report_Object_Property(v_Rep_Id, Report_DesType, PRINTER);
If :Mnu_Printer_Name Is Not Null Then
Set_Report_Object_Property(v_Rep_Id, Report_DesName, :Mnu_Printer_Name);
End If;
Else
Set_Report_Object_Property(v_Rep_Id, Report_DesType,CACHE);
End If;
--Specify Report Server and Report File Name
Set_Report_Object_Property(v_Rep_Id, Report_Server, v_Rep_Server);
Set_Report_Object_Property(v_Rep_Id, Report_FileName, v_Report);
--Run Report
v_Rep_Job_Id := Run_Report_Object(v_Rep_Id, PL_Id);
v_Rep_Status := Report_Object_Status(v_Rep_Job_Id);
Proc_Insert_DivnTxn_Print_Log(:PayH_Comp_Code,:PayH_Divn_Code,:PayH_Ayr_Code,:PayH_Txn_Code,:PayH_No,:PayH_No,v_Dt,:Global.User);
standard.commit;
If v_Rep_Status = 'FINISHED' Then
If Upper(Nvl(:Mnu_Dest_Name,'CACHE')) = 'CACHE' Then
v_Job_Id := SubStr(v_Rep_Job_Id, length(v_Rep_Server)+2);
v_Rep_URL := 'http://' || v_Host_Name || ':' || v_Port || '/reports/rwservlet/getjobid' || v_Job_Id || '?server=' || v_Rep_Server;
-- Message(v_Rep_URL);
Web.Show_Document(v_Rep_URL, '_blank');
End If;
Else
Message('Error Running Report');
End If;
End ;
End If;
on press of PB_PRINT: report rep_pay_supp_recons with (Ayr_Code = PAYH_AYR_CODE, Comp_Code = GLOBAL.COMPANY, Comp_Name = GLOBAL.COMPANY_NAME, Cr_User = PAYH_CR_USER, Divn = PAYH_DIVN_CODE, Doc_No = PAYH_NO, ParamForm = 'No', Rep_Id = (GLOBAL.SYSTEM_PRODUCT || '.') || PARAMETER.MENU_CODE, Txn_Code = PAYH_TXN_CODE, Usr_Id = GLOBAL.USER) when ((PAYH_PAY_MODE = 'B') or (PAYH_PAY_MODE = 'C')) or (PAYH_PAY_MODE = 'T') call PROC_INSERT_DIVNTXN_PRINT_LOG(PAYH_COMP_CODE, PAYH_DIVN_CODE, PAYH_AYR_CODE, PAYH_TXN_CODE, PAYH_NO, PAYH_NO, sysdate(), GLOBAL.USER) when ((PAYH_PAY_MODE = 'B') or (PAYH_PAY_MODE = 'C')) or (PAYH_PAY_MODE = 'T') # 2 statements did not convert.# line 63 # standard.commit; # reason: G13: mid-trigger DML and the transaction boundary are refused, not converted# line 66 # If v_Rep_Status = 'FINISHED' Then # If Upper(Nvl(:Mnu_Dest_Name,'CACHE')) = 'CACHE' Then # v_Job_Id := SubStr(v_Rep_Job_Id, length(v_Rep_Server)+2); # v_Rep_URL := 'http://' || v_Host_Name || ':' || v_Port || '/reports/rwservlet/getjobid' || v_Job_Id || '?server=' || v_Rep_Server; # Web.Show_Document(v_Rep_URL, '_blank'); # End If; # Else # Message('Error Running Report'); # End If; # reason: the guard reads the local V_REP_STATUS, which is written from something CRL has no expression for: a Forms built-in, a database call or a shape the reader refuses
2 clauses converted, 2 statements refused
If :PayH_Pay_Mode In ('B', 'C','T') Then
Declare
PL_Id ParamList;
v_Report VarChar2(30);
v_Rep_Id Report_Object;
v_Rep_Job_Id VarChar2(100);
v_Job_Id VarChar2(100);
v_Rep_Status VarChar2(100);
v_Rep_URL VarChar2(1000);
v_Host_Name VarChar2(100) := :Global.Rep_Host_Name;
v_Port VarChar2(100) := :Global.Rep_Port;
v_Rep_Server VarChar2(100) := :Global.Rep_Server;
v_Log_Id Number(10);
v_Dt Date;
Begin
v_Report := 'rep_pay_supp_sum';
PL_Id := Get_Parameter_List(v_Report);
If Not Id_Null(Pl_Id) Then
Destroy_Parameter_List(Pl_Id);
End If;
Pl_Id:=Create_Parameter_List(v_Report);
Select Sysdate INTO v_Dt From Dual;
Add_Parameter(PL_Id, 'Comp_Code', Text_Parameter, :Global.Company);
Add_Parameter(PL_Id, 'Txn_Code', Text_Parameter, :PayH_Txn_Code);
Add_Parameter(PL_Id, 'Ayr_Code', Text_Parameter, :Payh_Ayr_Code);
Add_Parameter(PL_Id, 'Divn', Text_Parameter, :PayH_Divn_Code);
Add_Parameter(PL_Id, 'Doc_No', Text_Parameter, :PayH_No);
Add_Parameter(PL_Id, 'Usr_Id', Text_Parameter, :Global.User);
Add_Parameter(PL_Id, 'Cr_User', Text_Parameter, :Payh_Cr_User);
Add_Parameter(PL_Id, 'Rep_Id', Text_Parameter, :Global.System_Product || '.' || :Parameter.Menu_Code);
Add_Parameter(PL_Id, 'Comp_Name', Text_Parameter, :Global.Company_Name);
Add_Parameter(Pl_Id, 'ParamForm', Text_Parameter, 'No');
--Find Report Object
v_Rep_Id := Find_Report_Object('rep_pay_supp');
--Communication Mode
Set_Report_Object_Property(v_Rep_Id, Report_Comm_Mode, Synchronous);
Set_Report_Object_Property(v_Rep_Id, Report_Desformat, Nvl(:Frm_Rep_Desformat,'PDF'));
If :Mnu_Dest_Name = 'PRINTER' Then
Set_Report_Object_Property(v_Rep_Id, Report_DesType, PRINTER);
If :Mnu_Printer_Name Is Not Null Then
Set_Report_Object_Property(v_Rep_Id, Report_DesName, :Mnu_Printer_Name);
End If;
Else
Set_Report_Object_Property(v_Rep_Id, Report_DesType,CACHE);
End If;
--Specify Report Server and Report File Name
Set_Report_Object_Property(v_Rep_Id, Report_Server, v_Rep_Server);
Set_Report_Object_Property(v_Rep_Id, Report_FileName, v_Report);
--Run Report
v_Rep_Job_Id := Run_Report_Object(v_Rep_Id, PL_Id);
v_Rep_Status := Report_Object_Status(v_Rep_Job_Id);
Proc_Insert_DivnTxn_Print_Log(:PayH_Comp_Code,:PayH_Divn_Code,:PayH_Ayr_Code,:PayH_Txn_Code,:PayH_No,:PayH_No,v_Dt,:Global.User);
standard.commit;
If v_Rep_Status = 'FINISHED' Then
If Upper(Nvl(:Mnu_Dest_Name,'CACHE')) = 'CACHE' Then
v_Job_Id := SubStr(v_Rep_Job_Id, length(v_Rep_Server)+2);
v_Rep_URL := 'http://' || v_Host_Name || ':' || v_Port || '/reports/rwservlet/getjobid' || v_Job_Id || '?server=' || v_Rep_Server;
-- Message(v_Rep_URL);
Web.Show_Document(v_Rep_URL, '_blank');
End If;
Else
Message('Error Running Report');
End If;
End ;
End If;
on press of ITEM447: report rep_pay_supp_sum with (Ayr_Code = PAYH_AYR_CODE, Comp_Code = GLOBAL.COMPANY, Comp_Name = GLOBAL.COMPANY_NAME, Cr_User = PAYH_CR_USER, Divn = PAYH_DIVN_CODE, Doc_No = PAYH_NO, ParamForm = 'No', Rep_Id = (GLOBAL.SYSTEM_PRODUCT || '.') || PARAMETER.MENU_CODE, Txn_Code = PAYH_TXN_CODE, Usr_Id = GLOBAL.USER) when ((PAYH_PAY_MODE = 'B') or (PAYH_PAY_MODE = 'C')) or (PAYH_PAY_MODE = 'T') call PROC_INSERT_DIVNTXN_PRINT_LOG(PAYH_COMP_CODE, PAYH_DIVN_CODE, PAYH_AYR_CODE, PAYH_TXN_CODE, PAYH_NO, PAYH_NO, sysdate(), GLOBAL.USER) when ((PAYH_PAY_MODE = 'B') or (PAYH_PAY_MODE = 'C')) or (PAYH_PAY_MODE = 'T') # 2 statements did not convert.# line 63 # standard.commit; # reason: G13: mid-trigger DML and the transaction boundary are refused, not converted# line 66 # If v_Rep_Status = 'FINISHED' Then # If Upper(Nvl(:Mnu_Dest_Name,'CACHE')) = 'CACHE' Then # v_Job_Id := SubStr(v_Rep_Job_Id, length(v_Rep_Server)+2); # v_Rep_URL := 'http://' || v_Host_Name || ':' || v_Port || '/reports/rwservlet/getjobid' || v_Job_Id || '?server=' || v_Rep_Server; # Web.Show_Document(v_Rep_URL, '_blank'); # End If; # Else # Message('Error Running Report'); # End If; # reason: the guard reads the local V_REP_STATUS, which is written from something CRL has no expression for: a Forms built-in, a database call or a shape the reader refuses
2 clauses converted, 2 statements refused
DECLARE
v_cnt NUMBER;
load_flag char(1):='N';
v_lcnt Number:=0;
BEGIN
Go_Block('Ctrl_Pay_Detail');
First_Record;
Last_Record;
v_cnt:=:system.trigger_record;
First_Record;
Set_Block_Property('T_Pay_Detail', Insert_Allowed, Property_True);
Set_Block_Property('T_Pay_Detail', Delete_Allowed, Property_True);
Go_Block('T_Pay_Detail');
:System.Message_Level := '10';--26-05-2013
First_Record;
-----16-05-2013-----------
Loop
If :System.Last_Record='TRUE' Then
Exit;
End If;
If :T_Pay_Detail.PayD_Flag IN('M','R') AND :T_Pay_Detail.Payd_Os_Id Is Not Null Then
Delete_Record;
Previous_Record;
Else
Next_Record;
End If;
End Loop;
-------------18-05-2013----------
Last_Record;
If :T_Pay_Detail.PayD_Flag IN('M','R') AND :T_Pay_Detail.Payd_Os_Id Is Not Null Then
Delete_Record;
Else
Next_record;
End If;
------------------------
For i IN 1..v_cnt
Loop
If :Ctrl_Pay_Detail.load='Y' Then
------------------
:T_Pay_Detail.PayD_Id:=:Ctrl_Pay_Detail.PayD_id;
:T_Pay_Detail.PayD_PayH_Id:=:Ctrl_Pay_Detail.PayD_PayH_Id;
:T_Pay_Detail.PayD_Th_Id:=:Ctrl_Pay_Detail.PayD_Th_Id;
:T_Pay_Detail.PayD_Supp_Code:=:Ctrl_Pay_Detail.PayD_Supp_Code;
:T_Pay_Detail.Supp_Name:=:Ctrl_Pay_Detail.Supp_Name;
:T_Pay_Detail.PayD_Supp_Bank_Code:=:Ctrl_Pay_Detail.PayD_Supp_Bank_Code;
:T_Pay_Detail.PayD_OS_Id := :Ctrl_Pay_Detail.PayD_OS_Id;
:T_Pay_Detail.OS_Txn_Code := :Ctrl_Pay_Detail.OS_Txn_Code;
:T_Pay_Detail.OS_Doc_Dt := :Ctrl_Pay_Detail.OS_Doc_Dt;
:T_Pay_Detail.OS_Invoice_No := :Ctrl_Pay_Detail.OS_Invoice_No;
:T_Pay_Detail.OS_Due_Dt := :Ctrl_Pay_Detail.OS_Due_Dt;
:T_Pay_Detail.PayD_Orig_LC_Amt := :Ctrl_Pay_Detail.PayD_Orig_LC_Amt;
:T_Pay_Detail.PayD_Bal := :Ctrl_Pay_Detail.PayD_Bal;
:T_Pay_Detail.PayD_DrCr_Flag := :Ctrl_Pay_Detail.PayD_DrCr_Flag;
:T_Pay_Detail.PayD_FC_Amt := :Ctrl_Pay_Detail.PayD_FC_Amt;
:T_Pay_Detail.PayD_LC_Amt := :Ctrl_Pay_Detail.PayD_LC_Amt;
:T_Pay_Detail.PayD_Pay_Type := :Ctrl_Pay_Detail.PayD_Pay_Type;
:T_Pay_Detail.PayD_Curr_Code := :Ctrl_Pay_Detail.PayD_Curr_Code;
:T_Pay_Detail.PayD_Curr_Rate := :Ctrl_Pay_Detail.PayD_Curr_Rate;
:T_Pay_Detail.PayD_Flag := :Ctrl_Pay_Detail.PayD_Flag;
:T_Pay_Detail.PayD_Cr_USer:= :Ctrl_Pay_Detail.PayD_Cr_USer;
:T_Pay_Detail.PayD_Cr_Dt := :Ctrl_Pay_Detail.PayD_Cr_Dt;
:T_Pay_Detail.Payd_Remarks:=:Ctrl1.Remarks;
If ( :T_Pay_Detail.OS_Doc_Dt + (:Supp_Cr_Days - Nvl(:Adj_Days,0))) > :PayH_Process_Dt Then
If Nvl(:Frm_En_Early_Pay,'N') ='Y' and :T_Pay_Detail.PayD_DrCr_Flag ='C' Then
:T_Pay_Detail.Payd_Early_Pay_Disc_Perc :=:Frm_Early_Pay_Disc;
End If;
End If;
v_lcnt:=v_lcnt+1;
End If;
Go_Block('Ctrl_Pay_Detail');
Next_Record;
Go_Block('T_Pay_Detail');
If :T_Pay_Detail.Payd_Supp_Code Is Not Null Then
Next_Record;
End If;
--Next_Record;
End Loop;
---Added on 19-05-2013--------------
If v_lcnt>0 Then
Proc_Insert_Update_Setting;
:Parameter.Oth:='N';
Set_Item_Property('PB_Oth', Enabled, Property_False);
End If;
go_block('T_Pay_Detail');
END;on press of PB_MLOAD: go to CTRL_PAY_DETAIL last record of CTRL_PAY_DETAIL first record of CTRL_PAY_DETAIL state unlock T_PAY_DETAIL on insert, delete go to T_PAY_DETAIL first record of CTRL_PAY_DETAIL last record of CTRL_PAY_DETAIL next record of CTRL_PAY_DETAIL when not (((PAYD_FLAG = 'M') or (PAYD_FLAG = 'R')) and is_filled(PAYD_OS_ID)) go to T_PAY_DETAIL # 4 statements did not convert.# line 18 # Loop # If :System.Last_Record='TRUE' Then # Exit; # End If; # If :T_Pay_Detail.PayD_Flag IN('M','R') AND :T_Pay_Detail.Payd_Os_Id Is Not Null Then # # Delete_Record; # Previous_Record; # # Else # Next_Record; # End If; # # End Loop; # reason: its body holds a statement no recognizer claims, and a for each with one dropped runs the rest against every row: Delete_Record; Previous_Record# line 35 # Delete_Record; # reason: DELETE_RECORD is a Forms built-in, which no FormConnect document declares because no database holds it, and no program unit of this form declares one either, so there is no body to inline under the caller's point and item and nothing to bridge to# line 41 # For i IN 1..v_cnt # Loop # If :Ctrl_Pay_Detail.load='Y' Then # # # :T_Pay_Detail.PayD_Id:=:Ctrl_Pay_Detail.PayD_id; # :T_Pay_Detail.PayD_PayH_Id:=:Ctrl_Pay_Detail.PayD_PayH_Id; # :T_Pay_Detail.PayD_Th_Id:=:Ctrl_Pay_Detail.PayD_Th_Id; # :T_Pay_Detail.PayD_Supp_Code:=:Ctrl_Pay_Detail.PayD_Supp_Code; # :T_Pay_Detail.Supp_Name:=:Ctrl_Pay_Detail.Supp_Name; # :T_Pay_Detail.PayD_Supp_Bank_Code:=:Ctrl_Pay_Detail.PayD_Supp_Bank_Code; # :T_Pay_Detail.PayD_OS_Id := :Ctrl_Pay_Detail.PayD_OS_Id; # :T_Pay_Detail.OS_Txn_Code := :Ctrl_Pay_Detail.OS_Txn_Code; # :T_Pay_Detail.OS_Doc_Dt := :Ctrl_Pay_Detail.OS_Doc_Dt; # :T_Pay_Detail.OS_Invoice_No := :Ctrl_Pay_Detail.OS_Invoice_No; # :T_Pay_Detail.OS_Due_Dt := :Ctrl_Pay_Detail.OS_Due_Dt; # :T_Pay_Detail.PayD_Orig_LC_Amt := :Ctrl_Pay_Detail.PayD_Orig_LC_Amt; # :T_Pay_Detail.PayD_Bal := :Ctrl_Pay_Detail.PayD_Bal; # :T_Pay_Detail.PayD_DrCr_Flag := :Ctrl_Pay_Detail.PayD_DrCr_Flag; # :T_Pay_Detail.PayD_FC_Amt := :Ctrl_Pay_Detail.PayD_FC_Amt; # :T_Pay_Detail.PayD_LC_Amt := :Ctrl_Pay_Detail.PayD_LC_Amt; # :T_Pay_Detail.PayD_Pay_Type := :Ctrl_Pay_Detail.PayD_Pay_Type; # :T_Pay_Detail.PayD_Curr_Code := :Ctrl_Pay_Detail.PayD_Curr_Code; # :T_Pay_Detail.PayD_Curr_Rate := :Ctrl_Pay_Detail.PayD_Curr_Rate; # :T_Pay_Detail.PayD_Flag := :Ctrl_Pay_Detail.PayD_Flag; # :T_Pay_Detail.PayD_Cr_USer:= :Ctrl_Pay_Detail.PayD_Cr_USer; # :T_Pay_Detail.PayD_Cr_Dt := :Ctrl_Pay_Detail.PayD_Cr_Dt; # :T_Pay_Detail.Payd_Remarks:=:Ctrl1.Remarks; # # If ( :T_Pay_Detail.OS_Doc_Dt + (:Supp_Cr_Days - Nvl(:Adj_Days,0))) > :PayH_Process_Dt Then # If Nvl(:Frm_En_Early_Pay,'N') ='Y' and :T_Pay_Detail.PayD_DrCr_Flag ='C' Then # :T_Pay_Detail.Payd_Early_Pay_Disc_Perc :=:Frm_Early_Pay_Disc; # End If; # End If; # # v_lcnt:=v_lcnt+1; # End If; # Go_Block('Ctrl_Pay_Detail'); # Next_Record; # Go_Block('T_Pay_Detail'); # If :T_Pay_Detail.Payd_Supp_Code Is Not Null Then # Next_Record; # End If; # # End Loop; # reason: it moves to CTRL_PAY_DETAIL and T_PAY_DETAIL inside the loop, so it acts on two blocks in one body and a collection operation names one collection# line 88 # If v_lcnt>0 Then # Proc_Insert_Update_Setting; # :Parameter.Oth:='N'; # Set_Item_Property('PB_Oth', Enabled, Property_False); # End If; # reason: the guard reads the local V_LCNT, which a loop body above it counts with: `V_LCNT := V_LCNT+1`, so what it holds here is the loop's own arithmetic, and crl-loops.md states the collection operation and not the bookkeeping around it
9 clauses converted, 4 statements refused
If :Payh_Pay_Mode ='C' Then
Declare
PL_Id ParamList;
v_Report VarChar2(30) := 'rep_voucher';
v_Rep_Id Report_Object;
v_Rep_Job_Id VarChar2(100);
v_Job_Id VarChar2(100);
v_Rep_Status VarChar2(100);
v_Rep_URL VarChar2(1000);
v_Host_Name VarChar2(100) := :Global.Rep_Host_Name;
v_Port VarChar2(100) := :Global.Rep_Port;
v_Rep_Server VarChar2(100) := :Global.Rep_Server;
v_Doc_Fm Number(10);
v_Doc_To Number(10);
v_Txn Varchar2(10);
v_Ayr_Code Varchar2(10);
v_Divn Varchar2(10);
v_Prv_Ayr_Code Varchar2(10);
v_Cur_Ayr_Code Varchar2(10);
--01-06-2013-----------
v_Alert Number;
Begin
v_alert := SHOW_ALERT ('PROCESS_ALERT');
If v_alert = alert_button1 Then
If :PayH_Approval_Status ='F' Then
If Nvl(:PayH_Process_Status,'N') ='N' Then
Set_Block_Property('T_Pay_Head', Update_Allowed, Property_True);
:PayH_Process_Status :='F';
:PayH_Edt_User :=:Global.User;
Select Sysdate INTO :PayH_Edt_Dt From Dual;
Commit_Form;
Set_Block_Property('T_Pay_Head', Update_Allowed, Property_False);
Select Min(Th_Doc_No) ,Max(Th_Doc_No),Th_Txn_Code,Th_Ayr_Code,TH_Divn_Code
INTO v_Doc_Fm,v_Doc_To,v_Txn,v_Ayr_Code,v_Divn From
(Select Th_Id,Th_Doc_No,Th_Comp_Code,Th_Txn_Code,Th_Ayr_Code,Th_Divn_Code From T_Cur_Trans_Header
Union all
Select Th_Id,Th_Doc_No,Th_Comp_Code,Th_Txn_Code,Th_Ayr_Code,Th_Divn_Code From T_Prv_Trans_Header
),T_Pay_Detail
Where Th_Id =Payd_Th_Id
and Payd_PayH_Id =:PayH_Id
Group by Th_Txn_Code,Th_Ayr_Code,TH_Divn_Code ;
If v_Doc_Fm is Not Null Then
v_Cur_ayr_Code :=Fn_Get_Ayr_Code(:Global.Company,'C');
v_Prv_Ayr_Code :=Fn_Get_Ayr_Code(:Global.Company,'P');
--
If Upper(:Mnu_Dest_Name) = 'PRINTER' Then
If v_Cur_Ayr_Code = v_Ayr_Code Then
UPDATE T_Cur_Trans_Header SET TH_Prn_Count = Decode(Nvl(TH_Prn_Count,0), 9, 9, Nvl(TH_Prn_Count,0)+1)
WHERE TH_Comp_Code = :Global.Company
AND TH_AYr_Code = v_Ayr_Code
AND TH_Txn_Code = v_Txn
AND TH_Doc_No Between v_Doc_Fm AND v_Doc_To;
Else
UPDATE T_Cur_Trans_Header SET TH_Prn_Count = Decode(Nvl(TH_Prn_Count,0), 9, 9, Nvl(TH_Prn_Count,0)+1)
WHERE TH_Comp_Code = :Global.Company
AND TH_AYr_Code = v_Ayr_Code
AND TH_Txn_Code = v_Txn
AND TH_Doc_No Between v_Doc_Fm AND v_Doc_To;
End If;
End If;
PL_Id := Get_Parameter_List(v_Report);
If Not Id_Null(Pl_Id) Then
Destroy_Parameter_List(Pl_Id);
End If;
Pl_Id:=Create_Parameter_List(v_Report);
Add_Parameter(PL_Id, 'Comp_Code', Text_Parameter, :Global.Company);
Add_Parameter(PL_Id, 'AYr_Code', Text_Parameter, v_Ayr_Code);
Add_Parameter(PL_Id, 'Txn', Text_Parameter, v_Txn);
Add_Parameter(PL_Id, 'Doc_No_Fm', Text_Parameter, v_Doc_Fm);
Add_Parameter(PL_Id, 'Doc_No_To', Text_Parameter, v_Doc_To);
Add_Parameter(PL_Id, 'Divn', Text_Parameter, v_Divn);
Add_Parameter(PL_Id, 'Usr_Id', Text_Parameter, :Global.User);
Add_Parameter(PL_Id, 'Rep_Id', Text_Parameter, :Global.System_Product || '.' || :Parameter.Menu_Code);
Add_Parameter(PL_Id, 'Comp_Name', Text_Parameter, :Global.Company_Name);
Add_Parameter(Pl_Id, 'ParamForm', Text_Parameter, 'No');
--Find Report Object
v_Rep_Id := Find_Report_Object('Rep_Voucher');
:Frm_Rep_Desformat :=Fn_Get_Final_Txn_Param(v_Txn, :Global.Company, 'FINAL_REP_DESFORMAT');
:Frm_Printer := Fn_Get_Final_Txn_Param(v_Txn, :Global.Company, 'FINAL_TXN_PRINTER');
:Frm_Report := Fn_Get_Final_Txn_Param(v_Txn, :Global.Company, 'FINAL_REPORT');
--Communication Mode
Set_Report_Object_Property(v_Rep_Id, Report_Comm_Mode, Synchronous);
Set_Report_Object_Property(v_Rep_Id, Report_Desformat, Nvl(:Frm_Rep_Desformat,'PDF'));
--Handled Destination Type and Name
If Upper(:Mnu_Dest_Name) = 'PRINTER' Then
Set_Report_Object_Property(v_Rep_Id, Report_DesType, PRINTER);
If Nvl(:Frm_Printer,:Mnu_Printer_Name) Is Not Null Then
Set_Report_Object_Property(v_Rep_Id, Report_DesName, Nvl(:Frm_Printer,:Mnu_Printer_Name));
End If;
Else
Set_Report_Object_Property(v_Rep_Id, Report_DesType, CACHE);
End If;
--Specify Report Server and Report File Name
Set_Report_Object_Property(v_Rep_Id, Report_Server, v_Rep_Server);
Set_Report_Object_Property(v_Rep_Id, Report_FileName, Nvl(:Frm_Report ,v_Report));
--Run Report
v_Rep_Job_Id := Run_Report_Object(v_Rep_Id, PL_Id);
v_Rep_Status := Report_Object_Status(v_Rep_Job_Id);
SET_CUSTOM_PROPERTY('CTRL.PRINTBEAN',1,'DEFAULT_PRINTER',:Mnu_Printer_Name);
If v_Rep_Status = 'FINISHED' Then
If Upper(:Mnu_Dest_Name) = 'PRINTER' Then
v_Job_Id := SubStr(v_Rep_Job_Id, length(v_Rep_Server)+2);
v_Rep_URL := 'http://' || v_Host_Name || ':' || v_Port || '/reports/rwservlet/getjobid' || v_Job_Id || '?server=' || v_Rep_Server;
Message(v_Rep_URL);
SET_CUSTOM_PROPERTY('CTRL.PRINTBEAN',1,'FILE_NAME',v_Rep_URL);
SET_CUSTOM_PROPERTY('CTRL.PRINTBEAN',1,'PRINT_FILE','');
--Web.Show_Document(v_Rep_URL, '_blank');
Elsif Upper(:Mnu_Dest_Name) = 'CACHE' Then
v_Job_Id := SubStr(v_Rep_Job_Id, length(v_Rep_Server)+2);
v_Rep_URL := 'http://' || v_Host_Name || ':' || v_Port || '/reports/rwservlet/getjobid' || v_Job_Id || '?server=' || v_Rep_Server;
Message(v_Rep_URL);
Web.Show_Document(v_Rep_URL, '_blank');
End If;
Else
Message('Error Running Report');
End If;
End If;
Else
Show_Message('Msg_Alert','Already processed');
End If;
End If;
End If;
End;
End If;
on press of PB_PROCESS: show alert PROCESS_ALERT when PAYH_PAY_MODE = 'C' when (((PAYH_PAY_MODE = 'C') and (ANSWER.BUTTON = '1')) and (PAYH_APPROVAL_STATUS = 'F')) and (nvl(PAYH_PROCESS_STATUS, 'N') = 'N') warn "Already processed" when (((PAYH_PAY_MODE = 'C') and (ANSWER.BUTTON = '1')) and (PAYH_APPROVAL_STATUS = 'F')) and not (nvl(PAYH_PROCESS_STATUS, 'N') = 'N') # 2 statements did not convert.# line 40 # Select Min(Th_Doc_No) ,Max(Th_Doc_No),Th_Txn_Code,Th_Ayr_Code,TH_Divn_Code # INTO v_Doc_Fm,v_Doc_To,v_Txn,v_Ayr_Code,v_Divn From # (Select Th_Id,Th_Doc_No,Th_Comp_Code,Th_Txn_Code,Th_Ayr_Code,Th_Divn_Code From T_Cur_Trans_Header # Union all # Select Th_Id,Th_Doc_No,Th_Comp_Code,Th_Txn_Code,Th_Ayr_Code,Th_Divn_Code From T_Prv_Trans_Header # ),T_Pay_Detail # Where Th_Id =Payd_Th_Id # and Payd_PayH_Id =:PayH_Id # Group by Th_Txn_Code,Th_Ayr_Code,TH_Divn_Code; # reason: a source names one aggregate or none, and this selects 2 of them beside 3 other expressions, so no one name says what its row carries# line 49 # If v_Doc_Fm is Not Null Then # v_Cur_ayr_Code :=Fn_Get_Ayr_Code(:Global.Company,'C'); # v_Prv_Ayr_Code :=Fn_Get_Ayr_Code(:Global.Company,'P'); # If Upper(:Mnu_Dest_Name) = 'PRINTER' Then # If v_Cur_Ayr_Code = v_Ayr_Code Then # UPDATE T_Cur_Trans_Header SET TH_Prn_Count = Decode(Nvl(TH_Prn_Count,0), 9, 9, Nvl(TH_Prn_Count,0)+1) # WHERE TH_Comp_Code = :Global.Company # AND TH_AYr_Code = v_Ayr_Code # AND TH_Txn_Code = v_Txn # AND TH_Doc_No Between v_Doc_Fm AND v_Doc_To; # Else # UPDATE T_Cur_Trans_Header SET TH_Prn_Count = Decode(Nvl(TH_Prn_Count,0), 9, 9, Nvl(TH_Prn_Count,0)+1) # WHERE TH_Comp_Code = :Global.Company # AND TH_AYr_Code = v_Ayr_Code # AND TH_Txn_Code = v_Txn # AND TH_Doc_No Between v_Doc_Fm AND v_Doc_To; # End If; # End If; # PL_Id := Get_Parameter_List(v_Report); # If Not Id_Null(Pl_Id) Then # Destroy_Parameter_List(Pl_Id); # End If; # Pl_Id:=Create_Parameter_List(v_Report); # Add_Parameter(PL_Id, 'Comp_Code', Text_Parameter, :Global.Company); # Add_Parameter(PL_Id, 'AYr_Code', Text_Parameter, v_Ayr_Code); # Add_Parameter(PL_Id, 'Txn', Text_Parameter, v_Txn); # Add_Parameter(PL_Id, 'Doc_No_Fm', Text_Parameter, v_Doc_Fm); # Add_Parameter(PL_Id, 'Doc_No_To', Text_Parameter, v_Doc_To); # Add_Parameter(PL_Id, 'Divn', Text_Parameter, v_Divn); # Add_Parameter(PL_Id, 'Usr_Id', Text_Parameter, :Global.User); # Add_Parameter(PL_Id, 'Rep_Id', Text_Parameter, :Global.System_Product || '.' || :Parameter.Menu_Code); # Add_Parameter(PL_Id, 'Comp_Name', Text_Parameter, :Global.Company_Name); # Add_Parameter(Pl_Id, 'ParamForm', Text_Parameter, 'No'); # v_Rep_Id := Find_Report_Object('Rep_Voucher'); # :Frm_Rep_Desformat :=Fn_Get_Final_Txn_Param(v_Txn, :Global.Company, 'FINAL_REP_DESFORMAT'); # :Frm_Printer := Fn_Get_Final_Txn_Param(v_Txn, :Global.Company, 'FINAL_TXN_PRINTER'); # :Frm_Report := Fn_Get_Final_Txn_Param(v_Txn, :Global.Company, 'FINAL_REPORT'); # Set_Report_Object_Property(v_Rep_Id, Report_Comm_Mode, Synchronous); # Set_Report_Object_Property(v_Rep_Id, Report_Desformat, Nvl(:Frm_Rep_Desformat,'PDF')); # If Upper(:Mnu_Dest_Name) = 'PRINTER' Then # Set_Report_Object_Property(v_Rep_Id, Report_DesType, PRINTER); # If Nvl(:Frm_Printer,:Mnu_Printer_Name) Is Not Null Then # Set_Report_Object_Property(v_Rep_Id, Report_DesName, Nvl(:Frm_Printer,:Mnu_Printer_Name)); # End If; # Else # Set_Report_Object_Property(v_Rep_Id, Report_DesType, CACHE); # End If; # Set_Report_Object_Property(v_Rep_Id, Report_Server, v_Rep_Server); # Set_Report_Object_Property(v_Rep_Id, Report_FileName, Nvl(:Frm_Report ,v_Report)); # v_Rep_Job_Id := Run_Report_Object(v_Rep_Id, PL_Id); # v_Rep_Status := Report_Object_Status(v_Rep_Job_Id); # SET_CUSTOM_PROPERTY('CTRL.PRINTBEAN',1,'DEFAULT_PRINTER',:Mnu_Printer_Name); # If v_Rep_Status = 'FINISHED' Then # If Upper(:Mnu_Dest_Name) = 'PRINTER' Then # v_Job_Id := SubStr(v_Rep_Job_Id, length(v_Rep_Server)+2); # v_Rep_URL := 'http://' || v_Host_Name || ':' || v_Port || '/reports/rwservlet/getjobid' || v_Job_Id || '?server=' || v_Rep_Server; # Message(v_Rep_URL); # SET_CUSTOM_PROPERTY('CTRL.PRINTBEAN',1,'FILE_NAME',v_Rep_URL); # SET_CUSTOM_PROPERTY('CTRL.PRINTBEAN',1,'PRINT_FILE',''); # Else # If Upper(:Mnu_Dest_Name) = 'CACHE' Then # v_Job_Id := SubStr(v_Rep_Job_Id, length(v_Rep_Server)+2); # v_Rep_URL := 'http://' || v_Host_Name || ':' || v_Port || '/reports/rwservlet/getjobid' || v_Job_Id || '?server=' || v_Rep_Server; # Message(v_Rep_URL); # Web.Show_Document(v_Rep_URL, '_blank'); # End If; # End If; # Else # Message('Error Running Report'); # End If; # End If; # reason: the guard reads the local V_DOC_FM, which a SELECT wrote that no reader claimed, so no source names the row it read: `SELECT MIN(TH_DOC_NO) ,MAX(TH_DOC_NO),TH_TXN_CODE,TH_AYR_CODE,TH_DIVN_...`
3 clauses converted, 2 statements refused
Declare
CURSOR Cur_Supp IS
SELECT Supp_Code, Supp_Name, SuppB_Bank_Code Supp_Bank_Code, OS_Id Doc_OS_Id, OS_Final_Txn_Code Doc_Txn_Code, OS_Doc_No Doc_No,
OS_Invoice_No Invoice_No, OS_Invoice_Dt Doc_Dt, OS_Invoice_Due_Dt Due_Dt, OS_LC_Amt Orig_Amt, OS_Balance-Nvl(Os_Unconf_Pdc,0) - Nvl(Os_Payd_Amt,0) Bal, OS_Hold Doc_Hold, OS_DrCr_Flag DrCr_Flag
FROM T_OS, M_Supplier_Bank, M_Supplier
WHERE OS_Comp_Code = :Global.Company
AND OS_Main_Acnt_code = Supp_Main_Acnt_Code
AND Sign(OS_Balance-Nvl(Os_Unconf_Pdc,0) - Nvl(Os_Payd_Amt,0)) = 1
AND OS_Invoice_Dt > :PayH_Process_Dt
AND OS_DrCr_Flag = 'D'
AND SuppB_Supp_Code=Supp_Code
AND SuppB_Bank_Code=:Load_Supp_Bank_Code
AND Supp_Code = :Load_Supp_Code
AND Nvl(OS_Hold, 'N') <> 'Y'
UNION ALL
SELECT Supp_Code, Supp_Name, SuppB_Bank_Code Supp_Bank_Code, OS_Id Doc_OS_Id, OS_Final_Txn_Code Doc_Txn_Code, OS_Doc_No Doc_No, OS_Invoice_No Invoice_No,
OS_Invoice_Dt Doc_Dt, OS_Invoice_Due_Dt Due_Dt, OS_LC_Amt Orig_Amt, OS_Balance-Nvl(Os_Unconf_Pdc,0) - Nvl(Os_Payd_Amt,0) Bal, OS_Hold Doc_Hold, OS_DrCr_Flag DrCr_Flag
FROM T_OS, M_Supplier_Bank, M_Supplier
WHERE OS_Comp_Code = :Global.Company
AND OS_Main_Acnt_code = Supp_Main_Acnt_Code
AND Sign(OS_Balance-Nvl(Os_Unconf_Pdc,0) - Nvl(Os_Payd_Amt,0)) = 1
--AND OS_Invoice_Due_Dt > :PayH_Process_Dt/*Calcualted due date based on the supplier credit days at run time -- see the below line */
AND OS_Invoice_Dt + :Supp_Cr_Days > :PayH_Process_Dt
AND OS_DrCr_Flag = 'C'
AND SuppB_Supp_Code=Supp_Code
AND SuppB_Bank_Code=:Load_Supp_Bank_Code
AND Supp_Code = :Load_Supp_Code
AND Nvl(OS_Hold, 'N') <> 'Y'
order by 8;
v_Curr_Block VarChar2(30);
v_Confirm_Del Char(1) := 'N';
v_Skip Char(1) := 'N';
v_Alert Number;
v_Bal Number;
v_Transit Number;
v_Tot_Pay Number := 0;
v_cnt Number;
Begin
If :Load_Supp_Code Is Null OR (:PayH_Pay_Mode in('B') and :Load_Supp_Bank_Code Is Null)
OR (:Load_Supp_Bank_Code Is Null And :PayH_Pay_Mode in('B')) Then
Show_Message('Msg_Alert', 'Supplier or Bank cannot be null');
Raise Form_Trigger_Failure;
End If;
If :Parameter.Supp_Active Is Not Null Then
If :Load_Supp_Code<>:Parameter.Supp_Active Then
:Parameter.Supp_Active:=:Load_Supp_Code;
End If;
Else
:Parameter.Supp_Active:=:Load_Supp_Code;
End If;
--Clear Old Records of the supplier
--Check if the supplier already loaded before
v_Curr_Block := :System.Current_Block;
Set_Block_Property('Ctrl_Pay_Detail', Insert_Allowed, Property_True);
Set_Block_Property('Ctrl_Pay_Detail', Delete_Allowed, Property_True);
Go_Block('Ctrl_Pay_Detail');
First_Record;
-------Janisha---------Check whether the supplier already loaded in manual load window----------------
Last_Record;
v_cnt :=:System.Trigger_Record;
First_Record ;
For i in 1..v_cnt
Loop
If :Ctrl_Pay_Detail.PayD_Supp_Code = :Load_Supp_Code Then
Show_Message('Msg_Alert', 'Supplier Already Loaded');
v_Skip := 'Y';
Exit;
End If;
Next_Record;
End Loop;
------------------18-05-2013
Last_Record;
If :Ctrl_Pay_Detail.PayD_Supp_Code is not null Then
next_record;
End If;
------------------18-05-2013
If Nvl(v_Skip, 'N') = 'N' Then
For c in Cur_Supp Loop
v_Bal := c.Bal;
--check if any unprocessed balance in supplier payment
SELECT Sum(PayD_LC_Amt) INTO v_Transit
FROM T_Pay_Head, T_Pay_Detail
WHERE PayH_Id = PayD_PayH_Id
AND PayD_OS_Id = c.Doc_Os_Id
AND (PayH_Approval_Status /* ='P' */ IN ('P','V')--Include the documents in review status also
AND PayH_Valid_Till >= Trunc(SysDate)
OR (PayH_Approval_Status IN ('F', 'N') AND Nvl(PayH_Process_Status, 'N') = 'N')
AND PayH_Valid_Till >= Trunc(SysDate));
v_Bal := v_Bal - Nvl(v_Transit, 0);
If v_Bal > 0 Then
If Nvl(:Load_Curr_Code, :Global.BaseCurrency) = :Global.BaseCurrency Then
:Ctrl_Pay_Detail.PayD_Curr_Code := :Global.BaseCurrency;
:Ctrl_Pay_Detail.PayD_Curr_Rate := 1;
Else
:Ctrl_Pay_Detail.PayD_Curr_Code := :Load_Curr_Code;
:Ctrl_Pay_Detail.PayD_CUrr_Rate := :Load_Curr_Rate;
End If;
:Ctrl_Pay_Detail.PayD_Supp_Code := c.Supp_Code;
:Ctrl_Pay_Detail.PayD_Supp_Bank_Code := c.Supp_Bank_Code;
:Ctrl_Pay_Detail.Supp_Name := c.Supp_Name;
:Ctrl_Pay_Detail.PayD_OS_Id := c.Doc_OS_Id;
:Ctrl_Pay_Detail.OS_Txn_Code := c.Doc_Txn_Code;
:Ctrl_Pay_Detail.OS_Doc_Dt := c.Doc_Dt;
:Ctrl_Pay_Detail.OS_Invoice_No := c.Invoice_No;
:Ctrl_Pay_Detail.OS_Due_Dt := c.Due_Dt;
:Ctrl_Pay_Detail.PayD_Orig_LC_Amt := c.Orig_Amt;
:Ctrl_Pay_Detail.PayD_Bal := v_Bal;
:Ctrl_Pay_Detail.PayD_DrCr_Flag := C.DrCr_Flag;
If Nvl(c.Doc_Hold, 'N') = 'Y' Then
:Ctrl_Pay_Detail.PayD_FC_Amt := 0;
:Ctrl_Pay_Detail.PayD_LC_Amt := 0;
:Ctrl_Pay_Detail.PayD_Pay_Type := 'H';
Else
If Nvl(:Load_Max_Amt, 0) > 0 AND :Ctrl_Pay_Detail.PayD_DrCr_Flag = 'C' AND v_Bal > :Load_Max_Amt - v_Tot_Pay Then
v_Bal := :Load_Max_Amt - v_Tot_Pay;
End If;
:Ctrl_Pay_Detail.PayD_LC_Amt := v_Bal;
:Ctrl_Pay_Detail.PayD_Fc_Amt := v_Bal/Nvl(:Ctrl_Pay_Detail.PayD_Curr_Rate, 0);
:Ctrl_Pay_Detail.PayD_Pay_Type := 'P';
If :Ctrl_Pay_Detail.PayD_DrCr_Flag = 'D' Then
v_Tot_Pay := v_Tot_Pay - Nvl(v_Bal, 0);
Else
v_Tot_Pay := v_Tot_Pay + Nvl(v_Bal, 0);
End If;
If Nvl(:Load_Max_Amt, 0) > 0 AND v_Tot_Pay >= Nvl(:Load_Max_Amt, 0) Then
Exit;
End If;
End If;
:Ctrl_Pay_Detail.PayD_Flag := 'M';
:Ctrl_Pay_Detail.PayD_Cr_USer:= :Global.User;
:Ctrl_Pay_Detail.PayD_Cr_Dt := SysDate;
Next_Record;
End If;
End Loop;
End If;
End;on press of PB_MANUAL_LOAD: deny when (is_blank(LOAD_SUPP_CODE) or ((PAYH_PAY_MODE = 'B') and is_blank(LOAD_SUPP_BANK_CODE))) or (is_blank(LOAD_SUPP_BANK_CODE) and (PAYH_PAY_MODE = 'B')) else "Supplier or Bank cannot be null" state unlock CTRL_PAY_DETAIL on insert, delete go to CTRL_PAY_DETAIL last record of T_PAY_HEAD first record of T_PAY_HEAD find first row in CTRL_PAY_DETAIL where PAYD_SUPP_CODE = LOAD_SUPP_CODE last record of T_PAY_HEAD next record of T_PAY_HEAD when is_filled(PAYD_SUPP_CODE) # 3 statements did not convert.# line 48 # :Parameter.Supp_Active:=:Load_Supp_Code; # reason: set writes a field or a global and there is no third spelling, so a write to a form parameter is refused: item 20 rules a parameter read-only# line 51 # :Parameter.Supp_Active:=:Load_Supp_Code; # reason: set writes a field or a global and there is no third spelling, so a write to a form parameter is refused: item 20 rules a parameter read-only# line 89 # If Nvl(v_Skip, 'N') = 'N' Then # For c in Cur_Supp Loop # v_Bal := c.Bal; # # # SELECT Sum(PayD_LC_Amt) INTO v_Transit # FROM T_Pay_Head, T_Pay_Detail # WHERE PayH_Id = PayD_PayH_Id # AND PayD_OS_Id = c.Doc_Os_Id # AND (PayH_Approval_Status IN ('P','V') # AND PayH_Valid_Till >= Trunc(SysDate) # OR (PayH_Approval_Status IN ('F', 'N') AND Nvl(PayH_Process_Status, 'N') = 'N') # AND PayH_Valid_Till >= Trunc(SysDate)); # # v_Bal := v_Bal - Nvl(v_Transit, 0); # If v_Bal > 0 Then # If Nvl(:Load_Curr_Code, :Global.BaseCurrency) = :Global.BaseCurrency Then # :Ctrl_Pay_Detail.PayD_Curr_Code := :Global.BaseCurrency; # :Ctrl_Pay_Detail.PayD_Curr_Rate := 1; # Else # :Ctrl_Pay_Detail.PayD_Curr_Code := :Load_Curr_Code; # :Ctrl_Pay_Detail.PayD_CUrr_Rate := :Load_Curr_Rate; # End If; # # :Ctrl_Pay_Detail.PayD_Supp_Code := c.Supp_Code; # :Ctrl_Pay_Detail.PayD_Supp_Bank_Code := c.Supp_Bank_Code; # :Ctrl_Pay_Detail.Supp_Name := c.Supp_Name; # :Ctrl_Pay_Detail.PayD_OS_Id := c.Doc_OS_Id; # :Ctrl_Pay_Detail.OS_Txn_Code := c.Doc_Txn_Code; # :Ctrl_Pay_Detail.OS_Doc_Dt := c.Doc_Dt; # :Ctrl_Pay_Detail.OS_Invoice_No := c.Invoice_No; # :Ctrl_Pay_Detail.OS_Due_Dt := c.Due_Dt; # :Ctrl_Pay_Detail.PayD_Orig_LC_Amt := c.Orig_Amt; # :Ctrl_Pay_Detail.PayD_Bal := v_Bal; # :Ctrl_Pay_Detail.PayD_DrCr_Flag := C.DrCr_Flag; # # # # If Nvl(c.Doc_Hold, 'N') = 'Y' Then # :Ctrl_Pay_Detail.PayD_FC_Amt := 0; # :Ctrl_Pay_Detail.PayD_LC_Amt := 0; # :Ctrl_Pay_Detail.PayD_Pay_Type := 'H'; # Else # If Nvl(:Load_Max_Amt, 0) > 0 AND :Ctrl_Pay_Detail.PayD_DrCr_Flag = 'C' AND v_Bal > :Load_Max_Amt - v_Tot_Pay Then # v_Bal := :Load_Max_Amt - v_Tot_Pay; # End If; # # :Ctrl_Pay_Detail.PayD_LC_Amt := v_Bal; # :Ctrl_Pay_Detail.PayD_Fc_Amt := v_Bal/Nvl(:Ctrl_Pay_Detail.PayD_Curr_Rate, 0); # :Ctrl_Pay_Detail.PayD_Pay_Type := 'P'; # # If :Ctrl_Pay_Detail.PayD_DrCr_Flag = 'D' Then # v_Tot_Pay := v_Tot_Pay - Nvl(v_Bal, 0); # Else # v_Tot_Pay := v_Tot_Pay + Nvl(v_Bal, 0); # End If; # # If Nvl(:Load_Max_Amt, 0) > 0 AND v_Tot_Pay >= Nvl(:Load_Max_Amt, 0) Then # Exit; # End If; # End If; # :Ctrl_Pay_Detail.PayD_Flag := 'M'; # :Ctrl_Pay_Detail.PayD_Cr_USer:= :Global.User; # :Ctrl_Pay_Detail.PayD_Cr_Dt := SysDate; # Next_Record; # End If; # End Loop; # End If; # reason: the guard reads the local V_SKIP, which a loop body above it writes, so what it holds here depends on which iteration ran last
8 clauses converted, 3 statements refused
DECLARE
pl_id paramlist;
v_Enable_Pay Varchar2(10);
v_Count Number;
--------------------------
BEGIN
--If :PayH_Pay_Mode = 'C' Then
If Round(nvl(:Supp_Statement_Net,0),2) <> Round(Nvl(:T_pay_detail.Net_Pay_Amt,0),2) Then
Show_Message ('Msg_Alert', 'Amount not tally');
Raise Form_Trigger_Failure;
End if;
--End If;
If :PayH_Payment_Dt is Null Then
Show_Message('Msg_Alert', 'Payment date cannot be null');
Raise Form_Trigger_Failure;
End If;
If :PayH_Process_Dt is Null Then
Show_Message('Msg_Alert', 'Process date cannot be null');
Raise Form_Trigger_Failure;
End If;
If :Payh_Pay_Mode = 'T' and Nvl(:PayH_Supp_Tt_Amt,0) =0 Then
Show_Message('Msg_Alert', 'TT Amount cannot be zero');
Raise Form_Trigger_Failure;
End If;
IF :SYSTEM.form_status = 'CHANGED' THEN
v_Enable_Pay := Fn_Get_Main_Acnt_Param(:PayH_Bank_Main_Acnt_Code, :Global.Company, 'ENABLE_SUP_PAY');
If Nvl(v_Enable_Pay, 'N') <> 'Y' and :Payh_Pay_Mode ='B' Then
Show_Message('Msg_Alert', 'Supplier Payment Not Enabled for This Account!');
Raise Form_Trigger_Failure;
End If;
Go_Block('T_Pay_Detail');
First_Record;
Loop
If :System.Last_Record='TRUE' Then
Exit;
End If;
Next_Record;
End Loop;
IF FORM_SUCCESS THEN
-----------------------------------
If :Parameter.Supp_Active Is Not Null Then
If :Sup_Pay_Tot Is Not Null Then
:T_Pay_Head.Payh_Sup_Tot:= :Sup_Pay_Tot;
End If;
End If;
If :Parameter.Supp_Active is Not Null Then
If :PayH_Sup_Tot<=0 Then /*Janisha*/--To prevent a document to get saved with zero or negative amount for a particular supplier
Show_Message('Msg_Alert', 'Supplier '||:parameter.Supp_Active ||' Failed Validation.Pay Amount goes '||:PayH_Sup_Tot);
Raise Form_Trigger_Failure;
End If;
End If;
If nvl(:T_Pay_Detail.Tot_Pay_Amt,0) <=0 Then /*Janisha*/--To prevent a document to get saved with zero or negative amount.
Show_Message('Msg_Alert', 'Payment Amount Cannot be Zero or Negative');
Raise Form_Trigger_Failure;
End If;
-----------------------------------------------------
COMMIT;
Select Count(*) into v_Count from wt_Pay_Head
Where PayH_Comp_Code =:Global.Company
And Payh_Divn_Code =:Payh_Divn_Code
And PayH_Supp_Code = :Load_Supp_Code
And PayH_Process_Dt = :PayH_Process_Dt
And Nvl(PayH_Load_Flag,'N') ='N';
If v_Count > 0 Then
Update wt_Pay_Head set PayH_Load_Flag ='Y'
Where PayH_Comp_Code =:Global.Company
And Payh_Divn_Code =:Payh_Divn_Code
And PayH_Supp_Code = :Load_Supp_Code
And PayH_Process_Dt = :PayH_Process_Dt
And Nvl(PayH_Load_Flag,'N') ='N';
Standard.commit;
End If;
IF :SYSTEM.form_status <> 'QUERY' THEN -- added by rincy to check commit_form success
RAISE form_trigger_failure;
END IF;
END IF;
END IF;
--EXIT_FORM;
--Print automatically if default value set to print, document approved, and not printed already
/*
select count(*) INTO :Prn_Count From Txn_Print_Log
Where Log_Comp_Code =:GrH_Comp_Code
and Log_Loc_Code =:GrH_Loc_Code
and Log_Ayr_Code =:GrH_Ayr_Code
and Log_Txn_Code =:GrH_Txn_Code
and :GrH_NO Between log_No_From and Log_No_To;
If Nvl(:Prn_Count, 0) = 0 AND Nvl(:Frm_Skip_Print, 'N') = 'N' Then
PL_Id := Get_Parameter_List(v_report);
If Not Id_Null(Pl_Id) Then
Destroy_Parameter_List(Pl_Id);
End If;
PL_Id := Create_Parameter_List(v_report);
Add_Parameter(PL_Id, 'Parm_Comp_Code', TEXT_PARAMETER, :Grh_Comp_Code);
Add_Parameter(PL_Id, 'Parm_Loc_Code', TEXT_PARAMETER, :GRH_Loc_Code);
Add_Parameter(PL_Id, 'Parm_Txn_Code', TEXT_PARAMETER, :GRH_Txn_Code);
Add_Parameter(PL_Id, 'Parm_AYr_Code', TEXT_PARAMETER, :GRH_AYr_Code);
Add_Parameter(PL_Id, 'Parm_No_From', TEXT_PARAMETER, :GRH_No);
Add_Parameter(PL_Id, 'Parm_No_To', TEXT_PARAMETER, :GRH_No);
Add_Parameter(PL_Id, 'Parm_User', Text_Parameter, :Global.User);
Add_Parameter(Pl_Id, 'ParamForm', Text_Parameter, 'No');
--Add_Parameter(Pl_Id, 'DesType', Text_Parameter, 'Printer');
Add_Parameter(PL_Id, 'Rep_Id', Text_Parameter, :Global.System_Product || '.' || :Parameter.Menu_Code);
Add_Parameter(PL_Id, 'Comp_Name', Text_Parameter, :Global.Company_Name);
--Find Report Object
v_Rep_Id := Find_Report_Object('print_grn');
--Communication Mode
Set_Report_Object_Property(v_Rep_Id, Report_Comm_Mode, Synchronous);
Set_Report_Object_Property(v_Rep_Id, Report_Desformat, 'PDF');
--Handled Destination Type and Name
If :Frm_Printer_Name Is Not Null Then
Set_Report_Object_Property(v_Rep_Id, Report_DesName, :Frm_Printer_Name);
--End If;
Else
Set_Report_Object_Property(v_Rep_Id, Report_DesType, CACHE);
End If;
--Specify Report Server and Report File Name
Set_Report_Object_Property(v_Rep_Id, Report_Server, v_Rep_Server);
Set_Report_Object_Property(v_Rep_Id, Report_FileName, v_Report);
--Run Report
v_Rep_Job_Id := Run_Report_Object(v_Rep_Id, PL_Id);
v_Rep_Status := Report_Object_Status(v_Rep_Job_Id);
If v_Rep_Status = 'FINISHED' Then
If Upper(:DesType) = 'CACHE' Then
v_Job_Id := SubStr(v_Rep_Job_Id, length(v_Rep_Server)+2);
v_Rep_URL := 'http://' || v_Host_Name || ':' || v_Port || '/reports/rwservlet/getjobid' || v_Job_Id || '?server=' || v_Rep_Server;
Message(v_Rep_URL);
Web.Show_Document(v_Rep_URL, '_blank');
End If;
Else
Message('Error Running Report');
End If;
Clear_Form;
Init_Form;
End If;
Exception
When Others then Show_Message('Alert1', ERROR_CODE || ' ' || ERROR_TEXT);
*/
End;on commit: deny when round(nvl(SUPP_STATEMENT_NET, 0), 2) <> round(nvl(NET_PAY_AMT, 0), 2) else "Amount not tally" require PAYH_PAYMENT_DT else "Payment date cannot be null" require PAYH_PROCESS_DT else "Process date cannot be null" deny when (PAYH_PAY_MODE = 'T') and (nvl(PAYH_SUPP_TT_AMT, 0) = 0) else "TT Amount cannot be zero" deny when (SYSTEM.FORM_STATUS = 'CHANGED') and ((nvl(FN_GET_MAIN_ACNT_PARAM(PAYH_BANK_MAIN_ACNT_CODE, GLOBAL.COMPANY, 'ENABLE_SUP_PAY'), 'N') <> 'Y') and (PAYH_PAY_MODE = 'B')) else "Supplier Payment Not Enabled for This Account!" go to T_PAY_DETAIL when SYSTEM.FORM_STATUS = 'CHANGED' # 2 statements did not convert.# line 42 # Loop # # If :System.Last_Record='TRUE' Then # Exit; # End If; # # Next_Record; # End Loop; # reason: nothing in it converts to a clause, so what it did per row is not recorded# line 52 # If FORM_SUCCESS Then # If :Parameter.Supp_Active Is Not Null Then # If :Sup_Pay_Tot Is Not Null Then # :T_Pay_Head.Payh_Sup_Tot:= :Sup_Pay_Tot; # End If; # End If; # If :Parameter.Supp_Active is Not Null Then # If :PayH_Sup_Tot<=0 Then # Show_Message('Msg_Alert', 'Supplier '||:parameter.Supp_Active ||' Failed Validation.Pay Amount goes '||:PayH_Sup_Tot); # Raise Form_Trigger_Failure; # End If; # End If; # If nvl(:T_Pay_Detail.Tot_Pay_Amt,0) <=0 Then # Show_Message('Msg_Alert', 'Payment Amount Cannot be Zero or Negative'); # Raise Form_Trigger_Failure; # End If; # COMMIT; # Select Count(*) into v_Count from wt_Pay_Head # Where PayH_Comp_Code =:Global.Company # And Payh_Divn_Code =:Payh_Divn_Code # And PayH_Supp_Code = :Load_Supp_Code # And PayH_Process_Dt = :PayH_Process_Dt # And Nvl(PayH_Load_Flag,'N') ='N'; # If v_Count > 0 Then # Update wt_Pay_Head set PayH_Load_Flag ='Y' # Where PayH_Comp_Code =:Global.Company # And Payh_Divn_Code =:Payh_Divn_Code # And PayH_Supp_Code = :Load_Supp_Code # And PayH_Process_Dt = :PayH_Process_Dt # And Nvl(PayH_Load_Flag,'N') ='N'; # Standard.commit; # End If; # If :SYSTEM.form_status <> 'QUERY' Then # RAISE form_trigger_failure; # End If; # End If; # reason: the guard reads FORM_SUCCESS, which is one of Forms' own constants and not a value: CRL has no expression for what a property or an alert button is called
6 clauses converted, 2 statements refused
Declare
Cursor Cur_Supp
Is
Select Supp_Code, Substr(Supp_Name, 1, 95) Supp_Name, Suppb_Bank_Code Supp_Bank_Code,
Os_Divn_Code Doc_Divn_Code, Os_Id Doc_Os_Id, Os_Final_Txn_Code Doc_Txn_Code,
Os_Doc_No Doc_No, Substr(Os_Invoice_No,1,25) Invoice_No,
Os_Invoice_Dt Doc_Dt, Os_Invoice_Due_Dt Due_Dt,
Os_Lc_Amt Orig_Amt, OS_Balance-Nvl(Os_Unconf_Pdc,0) - Nvl(Os_Payd_Amt,0) Bal, Os_Hold Doc_Hold,
Os_Drcr_Flag Drcr_Flag
From T_Os, M_Supplier_Bank, M_Supplier
Where Os_Comp_Code = :Global.Company
And Os_Main_Acnt_Code = Supp_Main_Acnt_Code
And Sign (Os_Balance-Nvl(Os_Unconf_Pdc,0) - Nvl(Os_Payd_Amt,0)) = 1
And Os_Invoice_Dt + (:Supp_Cr_Days -Nvl(:Adj_Days,0)) <= :Payh_Process_Dt
And Os_Drcr_Flag = 'D'
And Suppb_Supp_Code(+) = Supp_Code
And decode(:PayH_Pay_Mode, 'B',Suppb_Bank_Code,'~') = decode(:PayH_Pay_Mode, 'B',:Load_Supp_Bank_Code,'~') --srisankar decode added for chq processing
And Supp_Code = :Load_Supp_Code
And Nvl (Os_Hold, 'N') <> 'Y'
And (:divn is Null or Os_Divn_Code =:Divn)
Union All
Select Supp_Code, Substr(Supp_Name, 1, 95) Supp_Name, Suppb_Bank_Code Supp_Bank_Code,
Os_Divn_Code Doc_Divn_Code, Os_Id Doc_Os_Id, Os_Final_Txn_Code Doc_Txn_Code,
Os_Doc_No Doc_No, Substr(Os_Invoice_No,1,25) Invoice_No,
Os_Invoice_Dt Doc_Dt, Os_Invoice_Due_Dt Due_Dt,
Os_Lc_Amt Orig_Amt, OS_Balance-Nvl(Os_Unconf_Pdc,0) - Nvl(Os_Payd_Amt,0) Bal, Os_Hold Doc_Hold,
Os_Drcr_Flag Drcr_Flag
From T_Os, M_Supplier_Bank, M_Supplier
Where Os_Comp_Code = :Global.Company
And Os_Main_Acnt_Code = Supp_Main_Acnt_Code
And Sign (Os_Balance- Nvl(Os_Unconf_Pdc,0) - Nvl(Os_Payd_Amt,0)) = 1
--And Os_Invoice_Due_Dt <= :Payh_Process_Dt --Calcualted Due Date Based On The Supplier Credit Days At Run Time -- See The Below Line
And Os_Invoice_Dt + (:Supp_Cr_Days -Nvl(:Adj_Days,0)) <= :Payh_Process_Dt
And Os_Drcr_Flag = 'C'
And Suppb_Supp_Code(+) = Supp_Code
And decode(:PayH_Pay_Mode, 'B',Suppb_Bank_Code,'~') = decode(:PayH_Pay_Mode, 'B',:Load_Supp_Bank_Code,'~') --srisankar decode added for chq processing
And Supp_Code = :Load_Supp_Code
And Nvl (Os_Hold, 'N') <> 'Y'
And (:divn is Null or Os_Divn_Code =:Divn)
Order By 9;
V_Curr_Block Varchar2(30);
V_Confirm_Del Char (1) := 'N';
V_Skip Char (1) := 'N';
V_Alert Number;
V_Bal Number;
V_Transit Number;
V_Tot_Pay Number := 0;
--Jabir/Temp/To Remove After Automatching
V_Ctr Number := 0;
---18-05-2013
V_Cnt Number := 0;
v_lcnt Number :=0;
Begin
If :Parameter.Supp_Active Is Not Null Then
If :Load_Supp_Code<>:Parameter.Supp_Active Then
:Parameter.Supp_Active:=:Load_Supp_Code;
End If;
Else
:Parameter.Supp_Active:=:Load_Supp_Code;
End If;
If :Load_Supp_Code Is Null Or (:PayH_Pay_Mode in('B') and :Load_Supp_Bank_Code Is Null) Then
Show_Message ('Msg_Alert', 'Supplier Or Bank Cannot Be Null');
Raise Form_Trigger_Failure;
End If;
V_Curr_Block := :System.Current_Block;
Set_Block_Property ('T_Pay_Detail', Insert_Allowed, Property_True);
Set_Block_Property ('T_Pay_Detail', Delete_Allowed, Property_True);
Go_Block ('T_Pay_Detail');
First_Record;
Last_Record;
V_Cnt := :System.Trigger_Record;
First_Record;
V_Confirm_Del := 'N';
For I In 1 .. V_Cnt Loop
If :System.Last_Record = 'True' Then
Exit;
End If;
If (:T_Pay_Detail.Payd_Supp_Code = :Load_Supp_Code) /*16-05-2013*/ And (:T_Pay_Detail.Payd_Flag Not In ('M', 'R')) /*16-05-2013*/ Then
If Nvl (V_Confirm_Del, 'N') = 'N' Then
V_Alert := Show_Alert ('Confirm_Supp_Load_Again');
If V_Alert = Alert_Button2 Then
V_Skip := 'Y';
Exit;
End If;
V_Confirm_Del := 'Y';
End If;
Delete_Record;
Else
Next_Record;
End If;
End Loop;
If (:T_Pay_Detail.Payd_Supp_Code = :Load_Supp_Code) And :T_Pay_Detail.Payd_Flag Not In ('M', 'R') Then
Delete_Record;
End If;
If :T_Pay_Detail.Payd_Supp_Code Is Not Null Then
Next_Record;
End If;
:System.Message_Level := '10';
If Nvl (V_Skip, 'N') = 'N' Then
For C In Cur_Supp Loop
V_Bal := C.Bal;
Select Sum (Payd_Lc_Amt) Into V_Transit
From T_Pay_Head, T_Pay_Detail
Where Payh_Id = Payd_Payh_Id
And Payd_Os_Id = C.Doc_Os_Id
And (Payh_Approval_Status IN ('P','V') And Payh_Valid_Till >= To_Date (Sysdate, 'DD-Mon-YY')
Or (Payh_Approval_Status In ('F', 'N') And Nvl (Payh_Process_Status, 'N') = 'N')
And Payh_Valid_Till >= To_Date (Sysdate, 'DD-Mon-YY'));
V_Bal := V_Bal - Nvl (V_Transit, 0);
If V_Bal > 0 Then
If Nvl (:Load_Curr_Code, :Global.Basecurrency) =:Global.Basecurrency Then
:T_Pay_Detail.Payd_Curr_Code := :Global.Basecurrency;
:T_Pay_Detail.Payd_Curr_Rate := 1;
Else
:T_Pay_Detail.Payd_Curr_Code := :Load_Curr_Code;
:T_Pay_Detail.Payd_Curr_Rate := :Load_Curr_Rate;
End If;
:T_Pay_Detail.Payd_Supp_Code := C.Supp_Code;
:T_Pay_Detail.Payd_Supp_Bank_Code := C.Supp_Bank_Code;
:T_Pay_Detail.Supp_Name := C.Supp_Name;
:T_Pay_Detail.Payd_Divn_Code := C.Doc_Divn_Code;
:T_Pay_Detail.Payd_Os_Id := C.Doc_Os_Id;
:T_Pay_Detail.Os_Txn_Code := C.Doc_Txn_Code;
:T_Pay_Detail.Os_Doc_Dt := C.Doc_Dt;
:T_Pay_Detail.Os_Invoice_No := C.Invoice_No;
:T_Pay_Detail.Os_Due_Dt := C.Due_Dt;
:T_Pay_Detail.Payd_Orig_Lc_Amt := C.Orig_Amt;
:T_Pay_Detail.Payd_Bal := v_Bal;
:T_Pay_Detail.Payd_Drcr_Flag := C.Drcr_Flag;
v_lcnt :=v_lcnt+1;
If (C.Doc_Dt + (:Supp_Cr_Days - Nvl(:Adj_Days,0))) > :PayH_Process_Dt Then
If Nvl(:Frm_En_Early_Pay,'N') ='Y' and C.Drcr_Flag ='C' Then
:T_Pay_Detail.Payd_Early_Pay_Disc_Perc :=:Frm_Early_Pay_Disc;
End If;
End If;
If Nvl (C.Doc_Hold, 'N') = 'Y' Then
:T_Pay_Detail.Payd_Fc_Amt := 0;
:T_Pay_Detail.Payd_Lc_Amt := 0;
:T_Pay_Detail.Payd_Pay_Type := 'H';
Else
If Nvl (:Load_Max_Amt, 0) > 0 And :T_Pay_Detail.Payd_Drcr_Flag = 'C' And V_Bal > :Load_Max_Amt - V_Tot_Pay Then
V_Bal := :Load_Max_Amt - V_Tot_Pay;
End If;
:T_Pay_Detail.Payd_Lc_Amt := V_Bal;
:T_Pay_Detail.Payd_Fc_Amt := V_Bal / Nvl (:T_Pay_Detail.Payd_Curr_Rate, 0);
:T_Pay_Detail.Payd_Pay_Type := 'P';
If :T_Pay_Detail.Payd_Drcr_Flag = 'D' Then
V_Tot_Pay := V_Tot_Pay - Nvl (V_Bal, 0);
Else
V_Tot_Pay := V_Tot_Pay + Nvl (V_Bal, 0);
End If;
If Nvl (:Load_Max_Amt, 0) > 0 And V_Tot_Pay >= Nvl (:Load_Max_Amt, 0) Then
Exit;
End If;
End If;
:T_Pay_Detail.Payd_Flag := 'A';
:T_Pay_Detail.Payd_Cr_User := :Global.User;
:T_Pay_Detail.Payd_Cr_Dt := Sysdate;
Next_Record;
End If;
End Loop;
End If;
First_Record;
If v_lcnt>0 Then
Proc_Insert_Update_Setting;
:Parameter.Oth :='N';
Set_Item_Property('PB_Oth', Enabled, Property_False);
End If;
Set_Item_Property('Load_Supp_Code', Enabled, Property_False);
Set_Block_Property ('T_Pay_Detail', Insert_Allowed, Property_True);
Set_Block_Property ('T_Pay_Detail', Delete_Allowed, Property_False);
Set_Block_Property ('T_Pay_Detail', Update_Allowed, Property_True);
Go_Block (V_Curr_Block);
End;on press of PB_LOAD: deny when is_blank(LOAD_SUPP_CODE) or ((PAYH_PAY_MODE = 'B') and is_blank(LOAD_SUPP_BANK_CODE)) else "Supplier Or Bank Cannot Be Null" state unlock T_PAY_DETAIL on insert, delete go to T_PAY_DETAIL last record of T_PAY_HEAD first record of T_PAY_HEAD next record of T_PAY_HEAD when is_filled(PAYD_SUPP_CODE) first record of T_PAY_HEAD state disable LOAD_SUPP_CODE state unlock T_PAY_DETAIL on insert state lock T_PAY_DETAIL on delete state unlock T_PAY_DETAIL on update # 7 statements did not convert.# line 59 # :Parameter.Supp_Active:=:Load_Supp_Code; # reason: set writes a field or a global and there is no third spelling, so a write to a form parameter is refused: item 20 rules a parameter read-only# line 62 # :Parameter.Supp_Active:=:Load_Supp_Code; # reason: set writes a field or a global and there is no third spelling, so a write to a form parameter is refused: item 20 rules a parameter read-only# line 85 # For I In 1 .. V_Cnt Loop # If :System.Last_Record = 'True' Then # Exit; # End If; # # If (:T_Pay_Detail.Payd_Supp_Code = :Load_Supp_Code) And (:T_Pay_Detail.Payd_Flag Not In ('M', 'R')) Then # If Nvl (V_Confirm_Del, 'N') = 'N' Then # V_Alert := Show_Alert ('Confirm_Supp_Load_Again'); # # If V_Alert = Alert_Button2 Then # V_Skip := 'Y'; # Exit; # End If; # V_Confirm_Del := 'Y'; # End If; # # Delete_Record; # Else # Next_Record; # End If; # End Loop; # reason: it walks until a row matches and stops there, and the test it stops on names something CRL has no expression node for, so which row it chose is not stated# line 108 # Delete_Record; # reason: DELETE_RECORD is a Forms built-in, which no FormConnect document declares because no database holds it, and no program unit of this form declares one either, so there is no body to inline under the caller's point and item and nothing to bridge to# line 119 # If Nvl (V_Skip, 'N') = 'N' Then # For C In Cur_Supp Loop # V_Bal := C.Bal; # Select Sum (Payd_Lc_Amt) Into V_Transit # From T_Pay_Head, T_Pay_Detail # Where Payh_Id = Payd_Payh_Id # And Payd_Os_Id = C.Doc_Os_Id # And (Payh_Approval_Status IN ('P','V') And Payh_Valid_Till >= To_Date (Sysdate, 'DD-Mon-YY') # Or (Payh_Approval_Status In ('F', 'N') And Nvl (Payh_Process_Status, 'N') = 'N') # And Payh_Valid_Till >= To_Date (Sysdate, 'DD-Mon-YY')); # # V_Bal := V_Bal - Nvl (V_Transit, 0); # # If V_Bal > 0 Then # If Nvl (:Load_Curr_Code, :Global.Basecurrency) =:Global.Basecurrency Then # :T_Pay_Detail.Payd_Curr_Code := :Global.Basecurrency; # :T_Pay_Detail.Payd_Curr_Rate := 1; # Else # :T_Pay_Detail.Payd_Curr_Code := :Load_Curr_Code; # :T_Pay_Detail.Payd_Curr_Rate := :Load_Curr_Rate; # End If; # # :T_Pay_Detail.Payd_Supp_Code := C.Supp_Code; # :T_Pay_Detail.Payd_Supp_Bank_Code := C.Supp_Bank_Code; # :T_Pay_Detail.Supp_Name := C.Supp_Name; # :T_Pay_Detail.Payd_Divn_Code := C.Doc_Divn_Code; # :T_Pay_Detail.Payd_Os_Id := C.Doc_Os_Id; # :T_Pay_Detail.Os_Txn_Code := C.Doc_Txn_Code; # :T_Pay_Detail.Os_Doc_Dt := C.Doc_Dt; # :T_Pay_Detail.Os_Invoice_No := C.Invoice_No; # :T_Pay_Detail.Os_Due_Dt := C.Due_Dt; # :T_Pay_Detail.Payd_Orig_Lc_Amt := C.Orig_Amt; # :T_Pay_Detail.Payd_Bal := v_Bal; # :T_Pay_Detail.Payd_Drcr_Flag := C.Drcr_Flag; # v_lcnt :=v_lcnt+1; # # If (C.Doc_Dt + (:Supp_Cr_Days - Nvl(:Adj_Days,0))) > :PayH_Process_Dt Then # If Nvl(:Frm_En_Early_Pay,'N') ='Y' and C.Drcr_Flag ='C' Then # :T_Pay_Detail.Payd_Early_Pay_Disc_Perc :=:Frm_Early_Pay_Disc; # End If; # End If; # # If Nvl (C.Doc_Hold, 'N') = 'Y' Then # :T_Pay_Detail.Payd_Fc_Amt := 0; # :T_Pay_Detail.Payd_Lc_Amt := 0; # :T_Pay_Detail.Payd_Pay_Type := 'H'; # Else # If Nvl (:Load_Max_Amt, 0) > 0 And :T_Pay_Detail.Payd_Drcr_Flag = 'C' And V_Bal > :Load_Max_Amt - V_Tot_Pay Then # V_Bal := :Load_Max_Amt - V_Tot_Pay; # End If; # # :T_Pay_Detail.Payd_Lc_Amt := V_Bal; # :T_Pay_Detail.Payd_Fc_Amt := V_Bal / Nvl (:T_Pay_Detail.Payd_Curr_Rate, 0); # :T_Pay_Detail.Payd_Pay_Type := 'P'; # # If :T_Pay_Detail.Payd_Drcr_Flag = 'D' Then # V_Tot_Pay := V_Tot_Pay - Nvl (V_Bal, 0); # Else # V_Tot_Pay := V_Tot_Pay + Nvl (V_Bal, 0); # End If; # # If Nvl (:Load_Max_Amt, 0) > 0 And V_Tot_Pay >= Nvl (:Load_Max_Amt, 0) Then # Exit; # End If; # End If; # # :T_Pay_Detail.Payd_Flag := 'A'; # :T_Pay_Detail.Payd_Cr_User := :Global.User; # :T_Pay_Detail.Payd_Cr_Dt := Sysdate; # Next_Record; # End If; # End Loop; # End If; # reason: the guard reads the local V_SKIP, which a loop body above it writes, so what it holds here depends on which iteration ran last# line 194 # If v_lcnt>0 Then # Proc_Insert_Update_Setting; # :Parameter.Oth :='N'; # Set_Item_Property('PB_Oth', Enabled, Property_False); # End If; # reason: the guard reads the local V_LCNT, which a branch above it writes on one path only, so what it holds here depends on which path ran# line 205 # Go_Block (V_Curr_Block); # reason: Go_Block names no block this form declares, so the clause would move the screen to somewhere that is not there
11 clauses converted, 7 statements refused
Declare
Cursor Cur_Supp
Is
Select Supp_Name, Suppb_Bank_Code Supp_Bank_Code,
Os_Id Doc_Os_Id, Os_Final_Txn_Code Doc_Txn_Code,
Os_Doc_No Doc_No, Os_Invoice_No Invoice_No,
Os_Invoice_Dt Doc_Dt, Os_Invoice_Due_Dt Due_Dt,
Os_Lc_Amt Orig_Amt, OS_Balance-Nvl(Os_Unconf_Pdc,0) - Nvl(Os_Payd_Amt,0) Bal, Os_Hold Doc_Hold,
Os_Drcr_Flag Drcr_Flag,Payh_Supp_Stmt_Amt,
Payd_Id, Payd_Payh_Id, Payd_Process_Flag,
Payd_Supp_Code, Payd_Supp_Bank_Code, Payd_Os_Id,
Payd_Drcr_Flag, Payd_Orig_Lc_Amt, Payd_Bal,
Payd_Disc_Perc, Payd_Pay_Type, Payd_Curr_Code,
Payd_Fc_Amt, Payd_Lc_Amt, Payd_Flag,
Payd_Rem, Payd_Cr_User, Payd_Cr_Dt,
Payd_Edt_User, Payd_Edt_Dt, Payd_Remarks,
Payd_Ticked
From Wt_Pay_Head,Wt_Pay_Detail,M_Supplier,T_Os, M_Supplier_Bank
Where Payh_Id =Payd_Payh_id
and Payd_Os_Id =Os_Id
and Payh_Supp_Code =Supp_Code
and PayH_Comp_Code = :Global.Company
And PayH_Supp_Code = :Load_Supp_Code
And PayH_Process_Dt = :PayH_Process_Dt
And Payh_Divn_Code =:Payh_Divn_Code
And Suppb_Supp_Code(+) = Supp_Code
And decode(:PayH_Pay_Mode, 'B',Suppb_Bank_Code,'~') = decode(:PayH_Pay_Mode, 'B',:Load_Supp_Bank_Code,'~')
Order By Payd_Id;
Cursor Cur_Suppstmt
Is Select Paysd_Id, Paysd_Payh_Id, Paysd_Txn_Type,
Paysd_Doc_Dt, Paysd_Doc_No, Paysd_Ref,
Paysd_Drcr_Flag, Paysd_Actual_Amt, Paysd_Req_Amt,
Paysd_Adj_Amt, Paysd_Remarks, Paysd_Cr_User,
Paysd_Cr_Dt, Paysd_Edt_User, Paysd_Edt_Dt,
Paysd_Os_Id From Wt_Pay_Head,Wt_Suppstmt_Detail
Where Payh_Id =Paysd_Payh_id
and PayH_Comp_Code = :Global.Company
And PayH_Supp_Code = :Load_Supp_Code
And PayH_Process_Dt = :PayH_Process_Dt
And Payh_Divn_Code =:Payh_Divn_Code
Order By Paysd_Id;
Cursor Cur_SuppUnres
Is Select Payu_Id, Payu_Payh_Id, Payu_Txn_Type,
Payu_Doc_Dt, Payu_Doc_No, Payu_Ref,
Payu_Amt, Payu_Remarks, Payu_Cr_User,
Payu_Cr_Dt, Payu_Edt_User, Payu_Edt_Dt From Wt_Pay_Head,Wt_Pay_Undesignated
Where Payh_Id =PayU_Payh_id
and PayH_Comp_Code = :Global.Company
And PayH_Supp_Code = :Load_Supp_Code
And Payh_Divn_Code =:Payh_Divn_Code
And PayH_Process_Dt = :PayH_Process_Dt
Order By PayU_Id;
V_Curr_Block Varchar2 (30);
V_Confirm_Del Char (1) := 'N';
V_Skip Char (1) := 'N';
V_Alert Number;
V_Bal Number;
V_Transit Number;
V_Tot_Pay Number := 0;
V_Ctr Number := 0;
V_Cnt Number := 0;
v_lcnt Number :=0;
v_Count Number;
Begin
:Frm_En_Early_Pay :=Fn_Get_Supp_Param(:PayH_Supp_Code,'SUPP_EN_EARLY_PAY');
:Frm_Early_Pay_Disc :=Fn_Get_Supp_Param(:PayH_Supp_Code,'SUPP_EARLY_PAY_DISC');
Select Count(*) into v_Count from wt_Pay_Head
Where PayH_Comp_Code =:Global.Company
And Payh_Divn_Code =:Payh_Divn_Code
And PayH_Supp_Code = :Load_Supp_Code
And PayH_Process_Dt = :PayH_Process_Dt
And Nvl(PayH_Load_Flag,'N') ='N';
If Nvl(v_Count,0) > 0 Then
Select Payh_Supp_Stmt_Amt into :Payh_Supp_Stmt_Amt
From wt_Pay_Head
Where PayH_Comp_Code =:Global.Company
And Payh_Divn_Code =:Payh_Divn_Code
And PayH_Supp_Code = :Load_Supp_Code
And PayH_Process_Dt = :PayH_Process_Dt
And Nvl(PayH_Load_Flag,'N') ='N';
If :Parameter.Supp_Active Is Not Null Then
If :Load_Supp_Code<>:Parameter.Supp_Active Then
:Parameter.Supp_Active:=:Load_Supp_Code;
End If;
Else
:Parameter.Supp_Active:=:Load_Supp_Code;
End If;
-- :Load_Supp_Bank_Code Is Null => (:PayH_Pay_Mode = 'B' and :Load_Supp_Bank_Code Is Null) Srisankar for cheque processing
If :Load_Supp_Code Is Null Or (:PayH_Pay_Mode in('B') and :Load_Supp_Bank_Code Is Null) Then
Show_Message ('Msg_Alert', 'Supplier Or Bank Cannot Be Null');
Raise Form_Trigger_Failure;
End If;
--Clear Old Records Of The Supplier
--Check If The Supplier Already Loaded Before
V_Curr_Block := :System.Current_Block;
Set_Block_Property ('T_Pay_Detail', Insert_Allowed, Property_True);
Set_Block_Property ('T_Pay_Detail', Delete_Allowed, Property_True);
Go_Block ('T_Pay_Detail');
First_Record;
Last_Record;
V_Cnt := :System.Trigger_Record;
First_Record;
V_Confirm_Del := 'N';
For I In 1 .. V_Cnt Loop
If :System.Last_Record = 'True' Then
Exit;
End If;
If (:T_Pay_Detail.Payd_Supp_Code = :Load_Supp_Code)
And (:T_Pay_Detail.Payd_Flag Not In ('M', 'R')) Then
If Nvl (V_Confirm_Del, 'N') = 'N' Then
V_Alert := Show_Alert ('Confirm_Supp_Load_Again');
If V_Alert = Alert_Button2 Then
V_Skip := 'Y';
Exit;
End If;
V_Confirm_Del := 'Y';
End If;
Delete_Record;
Else
Next_Record;
End If;
End Loop;
If (:T_Pay_Detail.Payd_Supp_Code = :Load_Supp_Code) And :T_Pay_Detail.Payd_Flag Not In ('M', 'R') Then
Delete_Record;
End If;
If :T_Pay_Detail.Payd_Supp_Code Is Not Null Then
Next_Record;
End If;
:System.Message_Level := '10';
If Nvl (V_Skip, 'N') = 'N' Then
For C In Cur_Supp Loop
If Cur_Supp%Notfound then
Exit;
End If;
V_Bal := C.Payd_Bal;
Select Sum (Payd_Lc_Amt) Into V_Transit
From T_Pay_Head, T_Pay_Detail
Where Payh_Id = Payd_Payh_Id
And Payd_Os_Id = C.Payd_Os_Id
And (Payh_Approval_Status IN ('P','V') --Include the documents in review status also
And Payh_Valid_Till >= To_Date (Sysdate, 'DD-Mon-YY')
Or ( Payh_Approval_Status In ('F', 'N')
And Nvl (Payh_Process_Status, 'N') = 'N'
)
And Payh_Valid_Till >= To_Date (Sysdate, 'DD-Mon-YY')
);
V_Bal := V_Bal - Nvl (V_Transit, 0);
If V_Bal > 0 Then
If Nvl (:Load_Curr_Code, :Global.Basecurrency) =:Global.Basecurrency Then
:T_Pay_Detail.Payd_Curr_Code := :Global.Basecurrency;
:T_Pay_Detail.Payd_Curr_Rate := 1;
Else
:T_Pay_Detail.Payd_Curr_Code := :Load_Curr_Code;
:T_Pay_Detail.Payd_Curr_Rate := :Load_Curr_Rate;
End If;
:T_Pay_Detail.Payd_Supp_Code := C.Payd_Supp_Code;
:T_Pay_Detail.Payd_Supp_Bank_Code := C.Payd_Supp_Bank_Code;
:T_Pay_Detail.Supp_Name := C.Supp_Name;
:T_Pay_Detail.Payd_Os_Id := C.Payd_Os_Id;
:T_Pay_Detail.Os_Txn_Code := C.Doc_Txn_Code;
:T_Pay_Detail.Os_Doc_Dt := C.Doc_Dt;
If (C.Doc_Dt + (:Supp_Cr_Days - Nvl(:Adj_Days,0))) > :PayH_Process_Dt Then
If Nvl(:Frm_En_Early_Pay,'N') ='Y' and C.Drcr_Flag ='C' Then
:T_Pay_Detail.Payd_Early_Pay_Disc_Perc :=:Frm_Early_Pay_Disc;
End If;
End If;
:T_Pay_Detail.Os_Invoice_No := C.Invoice_No;
:T_Pay_Detail.Os_Due_Dt := C.Due_Dt;
:T_Pay_Detail.Payd_Orig_Lc_Amt := C.Payd_Orig_Lc_Amt;
If v_Bal <=C.Payd_Lc_Amt Then
:T_Pay_Detail.Payd_Bal := v_Bal;
:T_Pay_Detail.Payd_Lc_Amt := V_Bal;
:T_Pay_Detail.Payd_Fc_Amt := V_Bal / Nvl (:T_Pay_Detail.Payd_Curr_Rate, 1);
Else
:T_Pay_Detail.Payd_Bal := C.Payd_Bal;
:T_Pay_Detail.Payd_Fc_Amt := C.Payd_Fc_Amt;
:T_Pay_Detail.Payd_Lc_Amt := C.Payd_Lc_Amt;
End If;
:T_Pay_Detail.Payd_Pay_Type := C.Payd_Pay_Type;
:T_Pay_Detail.Payd_Drcr_Flag := C.Drcr_Flag;
v_lcnt :=v_lcnt+1;
If Nvl (C.Doc_Hold, 'N') = 'Y' Then
:T_Pay_Detail.Payd_Fc_Amt := 0;
:T_Pay_Detail.Payd_Lc_Amt := 0;
:T_Pay_Detail.Payd_Pay_Type := 'H';
End If;
:T_Pay_Detail.Payd_Flag := C.Payd_Flag;
:T_Pay_Detail.Payd_Cr_User := :Global.User;
:T_Pay_Detail.Payd_Cr_Dt := Sysdate;
Next_Record;
End If;
End Loop;
End If;
First_Record;
Go_Block('T_Pay_SuppStmt_Detail');
First_Record;
For Cur in Cur_Suppstmt Loop
If Cur_Suppstmt%Notfound Then
Exit;
End If;
:Paysd_Txn_Type := Cur.Paysd_Txn_Type;
:Paysd_Doc_Dt := Cur.Paysd_Doc_Dt;
:Paysd_Doc_No := Cur.Paysd_Doc_No;
:Paysd_Ref := Cur.Paysd_Ref;
:Paysd_Drcr_Flag:=Cur.Paysd_Drcr_Flag;
:Paysd_Actual_Amt := Cur.Paysd_Actual_Amt;
:Paysd_Req_Amt := Cur.Paysd_Req_Amt;
:Paysd_Adj_Amt := Cur.Paysd_Adj_Amt;
:Paysd_Remarks := Cur.Paysd_Remarks;
:Paysd_Os_Id := Cur.Paysd_Os_Id;
Next_Record;
End Loop;
Go_Block('T_Pay_Undesignated');
First_Record;
For Cur1 in Cur_SuppUnres Loop
If Cur_SuppUnres%Notfound Then
Exit;
End If;
:Payu_Txn_Type := Cur1.Payu_Txn_Type;
:Payu_Doc_Dt := Cur1.Payu_Doc_Dt;
:Payu_Doc_No := Cur1.Payu_Doc_No;
:Payu_Ref := Cur1.Payu_Ref;
:Payu_Amt := Cur1.Payu_Amt;
:Payu_Remarks:= Cur1.Payu_Remarks;
Next_Record;
End Loop;
Go_Block('T_Pay_Detail');
---Added on 19-05-2013--------------
If v_lcnt>0 Then
Proc_Insert_Update_Setting;
:Parameter.Oth :='N';
Set_Item_Property('PB_Oth', Enabled, Property_False);
End If;
----------------
Set_Item_Property('Load_Supp_Code', Enabled, Property_False);
Set_Block_Property ('T_Pay_Detail', Insert_Allowed, Property_True);
Set_Block_Property ('T_Pay_Detail', Delete_Allowed, Property_False);
Set_Block_Property ('T_Pay_Detail', Update_Allowed, Property_True);
Set_Item_Property('Load_Draft_Btn', Enabled, Property_False);
Go_Block (V_Curr_Block);
Else
Show_Message ('Msg_Alert', 'No data to load');
End If;
End;on press of LOAD_DRAFT_BTN: from WT_PAY_HEAD_COUNT(LOAD_SUPP_CODE, PAYH_DIVN_CODE, PAYH_PROCESS_DT) # load-fmb-pay-supp-t-pay-head-load-draft-btn-press-0 from WT_PAY_HEAD(LOAD_SUPP_CODE, PAYH_DIVN_CODE, PAYH_PROCESS_DT) when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 # load-fmb-pay-supp-t-pay-head-load-draft-btn-press-1 set FRM_EN_EARLY_PAY to FN_GET_SUPP_PARAM(PAYH_SUPP_CODE, 'SUPP_EN_EARLY_PAY') set FRM_EARLY_PAY_DISC to FN_GET_SUPP_PARAM(PAYH_SUPP_CODE, 'SUPP_EARLY_PAY_DISC') set PAYH_SUPP_STMT_AMT to WT_PAY_HEAD.PAYH_SUPP_STMT_AMT when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 deny when (nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0) and (is_blank(LOAD_SUPP_CODE) or ((PAYH_PAY_MODE = 'B') and is_blank(LOAD_SUPP_BANK_CODE))) else "Supplier Or Bank Cannot Be Null" state unlock T_PAY_DETAIL on insert, delete when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 go to T_PAY_DETAIL when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 last record of T_PAY_HEAD when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 first record of T_PAY_HEAD when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 next record of T_PAY_HEAD when (nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0) and is_filled(PAYD_SUPP_CODE) first record of T_PAY_HEAD when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 go to T_PAY_SUPPSTMT_DETAIL when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 append rows to T_PAY_SUPPSTMT_DETAIL in loop-fmb-pay-supp-t-pay-head-load-draft-btn-0 when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 go to T_PAY_UNDESIGNATED when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 append rows to T_PAY_UNDESIGNATED in loop-fmb-pay-supp-t-pay-head-load-draft-btn-1 when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 go to T_PAY_DETAIL when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 state disable LOAD_SUPP_CODE when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 state unlock T_PAY_DETAIL on insert when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 state lock T_PAY_DETAIL on delete when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 state unlock T_PAY_DETAIL on update when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 state disable LOAD_DRAFT_BTN when nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0 warn "No data to load" when not (nvl(WT_PAY_HEAD_COUNT.COUNT, 0) > 0) # 7 statements did not convert.# line 100 # :Parameter.Supp_Active:=:Load_Supp_Code; # reason: set writes a field or a global and there is no third spelling, so a write to a form parameter is refused: item 20 rules a parameter read-only# line 103 # :Parameter.Supp_Active:=:Load_Supp_Code; # reason: set writes a field or a global and there is no third spelling, so a write to a form parameter is refused: item 20 rules a parameter read-only# line 122 # For I In 1 .. V_Cnt Loop # If :System.Last_Record = 'True' Then # Exit; # End If; # # If (:T_Pay_Detail.Payd_Supp_Code = :Load_Supp_Code) # And (:T_Pay_Detail.Payd_Flag Not In ('M', 'R')) Then # If Nvl (V_Confirm_Del, 'N') = 'N' Then # V_Alert := Show_Alert ('Confirm_Supp_Load_Again'); # If V_Alert = Alert_Button2 Then # V_Skip := 'Y'; # Exit; # End If; # # V_Confirm_Del := 'Y'; # End If; # Delete_Record; # # Else # Next_Record; # End If; # End Loop; # reason: it walks until a row matches and stops there, and the test it stops on names something CRL has no expression node for, so which row it chose is not stated# line 146 # Delete_Record; # reason: DELETE_RECORD is a Forms built-in, which no FormConnect document declares because no database holds it, and no program unit of this form declares one either, so there is no body to inline under the caller's point and item and nothing to bridge to# line 154 # If Nvl (V_Skip, 'N') = 'N' Then # For C In Cur_Supp Loop # If Cur_Supp%Notfound then # Exit; # End If; # # V_Bal := C.Payd_Bal; # # Select Sum (Payd_Lc_Amt) Into V_Transit # From T_Pay_Head, T_Pay_Detail # Where Payh_Id = Payd_Payh_Id # And Payd_Os_Id = C.Payd_Os_Id # And (Payh_Approval_Status IN ('P','V') # And Payh_Valid_Till >= To_Date (Sysdate, 'DD-Mon-YY') # Or ( Payh_Approval_Status In ('F', 'N') # And Nvl (Payh_Process_Status, 'N') = 'N' # ) # And Payh_Valid_Till >= To_Date (Sysdate, 'DD-Mon-YY') # ); # # V_Bal := V_Bal - Nvl (V_Transit, 0); # If V_Bal > 0 Then # If Nvl (:Load_Curr_Code, :Global.Basecurrency) =:Global.Basecurrency Then # :T_Pay_Detail.Payd_Curr_Code := :Global.Basecurrency; # :T_Pay_Detail.Payd_Curr_Rate := 1; # Else # :T_Pay_Detail.Payd_Curr_Code := :Load_Curr_Code; # :T_Pay_Detail.Payd_Curr_Rate := :Load_Curr_Rate; # End If; # # :T_Pay_Detail.Payd_Supp_Code := C.Payd_Supp_Code; # :T_Pay_Detail.Payd_Supp_Bank_Code := C.Payd_Supp_Bank_Code; # :T_Pay_Detail.Supp_Name := C.Supp_Name; # :T_Pay_Detail.Payd_Os_Id := C.Payd_Os_Id; # :T_Pay_Detail.Os_Txn_Code := C.Doc_Txn_Code; # :T_Pay_Detail.Os_Doc_Dt := C.Doc_Dt; # If (C.Doc_Dt + (:Supp_Cr_Days - Nvl(:Adj_Days,0))) > :PayH_Process_Dt Then # If Nvl(:Frm_En_Early_Pay,'N') ='Y' and C.Drcr_Flag ='C' Then # :T_Pay_Detail.Payd_Early_Pay_Disc_Perc :=:Frm_Early_Pay_Disc; # End If; # End If; # # :T_Pay_Detail.Os_Invoice_No := C.Invoice_No; # :T_Pay_Detail.Os_Due_Dt := C.Due_Dt; # :T_Pay_Detail.Payd_Orig_Lc_Amt := C.Payd_Orig_Lc_Amt; # If v_Bal <=C.Payd_Lc_Amt Then # :T_Pay_Detail.Payd_Bal := v_Bal; # :T_Pay_Detail.Payd_Lc_Amt := V_Bal; # :T_Pay_Detail.Payd_Fc_Amt := V_Bal / Nvl (:T_Pay_Detail.Payd_Curr_Rate, 1); # Else # :T_Pay_Detail.Payd_Bal := C.Payd_Bal; # :T_Pay_Detail.Payd_Fc_Amt := C.Payd_Fc_Amt; # :T_Pay_Detail.Payd_Lc_Amt := C.Payd_Lc_Amt; # End If; # :T_Pay_Detail.Payd_Pay_Type := C.Payd_Pay_Type; # :T_Pay_Detail.Payd_Drcr_Flag := C.Drcr_Flag; # v_lcnt :=v_lcnt+1; # If Nvl (C.Doc_Hold, 'N') = 'Y' Then # :T_Pay_Detail.Payd_Fc_Amt := 0; # :T_Pay_Detail.Payd_Lc_Amt := 0; # :T_Pay_Detail.Payd_Pay_Type := 'H'; # End If; # # :T_Pay_Detail.Payd_Flag := C.Payd_Flag; # :T_Pay_Detail.Payd_Cr_User := :Global.User; # :T_Pay_Detail.Payd_Cr_Dt := Sysdate; # Next_Record; # End If; # End Loop; # End If; # reason: the guard reads the local V_SKIP, which a loop body above it writes, so what it holds here depends on which iteration ran last# line 264 # If v_lcnt>0 Then # Proc_Insert_Update_Setting; # :Parameter.Oth :='N'; # Set_Item_Property('PB_Oth', Enabled, Property_False); # End If; # reason: the guard reads the local V_LCNT, which a branch above it writes on one path only, so what it holds here depends on which path ran# line 276 # Go_Block (V_Curr_Block); # reason: Go_Block names no block this form declares, so the clause would move the screen to somewhere that is not there
21 clauses converted, 7 statements refused