Does this work in Vantage 8.03.409a? I get the following error when performing the second part (customizing the BAQ Report):
Error: BC30456 - line 71 (103) - 'LaunchFormOptions' is not a member of 'Epicor.Mfg.UI.Rpt.BAQReport.BAQReportForm'.
Looking through the object explorer I do not see BAQReportForm as a member of BAQReport...
Error: BC30456 - line 71 (103) - 'LaunchFormOptions' is not a member of 'Epicor.Mfg.UI.Rpt.BAQReport.BAQReportForm'.
Looking through the object explorer I do not see BAQReportForm as a member of BAQReport...
--- In vantage@yahoogroups.com, "Chad" <csmith@...> wrote:
>
> We really struggled with getting this to work so I thought I would share what we found.
>
> We tried using the LaunchFormOptions to pass the variable to the custom BAQ Report and we just could not get it to work. Turns out, you CAN get LFO to work on a BAQ Report, but not via ValueIn. We could do exactly what we wanted to do using ContextValue.
>
> Two quick customizations are required. The first is on the form you will call the BAQ Report from. In our case, this was Sales Order Entry (Lines). The second is that you have to add the BAQ Report to the menu and add a customization to your new UD menu item.
>
> The C# examples below take the SO Number, SO Line, and a UDF and concatenates them into a comma delimited string and pass them to the called process. The called process then takes them and parses out the values and passes them to the UI for the Report.
>
>
> Calling Form Customization (Click Event):
>
> // Setup Launch Form Options to pass variables to called process
> // We are passing the sales order number, line number, and a UDF as a comma delimited string
> LaunchFormOptions lfo = new LaunchFormOptions();
> lfo.ContextValue = edvOrderDtl.dataView[edvOrderDtl.Row]["OrderNum"].ToString() + "," + edvOrderDtl.dataView[edvOrderDtl.Row]["OrderLine"].ToString() + "," + edvOrderDtl.dataView[edvOrderDtl.Row]["Number10"].ToString();
> ProcessCaller.LaunchForm(oTrans, "UD777", lfo); // ** UD777 would be the MenuID for the BAQReport w/ Customization
>
>
> BAQ Report Form Customization (Form Load):
>
> // Open Data View for Report Params
> EpiDataView edvReportParams = (EpiDataView)oTrans.EpiDataViews["ReportParam"];
>
> // Grab LFO passed from SO: Order, Order Line, Qty Copies
> string FullStr = BAQReportForm.LaunchFormOptions.ContextValue.ToString();
>
> Int32 FieldBeg = 0;
> Int32 FieldEnd = FullStr.IndexOf(",",FieldBeg);
> Int32 FieldLen = FieldEnd - FieldBeg;
>
> // Parse and set Order Number
> string strOrdNum = FullStr.Substring(FieldBeg, FieldLen);
> edvReportParams.dataView[edvReportParams.Row]["field1"] = strOrdNum;
>
>
> // Parse and set Order Line
> FieldBeg = FieldEnd + 1;
> FieldEnd = FullStr.IndexOf(",",FieldBeg);
> FieldLen = FieldEnd - FieldBeg;
> string strOrdLine = FullStr.Substring(FieldBeg, FieldLen);
> edvReportParams.dataView[edvReportParams.Row]["field2"] = strOrdLine;
>
> // Parse and set Qty Copies in Report Params
> FieldBeg = FieldEnd + 1;
> string strCopies = FullStr.Substring(FieldBeg);
> edvReportParams.dataView[edvReportParams.Row]["Number01"] = strCopies;
>
> The BAQ Report must have the report options defined appropriately. We've not been able to set number of copies successfully yet, but that's a project for another day it seems.
>
> Thanks again to the Epicor folks that assisted us with the LFO process.
>