Add SO Pick List to OrderHed.OrderNum context menu?

I have used a SO_Pick customization to expect a value passed for the ordernum. Saved it under a specific menu to be called by the context menu, where it is launching the report with chosen parameters, then closes. the dates intervals are next 7 days. and it pops up the pdf.

in the load get the passed parameter

if ( SOPickListForm.LaunchFormOptions != null )
		{
				object ctxValue = SOPickListForm.LaunchFormOptions.ValueIn.ToString();
				SearchOptions opts = new SearchOptions(SearchMode.AutoSearch);
				opts.DataSetMode = DataSetMode.RowsDataSet;
				
				opts.PreLoadSearchFilter = "OrderNum = '" +
				ctxValue.ToString() + "'";
			
				if(ctxValue.ToString().Length > 0)
				{
//you got your ordernum passed!
                                       edvReportParam.dataView[0]["OrderList"] = ctxValue.ToString();
					
					LaunchLPC(ctxValue.ToString());
form.Shown += new EventHandler(LPC_CloseOnStart);
					form.Visible = false;
                               }

//then generating the parameters to the report:
private void LaunchLPC(string order)
	{
		try
	        {
	            Erp.Proxy.Rpt.SOPickListReportImpl report = WCFServiceSupport.CreateImpl<Erp.Proxy.Rpt.SOPickListReportImpl>((Ice.Core.Session)oTrans.Session, Epicor.ServiceModel.Channels.ImplBase<Erp.Contracts.SOPickListReportSvcContract>.UriPath);
	
	            var ds = report.GetNewParameters();
	            report.GetDefaults(ds);
	
				ds.SOPickListReportParam[0].ToDate = (DateTime)edvReportParam.dataView[0]["ToDate"];   //DateTime.Now.AddDays(7).Date;			
				ds.SOPickListReportParam[0].FromDate = (DateTime)edvReportParam.dataView[0]["FromDate"]; //DateTime.Now.Date;
	
	            ds.SOPickListReportParam[0].OrderList = order;
				ds.SOPickListReportParam[0].ArchiveCode = 1;
				ds.SOPickListReportParam[0].AgentID = "SystemTaskAgent";
				//ds.SOPickListReportParam[0].PostingStatus = "Both";
	            ds.SOPickListReportParam[0].AutoAction = "SSRSPREVIEW";
	            ds.SOPickListReportParam[0].SSRSRenderFormat = "PDF";
				ds.SOPickListReportParam[0].WorkstationID = WorkID;
				ds.SOPickListReportParam[0].ReportStyleNum = 1001;
				ds.SOPickListReportParam[0].DateFormat = "mm/dd/yyyy";
			    ds.SOPickListReportParam[0].NumericFormat = ",.";
				ds.SOPickListReportParam[0].TaskNote = "From context menu of order: " + ds.SOPickListReportParam[0].OrderList + " by " + UserName ;
				ds.SOPickListReportParam[0].ReportCultureCode = "en-CA";

				if(bKitComponents)
					ds.SOPickListReportParam[0].PrintKitComponents = true;
				else
					ds.SOPickListReportParam[0].PrintKitComponents = false;
				string dquote = "\""; string dbakslash = @"\\"; string bakslash = "\\";

				ds.SOPickListReportParam[0].RptPageSettings = "Color=True,Landscape=True,Margins=[Left=25 Right=25 Top=25 Bottom=25],PaperSize=[Kind=" + dquote + "Letter" + dquote + " PaperName=" + dquote + "Lettre" + dquote + " Height=1100 Width=850],PaperSource=[SourceName=" + dquote + "Sélection automatique" + dquote + " Kind=" + dquote + "AutomaticFeed" + dquote + "],PrinterResolution=[Kind=" + dquote  + "Custom" + dquote + " X=600 Y=600]";
				
				ShowParams(ds);
				string info = "";
			
				report.SubmitToAgent(ds, "SystemTaskAgent", ds.SOPickListReportParam[0].AgentSchedNum, 0, "Erp.UIRpt.SOPickListReport");
	        }
	        catch (Exception ex)
	        {
	            MessageBox.Show(ex.ToString());
	        }
		//MessageBox.Show("Just before closing... ");
	}


	private void LPC_CloseOnStart(object sender, EventArgs e)
    {
		form.Shown -= new EventHandler(LPC_CloseOnStart);
        form.Close();
    }
````This will launch automatically the report as pdf