Creating an Auto-Print from JobHead

I want a ‘Crystal Reports’ report to print when a specific Operation is complete. I know that I can print this report as a traveler, it works fine but I’m trying to have it print out once triggered. Is this even possible in Epicor 9.5? I think it is I just need to code it in a BPM. I already have a BPM that sends an email with the same trigger and information I just don’t know what ABL code to use to send a report to a printer. Help

You will have to design a report style and use a BAM to auto print it based on the trigger you need.

Vinay Kamboj

I created a report style ReelLabel and linked the report. I then went and created a BAM for table JobHead:

  1. does not list the 1 field I need, LineDesc
  2. under action I check Auto-print and enter the ReportID I created and the Data Definition… I keep getting an ‘The ReportID is not valid.’ error.

Exception caught in: Epicor.Mfg.BO.ChgLogGA

Error Detail

Message: The ReportID is not valid.
Type: Error
Program: bo/ChgLogGA/ChgLogGA.p
Method: chgLogGABeforeUpdate
Table: ChgLogGA

Stack Trace

at Epicor.Mfg.Proxy.ChgLogGAImpl.Update(ChgLogGADataSet ds)
at Epicor.Mfg.UI.Adapters.ChgLogGAAdapter.Update()
at Epicor.Mfg.UI.App.ChgLogGAEntry.Transaction.Update()

Inner Exception

ERROR condition: The Server application has returned an error. (7243) (7211)

Inner Stack Trace

at Progress.Open4GL.DynamicAPI.Session.runProcedure(String requestID, String procedureName, ParameterSet parms, Boolean persistent, Boolean internal_Renamed, Int64 procId, MetaSchema localSchema, Int32 stateModel)
at Progress.Open4GL.DynamicAPI.Session.runStatelessProcedure(String requestID, String fullProcedureName, ParameterSet inparams, Object procId, MetaSchema localSchema, Int32 stateModel)
at Progress.Open4GL.DynamicAPI.PersistentProc.runTheProcedure(String requestID, String procedureName, ParameterSet parms, MetaSchema schema)
at Progress.Open4GL.DynamicAPI.PersistentProc.runProcedure(String procedureName, ParameterSet parms, MetaSchema schema)
at Epicor.Mfg.Core.CallContext.CallContextPersistentProc.runProcedure(String procedureName, ParameterSet parameters, MetaSchema metaSchema)
at Epicor.Mfg.Core.CallContext.ProxyHelper.CallMethod(String methodName, ParameterSet parameters, MetaSchema metaSchema, BLConnectionPool connPool, Session connection, PersistentProc persistProc, CallContextDataSet callContextDataSet)
at Epicor.Mfg.Proxy.ChgLogGAImpl.Update(ChgLogGADataSet ds)

Probably RDD does not have the table JobHead in it.

Vinay Kamboj

Found it, it was there but I must be blind.

My other issue is I need 1 field from another table. I can actually code all this in BPM, I can create the condition and pull all the fields I need. I do the exact same thing for an email. I just don’t know how to make the report print

And the RDD does have JobHead and all required tables/fields because it is a custom RDD I created for all Travelers and use it to test this current report. I’m not sure why it’s stating that the ReportID is not valid.

BUT I have also realized that my condition is not simple enough for a BAM. The trigger is in JobEntry but not JobHead, the trigger is the completion of a specific Operation. I need 1 field from JobHead and 1 field from SerialNo to populate the report.

Maybe I need to look outside of Job Entry for the trigger