Construindo a Amostra Managed File Transfer

Se surgirem problemas ao executar a amostra, consulte Preparando o ambiente para os nós do WebSphere MQ File Transfer Edition ou Resolvendo problemas ao executar as amostras na documentação do WebSphere Message Broker.

Criar o Fluxo de Mensagens branch2HQDriver

Use as instruções a seguir para criar o fluxo de mensagens do aplicativo de vendas do final do dia da filial.

  1. Crie um novo projeto do Message Broker, FTENodesSampleFlowProject. Para obter informações adicionais, consulte Criando um Projeto do Message Broker na documentação do WebSphere Message Broker.
    1. Clique com o botão direito do mouse no projeto do Message Broker, clique em Novo > Fluxo de Mensagens.
    2. Configure Nome do Fluxo de Mensagens como Branch2HQDriver.msgflow e clique em Concluir.
  2. No editor de Fluxo de Mensagens, inclua e renomeie os nós listados na tabela a seguir.
    Tipo de Nó Nome de Nó
    MQInput Sales Data from Branch (MQ)
    Compute Prepare for FTEAgent
    FTEOutput File Transfer to HQ (FTE)
  3. Conecte os nós como descrito na tabela a seguir.
    Nome de Nó Terminal Conectar a esse Nó
    Sales Data from Branch (MQ) Out Prepare for FTEAgent
    Prepare for FTEAgent Out File Transfer to HQ (FTE)(IN)
  4. Customize o nó "Sales Data from Branch (MQ)":
    1. Clique com o botão direito do mouse no nó "Sales Data from Branch (MQ)", clique em Propriedades.
    2. Clique em Básicas, configure o Nome da fila para FTE_STOCK_REQ_BRANCH
    3. Clique em Análise de Mensagem de Entrada, configure o Domínio de mensagem para BLOB.
    4. Clique em Avançadas, selecione a propriedade Pedido Lógico.
  5. Customize o nó "Prepare for FTEAgent":
    1. Clique com o botão direito do mouse no nó "Prepare for FTEAgent", clique em Propriedades.
    2. Clique em Básicas, configure o Módulo ESQL para FTENodesSampleMFlow.Branch2HQDriver_PrepareforFTEAgent
    3. Configure o Modo Compute para LocalEnvironment and Message.
    4. Dê um clique duplo no nó "Prepare for FTEAgent".
    5. Inclua as seguintes instruções ESQL na seção BEGIN:
      -- CALL CopyMessageHeaders();
      		CALL CopyEntireMessage();
      		
      		-- The BranchName(Code) to create the output file is taken from the MQMD Header		
      		SET OutputLocalEnvironment.Wildcard.WildcardMatch = TRIM(InputRoot.MQMD.ApplOriginData);
      
  6. Customize o nó "File Transfer to HQ (FTE)":
    1. Clique com o botão direito do mouse no nó "File Transfer to HQ (FTE)", clique em Propriedades.
    2. Clique em Básicas, configure o Nome da tarefa para um nome da sua escolha, por exemplo, Branch123
    3. Configure o Agente para um nome de agente apropriado que usa o seguinte formato, MB8BROKER.FTEHQ
    4. Se estiver usando a configuração padrão, configure o Gerenciador de Filas para MB8QMGR
    5. Configure o Diretório de entrada para /ToHQ
    6. Configure o Nome do arquivo para StockReplenishmentRequest_*.xml
    7. Clique em Registros e Elementos, configure Definição de Registro como Registro É Arquivo Inteiro.

Crie o fluxo de mensagens FTEInputBranch2HQMFlow

Use as seguintes instruções para criar o fluxo de mensagens "Detalhes da matriz que recebe o fornecimento de estoque".

  1. Usando o projeto do Message Broker criado anteriormente, conclua as seguintes instruções:
    1. Clique com o botão direito do mouse no projeto do Message Broker, clique em Novo > Fluxo de Mensagens.
    2. Configure Nome do Fluxo de Mensagens como FTEInputBranch2HQMFlow.msgflow, clique em Concluir.
  2. No editor de Fluxo de Mensagens, inclua e renomeie os nós listados na tabela a seguir:
    Tipo de Nó Nome de Nó
    FTEInput Receive File from Branch (FTE)
    Compute Preserve Branch Details
    Compute Mark End of Branch Data
    Resequence Eliminate Duplication (Resequence)
    MQOutput Sent to HQ Replenishment App (MQ)
  3. Conecte os nós conforme descrito na tabela a seguir:
    Nome de Nó Terminal Conectar a esse Nó
    Receive File from Branch (FTE) Out Preserve Branch Details
    Preserve Branch Details Out Eliminate Duplication (Resequence)
    Receive File from Branch (FTE) Fim dos Dados Mark End of Branch Data
    Mark End of Branch Data Out Eliminate Duplication (Resequence)
    Eliminate Duplication (Resequence) Out Sent to HQ Replenishment App (MQ)
  4. Customize o nó "Receive File from Branch (FTE)":
    1. Clique com o botão direito do mouse no nó "Receive File from Branch (FTE)", clique em Propriedades.
    2. Clique em Básicas, configure o Filtro do nome do arquivo para StockReplenishmentRequest_*.xml
    3. Configure Ação no Processamento Bem-sucedido como Excluir.
    4. Clique em Análise de Mensagem de Entrada, configure o Domínio de mensagem para XMLNSC.
    5. Clique em Registros e Elementos, configure a Detecção de Registro para Sequência de Registro Analisada.
  5. Customize o nó "Preserve Branch Details":
    1. Clique com o botão direito do mouse no nó "Preserve Branch Details", clique em Propriedades.
    2. Clique em Básicas, configure o módulo ESQL para FTENodesSampleMFlow.FTEInputBranch2HQMFlow_PreserveBranchDetails
    3. Configure Modo Compute como LocalEnvironment e Message.
    4. Dê um clique duplo no nó "Preservar Detalhes da Filial".
    5. Inclua as seguintes instruções ESQL na seção BEGIN:
      -- CALL CopyMessageHeaders();
      		CALL CopyEntireMessage();
      
      SET OutputRoot.XMLNSC.StockReplenishment.SequenceNumber = InputLocalEnvironment.FTE.Record;
      
      -- Used by the resequence node to reject duplicate records in a recovery situation
      SET OutputLocalEnvironment.Wildcard.WildcardMatch = InputRoot.XMLNSC.StockReplenishment.BranchNumber;		
      SET OutputLocalEnvironment.StockReplenishment.SequenceNumber = InputLocalEnvironment.FTE.Record;
  6. Customize o nó "Mark End of Branch Data":
    1. Clique com o botão direito do mouse no nó "Mark End of Branch Data", clique em Propriedades.
    2. Clique em Básicas, configure o módulo ESQL para FTENodesSampleMFlow.FTEInputBranch2HQMFlow_MarkEndofBranchData
    3. Configure Modo Compute como LocalEnvironment e Message.
    4. Dê um clique duplo no nó "Mark End of Branch Data".
    5. Inclua as seguintes instruções ESQL na seção BEGIN:
      -- CALL CopyMessageHeaders();
      		CALL CopyEntireMessage();
      
      -- Take the Branch number from the File Name "StockReplenishmentRequest_*.xml"
      		SET OutputRoot.XMLNSC.StockReplenishment.BranchNumber = SUBSTRING( InputLocalEnvironment.FTE.Name FROM 27 FOR 3 );
      		SET OutputRoot.XMLNSC.StockReplenishment.SequenceNumber = InputLocalEnvironment.FTE.Record + 1;
      		SET OutputRoot.XMLNSC.StockReplenishment.EndofData = 'true';
      
      -- For the Resequence Node
      		SET OutputLocalEnvironment.Wildcard.WildcardMatch = OutputRoot.XMLNSC.StockReplenishment.BranchNumber;
      		SET OutputLocalEnvironment.StockReplenishment.SequenceNumber = InputLocalEnvironment.FTE.Record + 1;
      		SET OutputLocalEnvironment.StockReplenishment.EndofData = 'true';
  7. Customize o nó "Eliminate Duplication (Resequence)":
    1. Clique com o botão direito do mouse no nó "Eliminate Duplication (Resequence)", clique em Propriedades.
    2. Clique em Básicas, configure o Caminho para o número de sequência para $LocalEnvironment/StockReplenishment/SequenceNumber
    3. Configure Caminho para o identificador do grupo de sequência para $LocalEnvironment/Wildcard/WildcardMatch
    4. Em Término da definição de sequência, configure o Predicado para $InputRoot/XMLNSC/StockReplenishment/EndofData="true"
  8. Customize o nó "Sent to HQ Replenishment App (MQ)":
    1. Clique com o botão direito do mouse no nó "Sent to HQ Replenishment App (MQ)", clique em Propriedades.
    2. Se estiver usando a configuração padrão, clique em Básico e configure o Nome do gerenciador de filas para MB8QMGR.
    3. Configure o Nome da fila para FTE_STOCK_PROCESS_HQ

Crie o fluxo de mensagens HQProcessingDriver

Use as seguintes instruções para criar o fluxo de mensagens "Aplicativo de fornecimento de estoque da matriz".

  1. Usando o projeto do Message Broker criado anteriormente, conclua as seguintes instruções:
    1. Clique com o botão direito do mouse no projeto do Message Broker, clique em Novo > Fluxo de Mensagens.
    2. Configure Nome do Fluxo de Mensagens como HQProcessingDriver.msgflow, clique em Concluir.
  2. No editor de Fluxo de Mensagens, inclua e renomeie os nós listados na tabela a seguir:
    Tipo de Nó Nome de Nó
    MQInput Receive Sales Data (MQ)
    Compute Demand Driven Replenishment
    MQOutput Send Stock Replenishment Invoice (MQ)
  3. Conecte os nós conforme descrito na tabela a seguir:
    Nome de Nó Terminal Conectar a esse Nó
    Receive Sales Data (MQ) Out Demand Driven Replenishment
    Demand Driven Replenishment Out Send Stock Replenishment Invoice (MQ)
  4. Customize o nó "Receive Sales Data (MQ)":
    1. Clique com o botão direito do mouse no nó "Branch App Input", clique em Propriedades.
    2. Clique em Básicas, configure o Nome da fila para FTE_STOCK_PROCESS_HQ
    3. Clique em Análise de Mensagem de Entrada, configure o Domínio de mensagem para XMLNSC.
    4. Clique em Avançadas, selecione a propriedade Pedido Lógico.
  5. Customize o nó "Demand Driven Replenishment":
    1. Clique com o botão direito do mouse no nó "Demand Driven Replenishment", clique em Propriedades.
    2. Clique em Básicas, configure o Módulo ESQL para FTENodesSampleMFlow.HQProcessingDriver_DemandDrivenReplenishment
    3. Configure Modo Compute como LocalEnvironment e Message.
    4. Dê um clique duplo no nó "Demand Driven Replenishment".
    5. Inclua as seguintes instruções ESQL na seção BEGIN:
      -- CALL CopyMessageHeaders();
      		CALL CopyEntireMessage();
      		-- SET OutputLocalEnvironment.Wildcard.WildcardMatch = InputRoot.XMLNSC.StockReplenishment.BranchNumber;
      
      -- Stock Replenishment changes is processed here
      		IF ( InputRoot.XMLNSC.StockReplenishment.LineItem.ItemID = 'AA0533' ) THEN
      			SET OutputRoot.XMLNSC.StockReplenishment.LineItem.ActualSalesUnitPrice = '1.50';
      		END IF;
      		IF ( InputRoot.XMLNSC.StockReplenishment.LineItem.ItemID = 'AA0534' ) THEN
      			SET OutputRoot.XMLNSC.StockReplenishment.LineItem.Quantity = '163';
      			SET OutputRoot.XMLNSC.StockReplenishment.LineItem.Promotion = '4 for 2.00';
      		END IF;
  6. Customize o nó "Send Stock Replenishment Invoice (MQ)":
    1. Clique com o botão direito do mouse no nó "Send Stock Replenishment Invoice (MQ)", clique em Propriedades.
    2. Se estiver usando a configuração padrão, clique em Básico e configure o Nome do gerenciador de filas para MB8QMGR.
    3. Configure o Nome da fila para FTE_STOCK_INVOICE_BRANCH

Crie o fluxo de mensagens FTEOutputHQ2BranchMFlow

Use as instruções a seguir para criar o fluxo de mensagens "Filiais recebem o arquivo XML de fornecimento de estoque da matriz".

  1. Usando o projeto do Message Broker criado anteriormente, conclua as seguintes instruções:
    1. Clique com o botão direito do mouse no projeto do Message Broker, clique em Novo > Fluxo de Mensagens.
    2. Configure Nome do Fluxo de Mensagens como FTEOutputHQ2BranchMFlow.msgflow, clique em Concluir.
  2. No editor de Fluxo de Mensagens, inclua e renomeie os nós listados na tabela a seguir.
    Tipo de Nó Nome de Nó
    MQInput Receive Stock Replenishment Invoice (MQ)
    Compute Prepare for FTEAgent
    FTEOutput Transfer to Branch (FTE)
  3. Conecte os nós como descrito na tabela a seguir.
    Nome de Nó Terminal Conectar a esse Nó
    Receive Stock Replenishment Invoice (MQ) Out Prepare for FTEAgent
    Prepare for FTEAgent Out Transfer to Branch (FTE)(In)
    Prepare for FTEAgent Out1 Transfer to Branch (FTE)(Finish File)
  4. Customize o nó "Receive Stock Replenishment Invoice (MQ)":
    1. Clique com o botão direito do mouse no nó "Receive Stock Replenishment Invoice (MQ)", clique em Propriedades.
    2. Clique em Básicas, configure o Nome da Fila para FTE_STOCK_INVOICE_BRANCH
    3. Clique em Análise de Mensagem de Entrada, configure o Domínio de mensagem para XMLNSC.
    4. Clique em Avançadas, selecione a propriedade Pedido Lógico.
  5. Customize o nó "Prepare for FTEAgent":
    1. Clique com o botão direito do mouse no nó "Prepare for FTEAgent", clique em Propriedades.
    2. Clique em Básicas, configure o módulo ESQL para FTENodesSampleMFlow.FTEOutputHQ2BranchMFlow_PrepareforFTEAgent
    3. Configure Modo Compute como LocalEnvironment e Message.
    4. Dê um clique duplo no nó "Prepare for FTEAgent".
    5. Inclua as seguintes instruções ESQL na seção BEGIN:
      -- CALL CopyMessageHeaders();
      		CALL CopyEntireMessage();
      		
      		SET OutputLocalEnvironment.Wildcard.WildcardMatch = InputRoot.XMLNSC.StockReplenishment.BranchNumber;
      		IF ( InputRoot.XMLNSC.StockReplenishment.EndofData = 'true' ) THEN
      			PROPAGATE TO TERMINAL 'out1';
      			RETURN FALSE;
      		END IF;
      		RETURN TRUE;
  6. Customize o nó "Transfer to Branch (FTE)":
    1. Clique com o botão direito do mouse no nó "Transfer to Branch (FTE)", clique em Propriedades.
    2. Clique em Básicas, configure Nome da tarefa para um nome da sua escolha, por exemplo, Fatura para FTEBRANCH123
    3. Configure o Agente para um nome de agente apropriado que usa o seguinte formato, MB8BROKER.FTEBRANCH123
    4. Se estiver usando a configuração padrão, configure o Gerenciador de Filas para MB8QMGR
    5. Clique em Básicas, configure o Diretório de entrada para /ToBranch
    6. Configure o Nome do arquivo para StockReplenishmentInvoice_*.xml
    7. Clique em Registros e Elementos, configure Definição de Registro como Registro São Dados Não Modificados.

Crie as propriedades do broker

Para executar a amostra é necessário criar as seguintes filas locais:

Crie os seguintes arquivos de archive do broker (BAR) e inclua os fluxos de mensagens especificados:

Para obter mais informações sobre como criar um broker archive, consulte Criando um Broker Archive.

Crie os seguintes grupos de execução e implemente o arquivo BAR especificado:

Consulte Criando um Grupo de Execução e Implementando um Arquivo Bar.

Voltar para Home da Amostra