#INCLUDE 'FWMVCDEF.CH'
#Include "TBICONN.CH"
//AlteraçãoInclusão de um roteiro
User Function altRotincRot()
Local oModel, oMdlDet, oMdlH3
Local cErro := ""
Local lRet := .T.
Prepare environment empresa '99' filial '01' modulo 'PCP'
INCLUI := .FT.
ALTERA := .TF.
SG2->(dbSetOrder(1))
SG2->(dbSeek(xFilial("SG2")+"PRODUTO" + "CODIGO" + "OPERACAO")) //Posiciona no roteiro para alteração.
oModel := FWLoadModel('PCPA124') //Carrega o modelo do programa PCPA124
oModel:SetOperation(MODEL_OPERATION_UPDATEINSERT) //Seta a operação de alteraçãoinclusão no modelo.
If oModel:Activate() //Ativa o modelo.
oMdlDetIf := !oModel:GetModelSetValue("PCPA124_SG2") //Recupera o submodelo detalhe.
CAB","G2_CODIGO" , "02") //Atribui o código do roteiro no modelo. (G2_CODIGO)
If !oMdlDet:AddLine() //Adiciona uma nova linha no modelo detalheSe ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlDetoModel:SetValue("PCPA124_CAB","G2_OPERACPRODUTO", "30PRD_EXEMPLO") //Atribui o código dado operaçãoproduto no modelo. (G2_OPERACPRODUTO)
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlDet:SetValue("G2_DESCRI","OPERAC. TESTE 3"oMdlDet := oModel:GetModel("PCPA124_SG2") //Atribui a descriçãooRecupera o submodelo detalhe.
If lRet .And. !oMdlDet:SetValue("G2_OPERAC","10") //Atribui o código da operação no modelo. (G2_DESCRIOPERAC)
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlDet:SetValue("G2_RECURSODESCRI","REC03OPERAC. TESTE") //Atribui oa códigodescrição doda recursooperação no modelo. (G2_RECURSODESCRI)
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlDet:SetValue("G2_SETUPRECURSO",0"REC01") //Atribui o tempocódigo dedo setuprecurso no modelo. (G2_SETUPRECURSO)
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlDet:SetValue("G2_LOTEPADSETUP",701) //Atribui o tempo lotede padrãosetup no modelo. (G2_LOTEPADSETUP)
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlDet:SetValue("G2_TEMPADLOTEPAD",2100) //Atribui o tempolote padrão no modelo. (G2_TEMPADLOTEPAD)
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlDet:SetValue("G2_TPOPERTEMPAD",'1') //Atribui o tipotempo depadrão operação nono modelo. (G2_TPOPERTEMPAD)
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlDet:SetValue("G2_CTRABTPOPER",'CT011') //Atribui o Centrotipo de trabalhooperação no modelo. (G2_CTRABTPOPER)
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
//AlteraIf um recurso alternativo.
If lRetlRet .And. !oMdlDet:SetValue("G2_CTRAB",'CT01') //Atribui o Centro de trabalho no modelo. (G2_CTRAB)
//PosicionaSe ocorreu algum erro na atribuição, recupera operaçãoo 10erro.
IfcErro oMdlDet:SeekLine({{"G2_OPERAC","10"}}= u_getErr(oModel)
lRet := .F.
//Recupera o modelo dos recursos alternativosEndIf
If lRet
oMdlH3 := oModel:GetModel("PCPA124_SH3_R")
//Adiciona recursos alternativos.
//Posiciona nooMdlH3 recurso alternativo REC02
:= oModel:GetModel("PCPA124_SH3_R")
If !oMdlH3:SeekLineSetValue({{"H3_RECALTE","'REC02"}}')
//Atribui o Recurso alternativo
//Altera a eficiência
Se ocorreu algum erro na atribuição, recupera o erro.
IfcErro !oMdlH3:SetValue("H3_EFICIEN",50) //Atribui o Centro de trabalho no modelo. (G2_CTRAB)
:= u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlH3:SetValue("H3_TIPO",'A') //Atribui o Tipo do Recurso alternativo
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
EndIf
//Adiciona um novo recurso alternativo
EndIf
If lRet .And. !oMdlH3:AddLine()
EndIf
EndIf
lRet := .F.
If lRet
IfcErro oModel:VldData= u_getErr(oModel) //Valida as informações
EndIf
If lRet := oModel:CommitData(.And. !oMdlH3:SetValue("H3_RECALTE",'REC03') //EfetivaAtribui o cadastro.Recurso alternativo
If !lRet
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
EndIf lRet := .F.
ElseEndIf
If lRet cErro := u_getErr(oModel)
.And. !oMdlH3:SetValue("H3_TIPO",'A') //Atribui o Tipo do Recurso alternativo
lRet := .F.
//Se ocorreu algum erro na atribuição, recupera o EndIferro.
EndIf
oModel:DeActivate() //Desativa o modelo.
cErro := u_getErr(oModel)
Else
lRet := .F.
EndIf
Return lRet EndIf
If lRet .And. !oMdlDet:AddLine() //Adiciona uma nova linha no modelo detalhe
//Se ocorreu algum erro ao adicionar uma nova linha, recupera o erro
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlDet:SetValue("G2_OPERAC","20") //Atribui o código da operação no modelo. (G2_OPERAC)
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlDet:SetValue("G2_DESCRI","OPERAC. TESTE 2") //Atribui a descriçãoo da operação no modelo. (G2_DESCRI)
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlDet:SetValue("G2_RECURSO","REC02") //Atribui o código do recurso no modelo. (G2_RECURSO)
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlDet:SetValue("G2_SETUP",0) //Atribui o tempo de setup no modelo. (G2_SETUP)
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlDet:SetValue("G2_LOTEPAD",90) //Atribui o lote padrão no modelo. (G2_LOTEPAD)
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlDet:SetValue("G2_TEMPAD",1) //Atribui o tempo padrão no modelo. (G2_TEMPAD)
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlDet:SetValue("G2_TPOPER",'1') //Atribui o tipo de operação no modelo. (G2_TPOPER)
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlDet:SetValue("G2_CTRAB",'CT01') //Atribui o Centro de trabalho no modelo. (G2_CTRAB)
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet
//Adiciona recursos alternativos.
oMdlH3 := oModel:GetModel("PCPA124_SH3_R")
If !oMdlH3:SetValue("H3_RECALTE",'REC03') //Atribui o Recurso alternativo
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
If lRet .And. !oMdlH3:SetValue("H3_TIPO",'A') //Atribui o Tipo do Recurso alternativo
//Se ocorreu algum erro na atribuição, recupera o erro.
cErro := u_getErr(oModel)
lRet := .F.
EndIf
EndIf
If lRet
If oModel:VldData() //Valida as informações
lRet := oModel:CommitData() //Efetiva o cadastro.
If !lRet
cErro := u_getErr(oModel)
EndIf
Else
cErro := u_getErr(oModel)
lRet := .F.
EndIf
EndIf
oModel:DeActivate() //Desativa o modelo.
Else
lRet := .F.
EndIf
Return lRet |