MFS List file (OpenInsight 32-Bit)
At 17 SEP 2010 06:39:03AM Steve Penney wrote:
Hi, we have a warehousing procedure setup that updates a SQL database. We use the MFS in OI to update a CHANGE_CONTROL table with fields REQUEST_ID(Key), MODULE_ID, CHANGE_PRIORITY, MODULE_PRIORITY, STATUS, REQUEST_BY, OPERATOR, REQUEST_DATE, REQUEST_TIME.
For example the REQUEST_ID is XQ*U_NAMES and the MODULE_ID is XQ*U_NAMES*1 and CHANGE_PRIORITY stores the amended Name IDs.
My question is: can we perhaps set a variable that tells the MFS how many keys to insert into the CHANGE_PRIORITY field, (Ideally 1), because our warehousing procedure selects these records, works with them and deletes them, but more keys could be added to CHANGE_PRIORITY after we have read & deleted the record, causing us to miss these keys in the warehousing procedure.
Another option: if we lock the CHANGE_CONTROL record will the MFS queue these records until the CHANGE_CONTROL record is unlocked?
Any suggestions on this will be greatly appreciated?
Regards,
Steve Penney
ACA Cape Town
South Africa
At 17 SEP 2010 08:38AM Bob Carten wrote:
Easiest way is to use a named common shared by the two programs.
*calling program … common /mymfs_Com/additional_info% … write: * set the common, write, clear the common additional_info%=foo' write record on f_mfsed_table, id else … additional_info%=" … return * mfs
common /mymfs_Com/additional_info%
write.Record:
if additional_info%=foo" then …
…
Gosub NextFs
return
You could also use the OMNISCRIPT call plus a non_shared named common.
In other words
*caller: $Insert file.System.equates call my_mfs(OMNI.SCRIPT, myhandle, 'set_info', my_info,
, status) write my_rec on my_mfsed_file, my_key call my_mfs(OMNI.SCRIPT, myhandle, 'clear_info', my_info,
, status) * mfscommon /mymfs_Com/additional_info%
OMNI.SCRIPT:
if NAME _eqc 'set_info' then additional_info$=record
if NAME _eqc 'clear_info' then additional_info$='
* No Gosub NextFs for omni-script
return