Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Community-Interessensgruppen sind jetzt von Yammer zu Microsoft Viva Engage gewechselt. Um an einer Viva Engage-Community teilzunehmen und an den neuesten Diskussionen teilzunehmen, füllen Sie das Formular "Anfordern des Zugriffs auf Finance and Operations Viva Engage Community" aus , und wählen Sie die Community aus, der Sie beitreten möchten.
In diesem Artikel werden die Laufzeitfunktionen der Spiegelung beschrieben.
classIdGet
Ruft den numerischen Bezeichner (die Klassen-ID) der Klasse ab, zu der das initialisierte Objekt gehört.
int classIdGet(class object)
Die Parameter
| Parameter | Description |
|---|---|
| Objekt | Das Objekt, für das die Klassen-ID abgerufen werden soll. |
Rückgabewert
Die Klassen-ID des angegebenen Objekts.
Example
static void classIdGetExample(Args _args)
{
int i;
WorkTimeCheck w;
i = classIdGet(w);
print "Class ID for object is " + int2Str(i);
}
dimOf
Ruft die Anzahl der Indexelemente ab, für die Platz in einem X++-Array zugewiesen wurde.
int dimOf(anytype object)
Die Parameter
| Parameter | Description |
|---|---|
| Objekt | Das Array, das die Bemaßungsgröße bestimmt. |
Rückgabewert
Wenn der Wert des Objektparameters ein Array ist, ist die Anzahl der Elemente im Array; andernfalls 0 (null).
Bemerkungen
Die dimOf-Funktion ist für X++-Arrays vorgesehen, die als die folgenden X++-Grundtypen deklariert werden:
- boolean
- date
- INT
- int64
- real
- utcDateTime
Ein Beispiel ist int iAmounts[6];. Arrays von Enumerationswerten und erweiterten Datentypen werden ebenfalls unterstützt, wenn sie letztendlich auf einem der vorherigen primitiven Datentypen (z. B. int) basieren. Die dimOf-Funktion akzeptiert keine Arrays aller X++-Grundtypen. Nachfolgend sind die Arraytypen aufgeführt, die von der DimOf-Funktion nicht akzeptiert werden:
- str
- Container
- anytype
- Arrays von Klassenobjekten
- Instanzen der Array-Klasse
Example
static void JobDimOfArrays(Args _args)
{
int iAmounts[20], iCounts[];
ABCModel enumAbcModel[22]; // Enum
ABCModelType exdtAbcModelType[24]; // Extended data type
anytype anyThings[26];
str sNames[28];
Array myArrayObj; // Class
info("Start of job.");
info("--(Next, normal int array, dimOf() accepts it.)");
info(int2Str(dimOf(iAmounts)));
info("--(Next, normal enum array, dimOf() accepts it.)");
info(int2Str(dimOf(enumAbcModel)));
info("--(Next, normal extended data type array (based on enum), dimOf() accepts it.)");
info(int2Str(dimOf(exdtAbcModelType)));
info("--(Next, dynamic int array, dimension not yet set.)");
info(int2Str(dimOf(iCounts)));
info("--(Next, dynamic int array, after dimension established.)");
iCounts[13] = 13;
info(int2Str(dimOf(iCounts)));
info(" == == == == == (Next, array types that dimOf() does not support.)");
info("--(Next, normal anytype array, dimOf() always returns 0.)");
info(int2Str(dimOf(anyThings)));
info("--(Next, an instance of class X++ Array, dimOf() always returns 0.)");
myArrayObj = new Array(Types::Integer);
myArrayObj.value(1,501);
info(int2Str(dimOf(myArrayObj)));
info("--(Next, the lastIndex method provides size information about Array instances.)");
info(int2Str(myArrayObj.lastIndex()));
info("--(Next, normal str array, dimOf() does not accept it, job is halted.)");
info(int2Str(dimOf(sNames)));
info("End of job.");
}
/************ Actual Infolog output
Message (11:10:06 am)
Start of job.
--(Next, normal int array, dimOf() accepts it.)
20
--(Next, normal enum array, dimOf() accepts it.)
22
--(Next, normal extended data type array (based on enum), dimOf() accepts it.)
24
--(Next, dynamic int array, dimension not yet set.)
0
--(Next, dynamic int array, after dimension established.)
16
== == == == == (Next, array types that dimOf() does not support.)
--(Next, normal anytype array, dimOf() always returns 0.)
0
--(Next, an instance of class X++ Array, dimOf() always returns 0.)
0
--(Next, the lastIndex method provides size information about Array instances.)
1
--(Next, normal str array, dimOf() does not accept it, job is halted.)
Error executing code: Illegal operation on this type of array. (C)JobsJobDimOfArrays - line 41
************/
/*********** Pop-up error dialog box
"Internal error number 25 in script."
This error is caused by the code line...
info(int2Str(dimOf(iCounts)));
...before iCounts was assigned at any index.
***********/
fieldId2Name
Ruft eine Zeichenfolge ab, die den Namen des Felds darstellt, das durch eine Tabellen-ID-Nummer und eine Feld-ID-Nummer angegeben wird.
str fieldId2Name(int tableid, int fieldid)
Die Parameter
| Parameter | Description |
|---|---|
| tableid | Die ID-Nummer der Tabelle. Anmerkung: Verwenden Sie die TableName2Id-Funktion , um die ID einer Tabelle anzugeben. |
| fieldid | Die ID-Nummer des Felds. |
Rückgabewert
Der Name des Felds.
Bemerkungen
Verwenden Sie die FieldId2PName-Funktion , um eine druckbare Version des Feldnamens zurückzugeben.
Example
Im folgenden Beispiel wird fn auf den Namen des Felds in der Tabelle "Customer " (CustGroup) festgelegt, die eine Feld-ID von 7 aufweist.
static void fieldId2NameExample(Args _arg)
{
str fn;
fn = fieldId2Name(tableName2Id("Customer"),7);
}
fieldId2PName
Ruft den druckbaren Namen des Felds ab, das durch eine Tabellen-ID-Nummer und eine Feld-ID-Nummer angegeben wird.
str fieldId2PName(int tableid, int fieldid)
Die Parameter
| Parameter | Description |
|---|---|
| tableid | Die ID-Nummer der Tabelle. Anmerkung: Verwenden Sie die TableName2Id-Funktion , um die ID einer Tabelle anzugeben. |
| fieldid | Die ID-Nummer des Felds. Anmerkung: Verwenden Sie die FieldName2Id-Funktion , um die ID eines Felds anzugeben. |
Rückgabewert
Der Name des Felds.
Example
static void fieldId2PNameExample(Args _arg)
{
str name;
tableid _tableId;
fieldid _fieldid;
_tableId = tableName2Id("Address");
_fieldId = fieldName2Id(_tableId, "Name");
name = fieldId2PName(_tableId, _fieldid);
print name;
}
fieldName2Id
Ruft die Feld-ID des Tabellenfelds ab, das durch eine Tabellen-ID-Nummer und eine Feld-ID-Nummer angegeben wird.
int fieldName2Id(int tableid, str fieldname)
Die Parameter
| Parameter | Description |
|---|---|
| tableid | Die ID-Nummer der Tabelle. Anmerkung: Verwenden Sie die TableName2Id-Funktion , um die ID einer Tabelle anzugeben. |
| Feldname | Der Name des Felds. |
Rückgabewert
Die ID des Felds, das durch die Parameter "tableid " und "fieldname " angegeben wird.
Example
static void fieldName2IdExample(Args _arg)
{
int id;
id = fieldName2Id(tableName2Id("Address"), "Name");
// Returns 6. Name is the 6th field in the Address table.
print id;
}
indexId2Name
Ruft den Namen eines Indexes ab.
str indexId2Name(int tableid, int indexid)
Die Parameter
| Parameter | Description |
|---|---|
| tableid | Die ID der Tabelle, zu der der Index gehört. |
| indexid | Die ID des Indexes. |
Rückgabewert
Der Name des Index.
Example
static void indexId2NameExample(Args _arg)
{
str s;
tableid id;
indexid idx;
id = tableName2Id("Address");
idx = indexName2Id(id, "AddrIdx");
s = indexId2Name(id, idx);
print "The result of calling indexId2Name is " + s;
}
indexName2Id
Ruft die ID eines Indexes ab.
int indexName2Id(int tableid, str indexname)
Die Parameter
| Parameter | Description |
|---|---|
| tableid | Die ID der Tabelle, zu der der Index gehört. |
| Indexname | Der Name des Index. |
Rückgabewert
Die ID des Indexes.
Example
static void indexName2IdExample(Args _arg)
{
indexid idx;
tableid id;
id = tableName2Id("Address");
idx = indexName2Id(id, "AddrIdx");
print "Index ID for index name AddrIdx of table Address is " + int2Str(idx);
}
tableId2Name
Ruft eine Zeichenfolge ab, die den Namen einer Tabelle enthält.
str tableId2Name(int _tableid)
Die Parameter
| Parameter | Description |
|---|---|
| _tableid | Die ID der Tabelle. |
Rückgabewert
Der Name der Tabelle.
Example
static void tableId2NameExample(Args _arg)
{
str s;
tableid id;
// Get the ID for table name Address.
id = tableName2Id("Address");
print "ID for table name Address is " + int2Str(id);
// Get the name from the table ID.
s = tableId2Name(id);
print "Name for table ID " + int2Str(id) + " is " + s;
// Get the printable name from the table ID.
s = tableId2PName(id);
print "Printable name for table ID " + int2Str(id) + " is " + s;
}
tableId2PName
Ruft eine Zeichenfolge ab, die den druckbaren Namen (die Beschriftung) einer Tabelle enthält.
str tableId2PName(int _fieldid)
Die Parameter
| Parameter | Description |
|---|---|
| _fieldid | Die ID der Tabelle. |
Rückgabewert
Die Beschriftung der Tabelle.
Example
static void tableId2NameExample(Args _arg)
{
str s;
tableid id;
// Get the ID for table name Address.
id = tableName2Id("Address");
print "ID for table name Address is " + int2Str(id);
// Get the name from the table ID.
s = tableId2Name(id);
print "Name for table ID " + int2Str(id) + " is " + s;
// Get the printable name from the table ID.
s = tableId2PName(id);
print "Printable name for table ID " + int2Str(id) + " is " + s;
}
tableName2Id
Ruft die ID einer Tabelle ab.
int tableName2Id(str _name)
Die Parameter
| Parameter | Description |
|---|---|
| _Name | Der Name der Tabelle. |
Rückgabewert
Die ID der Tabelle.
Example
static void tableName2IdExample(Args _arg)
{
str s;
tableid id;
// Get the ID for the Address table name.
id = tableName2Id("Address");
print "ID for the Address table name is " + int2Str(id);
// Get the name from the table ID.
s = tableId2Name(id);
print "Name for table ID " + int2Str(id) + " is " + s;
// Get the printable name from the table ID.
s = tableId2PName(id);
print "Printable name for table ID " + int2Str(id) + " is " + s;
}
typeOf
Ruft den Typ eines Elements ab.
enum typeOf(anytype _object)
Die Parameter
| Parameter | Description |
|---|---|
| _Objekt | Das Element, für das der Typ zurückgegeben werden soll. |
Rückgabewert
Ein Types-Systemenumerationswert.
Example
Im folgenden Beispiel wird getestet, ob das erste Element in einem Container c ein anderer Container ist, der eine einzelne ganze Zahl enthält.
if(typeof(conpeek(c, 1)) != Types::Container ||
conlen(conpeek(c, 1)) != 1 ||
typeof(conpeek(conpeek(c, 1), 1)) != Types::Integer)
{
// More code.
}