#! /usr/bin/awk -f # fac2psql.awk # Jorge Fco. Ricarte Lopez # Sun Aug 19 12:52:34 MDT 2007 # jorgericarte@asuni.com.mx # Ultimo cambio: Thu 14 Feb 2008 05:43:00 PM MST BEGIN { FS=":" "date +%Y%m%d" | getline mHoy INSFAC="fnfact(fc_tipdoc, fc_numdoc, fc_refer, fc_fecha, fc_clipro, fc_vende, fc_cobra, fc_numpre, fc_plazo, fc_impto, fc_gpo, fc_linea, fc_numpar, fc_descrip, fc_salida, fc_entrada, fc_almacen, fc_precio, fc_importe, fc_impuesto, fc_total, fc_costo, fc_costopro, fc_exisante, fc_actual, fc_aplicar, fc_pedido, fc_unimed, fc_pedimen, fc_aduana, fc_fechaped, fc_serie, fc_ubica, fc_tipo, fc_hora)" CI=2 CF=36 m1="" TIMEFORMAT="%H:%M:%S" } function fTime() { lnum=strftime(TIMEFORMAT, systime() ) lnum=sprintf(",'%s'",lnum) return lnum } 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)("'") lval="" if (fNamFld=="Tipo docu ") { lval=sprintf("'%s'",fValFld) } if (fNamFld=="Nume docu ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Refer ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Fecha ") { lval=fDate(fValFld) } if (fNamFld=="Clie prov ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Vendedor ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Cobrador ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Num precio ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Plazo ") { lval=fNumero(fValFld) } if (fNamFld=="Porc imto ") { lval=fNumero(fValFld) } if (fNamFld=="Grupo ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Linea ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Num parte ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Descrip ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Salida ") { lval=fNumero(fValFld) } if (fNamFld=="Entrada ") { lval=fNumero(fValFld) } if (fNamFld=="Almacen ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Precio ") { lval=fNumero(fValFld) } if (fNamFld=="Importe ") { lval=fNumero(fValFld) } if (fNamFld=="Impuesto ") { lval=fNumero(fValFld) } if (fNamFld=="Total ") { lval=fNumero(fValFld) } if (fNamFld=="Costo ") { lval=fNumero(fValFld) } if (fNamFld=="Costo pro ") { lval=fNumero(fValFld) } if (fNamFld=="Exis ante ") { lval=fNumero(fValFld) } if (fNamFld=="Actualizo ") { lval=fDate(fValFld) } if (fNamFld=="Aplicar ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Pedido ") { lval=fNumero(fValFld) } if (fNamFld=="Uni medid ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Pedimento ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Aduana ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Fecha ped ") { lval=fDate(fVAlFld) } if (fNamFld=="Serie ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Ubicacion ") { lval=sprintf(",'%s'",fValFld) } if (fNamFld=="Tipo ") { lval=sprintf(",'%s'",fValFld) } # if (fNamFld=="Hora ") { lval=sprintf(",'%s:%s'",fValFld,$3) } if (fNamFld=="Hora ") { lval=fTime() } return lval } { fld=substr($2,2) # 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+37 CF=CF+37 mLinea=("INSERT INTO ")(INSFAC)(" VALUES ( ")(m1)(" );") m1="" print mLinea } # print length($1),$1,length(fld),$2,length(lfld),lfld } END { #print mHoy }