nexg-erp / Forms
Refused
fmb_item, study

all forms

fmb_item: 14 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. 4 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.

1. fmb_itemPOST-QUERY on M_STOCK_DIVISIONstudy
What you havePOST-QUERY
If :StkD_UnConf_Qty Is Not Null Then
 :UnConf_Stock := Fn_Get_Carton(:StkD_UnConf_Qty, :M_Item.ML);
End If;

Proc_Div_Cost; ---Added on 17/06/2020, #55349
SET_RECORD_PROPERTY(:SYSTEM.TRIGGER_RECORD, 'M_STOCK_DIVISION', STATUS,QUERY_STATUS);
What you getClause Rule Language
on load of M_STOCK_DIVISION:    set UNCONF_STOCK to FN_GET_CARTON(STKD_UNCONF_QTY, ML) when is_filled(STKD_UNCONF_QTY)    call PROC_DIV_COST()
# 1 statement did not convert.#   line 6
#   SET_RECORD_PROPERTY(:SYSTEM.TRIGGER_RECORD, 'M_STOCK_DIVISION', 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

2 clauses converted, 1 statement refused

2. fmb_itemWHEN-VALIDATE-ITEM on M_ITEM_SUPPLIER.ITEMSUPP_SUPP_CODEstudy
What you haveWHEN-VALIDATE-ITEM
Begin
  If :ItemSupp_Supp_Code Is Not Null Then
    Select Fn_Get_Supp_Name(:ItemSupp_Supp_Code, :Frm_Supp_Name_Mask) Into :ItemSupp_Supp_Name From Dual;     
    Set_Item_Instance_Property('ItemSupp_Supp_Code', Current_Record, Visual_Attribute, 'MASK_VA');    
    Validate_Supp_Contract;
  End If;
End;
What you getClause Rule Language
on change of ITEMSUPP_SUPP_CODE when is_filled(ITEMSUPP_SUPP_CODE):    set ITEMSUPP_SUPP_NAME to FN_GET_SUPP_NAME(ITEMSUPP_SUPP_CODE, FRM_SUPP_NAME_MASK)    call VALIDATE_SUPP_CONTRACT()
# 1 statement did not convert.#   line 4
#   Set_Item_Instance_Property('ItemSupp_Supp_Code', Current_Record, Visual_Attribute, 'MASK_VA');
#   reason: this sets a property of one record's cell, and the screen holds field state per field and not per row, so a verb here would lock or mark the column in every row of the grid: a per-record field state is grid.md's and is not built

2 clauses converted, 1 statement refused

3. fmb_itemon unit PRICE_REQ_FIELDSstudy
What you havePROGRAM-UNIT
PROCEDURE Price_Req_Fields IS
BEGIN
  If Nvl(:Pli_Rson_Id,0) = 0 Then
    SHOW_MESSAGE('ALERT1','Please enter price change reason!');
    Go_Item(:Pli_Rson_Id); 
    Raise form_trigger_failure;
  End If;
END;
What you getClause Rule Language
on unit PRICE_REQ_FIELDS:    warn "Please enter price change reason!" when nvl(PLI_RSON_ID, 0) = 0    deny when nvl(PLI_RSON_ID, 0) = 0 silent
# 1 statement did not convert.#   line 5
#   Go_Item(:Pli_Rson_Id);
#   reason: Go_Item names its target with a literal at 135 of the 147 corpus call sites and this one does not, so which field it moves to is not known until the form runs

2 clauses converted, 1 statement refused

4. fmb_itemPOST-QUERY on M_ITEM_SUPPLIERstudy
What you havePOST-QUERY
  If :ItemSupp_Supp_Code Is Not Null Then    
    Select Fn_Get_Supp_Name(:ItemSupp_Supp_Code, :Frm_Supp_Name_Mask) Into :ItemSupp_Supp_Name From Dual;  
    Set_Item_Instance_Property('ItemSupp_Supp_Code', Current_Record, Visual_Attribute, 'MASK_VA');    
  End If;

If :ItemSupp_Divn_Code Is Not Null Then
  Select Divn_Name Into :ItemSupp_Divn_Name From M_Division
  Where Divn_Comp_Code = :Global.Company And Divn_Code = :ItemSupp_Divn_Code;
End If;
What you getClause Rule Language
on load of M_ITEM_SUPPLIER:    from DIVISION(ITEMSUPP_DIVN_CODE) when is_filled(ITEMSUPP_DIVN_CODE)
        # load-item-m-item-supplier-load-0    set ITEMSUPP_SUPP_NAME to FN_GET_SUPP_NAME(ITEMSUPP_SUPP_CODE, FRM_SUPP_NAME_MASK) when is_filled(ITEMSUPP_SUPP_CODE)    set ITEMSUPP_DIVN_NAME to DIVISION.DIVN_NAME when is_filled(ITEMSUPP_DIVN_CODE)
# 1 statement did not convert.#   line 3
#   Set_Item_Instance_Property('ItemSupp_Supp_Code', Current_Record, Visual_Attribute, 'MASK_VA');
#   reason: this sets a property of one record's cell, and the screen holds field state per field and not per row, so a verb here would lock or mark the column in every row of the grid: a per-record field state is grid.md's and is not built

2 clauses converted, 1 statement refused

5. fmb_itemWHEN-BUTTON-PRESSED on M_PL_ITEM.PB_REFRESHstudy
What you haveWHEN-BUTTON-PRESSED
If :Pli_PlH_Code Is Not Null Then
  UPdate M_Pl_Item Set Pli_Rate_Upd_Dt=Sysdate,Pli_Rate_Upd_User=:Global.User
  Where Pli_Plh_Code=:Pli_PlH_Code
  And Pli_Item_Code=:Item_Code
  And Pli_Comp_Code=:Global.Company;
  Standard.Commit;
  Go_Block('M_PL_ITEM');
  Execute_Query;
End If;
What you getClause Rule Language
on press of PB_REFRESH:    call WRITE_M_PL_ITEM_B318535E(GLOBAL.USER, PLI_PLH_CODE, ITEM_CODE, GLOBAL.COMPANY) when is_filled(PLI_PLH_CODE)    requery M_PL_ITEM when is_filled(PLI_PLH_CODE)
# 1 statement did not convert.#   line 6
#   Standard.Commit;
#   reason: G13: mid-trigger DML and the transaction boundary are refused, not converted

2 clauses converted, 1 statement refused

6. fmb_itemPOST-QUERY on M_ITEM_PRATEstudy
What you havePOST-QUERY
Declare
  V_Supp_Type Varchar2(10);
Begin
  If :ItemPRate_Supp_Code Is Not Null Then  
    Select Fn_Get_Supp_Name(:Itemprate_Supp_Code, :Frm_Supp_Name_Mask) Into :M_Item_Prate.Supp_Name From Dual;
    Select Nvl(Supp_Type, 'L')Into V_Supp_Type
    From M_Supplier
    Where Supp_Code = :ItemPRate_Supp_Code;
    If  V_Supp_Type = 'F' And :Frm_Supp_Name_Mask= 'Y'Then
      Set_Item_Instance_Property('ITEMPRATE_SUPP_CODE', Current_Record, Visual_Attribute, 'MASK_VA');
    End If;     
  End If; 
End;
What you getClause Rule Language
on load of M_ITEM_PRATE when is_filled(ITEMPRATE_SUPP_CODE):    from load-item-m-item-prate-0(ITEMPRATE_SUPP_CODE)    set SUPP_NAME to FN_GET_SUPP_NAME(ITEMPRATE_SUPP_CODE, FRM_SUPP_NAME_MASK)
# 1 statement did not convert.#   line 10
#   Set_Item_Instance_Property('ITEMPRATE_SUPP_CODE', Current_Record, Visual_Attribute, 'MASK_VA');
#   reason: this sets a property of one record's cell, and the screen holds field state per field and not per row, so a verb here would lock or mark the column in every row of the grid: a per-record field state is grid.md's and is not built

1 clause converted, 1 statement refused

7. fmb_itemWHEN-BUTTON-PRESSED on M_ITEM_SPECIFICATION.PB_IMAGEstudy
What you haveWHEN-BUTTON-PRESSED
Declare
  Rep_Url Varchar2(2000);
  Host    Varchar2(2000);
  V_Count Number;
  V_Count1 Number;
  V_Id    Number;
  V_Type  Varchar2(2);
  v_url   Varchar2(200);
Begin
  v_url := :Frm_IMAGE_URL;
    Insert Into T_Image_Load (Imgl_Id,Imgl_Doc_Code,Imgl_Doc_Name,Imgl_Load_Type,Imgl_Cr_User,Imgl_Cr_Date)
    Values (Fn_Get_Next_Id('Emp_Image_Load'),:Item_Code ||:ITEMSPEC_SL,:ITEM_NAME,'N',:Global.User, fn_get_zone_date(:Global.Company));
    Standard.Commit;
    Rep_Url :='http://'|| v_url ||'/Filescan.aspx?Code='||Fn_Get_Image_Id(:Item_Code ||:ITEMSPEC_SL);
    Web.Show_Document(Rep_Url,'_Blank');
    message(Rep_Url);
End;
What you getClause Rule Language
on press of PB_IMAGE:    call WRITE_T_IMAGE_LOAD_958C0B59(ITEM_CODE, ITEMSPEC_SL, ITEM_NAME, GLOBAL.USER, GLOBAL.COMPANY)    warn (('http://' || FRM_IMAGE_URL) || '/Filescan.aspx?Code=') || FN_GET_IMAGE_ID(ITEM_CODE || ITEMSPEC_SL)
# 2 statements did not convert.#   line 13
#   Standard.Commit;
#   reason: G13: mid-trigger DML and the transaction boundary are refused, not converted#   line 15
#   Web.Show_Document(Rep_Url,'_Blank');
#   reason: Web.Show_Document opens a URL and runs no report; the corpus sites that are not the delivery of a claimed run open a scanned image, which has no web equivalent

2 clauses converted, 2 statements refused

8. fmb_itemWHEN-BUTTON-PRESSED on M_ITEM_SPECIFICATION.PB_PREVIEWstudy
What you haveWHEN-BUTTON-PRESSED
Declare
  Rep_Url Varchar2(2000);
  Host    Varchar2(2000);
  V_Count Number;
  V_Count1 Number;
  V_Id    Number;
  V_Type  Varchar2(2);
  v_url   Varchar2(200);
Begin
  v_url := :Frm_IMAGE_URL;
    Insert Into T_Image_Load (Imgl_Id,Imgl_Doc_Code,Imgl_Doc_Name,Imgl_Load_Type,Imgl_Cr_User,Imgl_Cr_Date)
    Values (Fn_Get_Next_Id('Emp_Image_Load'),:Item_Code ||:ITEMSPEC_SL,:ITEM_NAME,'P',:Global.User, fn_get_zone_date(:Global.Company));
    Standard.Commit;
    Rep_Url :='http://'|| v_url ||'/Filescan.aspx?Code='||Fn_Get_Image_Id(:Item_Code ||:ITEMSPEC_SL);
    Web.Show_Document(Rep_Url,'_Blank');
    message(Rep_Url);
End;
What you getClause Rule Language
on press of PB_PREVIEW:    call WRITE_T_IMAGE_LOAD_4DAD67D3(ITEM_CODE, ITEMSPEC_SL, ITEM_NAME, GLOBAL.USER, GLOBAL.COMPANY)    warn (('http://' || FRM_IMAGE_URL) || '/Filescan.aspx?Code=') || FN_GET_IMAGE_ID(ITEM_CODE || ITEMSPEC_SL)
# 2 statements did not convert.#   line 13
#   Standard.Commit;
#   reason: G13: mid-trigger DML and the transaction boundary are refused, not converted#   line 15
#   Web.Show_Document(Rep_Url,'_Blank');
#   reason: Web.Show_Document opens a URL and runs no report; the corpus sites that are not the delivery of a claimed run open a scanned image, which has no web equivalent

2 clauses converted, 2 statements refused

9. fmb_itemPRE-UPDATE on M_PL_ITEMstudy
What you havePRE-UPDATE
Declare
  V_Rate Number;
Begin
  :PLI_Edt_User := :Global.User;
  :PLI_Edt_Dt := fn_get_zone_date(:Global.Company);
  :Pli_Rate_Upd_Dt :=:PLI_Edt_Dt;
  
  If :PlH_Curr_Code Is Null Then
    :PlH_Curr_Code := :Global.Basecurrency;
  End If;
  Validate_Rate;
  Select Nvl(Pli_Rate ,0) Into V_Rate
  From M_Pl_Item 
  Where Pli_Id = :Pli_Id;
  If :Pli_Rate <>  V_Rate Then
    Price_Req_Fields;
  End If;  
  Proc_Upd_GM_PriceList(:Global.Company, :Pli_Plh_Code, :Pli_Item_Code, :Pli_Uom_Code, :Pli_Rate, :Pli_Valid_Dt_Fm, :Global.User);
  Standard.Commit;
End;
What you getClause Rule Language
on save update:    from load-item-m-pl-item-0(PLI_ID)    set PLI_EDT_USER to GLOBAL.USER    set PLI_EDT_DT to sysdate()    set PLI_RATE_UPD_DT to PLI_EDT_DT    set PLH_CURR_CODE to GLOBAL.BASECURRENCY when is_blank(PLH_CURR_CODE)    call VALIDATE_RATE()    call PRICE_REQ_FIELDS() when PLI_RATE <> V_RATE    call PROC_UPD_GM_PRICELIST(GLOBAL.COMPANY, PLI_PLH_CODE, PLI_ITEM_CODE, PLI_UOM_CODE, PLI_RATE, PLI_VALID_DT_FM, GLOBAL.USER)
# 1 statement did not convert.#   line 19
#   Standard.Commit;
#   reason: G13: mid-trigger DML and the transaction boundary are refused, not converted

7 clauses converted, 1 statement refused

10. fmb_itemon unit VALIDATE_SUPP_CONTRACTstudy
What you havePROGRAM-UNIT
PROCEDURE Validate_Supp_Contract IS
   v_Suppc_Id    Number;
  v_Reg_Count    Number;
  v_Reg_Actual  Number;
  v_Ref         Varchar2(100);
BEGIN
  If :ItemSupp_Divn_Code Is Not Null And :ItemSupp_Supp_Code Is Not Null Then
      Proc_Validate_Supp_Item(:Global.Company, :ItemSupp_Divn_Code, :ItemSupp_Supp_Code, v_Suppc_Id, v_Reg_Count, v_Reg_Actual);
      
    If Nvl(v_Suppc_Id, 0) = 0 Or (Nvl(v_Reg_Count, 0) - Nvl(v_Reg_Actual, 0)) <= 0 Then
      Show_Message('ALERT1','No supplier contract for item activation!');
      Raise form_trigger_failure;
    End If;  
    
    Select Suppc_Loc_Code||'/'||Suppc_Txn_Code||'/'||SuppC_No Into v_Ref From T_Supp_Contract
    Where SuppC_Id = v_SuppC_Id;
    
    :ItemSupp_SuppC_Id := v_SuppC_Id;
    :ItemSupp_Ref      := v_Ref;
  End If;
END;
What you getClause Rule Language
on unit VALIDATE_SUPP_CONTRACT:    call PROC_VALIDATE_SUPP_ITEM(GLOBAL.COMPANY, ITEMSUPP_DIVN_CODE, ITEMSUPP_SUPP_CODE, null, null, null) when is_filled(ITEMSUPP_DIVN_CODE) and is_filled(ITEMSUPP_SUPP_CODE)    deny when (is_filled(ITEMSUPP_DIVN_CODE) and is_filled(ITEMSUPP_SUPP_CODE)) and ((nvl(OUT.PROC_VALIDATE_SUPP_ITEM.4, 0) = 0) or ((nvl(OUT.PROC_VALIDATE_SUPP_ITEM.5, 0) - nvl(OUT.PROC_VALIDATE_SUPP_ITEM.6, 0)) <= 0)) else "No supplier contract for item activation!"    set ITEMSUPP_SUPPC_ID to OUT.PROC_VALIDATE_SUPP_ITEM.4 when is_filled(ITEMSUPP_DIVN_CODE) and is_filled(ITEMSUPP_SUPP_CODE)
# 2 statements did not convert.#   Select Suppc_Loc_Code||'/'||Suppc_Txn_Code||'/'||SuppC_No Into v_Ref From T_Supp_Contract
#       Where SuppC_Id = v_SuppC_Id
#   reason: its query narrows on V_SUPPC_ID, 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#   :ItemSupp_Ref      := v_Ref;
#   reason: they are dropped with it: its query narrows on V_SUPPC_ID, 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

3 clauses converted, 2 statements refused

11. fmb_itemWHEN-VALIDATE-ITEM on M_ITEM_PRATE.ITEMPRATE_SUPP_CODEstudy
What you haveWHEN-VALIDATE-ITEM
Declare
  V_Supp_Type Varchar2(10);
  V_Count  Number; 
Begin
  SELECT Count(*) INTO v_Count
  FROM M_Supplier
  WHERE Supp_Code = :ItemPRate_Supp_Code;  
  If v_Count = 1 Then
   If :ItemPRate_Supp_Code Is Not Null Then    
      Select Fn_Get_Supp_Name(:Itemprate_Supp_Code, :Frm_Supp_Name_Mask) Into :M_Item_Prate.Supp_Name From Dual;
      Select Nvl(Supp_Type, 'L')
      Into V_Supp_Type
      From M_Supplier
      Where Supp_Code = :ItemPRate_Supp_Code;
      If  V_Supp_Type = 'F' And :Frm_Supp_Name_Mask= 'Y'Then
        Set_Item_Instance_Property('ITEMPRATE_SUPP_CODE', Current_Record, Visual_Attribute, 'MASK_VA');
      End If; 
    End If;
   :ItemPRate_Curr_Code := :Global.BaseCurrency;
  Else 
    if :ItemPRate_Supp_Code is not null then 
    Show_Message('ALERT1', 'Supplier not Found!');
    :ItemPRate_Supp_Code := null;
    :Supp_Name := null;
     Raise Form_Trigger_Failure;    
    end if;
  end if;  
 End; 
What you getClause Rule Language
on change of ITEMPRATE_SUPP_CODE:    from SUPPLIER_COUNT(ITEMPRATE_SUPP_CODE)
        # load-item-m-item-prate-itemprate-supp-code-when-validate-item-change-0    from SUPPLIER(ITEMPRATE_SUPP_CODE) when (SUPPLIER_COUNT.COUNT = 1) and is_filled(ITEMPRATE_SUPP_CODE)
        # load-item-m-item-prate-itemprate-supp-code-when-validate-item-change-1    set SUPP_NAME to FN_GET_SUPP_NAME(ITEMPRATE_SUPP_CODE, FRM_SUPP_NAME_MASK) when (SUPPLIER_COUNT.COUNT = 1) and is_filled(ITEMPRATE_SUPP_CODE)    set ITEMPRATE_CURR_CODE to GLOBAL.BASECURRENCY when SUPPLIER_COUNT.COUNT = 1    when not (SUPPLIER_COUNT.COUNT = 1) and is_filled(ITEMPRATE_SUPP_CODE)
# 1 statement did not convert.#   line 16
#   Set_Item_Instance_Property('ITEMPRATE_SUPP_CODE', Current_Record, Visual_Attribute, 'MASK_VA');
#   reason: this sets a property of one record's cell, and the screen holds field state per field and not per row, so a verb here would lock or mark the column in every row of the grid: a per-record field state is grid.md's and is not built

3 clauses converted, 1 statement refused

12. fmb_itemon unit PROC_VALIDATE_RATEstudy
What you havePROGRAM-UNIT
PROCEDURE Proc_Validate_rate IS
  v_cost_method    Varchar2(10);
  v_Divn_Code      Varchar2(10);
  v_Stock_bu      Number;
  v_Cost           Number(14,6);
  v_Max_Loose      Number;
  V_Min_Rate      Number;
BEGIN
  If Nvl(:Frm_En_Sales_Promo, 'Y')  = 'Y' And Nvl(:Item_Group, 'N') = 'N' Then
    v_cost_method := Fn_Get_Company_Param(:Global.Company, 'COM_COST_VALUATION_METHOD');
    
    
    Select Uom_Max_Loose Into v_Max_Loose From M_Uom
    Where Uom_Code = :PLI_UOM_CODE;
    
    Begin
      Select PlH_Divn_Code Into v_Divn_Code From M_Pl_Head
      Where Plh_Comp_Code = :Global.Company And Plh_Code = :Pli_Plh_Code;
    Exception When Others Then
      v_Divn_Code:= :Global.Divn_Code;
    End;
    
    Begin
      Select Nvl(Stkd_Unconf_Qty, 0) Into v_Stock_Bu
      From M_Stock_Division
      Where Stkd_Comp_Code = :Global.Company And Stkd_Divn_Code = v_Divn_Code
      And Stkd_Item_Code = :Item_Code;
    Exception When Others Then
      v_Stock_Bu := 0;
    End;
       
    v_Cost := Round(Fn_Get_Cost(:Item_Code, :Global.Company, v_Divn_Code, Trunc(Sysdate), V_Cost_Method, v_Stock_bu)*Nvl(v_Max_Loose, 0), :Global.Curr_decimal);
                                                                          
   
    If Nvl(:Pli_Rate, 0)< v_Cost And Nvl(v_Stock_Bu, 0) <> 0 Then
      SHOW_MESSAGE('ALERT1','Rate below cost!');
      Raise Form_Trigger_Failure;
    End If;
  End If;
  
  If Nvl(:Pli_Rate, 0)< v_Cost  Then
    SHOW_MESSAGE('ALERT1','Selling Price is Less than the cost price. Please check!');
  End If;
   V_Min_Rate := Nvl(Fn_Get_Company_Param(:Pli_Comp_Code,'COM_MIN_SELLING_RATE'),0.25);
   If V_Min_Rate > :Pli_Rate  Then       
      SHOW_MESSAGE('ALERT1','The Minimum Allowed Item Selling Rate Is ' || V_Min_Rate ||'!'); 
      Raise Form_Trigger_Failure;      
   End If;
END;
What you getClause Rule Language
on unit PROC_VALIDATE_RATE:
# 1 statement did not convert.#   PROCEDURE Proc_Validate_rate IS
#     v_cost_method    Varchar2(10);
#     v_Divn_Code      Varchar2(10);
#     v_Stock_bu      Number;
#     v_Cost           Number(14,6);
#     v_Max_Loose      Number;
#     V_Min_Rate      Number;
#   BEGIN
#     If Nvl(:Frm_En_Sales_Promo, 'Y')  = 'Y' And Nvl(:Item_Group, 'N') = 'N' Then
#       v_cost_method := Fn_Get_Company_Param(:Global.Company, 'COM_COST_VALUATION_METHOD');
#       
#       
#       Select Uom_Max_Loose Into v_Max_Loose From M_Uom
#       Where Uom_Code = :PLI_UOM_CODE;
#       
#       Begin
#         Select PlH_Divn_Code Into v_Divn_Code From M_Pl_Head
#         Where Plh_Comp_Code = :Global.Company And Plh_Code = :Pli_Plh_Code;
#       Exception When Others Then
#         v_Divn_Code:= :Global.Divn_Code;
#       End;
#       
#       Begin
#         Select Nvl(Stkd_Unconf_Qty, 0) Into v_Stock_Bu
#         From M_Stock_Division
#         Where Stkd_Comp_Code = :Global.Company And Stkd_Divn_Code = v_Divn_Code
#         And Stkd_Item_Code = :Item_Code;
#       Exception When Others Then
#         v_Stock_Bu := 0;
#       End;
#          
#       v_Cost := Round(Fn_Get_Cost(:Item_Code, :Global.Company, v_Divn_Code, Trunc(Sysdate), V_Cost_Method, v_Stock_bu)*Nvl(v_Max_Loose, 0), :Global.Curr_decimal);
#                                                                             
#      
#       If Nvl(:Pli_Rate, 0)< v_Cost And Nvl(v_Stock_Bu, 0) <> 0 Then
#         SHOW_MESSAGE('ALERT1','Rate below cost!');
#         Raise Form_Trigger_Failure;
#       End If;
#     End If;
#     
#     If Nvl(:Pli_Rate, 0)< v_Cost  Then
#       SHOW_MESSAGE('ALERT1','Selling Price is Less than the cost price. Please check!');
#     End If;
#      V_Min_Rate := Nvl(Fn_Get_Company_Param(:Pli_Comp_Code,'COM_MIN_SELLING_RATE'),0.25);
#      If V_Min_Rate > :Pli_Rate  Then       
#         SHOW_MESSAGE('ALERT1','The Minimum Allowed Item Selling Rate Is ' || V_Min_Rate ||'!'); 
#         Raise Form_Trigger_Failure;      
#      End If;
#   END;
#   reason: it handles OTHERS and recovers, writing a value or showing a message on the error path, so the statements above it do not mean what they would mean without it: CRL has no clause that runs when a statement fails

0 clauses converted, 1 statement refused

13. fmb_itemPOST-QUERY on M_PL_ITEMstudy
What you havePOST-QUERY
Declare
  v_Count Number;
Begin
  If :PLI_PLH_Code Is Not Null Then
    SELECT PLH_Curr_Code INTO :PLH_Curr_Code
    FROM M_PL_Head
    WHERE PLH_Code = :PLI_PLH_Code
    AND PLH_COMP_CODE = :Global.company;
  End IF;
  
  
  If :PLI_UOM_Code IS Not Null Then
     SELECT UOM_Max_Loose INTO :Max_Loose
     FROM M_UOM
     WHERE UOM_Code = :PLI_UOM_Code;
  End If;
  
  If :PLI_PLH_Code Is Not Null And :Pli_Uom_Code Is Not Null Then
    Select Count(*) Into v_Count
    From T_Prom_Head, T_Prom_Item, T_Prom_Plist
    Where Promh_Id =Promi_Promh_Id 
    And Promp_Promi_Id = Promi_Id
    And Promh_Promt_Code = 'PP' 
    And Nvl(Promh_Approval_Status, 'N') = 'F'
    And Nvl(Promh_Status, 'F') = 'F'
    And Nvl(Promp_Excl_Price, 'N') <> 'Y'
    And Promh_Comp_Code = :Global.Company
    And Promp_Plh_Code = :PLI_PLH_Code
    And Promi_Item_code = :PLI_Item_Code
    And Promi_Uom_Code = :PLI_Uom_Code
    And Trunc(Sysdate) Between Promh_Dt_Fm And Nvl(Promh_Ext_Upto,Promh_Dt_To);
    
    If v_Count > 0 Then
      Select Max(Promp_Rate), Max(Promp_Disc_Perc), Max(Promp_Disc_Amt) Into :Promo_Rate, :Promo_Disc_Perc, :Promo_Disc_Amt
      From T_Prom_Head, T_Prom_Item, T_Prom_Plist
      Where Promh_Id =Promi_Promh_Id 
      And Promp_Promi_Id = Promi_Id
      And Promh_Promt_Code = 'PP' 
      And Nvl(Promh_Approval_Status, 'N') = 'F'
      And Nvl(Promh_Status, 'F') = 'F'
      And Nvl(Promp_Excl_Price, 'N') <> 'Y'
      And Promh_Comp_Code = :Global.Company
      And Promp_Plh_Code = :PLI_PLH_Code
      And Promi_Item_code = :PLI_Item_Code
      And Promi_Uom_Code = :PLI_Uom_Code
      And Trunc(Sysdate) Between Promh_Dt_Fm And Nvl(Promh_Ext_Upto,Promh_Dt_To);
    End If;
  End If;
  If :Pli_Status = 'H' Then       
    Set_Item_Instance_Property('Pli_Status', Current_Record, Visual_Attribute, 'RED_VA');   
  Else 
    Set_Item_Instance_Property('Pli_Status', Current_Record, Visual_Attribute, 'GREEN_VA'); 
  End If;
End;
 
What you getClause Rule Language
on load of M_PL_ITEM:    from PL_HEAD(PLI_PLH_CODE) when is_filled(PLI_PLH_CODE)
        # load-item-m-pl-item-load-0    from UOM(PLI_UOM_CODE) when is_filled(PLI_UOM_CODE)
        # load-item-m-pl-item-load-1    from PROM_HEAD(PLI_ITEM_CODE, PLI_PLH_CODE, PLI_UOM_CODE) when is_filled(PLI_PLH_CODE) and is_filled(PLI_UOM_CODE)
        # load-item-m-pl-item-load-2    set PLH_CURR_CODE to PL_HEAD.PLH_CURR_CODE when is_filled(PLI_PLH_CODE)    set MAX_LOOSE to UOM.UOM_MAX_LOOSE when is_filled(PLI_UOM_CODE)
# 3 statements did not convert.#   line 34
#   Select Max(Promp_Rate), Max(Promp_Disc_Perc), Max(Promp_Disc_Amt) Into :Promo_Rate, :Promo_Disc_Perc, :Promo_Disc_Amt
#         From T_Prom_Head, T_Prom_Item, T_Prom_Plist
#         Where Promh_Id =Promi_Promh_Id 
#         And Promp_Promi_Id = Promi_Id
#         And Promh_Promt_Code = 'PP' 
#         And Nvl(Promh_Approval_Status, 'N') = 'F'
#         And Nvl(Promh_Status, 'F') = 'F'
#         And Nvl(Promp_Excl_Price, 'N') <> 'Y'
#         And Promh_Comp_Code = :Global.Company
#         And Promp_Plh_Code = :PLI_PLH_Code
#         And Promi_Item_code = :PLI_Item_Code
#         And Promi_Uom_Code = :PLI_Uom_Code
#         And Trunc(Sysdate) Between Promh_Dt_Fm And Nvl(Promh_Ext_Upto,Promh_Dt_To);
#   reason: a source names one aggregate or none, and this selects 3 of them beside 0 other expressions, so no one name says what its row carries#   line 50
#   Set_Item_Instance_Property('Pli_Status', Current_Record, Visual_Attribute, 'RED_VA');
#   reason: this sets a property of one record's cell, and the screen holds field state per field and not per row, so a verb here would lock or mark the column in every row of the grid: a per-record field state is grid.md's and is not built#   line 52
#   Set_Item_Instance_Property('Pli_Status', Current_Record, Visual_Attribute, 'GREEN_VA');
#   reason: this sets a property of one record's cell, and the screen holds field state per field and not per row, so a verb here would lock or mark the column in every row of the grid: a per-record field state is grid.md's and is not built

2 clauses converted, 3 statements refused

14. fmb_itemon unit INIT_FORMstudy
What you havePROGRAM-UNIT
Procedure Init_Form Is
 
    
Begin
    :Mnu_Clr := Fn_Get_Menu_Param(:Parameter.Menu_Code, 'MNU_FORMCOLOR');
    :Code_Gen_Type := Fn_Get_Company_Param(:Global.Company,'COM_ITEM_CODE_TYPE');
    :Code_Prefix := Fn_Get_Company_Param(:Global.Company,'COM_ITEM_CODE_PREFIX');
    :Code_Length := Fn_Get_Company_Param(:Global.Company,'COM_ITEM_CODE_LEN');
    :Def_Item_Type := Fn_Get_Company_Param(:Global.Company, 'COM_DEF_ITEM_TYPE');
    :En_Item_Type := Fn_Get_Company_Param(:Global.Company, 'COM_EN_ITEM_TYPE');
    :Def_Exp_Type := Fn_Get_Company_Param(:Global.Company, 'COM_DEF_EXP_TYPE');
    :En_Exp_Type := Fn_Get_Company_Param(:Global.Company, 'COM_EN_EXP_TYPE');
    :Def_Serial_Type := Fn_Get_Company_Param(:Global.Company, 'COM_DEF_SERIAL_TYPE');
    :En_Serial_Type := Fn_Get_Company_Param(:Global.Company, 'COM_EN_SERIAL_TYPE');
    :Def_List_Fee_Txn := Fn_Get_Company_Param(:Global.Company, 'COM_DEF_LIST_FEE_TXN'); 
    :Def_List_Fee_Loc := Fn_Get_Company_Param(:Global.Company, 'COM_DEF_LIST_FEE_LOC'); 
    :Def_Bcode_Fee_Txn := Fn_Get_Company_Param(:Global.Company, 'COM_DEF_BCODE_TXN'); 
    :Def_Bcode_Fee_Loc := Fn_Get_Company_Param(:Global.Company, 'COM_DEF_BCODE_LOC'); 
    :Def_List_Fee := Fn_Get_Company_Param(:Global.Company, 'COM_DEF_LIST_FEE'); 
    :Def_Bcode_Fee := Fn_Get_Company_Param(:Global.Company, 'COM_DEF_BCODE_FEE'); 
    :Frm_Show_Gr_History := Fn_Get_User_Param(:Global.User,'USR_SHOW_PURCHASE_HISTORY');
    :Frm_Show_Stock   := Fn_Get_User_Param(:Global.User,'USR_SHOW_STOCK');
    :Frm_Show_Cost   := Fn_Get_User_Param(:Global.User,'USR_SHOW_COST');
    :Frm_Show_Price   := Fn_Get_User_Param(:Global.User,'USR_SHOW_PRICE');
    :Frm_Supp_Name_Mask := Fn_Get_User_Param(:Global.User,'USR_SUPP_NAME_MASK');
    :Frm_Itemcr_Method := Fn_Get_Company_Param(:Global.Company, 'COMP_ITEMCR_METHOD');
    :Frm_Enable_Fl := Fn_Get_Company_Param(:Global.Company, 'COM_ENABLE_FL');
    :Frm_IMAGE_URL :=Fn_Get_Company_Param(:Global.Company, 'COM_EMP_IMAGE_URL');
    :Frm_Weigh_Item_Prefix := Fn_Get_Company_Param(:Global.Company, 'COM_WEIGH_ITEM_PREFIX');
    :Frm_Item_Act_Method := Fn_Get_Company_Param(:Global.Company, 'COM_ITEM_ACT_METHOD');        
    :Frm_Usr_En_Item_Act := Fn_Get_User_Param(:Global.User,'USR_EN_ITEM_ACT');
    :Frm_Usr_En_Plu_Online := Fn_Get_User_Param(:Global.User,'USR_EN_PLU_ONLINE');
    :Frm_En_Sales_Promo := Fn_Get_Company_Param(:Global.Company,'COM_EN_SALES_PROMOTION');
    :Plu_Prefix := Fn_Get_Company_Param(:Global.Company,'COM_WEIGH_BCODE_PREFIX');
    :Frm_Activate_Plu  := Fn_Get_User_Param(:Global.User,'USR_ACTIVATE_PLU'); --- Added on 17/06/2020, #55349
    :Frm_Activate_Prate  := Fn_Get_User_Param(:Global.User,'USR_ACTIVATE_PRATE');
    :Frm_Item_Correct :=  Fn_Get_User_Param(:Global.User,'USR_EN_ITEM_CORRECT');
    :Frm_En_Plu_Edit := Fn_Get_Company_Param(:Global.Company, 'COM_EN_PLU_EDIT');
    :Frm_En_Webstore :=  Fn_Get_User_Param(:Global.User,'USR_EN_WEBSTORE');
    :Frm_Cost_Method := Fn_Get_Company_Param(:Global.Company, 'COM_COST_VALUATION_METHOD');
    :Frm_En_Act_Item_Divn := Fn_Get_User_Param(:Global.User,'USR_EN_ACT_ITEM_DIVN');
    
    
    Set_Item_Property('ItemPRate_Cr_Dt', Format_Mask, :Global.Datetime);
    Set_Item_Property('ItemPRate_Edt_Dt', Format_Mask, :Global.Datetime);
    Set_Item_Property('ItemD_Cr_Dt', Format_Mask, :Global.Dateformat);
   -- Set_Item_Property('Pli_Prom_Dt_Fm', Format_Mask, :Global.Datetime);
   -- Set_Item_Property('Pli_Prom_Dt_To', Format_Mask, :Global.Datetime);
    Set_Item_Property('ItemPLU_Cr_Dt', Format_Mask, :Global.Datetime);
    Set_Item_Property('ItemPLU_Edt_Dt', Format_Mask, :Global.Datetime);
    --Set_Item_Property('ITEMSPEC_CR_DT', Format_Mask, :Global.Datetime);
    --Set_Item_Property('ITEMSPEC_EDT_DT', Format_Mask, :Global.Datetime);
    Set_Item_Property('ITEMPRATE_EXP_DT', Format_Mask, :Global.Dateformat);

    If :Ctrl.Mnu_Clr = 'BLUE' Then
        Set_Canvas_Property('Item_Can', Background_Color, 'r75g100b100');
        Set_Canvas_Property('Item_Det_Can', Background_Color, 'r75g100b100');
    End If;
    
     :Mnu_Title := Fn_Get_Menu_Param (:Parameter.Menu_Code, 'MNU_TITLE');
     :Frm_Comp_Name := :Global.Company_Name;
     :Frm_Rights_New := Fn_Get_User_Rights (:Global.Company, :Parameter.Menu_Code, :Global.User, 'New');
     :Frm_Rights_Edt := Fn_Get_User_Rights (:Global.Company, :Parameter.Menu_Code, :Global.User, 'Edit');
     :Frm_Rights_Qry := Fn_Get_User_Rights (:Global.Company, :Parameter.Menu_Code, :Global.User, 'Query');
     :Frm_Rights_Del := Fn_Get_User_Rights (:Global.Company, :Parameter.Menu_Code, :Global.User, 'Delete');
     :Frm_Rights_Confirm := Fn_Get_User_Rights (:Global.Company, :Parameter.Menu_Code, :Global.User, 'Confirm');
     
      /*query */
     If :Frm_Rights_Qry > 0 Then
          Set_Block_Property ('M_Item', Query_Allowed, Property_True);
          Set_Block_Property ('M_Sub_Item', Query_Allowed, Property_True);
          Set_Block_Property ('M_Item_Plu', Query_Allowed, Property_True);
          Set_Block_Property ('M_Pl_Item', Query_Allowed, Property_True);
          Set_Block_Property ('M_Item_Prate', Query_Allowed, Property_True);
          Set_Block_Property ('M_Stock_Company', Query_Allowed, Property_True);
          Set_Block_Property ('M_Stock_Division', Query_Allowed, Property_True);
          Set_Block_Property ('M_Item_Cust_Ref', Query_Allowed, Property_True);
          Set_Block_Property ('M_Item_Division', Query_Allowed, Property_True);
          Set_Block_Property ('M_Item_Specification', Query_Allowed, Property_True);
          Set_Block_Property ('M_Loc_Section_Item', Query_Allowed, Property_True);    
          Set_Block_Property ('M_Item_Supplier', Query_Allowed, Property_True);             
          Set_Block_Property ('M_Item_Ingredient', Query_Allowed, Property_True); -- Added on 14/08/2020      
     Else
          Set_Block_Property ('M_Item', Query_Allowed, Property_False);
          Set_Block_Property ('M_Sub_Item', Query_Allowed, Property_False);
          Set_Block_Property ('M_Item_Plu', Query_Allowed, Property_False);
          Set_Block_Property ('M_Pl_Item', Query_Allowed, Property_False);
          Set_Block_Property ('M_Item_Prate', Query_Allowed, Property_False);
          Set_Block_Property ('M_Stock_Company', Query_Allowed, Property_False);
          Set_Block_Property ('M_Stock_Division', Query_Allowed, Property_False);
          Set_Block_Property ('M_Item_Cust_Ref', Query_Allowed, Property_False);
          Set_Block_Property ('M_Item_Division', Query_Allowed, Property_False);
          Set_Block_Property ('M_Item_Specification', Query_Allowed, Property_False);
          Set_Block_Property ('M_Loc_Section_Item', Query_Allowed, Property_False);
          Set_Block_Property ('M_Item_Supplier', Query_Allowed, Property_False); 
          Set_Block_Property ('M_Item_Ingredient', Query_Allowed, Property_False); -- Added on 14/08/2020,Ticket#56331    
     End If;

     /* insert */
     If :Frm_Rights_New > 0 Then
        Set_Block_Property ('M_Sub_Item', Insert_Allowed, Property_True);
        Set_Block_Property ('M_Item_Plu', Insert_Allowed, Property_True);
        Set_Block_Property ('M_Pl_Item', Insert_Allowed, Property_True);
        Set_Block_Property ('M_Item_Prate', Insert_Allowed, Property_True);
        Set_Block_Property ('M_Stock_Company', Insert_Allowed, Property_True);
        Set_Block_Property ('M_Stock_Division', Insert_Allowed, Property_True);
        Set_Block_Property ('M_Item_Cust_Ref', Insert_Allowed, Property_True);
        Set_Block_Property ('M_Item_Division', Insert_Allowed, Property_True);
        Set_Block_Property ('M_Item_Specification', Insert_Allowed, Property_True);
        Set_Block_Property ('M_Loc_Section_Item', Insert_Allowed, Property_True);
        Set_Block_Property ('M_Item_Supplier', Insert_Allowed, Property_True);
        Set_Block_Property ('M_Item_Ingredient', Insert_Allowed, Property_True); -- Added on 14/08/2020,Ticket#56331    
     Else
        Set_Block_Property ('M_Item', Insert_Allowed, Property_False);
        Set_Block_Property ('M_Sub_Item', Insert_Allowed, Property_False);
        Set_Block_Property ('M_Item_Plu', Insert_Allowed, Property_False);
        Set_Block_Property ('M_Pl_Item', Insert_Allowed, Property_False);
        Set_Block_Property ('M_Item_Prate', Insert_Allowed, Property_False);
        Set_Block_Property ('M_Stock_Company', Insert_Allowed, Property_False);
        Set_Block_Property ('M_Stock_Division', Insert_Allowed, Property_False);
        Set_Block_Property ('M_Item_Cust_Ref', Insert_Allowed, Property_False);
        Set_Block_Property ('M_Item_Division', Insert_Allowed, Property_False);
        Set_Block_Property ('M_Item_Specification', Insert_Allowed, Property_False);
        Set_Block_Property ('M_Loc_Section_Item', Insert_Allowed, Property_False);
        Set_Block_Property ('M_Item_Supplier', Insert_Allowed, Property_False);
        Set_Block_Property ('M_Item_Ingredient', Insert_Allowed, Property_False); -- Added on 14/08/2020,Ticket#56331  
      End If;

     /*update */
    
     If :Frm_Rights_Edt > 0 Then
         If Nvl(:Frm_Item_Correct,'N') ='Y' Then
          Set_Block_Property ('M_Item', Update_Allowed, Property_True);
         Else
          Set_Block_Property ('M_Item', Update_Allowed, Property_False);
         End If;
        Set_Block_Property ('M_Sub_Item', Update_Allowed, Property_True);
          Set_Block_Property ('M_Item_Plu', Update_Allowed, Property_True);
          Set_Block_Property ('M_Pl_Item', Update_Allowed, Property_True);
          Set_Block_Property ('M_Item_Prate', Update_Allowed, Property_True);
          Set_Block_Property ('M_Stock_Company', Update_Allowed, Property_True);
          Set_Block_Property ('M_Stock_Division', Update_Allowed, Property_True);
          Set_Block_Property ('M_Item_Cust_Ref', Update_Allowed, Property_True);
          Set_Block_Property ('M_Item_Division', Update_Allowed, Property_True);
          Set_Block_Property ('M_Item_Specification', Update_Allowed, Property_True);
          Set_Block_Property ('M_Loc_Section_Item', Update_Allowed, Property_True);
          Set_Block_Property ('M_Item_Supplier', Update_Allowed, Property_True);
          Set_Block_Property ('M_Item_Ingredient', Update_Allowed, Property_True); -- Added on 14/08/2020,Ticket#56331  
     Else
          Set_Block_Property ('M_Item', Update_Allowed, Property_False);
          Set_Block_Property ('M_Sub_Item', Update_Allowed, Property_False);
          Set_Block_Property ('M_Item_Plu', Update_Allowed, Property_False);
          --Set_Block_Property ('M_Pl_Item', Update_Allowed, Property_False);
          Set_Block_Property ('M_Item_Prate', Update_Allowed, Property_False);
          Set_Block_Property ('M_Stock_Company', Update_Allowed, Property_False);
          Set_Block_Property ('M_Stock_Division', Update_Allowed, Property_False);
          Set_Block_Property ('M_Item_Cust_Ref', Update_Allowed, Property_False);    
          Set_Block_Property ('M_Item_Division', Update_Allowed, Property_False);
          Set_Block_Property ('M_Item_Specification', Update_Allowed, Property_False);
          Set_Block_Property ('M_Loc_Section_Item', Update_Allowed, Property_False); 
          Set_Block_Property ('M_Item_Supplier', Update_Allowed, Property_False); 
          Set_Block_Property ('M_Item_Ingredient', Update_Allowed, Property_False); -- Added on 14/08/2020,Ticket#56331    
     End If;
     

     /* delete */
     If :Frm_Rights_Del > 0 Then
          Set_Block_Property ('M_Item', Delete_Allowed, Property_True);
          Set_Block_Property ('M_Sub_Item', Delete_Allowed, Property_True);
          Set_Block_Property ('M_Pl_Item', Delete_Allowed, Property_True);
          Set_Block_Property ('M_Item_Prate', Delete_Allowed, Property_True);
          Set_Block_Property ('M_Stock_Company', Delete_Allowed, Property_True);
          Set_Block_Property ('M_Stock_Division', Delete_Allowed, Property_True);
          Set_Block_Property ('M_Item_Cust_Ref', Delete_Allowed, Property_True);
          Set_Block_Property ('M_Item_Division', Delete_Allowed, Property_True);
          Set_Block_Property ('M_Item_Specification', Delete_Allowed, Property_True);
          Set_Block_Property ('M_Loc_Section_Item', Delete_Allowed, Property_True);
          Set_Block_Property ('M_Item_Supplier', Delete_Allowed, Property_True);
          Set_Block_Property ('M_Item_Ingredient',Delete_Allowed, Property_True); -- Added on 14/08/2020,Ticket#56331  
     Else
          Set_Block_Property ('M_Item', Delete_Allowed, Property_False);
          Set_Block_Property ('M_Sub_Item', Delete_Allowed, Property_False);
          Set_Block_Property ('M_Item_Plu', Delete_Allowed, Property_False);
          Set_Block_Property ('M_Pl_Item', Delete_Allowed, Property_False);
          Set_Block_Property ('M_Item_Prate', Delete_Allowed, Property_False);
          Set_Block_Property ('M_Stock_Company', Delete_Allowed, Property_False);
          Set_Block_Property ('M_Stock_Division', Delete_Allowed, Property_False);
          Set_Block_Property ('M_Item_Cust_Ref', Delete_Allowed, Property_False);
          Set_Block_Property ('M_Item_Division', Delete_Allowed, Property_False);
          Set_Block_Property ('M_Item_Specification', Delete_Allowed, Property_False);
          Set_Block_Property ('M_Loc_Section_Item', Delete_Allowed, Property_False);
          Set_Block_Property ('M_Item_Supplier', Delete_Allowed, Property_False);
          Set_Block_Property ('M_Item_Ingredient',Delete_Allowed, Property_False); -- Added on 14/08/2020,Ticket#56331  
     End If;
     
     /*delete */
     
     If :Frm_Rights_Confirm > 0 Then
        Set_Item_Property ('ITEM_STATUS', Enabled, Property_True);
        Set_Item_Property ('STKC_STATUS', Enabled, Property_True);
     Else
        Set_Item_Property ('ITEM_STATUS', Enabled, Property_False);
        Set_Item_Property ('STKC_STATUS', Enabled, Property_False);
     End If;
     
     ---Added on 08/06/2017 For Enabling Mandatory Listing Transaction Entry
     If Nvl(:Frm_Usr_En_Item_Act,'N') = 'Y'  Then    
       If Nvl(:Frm_Item_Act_Method,'D')  = 'T' Then
           Set_Block_Property ('M_Item_Division', Insert_Allowed, Property_False);
          Set_Block_Property ('M_Item_Division', Update_Allowed, Property_False);
          Set_Block_Property ('M_Item_Division', Delete_Allowed, Property_False);
          Set_Block_Property ('M_Item_Prate', Insert_Allowed, Property_False);
          --Set_Block_Property ('M_Item_Prate', Update_Allowed, Property_False);
          Set_Block_Property ('M_Item_Prate', Delete_Allowed, Property_False);
          Set_Block_Property ('M_Stock_Division', Delete_Allowed, Property_False);
          Set_Block_Property ('M_Stock_Division', Insert_Allowed, Property_False);
          Set_Block_Property ('M_Stock_Company', Delete_Allowed, Property_False);
          Set_Block_Property ('M_Stock_Company', Insert_Allowed, Property_False);
       Else
           Set_Block_Property ('M_Item_Division', Insert_Allowed, Property_True);
          Set_Block_Property ('M_Item_Division', Update_Allowed, Property_True);
          Set_Block_Property ('M_Item_Division', Delete_Allowed, Property_True);
          Set_Block_Property ('M_Item_Prate', Insert_Allowed, Property_True);
          Set_Block_Property ('M_Item_Prate', Update_Allowed, Property_True); 
          Set_Block_Property ('M_Item_Prate', Delete_Allowed, Property_True); 
          Set_Block_Property ('M_Stock_Division', Delete_Allowed, Property_True);
          Set_Block_Property ('M_Stock_Division', Insert_Allowed, Property_True);
          Set_Block_Property ('M_Stock_Company', Delete_Allowed, Property_True);
          Set_Block_Property ('M_Stock_Company', Insert_Allowed, Property_True);
       End If;  
     End If;
     
     If  Nvl(:Frm_Show_Gr_History,'N') ='Y' Then
         Set_Item_Property ('BTN_SHOW_GRHISTORY', Enabled, Property_True);
     Else
        Set_Item_Property ('BTN_SHOW_GRHISTORY', Enabled, Property_False);
     End If;     
     
    If Nvl(:Frm_Show_Gr_History,'N') ='Y' Then
      SET_TAB_PAGE_PROPERTY('PRATE', Enabled, Property_True);      
    Else
      SET_TAB_PAGE_PROPERTY('PRATE', Enabled, Property_False);      
    End If;
    
    If Nvl(:Frm_Activate_Prate,'N') = 'Y' Then --- Added on 17/06/2020, #55349
      Set_Block_Property ('M_Item_Prate', Insert_Allowed, Property_True);
      Set_Block_Property ('M_Item_Prate', Update_Allowed, Property_True); 
    Else
      Set_Block_Property ('M_Item_Prate', Insert_Allowed, Property_False);
      Set_Block_Property ('M_Item_Prate', Update_Allowed, Property_False); 
    End If;
     --- Added on 17/06/2020, #55349
    If Nvl(:Frm_Activate_Plu,'N') ='Y' Then
      Set_Block_Property ('M_Item_Plu', Insert_Allowed, Property_True);
      Set_Block_Property ('M_Item_Plu', Update_Allowed, Property_True); 
    Else      
      Set_Block_Property ('M_Item_Plu', Insert_Allowed, Property_False);      
      Set_Block_Property ('M_Item_Plu', Update_Allowed, Property_False); 
    End If; --till here      
    
    If Nvl(:Frm_Show_Price, 'Y') = 'Y' Then
      Set_Block_Property ('M_Pl_Item', Insert_Allowed, Property_True);
      Set_Block_Property ('M_Pl_Item', Update_Allowed, Property_True); 
    Else  
      Set_Block_Property ('M_Pl_Item', Insert_Allowed, Property_False);
      Set_Block_Property ('M_Pl_Item', Update_Allowed, Property_False);
    End If; 
    
    If Nvl(:Frm_En_Plu_Edit, 'N') = 'Y' Then
      Set_Item_Property ('Itemplu_Code', Update_Allowed, Property_True);
    Else
      Set_Item_Property ('Itemplu_Code', Update_Allowed, Property_False);
    End If;
    
   --Added by Ebilin, 19/7/21--- 
   If Nvl(:Frm_Rights_Edt,0) > 0 Then
     Set_Item_Property ('Item_Color_Code', Update_Allowed, Property_True);
     Set_Item_Property ('Item_Flavour_Code', Update_Allowed, Property_True);
     Set_Item_Property ('Item_Ot_Code', Update_Allowed, Property_True);
     Set_Item_Property ('Pb_Color', Enabled, Property_True);
     Set_Item_Property ('Pb_Flavour', Enabled, Property_True);
     Set_Item_Property ('Pb_Offer', Enabled, Property_True); 
     Set_Item_Property('PLI_Status', Update_Allowed, Property_True);        
   Else
     Set_Item_Property ('Item_Color_Code', Update_Allowed, Property_False);
     Set_Item_Property ('Item_Flavour_Code', Update_Allowed, Property_False);
     Set_Item_Property ('Item_Ot_Code', Update_Allowed, Property_False);
     Set_Item_Property ('Pb_Color', Enabled, Property_False);
     Set_Item_Property ('Pb_Flavour', Enabled, Property_False);
     Set_Item_Property ('Pb_Offer', Enabled, Property_False);
     Set_Item_Property('PLI_Status', Update_Allowed, Property_False);          
   End If;
     
   If Nvl(:Frm_En_Webstore,'N') ='Y' Then
     Set_Block_Property ('M_Stock_Division', Update_Allowed, Property_True);
     Set_Item_Property ('Stkd_En_Sync', Update_Allowed, Property_True);
   Else
   If Nvl(:Frm_Rights_Edt, 0) = 0 Then
     Set_Block_Property ('M_Stock_Division', Update_Allowed, Property_False);
   End If;
     Set_Item_Property ('Stkd_En_Sync', Update_Allowed, Property_False);
   End If; 
   
   If Nvl(:Frm_Show_Cost, 'Y') = 'Y' Then
     Set_Item_Property ('Pl_Margin_Amt', Visible, Property_True);
   Else
     Set_Item_Property ('Pl_Margin_Amt', Visible, Property_False);
   End If;
End;
What you getClause Rule Language
on unit INIT_FORM:    set MNU_CLR to FN_GET_MENU_PARAM(PARAMETER.MENU_CODE, 'MNU_FORMCOLOR')    set CODE_GEN_TYPE to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_ITEM_CODE_TYPE')    set CODE_PREFIX to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_ITEM_CODE_PREFIX')    set CODE_LENGTH to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_ITEM_CODE_LEN')    set DEF_ITEM_TYPE to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_DEF_ITEM_TYPE')    set EN_ITEM_TYPE to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_EN_ITEM_TYPE')    set DEF_EXP_TYPE to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_DEF_EXP_TYPE')    set EN_EXP_TYPE to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_EN_EXP_TYPE')    set DEF_SERIAL_TYPE to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_DEF_SERIAL_TYPE')    set EN_SERIAL_TYPE to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_EN_SERIAL_TYPE')    set DEF_LIST_FEE_TXN to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_DEF_LIST_FEE_TXN')    set DEF_LIST_FEE_LOC to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_DEF_LIST_FEE_LOC')    set DEF_BCODE_FEE_TXN to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_DEF_BCODE_TXN')    set DEF_BCODE_FEE_LOC to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_DEF_BCODE_LOC')    set DEF_LIST_FEE to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_DEF_LIST_FEE')    set DEF_BCODE_FEE to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_DEF_BCODE_FEE')    set FRM_SHOW_GR_HISTORY to FN_GET_USER_PARAM(GLOBAL.USER, 'USR_SHOW_PURCHASE_HISTORY')    set FRM_SHOW_STOCK to FN_GET_USER_PARAM(GLOBAL.USER, 'USR_SHOW_STOCK')    set FRM_SHOW_COST to FN_GET_USER_PARAM(GLOBAL.USER, 'USR_SHOW_COST')    set FRM_SHOW_PRICE to FN_GET_USER_PARAM(GLOBAL.USER, 'USR_SHOW_PRICE')    set FRM_SUPP_NAME_MASK to FN_GET_USER_PARAM(GLOBAL.USER, 'USR_SUPP_NAME_MASK')    set FRM_ITEMCR_METHOD to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COMP_ITEMCR_METHOD')    set FRM_ENABLE_FL to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_ENABLE_FL')    set FRM_IMAGE_URL to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_EMP_IMAGE_URL')    set FRM_WEIGH_ITEM_PREFIX to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_WEIGH_ITEM_PREFIX')    set FRM_ITEM_ACT_METHOD to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_ITEM_ACT_METHOD')    set FRM_USR_EN_ITEM_ACT to FN_GET_USER_PARAM(GLOBAL.USER, 'USR_EN_ITEM_ACT')    set FRM_USR_EN_PLU_ONLINE to FN_GET_USER_PARAM(GLOBAL.USER, 'USR_EN_PLU_ONLINE')    set FRM_EN_SALES_PROMO to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_EN_SALES_PROMOTION')    set PLU_PREFIX to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_WEIGH_BCODE_PREFIX')    set FRM_ACTIVATE_PLU to FN_GET_USER_PARAM(GLOBAL.USER, 'USR_ACTIVATE_PLU')    set FRM_ACTIVATE_PRATE to FN_GET_USER_PARAM(GLOBAL.USER, 'USR_ACTIVATE_PRATE')    set FRM_ITEM_CORRECT to FN_GET_USER_PARAM(GLOBAL.USER, 'USR_EN_ITEM_CORRECT')    set FRM_EN_PLU_EDIT to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_EN_PLU_EDIT')    set FRM_EN_WEBSTORE to FN_GET_USER_PARAM(GLOBAL.USER, 'USR_EN_WEBSTORE')    set FRM_COST_METHOD to FN_GET_COMPANY_PARAM(GLOBAL.COMPANY, 'COM_COST_VALUATION_METHOD')    set FRM_EN_ACT_ITEM_DIVN to FN_GET_USER_PARAM(GLOBAL.USER, 'USR_EN_ACT_ITEM_DIVN')    state format ITEMPRATE_CR_DT, ITEMPRATE_EDT_DT as GLOBAL.DATETIME    state format ITEMD_CR_DT as GLOBAL.DATEFORMAT    state format ITEMPLU_CR_DT, ITEMPLU_EDT_DT as GLOBAL.DATETIME    state format ITEMPRATE_EXP_DT as GLOBAL.DATEFORMAT    set MNU_TITLE to FN_GET_MENU_PARAM(PARAMETER.MENU_CODE, 'MNU_TITLE')    set FRM_COMP_NAME to GLOBAL.COMPANY_NAME    set FRM_RIGHTS_NEW to FN_GET_USER_RIGHTS(GLOBAL.COMPANY, PARAMETER.MENU_CODE, GLOBAL.USER, 'New')    set FRM_RIGHTS_EDT to FN_GET_USER_RIGHTS(GLOBAL.COMPANY, PARAMETER.MENU_CODE, GLOBAL.USER, 'Edit')    set FRM_RIGHTS_QRY to FN_GET_USER_RIGHTS(GLOBAL.COMPANY, PARAMETER.MENU_CODE, GLOBAL.USER, 'Query')    set FRM_RIGHTS_DEL to FN_GET_USER_RIGHTS(GLOBAL.COMPANY, PARAMETER.MENU_CODE, GLOBAL.USER, 'Delete')    set FRM_RIGHTS_CONFIRM to FN_GET_USER_RIGHTS(GLOBAL.COMPANY, PARAMETER.MENU_CODE, GLOBAL.USER, 'Confirm')    state unlock M_ITEM, M_ITEM_CUST_REF, M_ITEM_DIVISION, M_ITEM_INGREDIENT, M_ITEM_PLU, M_ITEM_PRATE, M_ITEM_SPECIFICATION, M_ITEM_SUPPLIER, M_LOC_SECTION_ITEM, M_PL_ITEM, M_STOCK_COMPANY, M_STOCK_DIVISION, M_SUB_ITEM on query when FRM_RIGHTS_QRY > 0    state lock M_ITEM, M_ITEM_CUST_REF, M_ITEM_DIVISION, M_ITEM_INGREDIENT, M_ITEM_PLU, M_ITEM_PRATE, M_ITEM_SPECIFICATION, M_ITEM_SUPPLIER, M_LOC_SECTION_ITEM, M_PL_ITEM, M_STOCK_COMPANY, M_STOCK_DIVISION, M_SUB_ITEM on query when not (FRM_RIGHTS_QRY > 0)    state unlock M_ITEM_CUST_REF, M_ITEM_DIVISION, M_ITEM_INGREDIENT, M_ITEM_PLU, M_ITEM_PRATE, M_ITEM_SPECIFICATION, M_ITEM_SUPPLIER, M_LOC_SECTION_ITEM, M_PL_ITEM, M_STOCK_COMPANY, M_STOCK_DIVISION, M_SUB_ITEM on insert when FRM_RIGHTS_NEW > 0    state lock M_ITEM, M_ITEM_CUST_REF, M_ITEM_DIVISION, M_ITEM_INGREDIENT, M_ITEM_PLU, M_ITEM_PRATE, M_ITEM_SPECIFICATION, M_ITEM_SUPPLIER, M_LOC_SECTION_ITEM, M_PL_ITEM, M_STOCK_COMPANY, M_STOCK_DIVISION, M_SUB_ITEM on insert when not (FRM_RIGHTS_NEW > 0)    state unlock M_ITEM on update when (FRM_RIGHTS_EDT > 0) and (FRM_ITEM_CORRECT = 'Y')    state lock M_ITEM on update when (FRM_RIGHTS_EDT > 0) and not (FRM_ITEM_CORRECT = 'Y')    state unlock M_ITEM_CUST_REF, M_ITEM_DIVISION, M_ITEM_INGREDIENT, M_ITEM_PLU, M_ITEM_PRATE, M_ITEM_SPECIFICATION, M_ITEM_SUPPLIER, M_LOC_SECTION_ITEM, M_PL_ITEM, M_STOCK_COMPANY, M_STOCK_DIVISION, M_SUB_ITEM on update when FRM_RIGHTS_EDT > 0    state lock M_ITEM, M_ITEM_CUST_REF, M_ITEM_DIVISION, M_ITEM_INGREDIENT, M_ITEM_PLU, M_ITEM_PRATE, M_ITEM_SPECIFICATION, M_ITEM_SUPPLIER, M_LOC_SECTION_ITEM, M_STOCK_COMPANY, M_STOCK_DIVISION, M_SUB_ITEM on update when not (FRM_RIGHTS_EDT > 0)    state unlock M_ITEM, M_ITEM_CUST_REF, M_ITEM_DIVISION, M_ITEM_INGREDIENT, M_ITEM_PRATE, M_ITEM_SPECIFICATION, M_ITEM_SUPPLIER, M_LOC_SECTION_ITEM, M_PL_ITEM, M_STOCK_COMPANY, M_STOCK_DIVISION, M_SUB_ITEM on delete when FRM_RIGHTS_DEL > 0    state lock M_ITEM, M_ITEM_CUST_REF, M_ITEM_DIVISION, M_ITEM_INGREDIENT, M_ITEM_PLU, M_ITEM_PRATE, M_ITEM_SPECIFICATION, M_ITEM_SUPPLIER, M_LOC_SECTION_ITEM, M_PL_ITEM, M_STOCK_COMPANY, M_STOCK_DIVISION, M_SUB_ITEM on delete when not (FRM_RIGHTS_DEL > 0)    state enable ITEM_STATUS, STKC_STATUS when FRM_RIGHTS_CONFIRM > 0    state disable ITEM_STATUS, STKC_STATUS when not (FRM_RIGHTS_CONFIRM > 0)    state lock M_ITEM_DIVISION on insert, update, delete when (FRM_USR_EN_ITEM_ACT = 'Y') and (FRM_ITEM_ACT_METHOD = 'T')    state lock M_ITEM_PRATE on insert, delete when (FRM_USR_EN_ITEM_ACT = 'Y') and (FRM_ITEM_ACT_METHOD = 'T')    state lock M_STOCK_DIVISION on insert, delete when (FRM_USR_EN_ITEM_ACT = 'Y') and (FRM_ITEM_ACT_METHOD = 'T')    state lock M_STOCK_COMPANY on insert, delete when (FRM_USR_EN_ITEM_ACT = 'Y') and (FRM_ITEM_ACT_METHOD = 'T')    state unlock M_ITEM_DIVISION on insert, update, delete when (FRM_USR_EN_ITEM_ACT = 'Y') and not (FRM_ITEM_ACT_METHOD = 'T')    state unlock M_ITEM_PRATE on insert, update, delete when (FRM_USR_EN_ITEM_ACT = 'Y') and not (FRM_ITEM_ACT_METHOD = 'T')    state unlock M_STOCK_DIVISION on insert, delete when (FRM_USR_EN_ITEM_ACT = 'Y') and not (FRM_ITEM_ACT_METHOD = 'T')    state unlock M_STOCK_COMPANY on insert, delete when (FRM_USR_EN_ITEM_ACT = 'Y') and not (FRM_ITEM_ACT_METHOD = 'T')    state enable BTN_SHOW_GRHISTORY when FRM_SHOW_GR_HISTORY = 'Y'    state disable BTN_SHOW_GRHISTORY when not (FRM_SHOW_GR_HISTORY = 'Y')    state enable TAB.PRATE when FRM_SHOW_GR_HISTORY = 'Y'    state disable TAB.PRATE when not (FRM_SHOW_GR_HISTORY = 'Y')    state unlock M_ITEM_PRATE on insert, update when FRM_ACTIVATE_PRATE = 'Y'    state lock M_ITEM_PRATE on insert, update when not (FRM_ACTIVATE_PRATE = 'Y')    state unlock M_ITEM_PLU on insert, update when FRM_ACTIVATE_PLU = 'Y'    state lock M_ITEM_PLU on insert, update when not (FRM_ACTIVATE_PLU = 'Y')    state unlock M_PL_ITEM on insert, update when nvl(FRM_SHOW_PRICE, 'Y') = 'Y'    state lock M_PL_ITEM on insert, update when not (nvl(FRM_SHOW_PRICE, 'Y') = 'Y')    state unlock ITEMPLU_CODE on update when FRM_EN_PLU_EDIT = 'Y'    state lock ITEMPLU_CODE on update when not (FRM_EN_PLU_EDIT = 'Y')    state unlock ITEM_COLOR_CODE, ITEM_FLAVOUR_CODE, ITEM_OT_CODE on update when nvl(FRM_RIGHTS_EDT, 0) > 0    state enable PB_COLOR, PB_FLAVOUR, PB_OFFER when nvl(FRM_RIGHTS_EDT, 0) > 0    state unlock PLI_STATUS on update when nvl(FRM_RIGHTS_EDT, 0) > 0    state lock ITEM_COLOR_CODE, ITEM_FLAVOUR_CODE, ITEM_OT_CODE on update when not (nvl(FRM_RIGHTS_EDT, 0) > 0)    state disable PB_COLOR, PB_FLAVOUR, PB_OFFER when not (nvl(FRM_RIGHTS_EDT, 0) > 0)    state lock PLI_STATUS on update when not (nvl(FRM_RIGHTS_EDT, 0) > 0)    state unlock M_STOCK_DIVISION, STKD_EN_SYNC on update when FRM_EN_WEBSTORE = 'Y'    state lock M_STOCK_DIVISION on update when not (FRM_EN_WEBSTORE = 'Y') and (nvl(FRM_RIGHTS_EDT, 0) = 0)    state lock STKD_EN_SYNC on update when not (FRM_EN_WEBSTORE = 'Y')    state show PL_MARGIN_AMT when nvl(FRM_SHOW_COST, 'Y') = 'Y'    state hide PL_MARGIN_AMT when not (nvl(FRM_SHOW_COST, 'Y') = 'Y')
# 2 statements did not convert.#   line 56
#   Set_Canvas_Property('Item_Can', Background_Color, 'r75g100b100');
#   reason: this sets a canvas property, and design.md ruling 5 says Forms' colours are not carried while ruling 3 says a canvas's own geometry is the layout engine's#   line 57
#   Set_Canvas_Property('Item_Det_Can', Background_Color, 'r75g100b100');
#   reason: this sets a canvas property, and design.md ruling 5 says Forms' colours are not carried while ruling 3 says a canvas's own geometry is the layout engine's

91 clauses converted, 2 statements refused