Tbrowser repetindo linha ao excluir
Enviado: 09 Mar 2007 17:52
Olá Pessoal,
Estou tendo um problema com meu Tbrowse que coloco pra editar um .dbf. É o seguinte, enquanto eu estou incluindo itens no temp, o Tbrowse atualiza normalmente, ou seja, ele automaticamente adiciona os itens que eu mandei pra esse .dbf. No entanto, quando eu entro no Tbrowser para excluir um item,
ele repete a primeira linha do .dbf até a linha que excluir, mas se eu exclui a primeira linha, ele atualiza normalmente. Entao, meu problema é quando excluo um item que nao esteja na primeira linha.
Agradeço antecipadamente a ajuda de todos.
Obrigado
************************ CODIGO FONTE **************
RESTORE SCREEN FROM TELA_PRINC
set color to w+/b
DO CABECALHO WITH "ENTRADA DE MERCADORIAS","ENTRADA"
********************* VARIAVEIS ****************
nTIPODEOP = 00
aDESCMERC = SPACE(40)
aCODF = SPACE(06)
TIPO = SPACE(01)
aCODBARRA = SPACE(13)
nQTE = 000000
nPRUNIT = 0000.00
nPROTAL = 00000.00
WEXCLU = SPACE(01)
wFINAL = SPACE(01)
nQTELANC = 000000
nCODLAN = SPACE(06)
NUMITENS = 000
nNUMMOV = 00000
nPRAZO1 = 000
nPRAZO2 = 000
nPRAZO3 = 000
nPRAZO4 = 000
dTVENCLANC = CTOD(" / / ")
***************** ARRAYS ************************
DECLARE PROCTIPON := { "COD","DESC" }
DECLARE PROCTIPOF := { "99","@! " }
DECLARE PROCTIPOL := { "CODIGO","TIPO DE OPERACAO" }
DECLARE PROCTIPOSUP := { "_","_" }
DECLARE PROCPRODN := { "CCM01DSMER","NCM01VLCUS" }
DECLARE PROCPRODF := { "@!","9999999.99" }
DECLARE PROCPRODL := { "DESCRICAO DA MERCADORIA","CUSTO" }
*************** VERIFICA INDEXACOES **************
if !file("OPERACOES01.ntx")
use OPERACOES
index on COD to OPERACOES01
endif
if !file("TEMP02.ntx")
use TEMP
index on DESCMERC to TEMP02
endif
if !file("CMCA0204.ntx")
use CMCA02
index on CCM02CDMER to CMCA0204
endif
************* DEFINE AREAS DE TRABALHO ************
SELE 01
USE OPERACOES INDEX OPERACOES01 ALIAS OPERACOES
SELE 02
USE CMCA01 INDEX CMCA0102 ALIAS CMCA01
SELE 03
USE CMCA02 INDEX CMCA0201 ALIAS CMCA02
SELE 04
USE CMCA02 INDEX CMCA0204 ALIAS CMCA0204
SET EXCLU ON
SELE 05
USE MOVIMENTACAO INDEX MOVIMENTACAO01 ALIAS MOVIMENTACAO
SELE 06
USE PAGAR INDEX PAGAR03 ALIAS PAGAR
SELE 07
USE TEMP INDEX TEMP02 ALIAS TEMP
ZAP
SET EXCLU OFF
***************** TBROWSER ***********************
MOSTRALANC := TBrowseDB(09,00,19,78)
oColumn := TBColumnNew(" ",{|| TEMP->DESCMERC})
oColumn2 := TBColumnNew(" ",{|| TEMP->QTE})
oColumn3 := TBColumnNew(" ",{|| TEMP->PRUNIT})
oColumn4 := TBColumnNew(" ",{|| TEMP->PRTOTAL})
MOSTRALANC:addColumn(ocolumn)
MOSTRALANC:addColumn(ocolumn2)
MOSTRALANC:addColumn(ocolumn3)
MOSTRALANC:addColumn(ocolumn4)
******************* PEGA TIPO DE OPERACAO ********
@ 04,00 to 04,79 DOUBLE
@ 03,00
@ 03,00 say "[TIPO DE OPERACAO:]"
@ 03,20 GET nTIPODEOP PICT "99"
READ
IF LASTKEY () = 27
RETURN
ENDIF
SELE OPERACOES
SEEK nTIPODEOP
IF !FOUND()
SAVE SCREEN TO DBEDIT1
SET COLOR TO B/W
GO TOP
DBEDIT (04,20,10,60,PROCTIPON,"FIRMSHOW",PROCTIPOF,PROCTIPOL,PROCTIPOSUP)
@ 24,12 SAY MENSAGEM
SET COLOR TO W+/B
@ 24,00 CLEAR TO 24,79
RESTORE SCREEN FROM DBEDIT1
@ 03,20 CLEAR TO 03,79
@ 03,20 SAY DESC
INKEY(0)
ELSE
@ 03,20 CLEAR TO 03,79
@ 03,20 SAY DESC
@ 03,40 SAY nTIPODEOP
ENDIF
@ 05,00 SAY " DESCRICAO QTE PR.UNIT PR.TOTAL "
@ 06,00 TO 06,79 DOUBLE
@ 08,00 TO 08,79
@ 20,00 TO 20,79
@ 21,00
@ 22,00
@ 21,04 SAY "Total de Itens:"
@ 22,04 say "Total da Nota.:"
DO WHILE .T.
SELE TEMP
COUNT TO NUMITENS
@ 21,20 CLEAR TO 21,24
@ 21,20 SAY NUMITENS
nVALTOTAL = 0000000.00
SELE TEMP
GO TOP
DO WHILE !EOF()
nVALTOTAL = PRTOTAL + nVALTOTAL
SKIP
ENDDO
@ 22,20 CLEAR TO 22,24
@ 22,20 SAY nVALTOTAL
IF aDESCMERC = "SAIR"
RETURN
ENDIF
aDESCMERC = " "
@ 07,00
@ 07,04 GET aDESCMERC PICT "@!"
READ
IF LASTKEY() = 27
EXIT
ENDIF
IF aDESCMERC = " "
do while .t.
while (! MOSTRALANC:stabilize())
nkey = inkey()
if nkey != 0
exit
endif
enddo
if MOSTRALANC:stable()
nkey = inkey()
endif
if nkey == 5
MOSTRALANC:up()
elseif nkey == 24
MOSTRALANC:down()
elseif nkey == 19
MOSTRALANC:left()
elseif nkey == 4
MOSTRALANC:right()
elseif nkey == 1
MOSTRALANC:home()
elseif nkey == 6
MOSTRALANC:end()
elseif nkey == 18
MOSTRALANC:pageUp()
elseif nkey == 3
MOSTRALANC:pageDown()
elseif nkey == 31
MOSTRALANC:goTop()
elseif nkey == 30
MOSTRALANC:goBottom()
elseif nkey == 29
MOSTRALANC:panHome()
elseif nkey == 23
MOSTRALANC:panEnd()
elseif nkey == 26
MOSTRALANC:panLeft()
elseif nkey == 2
MOSTRALANC:panRight()
elseif nkey == 27
EXIT
LOOP
elseif nkey == 7
@ 23,15 say "Tem certeza que deseja excluir esse item? [S/N]"
@ 23,63 get wexclu pict "@!" VALID wEXCLU$"SN"
read
if wexclu = "S"
@ 23,15 CLEAR TO 23,64
DO RRLOC
delete
dbcommit()
UNLOCK
SET EXCLUSIVE ON
PACK
SET EXCLUSIVE OFF
go bottom
skip -10
MOSTRALANC:refreshall()
MOSTRALANC:configure()
MOSTRALANC:forcestable()
ELSE
@ 23,15 CLEAR TO 23,64
LOOP
Endif
ELSEIF nKEY == -4
SAVE SCREEN TO ATUALIZA
DO JANELA WITH 11,20,16,55
@ 12,22 SAY "Digite o prazo:"
@ 12,39 GET nPRAZO1 PICT "999"
READ
@ 12,43 GET nPRAZO2 PICT "999"
READ
@ 12,47 GET nPRAZO3 PICT "999"
READ
@ 12,51 GET nPRAZO4 PICT "999"
READ
@ 23,15 SAY "Deseja finalizar e atualizar esta entrada? [S/N]"
@ 23,64 get wfinal pict "@!" VALID wFINAL$"SN"
READ
IF wFINAL = "S"
SELE TEMP
GO TOP
DO WHILE !EOF()
SELE MOVIMENTACAO
GO BOTTOM
nNUMMOV = SEQUENCIA + 1
DO RRLOC
APPEND BLANK
REPL SEQUENCIA WITH nNUMMOV
REPL TIPODEOP WITH nTIPODEOP
REPL CODMERC WITH TEMP->CODMERC
REPL DESCMERC WITH TEMP->DESCMERC
REPL PRUNIT WITH TEMP->PRUNIT
REPL PRTOTAL WITH TEMP->PRTOTAL
REPL PRAZO1 WITH nPRAZO1
REPL PRAZO2 WITH nPRAZO2
REPL PRAZO3 WITH nPRAZO3
REPL PRAZO4 WITH nPRAZO4
SELE TEMP
SKIP
ENDDO
SELE TEMP
GO TOP
DO WHILE !EOF()
nQTELANC = QTE
nCODLANC = CODMERC
DO PREENCHE1 WITH nCODLANC
SELE CMCA0204
SEEK nCODLANC
nQTELANC = nQTELANC + NCM02QTLJ1
DO RRLOC
REPL NCM02QTLJ1 WITH nQTELANC
UNLOCK
SELE TEMP
SKIP
ENDDO
IF nTIPODEOP = 02
dTVENCLANC = dTSYSTEM+nPRAZO1
SELE PAGAR
DO RRLOC
APPEND BLANK
REPL EMISSAO WITH DTSYSTEM
REPL NUMMOV WITH nNUMMOV
REPL DTVENC WITH dTVENCLANC
REPL VLDUP WITH nVALTOTAL
REPL VLSALDO WITH nVALTOTAL
UNLOCK
ENDIF
IF nTIPODEOP = 03
SELE PAGAR
dTVENCLANC = dTSYSTEM+nPRAZO1
DO RRLOC
APPEND BLANK
REPL EMISSAO WITH dTSYSTEM
REPL NUMMOV WITH nNUMMOV
REPL DTVENC WITH dTVENCLANC
REPL VLDUP WITH nVALTOTAL
REPL VLSALDO WITH nVALTOTAL
UNLOCK
SELE TEMP
GO TOP
DO WHILE !EOF()
nQTELANC = QTE
nCODLANC = CODMERC
DO PREENCHE1 WITH nCODLANC
SELE CMCA0204
SEEK nCODLANC
nQTELANC = nQTELANC + NCM02FILJ1
DO RRLOC
REPL NCM02QTLJ1 WITH nQTELANC
UNLOCK
SELE TEMP
SKIP
ENDDO
ENDIF
aDESCMERC = "SAIR"
EXIT
ENDIF
IF WFINAL = "N"
RESTORE SCREEN FROM ATUALIZA
@ 23,00 TO 23,79
LOOP
ENDIF
endif
enddo
ELSE
SELE TEMP
go bottom
skip -10
MOSTRALANC:refreshall()
MOSTRALANC:configure()
MOSTRALANC:forcestable()
SELE CMCA01
SEEK RTRIM(aDESCMERC)
SAVE SCREEN TO DBEDIT2
SET COLOR TO B/W
DBEDIT (08,15,20,70,PROCPRODN,,PROCPRODF,PROCPRODL,PROCTIPOSUP)
SET COLOR TO W+/B
RESTORE SCREEN FROM DBEDIT2
@ 07,00 CLEAR TO 07,79
@ 07,04 SAY CCM01DSMER
@ 07,47 GET nQTE PICT "999999"
READ
IF nQTE = 0
DO MENSAGEM WITH "Quantidade NAO pode ser ZERO, Tente Novamente",.T.
LOOP
ENDIF
@ 07,47 CLEAR TO 07,53
@ 07,45 SAY nQTE
nPRUNIT = nCM01VLCUS
@ 07,49 SAY nPRUNIT PICT "9999.99"
nPRTOTAL = nQTE * nPRUNIT
@ 07,66 SAY nPRTOTAL PICT "99999.99"
SELE TEMP
DO RRLOC
APPEND BLANK
REPL CODMERC WITH CMCA01->CCM01CDMER
REPL DESCMERC WITH CMCA01->CCM01DSMER
REPL QTE WITH nQTE
REPL PRUNIT WITH nPRUNIT
REPL PRTOTAL WITH nPRTOTAL
REPL ATUALIZADO WITH "N"
UNLOCK
go bottom
skip -10
@ 07,45 CLEAR TO 07,79
MOSTRALANC:refreshall()
MOSTRALANC:configure()
MOSTRALANC:forcestable()
ENDIF
ENDDO
CLOSE DATA
RETURN
function firmshow
IF LASTKEY() = 27
RETURN 0
ENDIF
@ 24,20 say MENSAGEM
return 1
[/code]
Estou tendo um problema com meu Tbrowse que coloco pra editar um .dbf. É o seguinte, enquanto eu estou incluindo itens no temp, o Tbrowse atualiza normalmente, ou seja, ele automaticamente adiciona os itens que eu mandei pra esse .dbf. No entanto, quando eu entro no Tbrowser para excluir um item,
ele repete a primeira linha do .dbf até a linha que excluir, mas se eu exclui a primeira linha, ele atualiza normalmente. Entao, meu problema é quando excluo um item que nao esteja na primeira linha.
Agradeço antecipadamente a ajuda de todos.
Obrigado
************************ CODIGO FONTE **************
RESTORE SCREEN FROM TELA_PRINC
set color to w+/b
DO CABECALHO WITH "ENTRADA DE MERCADORIAS","ENTRADA"
********************* VARIAVEIS ****************
nTIPODEOP = 00
aDESCMERC = SPACE(40)
aCODF = SPACE(06)
TIPO = SPACE(01)
aCODBARRA = SPACE(13)
nQTE = 000000
nPRUNIT = 0000.00
nPROTAL = 00000.00
WEXCLU = SPACE(01)
wFINAL = SPACE(01)
nQTELANC = 000000
nCODLAN = SPACE(06)
NUMITENS = 000
nNUMMOV = 00000
nPRAZO1 = 000
nPRAZO2 = 000
nPRAZO3 = 000
nPRAZO4 = 000
dTVENCLANC = CTOD(" / / ")
***************** ARRAYS ************************
DECLARE PROCTIPON := { "COD","DESC" }
DECLARE PROCTIPOF := { "99","@! " }
DECLARE PROCTIPOL := { "CODIGO","TIPO DE OPERACAO" }
DECLARE PROCTIPOSUP := { "_","_" }
DECLARE PROCPRODN := { "CCM01DSMER","NCM01VLCUS" }
DECLARE PROCPRODF := { "@!","9999999.99" }
DECLARE PROCPRODL := { "DESCRICAO DA MERCADORIA","CUSTO" }
*************** VERIFICA INDEXACOES **************
if !file("OPERACOES01.ntx")
use OPERACOES
index on COD to OPERACOES01
endif
if !file("TEMP02.ntx")
use TEMP
index on DESCMERC to TEMP02
endif
if !file("CMCA0204.ntx")
use CMCA02
index on CCM02CDMER to CMCA0204
endif
************* DEFINE AREAS DE TRABALHO ************
SELE 01
USE OPERACOES INDEX OPERACOES01 ALIAS OPERACOES
SELE 02
USE CMCA01 INDEX CMCA0102 ALIAS CMCA01
SELE 03
USE CMCA02 INDEX CMCA0201 ALIAS CMCA02
SELE 04
USE CMCA02 INDEX CMCA0204 ALIAS CMCA0204
SET EXCLU ON
SELE 05
USE MOVIMENTACAO INDEX MOVIMENTACAO01 ALIAS MOVIMENTACAO
SELE 06
USE PAGAR INDEX PAGAR03 ALIAS PAGAR
SELE 07
USE TEMP INDEX TEMP02 ALIAS TEMP
ZAP
SET EXCLU OFF
***************** TBROWSER ***********************
MOSTRALANC := TBrowseDB(09,00,19,78)
oColumn := TBColumnNew(" ",{|| TEMP->DESCMERC})
oColumn2 := TBColumnNew(" ",{|| TEMP->QTE})
oColumn3 := TBColumnNew(" ",{|| TEMP->PRUNIT})
oColumn4 := TBColumnNew(" ",{|| TEMP->PRTOTAL})
MOSTRALANC:addColumn(ocolumn)
MOSTRALANC:addColumn(ocolumn2)
MOSTRALANC:addColumn(ocolumn3)
MOSTRALANC:addColumn(ocolumn4)
******************* PEGA TIPO DE OPERACAO ********
@ 04,00 to 04,79 DOUBLE
@ 03,00
@ 03,00 say "[TIPO DE OPERACAO:]"
@ 03,20 GET nTIPODEOP PICT "99"
READ
IF LASTKEY () = 27
RETURN
ENDIF
SELE OPERACOES
SEEK nTIPODEOP
IF !FOUND()
SAVE SCREEN TO DBEDIT1
SET COLOR TO B/W
GO TOP
DBEDIT (04,20,10,60,PROCTIPON,"FIRMSHOW",PROCTIPOF,PROCTIPOL,PROCTIPOSUP)
@ 24,12 SAY MENSAGEM
SET COLOR TO W+/B
@ 24,00 CLEAR TO 24,79
RESTORE SCREEN FROM DBEDIT1
@ 03,20 CLEAR TO 03,79
@ 03,20 SAY DESC
INKEY(0)
ELSE
@ 03,20 CLEAR TO 03,79
@ 03,20 SAY DESC
@ 03,40 SAY nTIPODEOP
ENDIF
@ 05,00 SAY " DESCRICAO QTE PR.UNIT PR.TOTAL "
@ 06,00 TO 06,79 DOUBLE
@ 08,00 TO 08,79
@ 20,00 TO 20,79
@ 21,00
@ 22,00
@ 21,04 SAY "Total de Itens:"
@ 22,04 say "Total da Nota.:"
DO WHILE .T.
SELE TEMP
COUNT TO NUMITENS
@ 21,20 CLEAR TO 21,24
@ 21,20 SAY NUMITENS
nVALTOTAL = 0000000.00
SELE TEMP
GO TOP
DO WHILE !EOF()
nVALTOTAL = PRTOTAL + nVALTOTAL
SKIP
ENDDO
@ 22,20 CLEAR TO 22,24
@ 22,20 SAY nVALTOTAL
IF aDESCMERC = "SAIR"
RETURN
ENDIF
aDESCMERC = " "
@ 07,00
@ 07,04 GET aDESCMERC PICT "@!"
READ
IF LASTKEY() = 27
EXIT
ENDIF
IF aDESCMERC = " "
do while .t.
while (! MOSTRALANC:stabilize())
nkey = inkey()
if nkey != 0
exit
endif
enddo
if MOSTRALANC:stable()
nkey = inkey()
endif
if nkey == 5
MOSTRALANC:up()
elseif nkey == 24
MOSTRALANC:down()
elseif nkey == 19
MOSTRALANC:left()
elseif nkey == 4
MOSTRALANC:right()
elseif nkey == 1
MOSTRALANC:home()
elseif nkey == 6
MOSTRALANC:end()
elseif nkey == 18
MOSTRALANC:pageUp()
elseif nkey == 3
MOSTRALANC:pageDown()
elseif nkey == 31
MOSTRALANC:goTop()
elseif nkey == 30
MOSTRALANC:goBottom()
elseif nkey == 29
MOSTRALANC:panHome()
elseif nkey == 23
MOSTRALANC:panEnd()
elseif nkey == 26
MOSTRALANC:panLeft()
elseif nkey == 2
MOSTRALANC:panRight()
elseif nkey == 27
EXIT
LOOP
elseif nkey == 7
@ 23,15 say "Tem certeza que deseja excluir esse item? [S/N]"
@ 23,63 get wexclu pict "@!" VALID wEXCLU$"SN"
read
if wexclu = "S"
@ 23,15 CLEAR TO 23,64
DO RRLOC
delete
dbcommit()
UNLOCK
SET EXCLUSIVE ON
PACK
SET EXCLUSIVE OFF
go bottom
skip -10
MOSTRALANC:refreshall()
MOSTRALANC:configure()
MOSTRALANC:forcestable()
ELSE
@ 23,15 CLEAR TO 23,64
LOOP
Endif
ELSEIF nKEY == -4
SAVE SCREEN TO ATUALIZA
DO JANELA WITH 11,20,16,55
@ 12,22 SAY "Digite o prazo:"
@ 12,39 GET nPRAZO1 PICT "999"
READ
@ 12,43 GET nPRAZO2 PICT "999"
READ
@ 12,47 GET nPRAZO3 PICT "999"
READ
@ 12,51 GET nPRAZO4 PICT "999"
READ
@ 23,15 SAY "Deseja finalizar e atualizar esta entrada? [S/N]"
@ 23,64 get wfinal pict "@!" VALID wFINAL$"SN"
READ
IF wFINAL = "S"
SELE TEMP
GO TOP
DO WHILE !EOF()
SELE MOVIMENTACAO
GO BOTTOM
nNUMMOV = SEQUENCIA + 1
DO RRLOC
APPEND BLANK
REPL SEQUENCIA WITH nNUMMOV
REPL TIPODEOP WITH nTIPODEOP
REPL CODMERC WITH TEMP->CODMERC
REPL DESCMERC WITH TEMP->DESCMERC
REPL PRUNIT WITH TEMP->PRUNIT
REPL PRTOTAL WITH TEMP->PRTOTAL
REPL PRAZO1 WITH nPRAZO1
REPL PRAZO2 WITH nPRAZO2
REPL PRAZO3 WITH nPRAZO3
REPL PRAZO4 WITH nPRAZO4
SELE TEMP
SKIP
ENDDO
SELE TEMP
GO TOP
DO WHILE !EOF()
nQTELANC = QTE
nCODLANC = CODMERC
DO PREENCHE1 WITH nCODLANC
SELE CMCA0204
SEEK nCODLANC
nQTELANC = nQTELANC + NCM02QTLJ1
DO RRLOC
REPL NCM02QTLJ1 WITH nQTELANC
UNLOCK
SELE TEMP
SKIP
ENDDO
IF nTIPODEOP = 02
dTVENCLANC = dTSYSTEM+nPRAZO1
SELE PAGAR
DO RRLOC
APPEND BLANK
REPL EMISSAO WITH DTSYSTEM
REPL NUMMOV WITH nNUMMOV
REPL DTVENC WITH dTVENCLANC
REPL VLDUP WITH nVALTOTAL
REPL VLSALDO WITH nVALTOTAL
UNLOCK
ENDIF
IF nTIPODEOP = 03
SELE PAGAR
dTVENCLANC = dTSYSTEM+nPRAZO1
DO RRLOC
APPEND BLANK
REPL EMISSAO WITH dTSYSTEM
REPL NUMMOV WITH nNUMMOV
REPL DTVENC WITH dTVENCLANC
REPL VLDUP WITH nVALTOTAL
REPL VLSALDO WITH nVALTOTAL
UNLOCK
SELE TEMP
GO TOP
DO WHILE !EOF()
nQTELANC = QTE
nCODLANC = CODMERC
DO PREENCHE1 WITH nCODLANC
SELE CMCA0204
SEEK nCODLANC
nQTELANC = nQTELANC + NCM02FILJ1
DO RRLOC
REPL NCM02QTLJ1 WITH nQTELANC
UNLOCK
SELE TEMP
SKIP
ENDDO
ENDIF
aDESCMERC = "SAIR"
EXIT
ENDIF
IF WFINAL = "N"
RESTORE SCREEN FROM ATUALIZA
@ 23,00 TO 23,79
LOOP
ENDIF
endif
enddo
ELSE
SELE TEMP
go bottom
skip -10
MOSTRALANC:refreshall()
MOSTRALANC:configure()
MOSTRALANC:forcestable()
SELE CMCA01
SEEK RTRIM(aDESCMERC)
SAVE SCREEN TO DBEDIT2
SET COLOR TO B/W
DBEDIT (08,15,20,70,PROCPRODN,,PROCPRODF,PROCPRODL,PROCTIPOSUP)
SET COLOR TO W+/B
RESTORE SCREEN FROM DBEDIT2
@ 07,00 CLEAR TO 07,79
@ 07,04 SAY CCM01DSMER
@ 07,47 GET nQTE PICT "999999"
READ
IF nQTE = 0
DO MENSAGEM WITH "Quantidade NAO pode ser ZERO, Tente Novamente",.T.
LOOP
ENDIF
@ 07,47 CLEAR TO 07,53
@ 07,45 SAY nQTE
nPRUNIT = nCM01VLCUS
@ 07,49 SAY nPRUNIT PICT "9999.99"
nPRTOTAL = nQTE * nPRUNIT
@ 07,66 SAY nPRTOTAL PICT "99999.99"
SELE TEMP
DO RRLOC
APPEND BLANK
REPL CODMERC WITH CMCA01->CCM01CDMER
REPL DESCMERC WITH CMCA01->CCM01DSMER
REPL QTE WITH nQTE
REPL PRUNIT WITH nPRUNIT
REPL PRTOTAL WITH nPRTOTAL
REPL ATUALIZADO WITH "N"
UNLOCK
go bottom
skip -10
@ 07,45 CLEAR TO 07,79
MOSTRALANC:refreshall()
MOSTRALANC:configure()
MOSTRALANC:forcestable()
ENDIF
ENDDO
CLOSE DATA
RETURN
function firmshow
IF LASTKEY() = 27
RETURN 0
ENDIF
@ 24,20 say MENSAGEM
return 1
[/code]