下面這段程序代碼,運行時報嵌套錯誤,請各位高手分析一下
SET PROC TO GT1.PRG*SET TALK OFF
SET COLOR TO 7/1
CLEAR
CLEAR ALL
DO WHILE .T.
SET COLOR TO 7+/2
@12,24 PROMPT ' ? 连续输入 '
@12,41 PROMPT ' ? 选择输入 '
MENU TO K
DO CASE
CASE K=1
* DH1='*'
* DH2=' '
DO LXSR
CASE K=2
DH1=' '
DH2='*'
OTHE
LOOP
ENDCASE
EXIT
ENDDO
PROC LXSR
SET COLOR TO 7/1
CLEAR
SELE 1
USE RSK
SELE 2
USE KQK
SET RELA TO RECNO() INTO A
DO RQ
@0,12 SAY '修改岗贴'
X=3
Y=0
Z=0
*&DH1 DO WHILE .T.
DO WHILE .T.
DO CASE
CASE Z=0
SET COLOR TO 7+/2
CASE Z=1
SET COLOR TO 7+/4
CASE Z=2
SET COLOR TO 7+/3
CASE Z=3
SET COLOR TO 7+/6
CASE Z=4
SET COLOR TO 7+/2
ENDCASE
@X,8+Y SAY '┏━━━━━━━━┓'
@X+1,8+Y SAY '┃ 岗位津贴 ┃'
@X+2,8+Y SAY '┃ ============== ┃'
@X+3,8+Y SAY '┃ 姓名 ┃'
@X+4,8+Y SAY '┃ 编号 ┃'
@X+5,8+Y SAY '┃ 甲级 ┃'
@X+6,8+Y SAY '┃ 乙级 ┃'
@X+7,8+Y SAY '┃ 丙级 ┃'
@X+8,8+Y SAY '┃ 合计 ┃'
@X+9,8+Y SAY '┃ 金额 ?┃'
@X+10,8+Y SAY '┃ ??┃'
@X+11,8+Y SAY '┗━━━━━━━━┛'
J=' '
SET COLOR TO 7/1
@21,0 SAY SPACE(80)
SET COLOR TO 7+/6
@21,60 SAY ' ? 退出按回车键 '
SET COLOR TO 7+/6
@21,2 SAY ' ? 修改第几条记录? ' GET J
READ
IF J=' '
SET COLOR TO 7/1
CLEAR
CLEAR ALL
PUBL RROW, CCOL
RROW=2
CCOL=5
RETURN
ENDIF
GO TOP
SKIP VAL(J)-1
IF EOF()
GO BOTTOM
ENDIF
DO CASE
CASE Z=0
SET COLOR TO 0/2
CASE Z=1
SET COLOR TO 0/4
CASE Z=2
SET COLOR TO 0/3
CASE Z=3
SET COLOR TO 0/6
CASE Z=4
SET COLOR TO 0/2
ENDCASE
@X+3,16+Y SAY RS2
@X+4,16+Y SAY A->RS1
SET COLOR TO 7/1
@21,0 SAY SPACE(80)
J='Y'
SET COLOR TO 7+/6
@21,2 SAY ' ? 不正确键入N,确认按回车键! ' GET J
READ
IF UPPER(J)='N'
LOOP
ELSE
EXIT
ENDIF
ENDDO
SET COLOR TO 7/1
@21,0 SAY SPACE(80)
DO WHILE .T.
XG='N'
DO WHILE UPPE(XG)='N'
SET COLOR TO 7/1
@21,0 SAY SPACE(80)
SET COLOR TO 7+/6
@21,2 SAY ' ? 甲级天数:' GET GX13
READ
SET COLOR TO 7+/6
@21,22 SAY ' ? 乙级天数:' GET GX14
READ
SET COLOR TO 7+/6
@21,42 SAY ' ? 丙级天数:' GET GX15
READ
HJTS=GX13+GX14+GX15
IF HJTS>=50.OR.GX13<0.OR.GX14<0.OR.GX15<0
LOOP
ENDIF
HJJE=GX13*1.1+GX14*0.9+GX15*0.7
DO CASE
CASE Z=0
SET COLOR TO 0/2
CASE Z=1
SET COLOR TO 0/4
CASE Z=2
SET COLOR TO 0/3
CASE Z=3
SET COLOR TO 0/6
CASE Z=4
SET COLOR TO 0/2
ENDCASE
@X+5,17+Y SAY GX13 PICT '@Z'
@X+6,17+Y SAY GX14 PICT '@Z'
@X+7,17+Y SAY GX15 PICT '@Z'
@X+8,16+Y SAY HJTS PICT '999'
@X+9,16+Y SAY HJJE PICT '999.99'
SET COLOR TO 7/1
@21,0 SAY SPACE(80)
@20,0 SAY ' '
SET COLOR TO 7+/6
WAIT ' ? 不正确键入N,确认按回车键! ' TO XG
SET COLOR TO 7/1
@21,0 SAY SPACE(60)
ENDDO
REPL GX16 WITH HJJE
@20,0 SAY ' '
SET COLOR TO 7+/6
WAIT ' ? 退出键入Q,按回车键继续! ' TO N
IF UPPER(N)='Q'
EXIT
ELSE
X=X+1
Y=Y+10
Z=Z+1
DO CASE
CASE Z=1
SET COLOR TO 7+/4
CASE Z=2
SET COLOR TO 7+/3
CASE Z=3
SET COLOR TO 7+/6
CASE Z=4
SET COLOR TO 7+/2
CASE Z>4
SET COLOR TO 7+/2
X=3
Y=0
Z=0
ENDCASE
*&DH1 LOOP
SKIP
IF .NOT. EOF()
@X,8+Y SAY '┏━━━━━━━━┓'
@X+1,8+Y SAY '┃ 岗位津贴 ┃'
@X+2,8+Y SAY '┃ ============== ┃'
@X+3,8+Y SAY '┃ 姓名 ┃'
@X+4,8+Y SAY '┃ 车间 ┃'
@X+5,8+Y SAY '┃ 甲级 ┃'
@X+6,8+Y SAY '┃ 乙级 ┃'
@X+7,8+Y SAY '┃ 丙级 ┃'
@X+8,8+Y SAY '┃ 合计 ┃'
@X+9,8+Y SAY '┃ 金额 ?┃'
@X+10,8+Y SAY '┃ ??┃'
@X+11,8+Y SAY '┗━━━━━━━━┛'
DO CASE
CASE Z=0
SET COLOR TO 0/2
CASE Z=1
SET COLOR TO 0/4
CASE Z=2
SET COLOR TO 0/3
CASE Z=3
SET COLOR TO 0/6
CASE Z=4
SET COLOR TO 0/2
ENDCASE
@X+3,16+Y SAY RS2
@X+4,16+Y SAY A->RS1
* LOOP
ELSE
*&DH2 SET COLOR TO 7/1
*&DH2 @21,0 SAY SPACE(80)
*&DH2 @20,0 SAY ' '
*&DH2 SET COLOR TO 7+/6
*&DH2 WAIT ' ? 最后一条记录修改完毕,按回车键返回! '
*&DH2 EXIT
*&DH2 ENDIF
SET COLOR TO 7/1
@21,0 SAY SPACE(80)
@20,0 SAY ' '
SET COLOR TO 7+/6
WAIT ' ? 最后一条记录修改完毕,按回车键返回! '
EXIT
ENDIF
*ENDIF
ENDDO
SET COLOR TO 7/1
CLEAR
CLEAR ALL
PUBL RROW, CCOL
RROW=2
CCOL=4
RETURN