Handling Dynamic Dependencies in VIEWs after 22R1

 

Problem: @DynamicComponentDependency is deprecated from IFS Cloud 22R1 onwards.




Solution: Please see the below example.

VIEW C_Customer_Schedules IS 

Prompt = 'C Customer Schedules' 

customer_no.Flags = 'P----' 

SELECT  

$IF Component_Cussch_SYS.INSTALLED AND Component_Purch_SYS.INSTALLED AND Component_Order_SYS.INSTALLED $THEN 

       ca.agreement_id AS agreement_id, 

       ca.state AS status, 

       ca.company AS site, 

       ca.customer_no AS customer_no, 

       aspd.catalog_no AS sales_part_no, 

       sales_part_API.Get_Catalog_Desc(ca.company, aspd.catalog_no) AS description, 

       sales_part_API.Get_Catalog_Group(ca.company, aspd.catalog_no) AS sales_part_group, 

       csap.start_date AS valid_from, 

       csap.end_date AS valid_to, 

       csap.c_max_qty AS max_qty, 

       cust_sched_agreement_part_API.Get_C_Remaining_Qty(ca.customer_no, csap.ship_addr_no, ca.agreement_id, csap.customer_part_no) AS remaining_qty, 

       aspd.deal_price AS price_curr, 

       ca.currency_code AS currency, 

       aspd.c_purchase_price AS purchase_price, 

       purchase_part_supplier_API.Get_Currency_Code(ca.company, 

                                                    aspd.catalog_no, 

                                                    (SELECT pps.vendor_no 

                                                     FROM   purchase_part_supplier pps 

                                                     WHERE  1 = 1 

                                                     AND    pps.contract = ca.company 

                                                     AND    pps.part_no = aspd.catalog_no 

                                                     AND    pps.primary_vendor_db = 'Y')) AS purchase_currency, 

       aspd.c_exchange_rate AS exchange_rate, 

       aspd.c_markup AS markup, 

       ca.objid AS objid, 

       ca.objversion AS objversion 

FROM   customer_agreement ca, 

       agreement_sales_part_deal aspd, 

       cust_sched_agreement_part csap 

WHERE  1 = 1 

  AND  ca.agreement_id = aspd.agreement_id 

  AND  ca.valid_from = aspd.valid_from_date 

  AND  ca.agreement_id = csap.agreement_id 

  AND  ca.customer_no = csap.customer_no 

  AND  csap.customer_part_no = sales_part_cross_reference_API.Get_Customer_Part_No(ca.customer_no, ca.company, aspd.catalog_no) 

$ELSE 

       to_number(null) AS agreement_id, 

       to_char(null) AS status, 

       to_char(null) AS site, 

       to_char(null) AS customer_no, 

       to_char(null) AS sales_part_no, 

       to_char(null) AS description, 

       to_char(null) AS sales_part_group, 

       to_date(null) AS valid_from, 

       to_date(null) AS valid_to, 

       to_number(null) AS max_qty, 

       to_number(null) AS remaining_qty, 

       to_number(null) AS price_curr, 

       to_char(null) AS currency, 

       to_number(null) AS purchase_price, 

       to_number(null) AS purchase_currency, 

       to_number(null) AS exchange_rate, 

       to_char(null) AS markup, 

       to_char(null) AS objid, 

       to_char(null) AS objversion 

FROM dual 

WHERE 1=2 

$END; 

Post a Comment

0 Comments