Skip to main content
Question

Customization Uplift Steps for 25R2 ?

  • November 30, 2025
  • 28 replies
  • 1623 views

Show first post

28 replies

Forum|alt.badge.img+7
  • Sidekick (Customer)
  • April 13, 2026

@HoustonHockyMon ​@dritter  I hope you have the answer to this question. I have not seen in  technical documentation that it has cleraly mentioned how to handle cdb files for  customization on IFS defined tables.

In your example, i see that you have used RTB and # method.

usually when upgrade scripts runs , standard tables are renamed to use RTB.after the cdb runs .so if we have already a cdb file like below, it shouldnt cause any errors even though if we keep it as it is.  Did you get any errors to change it?

--
--  File   : 220218_MFIN001_NO200487-16_ACCRUL.cdb
SET SERVEROUTPUT ON
DECLARE
   table_name_ VARCHAR2(30) := 'COMPANY_FINANCE_TAB';
   columns_    Database_SYS.ColumnTabType;
   column_     Database_SYS.ColRec;
BEGIN
   Database_SYS.Reset_Column_Table(columns_);
   Database_SYS.Set_Table_Column(columns_, 'C_ACTIVATION_METHOD', 'VARCHAR2(20)', 'Y');
   Database_SYS.Create_Or_Replace_Table(table_name_, columns_, '&IFSAPP_DATA', NULL, TRUE);
END;
SET SERVEROUTPUT OFF

 

Best Regards,
Wasana

 

Hi ​@wahelk,

 

I reviewed my 25R2 code and it looks like I have two versions of customizations on standard IFS tables. First, using the RTB, I have:

SET SERVEROUTPUT ON
DECLARE
table_name_ VARCHAR2(30) := 'TABLE_NAME_RTB';
columns_ Database_SYS.ColumnTabType;
column_ Database_SYS.ColRec;
BEGIN
Database_SYS.Reset_Column_Table#(columns_);
Database_SYS.Set_Table_Column#(columns_, 'FIELD_NAME', 'NUMBER', 'Y');
Database_SYS.Create_Or_Extend_Real_Table#(table_name_, columns_, '&IFSAPP_DATA', NULL, TRUE);
END;
/

SET SERVEROUTPUT OFF


Next, using the TAB, I have:
 

SET SERVEROUTPUT ON
DECLARE
table_name_ VARCHAR2(30) := 'xxxxxxx_TAB';
columns_ Database_SYS.ColumnTabType;
column_ Database_SYS.ColRec;
BEGIN
Database_SYS.Reset_Column_Table(columns_);
Database_SYS.Set_Table_Column(columns_, 'FIELD_NAME', 'VARCHAR2(20)', 'N');
Database_SYS.Set_Table_Column(columns_, 'ROWVERSION', 'DATE', 'N');
Database_SYS.Set_Table_Column(columns_, 'ROWKEY', 'VARCHAR2(50)', 'N', 'sys_guid()');
Database_SYS.Create_Or_Replace_Table(table_name_, columns_, '&IFSAPP_DATA', NULL, TRUE);
Database_SYS.Prepare_Table_For_EBR(table_name_);
END;
-- [END IFS COMPLETE BLOCK]
/
SET SERVEROUTPUT OFF

I have both of these, and the sanities, environments, and deliveries were successful, so you may be able to use either one.

 

In your example, is your .cdb file getting executed? Without the / after the code block, does the code ever leave the buffer?

 

Thank you,

Dylan


wahelk
Hero (Former Employee)
Forum|alt.badge.img+11
  • Hero (Former Employee)
  • April 13, 2026

Hi ​@HoustonHockyMon  ​@dritter 

 

Thank you both for the explanation. I have not applied yet and  planning a list of what to do.I can try without changes and see what is the result.

Best Regards,
Wasana


  • Do Gooder (Customer)
  • June 29, 2026

Congrats! My order delivery succeeded for the first time last night also. Reviewing the error logs with a colleague last night and realized the table I was trying to get rid of was in the N/A component while the corresponding view, package, and package body were in the accrul component. It’s been a journey.

Thank you and congratulations to yourself! We have successfully pushed the changes to our use place/CFG environment. In the hopes that it helps someone else in the future, this is what our limited number of custom objects looked like in the cdb files (we did not prepare our code for delivery continuity at this time).

Custom Tables:

-- [IFS COMPLETE BLOCK DECLAREEND]
DECLARE
table_name_ VARCHAR2(30) := 'XXXXX_TAB';
columns_ Database_SYS.ColumnTabType;
column_ Database_SYS.ColRec;
BEGIN
Database_SYS.Reset_Column_Table(columns_);
Database_SYS.Set_Table_Column(columns_, 'FIELD_ONE', 'VARCHAR2(75)', 'N');
Database_SYS.Set_Table_Column(columns_, 'FIELD_TWO', 'VARCHAR2(5)', 'N');
Database_SYS.Set_Table_Column(columns_, 'ROWVERSION', 'DATE', 'N');
Database_SYS.Set_Table_Column(columns_, 'ROWKEY', 'VARCHAR2(50)', 'N', 'sys_guid()');
Database_SYS.Create_Or_Replace_Table(table_name_, columns_, '&IFSAPP_DATA', NULL, TRUE);
Database_SYS.Prepare_Table_For_EBR(table_name_);
END;
-- [END IFS COMPLETE BLOCK]
/

Indexes for Custom Tables:

-- [IFS COMPLETE BLOCK DECLAREEND]
DECLARE
index_name_ VARCHAR2(30) := 'XXXXX_PK';
table_name_ VARCHAR2(30) := 'XXXXX_RTB';
columns_ Database_SYS.ColumnTabType;
BEGIN
Database_SYS.Reset_Column_Table#(columns_);
Database_SYS.Set_Table_Column#(columns_, 'PRIMARY_KEY');
Database_SYS.Create_Constraint#(table_name_, index_name_, columns_, 'P', '&IFSAPP_INDEX', NULL, TRUE, TRUE);
END;
-- [END IFS COMPLETE BLOCK]
/

-- [IFS COMPLETE BLOCK DECLAREEND]
DECLARE
index_name_ VARCHAR2(30) := 'XXXXX_RK';
table_name_ VARCHAR2(30) := 'XXXXX_RTB';
columns_ Database_SYS.ColumnTabType;
BEGIN
Database_SYS.Reset_Column_Table#(columns_);
Database_SYS.Set_Table_Column#(columns_, 'ROWKEY');
Database_SYS.Create_Constraint#(table_name_, index_name_, columns_, 'U', '&IFSAPP_INDEX', NULL, TRUE, TRUE);
END;
-- [END IFS COMPLETE BLOCK]
/

Customizations made to IFS-defined Tables:

DECLARE
table_name_ VARCHAR2(30) := 'IFS_TABLE_NAME_RTB';
columns_ Database_SYS.ColumnTabType;
column_ Database_SYS.ColRec;
BEGIN
Database_SYS.Reset_Column_Table#(columns_);
Database_SYS.Set_Table_Column#(columns_, 'CUSTOM_FIELD', 'NUMBER', 'Y');
Database_SYS.Create_Or_Extend_Real_Table#(table_name_, columns_, '&IFSAPP_DATA', NULL, TRUE);
END;
/

RDF Files - Not sure if this will help, but we left the definition of the _RPT table, as that threw an error if we removed it when it was used in the Report_SYS.Define_Report_() method, but we commented out the declaration of the do_rs_ variable and removed the if-statement for when do_rs_ is true. If there is a secondary if(do_rs_) statement for updating the RPT table, that code was also removed.

Those are all of the customization types we had, but I hope this helps anyone else. Happy Friday!

Dylan

Didn’t you face any issues with the view? I am getting an error during deployment after customizing the existing SHIPMENT_RTB table by adding one new column. I followed the EBR compliance steps as mentioned, but the deployment fails because the added custom field is not available in the _TAB view.