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 segue alguns exemplos de utilização de rotina automática para a manutenção do Purchase Order.



Nos casos em que ocorram mais de uma linha na tabela SN3, é obrigatório a passagem do campo N3_SEQ.



#Include 'Protheus.ch'
#Include 'Totvs.ch'
#Include 'Tbiconn.ch'

User Function PO400Auto()
Local aCab  := {}      
Local aItem  := {}
Local nOpc:= 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" , "CC"                  , 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" ,  PadR("000025",   TamSX3("W3_SI_NUM")[1]),     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" ,  PadR("000025",   TamSX3("W3_SI_NUM")[1]),     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



1. Use quando for necessário descrever um passo a passo.

2. Use quando for necessário descrever um passo a passo.




<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>