Is there a way to know wich table is open in the memory ? - Forum - OpenEdge General - Progress Community

Is there a way to know wich table is open in the memory ?

 Forum

Is there a way to know wich table is open in the memory ?

  • Is there a way to know wich table is open in the memory ?

  • all tables in a db are available when the database is connected.

    Or when you said "table" did you mean something other than a db table?

  • Yes, I think we need some clarification here.

    "Table" = Database table or maybe something else like a program?

    "In memory" for a user, in the database buffer?

    Do you mean entirely in memory or just what is active?

    Perhaps a short statement about why you want to know would help clarify what you are trying to get.

    Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice  http://www.cintegrity.com

  • Good night people,

    The ideia is this, I'm running a program and i dont have the .p program then I need know which table is open to do custom program (like custom table, product table, etc..). The database name I have.

    Sidival

  • Meaning that you want to know what tables a .r is accessing when you don't have the .p?

    Does this mean you don't have source?

    Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice  http://www.cintegrity.com

  • Yes Mr. Thomas, The Client have a program the was did by a company and now they want to put a information in the screen, but they don't have source. The company did this ERP and then they dont give the source to do this change.

  • Well, with strings on *nix platform or a Windows clone of same, you can see a lot of the strings in a .r .... but none of it is going to leap out and say file name at you and it sure isn't going to tell you how it is used. I.e., you are going to be pretty well poking around in the dark and might get just as far merely studying the schema and the values in the fields you find there.

    Are you trying to incorporate some new logic in an existing function? That is going to be well-nigh impossible without source. The usual thing in cases like this is either to work a deal with the vendor where they:

    1) Sell you source for the individual module;

    2) Make the modification for you; or

    3) Provide you with a version of the program that has a "hook" which will run code you supply.

    If you have a friendly and cooperative relationship with the author, I would highly recommend one of the three since the only real alternatives are:

    1) Somehow hook the logic onto a trigger which is instantiated external to the program; or

    2) Reverse engineer the program.

    The former is only applicable to certain kinds of override and can be tricky. The latter is something I've done when I needed to, but tends to imply a pretty good understanding of the system. Yes, there is a function which will decompile a .r, sort of, into a .p which you can then edit, but it is provided as a service and you wouldn't qualify since you can't prove that you own the source.

    If what you are trying to do is external to any existing program, i.e., something like going though and increasing the price of all products in a certain range by a certain amount, then you have a much better chance of succeeding, but what you really need there is a solid understanding of the system, i.e., what data is stored in what places and how it all interacts ... knowledge one often acquires by studying the source.

    Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice  http://www.cintegrity.com

  • Well, with strings on *nix platform or a Windows clone of same, you can see a lot of the strings in a .r .... but none of it is going to leap out and say file name at you and it sure isn't going to tell you how it is used. I.e., you are going to be pretty well poking around in the dark and might get just as far merely studying the schema and the values in the fields you find there.

    Are you trying to incorporate some new logic in an existing function? That is going to be well-nigh impossible without source. The usual thing in cases like this is either to work a deal with the vendor where they:

    1) Sell you source for the individual module;

    2) Make the modification for you; or

    3) Provide you with a version of the program that has a "hook" which will run code you supply.

    If you have a friendly and cooperative relationship with the author, I would highly recommend one of the three since the only real alternatives are:

    1) Somehow hook the logic onto a trigger which is instantiated external to the program; or

    2) Reverse engineer the program.

    The former is only applicable to certain kinds of override and can be tricky. The latter is something I've done when I needed to, but tends to imply a pretty good understanding of the system. Yes, there is a function which will decompile a .r, sort of, into a .p which you can then edit, but it is provided as a service and you wouldn't qualify since you can't prove that you own the source.

    If what you are trying to do is external to any existing program, i.e., something like going though and increasing the price of all products in a certain range by a certain amount, then you have a much better chance of succeeding, but what you really need there is a solid understanding of the system, i.e., what data is stored in what places and how it all interacts ... knowledge one often acquires by studying the source.

    Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice  http://www.cintegrity.com

  • Well, with strings on a *nix platform or a Windows clone of same, you can see a lot of the strings in a .r .... but none of it is going to leap out and say file name at you and it sure isn't going to tell you how it is used. I.e., you are going to be pretty well poking around in the dark and might get just as far merely studying the schema and the values in the fields you find there.

    Are you trying to incorporate some new logic in an existing function? That is going to be well-nigh impossible without source. The usual thing in cases like this is either to work a deal with the vendor where they:

    1) Sell you source for the individual module;

    2) Make the modification for you; or

    3) Provide you with a version of the program that has a "hook" which will run code you supply.

    If you have a friendly and cooperative relationship with the author, I would highly recommend one of the three since the only real alternatives are:

    1) Somehow hook the logic onto a trigger which is instantiated external to the program; or

    2) Reverse engineer the program.

    The former is only applicable to certain kinds of override and can be tricky. The latter is something I've done when I needed to, but tends to imply a pretty good understanding of the system. Yes, there is a function which will decompile a .r, sort of, into a .p which you can then edit, but it is provided as a service and you wouldn't qualify since you can't prove that you own the source.

    If what you are trying to do is external to any existing program, i.e., something like going though and increasing the price of all products in a certain range by a certain amount, then you have a much better chance of succeeding, but what you really need there is a solid understanding of the system, i.e., what data is stored in what places and how it all interacts ... knowledge one often acquires by studying the source.

    Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice  http://www.cintegrity.com

  • Thomas is right - in most cases doing such things on a complex ERP system offers a high risk of ruining your data. Working together with the vendor or an experienced consultant may help.

    To just get information about the tables used by a program, you can query the R-Code of that program using the RCODE-INFO handle.

    This will work:

  • I think the OP is looking for something that does what ProTaylor does.

  • Do you have a link to information about ProTaylor? Google and OEHive were no big help.

  • I believe the actual product name is TailorPro. As I recall it is a product for doing customization of Mfg/Pro without changing the original source code.

    http://prostar-software.com/tailorpro

    btw, I had trouble finding it too, but I happened to know of John Campbell's connection with it and found it that way.

    Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice  http://www.cintegrity.com

  • Ok. With i instead of y you get a hit at google. Thank you Thomas.

  • Even then it is hard to get really good information unless one discovers Prostar or the connection with John.

    Someplace in here it would be handy if our OP would return and let us know whether any of our guesses were in the right direction.

    Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice  http://www.cintegrity.com