Вы находитесь на странице: 1из 14

#Include 'protheus.

ch'
#Include "rwmake.ch"
#Include "Topconn.ch"

/*
������������������������������������������������
������������������������������������������������
������������������������������������������������
���P r ograma ZJOBF007 �Autor �DrillTec Solucoes � Data � 30/09/2019
������������������������������������������������
���D e sc. � Job Processo Pedido a vista ���
������������������������������������������������
���U s o � Elizabeth Ceramica ���
������������������������������������������������
�������������������������ͼ��
������������������������������������������������
�����������������������������
������������������������������������������������
�����������������������������
*
��+-------------------------------------------------------------------------+��
��� CONTROLE DE ALTERACOES REALIZADAS NO FONTE
���
��+-----------+--------------------------------+----------------+-----------+��
��� Analista � Cristina Cruz � Data Alteracao
�27/11/2019 ���
��+-----------+--------------------------------+----------------+-----------+��
��� Altera��o � Colocado para gravar a observa��o PEDIDO CANCELADO POR
FALTA���
��� � DE PAGAMENTO no campo C5_XMOTCAN
���
��+-----------+--------------------------------+----------------+-----------+��

*/

//C5_XIDPORT

User Function ZJOBF007()

Local _cTime := time()


Local _cHrINI := "03:00:00"
Local _cHrFim := "03:10:00"

//If Substr(_cTime,1,8) >= _cHrINI .and. Substr(_cTime,1,8) <= _cHrFim


U_ZJOBF071()
//Endif

Return
// ELIMINA PEDIDO RETIRA
User function ZJOBF071()
Local cQuery

//020203
RpcSetType(3)
RpcSetEnv( "01", "020203",,,'FAT')
cData1 := DtoS(date()-SuperGetMV("EL_ALPRZAV", ,5))

xELJOBPRT := SuperGetMV("EL_JOBPRT", ,"S")

if xELJOBPRT $'S #s'


//conout("INICIO DE PROCESSAMENTO")

cQuery := " SELECT SC5.R_E_C_N_O_


C5REC,c5_emissao,C6_FILIAL,SC6.R_E_C_N_O_
RECNO,c6_ITEM,c6_num,C6_BLQ,C6_QTDEMP,C6_PRODUTO,SC9.* FROM SC6010 SC6 "
cQuery += " INNER JOIN SC5010 SC5 ON (C5_FILIAL=C6_FILIAL AND
C5_NUM=C6_NUM AND SC5.D_E_L_E_T_=' ' AND C5_TIPO='N') "
cQuery += " INNER JOIN SC9010 SC9 ON (C9_FILIAL=C6_FILIAL AND
C9_PEDIDO=C6_NUM AND SC9.D_E_L_E_T_=SC6.D_E_L_E_T_ AND C9_ITEM=C6_ITEM AND
C9_CARGA<>' ' AND C9_NFISCAL=' ') "
cQuery += " INNER JOIN DAK010 DAK ON (DAK_FILIAL=C9_FILIAL AND
DAK_COD=C9_CARGA AND DAK_SEQCAR=C9_SEQCAR) "
cQuery += " WHERE C6_BLQ<>'R ' AND C6_BLQ<>'S ' AND (C6_QTDVEN-
C6_QTDENT)>0 AND "
cQuery += " C6_RESERVA=' ' AND SC6.D_E_L_E_T_=' ' AND C5_CONDPAG
in('026','028','151','577') AND "
cQuery += " C6_FILIAL in ('020203') AND DAK_DATA<='"+cData1+"' AND
C6_QTDEMP>0 AND C9_LOTECTL<>' ' AND DAK_XORIGE='ALC' "
cQuery += " AND C6_NUM NOT IN(SELECT FIE_PEDIDO FROM FIE010 WHERE
FIE_FILIAL='020203') "

//ELIMINA ITENS DOS PEDIDOS PEDIDOS


If Select("TMP") > 0
DBSELECTAREA("TMP")
TMP->(DBCLOSEAREA())
EndIf

TcQuery cQuery New Alias "TMP"


DBSELECTAREA("TMP")
TMP->(DBGOTOP())

//conout("INICIO DE PROCESSAMENTO 020203"+cData1)

WHILE !TMP->(EOF())

//ELIMINA ITENS DOS PEDIDOS PEDIDOS


If Select("TMP2") > 0
DBSELECTAREA("TMP2")
TMP2->(DBCLOSEAREA())
EndIf

cQuery := "SELECT SC9.R_E_C_N_O_ RECNO,SC9.* FROM SC9010 SC9


WHERE C9_FILIAL='"+TMP->C6_FILIAL+"' AND C9_PEDIDO='"+TMP->C6_NUM+"' AND
C9_CARGA='"+TMP->C9_CARGA+"' AND C9_PRODUTO='"+TMP->C6_PRODUTO+"' AND C9_NFISCAL='
' AND D_E_L_E_T_=' ' AND C9_ITEM='"+TMP->C6_ITEM+"' "
TcQuery cQuery New Alias "TMP2"
DBSELECTAREA("TMP2")
TMP2->(DBGOTOP())

while !TMP2->(EOF())
dbSelectArea("SC9")
SC9->(dbGoTo(TMP2->RECNO))
MaAvalSC9("SC9",8)
//conout(STR(TMP->RECNO)+" CARGA ESTORNADA")
a460Estorna()
//conout(STR(TMP->RECNO)+" LIBERACAO ESTORNADA")

TMP2->(DBSKIP())
End
//conout(STR(TMP->RECNO)+".1."+cData1)
dbSelectArea("SC6")
SC6->(dbGoTo(TMP->RECNO))
RECLOCK("SC6")
SC6->C6_OPC := 'PEDIDO CANCELADO POR FALTA DE PAGAMENTO'
//SC6->C6_QTDEMP := 0
SC6->(MsUnlock())

dbSelectArea("SC5")
SC5->(dbGoTo(TMP->C5REC))
RECLOCK("SC5")
SC5->C5_XTIPLIB := 'CA'
SC5->C5_XMOTCAN := 'PEDIDO CANCELADO POR FALTA DE PAGAMENTO'
SC5->(MsUnlock())

//conout("PEDIDO."+TMP->C6_NUM+".2."+cData1)
RemPv(TMP->RECNO)
//conout(STR(TMP->RECNO)+".3."+cData1)

TMP->(DBSKIP())
EndDo

//conout("FIM DE PROCESSAMENTO 020203"+cData1)

Else
//conout("JOB PORTAL INATIVO - FILIAL 020203")
Endif
RpcClearEnv()

//***************************** 020204

RpcSetType(3)
RpcSetEnv( "01", "020204",,,'FAT')
cData1 := DtoS(date()-SuperGetMV("EL_ALPRZAV", ,2))
xELJOBPRT := SuperGetMV("EL_JOBPRT", ,"S")

if xELJOBPRT $'S #s'


//conout("INICIO DE PROCESSAMENTO")

cQuery := " SELECT SC5.R_E_C_N_O_


C5REC,c5_emissao,C6_FILIAL,SC6.R_E_C_N_O_
RECNO,c6_ITEM,c6_num,C6_BLQ,C6_QTDEMP,C6_PRODUTO,SC9.* FROM SC6010 SC6 "
cQuery += " INNER JOIN SC5010 SC5 ON (C5_FILIAL=C6_FILIAL AND
C5_NUM=C6_NUM AND SC5.D_E_L_E_T_=' ' AND C5_TIPO='N') "
cQuery += " INNER JOIN SC9010 SC9 ON (C9_FILIAL=C6_FILIAL AND
C9_PEDIDO=C6_NUM AND SC9.D_E_L_E_T_=SC6.D_E_L_E_T_ AND C9_ITEM=C6_ITEM AND
C9_CARGA<>' ' AND C9_NFISCAL=' ') "
cQuery += " INNER JOIN DAK010 DAK ON (DAK_FILIAL=C9_FILIAL AND
DAK_COD=C9_CARGA AND DAK_SEQCAR=C9_SEQCAR) "
cQuery += " WHERE C6_BLQ<>'R ' AND C6_BLQ<>'S ' AND (C6_QTDVEN-
C6_QTDENT)>0 AND "
cQuery += " C6_RESERVA=' ' AND SC6.D_E_L_E_T_=' ' AND C5_CONDPAG
in('026','028','151','577') AND "
cQuery += " C6_FILIAL in ('020204') AND DAK_DATA<='"+cData1+"' AND
C6_QTDEMP>0 AND C9_LOTECTL<>' ' AND DAK_XORIGE='ALC' "
cQuery += " AND C6_NUM NOT IN(SELECT FIE_PEDIDO FROM FIE010 WHERE
FIE_FILIAL='020204') "

//ELIMINA ITENS DOS PEDIDOS PEDIDOS


If Select("TMP") > 0
DBSELECTAREA("TMP")
TMP->(DBCLOSEAREA())
EndIf

TcQuery cQuery New Alias "TMP"


DBSELECTAREA("TMP")
TMP->(DBGOTOP())

//conout("INICIO DE PROCESSAMENTO 020204"+cData1)

WHILE !TMP->(EOF())

//ELIMINA ITENS DOS PEDIDOS PEDIDOS


If Select("TMP2") > 0
DBSELECTAREA("TMP2")
TMP2->(DBCLOSEAREA())
EndIf

cQuery := "SELECT SC9.R_E_C_N_O_ RECNO,SC9.* FROM SC9010 SC9


WHERE C9_FILIAL='"+TMP->C6_FILIAL+"' AND C9_PEDIDO='"+TMP->C6_NUM+"' AND
C9_CARGA='"+TMP->C9_CARGA+"' AND C9_PRODUTO='"+TMP->C6_PRODUTO+"' AND C9_NFISCAL='
' AND D_E_L_E_T_=' ' AND C9_ITEM='"+TMP->C6_ITEM+"' "
TcQuery cQuery New Alias "TMP2"
DBSELECTAREA("TMP2")
TMP2->(DBGOTOP())

while !TMP2->(EOF())
dbSelectArea("SC9")
SC9->(dbGoTo(TMP2->RECNO))
MaAvalSC9("SC9",8)
//conout(STR(TMP->RECNO)+" CARGA ESTORNADA")
a460Estorna()
//conout(STR(TMP->RECNO)+" LIBERACAO ESTORNADA")

TMP2->(DBSKIP())
End
//conout(STR(TMP->RECNO)+".1."+cData1)
dbSelectArea("SC6")
SC6->(dbGoTo(TMP->RECNO))
RECLOCK("SC6")
SC6->C6_OPC := 'PEDIDO CANCELADO POR FALTA DE PAGAMENTO'
//SC6->C6_QTDEMP := 0
SC6->(MsUnlock())

dbSelectArea("SC5")
SC5->(dbGoTo(TMP->C5REC))
RECLOCK("SC5")
SC5->C5_XTIPLIB := 'CA'
SC5->C5_XMOTCAN := 'PEDIDO CANCELADO POR FALTA DE PAGAMENTO'
SC5->(MsUnlock())

//conout("PEDIDO."+TMP->C6_NUM+".2."+cData1)
RemPv(TMP->RECNO)
//conout(STR(TMP->RECNO)+".3."+cData1)

TMP->(DBSKIP())
EndDo

//conout("FIM DE PROCESSAMENTO 020204"+cData1)


Else
//conout("JOB PORTAL INATIVO - FILIAL 020204")
Endif
RpcClearEnv()

//***************************** 020204

RpcSetType(3)
RpcSetEnv( "01", "020103",,,'FAT')
cData1 := DtoS(date()-SuperGetMV("EL_ALPRZAV", ,2))
xELJOBPRT := SuperGetMV("EL_JOBPRT", ,"S")

if xELJOBPRT $'S #s'


//conout("INICIO DE PROCESSAMENTO")

cQuery := " SELECT SC5.R_E_C_N_O_


C5REC,c5_emissao,C6_FILIAL,SC6.R_E_C_N_O_
RECNO,c6_ITEM,c6_num,C6_BLQ,C6_QTDEMP,C6_PRODUTO,SC9.* FROM SC6010 SC6 "
cQuery += " INNER JOIN SC5010 SC5 ON (C5_FILIAL=C6_FILIAL AND
C5_NUM=C6_NUM AND SC5.D_E_L_E_T_=' ' AND C5_TIPO='N') "
cQuery += " INNER JOIN SC9010 SC9 ON (C9_FILIAL=C6_FILIAL AND
C9_PEDIDO=C6_NUM AND SC9.D_E_L_E_T_=SC6.D_E_L_E_T_ AND C9_ITEM=C6_ITEM AND
C9_CARGA<>' ' AND C9_NFISCAL=' ') "
cQuery += " INNER JOIN DAK010 DAK ON (DAK_FILIAL=C9_FILIAL AND
DAK_COD=C9_CARGA AND DAK_SEQCAR=C9_SEQCAR) "
cQuery += " WHERE C6_BLQ<>'R ' AND C6_BLQ<>'S ' AND (C6_QTDVEN-
C6_QTDENT)>0 AND "
cQuery += " C6_RESERVA=' ' AND SC6.D_E_L_E_T_=' ' AND C5_CONDPAG
in('026','028','151','577') AND "
cQuery += " C6_FILIAL in ('020103') AND DAK_DATA<='"+cData1+"' AND
C6_QTDEMP>0 AND C9_LOTECTL<>' ' AND DAK_XORIGE='ALC' "
cQuery += " AND C6_NUM NOT IN(SELECT FIE_PEDIDO FROM FIE010 WHERE
FIE_FILIAL='020103') "

//ELIMINA ITENS DOS PEDIDOS PEDIDOS


If Select("TMP") > 0
DBSELECTAREA("TMP")
TMP->(DBCLOSEAREA())
EndIf

TcQuery cQuery New Alias "TMP"


DBSELECTAREA("TMP")
TMP->(DBGOTOP())

//conout("INICIO DE PROCESSAMENTO 020103"+cData1)

WHILE !TMP->(EOF())

//ELIMINA ITENS DOS PEDIDOS PEDIDOS


If Select("TMP2") > 0
DBSELECTAREA("TMP2")
TMP2->(DBCLOSEAREA())
EndIf

cQuery := "SELECT SC9.R_E_C_N_O_ RECNO,SC9.* FROM SC9010 SC9


WHERE C9_FILIAL='"+TMP->C6_FILIAL+"' AND C9_PEDIDO='"+TMP->C6_NUM+"' AND
C9_CARGA='"+TMP->C9_CARGA+"' AND C9_PRODUTO='"+TMP->C6_PRODUTO+"' AND C9_NFISCAL='
' AND D_E_L_E_T_=' ' AND C9_ITEM='"+TMP->C6_ITEM+"' "
TcQuery cQuery New Alias "TMP2"
DBSELECTAREA("TMP2")
TMP2->(DBGOTOP())

while !TMP2->(EOF())
dbSelectArea("SC9")
SC9->(dbGoTo(TMP2->RECNO))
MaAvalSC9("SC9",8)
//conout(STR(TMP->RECNO)+" CARGA ESTORNADA")
a460Estorna()
//conout(STR(TMP->RECNO)+" LIBERACAO ESTORNADA")

TMP2->(DBSKIP())
End
//conout(STR(TMP->RECNO)+".1."+cData1)
dbSelectArea("SC6")
SC6->(dbGoTo(TMP->RECNO))
RECLOCK("SC6")
SC6->C6_OPC := 'PEDIDO CANCELADO POR FALTA DE PAGAMENTO'
//SC6->C6_QTDEMP := 0
SC6->(MsUnlock())

dbSelectArea("SC5")
SC5->(dbGoTo(TMP->C5REC))
RECLOCK("SC5")
SC5->C5_XTIPLIB := 'CA'
SC5->C5_XMOTCAN := 'PEDIDO CANCELADO POR FALTA DE PAGAMENTO'
SC5->(MsUnlock())

//conout("PEDIDO."+TMP->C6_NUM+".2."+cData1)
RemPv(TMP->RECNO)
//conout(STR(TMP->RECNO)+".3."+cData1)

TMP->(DBSKIP())
EndDo

//conout("FIM DE PROCESSAMENTO 020103"+cData1)


Else
//conout("JOB PORTAL INATIVO - FILIAL 020103")
Endif

RpcClearEnv()

//***************************** 020201

RpcSetType(3)
RpcSetEnv( "01", "020201",,,'FAT')
cData1 := DtoS(date()-SuperGetMV("EL_ALPRZAV", ,2))
xELJOBPRT := SuperGetMV("EL_JOBPRT", ,"S")

if xELJOBPRT $'S #s'


//conout("INICIO DE PROCESSAMENTO")

cQuery := " SELECT SC5.R_E_C_N_O_


C5REC,c5_emissao,C6_FILIAL,SC6.R_E_C_N_O_
RECNO,c6_ITEM,c6_num,C6_BLQ,C6_QTDEMP,C6_PRODUTO,SC9.* FROM SC6010 SC6 "
cQuery += " INNER JOIN SC5010 SC5 ON (C5_FILIAL=C6_FILIAL AND
C5_NUM=C6_NUM AND SC5.D_E_L_E_T_=' ' AND C5_TIPO='N') "
cQuery += " INNER JOIN SC9010 SC9 ON (C9_FILIAL=C6_FILIAL AND
C9_PEDIDO=C6_NUM AND SC9.D_E_L_E_T_=SC6.D_E_L_E_T_ AND C9_ITEM=C6_ITEM AND
C9_CARGA<>' ' AND C9_NFISCAL=' ') "
cQuery += " INNER JOIN DAK010 DAK ON (DAK_FILIAL=C9_FILIAL AND
DAK_COD=C9_CARGA AND DAK_SEQCAR=C9_SEQCAR) "
cQuery += " WHERE C6_BLQ<>'R ' AND C6_BLQ<>'S ' AND (C6_QTDVEN-
C6_QTDENT)>0 AND "
cQuery += " C6_RESERVA=' ' AND SC6.D_E_L_E_T_=' ' AND C5_CONDPAG
in('026','028','151','577') AND "
cQuery += " C6_FILIAL in ('020201') AND DAK_DATA<='"+cData1+"' AND
C6_QTDEMP>0 AND C9_LOTECTL<>' ' AND DAK_XORIGE='ALC' "
cQuery += " AND C6_NUM NOT IN(SELECT FIE_PEDIDO FROM FIE010 WHERE
FIE_FILIAL='020201') "

//ELIMINA ITENS DOS PEDIDOS PEDIDOS


If Select("TMP") > 0
DBSELECTAREA("TMP")
TMP->(DBCLOSEAREA())
EndIf

TcQuery cQuery New Alias "TMP"


DBSELECTAREA("TMP")
TMP->(DBGOTOP())

//conout("INICIO DE PROCESSAMENTO 020201"+cData1)

WHILE !TMP->(EOF())

//ELIMINA ITENS DOS PEDIDOS PEDIDOS


If Select("TMP2") > 0
DBSELECTAREA("TMP2")
TMP2->(DBCLOSEAREA())
EndIf

cQuery := "SELECT SC9.R_E_C_N_O_ RECNO,SC9.* FROM SC9010 SC9


WHERE C9_FILIAL='"+TMP->C6_FILIAL+"' AND C9_PEDIDO='"+TMP->C6_NUM+"' AND
C9_CARGA='"+TMP->C9_CARGA+"' AND C9_PRODUTO='"+TMP->C6_PRODUTO+"' AND C9_NFISCAL='
' AND D_E_L_E_T_=' ' AND C9_ITEM='"+TMP->C6_ITEM+"' "
TcQuery cQuery New Alias "TMP2"
DBSELECTAREA("TMP2")
TMP2->(DBGOTOP())

while !TMP2->(EOF())
dbSelectArea("SC9")
SC9->(dbGoTo(TMP2->RECNO))
MaAvalSC9("SC9",8)
//conout(STR(TMP->RECNO)+" CARGA ESTORNADA")
a460Estorna()
//conout(STR(TMP->RECNO)+" LIBERACAO ESTORNADA")

TMP2->(DBSKIP())
End
//conout(STR(TMP->RECNO)+".1."+cData1)
dbSelectArea("SC6")
SC6->(dbGoTo(TMP->RECNO))
RECLOCK("SC6")
SC6->C6_OPC := 'PEDIDO CANCELADO POR FALTA DE PAGAMENTO'
//SC6->C6_QTDEMP := 0
SC6->(MsUnlock())

dbSelectArea("SC5")
SC5->(dbGoTo(TMP->C5REC))
RECLOCK("SC5")
SC5->C5_XTIPLIB := 'CA'
SC5->C5_XMOTCAN := 'PEDIDO CANCELADO POR FALTA DE PAGAMENTO'
SC5->(MsUnlock())

//conout("PEDIDO."+TMP->C6_NUM+".2."+cData1)
RemPv(TMP->RECNO)
//conout(STR(TMP->RECNO)+".3."+cData1)

TMP->(DBSKIP())
EndDo

//conout("FIM DE PROCESSAMENTO 020201"+cData1)


Else
//conout("JOB PORTAL INATIVO - FILIAL 020201")
Endif

RpcClearEnv()

//***************************** 020202

RpcSetType(3)
RpcSetEnv( "01", "020202",,,'FAT')
cData1 := DtoS(date()-SuperGetMV("EL_ALPRZAV", ,2))
xELJOBPRT := SuperGetMV("EL_JOBPRT", ,"S")

if xELJOBPRT $'S #s'


//conout("INICIO DE PROCESSAMENTO")

cQuery := " SELECT SC5.R_E_C_N_O_


C5REC,c5_emissao,C6_FILIAL,SC6.R_E_C_N_O_
RECNO,c6_ITEM,c6_num,C6_BLQ,C6_QTDEMP,C6_PRODUTO,SC9.* FROM SC6010 SC6 "
cQuery += " INNER JOIN SC5010 SC5 ON (C5_FILIAL=C6_FILIAL AND
C5_NUM=C6_NUM AND SC5.D_E_L_E_T_=' ' AND C5_TIPO='N') "
cQuery += " INNER JOIN SC9010 SC9 ON (C9_FILIAL=C6_FILIAL AND
C9_PEDIDO=C6_NUM AND SC9.D_E_L_E_T_=SC6.D_E_L_E_T_ AND C9_ITEM=C6_ITEM AND
C9_CARGA<>' ' AND C9_NFISCAL=' ') "
cQuery += " INNER JOIN DAK010 DAK ON (DAK_FILIAL=C9_FILIAL AND
DAK_COD=C9_CARGA AND DAK_SEQCAR=C9_SEQCAR) "
cQuery += " WHERE C6_BLQ<>'R ' AND C6_BLQ<>'S ' AND (C6_QTDVEN-
C6_QTDENT)>0 AND "
cQuery += " C6_RESERVA=' ' AND SC6.D_E_L_E_T_=' ' AND C5_CONDPAG
in('026','028','151','577') AND "
cQuery += " C6_FILIAL in ('020202') AND DAK_DATA<='"+cData1+"' AND
C6_QTDEMP>0 AND C9_LOTECTL<>' ' AND DAK_XORIGE='ALC' "
cQuery += " AND C6_NUM NOT IN(SELECT FIE_PEDIDO FROM FIE010 WHERE
FIE_FILIAL='020202') "

//ELIMINA ITENS DOS PEDIDOS PEDIDOS


If Select("TMP") > 0
DBSELECTAREA("TMP")
TMP->(DBCLOSEAREA())
EndIf

TcQuery cQuery New Alias "TMP"


DBSELECTAREA("TMP")
TMP->(DBGOTOP())

//conout("INICIO DE PROCESSAMENTO 020202"+cData1)

WHILE !TMP->(EOF())

//ELIMINA ITENS DOS PEDIDOS PEDIDOS


If Select("TMP2") > 0
DBSELECTAREA("TMP2")
TMP2->(DBCLOSEAREA())
EndIf

cQuery := "SELECT SC9.R_E_C_N_O_ RECNO,SC9.* FROM SC9010 SC9


WHERE C9_FILIAL='"+TMP->C6_FILIAL+"' AND C9_PEDIDO='"+TMP->C6_NUM+"' AND
C9_CARGA='"+TMP->C9_CARGA+"' AND C9_PRODUTO='"+TMP->C6_PRODUTO+"' AND C9_NFISCAL='
' AND D_E_L_E_T_=' ' AND C9_ITEM='"+TMP->C6_ITEM+"' "
TcQuery cQuery New Alias "TMP2"
DBSELECTAREA("TMP2")
TMP2->(DBGOTOP())

while !TMP2->(EOF())
dbSelectArea("SC9")
SC9->(dbGoTo(TMP2->RECNO))
MaAvalSC9("SC9",8)
//conout(STR(TMP->RECNO)+" CARGA ESTORNADA")
a460Estorna()
//conout(STR(TMP->RECNO)+" LIBERACAO ESTORNADA")

TMP2->(DBSKIP())
End
//conout(STR(TMP->RECNO)+".1."+cData1)
dbSelectArea("SC6")
SC6->(dbGoTo(TMP->RECNO))
RECLOCK("SC6")
SC6->C6_OPC := 'PEDIDO CANCELADO POR FALTA DE PAGAMENTO'
//SC6->C6_QTDEMP := 0
SC6->(MsUnlock())

dbSelectArea("SC5")
SC5->(dbGoTo(TMP->C5REC))
RECLOCK("SC5")
SC5->C5_XTIPLIB := 'CA'
SC5->C5_XMOTCAN := 'PEDIDO CANCELADO POR FALTA DE PAGAMENTO'
SC5->(MsUnlock())

//conout("PEDIDO."+TMP->C6_NUM+".2."+cData1)
RemPv(TMP->RECNO)
//conout(STR(TMP->RECNO)+".3."+cData1)

TMP->(DBSKIP())
EndDo

//conout("FIM DE PROCESSAMENTO 020202"+cData1)


Else
//conout("JOB PORTAL INATIVO - FILIAL 020202")
Endif

RpcClearEnv()

Return

Static Function RemPv(nRegSc6, lBloqueado, lPV, nVlrRes)

Local aArea := GetArea()


Local aAreaSC6 := SC6->(GetArea())
Local aAreaSC5 := SC5->(GetArea())
Local aAreaSB2 := SB2->(GetArea())
Local aAreaSA1 := SA1->(GetArea())
Local cQry := ""

Local nQtdLibSC9:= 0
Local lResiduo := .F.
Local nMCusto := 0
Local nRecnoB2 := 0
Local nVlrDep := 0
Local lAtuSGJ := SuperGetMV("MV_PVCOMOP",.F.,.F.) .And.
FindFunction("ALIASINDIC") .And. AliasIndic("SGJ")

#IFDEF TOP
Local cQuery := ""
#ENDIF

lPv := If(lPv==Nil,.T.,lPv)
lBloqueado := If(lBloqueado==Nil,.T.,lBloqueado)
nVlrRes := 0

dbSelectArea("SC6")
If ( nRegSc6 != Nil )
MsGoto(nRegSC6)
EndIf

dbSelectArea("SF4")
dbSetOrder(1)
MsSeek(xFilial("SF4")+SC6->C6_TES)

dbSelectArea("SC5")
dbSetOrder(1)
MsSeek(xFilial("SC5")+SC6->C6_NUM)

If (!SC6->C6_BLQ$'R #S ' .And. ( SC6->C6_QTDEMP==0 .Or. lBloqueados ) )


.And.;
( SF4->F4_PODER3 == "N" .Or. SF4->F4_PODER3 == "R" )

If ( lBloqueados )
#IFDEF TOP
If ( TcSrvType()!="AS/400" )
cQuery := "SELECT SUM(SC9.C9_QTDLIB) C9_QTDLIB FROM "
cQuery += RetSqlName("SC9")+" SC9 "
cQuery += "WHERE SC9.C9_FILIAL='"+xFilial("SC9")+"' AND "
cQuery += "SC9.C9_PEDIDO='"+SC6->C6_NUM+"' AND "
cQuery += "SC9.C9_ITEM='"+SC6->C6_ITEM+"' AND "
cQuery += "SC9.C9_PRODUTO='"+SC6->C6_PRODUTO+"' AND "
cQuery += "SC9.C9_BLCRED<>'10' AND "
cQuery += "SC9.C9_BLEST<>'10' AND "
cQuery += "(SC9.C9_BLEST<>' ' OR SC9.C9_BLCRED<>' ') AND
"
cQuery += "SC9.D_E_L_E_T_<>'*'"

cQuery := ChangeQuery(cQuery)
cQry := CriaTrab(,.F.)
dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),cQry,.T.,.T.)
TcSetField(cQry,"C9_QTDLIB","N",TamSX3("C9_QTDLIB")
[1],TamSX3("C9_QTDLIB")[2])
nQtdLibSC9 := C9_QTDLIB
dbCloseArea()
dbSelectArea("SC5")

Else
#ENDIF
dbSelectArea("SC9")
dbSetOrder(1)
MsSeek(xFilial("SC9")+SC6->C6_NUM+SC6->C6_ITEM)

While ( !Eof() .And.SC9->C9_FILIAL == xFilial("SC9") .And.;


SC9->C9_PEDIDO == SC6->C6_NUM .And.;
SC9->C9_ITEM == SC6->C6_ITEM )
If ( SC9->C9_BLCRED != '10' .And. SC9->C9_BLEST !=
'10' .And.;
(SC9->C9_BLCRED != ' ' .OR. SC9->C9_BLEST != '
') .And.;
SC9->C9_PRODUTO == SC6->C6_PRODUTO )
nQtdLibSC9 += SC9->C9_QTDLIB
EndIf
dbSelectArea("SC9")
dbSkip()
EndDo
#IFDEF TOP
EndIf
#ENDIF
If ( nQtdLibSC9 == SC6->C6_QTDEMP .or. nQtdLibSC9 == SC6-
>C6_QTDLIB )
#IFDEF TOP
If ( TcSrvType()!="AS/400" )
cQuery := "SELECT
C9_FILIAL,C9_PEDIDO,C9_PRODUTO,C9_ITEM,C9_BLCRED,C9_BLEST,SC9.R_E_C_N_O_ RECNOSC9
FROM "
cQuery += RetSqlName("SC9")+" SC9 "
cQuery += "WHERE SC9.C9_FILIAL='"+xFilial("SC9")+"'
AND "
cQuery += "SC9.C9_PEDIDO='"+SC6->C6_NUM+"'
AND "
cQuery += "SC9.C9_ITEM='"+SC6->C6_ITEM+"' AND
"
cQuery += "SC9.C9_PRODUTO='"+SC6-
>C6_PRODUTO+"' AND "
cQuery += "SC9.C9_BLCRED<>'10' AND "
cQuery += "SC9.C9_BLEST<>'10' AND "
cQuery += "(SC9.C9_BLEST<>' ' OR SC9.C9_BLCRED<>'
') AND "
cQuery += "SC9.D_E_L_E_T_<>'*'"

cQuery := ChangeQuery(cQuery)

dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),cQry,.T.,.T.)

Else
#ENDIF
cQry := "SC9"
dbSelectArea("SC9")
dbSetOrder(1)
MsSeek(xFilial("SC9")+SC6->C6_NUM+SC6->C6_ITEM)
#IFDEF TOP
EndIf
#ENDIF

dbSelectArea(cQry)

While ( !Eof() .And.C9_FILIAL == xFilial("SC9") .And.;


C9_PEDIDO == SC6->C6_NUM .And.;
C9_ITEM == SC6->C6_ITEM)
If ( C9_BLCRED != '10' .And. C9_BLEST != '10'
.And.; // (C9_BLCRED != ' ' .Or. C9_BLEST != ' ') .And.;
C9_PRODUTO == SC6->C6_PRODUTO)
If ( cQry!="SC9" )
SC9->(MsGoto((cQry)->RECNOSC9))
EndIf
SC9->(A460Estorna())
EndIf
dbSelectArea(cQry)
dbSkip()
EndDo
If ( cQry != "SC9" )
dbSelectArea(cQry)
dbCloseArea()
dbSelectArea("SC9")
EndIf
EndIf
EndIf
If ( SC6->C6_QTDEMP == 0 )
If ( SF4->F4_ESTOQUE=="S" )
dbSelectArea("SB2")
dbSetOrder(1)
MsSeek(xFilial("SB2")+SC6->C6_PRODUTO+SC6->C6_LOCAL)
RecLock("SB2")
SB2->B2_QPEDVEN -= Max(SC6->C6_QTDVEN-SC6->C6_QTDEMP-SC6-
>C6_QTDENT,0)
SB2->B2_QPEDVE2 -= ConvUM(SB2->B2_COD, Max(SC6->C6_QTDVEN-
SC6->C6_QTDEMP-SC6->C6_QTDENT,0), 0, 2)
MsUnLock()
If ( SC6->C6_OP$"01#03#05#06#08" ) .And. ( lAtuSGJ <>
NIL .And. !lAtuSGJ )
nRecnoB2 := SB2->(Recno())
If !Empty(SC6->(C6_NUMOP+C6_ITEMOP))
SC2->(dbSetOrder(1))
SC2->(dbSeek(xFilial("SC2")+SC6-
>(C6_NUMOP+C6_ITEMOP)))
If SB2->B2_LOCAL # SC2->C2_LOCAL .And. !SB2-
>(dbSeek(xFilial("SB2")+SC2->(C2_PRODUTO+C2_LOCAL)))
CriaSB2(SC2->C2_PRODUTO,SC2->C2_LOCAL)
EndIf
A650AtEmpN(SC6->(C6_QTDVEN-C6_QTDENT-
C6_QTDRESE) - If(FindFunction("A650QLibPV"),A650QLibPV(),0),"-",SC2->C2_TPOP)
ElseIf SC6->(FieldPos("C6_NUMSC")) > 0 .And. !
Empty(SC6->(C6_NUMSC+C6_ITEMSC))
SC1->(dbSetOrder(1))
SC1->(dbSeek(xFilial("SC1")+SC6-
>(C6_NUMSC+C6_ITEMSC)))
If SB2->B2_LOCAL # SC1->C1_LOCAL .And. !SB2-
>(dbSeek(xFilial("SB2")+SC1->(C1_PRODUTO+C1_LOCAL)))
CriaSB2(SC1->C1_PRODUTO,SC1->C1_LOCAL)
EndIf
A650AtEmpN(SC6->(C6_QTDVEN-C6_QTDENT-
C6_QTDRESE) - If(FindFunction("A650QLibPV"),A650QLibPV(),0),"-",SC1->C1_TPOP)
Else
SB2->(dbSeek(xFilial("SB2")+SC6-
>(C6_PRODUTO+C6_LOCAL)))
A650AtEmpN(SC6->(C6_QTDVEN-C6_QTDENT-
C6_QTDRESE) - If(FindFunction("A650QLibPV"),A650QLibPV(),0),"-",SC6->C6_TPOP)

EndIf
Endif
SB2->(dbGoTo(nRecnoB2))
EndIf
nVlrDep := Max(SC6->C6_QTDVEN-SC6->C6_QTDEMP-SC6-
>C6_QTDENT,0)*SC6->C6_PRCVEN
If ( SF4->F4_DUPLIC=="S" .And. !SC5->C5_TIPO$'DB' )
dbSelectArea("SA1")
dbSetOrder(1)
MsSeek(xFilial("SA1")+SC6->C6_CLI+SC6->C6_LOJA)
RecLock("SA1")
nMCusto := If(SA1->A1_MOEDALC > 0, SA1->A1_MOEDALC,
Val(SuperGetMv("MV_MCUSTO")))
SA1->A1_SALPED -= xMoeda(nVlrDep, SC5->C5_MOEDA, nMCusto,
SC5->C5_EMISSAO)
MsUnLock()
EndIf

//�������������������������������������
��������������������������������Ŀ
//�Se eliminar o res�duo do item, elimina tamb�m a OS gerada
pelo mesmo.�
//�Somente se n�o forem vendidos todos os itens.

//�������������������������������������
����������������������������������
If SC6->C6_QTDENT == 0
If FindFunction("Lj7HasDtEM") .And. Lj7HasDtEM()
Lj7EliProdPed( SC6->C6_NUM, SC6->C6_PRODUTO )
EndIf
EndIf

// Acumula valor para gerar NCC.


nVlrRes += nVlrDep

RecLock("SC6")
SC6->C6_BLQ := "R"
MsUnLock()
lResiduo := .T.
EndIf
If ( lPv )
MaLiberOk({ SC5->C5_NUM } , .T. )
EndIf
//����������������������������������������
������������������Ŀ
//� Ponto de entrada do usuario apos a eliminacao do residuo.�
//����������������������������������������
��������������������
If ExistBlock('MT500APO')
ExecBlock('MT500APO',.F.,.F.,{lResiduo})
EndIf
EndIf
RestArea(aAreaSC6)
RestArea(aAreaSC5)
RestArea(aAreaSB2)
RestArea(aAreaSA1)
RestArea(aArea)
Return(lResiduo)

Вам также может понравиться