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.