• Persistent connection to Sage BOI with PHP?

    Our company is working on a locally hosted PHP web-server that connects with our local Sage 100 instance for our internal use. So far it's working pretty well, but it takes about 10 seconds to open up a session in Sage 100 with the BOI and execute a script…
  • DFDM Modifications to Allow UDT Field Lookups

    When viewing a multi-line field within DFDM I noticed that one of the UDF fields within the current table (AR_Customer) had a Nomads Tag that suggested I may be able to possibly manipulate a different multiline field to perform a lookup within a UDT.…
  • BOI SO_SalesOrder_bus call to nSetKey(key) fails, sLastErrorMessage = "This order is currently being shipped. The invoice number is [num] in batch [num]"

    Using the BOI and trying to loop through all Sales Orders and, for each Sales Order, loop through all lines. Have it working however some orders are in a state such that, if opened from the Sage UI, a popup is shown with text like: In the UI, I can…
  • Issue updating Inventory Transaction Receipt Multi-Bin Distribution using BOI

    When attempting to create line items for a Inventory Transaction Receipt batch I'm having issues when I attempt to update the distribution. my code was working on Sage 2018 but they are upgrading to Sage 2021 and it now throws an System.Runtime.InteropServices…
  • How do I remove an unposted invoice for error handling using BOI.

    I want to improve error handling in a script I have. How do I remove a unposted invoice using BOI. I couldn't seem to get the Delete function to work.
  • AP Invoice Batch Posting Issue

    BOI-Experts, We are running into an interesting phenomenon. A BOI script creates AP and PO invoices in multiple companies, and then posts the AP and PO batches company by company. A lot of times that works just fine. Every now and then the invoices…
  • BOI Create Completion Transaction for Work Ticket

    I'm trying to use Business Objects to create a completion transaction for a Work Ticket in Sage 100 2022. I can't seem to figure out how to add the work ticket to the actual transaction. Below is a slimmed down version at its simplest form of what I'm…
  • BOI Update Receipt of Goods Register Sage 100 Premium 2022 BOI

    Hi All, I am having an issue running PO_ReceiptRegister_upd. I am trying to run the Receipt of Goods Register from BOI. oSS.InvokeMethod("nSetDate", "P/O", date); oSS.InvokeMethod("nSetModule", "P/O"); //DispatchObject security = new DispatchObject…
  • Error "IM_ItemWarehouse does not have correct permissions" when using IM_ItemWarehouse_bus or _svc (v2021 with Update 2)

    I'm receiving a cryptic error stating "IM_ItemWarehouse" does not have correct permissions when I do a SetKeyValue and Find via IM_ItemWarehouse_bus (and _svc). Code is below. I've also tried using a SetBrowseFilter and that works until it reaches the…
  • Object Reference & Table name for Customer Price Schedule --> Pricing Method --> Price Discount Amount

    Hi All, Need object reference & table name for Item Maintenance --> More --> Item Pricing Maintenance --> Customer Price Schedule --> Pricing Method --> Price Discount Amount to pull the discounted price by running the script. I right clicked on the…
  • issue with an external BOI script to populate and post cash receipts entries

    Hello all, I'm seeing an odd issue with an external BOI script to populate and post cash receipts entries. The short story is that automatic posting results in a duplicate bank rec deposit entry and leaves an orphaned deposit record in AR_CashReceiptsDeposit…
  • How to use the "SO_PickingSheetPrinting" method "SelectOrder" to queue sales order picking sheets to be printed

    From a BOI script I would like to select individual orders so that a type "4" record will be added to "SO_SalesOrderPrint" table. The method "SelectOrder" calls for two separated string parameters: "hdrRec$" and "dtrRec$". This is confusing. Why would…
  • C# Create Sales Invoice From Sales Order; nSetKey() fails, sLastErrorMsg = "The [InvoiceNo] is invalid"

    I am on Sage 100c Standard 2016 (Version 5.30.5.0) (yes, I know it is very old, and have plans to upgrade to a supported version). I am attempting to create a program in C# that creates a sales invoice from a sales order. When my program executes the…
  • How to get business object names for table from Sage 100 BOI

    Is there a way to get a list of all the business object names for a table from the Sage 100 BOI? The SY_File object from the FileObj property on the session object seems to have methods to get a list of all the table names. Looking to expand on that where…
  • Using BOI to print Quote

    Looking to use the BOI to retrieve a quote as a PDF. Can see topics here about generating sales orders as PDF's, example: https://www.sagecity.com/us/sage100_erp/f/sage-100-business-object-interface/159332/print-to-pdf-and-electronically-deliver-sales…
  • Forcing Price override for SO_Invoice Line

    I'm currently trying to integrate SO_Invoice using BOI and needing to override pricing on the line item, below is snippet of the code on the line level retVal = oSOInvoice.oLines.nAddLine() retVal = oSOInvoice.oLines.nSetValue("ItemCode$", "XX"…
  • How to automatically create Work Ticket in Production Management from Sales Order using BOI

    I have built an order importer that automatically creates sales orders based off of an EDI file from our customers. It works great. We are currently upgrading Sage 100 to include Production Management Plus and I want to be able to add in the ability to…
  • A batch number is not set up when creating invoice using BOI

    Hi all, I was searching around and was not able to find issue that would provide me a hint on the problem I'm currently facing and was hoping to request some help from the community. I'm getting the error of.. A batch number is not set up here's the…
  • creating a receipt of invoice with BOI

    Hi, I'm trying to write a code to create a new invoice from PO set the key ReceiptType$ set the key ReceiptNo$ call setKey() set PurchaseOrderNo$ set InvoiceNo$ Now i want to add the lines of the po to the receipt. In addition, i want…
  • GetResultSets pagination

    Is there a way to paginate the GetResultSets() function in boi? I'm thinking sort of like how in SQL, you can use OFFSET and LIMIT to divide the query results into multiple pages. Is there a way to do that with the GetResultSets() function?
  • UDF Date filter not working with SO Printing Script - BUG?

    Huge thanks to David Speck for your code and your expertise. I've got a script that works well for printing all SOs, but I'm trying to filter it down using a UDF Date Parameter ( UDF_Delivery_By) we have in SO Printing. I'm certain I have my syntax…
  • Error printing SO using BOI

    Hello, I'm getting the error below indicating the module (S/O), company key (0000004), and the UI. I'm hoping there's something obviously amiss with the code below and that another set of eyes will spot the error. And a huge thanks to David Speck…
  • Is DeactivateProcedure usable on external scripts?

    I've used DeactivateProcedure on scripts running within Sage, but not on external scripts. I'm working on a script that requires me to disable procedures in SO Entry. I've tried a few variations, but I'm getting "Object doesn't support this property or…
  • Object Handle to UDT in PowerShell or C#

    Experts, I need to establish an object handle in PowerShell to a UDT. I know how to do it in VBScript. Does anyone know the proper syntax in PS? If not C# would be helpful as well because I could try to figure it out from there. For regular object…
  • SO SalesJournal Update via BOI - retVal = 0 in nSelectBatch

    Experts, I am working on a script that modifies the comment on a batch, sets it to private, and eventually attempts to post batches. I am getting the following error message when attempting to do the nSelectBatch on the SO_SalesJournal_upd object: …