When using a Stored procedure with an OUTPUT parameter, you still need to specify it when you execute the procedure.
I don't know what that image is from, however, using SQL you would need to do:
DECLARE @ID int, @Mondo int;
SET @ID = 1; --guessed value
EXEC SP_MONTO_APROBADO @ID, @Mondo OUTPUT;
PRINT @Mondo; --Don't know what you're doing with the OUTPUT value
Not specifying the second second parameter would result in a syntax error; as you aren't providing enough parameters for the SP. Regardless of if a Parameter in an input or output you still need to provide them at execution so that the Data engine knows where to get the values from, or where to store the resulting ones.
Also, it's work noting that prefixing your objects like that is a bad idea. Is the sp_ prefix still a no-no?
sp_prefix for your stored procedures. Microsoft has reserved that prefix for its own use (see Naming Stored Procedures), and you do run the risk of a name clash sometime in the future. It's also bad for your stored procedure performance. It's best to just simply avoidsp_and use something else as a prefix - or no prefix at all!