Árvore de páginas

Versões comparadas

Chave

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

...

Produto:

Protheus ADVPL

Versões:

P12.1.17

Ocorrência:

Ao executar a rotina automática MATA261 ocorre essa inconsistência.

AJUDA:OCORRENCIA 
A ocorrência informada não foi encontrada no cadastro de ocorrências. 
Array aheader com inconsistencia de dados.Favor verificar o layout do array enviado 
O Campos necessarios sao: 
Titulo Campo Tipo Tamanho Decimal 


Ambiente:

P12.1.17

Passo a passo:

Neste caso basta adicionar na execauto D3_IDDCF ou D3_OBSERVA

Exemplo para apoio.

#INCLUDE "PROTHEUS.CH"
#include

"rwmake.ch"
#include

"TbiConn.ch"

User

Function

MATA261IN

MyMata261()

 Local cProd

local aAuto :=

"000000000000001"
 Local cUM := ""
 Local cLocal := ""
 Local cDoc := ""
 Local cLote := ""//LOTE01    "
 Local dDatVal := ""
 Local nQuant := 10
 Local lOk := .T.
 Local aItem := {}
 Local nX := 0
 Local nOpcAuto := 3 // Indica qual tipo de acao sera tomada (Inclusao/Exclusao)
 PRIVATE lMsHelpAuto := .T.
 PRIVATE lMsErroAuto := .F.
 //Abertura do ambiente                                      |
 PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01"// MODULO "EST"
 DbSelectArea("SB1")
 DbSetOrder(1)
 If !

{}
Local aItem := {}
Local aLinha := {}
local alista := {'4091','7390','9266','9377','9368MP','9368PA'}
local nX

Private lMsErroAuto := .F.

PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "EST"

//Cabecalho a Incluir
aadd(aAuto,{GetSxeNum("SD3","D3_DOC"),dDataBase}) //Cabecalho

//Itens a Incluir
aItem := {}

for nX := 1 to len(alista) step 2
aLinha := {}
//Origem
SB1->(MsSeek(xFilial("SB1")+

cProd

PadR(alista[nX], tamsx3('D3_COD') [1])))

  lOk := .F.
  ConOut(OemToAnsi("Cadastrar produto: " + cProd))
 Else
  cProd := B1_COD
  cDescri := B1_DESC
  cUM := B1_UM
  cLocal := B1_LOCPAD
 EndIf
 If lOk
  cDoc    := GetSxENum("SD3","D3_DOC",1)
  ConOut(Repl("-",80))
  ConOut(PadC("Teste de Transf. Mod2",80))
  ConOut("Inicio: "+Time())
  Begin Transaction // Teste de Inclusao
      //Cabecalho a Incluir
      aAuto := {}
      aadd(aAuto,{cDoc,dDataBase}) //Cabecalho
      //Itens a Incluir
      aadd(aItem,cProd)      //D3_COD  (Origem)
      aadd(aItem,cDescri)  //D3_DESCRI    (Origem)
      aadd(aItem,cUM)      //D3_UM  (Origem)
      aadd(aItem,cLocal)      //D3_LOCAL  (Origem)
      aadd(aItem,"")        //D3_LOCALIZ    (Origem)
      aadd(aItem,cProd)      //D3_COD  (Destino)
      aadd(aItem,cDescri)  //D3_DESCRI    (Destino)
      aadd(aItem,cUM)      //D3_UM  (Destino)
      aadd(aItem,"02")    //D3_LOCAL  (Destino)
      aadd(aItem,"")      //D3_LOCALIZ    (Destino)
      aadd(aItem,"")      //D3_NUMSERI
      aadd(aItem,cLote)      //D3_LOTECTL
      aadd(aItem,"")      //D3_NUMLOTE
      aadd(aItem,dDataBase)    //D3_DTVALID
      aadd(aItem,0)    //D3_POTENCI
      aadd(aItem,10)      //D3_QUANT
      aadd(aItem,0)    //D3_QTSEGUM
      aadd(aItem,"")      //D3_ESTORNO
      aadd(aItem,"1")      //D3_NUMSEQ
      aadd(aItem,cLote)      //D3_LOTECTL
      aadd(aItem,dDataBase)    //D3_DTVALID
      aadd(aItem,"")      //D3_ITEMGRD
      //aadd(aitem,"      ")//"D3_IDDCF"
      aadd(aitem,"                              ")//"D3_OBSERVA"
      aadd(aAuto,aItem)

      MSExecAuto({|x,y|

aadd(aLinha,{"ITEM",'00'+cvaltochar(nX),Nil})
aadd(aLinha,{"D3_COD", SB1->B1_COD, Nil}) //Cod Produto origem
aadd(aLinha,{"D3_DESCRI", SB1->B1_DESC, Nil}) //descr produto origem
aadd(aLinha,{"D3_UM", SB1->B1_UM, Nil}) //unidade medida origem
aadd(aLinha,{"D3_LOCAL", SB1->B1_LOCPAD, Nil}) //armazem origem
aadd(aLinha,{"D3_LOCALIZ", "", Nil}) //endereço origem

//Destino
SB1->(MsSeek(xFilial("SB1")+PadR(alista[nX+1], tamsx3('D3_COD') [1])))
aadd(aLinha,{"D3_COD", SB1->B1_COD, Nil}) //cod produto destino
aadd(aLinha,{"D3_DESCRI", SB1->B1_DESC, Nil}) //descr produto destino
aadd(aLinha,{"D3_UM", SB1->B1_UM, Nil}) //unidade medida destino
aadd(aLinha,{"D3_LOCAL", SB1->B1_LOCPAD, Nil}) //armazem destino
aadd(aLinha,{"D3_LOCALIZ", "", Nil}) //endereço destino

aadd(aLinha,{"D3_NUMSERI", "", Nil}) //Numero serie
aadd(aLinha,{"D3_LOTECTL", "", Nil}) //Lote Origem
aadd(aLinha,{"D3_NUMLOTE", "", Nil}) //sublote origem
aadd(aLinha,{"D3_DTVALID", dDataBase, Nil}) //data validade
aadd(aLinha,{"D3_POTENCI", 0, Nil}) // Potencia
aadd(aLinha,{"D3_QUANT", 1, Nil}) //Quantidade
aadd(aLinha,{"D3_QTSEGUM", 0, Nil}) //Seg unidade medida
aadd(aLinha,{"D3_ESTORNO", "", Nil}) //Estorno
aadd(aLinha,{"D3_NUMSEQ", "", Nil}) // Numero sequencia D3_NUMSEQ

aadd(aLinha,{"D3_LOTECTL", "", Nil}) //Lote destino
aadd(aLinha,{"D3_NUMLOTE", "", Nil}) //sublote destino
aadd(aLinha,{"D3_DTVALID", dDataBase, Nil}) //validade lote destino
aadd(aLinha,{"D3_ITEMGRD", "", Nil}) //Item Grade

aadd(aLinha,{"D3_CODLAN", "TESTE", Nil}) //cat83 prod origem
aadd(aLinha,{"D3_CODLAN", "TESTE2", Nil}) //cat83 prod destino

aAdd(aAuto,aLinha)

Next nX

MSExecAuto({|x,y| mata261(x,y)},aAuto,

nOpcAuto

3)

      If !lMsErroAuto
    ConOut("Incluido com sucesso! " + cDoc)
      Else
    ConOut("Erro na inclusao!")
   


if lMsErroAuto
MostraErro()

      EndIf
      ConOut("Fim  : "+Time())
  End Transaction
 EndIf
 RESET

EndIf

RESET ENVIRONMENT

Return

Nil

Observações:

MATA261 - TranferênciasMsExecAuto Transferência Múltipla