Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Propriedades de página

CONTEÚDO

  1. Dados Gerais
  2. Exemplo de utilização
    1. Inclusão
    2. Alteração
    3. Exclusão
  3. Outras Informações
  4. Tabelas utilizada


01. DADOS GERAIS

...

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.

Informações
titleImportante

Ao incluir um Purchase Order via rotina automática, o mesmo não poderá sofrer alterações via tela no Protheus. Qualquer alteração ou exclusão que venha a ser necessária ser executada para um Purchase Order inserido via rotina automática, deverá ser feita via rotina automática.


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

Deck of Cards
idExemplos
  • 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;
  • Quando for informada

    Para efetuar a inclusão de um Purchase Order via rotina automática, existem duas possibilidades que podem ser abordadas. A primeira opção é o envio dos dados de inclusão, já informando uma Solicitação de Importação previamente cadastrada. A segunda forma de Incçusão, é não informar um código para a Solicitação de Importação, neste caso o sistema efetuará o cadastro da Solicitação de forma automática para os itens enviados na execução da Inclusão.

    Card
    id1
    labelInclusão
    Informações
    titleImportante
    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 (W1_REG);
    o campo W3_REG deve corresponder a sequência do item na Solicitação de Importação;
    Bloco de código
    languagepy
    themeEclipse
    titleModelo de Inclusão do Purchase Order por rotina automática
    linenumbers
    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-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
    
    
    Card
    id2
    labelAlteração

    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.

    Durante uma alteração, também será possível adicionar novos itens ao PO ou até mesmo retirar itens já vinculados ao PO. 

    Informações
    titleImportante
    1. Para todas as alterações do PO, será sempre obrigatório o envio de uma Solicitação de Importação e a sequência do item (W3_REG). Ao informar uma SI com uma sequência (W3_REG) que não exista, a alteração do PO efetuará a inclusão deste item na SI e o vinculará no PO. Também é possível enviar uma SI e um REG de um registro que já exista na SI, desta forma este item somente será adicionado ao PO.
    2. Para o envio de uma Alteração do PO, para a exclusão de Itens (O item será desmarcado do PO, sendo desvinculado do mesmo e seu saldo devolvido à SI) será obrigatório o envio da opção "AUTDELETA" com o conteúdo "S".
    Bloco de código
    languagepy
    themeEclipse
    titleModelo de Alteração do Purchase Order por rotina automática com Adição de um novo item
    linenumberstrue
    collapsetrue
    #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
    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 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_PO_FORLOJNUM"  , "01PO-0004"         , NIL})
       AADD(aCab,{"W2_PO_DT"   , dDataBase              , NIL})
       AADD(aCab,{"W2_COMPRAFORN"    , "GEN-00"                  , NIL})
       AADD(aCab,{"W2_IMPORTFORLOJ"  , "GN00"                   , NIL})
       AADD(aCab,{"W2_AGENTECOMPRA"  , "GN GEN"                  , NIL})
       AADD(aCab,{"W2_TIPO_EMIMPORT"  , "GN"                   , NIL})
       AADD(aCab,{"W2_ORIGEMAGENTE"  , "SPOGN2"                  , NIL})
       AADD(aCab,{"W2_TIPO_DESTEM"    , "GRUGN"                   , NIL})
       AADD(aCab,{"W2_INCOTERORIGEM"  , "CIFSPO"                  , NIL})
       AADD(aCab,{"W2_FREPPCCDEST"    , "PPGRU"                   , NIL})
       AADD(aCab,{"W2_COND_PAINCOTER" , "CIF"GN   "                , NIL})
       AADD(aCab,{"W2_MOEDAFREPPCC"   , "US$PP"                   , NIL})
       AADD(aCab,{"W2_DT_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"  ,  "GENPA-00001"        , NIL},;            
          {"W3_CC"     ,  "GEN00"         , NIL},;            
          {"W3_REG"    ,  1               , NIL},;            
          {"W3_PRECO"  ,  100101.00000       , NIL},;                
          {"W3_FABR"   ,  "0001  GEN-01"        , NIL},;
          {"W3_FABLOJ" ,  "0100"            , NIL},;              
          {"W3_FORN"   ,  "0001  GEN-00"        , NIL},;
          {"W3_FORLOJ" ,  "0100"            , NIL},;              
          {"W3_QTDE"   ,  1011.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" ,  "SSSST6SITET1",     NIL}})
       
       aAdd(aItem,{;
          {"W3_COD_I"  ,  "GENPA-00001"        , NIL},;            
          {"W3_CC"     ,  "GEN00"         , NIL},;            
          {"W3_REG"    ,  2               , NIL},;            
          {"W3_PRECO"  ,  100102.00000       , NIL},;                
          {"W3_FABR"   ,  "0001  GEN-01"        , NIL},;
          {"W3_FABLOJ" ,  "0100"            , NIL},;              
          {"W3_FORN"   ,  "0001  GEN-00"        , NIL},;
          {"W3_FORLOJ" ,  "0100"            , NIL},;              
          {"W3_QTDE"   ,  1545.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" ,  "SSSST6SITET1",     NIL}})
     
      
       MSExecAuto({|a,b,c,d| EICPO400(a,b,c,d)}, NIL, aCab, aItem, nOpc)
      
       If lMsErroAuto
     aAdd(aItem,{;
          {"W3_COD_I"  ,  "GEN-00"        , NIL},;        MostraErro()
       Else
          MsgInfo("Ok - P.O.")
       EndIf{"W3_CC"     ,  "GEN00"         , NIL},;           
      
    RPCClearEnv()
       
    Return Nil
    
    Card
    id3
    labelExclusão

    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.

    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 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"  {"W3_REG"    ,  3               , NIL},; //Item novo a ser adicionado na Alteração.
          {"W3_PRECO"  ,  103.00000       , NIL},;               
          {"W3_FABR"   ,  "GEN-01"        , NIL},;
          {"W3_FABLOJ" ,  "00"            , NIL},;             
          {"W3_FORN"   ,  "GEN-00"             , NIL}),;
          AADD(aCab,{"W2W3_PO_DTFORLOJ"   , dDataBase "00"             , NIL})
    ,;    AADD(aCab,{"W2_FORN"    , "0001  "  
          {"W3_QTDE"   ,  10.000  , NIL})
       AADD(aCab,{"W2_FORLOJ"    , "01"NIL},;           
            {"W3_DT_EMB" , NIL})
     dDataBase  AADD(aCab,{"W2_COMPRA"  , "GEN"  , NIL},;
          {"W3_DT_ENTR",  dDataBase       , NIL}),;
          AADD(aCab,{"W2W3_IMPORTPESOL"  , "GN" 3.30000000      , NIL},;
          {"W3_PESO_BR",  1.000000        , NIL}),;
       AADD(aCab,   {"W2W3_SI_AGENTENUM" , , "GN SITET1"                  , NIL}})
     //Solicitação  AADD(aCab,{"W2_TIPO_EM" , "GN"                   , NIL})
       AADD(aCab,{"W2_ORIGEM"  , "SPO"         que será adicionado o novo item. O W3_REG deve ter um núemro que ainda não existe na SI
      
      
       MSExecAuto({|a,b,c,d| EICPO400(a,b,c,d)}, NIL, aCab, aItem, nOpc)
       
       If lMsErroAuto
          MostraErro()
       , NIL})Else
       AADD(aCab,{"W2_DEST"   MsgInfo("Ok ,- "GRU"P.O.")
       EndIf    
               , NIL}
    RPCClearEnv()
       
    Return Nil
    
    Bloco de código
    languagepy
    themeEclipse
    titleModelo de Alteração do Purchase Order por rotina automática com Exclusão de item
    linenumberstrue
    collapsetrue
    #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 OrderAADD(aCab,{"W2_INCOTER" , "CIF"                  , NIL})
       AADD(aCab,{"W2_FREPPCC" , "PP"                   , NIL})
       AADD(aCab,{"W2_COND_PA" , "GN   "                , NIL})
       AADD(aCab,{"W2_MOEDAPO_NUM"   , "US$"        PO-0004"          , NIL})
       AADD(aCab,{"W2_PO_DT_PAR"   , dDataBase              , NIL})
       AADD(aCab,{"W2_PARID_U"FORN"    , 1.000000"GEN-00"               , NIL})
       AADD(aCab,{"W2_E_LCFORLOJ"    , "200"                    , NIL})
      
       //Dados para os Itens do Purchase Order
       aAdd(aItem,{;
          {"W3_COD_I"  ,  "GEN-00 AADD(aCab,{"W2_COMPRA"  , "GEN"                  , NIL})
       AADD(aCab,{"W2_IMPORT"  , "GN"        , NIL},;           , NIL})
          AADD(aCab,{"W3W2_CCAGENTE"     ,  "GEN00GN2"         , NIL},;            , NIL})
          AADD(aCab,{"W3W2_TIPO_REGEM" , "GN"  ,  1               , NIL},;  )
       AADD(aCab,{"W2_ORIGEM"  , "SPO"          
          {"W3_PRECO"  ,  100.00000   NIL})
       AADD(aCab,{"W2_DEST"    , NIL},;"GRU"                
      , NIL})
       AADD(aCab,{"W3_FABR"W2_INCOTER" , "CIF"    ,    "0001  "        , NIL},;)
          AADD(aCab,{"W3W2_FABLOJFREPPCC" ,  "01PP"             , NIL},;     , NIL})
       AADD(aCab,{"W2_COND_PA" , "GN   
    "      {"W3_FORN"   ,  "0001  "        , NIL},;)
          AADD(aCab,{"W3W2_FORLOJMOEDA"   ,  "01US$"            , NIL},;              , NIL})
          AADD(aCab,{"W3W2_DT_QTDEPAR"  , dDataBase  ,  10.000          , NIL},;)
       AADD(aCab,{"W2_PARID_U" , 1.000000             
      , NIL})
       AADD(aCab,{"W3W2_DTE_EMBLC" ,  dDataBase , "2"     , NIL},;
          {"W3_DT_ENTR",  dDataBase       , NIL},;)
       
       {"W3_PESOL"  ,  2.90000000      , NIL},//Dados para os Itens do Purchase Order
       aAdd(aItem,{;
          {"W3_PESO_BR",  1.000000        , NIL}})
      
       aAdd(aItem,{;
          {"W3_COD_ICOD_I"  ,  "GENPA-00001"        , NIL},;            
          {"W3_CC"     ,  "GEN00"         , NIL},;            
          {"W3_REG"    ,  21               , NIL},;            
          {"W3_PRECO"  ,  100101.00000       , NIL},;                
          {"W3_FABR"   ,  "0001  GEN-01"        , NIL},;
          {"W3_FABLOJ" ,  "0100"            , NIL},;              
          {"W3_FORN"   ,  "0001  GEN-00"        , NIL},;
          {"W3_FORLOJ" ,  "0100"            , NIL},;              
          {"W3_QTDE"   ,  1511.000          , NIL},;            
          {"W3_DT_EMB" ,  dDataBase       , NIL},;
          {"W3_DT_ENTR",  dDataBase       , NIL},;
          {"W3_PESOL"  ,  32.3000000090000000      , NIL},;
          {"W3_PESO_BR",  1.000000        , NIL}})
    
     
    ,;
          MSExecAuto({|a,b,c,d| EICPO400(a,b,c,d)}, NIL, aCab, aItem, nOpc{"W3_SI_NUM" ,  "SITET1",     NIL}})
       
       aAdd(aItem,{;
      If lMsErroAuto
       {"W3_COD_I"  , MostraErro()
      "PA-001"  Else
          MsgInfo("Ok - P.O.")
    , NIL},;    EndIf     
      
    RPCClearEnv()
      
    Return Nil
    

    ...

        {"W3_CC"     ,  "GEN00"         , NIL},;           
          {"W3_REG"    ,  2               , NIL},;           
          {"W3_PRECO"  ,  102.00000       , NIL},;               
          {"W3_FABR"   ,  "GEN-01"        , NIL},;
          {"W3_FABLOJ" ,  "00"            , NIL},;             
          {"W3_FORN"   ,  "GEN-00"        , NIL},;
          {"W3_FORLOJ" ,  "00"            , NIL},;             
          {"W3_QTDE"   ,  45.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" ,  "SITET1",     NIL}})
       
          aAdd(aItem,{;
          {"W3_COD_I"  ,  "GEN-00"        , NIL},;           
          {"W3_CC"     ,  "GEN00"         , NIL},;           
          {"W3_REG"    ,  3               , NIL},;
          {"W3_PRECO"  ,  103.00000       , NIL},;               
          {"W3_FABR"   ,  "GEN-01"        , NIL},;
          {"W3_FABLOJ" ,  "00"            , NIL},;             
          {"W3_FORN"   ,  "GEN-00"        , NIL},;
          {"W3_FORLOJ" ,  "00"            , NIL},;             
          {"W3_QTDE"   ,  10.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" ,  "SITET1"        , NIL},;
          {"AUTDELETA" ,  "S"             , NIL}}) //Informa que este item deve ser deletado no PO. Seu saldo retornará para o item na SI
      
      
       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
    
    




    Card
    id3
    labelExclusão

    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.


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

    Ao utilizar a rotina automático do Purchase Order sem a utilização de uma Solicitação de Importação já préviamente cadastrada, o sistema efetuará a inclusão de uma SI de forma automática. Esta Solicitação de Importação inserida de forma automática não poderá sofrer alterações via tela no Protheus, mesmo que o Purchase Order seja excluído.

    Caso seja necessária a exclusão de uma SI gerada de forma automática, deverá ser utilizado o ponto de entrada VALIDA_EXCLUSAO, que pode ter sua documentação consultada em: DT PE EICSI400 - Solicitação de Importação


    04Tabelas Utilizadas

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

    ...