Next_RowID takes a table that is registered with the geodatabase as an input parameter and returns the next value for the ObjectID (RowID) field.
You can use this value when you are inserting a row to the table using SQL.
When executing through ArcGIS we pass the execution through the ODBC driver, and SQL Server will use sp_describe_first_result_set to return the metadata for the first possible result set of the Transact-SQL batch.
Because of this behavior via the Microsoft ODBC client driver, you must include WITH RESULT SETS NONE into the execution of NEXT_ROWID.
i.e.
import arcpy
sql="DECLARE @oid INT; DECLARE @owner nvarchar(128) = 'dbo'; DECLARE @table nvarchar(128) = 'TABTEST'; EXEC dbo.next_rowid @owner , @table, @oid OUTPUT WITH RESULT SETS NONE; INSERT INTO dbo.TABTEST(OBJECTID,NAME,C1) VALUES (@oid,'prvni',1);"
con = arcpy.ArcSDESQLExecute(r'Database Connections\enterpriseGDB.sde')
con.execute(sql)