Porovnávané verzie
porovnané s
Kľúč
- Tento riadok sa pridal
- Riadok je odstránený.
- Formátovanie sa zmenilo.
Akcia EXPORT_CSV_TEXT
Funkcia
Export riadku, stĺpca alebo celej lokálnej štruktúrovanej premennej (t.j. lokálnej premennej typu Record) vo formáte CSV do premennej.
Deklarácia
Blok kódu | ||||
---|---|---|---|---|
| ||||
EXPORT_CSV_TEXT toExportStruct, delimiter, outputIdent_Text, retCodeIdent_Int[, transPalIdx_Int] [TIME] |
Parametre
toExportStruct | in | Identifikátor riadku, identifikátor stĺpca alebo identifikátor celej lokálnej premennej typu Record. |
delimiter | in | Identifikátor typu Text - oddeľovač v CSV súbore. |
timeZone | in | Parameter typu Text, Int alebo Bool - určuje ako budú exportované časové značky. |
retCodeIdent_Int | out | Návratová hodnota typu Int - úspešnosť akcie. |
transPalIdx | in | Nepovinný parameter typu Int. |
outputIdent_Text | out | Výsledok exportu typu Text |
TIME | in | Kľúčové slovo. |
Návratový kód
Hodnota parametra retCodeIdent_Int - pozri tabuľku chybových stavov.
Popis
Akcia generuje text vo formáte CSV. Oddeľovač položiek v CSV súbore je daný parametrom delimiter.
Úspešnosť operácie je indikovaná výstupným parametrom retCodeIdent_Int. Hodnota 0 znamená úspešný export, hodnota rôzna od 0 chybu.
V závislosti od parametra toExportStruct akcia exportuje:
Čas je formátovaný maskou definovanou v transformačnej palete pod indexom daným hodnotou parametra transPalIdx_Int.
Ak tento parameter nie je uvedený, alebo jeho hodnota je 0, použije sa maska dd.mm.rrrr hh:mi:ss. Ak je jeho hodnota -1, potom konverzia hodnôt typu Absolútny čas a Real prebieha podľa nastavenia v Regional and Language Options aktuálneho užívateľa na systémoch Windows. Pre iné systémy je hodnota -1 automaticky nahradená hodnotou 0.
Parameter timeZone určuje ako majú byť exportované časové hodnoty. V prípade, že je zadaný prázdny text, sú časy exportované ako lokálne časy. V prípade zadania názvu časovej zóny (napr. "Europe/London"), budú časy exportované ako lokálne časy pre zadanú časovú zónu. V prípade zadania celočíselnej hodnoty, budú časy exportované ako časy s fixným posunom voči UTC, kde zadaná hodnota parametra definuje posun voči UTC v sekundách. Z historických dôvodov sú akceptované aj hodnoty @FALSE - časy sú exportované ako lokálne, a @TRUE - časy sú exportované ako časy s fixným posunom 3600 sekúnd (1 hodina) voči UTC. Použitie hodnoty @TRUE sa neodporúča a generuje upozornenie pri ukladaní ESL skriptu. Odporúča sa nahradiť ju celočíselnou hodnotou.
Úspešnosť operácie je indikovaná výstupným parametrom retCodeIdent_Int. Hodnota 0 znamená úspešný export, hodnota rôzna od 0 chybu.
V závislosti od parametra toExportStruct akcia exportuje:
- celú lokálnu premennú
- riadok lokálnej premennej
- stĺpec lokálnej premennej
Formát CSV
Vzhľadom na to, že formát CSV nie je jednoznačne definovaný, akcia ako druhý parameter očakáva oddeľovač (delimiter). Je to 1-znakový reťazec (1 znak) ktorý bude použitý pri oddeľovaní položiek v CSV.
Reálne čísla používajú ako oddeľovač desatinných miest desatinnú bodku '.'.
Ak je použité kľúčové slovo TIME, do textu bude zapisovaný aj čas vzniku hodnoty pre každú položku lokálnej premennej. Čas je vždy uvedený pred vlastnou hodnotou položky. CSV má preto dvojnásobný počet stĺpcov.
Kotva | ||||
---|---|---|---|---|
|
Ak tento parameter nie je uvedený, alebo jeho hodnota je 0, použije sa maska dd.mm.rrrr hh:mi:ss. Ak je jeho hodnota -1, potom konverzia hodnôt typu Absolútny čas a Real prebieha podľa nastavenia v Regional and Language Options aktuálneho užívateľa na systémoch Windows. Pre iné systémy je hodnota -1 automaticky nahradená hodnotou 0.
Parameter timeZone určuje ako majú byť exportované časové hodnoty. V prípade, že je zadaný prázdny text, sú časy exportované ako lokálne časy. V prípade zadania názvu časovej zóny (napr. "Europe/London"), budú časy exportované ako lokálne časy pre zadanú časovú zónu. V prípade zadania celočíselnej hodnoty, budú časy exportované ako časy s fixným posunom voči UTC, kde zadaná hodnota parametra definuje posun voči UTC v sekundách. Z historických dôvodov sú akceptované aj hodnoty @FALSE - časy sú exportované ako lokálne, a @TRUE - časy sú exportované ako časy s fixným posunom 3600 sekúnd (1 hodina) voči UTC. Použitie hodnoty @TRUE sa neodporúča a generuje upozornenie pri ukladaní ESL skriptu. Odporúča sa nahradiť ju celočíselnou hodnotou.
Oddeľovač v CSV (parameter delimiter) je možné získať volaním funkcie %GetCSVDelimiter.
Príklad
Predpoklady:
Je definovaný objekt SD.ArchVal typu Definícia štruktúry so stĺpcami:
Je definovaný objekt SV.ArchVal typu Štruktúrovaná premenná. Typ štruktúry je SD.ArchVal. Počet riadkov: 3. Štartovacie hodnoty sú:
Príklad netestuje úspešnosť vykonania akcie.
Je definovaný objekt SD.ArchVal typu Definícia štruktúry so stĺpcami:
Meno | Typ |
Value | Reálny |
Flags | Celočíselný |
Je definovaný objekt SV.ArchVal typu Štruktúrovaná premenná. Typ štruktúry je SD.ArchVal. Počet riadkov: 3. Štartovacie hodnoty sú:
Value | Flags |
1.2 | 3 |
2 | 2 |
3 | 1 |
Príklad netestuje úspešnosť vykonania akcie.
Blok kódu | ||||
---|---|---|---|---|
| ||||
RECORD (SD.ArchVal) _rec REDIM _rec[SV.ArchVal\DIM] SET _rec WITH SV.ArchVal EXPORT_CSV_TEXT _rec, ';', _output1, 0, _retCode EXPORT_CSV_TEXT _rec[1], ';', _output2, 0, _retCode EXPORT_CSV_TEXT _rec^Value, ';', _output3, 0, _retCode |
Akcie exportujú lokálnu premennú _rec, ktorá obsahuje kópiu objektu SV.ArchVal.
Obsah premenných:
Obsah premenných:
_output1
Blok kódu | ||||
---|---|---|---|---|
| ||||
1,20000000000000;3 2,00000000000000;2 3,00000000000000;1 |
_output2
Blok kódu | ||||
---|---|---|---|---|
| ||||
1,20000000000000;3 |
_output3
Blok kódu | ||||
---|---|---|---|---|
| ||||
1,20000000000000 2,00000000000000 3,00000000000000 |