locked
ODP.NET and Oracle Forms User_Exit RRS feed

  • Question

  • User763860320 posted

    We have a very large system written entirely in Oracle Forms.  We are trying to develop some ASP.NET (C#) pages that refer to the same data.  The forms use User_Exit, and we would like to emulate that in C#.  Is there a way to call a User_Exit from C#?

    Friday, October 3, 2014 12:09 PM

All replies

  • User269602965 posted

    If your user_exit is calling a PL/SQL package procedure(s) then you can call the same from C# ODP.NET.

    See Chapter 5 in link below

    If your user_exit relies on some transformational processing of forms data (front end data) in Oracle C, then you will have to do similar coding in C# or move the processing to the PL/SQL.

    You will find that often doing forms data processing outside of PL/SQL is faster in CS.NET or VB.NET, especially if loops are needed or sorting things in a dictionary, and the call to the database become more simple query, update, insert, and delete actions from OPD.NET back to the database to minimize traffic time.

    Some people switch hit, and use both .NET and PL/SQL even within the same application... depending on what the developers feel is best for performance and code maintenance.

    You can even have blocks of SQL and PL/SQL within CS coding.

    I, for one, am glad to have left Oracle Forms behind years ago and moved into ODP.NET and Windows Forms, WPF, and Web ASP.NET; others may disagree.

    http://docs.oracle.com/database/121/ODPNT/E17732-09.pdf

     

    Friday, October 3, 2014 6:55 PM
  • User763860320 posted

    I think you are telling me that I simply have to duplicate functionality.  I would rather not do that, because both Oracle Forms and C# will be active for some time.  Yes, we are migrating from Forms, but we would rather do it piece by piece.  If I can call User-Exits from C# that would be ideal, I can then convert User-Exits to C# code after they are no longer needed by Oracle Forms.

    But I think you are saying I have to convert the user-exit to C# code up front.  Obviously that would be ideal, but that is not the migration path we hoped for.  The user-exits are 100s of 1000s of lines of code, and will be a substantial effort  We hoped to get the GUI converted first.

    Saturday, October 4, 2014 12:51 PM
  • User269602965 posted

    Users Exits can be PL/SQL, C, or mix.

    Are the hundreds of lines of code in C or PL/SQL?

    If PL/SQL then you can call PL/SQL procedures from CS.NET via OracleDataAccess.dll directly (Chapter 5 explains called stored procedures, quite easy).

    If the code is in C.  Perhaps you can still call the compiled C code from CS.NET. 

    But that part you will have to look into as I have never tried that.

    I just converted old code to .NET and got on with new development environment.

     

    Saturday, October 4, 2014 5:07 PM