- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- ERRO NA ROTINA MSExecAuto({|x,y,z| mata110(x,y,z)},aCabec,aItens,3) //Inclusao
×
Linguagem de Programação ADVPL
Perguntas ERRO NA ROTINA MSExecAuto({|x,y,z| mata110(x,y,z)},aCabec,aItens,3) //Inclusao
- Sombra
- Autor do Tópico
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 593
- Obrigados Recebidos: 1
11 anos 1 mês atrás #17485
por Sombra
ERRO NA ROTINA MSExecAuto({|x,y,z| mata110(x,y,z)},aCabec,aItens,3) //Inclusao foi criado por Sombra
Bom dia Pessoal,
Estou com Dificuldades em executar a Rotina AUTOMOATICA DE SOLICITACAO DE COMPRAS.
Estar APRESENTANDO ERRO DE ARRAY OUT OF BOUNDS[0] OF [2], na rotina A110INCLUI(MATA110.PRX)
Abaixo estar o Codigo Fonte que estou utilizando
Alguem ja passou por isso, e poderia medar um auxilio
Local _NumOx := Space(06)
Local aLinha := {}
Local cDoc
Private aCabec := {}
Private aItens := {}
lMsErroAuto := .F.
_NumOx := M->TJ_XOSVAM // Numero da O.S AUTO MECANICA na Tabela Temporaria SZW
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//| Verifica numero da SC |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cDoc := GetSXENum("SC1","C1_NUM")
SC1->(dbSetOrder(1))
While SC1->(dbSeek(xFilial("SC1")+cDoc))
ConfirmSX8()
cDoc := GetSXENum("SC1","C1_NUM")
DbSkip()
EndDo
aCabec := {{"C1_FILIAL" , xFilial("SC1") ,Nil},;
{"C1_NUM" , cDoc ,Nil}}
dbSelectArea("SZW")
DbSetOrder(1) // Seta Chave Ordem de Sevico Aumto Mecanica
DbGotop()
i:= 0
IF DbSeek(xFilial("SZW")+_NumOx)
While ! Eof() .AND. SZW->ZW_XOSVAM = _NumOx
i++
aLinha := {}
aadd(aLinha,{"C1_ITEM" , StrZero(i, 2) ,Nil})
aadd(aLinha,{"C1_PRODUTO",SZW->ZW_XCODFS ,Nil})
aadd(aLinha,{"C1_QUANT" , SZW->ZW_XQTDVD ,Nil})
aadd(aItens,aLinha)
SZW->(DbSkip())
EndDo
Endif
MSExecAuto({|x,y,z| mata110(x,y,z)},aCabec,aItens,3) //Inclusao
If lMsErroAuto
Alert("Erro na Inclusao da Solicitacao de Compras !!!")
MostraErro()
Else
Alert("Foi Gerada a Solicitacao de Comopras ==> "+cDoc)
Endif
Return .T.
Estou com Dificuldades em executar a Rotina AUTOMOATICA DE SOLICITACAO DE COMPRAS.
Estar APRESENTANDO ERRO DE ARRAY OUT OF BOUNDS[0] OF [2], na rotina A110INCLUI(MATA110.PRX)
Abaixo estar o Codigo Fonte que estou utilizando
Alguem ja passou por isso, e poderia medar um auxilio
Local _NumOx := Space(06)
Local aLinha := {}
Local cDoc
Private aCabec := {}
Private aItens := {}
lMsErroAuto := .F.
_NumOx := M->TJ_XOSVAM // Numero da O.S AUTO MECANICA na Tabela Temporaria SZW
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//| Verifica numero da SC |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
cDoc := GetSXENum("SC1","C1_NUM")
SC1->(dbSetOrder(1))
While SC1->(dbSeek(xFilial("SC1")+cDoc))
ConfirmSX8()
cDoc := GetSXENum("SC1","C1_NUM")
DbSkip()
EndDo
aCabec := {{"C1_FILIAL" , xFilial("SC1") ,Nil},;
{"C1_NUM" , cDoc ,Nil}}
dbSelectArea("SZW")
DbSetOrder(1) // Seta Chave Ordem de Sevico Aumto Mecanica
DbGotop()
i:= 0
IF DbSeek(xFilial("SZW")+_NumOx)
While ! Eof() .AND. SZW->ZW_XOSVAM = _NumOx
i++
aLinha := {}
aadd(aLinha,{"C1_ITEM" , StrZero(i, 2) ,Nil})
aadd(aLinha,{"C1_PRODUTO",SZW->ZW_XCODFS ,Nil})
aadd(aLinha,{"C1_QUANT" , SZW->ZW_XQTDVD ,Nil})
aadd(aItens,aLinha)
SZW->(DbSkip())
EndDo
Endif
MSExecAuto({|x,y,z| mata110(x,y,z)},aCabec,aItens,3) //Inclusao
If lMsErroAuto
Alert("Erro na Inclusao da Solicitacao de Compras !!!")
MostraErro()
Else
Alert("Foi Gerada a Solicitacao de Comopras ==> "+cDoc)
Endif
Return .T.
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- ERRO NA ROTINA MSExecAuto({|x,y,z| mata110(x,y,z)},aCabec,aItens,3) //Inclusao
Tempo para a criação da página:0.117 segundos