Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Tässä artikkelissa kuvataan suorituksenaikaiset heijastusfunktiot.
classIdGet
Hakee sen luokan numeerisen tunnuksen (luokkatunnuksen), johon alustettu objekti kuuluu.
int classIdGet(class object)
Parameters
| Parameter | Description |
|---|---|
| objekti | Objekti, jota varten luokan tunnus hankitaan. |
Return value
Määritetyn objektin luokkatunnus.
Example
static void classIdGetExample(Args _args)
{
int i;
WorkTimeCheck w;
i = classIdGet(w);
print "Class ID for object is " + int2Str(i);
}
dimOf
Hakee niiden indeksielementtien määrän, joihin tila varataan X++-matriisissa.
int dimOf(anytype object)
Parameters
| Parameter | Description |
|---|---|
| objekti | Matriisi, jonka dimension koko määritetään. |
Return value
Jos objektiparametrin arvo on matriisi, matriisin elementtien määrä; muussa tapauksessa 0 (nolla).
Remarks
dimOf-funktio on tarkoitettu X++-matriiseille, jotka on määritetty seuraaviksi X++ primitiivityypeiksi:
- boolean
- date
- int
- int64
- real
- utcDateTime
Esimerkki on int iAmounts[6];. Luettelointiarvojen ja laajennettujen tietotyyppien matriiseja tuetaan myös, jos ne perustuvat lopulta johonkin edellä olevista primitiivisistä tietotyypeistä (kuten int). DimOf-funktio ei hyväksy kaikkien X++primitiivityyppien matriiseja. Seuraavassa on matriisityyppejä, joita dimOf-funktio ei hyväksy:
- str
- container
- anytype
- Luokkaobjektien matriisit
- Matriisiluokan esiintymät
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
Hakee merkkijonon, joka edustaa määrittämäsi kentän nimeä käyttämällä taulukon tunnuksen numeroa ja kentän tunnuksen numeroa.
str fieldId2Name(int tableid, int fieldid)
Parameters
| Parameter | Description |
|---|---|
| tableid | Taulukon tunnusnumero. Muistiinpano: Määritä taulukon tunnus tableName2Id-funktiolla . |
| fieldid | Kentän tunnusnumero. |
Return value
Kentän nimi.
Remarks
Jos haluat palauttaa kentän nimestä tulostettavan version, käytä fieldId2PName-funktiota .
Example
Seuraavassa esimerkissä määritetään fn kentän nimelle Asiakas (CustGroup) -taulukossa, jonka kentän tunnus on 7.
static void fieldId2NameExample(Args _arg)
{
str fn;
fn = fieldId2Name(tableName2Id("Customer"),7);
}
fieldId2PName
Noutaa määrittämäsi kentän tulostettavan nimen käyttämällä taulukon tunnusnumeroa ja kentän tunnusnumeroa.
str fieldId2PName(int tableid, int fieldid)
Parameters
| Parameter | Description |
|---|---|
| tableid | Taulukon tunnusnumero. Muistiinpano: Määritä taulukon tunnus tableName2Id-funktiolla . |
| fieldid | Kentän tunnusnumero. Muistiinpano: Määritä kentän tunnus fieldName2Id-funktiolla . |
Return value
Kentän nimi.
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
Hakee määrittämäsi taulukkokentän kentän tunnuksen käyttämällä taulukon tunnuksen ja kentän tunnusnumeroa.
int fieldName2Id(int tableid, str fieldname)
Parameters
| Parameter | Description |
|---|---|
| tableid | Taulukon tunnusnumero. Muistiinpano: Määritä taulukon tunnus tableName2Id-funktiolla . |
| fieldname | Kentän nimi. |
Return value
Tableid- ja fieldname-parametrien määrittämän kentän tunnus.
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
Hakee indeksin nimen.
str indexId2Name(int tableid, int indexid)
Parameters
| Parameter | Description |
|---|---|
| tableid | Sen taulukon tunnus, johon indeksi kuuluu. |
| indexid | Indeksin tunnus. |
Return value
Indeksin nimi.
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
Hakee indeksin tunnuksen.
int indexName2Id(int tableid, str indexname)
Parameters
| Parameter | Description |
|---|---|
| tableid | Sen taulukon tunnus, johon indeksi kuuluu. |
| indexname | Indeksin nimi. |
Return value
Indeksin tunnus.
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
Hakee merkkijonon, joka sisältää taulukon nimen.
str tableId2Name(int _tableid)
Parameters
| Parameter | Description |
|---|---|
| _tableid | Taulukon tunnus. |
Return value
Taulukon nimi.
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
Hakee merkkijonon, joka sisältää taulukon tulostettavan nimen (selitteen).
str tableId2PName(int _fieldid)
Parameters
| Parameter | Description |
|---|---|
| _fieldid | Taulukon tunnus. |
Return value
Taulukon nimi.
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
Hakee taulukon tunnuksen.
int tableName2Id(str _name)
Parameters
| Parameter | Description |
|---|---|
| _name | Taulukon nimi. |
Return value
Taulukon tunnus.
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
Hakee elementin tyypin.
enum typeOf(anytype _object)
Parameters
| Parameter | Description |
|---|---|
| _object | Elementti, jonka tyypille palautetaan. |
Return value
Tyyppien järjestelmän luettelointiarvo.
Example
Seuraavassa esimerkissä testataan, onko säilön c. ensimmäinen elementti toinen säilö, joka sisältää yksittäisen kokonaisluvun.
if(typeof(conpeek(c, 1)) != Types::Container ||
conlen(conpeek(c, 1)) != 1 ||
typeof(conpeek(conpeek(c, 1), 1)) != Types::Integer)
{
// More code.
}