Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

(Obrigatório)

Informações Gerais

 

Especificação

Produto

Protheus

Módulo

SIGAPCP

Segmento Executor

 

Projeto1

M_MAN_PCP002

Epic

MANCORE1-35

Story

MANCORE1-130

Subtarefa1

 

Chamado2

 

País

( x ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

<Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

(Obrigatório)

Objetivo

 

Enviar o saldo de estoque do Protheus para o PC-Factory, por meio de solicitação do PC-Factory.

Enviar registros de saldo de estoque quando ocorrer alguma movimentação.

 

(Obrigatório)

Definição da Regra de Negócio

 

Gerenciar o envio de saldos em estoque do Protheus para o PC-Factory.  Será criado duas opções de envio. A primeira será via Request, onde o PC-Factory solicita um saldo. A segunda startada via alguma movimentação que atualiza o saldo.


  1. Request


Para este tipo de atualização o PC-Factory solicita o saldo ao Protheus. 
Será a usada a mensagem StockLevel_2_00. A mensagem possui duas partes. A parte de Request , onde são passados os parâmetros para o consulta do saldo, e a parte do Return, que contem o retorno do saldo.

O Request da mensagem possui as seguintes tags que serão usadas para o Protheus:

BlocoTagDescriçãoObservação
RequestItemListOfRequestItemInternalIdCódigo do produto 
ListOfRequestReferenceCodeReferênciaNão usa
ListOfRequestRequestItemWarehouseInternalIdCódigo do depósito/local de estoque/Armazém 
RequestItemListOfRequestLotNumberLote 
RequestItemListOfRequestSubLotCodeSubLote 
RequestItemListOfRequestSerialNumberNúmero de Série 
RequestItemListOfRequestAddressLocalização 
RequestItemListOfRequestLotExpirationDateData de Validade 

A busca pode ocorrer das seguintes formas:
Por Produto: Retorna informação de todos os locais de estoque do produto.
Por Local de Estoque(Armazém): Retorna informação de todos os produtos no local de estoque.
Por Local de Estoque(Armazém) e Produto: Retorna informação sobre o Produto no Local de Estoque definido.

Para os demais campos, Lote, sub-Lote, número de série, localização e data de validade considerar somente se informar o código do produto. Se enviar estes campos sem o código do produto deve retornar mensagem de erro.

O Request poderá ser uma lista de solicitação.


O Return da mensagem possui as seguintes  tags para o Protheus: 

 

BlocoTagDescriçãoObservação
ReturnContentTypeClosingStockDateData fechamento estoqueNão usa
ListOfReturnItemReturnItemCompanyIdEmpresa 
ReturnItemListOfReturnItemBranchIdFilial 
ReturnItemListOfReturnItemCompanyInternalIdEmpresa|Filial 
ReturnItemListOfReturnItemItemInternalIdCódigo do produtoSB2.B2_COD
ReturnItemListOfReturnItemReferenceCodeReferenciaNão usa
ListOfStockBalanceWarehouseInternalIdLocal de Estoque(Armazém/Depósito)SB2.B2_LOCAL
ListOfStockBalanceLotNumberNúmero do LoteSB8.B8_LOTECTL 
ListOfStockBalanceLotExpirationDateData de validadeSB8.B8_DTVALID
ListOfStockBalanceSerialNumberNúmero de sérieSBF.BF_NUMSERI 
ListOfStockBalanceSubLotCodeSubLoteSB8.B8_NUMLOTE
ListOfStockBalanceAddressLocalizaçãoSBF.BF_LOCALIZ
ListOfStockBalanceCurrentStockAmountSaldo do Produto em quantidade

SB2.B2_QATU

SB8.B8_SALDO

SBF.BF_QUANT

ListOfStockBalanceBookedStockAmount

Quantidade reservada em Estoque

SB2.B2_RESERVA

SB8.B8_EMPENHO

SBF.BF_EMPENHO

ListOfStockBalance

AvailableStockAmount

Saldo disponível do Produto em quantidade

SB2.B2_QATU - SB2.B2_RESERVA

SB8.B8_SALDO - SB8.B8_EMPENHO

SBF.BF_QUANT - SBF.BF_EMPENHO

ListOfStockBalanceUnitItemCostCusto unitário do Produto---
ListOfStockBalanceAverageUnitItemCostCusto médio do Produto---
ListOfStockBalanceValueOfCurrentStockAmountSaldo atual do estoque do produto em valor---


Alterar mensagem StockLevel, gerando a versão 2_000. A mensagem terá o formato abaixo:

 

RequestItemListOfRequestItemInternalIdCódigo do Itemxs:string15
ListOfRequestReferenceCodeReferânciaxs:string20
ListOfRequestRequestItemWarehouseInternalIdCódigo do depósito/local de estoque/Armazémxs:string10
RequestItemListOfRequestLotNumberNúmero do Lotexs:string10
RequestItemListOfRequestSubLotCodeSub Lotexs:string10
RequestItemListOfRequestSerialNumberNúmero de Sériexs:string20
RequestItemListOfRequestAddressLocalização/Endereçoxs:string15
RequestItemListOfRequestLotExpirationDateData de validadexs:date 
     
ReturnItemListOfReturnItemCompanyIdEmpresaxs:string 
ReturnItemListOfReturnItemBranchIdFilialxs:string2
ReturnItemListOfReturnItemItemInternalIdCódigo do Itemxs:string 
ReturnItemListOfReturnItemCompanyInternalIdEmpresa|Filialxs:string 
ReturnItemListOfReturnItemReferenceCodeReferênciaxs:string20
     
ListOfStockBalance    
ListOfStockBalanceWarehouseInternalIdCódigo do depósito/local de estoque/Armazémxs:string10
ListOfStockBalanceUnitItemCostCusto unitário do Produtoxs:decimal17,4
ListOfStockBalanceAverageUnitItemCostCusto médio do Produtoxs:decimal17,4
ListOfStockBalanceCurrentStockAmountSaldo do Produto em quantidade xs:decimal17,4
ListOfStockBalanceAvailableStockAmountSaldo disponível do Produto em quantidadexs:decimal17,4
ListOfStockBalanceBookedStockAmountQuantidade reservada em Estoquexs:decimal17,4
ListOfStockBalanceValueOfCurrentStockAmountSaldo atual do estoque do produto em valorxs:decimal17,4
ListOfStockBalanceLotNumberNúmero do Lotexs:string10
ListOfStockBalanceSubLotCodeSub Lotexs:string10
ListOfStockBalanceLotExpirationDateData de Validadexs:date 
ListOfStockBalanceSerialNumberNúmero de Sériexs:string20
ListOfStockBalanceAddressLocalização/Endereçoxs:string15



1.1 MATI225

O Webservice deverá ser alterado para executar o adapter MATI225 

Do Case

..........
Case cTransac == "STOCKLEVEL" //Saldo de estoque
changeEmp(cEmpIntg,cFilIntg)
aAdapter := MATI225(oXml, TRANS_RECEIVE, EAI_MESSAGE_BUSINESS)

 

aAdd(aAdapter, cEmpIntg)
aAdd(aAdapter, cFilIntg)
aAdd(aAdapter, "MATI225")


Será alterado o adapter do saldo, MATI225 para tratar a nova versão da mensagem e também a integração com o PC-Factory. Criar funções v1000 e v2000 para tratar o xml de acordo com a versao

// Trata recebimento de mensagens
    Case ( nTypeTrans == TRANS_RECEIVE )
        Do Case
            // Recebimento da WhoIs
            Case ( cTypeMessage == EAI_MESSAGE_WHOIS )
                cXmlRet := '1.000'
            // Recebimento da Response Message
            Case ( cTypeMessage == EAI_MESSAGE_RESPONSE )
                cXmlRet := 'Mensagem processada'        
            // Receipt Message (Aviso de receb. em transmissoes assincronas)
            Case ( cTypeMessage == EAI_MESSAGE_RECEIPT )
                cXmlRet := 'Mensagem recebida'        
            // Recebimento da Business Message
            Case ( cTypeMessage == EAI_MESSAGE_BUSINESS )

                 CASE VERSAO = 1 OR VERSAO = ' ' OR VERSAO NULA 

                     aRet := v1000(cXml, nTypeTrans, cTypeMessage)

                CASE VERSAO = 2

                      aRet := v2000(cXml, nTypeTrans, cTypeMessage)

 ..................

................

 

A função v1000 deve executar o processo ATUAL, ou seja, tratando a versão 1 da mensagem.

A função v2000 deve executar o processo considerando as alterações da mensagem para atender a integração com o PC-Factory.
Na v2000 deve considerar as mesmas regras de seleção dos campos, o que vai mudar é somente o formato do XML.

 

Após executar a geração da mensagem de retorno o WebService já está preparado para enviar a resposta, que será o saldo. A resposta conterá apenas um XML. Este XML pode ter um ou vários REQUEST.

Exemplo de XML Request:

<?xml version="1.0" encoding="UTF-8"?>

<TOTVSMessage xsi:noNamespaceSchemaLocation=""

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <MessageInformation version="1.000">

        <UUID>459491c6-83bc-4bdf-9c49-71caac25de61</UUID>

        <Type>BusinessMessage</Type>

        <Transaction>stocklevel</Transaction>

        <StandardVersion>1.0</StandardVersion>

        <SourceApplication>PPI</SourceApplication>

        <CompanyId>99</CompanyId>

        <BranchId>01</BranchId>

        <Product version="12" name="PPI" />

        <GeneratedOn>2016-04-14T09:34:11.3137323-03:00</GeneratedOn>

    </MessageInformation>

    <BusinessMessage>

        <BusinessEvent>

            <Entity>stocklevel</Entity>

            <Event>upsert</Event>

        </BusinessEvent>

        <BusinessContent>

            <RequestItem>

                 <WarehouseInternalId>01</WarehouseInternalId>

                 <ItemInternalId>CRG01</ItemInternalId>

            </RequestItem>

        </BusinessContent>

    </BusinessMessage>

</TOTVSMessage>

 

           2. Movimentação


A integração deverá atualizar o saldo, sem que seja necessário realizar um request. Para atender essa necessidade deverá alterar as funções que atualizam saldo para gerar a mensagem.

Será a usada a mensagem ItemStockLevel_1_000.

 

BlocoTagDescriçãoObservação
BusinessContentTypeItemCodeCódigo do produtoSB2.B2_COD
BusinessContentTypeItemDescriptionDescrição do itemSB1.B1_DESC
ListOfStock   
ListOfStockReferenceCodeReferência------
ListOfStockWarehouseCodeDepósito/Local de estoqe/ArmazemSB2.B2_LOCAL
ListOfStockLotCodeNúmero do LoteSB8.B8_LOTECTL
ListOfStockSubLotCodeSub-LoteSB8.B8_NUMLOTE
ListOfStockNumberSeriesNúmero de SérieSBF.BF_NUMSERI
ListOfStockAddressCodeEndereço/LocalizaçãoSBF.BF_LOCALIZ
ListOfStockLotDueDateData de ValidadeSB8.B8_DTVALID
ListOfStockCurrentStockAmountSaldo de estoque

SB2.B2_QATU

SB8.B8_SALDO

SBF.BF_QUANT

ListOfStockBookedStockAmountQuantidade Reservada

SB2.B2_RESERVA

SB8.B8_EMPENHO

SBF.BF_EMPENHO

ListOfStockAvailableStockAmountSaldo disponível

SB2.B2_QATU - SB2.B2_RESERVA

SB8.B8_SALDO - SB8.B8_EMPENHO

SBF.BF_QUANT - SBF.BF_EMPENHO

ListOfStock
QuantityUpdated
Quantidade Atualizada 
ListOfStockInputOutputEntrada ou SaídaE ou S1 = Entrada ou 2 = Saída


2.1 Criar a mensagem

 

Incluir a nova mensagem ItemStockLevel contendo os seguintes campos:

 

BusinessContentTypeItemCodeCódigo Itemxs:string30
BusinessContentTypeItemDescriptionDescrição Itemxs:string40
ListOfStock    
ListOfStockReferenceCodeReferênciaxs:string20
ListOfStockWarehouseCodeDepósito/Local de estoqe/Armazemxs:string10
ListOfStock LotCodeNúmero do Lotexs:string10
ListOfStockSubLotCodeSub Lotexs:string10
ListOfStockNumberSeriesNúmero de Sériexs:string20
ListOfStockAddressCodeEndereço/Localizaçãoxs:string15
ListOfStockLotDueDateData de Validadexs:date 
ListOfStockCurrentStockAmountSaldo de estoquexs:decimal17,4
ListOfStockBookedStockAmountQuantidade Reservadaxs:decimal17,4
ListOfStockAvailableStockAmountSaldo disponívelxs:decimal17,4
ListOfStockQuantityUpdatedQuantidade atualizadaxs:decimal17,4
ListOfStockInputOutputEntrada ou Saídaxs:string1


 

 2,.2 Atualização do saldo ( inlcusão do lote )

Quando incluir ou atualizar um saldo novo no ERP, deverá enviar a mensagem ao PC-Factory.

Todos os pontos que executam uma movimentação de estoque executam rotinas de atualização de saldo.

  • NF de Entrada  - Função B2ATUCOMD1
  • NF de Venda - Função B2ATUCOMD2
  • Mov. Internas - Função B2ATUCOMD3

Estas funções serão alteradas para executar o adapter com a opção de envio TRANS_SEND.

A execução do adapter nestas funções está condicionada a parametrização no PCPA109, do folder Saldo de Estoque. No PCPA109 também será definido o filtro sobre a tabela SB2.

 

2.2.1 Alterar Adapter MATI225 e MATA225 e funções de atualizações de saldo

Alterar as funções B2ATUCOMD1, B2ATUCOMD2 e B2ATUCOMD3 para executar a integração. Como será possível realizar filtros e algumas outras tratativas, deverá executar a função MATA225PPI que, depois de satisfazer os filtros deverá executar o adapter. Somente se o saldo for atualizado corretamente executar o adapter. Mesmo modelo do MATA010 MATI010.

Criar a função MATA225PPI. Nesta função deverá executar a geração.

aRet := MATI225(cXml, nTypeTrans, cTypeMessage)

Onde: nTypeTrans=TRANS_SEND

<função para enviar o XML para o WebService da PPI e recuperar o retorno> : PCPWebsPPI
Se o retorno for positivo poderá prosseguir com a inclusão/alteração e geração do XML nos diretórios correspondentes.
<função para gerar o XML nos diretórios> : PCPXmlPPI
<função para gerar tabela de integração SOF> : PCPCriaSOF

 

IMPORTANTE: Considerar a parametrização do PCPA109 que indica quais dessas funções deverá gerar a mensagem. Considerar a seguinte regra:

  • Caso SOE.OE_VAR1 = '1' a Função B2ATUCOMD1 deverá executar o MATA225PPI. 
  • Caso SOE.OE_VAR2 = '1' a Função B2ATUCOMD2 deverá executar o MATA225PPI. 
  • Caso SOE.OE_PARINTG = '1' a Função B2ATUCOMD3 deverá executar o MATA225PPI. 

             Exemplo na B2ATUCOMD1 :

            If l PCPIntgPPI() AND SOE.OE_VAR1 = '1'

                lRet := MATA225PPI()

           EndIf

  • Quando o saldo for atualizado por uma atualização do PC-Factory não deverá enviar mensagem de atualização de saldo. Deve validar a origem da atualização. 
    Na mensagem de apontamento de produção usa-se "Product name"  que indica quem está enviado o registro. No caso do TOTVS MES essa informação é gravada na SH6.H6_OBSERVA = 'TOTVSMES'.
    Quando for movimentação interna é registrado na SD3.D3_OBSERVA = 'TOTVSMES'. Desta forma somente executar as funções B2AtuComD1,B2AtuComD2 ou B2AtuComD3 se não for movimentação da PPI, ou seja, D3_OBSERVA diferente e TOTVSMES.
  • Na mensagem o campo QuantityUpdated corresponde a quantidade atualizada, ou seja, a quantidade que esta sendo movimentada. 
    Exemplo(B2AtuComD3):   Replace  B2_QATU    With B2_QATU    + (SD3->D3_QUANT   * nMultiplic) .
                                             Usar D3_QUANT para gerar a quantidade atualizada
  • Na mensagem o campo InputOutput indica se a movimentação é uma entrada ou saída. 
    Exemplo(B2AtuComD3):   Replace  B2_QATU    With B2_QATU    + (SD3->D3_QUANT   * nMultiplic) .
                                            Usar a variável nMultiplic para registrar. Se for menor que zero gravar 'S' 2 (Saída), senão gravar 'E'1 (Entrada).

 

A função MATI225 será responsável pela geração do XML. Somente o envio - TRANS_SEND.

Cabeçalho:

Quando for executado via integração com PCFactory deverá montar o cabeçalho da mensagem que consta com as tags TOTVSMessage e MessageInformation.

Abaixo modelo:

<?xml version="1.0" encoding="UTF-8" ?>
<TOTVSMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="xmlschema/general/events/ItemStockLevel_1_000.xsd">
<MessageInformation version="1.000">
<UUID>d97aeb6f-1440-8c81-fc13-ec8cf87b82ad</UUID>
<Type>BusinessMessage</Type>
<Transaction>ItemStockLevel</Transaction>
<StandardVersion>1.0</StandardVersion>
<SourceApplication>dts11cordas8480</SourceApplication>
<CompanyId>10</CompanyId>
<BranchId>10</BranchId>
<UserId>xxx</UserId>
<Product name="Datasul" version="11.5.X"/>
<GeneratedOn>2015-07-10T16:25:21.971-03:00</GeneratedOn>

 <ContextName>PROTHEUS</ContextName>
<DeliveryType>Sync</DeliveryType>
</MessageInformation>
<BusinessMessage>
<BusinessEvent>
......................
</BusinessEvent>
....................
....................
<\BusinessMessage>


Onde:
TOTVSMessage xmlns:xsi Indica o xsd para gerarção do XML. Usar o conteúdo do modelo.
MessageInformation version Indica a versão da mensagem. Usar “1.000”
UUID : Sequencial usado pelo EAI. Gerar fixo “1’.
Type: Tipo da mensagem. Gerar fixo “BusinessMessage”
Transaction: Indica o que está sendo enviado. Gerar fixo “ItemStockLevel”
StandardVersion: Versão. Gerar fixo “1.0”
SourceApplication: Aplicação que está executando. Gerar fixo “SIGAPCP”
CompanyId: Código da empresa. Empresa que estiver logada
BranchId: Código da filial. Filial logada.
UserId: Usuário. Usuário logado.
Product: Nome do produto. Name = Rotina que foi executada pelo menu | version = versão do programa.
GenerateOn = Data e hora da geração da mensagem

ContextName = Protheus
DeliveryType:Tipo de envio da mensagem. Gerar fixo “Sync”.

Dentro do BusinessMessage existe o bloco BusinessEvent com as seguintes tags:

<BusinessEvent>
<Entity>ItemStockLevel</Entity>
<Event>upsert</Event>
<Identification>
<key name="InternalId">651140049</key>
</Identification>
</BusinessEvent>

Onde:
Entity: Entidade . Gerar fixo “ItemStockLevel”
Event: Inclusão/Alteração ou exclusão. Pode ser ‘delete’ ou ‘upsert’
Identification: Código do item
Usar key name="InternalID" : gerar com o código do item B2_COD

Dentro do BusinessMessage existe o bloco BusinessContent, que contém os dados do saldo do item. Ver na tabela da mensagem.

 

Filtros e geração do XML ():

No cadastro de parâmetros PCPA109, é definido se gera o arquivo XML nos diretórios. Quando este indicador, OD_GERAXML, estiver como 2('N') não será gravado o arquivo XML nos diretórios correspondentes. Será gravado apenas o conteúdo em tabela (SOF).
Caso o indicador , OD_GERAXML, estiver como 1('S') deverá seguir a seguinte regra de geração:
- Processados com sucesso : XML processado pelo PPI com retorno do PCFactory OK. XML será gravado no diretório cadastrado no campo Enviados(OD_DIRENV) do PCA109.
- Processados sem sucesso : XML processado pelo PPI com retorno de ERRO pelo PCFactory ou WebService desligado ( não conseguiu enviar o XML).
 XML será gravado no diretório definido no campo Pendência (OD_DIRPEND) do PCA109. Caso gerar pendência, não deverá ser questionado se deseja salvar os dados, sempre deverá gerar pendência. 


Em ambos os casos(sucesso ou erro/pendencia), ocorrendo o commit, será gerada a tabela SOF.

Importante: Os arquivos XML´s gerados e dados da tabela SOF somente serão gerados se a inclusão/alteração/exclusão do saldo for comitada no banco.
Os nomes do arquivos seguirão o seguinte padrão:
OK_<MSG>_<DATAHORA>_<REGISTRO>
PEND_<MSG>_<DATAHORA>_<REGISTRO>
ERR_<MSG>_<DATAHORA>_<REGISTRO>
Onde: OK - Se mensagem entregue sem problemas
PEND- Se mensagem não foi enviada
ERR - Se mensagem enviada, porém retornou erro.
MSG - ITEMSTOCKLEVEL
DATAHORA: Data e Hora do envio
REGISTRO: Código do item+ R_E_C_N_O+Tabela. A tabela pode ser SB2, SB8 ou SBF, dependendo da origem do saldo.


A tabela SOF conterá os seguintes A tabela SOF conterá os seguintes campos:

Transação : Nome da tabela (SB2,SB8 ou SBF)
Registro : código  Código do item+ R_E_C_N_O+Tabela
Status: 1 - OK; 2 - Pend; 3 - Erro
Gerou XML : Sim ou não
Nome arquivo XML
Data Envio
Hora de envio
Usuário
Mensagem de retorno do PCFactory
Xml : Conteúdo do XML
Programa: Rotina que gerou o registro
Data Reprocessamento : Quando reprocessado pela rotina de pendências
Hora Reprocessamento : Quando reprocessado pela rotina de pendências

IMPORTANTE:

  • Só poderá ter uma pendência para o registro.
  • Para gerar o XML e gravar a tabela SOF terá que respeitar as pendências geradas. Se existir uma pendência de envio de algum registro e for gerada uma nova mensagem para o mesmo registro a pendencia deverá ser excluída e trabalhar somente com a última mensagem, que poderá ser enviada sem problemas ou gerar nova pendência. 


Filtros:
No PCPA109 são definidos os filtros que indicam quais registros serão enviados ao PCFactory.

Para o saldo em estoque poderá ter até 3 filtros. Filtro da tabela SB2, SB8 e SBF.


Deverá ler os dados da tabelas SOE onde o campo OE_TABELA seja = 'SB2', OE_TABELA seja = 'SB8' e OE_TABELA seja = 'SBF'.Deverá fazer o JOIN destas tabelas para montar o filtro.seguir a regra abaixo:

  • Se o item controlar endereço (B1-LOCALIZ) deverá usar somente o filtro SBF
  • Se o item controlar rastro (B1_rastro) deverá usar somente o filtro SB8
  • Não usando as parametrizações acima usar filtro da SB2

O campo OE_FILTRO conterá o filtro O campo OE_FILTRO conterá o filtro que deverá ser aplicado ao registro que está sendo enviado. Somente poderá enviar(gerar xml) se satisfazer a condição do PCPA109.
Observação

  •  Se não existir filtro na SOE , OE_FILTRO, enviará todos os registros.

Endereçamento:

Quando o item controla endereçamento(B1_LOCALIZ), existe a rotina MATA265 que efetiva o endereçamento. Nesse caso as rotinas que geram/atualizam saldo não deverão enviar a mensagem, pois atualizam somente a SB2,. A mensagem será gerada somente na confirmação do MATA265.

Desta forma tem que realizar a chamada da função MATA225PPI na Function GravaSBF.

 

2.3 Inclusão de saldo

 

As rotinas de inclusão de saldo não executam as função de atualização da SB2 (B2ATUCOMD1,B2ATUCOMD2 e B2ATUCOMD3) .

Serão alteradas as rotinas de saldo inicial do PCP e Estoque:

  • MATA220  
  • MATA805

Verificar  os controles dos itens:

  • Se o item controlar endereço (B1-LOCALIZ) deverá gerar a mensagem usando a tabela SBF
  • Se o item controlar rastro (B1_rastro) deverá gerar a mensagem usando a tabela  SB8
  • Não usando as parametrizações acima gerar usando a tabela  SB2

 

IMPORTANTE: Considerar a parametrização do PCPA109 que indica se na inclusão de saldo deverá ser integrada.Considerar a seguinte regra:Somente integrar(executar o MATA225PPI) se o campo SOE.OE_VAR3 = '1'.

Exemplo:

If PCPIntgPPI() AND SOE.OE_VAR3= '1'

    lRet := MATA225PPI()

 EndIf

 

Deve seguir a mesma regra de geração do XML, geração de pendências, utilização de filtros conforme tópico 2.2 desta especificação.           

 

Opcional

Protótipo de Tela

 

<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.

 

Protótipo 01

 

 

 

 

 

 

 

 

 

Opcional

Fluxo do Processo

 

<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>. 

Opcional

Dicionário de Dados

 

(Opcional)

Grupo de Perguntas

 

<Informações utilizadas na linha Protheus>.

 

 

(Opcional)

Consulta Padrão

<Informações utilizadas na linha Protheus>

 

 

 

(Opcional)

Estrutura de Menu

 

<Informações utilizadas na linha Datasul>.

 

 

Cadastro de Papéis

<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.

<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.

 


[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.

[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante

[3] Categorias são obrigatórias para os programas FLEX.

[4] Obrigatório quando o projeto for FLEX

[5] Obrigatório quando o projeto for FLEX

[6] Obrigatório quando o projeto for FLEX

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.