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.


Ao realizar a inclusão de um Purchase Order via rotina automática, é importante dizer que existem basicamente duas formas de ser realizada esta integração. Na primeira forma, é possível realizar a Inclusão do PO sem informar um número de SI (Solicitação de Importação), nestes casos, o sistema também efetuará a inclusão automática de uma SI para que a mesma seja vinculada ao PO. A segunda forma, é quando o sistema já possui SI gerada, neste caso, o número da SI deve ser informada nos itens do rdmake que será utilizado para a realização da integraçã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.
 
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



#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:= 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-0001" 		, 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"  ,  1.00000000      , NIL},;
      {"W3_PESO_BR",  1.000000        , NIL},;     
      {"W3_SALDO_Q",  0.000           , NIL},;
      {"W3_SI_NUM" ,  "SI0001"		  , 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"  ,  1.00000000      , NIL},;
      {"W3_PESO_BR",  1.000000        , NIL},;     
      {"W3_SALDO_Q",  0.000           , NIL},;
      {"W3_SI_NUM" ,  "SI0001"		  , 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



#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:= 5 //Opção a ser executada. 5-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-0001" 		, 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"  ,  1.00000000      , NIL},;
      {"W3_PESO_BR",  1.000000        , NIL},;     
      {"W3_SALDO_Q",  0.000           , NIL},;
      {"W3_SI_NUM" ,  "SI0001"		  , 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"  ,  1.00000000      , NIL},;
      {"W3_PESO_BR",  1.000000        , NIL},;     
      {"W3_SALDO_Q",  0.000           , NIL},;
      {"W3_SI_NUM" ,  "SI0001"		  , 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>