project BLF > include tFcStopInstance.i
Description
Stop an instance of a business component, from a technical component.
include parameters
&CLASS | class short name |
&ERROR-STATEMENT | Action to take when an error occurred. |
&SESSIONID | |
&USER-DEFINED-CONTEXT | |
Internal usage
BLF
include code
&IF "{&CLASS-REF}" = ""
&THEN
if vi{&CLASS}Id <> 0
then do:
if not valid-handle(vh{&CLASS}Inst)
then run GetInstanceInPool (input "{&CLASS}":U,
input vi{&CLASS}Id,
output vh{&CLASS}Inst).
if not valid-handle(vh{&CLASS}Inst)
then do:
&if defined(INS-PROCEDURE-{&CLASS})
&then
run value(lc({&INS-PROCEDURE-{&CLASS}}))
&else
run value(lc("ins/ins__{&CLASS}.p":U))
&endif
persistent set vh{&CLASS}Inst.
run Mainblock in vh{&CLASS}Inst
(input {&SESSIONID},
input 0,
input 0,
input false,
input "{&USER-DEFINED-CONTEXT}",
input-output vi{&CLASS}Id,
output viFcIncludeReturn).
if viFcIncludeReturn < 0
then do:
assign oiReturnStatus = viFcIncludeReturn.
run StopInstance in vh{&CLASS}Inst
(input "", input "", input "", input no,
output viFcIncludeReturn).
delete procedure vh{&CLASS}Inst.
assign vh{&CLASS}Inst = ?.
&IF "{&ERROR-STATEMENT}" = ""
&THEN
return ?.
&ELSE
{&ERROR-STATEMENT}
&ENDIF
end.
end.
run StopInstance in vh{&CLASS}Inst
(input (if vlFcStateless then "delete":U else ""),
input "",
input "",
input no,
output viFcIncludeReturn).
if viFcIncludeReturn < 0
then do:
assign oiReturnStatus = viFcIncludeReturn.
&IF "{&ERROR-STATEMENT}" = ""
&THEN
return ?.
&ELSE
{&ERROR-STATEMENT}
&ENDIF
end.
delete procedure vh{&CLASS}Inst.
assign vh{&CLASS}Inst = ?
vi{&CLASS}Id = 0.
end.
&ELSE
if vi{&CLASS-REF}Id <> 0
then do:
if not valid-handle(vh{&CLASS-REF}Inst)
then run GetInstanceInPool (input "{&CLASS}":U,
input vi{&CLASS-REF}Id,
output vh{&CLASS-REF}Inst).
if not valid-handle(vh{&CLASS-REF}Inst)
then do:
&if defined(INS-PROCEDURE-{&CLASS})
&then
run value(lc({&INS-PROCEDURE-{&CLASS}}))
&else
run value(lc("ins/ins__{&CLASS}.p":U))
&endif
persistent set vh{&CLASS-REF}Inst.
run Mainblock in vh{&CLASS-REF}Inst
(input {&SESSIONID},
input 0,
input 0,
input false,
input "{&USER-DEFINED-CONTEXT}",
input-output vi{&CLASS-REF}Id,
output viFcIncludeReturn).
if viFcIncludeReturn < 0
then do:
assign oiReturnStatus = viFcIncludeReturn.
run StopInstance in vh{&CLASS-REF}Inst
(input "", input "", input "", input no,
output viFcIncludeReturn).
delete procedure vh{&CLASS-REF}Inst.
assign vh{&CLASS-REF}Inst = ?.
&IF "{&ERROR-STATEMENT}" = ""
&THEN
return ?.
&ELSE
{&ERROR-STATEMENT}
&ENDIF
end.
end.
run StopInstance in vh{&CLASS-REF}Inst
(input (if vlFcStateless then "delete":U else ""),
input "",
input "",
input no,
output viFcIncludeReturn).
if viFcIncludeReturn < 0
then do:
assign oiReturnStatus = viFcIncludeReturn.
&IF "{&ERROR-STATEMENT}" = ""
&THEN
return ?.
&ELSE
{&ERROR-STATEMENT}
&ENDIF
end.
delete procedure vh{&CLASS-REF}Inst.
assign vh{&CLASS-REF}Inst = ?
vi{&CLASS-REF}Id = 0.
end.
&ENDIF