lib
{===============================
Form_Start =============================}
proc Form_Start()
f = TopForm
()
call SetClass
("grid"
,"TStringGrid1"
)
call SetCaption
("Process History"
)
end
{===============================
Panels_Start =============================}
proc Panels_Start()
f = TopForm
()
t = TCreateClientStart
(f
)
call TAddFld
(t;"COL0"
,1
,200
)
call TAddFld
(t;"DATE_FINISHED"
,9
)
call TAddFld
(t;"COL2"
,1
,30
)
call TAddFld
(t;"COL3"
,1
,100
)
call TAddFld
(t;"COL4"
,1
,100
)
call TAddFld
(t;"COL5"
,1
,100
)
call TAddFld
(t;"COL6"
,1
,100
)
call TAddFld
(t;"FINISHED"
,1
,1
)
call TAddFld
(t;"AU_STEP"
,6
)
call TAddFld
(t;"STEP_ID"
,6
)
call TAddFld
(t;"UNAME"
,1
,50
)
call TAddFld
(t;"RNAME"
,1
,50
)
call TAddFld
(t;"AGENT_NAME"
,1
,100
)
call TAddFld
(t;"AGENT_ID"
,1
,50
)
call TAddFld
(t;"IS_PROCESS"
,1
,1
)
call TAddFld
(t;"CANCELED"
,1
,1
)
call TAddFld
(t;"TIME_ASSIGNED"
,1
,100
)
call TAddFld
(t;"TIME_FINISHED"
,1
,100
)
call TAddFld
(t;"DATE_ASSIGNED"
,9
)
call TCreateClientEnd
(t
)
if
(__params[4] <> ""
) then
code = LookUpId
("AU_PROCESS"
,__params[4]
,"PCODE"
)
else
param4 = getfprevfield
("AU_PROCESS"
)
code = LookUpId
("AU_PROCESS"
,param4
,"PCODE"
)
endif
start_sql "*" "KOSMOS"
SELECT COMM
, PCODE
, PLEVEL
, CHILD_COUNT
, AU_PROCESS
,
FINISHED
, FINISHED_AT_DATE
, AGENT_NAME
, AGENT_ID
FROM AU_PROCESS
WHERE (PCODE LIKE LEFT
(:PC
,10
) & "%"
)
ORDER BY PCODE
, PLEVEL
end_sql
q = QueryByName
()
call TSetParam
(q
,"PC"
,code
)
call TExecute
(q
)
rcount = TRecordCount
(q
)
dat0 = ""
call TFirst
(q
)
for i = 1
to rcount
process_id = TGetFld
(q
,"AU_PROCESS"
)
AGENT_NAME = TGetFld
(q
,"AGENT_NAME"
)
AGENT_ID = TGetFld
(q
,"AGENT_ID"
)
fin = TGetFld
(q
,"FINISHED"
)
comm = TGetFld
(q
,"COMM"
)
comm = strcat
(AGENT_NAME
,"
("
,comm
,"
)"
)
plevel = TGetFld
(q
,"PLEVEL"
)
call TApp
end(t
)
comm = LeftChars
(comm
," "
,plevel*5
)
call TSetFld
(t
,"COL0"
,comm
)
call TSetFld
(t
,"FINISHED"
,fin
)
call TSetFld
(t
,"IS_PROCESS"
,1
)
call TPost
(t
)
start_sql "*" "KOSMOS"
SELECT STEP_DESCR
, FINISHED
, FINISHED_AT_DATE
, FINISHED_AT_TIME
, COMM
, UNAME
, RNAME
, AU_STEP
, STEP_ID
, ACTIVITY
, ASSIGNED_AT_DATE
,
ASSIGNED_AT_TIME
, CANCELED
FROM AU_STEP
WHERE (AU_PROCESS = :PR
) AND (ISTEP = 0
)
ORDER BY ASSIGNED_AT_DATE
, CONVERT
(TIME
, REPLACE
(REPLACE
(ASSIGNED_AT_TIME
, 'ðì'
, 'am'
), 'ìì'
, 'pm'
))
end_sql
q1 = QueryByName
()
call TSetParam
(q1
,"PR"
,process_id
)
call TExecute
(q1
)
scount = TRecordCount
(q1
)
plevel = plevel + 1
call TFirst
(q1
)
for j = 1
to scount
FINISHED_AT_DATE = TGetFld
(q1
,"FINISHED_AT_DATE"
)
dnum = DateToNum
(FINISHED_AT_DATE
)
if (dnum = 0
) or
(FINISHED_AT_DATE = "01/01/1900"
) then
FINISHED_AT_DATE = ""
endif
FINISHED_AT_TIME = TGetFld
(q1
,"FINISHED_AT_TIME"
)
ASSIGNED_AT_DATE = TGetFld
(q1
,"ASSIGNED_AT_DATE"
)
dnuma = DateToNum
(ASSIGNED_AT_DATE
)
if (dnum = 0
) or
(ASSIGNED_AT_DATE = "01/01/1900"
) then
ASSIGNED_AT_DATE = ""
endif
ACTIVITY = TGetFld
(q1
,"ACTIVITY"
)
COMM = TGetFld
(q1
,"COMM"
)
UNAME = TGetFld
(q1
,"UNAME"
)
RNAME = TGetFld
(q1
,"RNAME"
)
FINISHED = TGetFld
(q1
,"FINISHED"
)
AU_STEP = TGetFld
(q1
,"AU_STEP"
)
STEP_ID = TGetFld
(q1
,"STEP_ID"
)
CANCELED = TGetFld
(q1
,"CANCELED"
)
ASSIGNED_AT_TIME = TGetFld
(q1
,"ASSIGNED_AT_TIME"
)
tim = Copy
(FINISHED_AT_TIME
,1
,1000
)
call TApp
end(t
)
ACTIVITY = LeftChars
(ACTIVITY
," "
,plevel*5
)
call TSetFld
(t
,"COL0"
,ACTIVITY
)
call TSetFld
(t;"DATE_FINISHED";FINISHED_AT_DATE
)
call TSetFld
(t;"DATE_ASSIGNED";ASSIGNED_AT_DATE
)
call TSetFld
(t;"COL2";tim
)
call TSetFld
(t;"COL4";COMM
)
call TSetFld
(t;"COL5";UNAME
)
call TSetFld
(t;"COL6";RNAME
)
call TSetFld
(t;"FINISHED";FINISHED
)
call TSetFld
(t;"AU_STEP";AU_STEP
)
call TSetFld
(t;"STEP_ID";STEP_ID
)
call TSetFld
(t;"UNAME";UNAME
)
call TSetFld
(t;"RNAME";RNAME
)
call TSetFld
(t;"CANCELED";RNAME
)
call TSetFld
(t;"TIME_ASSIGNED";ASSIGNED_AT_TIME
)
call TSetFld
(t;"TIME_FINISHED";FINISHED_AT_TIME
)
call TPost
(t
)
call TNext
(q1
)
next
call FreeEmbSQL
(q1
)
call TNext
(q
)
next
call FreeEmbSQL
(q
)
call TSetName
(t;"DATA"
)
end
{======================== Form_DrawCell =====================================}
proc Form_DrawCell
( grid
, fname
, fval
, q
)
is_process = TGetFld
(t
,"IS_PROCESS"
)
if (is_process = 1
) then
grid.Canvas.Font.Style = "[fsBold]"
endif
end
{====================================
Lst_DblClick ================================}
proc Lst_DblClick()
au_step = TGetFld
(t
,"AU_STEP"
)
call OpenBPMStep
("history"
,au_step
)
end
proc edit
()
if
(__params[4] <> ""
) then
proc_id = __params[4]
else
proc_id = param4
endif
expr = strcat
(proc_id
,"=AU_PROCESS"
)
call OpenFormTop
("ptEdit";"
AU_PROCESS_E.FM";"WORK.AU_PROCESS"
,1
,expr
)
end