project BLF > include tFcOpenInstance.i
Description
Before running methods in an instance of a business component, communication must be opened.
include parameters
&CLASS | class short name |
&ERROR-STATEMENT | Action to take when an error occurred. |
&SESSIONID | {&SESSIONID} |
&USER-DEFINED-CONTEXT | |
Internal usage
BLF
QadFinancials
include code
&IF "{&CLASS-REF}" = ""
&THEN
if not valid-handle(vh{&CLASS}Inst)
then run GetInstanceInPool (input "{&CLASS}":U,
input vi{&CLASS}Id,
output vh{&CLASS}Inst).
if valid-handle(vh{&CLASS}Inst)
then do:
if vi{&CLASS}OC > 0
then vi{&CLASS}OC = vi{&CLASS}OC + 1.
end.
else 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 no,
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.
vi{&CLASS}OC = 1.
end.
&ELSE
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 valid-handle(vh{&CLASS-REF}Inst)
then do:
if vi{&CLASS-REF}OC > 0
then vi{&CLASS-REF}OC = vi{&CLASS-REF}OC + 1.
end.
else 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 no,
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.
vi{&CLASS-REF}OC = 1.
end.
&ENDIF