I suspect it is because you are missing the ' marks around the date in the second version. Maybe something like this
EXEC @{pipeline().parameters.SchemaName}.spAsRunTVA @ReportDate = @{substring(pipeline().parameters.FileName,8,10)}, @OutputMsg = ADFOutputMsg OUTPUT;
I am not sure if you can add them directly like this but something similar is needed so they are part of the sql statement.