Usina BRAdvPL Guide
Sign in
← All topics
FUNCTIONUnder review

DbAppend

DBAppend( [lUnlock] ) --> Nil

Appends an empty record to the current table.

DbAppendAdvPL
01 · OVERVIEW

Overview

DBAppend adds an empty record and returns Nil. True lUnlock, the default, releases previous locks; false retains them. This does not replace process lock and transaction management. The fragment explicitly uses false and assigns no fields: a complete routine must handle insertion failure and validate the record before proceeding. EDTRB identifies only an owned test table already open with the required schema and permissions; examples are not intended for standard tables. (TOTVS, n.d., ref. 1)

02 · SYNTAX

Syntax

DBAppend( [lUnlock] ) --> Nil

Parameters

lUnlock
LogicalOptional

Releases previous locks when true; default .T.

Return value

Nil; not a logical success indicator.

03 · PRACTICAL EXAMPLE

Commented example

#Include "Protheus.ch"

User Function Ed323()
    // EDTRB must be owned, disposable and writable in testing.
    If Select("EDTRB") > 0
        EDTRB->(DBAppend(.F.))
    EndIf
Return Nil
Expected result

Requests empty insertion if EDTRB is open; not a complete persistence test. Under review: editorial example neither compiled nor run in Protheus. Check includes, release, RDD and context before testing.

BEST PRACTICES
  • Check RDD, alias and pending operations. Navigation can flush updates; preserve context under the caller contract and handle errors in the complete routine.
  • Under review: editorial example neither compiled nor run in Protheus. Check includes, release, RDD and context before testing.

Related content

REFERENCES
  1. TOTVS. DbAppend. TDN. Accessed on 2026-10-26.
Status
Under review
Page created on
Last reviewed on
Original language
Portuguese
Reviewed by
Usina.BR
0 approved comment(s)

Comments

There are no approved comments yet.

Sign in with Google or Microsoft to comment.

Powered by Usina Docs · Alpha