Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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.


  • Inclusã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.

Informações
titleImportante
  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;

Abaixo segue alguns exemplos de utilização de rotina automática para a manutenção do Purchase Order:

Bloco de código
languagepy
themeEclipse
titleModelo de Inclusão do Purchase Order por rotina automática
linenumberstrue
collapsetrue
#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-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


  • Alteração


Bloco de código
languagepy
themeEclipse
titleModelo de Alteração do Purchase Order por rotina automática
linenumberstrue
collapsetrue
#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


  • Exclusão


Bloco de código
languagepy
themeEclipse
titleModelo de Exclusão do Purchase Order por rotina automática
linenumberstrue
collapsetrue
#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

...