#! /usr/bin/awk -f # cli2psql.awk # Jorge Fco. Ricarte Lopez # Fri Aug 24 06:55:13 MDT 2007 # jorgericarte@asuni.com.mx # Clientes-Fix to Clientes-Psql # Ultimo cambio: Thu 01 Oct 2009 12:29:27 AM MDT BEGIN { FS=":" "date +%Y%m%d" | getline mHoy INSFAC="fnclie( cl_cliente, cl_nombre, cl_nombre2, cl_domicil1, cl_domicil2, cl_colonia, cl_ciudad, cl_estado, cl_codipost, cl_fax, cl_telefono, cl_tipoclie, cl_numprecio, cl_plazo, cl_porcimp, cl_limicred, cl_categcre, cl_vendedor, cl_cobrador, cl_ventamens, cl_ventaanua, cl_fealtbaj, cl_feultfact, cl_feultpago, cl_feultcred, cl_feultcarg, cl_saldo, cl_wbaja, cl_mdatoalfa, cl_desextra, cl_rfc, cl_tipfacdes, cl_cliecomi, cl_comentario, cl_curp )" CI=2 CF=35 m1="" l=1 } function fDate(fEsDat) { if (fEsDat==" " || fEsDat=="") { fEsDat=mHoy } lnum=sprintf(",'%s'",fEsDat) return lnum } function fNumero(fEsNum) { if (fEsNum==0 || fEsNum==" " || fEsNum=="" ) { fEsNum=0 } lnum=sprintf(",%s",fEsNum) return lnum } function fCualEs(fNamFld,fValFld) { # print ("'")(fNamFld)("' -- '")(fValFld)("'") # print NR,CF,$0 lval="" if (fNamFld=="Cliente ") { lval=sprintf("'%s'",fValFld) } if (fNamFld=="Nombre ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Nombre2 ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Domicil 1 ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Domicil 2 ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Colonia ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Ciudad ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Estado ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Codi post ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Fax ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Telefono ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Tipo clie ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Num precio ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Plazo ") { lval=fNumero(fValFld) } if (fNamFld=="Porc desc ") { lval=fNumero(fValFld) } if (fNamFld=="Limi cred ") { lval=fNumero(fValFld) } if (fNamFld=="Categ cre ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Vendedor ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Cobrador ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Venta mens ") { lval=fNumero(fValFld) } if (fNamFld=="Venta anua ") { lval=fNumero(fValFld) } if (fNamFld=="Fe alt baj ") { lval=fDate(fValFld) } if (fNamFld=="Feult fact ") { lval=fDate(fValFld) } if (fNamFld=="Feult pago ") { lval=fDate(fValFld) } if (fNamFld=="Feult cred ") { lval=fDate(fValFld) } if (fNamFld=="Feult carg ") { lval=fDate(fValFld) } if (fNamFld=="Saldo ") { lval=fNumero(fValFld) } if (fNamFld=="W baja ") { lval=sprintf(",%s","False") } if (fNamFld=="Mdato alfa ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Desc extra ") { lval=fNumero(fValFld) } if (fNamFld=="Rfc ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Tip facdes ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Clie comi ") { lval=fNumero(fValFld) } if (fNamFld=="Comentario ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Curp ") { lval=sprintf(",'%s'",fValFld) } return lval } { # print NR,CF,$0 fld=substr($2,2) if (fld ~ /'/) { gsub(/'/," ",fld) } # if (NR==CI-1) { # m1=fCualEs($1,fld) # m1=("'")($2)("'") # m1=sprintf("'%s'",fld) # } # if (NR>=CI && NR<=CF) { m1=(m1)(fCualEs($1,fld)) # m1=(m1)(",'")(fld)("'") # } if (NR==CF+1) { CI=CI+35 CF=CF+36 mLinea=("INSERT INTO ")(INSFAC)(" VALUES ( ")(m1)(" );") m1="" print mLinea } # print length($1),$1,length(fld),$2,length(lfld),lfld } END { #print mHoy }