CONTEÚDO

  1. Dados Gerais
  2. Exemplo de utilização
    1. Inclusão
    2. Alteração
    3. Exclusão
  3. Tabelas utilizada


01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:SIGAEIC
Função:EICPO400.PRW


02. Exemplo de Utilização

O Easy Import Control (SIGAEIC) disponibiliza a utilização de rotinas automáticas para a manutenção de Purchase Orders. Para isso, deve ser utilizado um rdmake que faça a chamada via Execauto da rotina EICPO400, responsável pela manutenção dos POs. Esta rotina espera receber um array com os dados da Capa do Purchase Order, e outro com os dados dos Itens. Também deve ser enviada a opção desejada, como Incluir, Alterar, ou Excluir.

Abaixo iremos abordar algumas características de cada opção.

  1. Quando não for informado o número da Solicitação de Importação (W3_SI_NUM), a sequência dos itens do Purchase Order será a informada no campo W3_REG;
  2. Quando for informada a Solicitação de Importação, o campo W3_REG deve corresponder a sequência do item na Solicitação de Importação;
#Include 'Protheus.ch'
#Include 'Totvs.ch'
#Include 'Tbiconn.ch'
 
User Function PO400Auto()
 
Local aCab  := {} //Array com os dados da Capa do Purchase Order 
Local aItem := {} //Array com os dados dos Itens do Purchase Order

Local nOpc:= 3 //Opção a ser executada. 3-Inclusão
 
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
 
   RPCSetEnv("99", "01", NIL, NIL, "EIC", NIL, {"SW2", "SW3"})
    
   //Capa do Purchase Order
   AADD(aCab,{"W2_PO_NUM"  , "PO-0003" 				, NIL})
   AADD(aCab,{"W2_PO_DT"   , dDataBase     			, NIL})
   AADD(aCab,{"W2_FORN"    , "0001  "              	, NIL})
   AADD(aCab,{"W2_FORLOJ"  , "01"                  	, NIL})
   AADD(aCab,{"W2_COMPRA"  , "GEN"                 	, NIL})
   AADD(aCab,{"W2_IMPORT"  , "GN"                  	, NIL})
   AADD(aCab,{"W2_AGENTE"  , "GN "                 	, NIL})
   AADD(aCab,{"W2_TIPO_EM" , "GN"                  	, NIL})
   AADD(aCab,{"W2_ORIGEM"  , "SPO"                	, NIL})
   AADD(aCab,{"W2_DEST"    , "GRU"                 	, NIL})
   AADD(aCab,{"W2_INCOTER" , "CIF"                 	, NIL})
   AADD(aCab,{"W2_FREPPCC" , "PP"                  	, NIL})
   AADD(aCab,{"W2_COND_PA" , "GN   "               	, NIL})
   AADD(aCab,{"W2_MOEDA"   , "US$"                 	, NIL})
   AADD(aCab,{"W2_DT_PAR"  , dDataBase             	, NIL})
   AADD(aCab,{"W2_PARID_U" , 1.000000              	, NIL})
   AADD(aCab,{"W2_E_LC"    , "2"                   	, NIL})
 
   //Dados para os Itens do Purchase Order
   aAdd(aItem,{;
      {"W3_COD_I"  ,  "GEN-00"        , NIL},;             
      {"W3_CC"     ,  "GEN00"         , NIL},;             
      {"W3_REG"    ,  1               , NIL},;             
      {"W3_PRECO"  ,  100.00000       , NIL},;                 
      {"W3_FABR"   ,  "0001  "        , NIL},;
      {"W3_FABLOJ" ,  "01"            , NIL},;               
      {"W3_FORN"   ,  "0001  "        , NIL},;
      {"W3_FORLOJ" ,  "01"            , NIL},;               
      {"W3_QTDE"   ,  10.000          , NIL},;             
      {"W3_DT_EMB" ,  dDataBase       , NIL},;
      {"W3_DT_ENTR",  dDataBase       , NIL},;
      {"W3_PESOL"  ,  2.70000000      , NIL},;
      {"W3_PESO_BR",  1.000000        , NIL}})
      //{"W3_SI_NUM" ,  "4748-1",     NIL}}) //A SI deve ser informada quando já possuir a solicitação gerada no sistema. QUando não informada, será gerada de forma automática
 
   aAdd(aItem,{;
      {"W3_COD_I"  ,  "GEN-00"        , NIL},;             
      {"W3_CC"     ,  "GEN00"         , NIL},;             
      {"W3_REG"    ,  2               , NIL},;             
      {"W3_PRECO"  ,  100.00000       , NIL},;                 
      {"W3_FABR"   ,  "0001  "        , NIL},;
      {"W3_FABLOJ" ,  "01"            , NIL},;               
      {"W3_FORN"   ,  "0001  "        , NIL},;
      {"W3_FORLOJ" ,  "01"            , NIL},;               
      {"W3_QTDE"   ,  15.000          , NIL},;             
      {"W3_DT_EMB" ,  dDataBase       , NIL},;
      {"W3_DT_ENTR",  dDataBase       , NIL},;
      {"W3_PESOL"  ,  3.10000000      , NIL},;
      {"W3_PESO_BR",  1.000000        , NIL}})
      //{"W3_SI_NUM" ,  "4748-2",     NIL}}) //A SI deve ser informada quando já possuir a solicitação gerada no sistema. QUando não informada, será gerada de forma automática

   MSExecAuto({|a,b,c,d| EICPO400(a,b,c,d)}, NIL, aCab, aItem, nOpc)
 
   If lMsErroAuto 
      MostraErro()
   Else
      MsgInfo("Ok - P.O.")
   EndIf      
 
RPCClearEnv()
 
Return Nil


Ao realizar a alteração de um Purchase Order, obrigatoriamente deverá ser informado, além do código do PO nas informações da Capa, os dados de número da SI (Solicitação de Importação), Código do Produto, Centro de Custo e Reg para os Itens.


#Include 'Protheus.ch'
#Include 'Totvs.ch'
#Include 'Tbiconn.ch'
  
User Function 1PO400Auto()
  
Local aCab  := {} //Array com os dados da Capa do Purchase Order
Local aItem := {} //Array com os dados dos Itens do Purchase Order
 
Local nOpc:= 4 //Opção a ser executada. 4-Alteração
  
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
  
   RPCSetEnv("99", "01", NIL, NIL, "EIC", NIL, {"SW2", "SW3"})
     
   //Capa do Purchase Order
   AADD(aCab,{"W2_PO_NUM"  , "PO-0004"              , NIL})
   AADD(aCab,{"W2_PO_DT"   , dDataBase              , NIL})
   AADD(aCab,{"W2_FORN"    , "0001  "               , NIL})
   AADD(aCab,{"W2_FORLOJ"  , "01"                   , NIL})
   AADD(aCab,{"W2_COMPRA"  , "GEN"                  , NIL})
   AADD(aCab,{"W2_IMPORT"  , "GN"                   , NIL})
   AADD(aCab,{"W2_AGENTE"  , "GN "                  , NIL})
   AADD(aCab,{"W2_TIPO_EM" , "GN"                   , NIL})
   AADD(aCab,{"W2_ORIGEM"  , "SPO"                  , NIL})
   AADD(aCab,{"W2_DEST"    , "GRU"                  , NIL})
   AADD(aCab,{"W2_INCOTER" , "CIF"                  , NIL})
   AADD(aCab,{"W2_FREPPCC" , "PP"                   , NIL})
   AADD(aCab,{"W2_COND_PA" , "GN   "                , NIL})
   AADD(aCab,{"W2_MOEDA"   , "US$"                  , NIL})
   AADD(aCab,{"W2_DT_PAR"  , dDataBase              , NIL})
   AADD(aCab,{"W2_PARID_U" , 1.000000               , NIL})
   AADD(aCab,{"W2_E_LC"    , "2"                    , NIL})
  
   //Dados para os Itens do Purchase Order
   aAdd(aItem,{;
      {"W3_COD_I"  ,  "GEN-00"        , NIL},;            
      {"W3_CC"     ,  "GEN00"         , NIL},;            
      {"W3_REG"    ,  1               , NIL},;            
      {"W3_PRECO"  ,  100.00000       , NIL},;                
      {"W3_FABR"   ,  "0001  "        , NIL},;
      {"W3_FABLOJ" ,  "01"            , NIL},;              
      {"W3_FORN"   ,  "0001  "        , NIL},;
      {"W3_FORLOJ" ,  "01"            , NIL},;              
      {"W3_QTDE"   ,  10.000          , NIL},;            
      {"W3_DT_EMB" ,  dDataBase       , NIL},;
      {"W3_DT_ENTR",  dDataBase       , NIL},;
      {"W3_PESOL"  ,  2.90000000      , NIL},;
      {"W3_PESO_BR",  1.000000        , NIL},;
      {"W3_SI_NUM" ,  "SSSST6",     NIL}})
  
   aAdd(aItem,{;
      {"W3_COD_I"  ,  "GEN-00"        , NIL},;            
      {"W3_CC"     ,  "GEN00"         , NIL},;            
      {"W3_REG"    ,  2               , NIL},;            
      {"W3_PRECO"  ,  100.00000       , NIL},;                
      {"W3_FABR"   ,  "0001  "        , NIL},;
      {"W3_FABLOJ" ,  "01"            , NIL},;              
      {"W3_FORN"   ,  "0001  "        , NIL},;
      {"W3_FORLOJ" ,  "01"            , NIL},;              
      {"W3_QTDE"   ,  15.000          , NIL},;            
      {"W3_DT_EMB" ,  dDataBase       , NIL},;
      {"W3_DT_ENTR",  dDataBase       , NIL},;
      {"W3_PESOL"  ,  3.30000000      , NIL},;
      {"W3_PESO_BR",  1.000000        , NIL},;
      {"W3_SI_NUM" ,  "SSSST6",     NIL}}) 
 
   MSExecAuto({|a,b,c,d| EICPO400(a,b,c,d)}, NIL, aCab, aItem, nOpc)
  
   If lMsErroAuto
      MostraErro()
   Else
      MsgInfo("Ok - P.O.")
   EndIf     
  
RPCClearEnv()
  
Return Nil


Para a realização da exclusão do Purchase Order via rotina automática, é necessário apenas que seja enviado as informações referente a capa do PO, podendo também, de forma opcional, enviar os dados dos itens.


#Include 'Protheus.ch'
#Include 'Totvs.ch'
#Include 'Tbiconn.ch'
  
User Function 1PO400Auto()
  
Local aCab  := {} //Array com os dados da Capa do Purchase Order
Local aItem := {} //Array com os dados dos Itens do Purchase Order
 
Local nOpc:= 5 //Opção a ser executada. -Exclusão
  
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
  
   RPCSetEnv("99", "01", NIL, NIL, "EIC", NIL, {"SW2", "SW3"})
     
   //Capa do Purchase Order
   AADD(aCab,{"W2_PO_NUM"  , "PO-0004"              , NIL})
   AADD(aCab,{"W2_PO_DT"   , dDataBase              , NIL})
   AADD(aCab,{"W2_FORN"    , "0001  "               , NIL})
   AADD(aCab,{"W2_FORLOJ"  , "01"                   , NIL})
   AADD(aCab,{"W2_COMPRA"  , "GEN"                  , NIL})
   AADD(aCab,{"W2_IMPORT"  , "GN"                   , NIL})
   AADD(aCab,{"W2_AGENTE"  , "GN "                  , NIL})
   AADD(aCab,{"W2_TIPO_EM" , "GN"                   , NIL})
   AADD(aCab,{"W2_ORIGEM"  , "SPO"                  , NIL})
   AADD(aCab,{"W2_DEST"    , "GRU"                  , NIL})
   AADD(aCab,{"W2_INCOTER" , "CIF"                  , NIL})
   AADD(aCab,{"W2_FREPPCC" , "PP"                   , NIL})
   AADD(aCab,{"W2_COND_PA" , "GN   "                , NIL})
   AADD(aCab,{"W2_MOEDA"   , "US$"                  , NIL})
   AADD(aCab,{"W2_DT_PAR"  , dDataBase              , NIL})
   AADD(aCab,{"W2_PARID_U" , 1.000000               , NIL})
   AADD(aCab,{"W2_E_LC"    , "2"                    , NIL})
  
   //Dados para os Itens do Purchase Order
   aAdd(aItem,{;
      {"W3_COD_I"  ,  "GEN-00"        , NIL},;            
      {"W3_CC"     ,  "GEN00"         , NIL},;            
      {"W3_REG"    ,  1               , NIL},;            
      {"W3_PRECO"  ,  100.00000       , NIL},;                
      {"W3_FABR"   ,  "0001  "        , NIL},;
      {"W3_FABLOJ" ,  "01"            , NIL},;              
      {"W3_FORN"   ,  "0001  "        , NIL},;
      {"W3_FORLOJ" ,  "01"            , NIL},;              
      {"W3_QTDE"   ,  10.000          , NIL},;            
      {"W3_DT_EMB" ,  dDataBase       , NIL},;
      {"W3_DT_ENTR",  dDataBase       , NIL},;
      {"W3_PESOL"  ,  2.90000000      , NIL},;
      {"W3_PESO_BR",  1.000000        , NIL}})
  
   aAdd(aItem,{;
      {"W3_COD_I"  ,  "GEN-00"        , NIL},;            
      {"W3_CC"     ,  "GEN00"         , NIL},;            
      {"W3_REG"    ,  2               , NIL},;            
      {"W3_PRECO"  ,  100.00000       , NIL},;                
      {"W3_FABR"   ,  "0001  "        , NIL},;
      {"W3_FABLOJ" ,  "01"            , NIL},;              
      {"W3_FORN"   ,  "0001  "        , NIL},;
      {"W3_FORLOJ" ,  "01"            , NIL},;              
      {"W3_QTDE"   ,  15.000          , NIL},;            
      {"W3_DT_EMB" ,  dDataBase       , NIL},;
      {"W3_DT_ENTR",  dDataBase       , NIL},;
      {"W3_PESOL"  ,  3.30000000      , NIL},;
      {"W3_PESO_BR",  1.000000        , NIL}})

 
   MSExecAuto({|a,b,c,d| EICPO400(a,b,c,d)}, NIL, aCab, aItem, nOpc)
  
   If lMsErroAuto
      MostraErro()
   Else
      MsgInfo("Ok - P.O.")
   EndIf     
  
RPCClearEnv()
  
Return Nil


03. Tabelas Utilizadas

SW0 - Capa de Solicitação Importação

SW1 - Itens Solicitação Importação  

SW2 - Capa de Purchase Order  

SW3 - Itens de Purchase Order  

SW5 - Itens Preparação Licença Imp  

SW6 - Capa Declaração de Importação 



<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}

.aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { 
	background: #FF9900; !important 
}

.menu-item.active-tab { 
	border-bottom: none !important; 
}

</style>