Kategoria: Pliki płaskie

Pobierz: >>LINK<<

Wtyczka zawiera implementację źródeł danych operujących na plikach XML.

Za pomocą opisywanych źródeł danych można odczytywać jak i zapisywać dane do plików XML. Dodatkowo dzięki szablonom możliwe jest tworzenie nowych plików XML.

Nazwa parametruOpis parametruWymagalność
Ścieżka do pliku

Parametryzowana absolutna ścieżka do pliku na dysku

  • {PWFL_HOME} - wstawia automatycznie ścieżkę do katalogu domowego
  • {WORKING_DIRECTORY} - wstawia automatycznie ścieżkę do katalogu tymczasowego ustawionego w parametrach systemowych("WorkingDirectory")
  • FILEID:{<id_pliku>} - wstawia automatycznie ścieżkę do pliku znajdującego się w systemie o wskazanym id. Słowo kluczowe <id_pliku> należy zastąpić konkretnym identyfikatorem pliku z systemu
Wymagany
KodowanieFormat kodowania znaków w plikuWymagany
Id parametru ścieżkiUnikalne id parametru ścieżkiOpcjonalny
Nazwa parametru ścieżkiNazwa parametru ścieżki wyświetlana w systemieOpcjonalny
Id parametru wyjściowegoUnikalne id parametru wyjściowegoWymagany
Nazwa parametru wyjściowegoNazwa parametru wyjściowego wyświetlana w systemieWymagany
XPath

Ścieżka typu 'XPath' do node'a, którego wartość ma zostać odczytana.

XPath tutorial

Wymagany
Nazwa elementu w XPath

Nazwa elementu z podanej ścieżki XPath z której zostanie pobrana wartość. W przypadku gdy wskazanego elementu nie ma, zostanie zwrócona wartość pusta.

Parametr nie może wskazywać na element, który zawiera w sobie kolejnego noda z elementami.

Parametr dostępny od wersji 1.03

Opcjonalny

Przykład

 

Nazwa parametruOpis parametruWymagalność
Ścieżka do pliku

Parametryzowana absolutna ścieżka do pliku na dysku

  • {PWFL_HOME} - wstawia automatycznie ścieżkę do katalogu domowego
  • {WORKING_DIRECTORY} - wstawia automatycznie ścieżkę do katalogu tymczasowego ustawionego w parametrach systemowych("WorkingDirectory")
Wymagany
KodowanieFormat kodowania znaków w plikuWymagany
XPath

Parametryzowana ścieżka typu 'XPath' do node'a(-ów), który(-e) mają zostać usunięte z pliku. W przypadku, gdy XPath będzie wskazywał na więcej niż jeden node, wszystkie wskazane node'y zostaną usunięte.

XPath tutorial

Wymagany
Id parametru ścieżkiUnikalne id parametru ścieżkiOpcjonalny
Nazwa parametru ścieżkiNazwa parametru ścieżki wyświetlana w systemieOpcjonalny
Id parametru XPathUnikalne id parametru ścieżki typu XPathOpcjonalny
Nazwa parametru XPathNazwa parametru ścieżki typu XPath wyświetlana w systemieOpcjonalny
Nazwa parametruOpis parametruWymagalność
Ścieżka do pliku

Parametryzowana absolutna ścieżka do pliku na dysku

  • {PWFL_HOME} - wstawia automatycznie ścieżkę do katalogu domowego
  • {WORKING_DIRECTORY} - wstawia automatycznie ścieżkę do katalogu tymczasowego ustawionego w parametrach systemowych("WorkingDirectory")
Wymagany
KodowanieFormat kodowania znaków w plikuWymagany
Szablon

Szkielet struktury pliku XML, który zostanie wykorzystany do utworzenia nowego dokumentu, jeżeli takowy nie istnieje w podanej lokalizacji.

Przykładowy szablon, który utworzy plik o takiej samej strukturze, przed wykonaniem operacji zdefiniowanych w źródle danych:

<root>
    <data attr="attribute">value</data>
</root>
Wymagany
Obsługa istniejącego pliku

Określa czynność, która zostanie wykonana w przypadku, gdy w lokalizacji wskazanej w parametrze 'Ścieżka do pliku' istnieje już plik XML.

Możliwe wartości:

  • Dopisz - dopisze wartości do istniejącego pliku lub stworzy nowy, gdy plik nie istnieje
  • Nadpisz - nadpisze wszystkie wartości w istniejącym pliku lub stworzy nowy, gdy plik nie istnieje
Wymagany
Pomiń deklarację XML

Decyduje czy wynikowy plik ma zawierać deklarację XML.

Czym jest deklaracja XML?

Wymagany
Id parametru ścieżkiUnikalne id parametru ścieżkiOpcjonalny
Nazwa parametru ścieżkiNazwa parametru ścieżki wyświetlana w systemieOpcjonalny
Id atrybutuUnikalne id atrybutu. Id nie może zawierać spacji.Opcjonalny
Nazwa atrybutuNazwa atrybutu wyświetlana w systemieOpcjonalny
Czy dodać pustyOkreśla czy node ma zostać dodany do pliku wynikowego pomimo pustej wartościOpcjonalny
Id parametru

Unikalne id parametru

  • {SEMICOLON_CHARACTER} - umożliwia umieszczenie znaku średnika jako wartość w znacznikach XML.
Wymagany
Nazwa taguNazwa tagu dodawanego node'aWymagany
XPath

Ścieżka typu 'XPath' do node'a-rodzica (kontenera) dla dodawanego node'a

XPath tutorial

Wymagany
XPath elementu tablicowegoŚcieżka typu XPath do node'a, na podstawie którego ma dojść do iteracji wartości tablicowych parametru. Dotyczy tylko parametrów z wartościami tablicowymi (oddzielonych średnikiem). Parametr jest opcjonalny. Ostateczna ścieżka XML, pod którą zostanie zapisana wartość tablicowa, powstaje wskutek połączenia wartości parametru XPath elementu tablicowego + [nr wiersza] z ostatnim nodem wartości parametru XPath.Opcjonalny
Atrybuty node'aDodatkowe atrybuty node'a (id atrybutów z sekcji rozdzielone średnikami). Wszystkie zadeklarowane node'y w sekcji atrybutów muszą zostać wykorzystane w tym parametrze.Wymagany
Typ node'a

Określa czy dodawany node jest kontenerem, czy zawiera wartość. Możliwe wartości: Root, Emptiable, Nonempty


Root - oznacza, że dany node jest kontenerem na inne nody:

<root>
    <children>some value</children>
    <children>another value</children>
</root>

Emptiable - oznacza, iż dany node zostanie dodany do pliku nawet w przypadku, gdy zostanie do niego przekazana pusta wartość:

<root>
    <emptiable></emptiable>
</root>

Nonempty - oznacza, iż dany node nie zostanie dodany do pliku, gdy zostanie do niego przekazana pusta wartość.

 
Wymagany

Przykład

 

Konfiguracja źródła danych:

 

Użyty szablon:

 <Msg xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
	<Hdr>
		<Sender>
			<Name>Suncode</Name>
			<Subname>Suncode</Subname>
		</Sender>
		<Logon>
			<CompCode>01</CompCode>
		</Logon>
	</Hdr>
	<Body>
		<Req msg-type="Purchase Invoice" action="Process">
			<Dta>
				<SupplierInvoice xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
</SupplierInvoice>
			</Dta>
		</Req>
	</Body>
</Msg>

 

Parametry do wywołania źródła:

 {
	"FiscalYear": "2024",
	"SuppCode": "0999",
	"InvTaxes": "1",
	"TaxCode": "a",
	"TaxBasis": "b",
	"TaxAmnt": "c",
	"Transaction": "1",
	"TransLine": "2",
	"AccStr": "1",
	"AccDim1": "111;222",
	"AccDim2": "111;222",
	"AmntLCU": "10;20",
	"UserArea": "user"
}

 

Wynikowy plik xml:

<?xml version="1.0" encoding="UTF-8"?>
<Msg xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance">
    <Hdr>
        <Sender>
            <Name>Suncode</Name>
            <Subname>Suncode</Subname>
        </Sender>
        <Logon>
            <CompCode>01</CompCode>
            <FiscalYear>2024</FiscalYear>
        </Logon>
    </Hdr>
    <Body>
        <Req action="Process" msg-type="Purchase Invoice">
            <Dta>
                <SupplierInvoice xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance">
                    <SuppCode>0999</SuppCode>
                    <InvTaxes>
                        <TaxCode>a</TaxCode>
                        <TaxBasis>b</TaxBasis>
                        <TaxAmnt>c</TaxAmnt>
                    </InvTaxes>
                    <Transaction>
                        <TransLine>
                            <AccStr>
                                <AccDim1>111</AccDim1>
                                <AccDim2>111</AccDim2>
                            </AccStr>
                            <AmntLCU>10</AmntLCU>
                        </TransLine>
                        <TransLine>
                            <AccStr>
                                <AccDim1>222</AccDim1>
                                <AccDim2>222</AccDim2>
                            </AccStr>
                            <AmntLCU>20</AmntLCU>
                        </TransLine>
                    </Transaction>
                    <UserArea>user</UserArea>
                </SupplierInvoice>
            </Dta>
        </Req>
    </Body>
</Msg>

 

 

Źródło danych pozwala na sparametryzowanie ścieżki do pliku na dysku. Dzięki temu możliwe jest m.in. tworzenie nowych plików na podstawie wartości zmiennej/zmiennych z procesu lub dynamiczne budowanie ścieżki do odczytu.

Aby tego dokonać należy w parametrze Ścieżka do pliku w konfiguracji źródła danych osadzić Id parametru ścieżki w specjalnych znacznikach - { } - np. C:\folder\plik_{filename}.xml

Następnie w sekcji Parametry ścieżki w konfiguracji źródła danych należy dodać parametr o Id "filename".

Dzięki temu możliwe będzie dynamiczne przekazywanie wartości parametru o Id "filename" przy wywoływaniu źródła danych do ścieżki.