Sage BOI Printing

Hello Community!

I have this code below which works great.  I have 2 questions:

1.  I cannot change the form code to anything else but STANDARD.  Seems it fails to find unprinted pickings.

2.  How can I code it so multiple copies are printed and / or activate multipart printing?

CODE-------------------

Dim oRpt As ProvideX.PvxDispatch
Dim retVal As Integer
Dim oSS As ProvideX.PvxDispatch
Dim oScript As New ProvideX.Script
oScript.Init("\\OL-01-006\Sage 100 Premium\MAS90\Home")
oSS = oScript.NewObject("SY_SESSION")
oSS.nSetUser("DM", "123")
oSS.nSetCompany("ILP")
oSS.nSetProgram(oSS.nLookupTask("SO_PickingSheetPrinting_ui"))
oRpt = oScript.NewObject("SO_PickingSheetPrinting_rpt", oSS)
retVal = oRpt.nSelectReportSetting("STANDARD")
retVal = oSS.nTerminateUI()
retVal = oRpt.nSetKeyValue("ModuleCode$", "S/O")
retVal = oRpt.nSetKeyValue("CompanyKey$", "ORC")
retVal = oRpt.nSetKeyValue("ReportID$", "SO_PickingSheetPrinting_ui")
retVal = oRpt.nSetKeyValue("ReportSetting$", "STANDARD")
retVal = oRpt.nSetKeyValue("RowKey$", "00001")
retVal = oRpt.nSetKey()
retVal = oRpt.nSetValue("SelectField$", "Sales Order Number")
retVal = oRpt.nSetValue("SelectFieldValue$", "Sales Order Number")
retVal = oRpt.nSetValue("Tag$", "TABLE=SO_SALESORDERHEADER; COLUMN=SALESORDERNO$")
retVal = oRpt.nSetValue("Operand$", "A")
retVal = oRpt.nWrite()
retVal = oRpt.nSetPartialRecord("Plain", oScript.Evaluate("CPL(""IOLIST TemplateDesc$"")"))
retVal = oRpt.nProcessReport("PRINT")
oRpt.DropObject()
oRpt = Nothing
oSS.nCleanUp()
oSS.DropObject()
oSS = Nothing
oScript = Nothing