There is no equivalent functionality in Oracle. Error messages generated during the execution of stored procedures because of RAISE commands or otherwise are not persisted in the database that can be retrieved later. So you need to handle the error conditions in the procedure and then display it immediately when it occurs. Don't think many users actually store the error messages in a table for later use. Although some may log them for auditing purposes based on error condition.
EXCEPTION WHEN ....
You have not said what error you get at - IF ( v_p_error_code LIKE A0123456789_0123456789_0123456 and at sp_getmessage.
However, have you checked that you have a sp_getmessage procedure created during the migration ?
There is a bug for the 220.127.116.11 version of the workbench because sp_message is not converted but it isn't clear if it was fixed in later versions.
IF (@p_error_code LIKE "[0123456789 ][0123456789 ][0123456789 ][0123456789 ][0123456789 ] "
is not converted correctly, and should probably look like -
IF ( v_p_error_code LIKE "[0123456789 ][0123456789 ][0123456789 ][0123456789 ][0123456789 ] "
which looks like a bug in Developer.
As said earlier there is no direct equivalent in Oracle of sp_getmessage. Can you confirm if there is a procedure equivalent to sp_getmessage created during the migration ?
PL/SQL error handling is discussed in the documentation -
PL/SQL Language Reference
11g Release 2 (11.2)
In Chapter 11 - 11PL/SQL Error Handling
It is available here -
http://docs.oracle.com/cd/E11882_01/appdev.112/e25519.pdf - PL/SQL languages
If sp_getmessage is not migrated then we can follow up with development to see if it should be, otherwise you will have to write something yourself to handle what it does.
You will have to come up with a custom implementation of sp_getmessage functionality in Oracle in the form of a function or a procedure. But before that you will have to come up with a error logging routine incorporated in all stored procedures/triggers that will store all error messages and error nos (application errors) in a table . In Oracle , the application error messages/codes are not persisted for them to be retrieved later. SQL developer does not convert all system functions provided by Sybase/SQL Server althought it does convert quite a few of them in the form of the UTILS package in the EMULATION schema.
With regards to sp_getmessage() functionality in Oracle, you can use SQLERRM system function in Oracle that takes an error code as the input and returns the actual Oracle message corresponding to that error code. More information can be found here: http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/sqlerrm_function.htm#i38980
For consistency, you can create a sp_getmessage function in the UTILS package.