save Method
Class: orderentry
Expand/Collapse source code of procedure save Source Code
*-- (c) Microsoft Corporation 1995

LOCAL llError, ;
      laError[AERRORARRAY]

thisform.MoveOffGrid()
IF thisform.WriteBuffer()
  BEGIN TRANSACTION
  llError = (TXNLEVEL() = 0)
  IF !llError
    SELECT orders
    *-- If no data has changed in the orders table, the table
    *-- rule will not fire unless we force it.
    IF GETFLDSTATE(-1) = REPLICATE("1", FCOUNT() + 1)
      =SETFLDSTATE(2, 2)
    ENDIF
    llError = !TABLEUPDATE()
    IF !llError
      SELECT order_line_items
      llError = !TABLEUPDATE(.T.)
    ENDIF

    IF !llError
      END TRANSACTION
    ELSE
      thisform.LockScreen = .T.
      ROLLBACK
      thisform.grdLineItems.Refresh()
      thisform.LockScreen = .F.
      =AERROR(laError)
      thisform.Error(laError[1], ;
                     laError[2], ;
                     0)
    ENDIF
  ENDIF
ENDIF

*- enable new button
oApp.oToolBar.cmdNew.Enabled = .T.
ACTIVATE MENU _msysmenu NOWAIT

SELECT orders
thisform.RefreshForm()

RETURN !llError