Table of contents

Introduction

Development Environment

Web Development and Improvements in user experience

(Productivity and Enterprise-level Application Development Features)

Ajax Overview, [[21759|GeneXus' target='_blank'>Ajax' target='_blank'>Ajax Overview, [[21759|GeneXus and Ajax]]

Business Components

Business Component - Publication as an Enterprise Java Bean

Practical course: Bluesky Charters
 

Application Localization

Application Localization
Demo
Translation Tool
Help "in any language"
Practical course: Bluesky Charters
 

Patterns

About this topic
Patterns based development
Description
Built in Patterns
Work With Pattern
Demo: Work With Pattern
Practical course: Patterns
 

Better data model

Null handling optimizes navigations
Nulls property

 

User experience

New options on rightclick in win
 

Reverse Engineering

Database Reverse Engineering Tool
 

New Platforms

MySQL
.Net Mobile Generator
More J2EE support than ever
 

Data Types and Methods

Message Queue handling data types

DirectoryDataType
LDAP Data Type

URL access Property
New IIF function
New byte count function
New Methods for attributes, variables and enumerated domains!
XSLTApply Method
Procedures can now call web objects
Web Services: Grouping Locations
News about model, object, and control properties


Unofficial Content
  • This documentation is valid for:

GeneXus 9.0 Upgrade Course

Defined By Clause in New Command

Scope

Languages: All
Objects: Procedures
Interfaces: Win, Web, Text

Introduction

The Defined By clause is added to the New command.

Description

In previous GeneXus versions, defining a New command in a procedure sometimes didn't insert the specified records in the desired table. The new Defined By clause enables to define the table explicitly.

Example


TABLE A
CustomerId*
CustomerName

TABLE B
TransactionId* with autonumber property set to Yes
CustomerId

Now consider the following New command:

New

 TransactionId = 2

 CustomerId = 4

EndNew



To insert a record in Table B you cannot specify the New command in this way because the TransactionId attribute is autonumbered and can't be assigned (you will view a message such as spc0030 Line X. Attribute XXX should not be assigned in an insert group. It has the Autonumber property set to No).

On the other hand, you cannot specify the following:

New

 CustomerId = 4

EndNew



In this case, the record would be inserted in Table A.

As from this version, in these ambiguous cases you can explicitly specify the desired table of a New command by using a Defined By clause. For this reason, the last New command from the examples can now be written as shown below. In this way, you can successfully insert data in Table B.

New

Defined By TransactionId

 CustomerId = 4

EndNew




Interesting links


New Command in GeneXus 8.0 Help System
Last update: February 2024 | © GeneXus. All rights reserved. GeneXus Powered by Globant