BuildFileFromProperties

Uma etapa baseada nesse modelo de etapa cria um arquivo de saída que contém os valores de propriedades da tarefa e do documento do RICOH ProcessDirector para uma tarefa. O arquivo pode ser de qualquer formato, incluindo XML, JSON, e CSV.

Para criar o arquivo de saída, a etapa primeiramente grava o valor da propriedade Cabeçalho do arquivo no arquivo de saída. Em seguida, a etapa grava o valor da propriedade Corpo do arquivo no arquivo uma vez para cada documento no arquivo de propriedades do documento. Se houver um valor para a propriedade Delimitador, ele será inserido após cada ocorrência do texto Corpo do arquivo, exceto a última. Finalmente, a etapa grava o valor da propriedade Rodapé do arquivo no arquivo.

Você pode usar a notação do símbolo RICOH ProcessDirector em todos esses valores de propriedade. Os símbolos são espaços reservados para os valores de tarefas e documentos que você queira incluir no arquivo quando a etapa criá-lo.

Você pode usar símbolos para propriedades da tarefa — mas não para propriedades do documento — nos valores para as propriedades Cabeçalho do arquivo e Rodapé do arquivo.

Você pode usar símbolos para propriedades da tarefa e do documento no valor para a propriedade Corpo do arquivo. No arquivo de saída, valores de tarefa são os mesmos para cada documento.

A etapa usa o arquivo de propriedades do documento no diretório de spool para a tarefa como entrada. O nome do arquivo está no formato jobid.document.dpf, onde jobid é o número da tarefa. Por exemplo: 10000009.document.dpf. A primeira linha do arquivo contém o nome do banco de dados de cada propriedade do documento. Cada linha adicional contém valores para cada uma das propriedades de um documento.

Exemplo

Esses exemplos mostram como a etapa cria um arquivo de saída XML, CSV ou JSON para três documentos em um trabalho chamado Extratos bancários 02032017 com 14 páginas.

O exemplo cria elementos XML que contêm os valores de duas propriedades da tarefa:

  • Nome da tarefa ( Job.Name)
  • Total de páginas ( Job.TotalPages)

Os nomes dos bancos de dados das propriedades estão entre parêntesis.

O exemplo cria elementos que contêm os valores de quatro propriedades do documento:

  • Número do documento ( Doc.ID)
  • Páginas atuais ( Doc.CurrentPages)
  • Nome do cliente ( Doc.Custom.CustomerName)
  • Número da conta do cliente ( Doc.Custom.AccountNumber)

Valor da propriedade Cabeçalho do arquivo:

XML

<?xml version="1.0" encoding="utf-8"?>
<InputFile>
  <PDF>${Job.Name}</PDF>
  <TotalPages>${Job.TotalPages}</TotalPages>

JSON

{
  "JobName": "{Job.Name}",
  "TotalPages": {Job.TotalPages},
  "Documents": [

CSV

JobName,TotalPages,DocNumber,PageCount,Custname,CustAccount

Valor da propriedade Corpo do arquivo:

XML

<Document>
  <DocNumber>{Doc.ID}</DocNumber>
  <PageCount>{Doc.CurrentPages}</PageCount>
  <Customer Custname="{Doc.Custom.CustomerName}" CustAccount="{Doc.Custom.AccountNumber}" />
</Document>

JSON

{
    "DocNumber": {Doc.ID},
    "PageCount": {Doc.CurrentPages},
    "Custname": "{Doc.Custom.CustomerName}",
    "CustAccount": "{Doc.Custom.AccountNumber}"
  }

CSV

{Job.Name},{Job.TotalPages},{Doc.ID},{Doc.CurrentPages},{Doc.Custom.CustomerName},{Doc.Custom.AccountNumber}

Valor da propriedade Delimitador:

JSON

,

    Obs.:
  • Ao gerar um arquivo XML ou CSV, você pode deixar a propriedade Delimitador vazia.

Valor da propriedade Rodapé do arquivo:

XML

</InputFile>

JSON

  ]
}

    Obs.:
  • Ao gerar um arquivo CSV, você pode deixar a propriedade Rodapé do arquivo vazia.

Arquivo de propriedades do documento no diretório de spool da tarefa:

Doc.ID,Doc.CurrentPages,Doc.Custom.CustomerName,Doc.Custom.AccountNumber
1,4,Jane Smith,SA349088
2,4,Chris Lopez,SA347202
3,6,John Gray,SA340655

Arquivo de saída XML:

<?xml version="1.0" encoding="utf-8"?>
<InputFile>
  <PDF>Bank Statements 02032017</PDF>
  <TotalPages>14</TotalPages>
  <Document>
    <DocNumber>1</DocNumber>
    <PageCount>4</PageCount>
    <Customer Custname="Jane Smith" CustAccount="SA349088" />
  </Document>
  <Document>
    <DocNumber>2</DocNumber>
    <PageCount>4</PageCount>
    <Customer Custname="Chris Lopez" CustAccount="SA347202" />
  </Document>
  <Document>
    <DocNumber>3</DocNumber>
    <PageCount>6</PageCount>
    <Customer Custname="John Gray" CustAccount="SA340655" />
  </Document>
</InputFile>

Arquivo de saída JSON (com a propriedade Delimitador)

{
  "JobName": "Bank Statements 02032017",
  "TotalPages": 14,
  "Documents": [
    {
      "DocNumber": 1,
      "PageCount": 4,
      "Custname": "Jane Smith",
      "CustAccount": "SA349088"
    },
    {
      "DocNumber": 2,
      "PageCount": 4,
      "Custname": "Chris Lopez",
      "CustAccount": "SA347202"
    },
    {
      "DocNumber": 3,
      "PageCount": 6,
      "Custname": "John Gray",
      "CustAccount": "SA340655"
    }
  ]
}

Arquivo de saída CSV

JobName,TotalPages,DocNumber,PageCount,Custname,CustAccount
Bank Statements 02032017,14,1,4,Jane Smith,SA349088
Bank Statements 02032017,14,2,4,Chris Lopez,SA347202
Bank Statements 02032017,14,3,6,John Gray,SA340655

Padrões de propriedade da tarefa
  • Cabeçalho do arquivo:

  • Corpo do arquivo:

  • Delimitador:

  • Rodapé do arquivo:

  • Arquivo de saída:

Observações de uso:

  • Para criar um arquivo de saída que contenha os valores das propriedades da tarefa mas não das propriedades do documento, deixe o valor da propriedade Corpo do arquivo em branco.
  • A etapa grava o valor da propriedade Corpo do arquivo no arquivo de saída somente quando ambas as condições a seguir se aplicam:
    • A propriedade Corpo do arquivo especifica um valor, normalmente fazendo referência a uma ou mais propriedades do documento válidas.
    • O diretório de spool da tarefa contém um arquivo de propriedades do documento.
  • Você pode usar um ou mais caracteres na propriedade Delimitador para separar cada ocorrência do corpo do texto.

  • Se você tiver criado uma saída XML ou JSON, poderá validá-la usando uma etapa baseada no modelo de etapa CheckFileStructure.
  • Se não forem fornecido valores para as propriedades Cabeçalho do arquivo, Corpo do arquivo e Rodapé do arquivo, a etapa criará um arquivo vazio.