Well, I moved it to a Function, scheduled the function and got the exact same error.
Exception executing library 'prcScheduledProcesses' function 'DistributorPickListBatchPrinting':
System.Data.Entity.Core.EntityException: The underlying provider failed on EnlistTransaction.
---> System.PlatformNotSupportedException: This platform does not support distributed transactions.
at System.Transactions.Distributed.DistributedTransactionManager.GetDistributedTransactionFromTransmitterPropagationToken(Byte[] propagationToken)
at System.Transactions.TransactionInterop.GetDistributedTransactionFromTransmitterPropagationToken(Byte[] propagationToken)
at System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction tx)
at System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTransaction tx)
at System.Transactions.EnlistableStates.Promote(InternalTransaction tx)
at System.Transactions.Transaction.Promote()
at System.Transactions.TransactionInterop.ConvertToDistributedTransaction(Transaction transaction)
at System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts)
at System.Data.SqlClient.SqlInternalConnection.GetTransactionCookie(Transaction transaction, Byte[] whereAbouts)
at System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx)
at System.Data.SqlClient.SqlInternalConnection.EnlistTransaction(Transaction transaction)
at System.Data.SqlClient.SqlConnection.EnlistTransaction(Transaction transaction)
at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext](TTarget target, Action`2 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
at System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.EnlistTransaction(DbConnection connection, EnlistTransactionInterceptionContext interceptionContext)
at System.Data.Entity.Core.EntityClient.EntityConnection.EnlistTransaction(Transaction transaction)
--- End of inner exception stack trace ---
at System.Data.Entity.Core.EntityClient.EntityConnection.EnlistTransaction(Transaction transaction)
at System.Data.Entity.Core.Objects.ObjectContext.EnsureContextIsEnlistedInCurrentTransaction[T](Transaction currentTransaction, Func`1 openConnection, T defaultValue)
at System.Data.Entity.Core.Objects.ObjectContext.EnsureConnection(Boolean shouldMonitorTransactions)
at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
at System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass41_0.<GetResults>b__0()
at System.Data.Entity.Core.Objects.ObjectQuery`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__31_0()
at System.Data.Entity.Internal.LazyEnumerator`1.MoveNext()
at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Boolean& found)
at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
at System.Data.Entity.Core.Objects.CompiledQuery.ExecuteQuery[TResult](ObjectContext context, Object[] parameterValues)
at Epicor.Data.DBExpressionCompiler.GetResult[TDataContext,TQuery,TResult](Func`3 executeQuery, Cache cacheSetting, TDataContext dataContext, TQuery query) in C:\_releases\ICE\ICE4.2.200.0\Source\Server\Framework\Epicor.System\Data\DBExpressionCompiler.cs:line 446
at Epicor.Data.DBExpressionCompiler.InvokeSingle[TDataContext,TQuery,TResult](Expression expression, Cache currentCacheSetting, Boolean cacheQuery, TDataContext dataContext, Func`2 getDataCacheKey, Func`2 compileQuery, Func`3 executeQuery) in C:\_releases\ICE\ICE4.2.200.0\Source\Server\Framework\Epicor.System\Data\DBExpressionCompiler.cs:line 307
at Epicor.Data.DBExpressionCompiler.<>c__DisplayClass56_0`4.<Compile>b__0(TContext context, TArg1 arg1, TArg2 arg2) in C:\_releases\ICE\ICE4.2.200.0\Source\Server\Framework\Epicor.System\Data\DBExpressionCompiler.Generated.cs:line 0
at Ice.Tables.ReportStyle.FindFirstByPrimaryKey(IceContext dataContext, String ReportID, Int32 StyleNum) in C:\_releases\ICE\ICE4.2.200.0\Source\Server\Db\Ice.Data.Model\IceContext.Model.cs:line 136654
at Ice.Core.RptServiceBase`1.UpdateParam(IceRow paramRow) in C:\_releases\ICE\ICE4.2.200.9\Source\Server\Internal\Lib\TaskLib\RptBase\RptServiceBase.cs:line 68
at Ice.Core.TaskServiceBase`1.SubmitUsingTaskAgent(IceRow parameterRow, String agentID, Int64 agentSchedNum, Int32 agentTaskNum, String maintProgram) in C:\_releases\ICE\ICE4.2.200.9\Source\Server\Internal\Lib\TaskLib\TaskBase\TaskServiceBase.cs:line 210
at Ice.Core.TaskServiceBase`1.SubmitToAgent(IceRow parameterRow, Int64 agentSchedNum, Int32 agentTaskNum, String maintProgram, String agentID) in C:\_releases\ICE\ICE4.2.200.9\Source\Server\Internal\Lib\TaskLib\TaskBase\TaskServiceBase.cs:line 174
at Ice.Core.TaskServiceBase`1.InnerSubmitToAgent(IceRow parameterRow, String agentID, Int64 agentSchedNum, Int32 agentTaskNum, String maintProgram) in C:\_releases\ICE\ICE4.2.200.9\Source\Server\Internal\Lib\TaskLib\TaskBase\TaskServiceBase.cs:line 142
at Erp.Services.Rpt.SOPickListReportSvc.SubmitToAgent(SOPickListReportTableset ds, String agentID, Int64 agentSchedNum, Int32 agentTaskNum, String maintProgram) in C:\_releases\ERP\ERP11.2.200.0\Source\Server\Services\Rpt\SOPickListReport\SOPickListReport.Designer.cs:line 116
at Erp.Services.Rpt.SOPickListReportSvcFacade.SubmitToAgent(SOPickListReportTableset ds, String agentID, Int64 agentSchedNum, Int32 agentTaskNum, String maintProgram) in C:\_releases\ERP\ERP11.2.200.0\Source\Server\Services\Rpt\SOPickListReport\SOPickListReportSvcFacade.cs:line 212
at EFx.prcScheduledProcesses.Implementation.DistributorPickListBatchPrintingImpl.<A005_InvokeBOMethodAction2>b__15_0(SOPickListReportSvcContract bo)
at Epicor.Functions.FunctionBase`3.CallService[TService](Action`1 action) in C:\_releases\ICE\ICE4.2.200.0\Source\Server\Internal\Lib\Epicor.Functions.Core\FunctionBase.Plugins.cs:line 63
at EFx.prcScheduledProcesses.Implementation.DistributorPickListBatchPrintingImpl.A005_InvokeBOMethodAction2()
at EFx.prcScheduledProcesses.Implementation.DistributorPickListBatchPrintingImpl.RunStep(Int32 workflowStep)
at Epicor.Functions.FunctionBase`3.Run() in C:\_releases\ICE\ICE4.2.200.0\Source\Server\Internal\Lib\Epicor.Functions.Core\FunctionBase.cs:line 92
at Epicor.Functions.FunctionBase`3.Run(TInput input) in C:\_releases\ICE\ICE4.2.200.0\Source\Server\Internal\Lib\Epicor.Functions.Core\FunctionBase.cs:line 79
at EFx.prcScheduledProcesses.Implementation.DistributorPickListBatchPrintingImpl.AdapterRun(Object[] input)
at Epicor.Functions.TransactionalAdapter.Run(Object[] input) in C:\_releases\ICE\ICE4.2.200.0\Source\Server\Internal\Lib\Epicor.Functions.Core\TransactionalAdapter.cs:line 36
at Ice.Internal.Task.ScheduledFunction.ExecuteFunction.RunFunction(IFunctionAdapter functionAdapter, Object[] parameters) in C:\_releases\ICE\ICE4.2.200.0\Source\Server\Internal\Task\ScheduledFunction\ExecuteFunction.cs:line 128
at Ice.Internal.Task.ScheduledFunction.ExecuteFunction.RunProcess(Int64 instanceTaskNum, String outputFileName) in C:\_releases\ICE\ICE4.2.200.0\Source\Server\Internal\Task\ScheduledFunction\ExecuteFunction.cs:line 57