This is not the correct way to use messages.
You should either use a custom message (defined in the Application Developer resp.) or use the "set_string" in the form itself.
Check the documentation:
You visit the following link.
FND_MESSAGE.ERROR – Displays an error message in an Oracle Forms modal window or a concurrent program log file. (Example: “Invalid value entered.”).
It takes its message from the stack, displays the message, and then clears all the messages from the message stack.
FND_MESSAGE.SET_STRING – Takes an input string and sets it directly on the message stack. The string does not need to be defined in the Messages window. These strings may be hard coded into the form and are not translated like messages defined in Message Dictionary.