OIPI (OpenInsight 32-bit)
At 09 NOV 2011 08:21:20AM Hank Huizinga wrote:
I believe at the conference I heard there was a way to print using the old OIPI (VSPRINTER) when the OpenInsight deault is using the .NET besides changing all the Set_Printer/Get_Printer calls to Set_Printer1/Get_Printer1 or changing the default CFG_OIPI record. I only wish to use the old OIPI on one specific stored procedure.
Thanks,
Hank
At 09 NOV 2011 09:13AM Sean FitzSimons wrote:
Hank,
I am unaware of a method to accomplish this without changing all the Set_Printer/Get_Printer calls to Set_Printer1/Set_Printer1 in the report.
Sean FitzSimons
Revelation Software
At 09 NOV 2011 09:34AM bshumsky wrote:
Hank,
I am unaware of a method to accomplish this without changing all the Set_Printer/Get_Printer calls to Set_Printer1/Set_Printer1 in the report.
Sean FitzSimons
Revelation Software
There is actually a (currently undocumented?) way to do this. If you're running a relatively current version of OpenInsight, there is a routine called SET_VSPRINTER, which "overrides" the value stored in your CFG_OIPI record. If you pass in the parameter "VSPRINTER", then the old (non-.NET) routine will be used for all your SET_PRINTER/GET_PRINTER calls. If you instead pass in "VSPRINTER2", then the .NET OIPI will be used.
Note, however, that this is not routine specific; once you call this procedure, the change will stay in effect until you call the routine again with a null parameter (which disables the "override" function).
So in your instance, at the top of the routine that needs to be in "old" mode, you'd put:
CALL SET_VSPRINTER("VSPRINTER")
and then at the bottom of that routine, to reset to normal behavior, you'd put:
CALL SET_VSPRINTER("")
Hope that helps,
- Bryan Shumsky