One of VI's biggest headaches for us is that we cannot automatically import cash receipts due to a single data field: the BatchNo. This is due to the requirement that VI requires imports to two separate tables (AR_CashReceiptsDeposit + AR_CashReceiptsHeader).

The CashReceiptsDeposit table is responsible for generating the batch number with "NEXT" (actually, we had to leave it blank but it still generated the next batch number), but this number cannot be passed to the linked CashReceiptsHeader table. This means we are required to manually enter the batch number, which means the import process cannot be fully automated (which means we cannot set up a scheduled task from a file we receive from our vendor via FTP).

If Visual Integrator would allow the creation of Global Variables that would be destroyed upon the last linked job finishing, then this could be the answer to our dilemma. My proposal would be while editing a field's properties in the VI-Data tab, a checkbox could be made available "Create Global Variable", which then allows the user to input a variable name that can be used to any other job linked in the chain. Whatever value that field has when the first job is finished will be passed to the global variable.

From this global variable, any linked job thereafter can referenece it by a NEW "Operation Type" of "GLOBVAR ASSIGN". Once this type is selected, an input box becomes available to the user to type in the name of a previously declared global variable. So for CRHeader, I would add BatchNo field, edit it, select GLOBVAR ASSIGN, type in my variable name, and then the value would have successfully been passed from the first job prior to the link.

Then once all linked jobs are done, Sage/VI would immediately destroy these global variables as they'd fall out of scope.

Comments

  • Being able to automate is key in productivity.