Kbase P64638: How to quickly report the absolute path, object type, mod date and time of all running persistent pr
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/27/2011 |
|
Status: Verified
GOAL:
How to quickly report the absolute path of all running persistent procedures?
GOAL:
How to quickly report the modification date and time of all running persistent procedures?
GOAL:
How to quickly report the object type of all running persistent procedures
GOAL:
How to have a snapshot of all running persistent procedures
GOAL:
How to detect an ADE strong override in a development environment? (such as in adm2 or Dynamics)
FIX:
As writing, an enhanced version of the Protools/ProcedureObjectViewer is on the way to be implemented in the Product.
Now, the following code generates a quick report about all running persistent procedures. It will be useful to investigate Tech Support issues
DEFINE VARIABLE hProc AS HANDLE NO-UNDO.
DEFINE VARIABLE cObjType AS CHARACTER NO-UNDO.
DEFINE VARIABLE c AS CHARACTER NO-UNDO.
DEF TEMP-TABLE tppp NO-UNDO
FIELD cFullPathName AS CHAR
FIELD cObjType AS CHAR FORMAT "X(18)"
FIELD dModDate AS DATE
FIELD iModTime AS INT
INDEX cFullPathName cFullPathName
INDEX cObjTypecFullPathName cObjType cFullPathName.
hProc = SESSION:FIRST-PROCEDURE.
DO WHILE VALID-HANDLE(hProc):
CREATE tppp.
c = SEARCH(hProc:FILE-NAME).
IF c = ? THEN tppp.cFullPathName = "*** weird *** " + hProc:FILE-NAME + " is running, but I cannot find it in the PROPATH!!!".
ELSE DO:
FILE-INFO:FILE-NAME = c.
ASSIGN
tppp.cFullPathName = FILE-INFO:FULL-PATHNAME
tppp.dModDate = FILE-INFO:FILE-MOD-DATE
tppp.iModTime = FILE-INFO:FILE-MOD-TIME.
END.
cObjType = DYNAMIC-FUNCTION('getObjectType':U IN hProc) NO-ERROR.
tppp.cObjType = IF cObjType = ? THEN "" ELSE cObjType.
hProc = hProc:NEXT-SIBLING.
END.
OUTPUT TO PathOfPersistProc.txt.
FOR EACH tppp BY cFullPathName:
PUT tppp.cObjType
" " tppp.dModDate " "
" " STRING(tppp.iModTime,"hh:mm:ss") /* default "X(8)" id fine for that */.
PUT UNFORM " " tppp.cFullPathName SKIP.
END.
OUTPUT CLOSE.