- 论坛徽章:
- 0
|
谢谢waker,慢慢得成型了
目前我把代码修改成
- #!/bin/sh
- awk '
- /UPDATE/{ac="upd";tname=$2}
- /SELECT/{ac="sel";tname=$4}
- /INSERT/{ac="ins";tname=$3}
- /DELETE/{ac="del";tname=$3}
- /IF SQLCA/{pro=1}
- /IF STATUS/{pro=1}
- /END IF/{pro=0}
- pro==1&&/CALL cl_err/{print "#",$0," #No.FUN-660115";
- gsub(/^[^,]*/,"");gsub(/,.*/,"");
- print " CALL cl_err3(\""ac"\",\""tname"\",\"\",\"\",SQLCA\.sqlcode,\"\",
- }
- !(pro==1&&/CALL cl_err/)
- ' sample >try.txt
复制代码
原始文件,sample长成
- INSERT INTO qcs_file VALUES (g_qcs.*)
- IF SQLCA.sqlcode THEN
- CALL cl_err(g_qcs.qcs01,SQLCA.sqlcode,1)
- LET g_success='N'
- END IF
-
- UPDATE srg_file SET srg12=g_qcs.qcs01 WHERE srg01=g_qcs.qcs01
- AND srg02=g_qcs.qcs02
- IF SQLCA.sqlcode OR SQLCA.sqlerrd[3]=0 THEN
- CALL cl_err(g_qcs.qcs01,SQLCA.sqlcode,1)
- LET g_success='N'
- END IF
-
- SELECT occ02 INTO m_pmc03
- FROM occ_file
- WHERE occ01 = g_qcs.qcs03
- IF STATUS THEN
- CALL cl_err(g_qcs.qcs03,'atm-333',0)
- NEXT FIELD qcs03
- END IF
-
- DELETE FROM qct_file
- WHERE qct01 = g_qcs.qcs01
- AND qct02 = g_qcs.qcs02
- AND qct021= g_qcs.qcs05
- AND qct03 = g_qct_t.qct03
- IF SQLCA.sqlcode THEN
- CALL cl_err(g_qct_t.qct03,SQLCA.sqlcode,0)
- ROLLBACK WORK
- CANCEL DELETE
- END IF
复制代码
使用了最上面的代码后,结果长成了
- INSERT INTO qcs_file VALUES (g_qcs.*)
- IF SQLCA.sqlcode THEN
- # CALL cl_err(g_qcs.qcs01,SQLCA.sqlcode,1) #No.FUN-660115
- CALL cl_err3("ins","qcs_file","","",SQLCA.sqlcode,"","",1) #No.FUN-660
-
- LET g_success='N'
- END IF
-
- UPDATE srg_file SET srg12=g_qcs.qcs01 WHERE srg01=g_qcs.qcs01
- AND srg02=g_qcs.qcs02
- IF SQLCA.sqlcode OR SQLCA.sqlerrd[3]=0 THEN
- # CALL cl_err(g_qcs.qcs01,SQLCA.sqlcode,1) #No.FUN-660115
- CALL cl_err3("upd","srg_file","","",SQLCA.sqlcode,"","",1) #No.FUN-660115
-
- LET g_success='N'
- END IF
-
- SELECT occ02 INTO m_pmc03
- FROM occ_file
- WHERE occ01 = g_qcs.qcs03
- IF STATUS THEN
- # CALL cl_err(g_qcs.qcs03,'atm-333',0) #No.FUN-660115
- CALL cl_err3("sel","m_pmc03","","",SQLCA.sqlcode,"","",1) #No.FUN-660115
-
- NEXT FIELD qcs03
- END IF
-
- DELETE FROM qct_file
- WHERE qct01 = g_qcs.qcs01
- AND qct02 = g_qcs.qcs02
- AND qct021= g_qcs.qcs05
- AND qct03 = g_qct_t.qct03
- IF SQLCA.sqlcode THEN
- # CALL cl_err(g_qct_t.qct03,SQLCA.sqlcode,0) #No.FUN-660115
- CALL cl_err3("del","qct_file","","",SQLCA.sqlcode,"","",1) #No.FUN-660
-
- ROLLBACK WORK
- CANCEL DELETE
- END IF
复制代码
我希望最好的效果能够为
- INSERT INTO qcs_file VALUES (g_qcs.*)
- IF SQLCA.sqlcode THEN
- # CALL cl_err(g_qcs.qcs01,SQLCA.sqlcode,1) #No.FUN-660115
- CALL cl_err3("ins","qcs_file","","",SQLCA.sqlcode,"","",1) #No.FUN-660
- LET g_success='N'
- END IF
-
- UPDATE srg_file SET srg12=g_qcs.qcs01 WHERE srg01=g_qcs.qcs01
- AND srg02=g_qcs.qcs02
- IF SQLCA.sqlcode OR SQLCA.sqlerrd[3]=0 THEN
- # CALL cl_err(g_qcs.qcs01,SQLCA.sqlcode,1) #No.FUN-660115
- CALL cl_err3("upd","srg_file","","",SQLCA.sqlcode,"","",1) #No.FUN-
- LET g_success='N'
- END IF
-
- SELECT occ02 INTO m_pmc03
- FROM occ_file
- WHERE occ01 = g_qcs.qcs03
- IF STATUS THEN
- # CALL cl_err(g_qcs.qcs03,'atm-333',0) #No.FUN-660115
- CALL cl_err3("sel","m_pmc03","","",SQLCA.sqlcode,"","",1) #No
- NEXT FIELD qcs03
- END IF
-
- DELETE FROM qct_file
- WHERE qct01 = g_qcs.qcs01
- AND qct02 = g_qcs.qcs02
- AND qct021= g_qcs.qcs05
- AND qct03 = g_qct_t.qct03
- IF SQLCA.sqlcode THEN
- # CALL cl_err(g_qct_t.qct03,SQLCA.sqlcode,0) #No.FUN-660115
- CALL cl_err3("del","qct_file","","",SQLCA.sqlcode,"","",1) #No.F
- ROLLBACK WORK
- CANCEL DELETE
- END IF
复制代码
/)/)
(*.*) |
|