01. DADOS GERAIS
Linha de Produto: | Virtual Age |
---|
Segmento: | Moda |
---|
Módulo: | Integração |
---|
Função: | Permitir realizar importação de pedido de compra por pacote |
---|
Ticket: |
|
---|
Requisito/Story/Issue (informe o requisito relacionado) : | DVAITG-2592 |
---|
02. SITUAÇÃO/REQUISITO
Muito de nossos clientes realizam a utilização do processo de importação de pedido de compra, porém atualmente não é possível realizar este processo de importação por pacote.
Para atender a necessidade de nossos clientes, será necessário a implementação do processo de importação de pedido de compra por pacote.
03. SOLUÇÃO
Foi implementado a rotina para permitir realizar a importação de pedido de compra, com base no layout "8001 - Pedido de compra", utilizando o processo de importação pelo componente INTFP053.
<!-- PK: Chave primaria -->
<!-- *: Obrigatorio -->
<!-- Definir layout -->
<!-- PK: Chave primaria -->
<!-- *: Obrigatorio -->
<dados>
<tipoDesconto><!-- Ocorrencia: 0-N -->
<cdTipoDesc>NUMBER(3) PK *</cdTipoDesc>
<dsTipoDesc>CHAR(40) *</dsTipoDesc>
<prDescPadrao>NUMBER(9,6)</prDescPadrao>
</tipoDesconto>
<tipoClassificacao><!-- Ocorrencia: 0-N -->
<cdTipoClas>NUMBER(4) PK *</cdTipoClas>
<dsTipoClas>VARCHAR2(40) *</dsTipoClas>
<classificacao><!-- Ocorrencia: 1-N -->
<cdClassificacao>CHAR(10) PK *</cdClassificacao>
<dsClassificacao>VARCHAR2(60) *</dsClassificacao>
</classificacao>
</tipoClassificacao>
<campoAdicional><!-- Ocorrencia: 0-N -->
<cdCampoAdic>NUMBER(4) PK *</cdCampoAdic>
<dsCampoAdic>CHAR(60) *</dsCampoAdic>
<tpCampoAdic>NUMBER(2) *</tpCampoAdic> <!-- 01: Alfanumerico / 03: Numerico / 03: Data -->
<nrTamanhoAdic>NUMBER(4) *</nrTamanhoAdic>
<nrDecimalAdic>NUMBER(2)</nrDecimalAdic> <!-- preencher apenas quando tpCampo for igual a 2 -->
<tpUtilizacaoAdic>NUMBER(2)</tpUtilizacaoAdic> <!-- 01: Capa / 02: Item -->
</campoAdicional>
<pedidoCompra> <!-- Ocorrencia: 0-N -->
<nrCNPJEmp>CHAR(18) PK *</nrCNPJEmp><!-- Empresa onde será gravado o pedido -->
<nrPedido>CHAR(20) PK *</nrPedido> <!-- Codigo do pedido no fornecedor-->
<cdPedido>NUMBER(9)</cdPedido> <!--Na entrada do pedido é gerado automaticamente -->
<dtPedido>DATE *</dtPedido> <!--Data inclusão do pedido DT_INCLUSAO -->
<nrCPFCNPJFor>CHAR(18) *</nrCPFCNPJFor> <!--CNPJ do Fornecedor do pedido -->
<cdComprador>NUMBER(6) </cdComprador>
<cdOperacao>CHAR(10)</cdOperacao>
<cdCondPgto>CHAR(10)*</cdCondPgto>
<dtBasePagamento>DATE</dtBasePagamento>
<cdTabelaPreco>CHAR(10)</cdTabelaPreco>
<nrCPFCNPJTransp>CHAR(18)</nrCPFCNPJTransp>
<nrCPFCNPJRedespac>CHAR(18)</nrCPFCNPJRedespac>
<tpFrete>CHAR(01)</tpFrete> <!-- 1-Contratado por conta remetente (CIF)/2 - Contratado por conta destinatrio (FOB)/3 Contratado por conta Terceiros/4-Sem ocorrencia transporte/5-Proprio por conta remetente/6-Proprio por conta destinatrio -->
<prFrete>NUMBER(9,6)</prFrete> <!-- 1: Quando preenchido nao informar vlFrete -->
<vlFrete>NUMBER(12,2)</vlFrete> <!-- 1: Quando preenchido nao informar prFrete -->
<dtPrevBaixa>DATE</dtPrevBaixa>
<dtLimiteEntrega>DATE</dtLimiteEntrega>
<tpSituacao>NUMBER(2)</tpSituacao> <!-- Novo 19/02/2019 --> <!-- 1: Em andamento / 5: Bloqueado -->
<tpCobranca>NUMBER(2)</tpCobranca> <!-- 1-Duplicata/2-Boleto Bancario/12-Deposito Bancario -->
<desconto> <!-- Ocorrencia: 0-N -->
<cdTipoDescPedido>NUMBER(03) PK *</cdTipoDescPedido>
<prDesc>NUMBER(9,6) *</prDesc>
</desconto>
<despesa> <!-- Ocorrencia: 0-N -->
<cdDespesa>NUMBER(8) PK *</cdDespesa>
<cdCCusto>NUMBER(9) PK *</cdCCusto>
<vlRateio>NUMBER(14,2) </vlRateio> <!--ou enviar valor ou envia o percentual -->
<prRateio>NUMBER(9,6)</prRateio> <!--ou enviar valor ou envia o percentual -->
</despesa>
<classificacaoPedido> <!-- Ocorrencia: 0-N -->
<cdTipoClasPedido>NUMBER(4) *</cdTipoClasPedido>
<cdClassificacaoPedido>CHAR(10) *</cdClassificacaoPedido>
</classificacaoPedido>
<campoAdicPedido> <!-- Ocorrencia: 0-N -->
<cdCampoAdicPedido>NUMBER(4) PK *</cdCampoAdicPedido>
<dsCampoAdicPedido>CHAR(80)</dsCampoAdicPedido>
</campoAdicPedido>
<observacaoPedido> <!-- Ocorrencia: 0-N -->
<dsObservacao>CHAR(80) *</dsObservacao>
</observacaoPedido>
<itemPedido> <!-- Ocorrencia: 1-N -->
<cdProdutoVA>CHAR(40) PK *</cdProdutoVA><!-- ou envia a tag do codigo do VA ou do Fornecedor-->
<cdProdutoFornec>CHAR(40) PK *</cdProdutoFornec><!-- ou envia tag do codigo do VA ou do Fornecedor - Se enviar do fornecedor tem que estar cadastrado no VA PRDFM021/PRDFM053-->
<dtPrevBaixaItem>DATE</dtPrevBaixaItem>
<qtSolicitada>NUMBER(12,3) *</qtSolicitada>
<vlUnitario>NUMBER(18,6) *</vlUnitario>
<vlUnitarioOrig>NUMBER(18,6)</vlUnitarioOrig> <!-- Novo 19/02/2019 -->
<prDesconto>NUMBER(9,6)</prDesconto>
<qtAtendida>NUMBER(12,3)</qtAtendida> <!-- Novo 19/02/2019 -->
<qtCancelada>NUMBER(12,3)</qtCancelada> <!-- Novo 19/02/2019 -->
<campoAdicItem> <!-- Ocorrencia: 0-N -->
<cdCampoAdicItem>NUMBER(4) PK *</cdCampoAdicItem>
<dsCampoAdicItem>CHAR(80)</dsCampoAdicItem>
</campoAdicItem>
<despesaItem> <!-- Ocorrencia: 0-N -->
<cdDespesa>NUMBER(8) PK *</cdDespesa>
<cdCCusto>NUMBER(9) PK *</cdCCusto>
<vlRateio>NUMBER(14,2) </vlRateio> <!--ou enviar valor ou envia o percentual -->
<prRateio>NUMBER(9,6)</prRateio> <!--ou enviar valor ou envia o percentual -->
</despesaItem>
<distribuicaoLoja><!-- Gera dados para utilizar a distribuição - Ocorrencia: 0-N -->
<nrCNPJLoja>CHAR(18) PK *</nrCNPJLoja>
<cdProduto>CHAR(40) PK *</cdProduto>
<qtDistribuicao>NUMBER(12,3) *</qtDistribuicao>
</distribuicaoLoja>
</itemPedido>
</pedidoCompra>
</dados>
<dados>
<tipoDesconto><!-- Ocorrencia: 0-N -->
<cdTipoDesc>77</cdTipoDesc>
<dsTipoDesc>DESCONTO TIPO 77</dsTipoDesc>
<prDescPadrao>77</prDescPadrao>
</tipoDesconto>
<tipoDesconto><!-- Ocorrencia: 0-N -->
<cdTipoDesc>78</cdTipoDesc>
<dsTipoDesc>DESCONTO TIPO 78</dsTipoDesc>
<prDescPadrao>78</prDescPadrao>
</tipoDesconto>
<tipoDesconto><!-- Ocorrencia: 0-N -->
<cdTipoDesc>79</cdTipoDesc>
<dsTipoDesc>DESCONTO TIPO 79</dsTipoDesc>
<prDescPadrao>79</prDescPadrao>
</tipoDesconto>
<tipoClassificacao><!-- Ocorrencia: 0-N -->
<cdTipoClas>9998</cdTipoClas>
<dsTipoClas>PRIORIDADE</dsTipoClas>
<classificacao><!-- Ocorrencia: 1-N -->
<cdClassificacao>1</cdClassificacao>
<dsClassificacao>BAIXA</dsClassificacao>
</classificacao>
<classificacao><!-- Ocorrencia: 1-N -->
<cdClassificacao>2</cdClassificacao>
<dsClassificacao>MEDIA</dsClassificacao>
</classificacao>
<classificacao><!-- Ocorrencia: 1-N -->
<cdClassificacao>3</cdClassificacao>
<dsClassificacao>ALTA</dsClassificacao>
</classificacao>
</tipoClassificacao>
<tipoClassificacao><!-- Ocorrencia: 0-N -->
<cdTipoClas>9999</cdTipoClas>
<dsTipoClas>PERIODO</dsTipoClas>
<classificacao><!-- Ocorrencia: 1-N -->
<cdClassificacao>1</cdClassificacao>
<dsClassificacao>PRIMEIRO TRIMESTRE</dsClassificacao>
</classificacao>
<classificacao><!-- Ocorrencia: 1-N -->
<cdClassificacao>2</cdClassificacao>
<dsClassificacao>SEGUNDO TRIMESTRE</dsClassificacao>
</classificacao>
<classificacao><!-- Ocorrencia: 1-N -->
<cdClassificacao>3</cdClassificacao>
<dsClassificacao>TERCEIRO TRIMESTRE</dsClassificacao>
</classificacao>
<classificacao><!-- Ocorrencia: 1-N -->
<cdClassificacao>4</cdClassificacao>
<dsClassificacao>QUARTO TRIMESTRE</dsClassificacao>
</classificacao>
</tipoClassificacao>
<tipoClassificacao><!-- Ocorrencia: 0-N -->
<cdTipoClas>44</cdTipoClas>
<dsTipoClas>TESTE</dsTipoClas>
<classificacao><!-- Ocorrencia: 1-N -->
<cdClassificacao>A1</cdClassificacao>
<dsClassificacao>TESTE ALFANUMERICO</dsClassificacao>
</classificacao>
<classificacao><!-- Ocorrencia: 1-N -->
<cdClassificacao>2</cdClassificacao>
<dsClassificacao>NUMERICO</dsClassificacao>
</classificacao>
</tipoClassificacao>
<campoAdicional><!-- Ocorrencia: 0-N -->
<cdCampoAdic>11</cdCampoAdic>
<dsCampoAdic>CAMPO STRING CAPA</dsCampoAdic>
<tpCampoAdic>1</tpCampoAdic> <!-- 01: Alfanumerico / 03: Numerico / 03: Data -->
<nrTamanhoAdic>10</nrTamanhoAdic>
<nrDecimalAdic></nrDecimalAdic> <!-- preencher apenas quando tpCampo for igual a 2 -->
<tpUtilizacaoAdic>1</tpUtilizacaoAdic> <!-- 01: Capa / 02: Item -->
</campoAdicional>
<campoAdicional><!-- Ocorrencia: 0-N -->
<cdCampoAdic>12</cdCampoAdic>
<dsCampoAdic>CAMPO STRING ITEM</dsCampoAdic>
<tpCampoAdic>1</tpCampoAdic> <!-- 01: Alfanumerico / 03: Numerico / 03: Data -->
<nrTamanhoAdic>20</nrTamanhoAdic>
<nrDecimalAdic></nrDecimalAdic> <!-- preencher apenas quando tpCampo for igual a 2 -->
<tpUtilizacaoAdic>2</tpUtilizacaoAdic> <!-- 01: Capa / 02: Item -->
</campoAdicional>
<campoAdicional><!-- Ocorrencia: 0-N -->
<cdCampoAdic>13</cdCampoAdic>
<dsCampoAdic>CAMPO NUMERICO</dsCampoAdic>
<tpCampoAdic>2</tpCampoAdic> <!-- 01: Alfanumerico / 03: Numerico / 03: Data -->
<nrTamanhoAdic>10</nrTamanhoAdic>
<nrDecimalAdic>3</nrDecimalAdic> <!-- preencher apenas quando tpCampo for igual a 2 -->
<tpUtilizacaoAdic>1</tpUtilizacaoAdic> <!-- 01: Capa / 02: Item -->
</campoAdicional>
<pedidoCompra> <!-- Ocorrencia: 0-N -->
<nrCNPJEmp>98247742000110</nrCNPJEmp><!-- Empresa onde será gravado o pedido -->
<nrPedido>30082019</nrPedido> <!-- Codigo do pedido no fornecedor-->
<dtPedido>30/08/2019</dtPedido> <!--Data inclusão do pedido DT_INCLUSAO -->
<nrCPFCNPJFor>63247015000179</nrCPFCNPJFor> <!--CNPJ do Fornecedor do pedido -->
<cdComprador>10</cdComprador>
<cdOperacao>3</cdOperacao>
<cdCondPgto>1</cdCondPgto>
<dtBasePagamento>31/08/2019</dtBasePagamento>
<cdTabelaPreco>201</cdTabelaPreco>
<nrCPFCNPJTransp>25385668000125</nrCPFCNPJTransp>
<nrCPFCNPJRedespac>91595323000120</nrCPFCNPJRedespac>
<tpFrete>2</tpFrete> <!-- 1-Contratado por conta remetente (CIF)/2 - Contratado por conta destinatrio (FOB)/3 Contratado por conta Terceiros/4-Sem ocorrencia transporte/5-Proprio por conta remetente/6-Proprio por conta destinatrio -->
<prFrete>11</prFrete> <!-- 1: Quando preenchido nao informar vlFrete -->
<vlFrete>31</vlFrete> <!-- 1: Quando preenchido nao informar prFrete | Na importação, caso for recebido será gravado como prFrete-->
<dtPrevBaixa>31/08/2019</dtPrevBaixa>
<dtLimiteEntrega>31/08/2019</dtLimiteEntrega>
<tpSituacao>1</tpSituacao> <!-- Novo 19/02/2019 --> <!-- 1: Em andamento / 5: Bloqueado -->
<tpCobranca>2</tpCobranca> <!-- 1-Duplicata/2-Boleto Bancario/12-Deposito Bancario -->
<desconto> <!-- Ocorrencia: 0-N -->
<cdTipoDescPedido>1</cdTipoDescPedido>
<prDesc>10</prDesc>
</desconto>
<desconto> <!-- Ocorrencia: 0-N -->
<cdTipoDescPedido>2</cdTipoDescPedido>
<prDesc>5</prDesc>
</desconto>
<despesa> <!-- Ocorrencia: 0-N -->
<cdDespesa>61093</cdDespesa>
<cdCCusto>1</cdCCusto>
<prRateio>20</prRateio> <!--ou enviar valor ou envia o percentual -->
</despesa>
<despesa> <!-- Ocorrencia: 0-N -->
<cdDespesa>61130</cdDespesa>
<cdCCusto>33</cdCCusto>
<prRateio>30</prRateio> <!--ou enviar valor ou envia o percentual -->
</despesa>
<despesa> <!-- Ocorrencia: 0-N -->
<cdDespesa>61130</cdDespesa>
<cdCCusto>38</cdCCusto>
<prRateio>30</prRateio> <!--ou enviar valor ou envia o percentual -->
</despesa>
<despesa> <!-- Ocorrencia: 0-N -->
<cdDespesa>61093</cdDespesa>
<cdCCusto>51</cdCCusto>
<prRateio>20</prRateio> <!--ou enviar valor ou envia o percentual -->
</despesa>
<classificacaoPedido> <!-- Ocorrencia: 0-N -->
<cdTipoClasPedido>44</cdTipoClasPedido>
<cdClassificacaoPedido>2</cdClassificacaoPedido>
</classificacaoPedido>
<classificacaoPedido> <!-- Ocorrencia: 0-N -->
<cdTipoClasPedido>44</cdTipoClasPedido>
<cdClassificacaoPedido>A1</cdClassificacaoPedido>
</classificacaoPedido>
<classificacaoPedido> <!-- Ocorrencia: 0-N -->
<cdTipoClasPedido>1</cdTipoClasPedido>
<cdClassificacaoPedido>01</cdClassificacaoPedido>
</classificacaoPedido>
<campoAdicPedido> <!-- Ocorrencia: 0-N -->
<cdCampoAdicPedido>1</cdCampoAdicPedido>
<dsCampoAdicPedido>20</dsCampoAdicPedido>
</campoAdicPedido>
<campoAdicPedido> <!-- Ocorrencia: 0-N -->
<cdCampoAdicPedido>3</cdCampoAdicPedido>
<dsCampoAdicPedido>99.800</dsCampoAdicPedido>
</campoAdicPedido>
<campoAdicPedido> <!-- Ocorrencia: 0-N -->
<cdCampoAdicPedido>4</cdCampoAdicPedido>
<dsCampoAdicPedido>30/08/2019</dsCampoAdicPedido>
</campoAdicPedido>
<observacaoPedido> <!-- Ocorrencia: 0-N -->
<dsObservacao>OBS 01</dsObservacao>
</observacaoPedido>
<observacaoPedido> <!-- Ocorrencia: 0-N -->
<dsObservacao>OBS 02</dsObservacao>
</observacaoPedido>
<observacaoPedido> <!-- Ocorrencia: 0-N -->
<dsObservacao>OBSERVACAO TESTE</dsObservacao>
</observacaoPedido>
<itemPedido> <!-- Ocorrencia: 1-N -->
<cdProdutoVA>199914</cdProdutoVA><!-- ou envia a tag do codigo do VA ou do Fornecedor-->
<cdProdutoFornec>AVFMIGAY</cdProdutoFornec><!-- ou envia tag do codigo do VA ou do Fornecedor - Se enviar do fornecedor tem que estar cadastrado no VA PRDFM021/PRDFM053-->
<dtPrevBaixaItem>31/08/2019</dtPrevBaixaItem>
<qtSolicitada>10</qtSolicitada>
<vlUnitario>1</vlUnitario>
<vlUnitarioOrig>1</vlUnitarioOrig> <!-- Novo 19/02/2019 -->
<prDesconto>0</prDesconto>
<qtAtendida>0</qtAtendida> <!-- Novo 19/02/2019 -->
<qtCancelada>0</qtCancelada> <!-- Novo 19/02/2019 -->
<campoAdicItem> <!-- Ocorrencia: 0-N -->
<cdCampoAdicItem>1</cdCampoAdicItem>
<dsCampoAdicItem>CAMPO ITEM 01</dsCampoAdicItem>
</campoAdicItem>
<campoAdicItem> <!-- Ocorrencia: 0-N -->
<cdCampoAdicItem>3</cdCampoAdicItem>
<dsCampoAdicItem>99998</dsCampoAdicItem>
</campoAdicItem>
<despesaItem> <!-- Ocorrencia: 0-N -->
<cdDespesa>61645</cdDespesa>
<cdCCusto>101</cdCCusto>
<vlRateio>0</vlRateio> <!--ou enviar valor ou envia o percentual -->
<prRateio>55</prRateio> <!--ou enviar valor ou envia o percentual -->
</despesaItem>
<despesaItem> <!-- Ocorrencia: 0-N -->
<cdDespesa>61645</cdDespesa>
<cdCCusto>81</cdCCusto>
<vlRateio>0</vlRateio> <!--ou enviar valor ou envia o percentual -->
<prRateio>45</prRateio> <!--ou enviar valor ou envia o percentual -->
</despesaItem>
<distribuicaoLoja><!-- Gera dados para utilizar a distribuição - Ocorrencia: 0-N -->
<nrCNPJLoja>89434225000160</nrCNPJLoja>
<cdProduto>199914</cdProduto>
<qtDistribuicao>2</qtDistribuicao>
</distribuicaoLoja>
<distribuicaoLoja><!-- Gera dados para utilizar a distribuição - Ocorrencia: 0-N -->
<nrCNPJLoja>70449685000133</nrCNPJLoja>
<cdProduto>199914</cdProduto>
<qtDistribuicao>3</qtDistribuicao>
</distribuicaoLoja>
<distribuicaoLoja><!-- Gera dados para utilizar a distribuição - Ocorrencia: 0-N -->
<nrCNPJLoja>04213909000189</nrCNPJLoja>
<cdProduto>199914</cdProduto>
<qtDistribuicao>5</qtDistribuicao>
</distribuicaoLoja>
</itemPedido>
</pedidoCompra>
</dados>
Imagem 01 - Na imagem acima, temos um exemplo de solicitação de autorização/token, com ele será possível realizar a geração do conteúdo para o pacote de pedido de compra para importação.
Imagem 02 - Na imagem acima, após informar o token de autorização e realizar a inclusão de pacote para o modelo "8001 - Pedido de compra", como no exemplo acima, será possível realizar a importação.
Imagem 01 - Para realizar a importação, abrir o componente INTFP053 e informar os filtros, neste nosso caso será informado apenas o modelo "8001 - Pedido de compra" e a data da inclusão do pacote, selecionar os pacotes e acionar a opção "Processar".
Imagem 02 - Podemos verificar o processamento realizado com sucesso.
Imagem 03 - Para o primeiro pacote, apenas foi importado um pedido dos dois presentes no arquivo, devido o código do pedido de compra para o fornecedor já possuir pedido de compra vinculado.
Imagem 04 - Para o segundo pacote, podemos observar a inclusão de todos os pedidos de compra informados no pacote.
Imagem 05 - Podemos verificar as informações, como pedidos gerados referente ao pacote em foco ao acionar a opção "Detalhamento".
Imagem 06 - Ao detalhar o pacote, será aberto o componente INTFC008, carregando as respectivas informações do pacote, como podemos verificar acima.
Imagem 07 - Podemos observar na imagem acima o pacote importado, conforme conteúdo do pacote.