Set_MFS Problem (OpenInsight 32-Bit)
At 27 NOV 2006 07:44:10PM Greg Helland wrote:
I have looked at all of the WORKS threads on Set_MFS and tried all of the suggestions to get SET_MFS working. I always get a return code of "FS". I have:
1. Written the MFS in SYSPROG
2. Deleted and then added the MFS through Set_MFS
3. Set the database
4. It is an existing MFS that has worked for years from the OI template
Any other suggestions or pointers? The FS error code does not tell me too much.
Greg
At 28 NOV 2006 09:54AM support@sprezzatura.com wrote:
What is the call to SET_MFS
What does the TABLES record look like after the call?
What does the TABLES record look like after an OI restart?
support@sprezzatura.com
The Sprezzatura Group Web Site
World Leaders in all things RevSoft
At 28 NOV 2006 01:47PM Richard Hunt wrote:
I think I had similar issues. They went kinda like this…
If the table was already opened during an OI session then using the SET_MFS would not show until you restart OI. I am going on memory from about 3 years ago, so I might be wrong.
At 28 NOV 2006 05:05PM Greg Helland wrote:
Set_MFS call:
Set_Status(0)Set_MFS(Table_List, 'TRANSACTION_TRACKING_MFS', MFS_Action)IF Get_Status(MFSExist) THENErrMess=Unable to':Act_Text:Table_List:'|Error Code: ':MFSExistx=msg(@WINDOW, ErrMess)x=utility('CURSOR','H')END ELSE.....Restart does not show anything different
SYSTABLES record looks like this:
RTP57*SDATA
CUSTOMERS
RETAIL
SI.MFSRTP57
At 28 NOV 2006 07:59PM dsig@sigafoos.org wrote:
sorry for jumping in here late but ..
try this list
1) set_mfs
2) dbmanager SAVE Database
3) exit OI
4) start OI
5) in system editor
RUN 'LIST_VOLUME datalocation'6) look down the list for your file and see what it says. is your mfs listed?
If it isn't then one last check ..
1) in system editor
RUN ALIAS_TABLE 'volume','SYSPROG','REVMEDIA','QFILE'2) in editor open record QFILE, table*account
3) what is showing in attribute 2
At 29 NOV 2006 05:28PM Greg Helland wrote:
Dave,
Here is the LIST_VOLUME result:
INVOICES, RETAIL, REV64876, SI.MFS
Here is the REVMEDIA record result: (?=@VM)
REV64637
SI.MFS
SCUBARETAIL
Seems as though field has two account names in it. On files that have only one account name, RETAIL, same result.
Running the SET_MFS, saving the database, logging off, loggin on - same result, no additional mfs added. Should be adding an mfs named TRANSACTION_TRACKING_MFS.
Any other ideas?
Greg
At 29 NOV 2006 08:44PM dsig@sigafoos.org wrote:
i know this is a pain .. but just as a test. create a new volume, add 1 table (simple table with no big dicts) then put a mfs on it. does that work?
At 30 NOV 2006 09:20AM John Bouley wrote:
If memory serves me…. when you put a mfs onto a table and that mfs's object code is in the application the mfs must also reflect the app in its name. For example if you have a mfs called transaction_tracking_mfs in application sales then the resulting systables should have TRANSACTION_TRACKING_MFS*SALES
At 30 NOV 2006 01:08PM Greg Helland wrote:
Still same result. New file in a new subdirectory. Took all of the previous steps and still nothing. Any ideas?
At 30 NOV 2006 01:45PM dsig@sigafoos.org wrote:
I believe this is only true if the MFS is not from the current environment OR if the file might be accessed during logon.
During logon sysprog app is actually doing stuff .. and if you logon process access a 'mfs' table it won't have access to object to a routine compiled in another app
dsig
At 30 NOV 2006 01:46PM dsig@sigafoos.org wrote:
well .. since i have been working from memroy so far .. guess i will give this a try here and see what happens .. i'll get back this evening
dsig
At 30 NOV 2006 01:50PM John Bouley wrote:
What I found was that if you wanted to put an mfs called TRANSACTION_TRACKING_MFS then that object code must exist in Sysobj table. This would predicate that it be compiled in SysOBJ or have the object code copied.
John
At 30 NOV 2006 06:35PM Greg Helland wrote:
It is compiled and in SYSOBJ. It is from the Sysobj account so no need to fhe account name addition. If I manually add the mfs to the file by editing the REVMEDIA, everything works just fine. Just cannot get SET_MFS to operate
At 30 NOV 2006 07:06PM Greg Helland wrote:
It is compiled and in SYSOBJ. It is from the Sysobj account so no need to fhe account name addition. If I manually add the mfs to the file by editing the REVMEDIA, everything works just fine. Just cannot get SET_MFS to operate
At 30 NOV 2006 08:47PM Warren Auyong wrote:
You can run it interactively from TCL
From the System monitor exec TCL
Type "SET_MFS" as the command and a dialog box/form pops up. Seems to work there.
At 30 NOV 2006 09:06PM Warren Auyong wrote:
Okay, I just ran it from the system Monitor:
run SET_MFS "TEMP2","SI.MFS",1
Did a listvolume on the appropriate volume, SI.MFS was installed
run SET_MFS "TEMP2","SI.MFS",5
Did a listvolume again, and SI.MFS was gone.
Options (guessing from the dialog box):
1=End of the Change
2=Beginning of the Change
3=Just after System MFS
4=Replace existing with these
5=Remove the above MFS
6=Remove all MFSs
So you can probably do a
CALL SET_MFS(filename,mfsname,option)
it may even be a function at returns a operation flag.
At 05 DEC 2006 06:46AM Richard Bright wrote:
Greg,
If you still are having problems you might try the following subroutine -
Compile subroutine MFS_Installer(TargetTable,MFS_Name,Action)
/*
-] RUN MFS_INSTALLER 'MY_TABLE','MY_MFS*ARK',2 ,1) ElseMFS_Name :=*':@AppIDEnd/* first remove MFS (in case it is already in the media map)*/Set_Status(FALSE$)Set_MFS(TargetTable, MFS_NAME, RemoveMFS$)Convert @Lower_Case to @Upper_Case in ActionIf Action=5 or Action=REMOVE' thenReturnEnd
add the MFSSet_Status(FALSE$)Set_MFS(TargetTable, MFS_NAME, AddMFSBegin$)if Get_Status(Code) thenError =An error occurred adding the MFS to the ": TargetTable: " table."Error := "||Error Code: ": Codegosub ErrMsgend/* update database definition*/Set_Status(FALSE$)Define_Database(@dbid, TRUE$, "", "")if Get_Status(Code) thenError =An error occurred saving the ": @dbid: " database definition."Error := "||Error Code: ": Codegosub ErrMsgendReturn
ErrMsg:
Call Msg(@Window,Error)Return
regards
Richard Bright
BrightIdeas New Zealand
r.bright@ark.co.nz