| icDraftReference | input | character | Description for the draft instance. This parameter will have a value when creating a draft instance. |
| icDraftFormName | input | character | This parameter will have a value when creating a draft instance. |
| ilDraftIsShared | input | logical | This parameter will have a value when creating a draft instance. |
| oiReturnStatus | output | integer | Return status of the method. |
if viCurrentDraftInstanceId = 0
then do:
if vlTransactionActive
and icDraftReference = ""
then do:
/* Uncommitted transaction found */
<I-2 {bFcOpenInstance
&CLASS = "Transaction"}>
<M-4 run AbortTransaction
(input {&TARGETPROCEDURE} (ihParentInstance),
output vcDummy (ocInstances),
output viLocalReturn (oiReturnStatus)) in Transaction>
<I-3 {bFcCloseAndStopInstance
&CLASS = "Transaction"}>
assign vlTransactionActive = no.
if viLocalReturn <> 0
then oiReturnStatus = viLocalReturn.
if viLocalReturn < 0
then return.
end.
if viTransactionId <> 0
and vlTransactionOpen = no
then do:
/* Remove this instance from the transaction,
unless the instance is stopped by transaction itself of course. */
<I-6 {bFcOpenInstance
&CLASS = "Transaction"}>
<M-8 run RemoveInstance (input viFcCurrentInstanceId (iiInstanceNr),
output viLocalReturn (oiReturnStatus)) in Transaction>
if viLocalReturn <> 0
then oiReturnStatus = viLocalReturn.
if viLocalReturn >= 0
then do:
<M-9 run StopExternalInstances
(output viLocalReturn (oiReturnStatus)) in database>
if viLocalReturn <> 0
then oiReturnStatus = viLocalReturn.
end.
<I-7 {bFcCloseInstance
&CLASS = "Transaction"}>
if viLocalReturn <> 0
then oiReturnStatus = viLocalReturn.
if viLocalReturn < 0
then return.
end.
end.
<ANCESTOR-CODE>
empty temp-table tFcRowidConvert.