[[https://www.revelation.com/|Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community]] ==== Creating/Install MFS (OpenInsight 16-Bit Specific) ==== === At 01 JUL 2002 04:56:23PM b cameron wrote: === {{tag>"OpenInsight 16-Bit Specific"}} I have read the MFS.PDF, read many posts on implementing an MFS and still am unclear on a couple things. 1) Logged into Sysprog 2) created a new stored procedure MY_MFS which has 1 line call MY_MFS_CODE(args,...), compiled. 3) created new stored procedure MY_MFS_CODE, compiled. 4) EXEC run set_mfs "tablename","myapp",1 Do I have to do this in Sysprog. If so, I am concerned about OI upgrades? Do I need to do a database save (OI v.3.7.5)? Can I just edit the SYSTABLE record for tablename and manually add the MY_MFS to ? On the code end of it. If the code coming in to the mfs is a WRITE what is the most efficient way to get the "before" look of the record? TIA ---- === At 01 JUL 2002 08:15PM [url=http://www.sprezzatura.com" onMouseOver=window.status= Click here to visit our web site?';return(true)]The Sprezzatura Group[/url] wrote: === Hmm why the two stage approach? We'd just write an MFS (say AUDIT.MFS) then from system editor RUN SET_MFS "TABLENAME","AUDIT.MFS",3 If you don't do it from sysprog use RUN SET_MFS "TABLENAME","AUDIT.MFS*APPNAME",3 Then either way save the database definition or it will "disappear" when you next log in. Easiest way is to save off the various values then set the code to 4 and call the chain to do the read, grab the record then restore the values. [url=http://www.sprezzatura.com" onMouseOver=window.status= Click here to visit our web site?';return(true)]The Sprezzatura Group[/url] [i]World Leaders in all things RevSoft[/i] [img]http://www.sprezzatura.com/zz.gif[/img] ---- === At 01 JUL 2002 09:21PM b cameron wrote: === Thanks Sprezz, Does it matter if the name of the MFS is MY_MFS or MY.MFS ? The two stage approach is because Fld 2 of table A (A) is accumulated in Fld 1 of table C (C). Fld 5 or table B (B) is accumulated in Fld 2 of table C (C). Instead of trying to nail down the table name by the handle I created a procedure A_MFS and B_MFS for the respective tables. They call ABC_MFS with 1 extra arguement TABLEID. Seemed to me that having the MFS call another routine would give me a little flexability but more so right now to clear my brain as I need to get this in place and came up with this for now. Figured I would go back and change later. As for responding to the question of the recordbefore and recordafter say the write code I don't think I quite follow. Thanks again. ---- === At 01 JUL 2002 10:16PM dsig@teleport.com wrote: === pmfji bc] Does it matter if the name of the MFS is MY_MFS or MY.MFS ? A rose by any other name .. the . will work but _ is preferred bc] The two stage approach is because Fld 2 of table A (A) is accumulated in Fld 1 of table C (C). Fld 5 or table B (B) is accumulated in Fld 2 of table C (C). If it is working for you now .. cool BUT i would suggest in the future to simply use the single routine approach it is, to my way of thinking, simpler/cleaner .. but your mileage may very By the way I would use expendable so the compiling then running will make sure you have the 'newest' obj. Then when you are really happy remove it to speed it back up. dsig@teleport.com onmouseover=window.status=the new revelation technology .. a refreshing change;return(true)" David Tod Sigafoos ~ SigSolutions Phone: 503-639-4240 ---- === At 01 JUL 2002 10:29PM [url=http://www.sprezzatura.com" onMouseOver=window.status= Click here to visit our web site?';return(true)]The Sprezzatura Group[/url] wrote: === SaveCode=Code SaveHandle=Handle SaveName=Name SaveRecord=Record Code=1 Call @NextFs(Code, BFS, Handle, Name, FMC, Record, Status) OldRecord=Record Code=SaveCode Handle=SaveHandle Name=SaveName Record=SaveRecord [url=http://www.sprezzatura.com" onMouseOver=window.status= Click here to visit our web site?';return(true)]The Sprezzatura Group[/url] [i]World Leaders in all things RevSoft[/i] [img]http://www.sprezzatura.com/zz.gif[/img] ---- === At 01 JUL 2002 11:05PM b cameron wrote: === Dave, Thanks, I have been using the expendable. That was part of the mfs.pdf. Still haven't changed the 2 proc. version. Haven't figured out in the code how to tell which file is being processed. Will keep pluggin away though. BC ---- === At 01 JUL 2002 11:08PM b cameron wrote: === Hmmm, So your saying do a recursive call depending on the 'Code' arg. value? So assuming I have 1 Mfs (which I really do anyway right now) if I only wanted to process logic if a write happened your saying check code for 'write' save the values; call @my_mfs('read'...) then do the compare? ---- === At 02 JUL 2002 11:13AM b cameron wrote: === Ok, I made 1 routine. I run from EXEC: in system editor RUN SET_MFS "RECEIPTS","CB_MFS*CREDMAST",3 I get a 'red' results msg, just FS. If I go to SYSPROG and do RUN SET_MFS "RECEIPTS","CB_MFS",3 I get FS401 ' MFSLOG table has not been created or attached.' MFSLOG is a table I created in MYAPP. It is a table I created to log issues, errors that the cb_mfs might have during processing. What gives here? ---- === At 09 JUL 2002 04:46PM b cameron wrote: === Thanks for the responses/replies; esp. DSig for the time on the emails. My struggle was due to not having the shells. I was close, I needed to have code for the INSTALL (22) and the correct STATUS (1). I was using case statements (which would seem to me quicker than on gosubs (any benchmarks anyone?) and just plain struggling without the shell. It would seem to me that some new MFS documentation for OI would be good, as well as a separate 'Online discussion'. MFS coding is trickey, sensitive and powerful but could also be de-constructive. Thanks. [[https://www.revelation.com/revweb/oecgi4p.php/O4W_HANDOFF?DESTN=O4W_RUN_FORM&INQID=NONWORKS_READ&SUMMARY=1&KEY=10A9937DE76299BF85256BE9007306DC|View this thread on the forum...]]