SCHEMA smarmotech GLOBALS DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings() r_filename,inventario STRING, -- filename of Report Design Document including .4rp extension r_output STRING, -- output format option preview INTEGER, -- TRUE/FALSE, to set preview option salida CHAR(40), historico,servicios CHAR(1), petiquetas ui.ComboBox, k1 CHAR(2), tipo_reporte CHAR(10), grupo1 VARCHAR(100), valorOrden DEC(12,2) DEFINE nombre_m CHAR(20), USUARIOS, CLAVE CHAR(50), progreso SMALLINT, descripcion CHAR(70), p_iptb01 RECORD LIKE iptb00001.*, p_iptb02 RECORD LIKE iptb00002.*, p_iptb06 RECORD LIKE iptb00006.*, p_iptb14 RECORD LIKE iptb00014.*, p_iptb19 RECORD LIKE iptb00019.*, p_iptb20 RECORD LIKE iptb00020.*, p_iptb21 RECORD LIKE iptb00021.*, p_vetb25 RECORD LIKE vetb00025.*, p_iptb22 RECORD LIKE iptb00022.*, preciosm INTEGER, #RECORD LIKE iptb00014.*, marcas RECORD LIKE iptb00019.*, lj,tipo_inventario SMALLINT, pflag CHAR(1), fecha1 DATE, selec_pt CHAR(1000),control_existencia,control_itbis, normal,negrilla_on,negrillas_of,comp_on,comp_off,doce,doble_on,doble_off,respuesta CHAR(3) DEFINE dcmd,cmd,imprime,copia CHAR(150),archivo CHAR(80),impresor,impresor1 SMALLINT DEFINE p_iptb57 RECORD numero_doc INT, cod_mov SMALLINT, fecha DATE, num_oc INT, observacion VARCHAR(200), tipo_cliente SMALLINT, sec_cliente INT, cliente VARCHAR(100), bodega SMALLINT, bodega_destino SMALLINT, estado VARCHAR(50), ruta_documento , url_file STRING, idstado VARCHAR(60) END RECORD, arr_iptb58 DYNAMIC ARRAY OF RECORD area INT, cod_n,cod_grupo,cod_tipo,cod_sec INT, descripcion VARCHAR(100), unidad_med VARCHAR(4), cantidad_1,cantidad,cantidad_o1,cantidad1,factor_conv DEC(12,5) END RECORD, arr_busqueda DYNAMIC ARRAY OF RECORD estadp1 VARCHAR(50), estado_proceso1 VARCHAR(100), tipo_documento VARCHAR(100), numeroid INT, fechadoc DATE, nombre VARCHAR(100), observacion VARCHAR(200), bodega_origen VARCHAR(100), bodega_destino VARCHAR(100), cod_mov INT, bodega1 SMALLINT, bodega2 SMALLINT END RECORD, secuencia INT, nombreUsuario,email,nombreBodega,nombreBodegaDestino,nombreMov STRING, cbmovimiento ui.ComboBox DEFINE opcion VARCHAR(20), tieneDetalle,requiere VARCHAR(2), ordenPedidos,existe BOOLEAN, xestado VARCHAR(50) DEFINE busca_p RECORD cod_n INTEGER, cod_grupo INTEGER, cod_tipo INTEGER, cod_sec INTEGER, descrip_esp CHAR(30), unidad_med CHAR(5) END RECORD DEFINE despiece DYNAMIC ARRAY OF RECORD id_etiqueta SMALLINT, cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, lado_1 DEC(12,5), lado_2 DEC(12,5), lado_3 DEC(12,5), cantidad DEC(12,5), medida DEC(12,5), secuencia,id_despiece INT, bodega SMALLINT END RECORD, tienedespiece BOOLEAN, total_cantidad,total_medida DEC(12,5), xtiene VARCHAR(3), cuentaimp INT DEFINE clientes ARRAY[50] OF RECORD tipo_cliente LIKE vetb00004.tipo_cliente, sec_cliente LIKE vetb00004.sec_cliente, nombre LIKE vetb00004.nombre END RECORD DEFINE codigos RECORD fecha DATE, cod_n_a SMALLINT, cod_grupo_a SMALLINT, cod_tipo_a SMALLINT, cod_sec_a SMALLINT, cantidad INTEGER, cod_n_h SMALLINT, cod_grupo_h SMALLINT, cod_tipo_h SMALLINT, cod_sec_h SMALLINT END RECORD DEFINE movimientos RECORD cod_mov LIKE iptb00006.cod_mov, num_doc LIKE iptb00006.num_doc, fecha LIKE iptb00006.fecha, tipo LIKE iptb00006.tipo, orden_compra LIKE iptb00006.orden_compra, fact_no LIKE iptb00006.fact_no, conduce_no LIKE iptb00006.conduce_no, cod_sp LIKE iptb00006.cod_sp, cod_sp_sec LIKE iptb00006.cod_sp_sec, nom_sp CHAR(41), cod_transp LIKE iptb00006.cod_transp, sec_transp LIKE iptb00006.sec_transp, placa LIKE iptb00006.placa, cod_tarifa LIKE iptb00006.cod_tarifa, bodega LIKE iptb00006.bodega, departamento SMALLINT, detalle LIKE iptb00006.detalle END RECORD DEFINE ultimo RECORD cond_recep LIKE iptb00006.cond_recep, uso_tiempo LIKE iptb00006.uso_tiempo END RECORD DEFINE datos1 RECORD num_doc LIKE iptb00006.num_doc, fecha LIKE iptb00006.fecha, cod_seccion SMALLINT, nom_seccion CHAR(20), bodega LIKE iptb00006.bodega END RECORD DEFINE p_conteo RECORD fecha LIKE iptb00006.fecha, bodega LIKE iptb00006.bodega, cod_n LIKE iptb00006.cod_n, cod_grupo LIKE iptb00006.cod_grupo, cod_tipo LIKE iptb00006.cod_tipo, cod_sec LIKE iptb00006.cod_sec, cantidad LIKE iptb00006.cantidad_2 END RECORD DEFINE costos RECORD LIKE iptb00004.* DEFINE datos RECORD num_doc LIKE iptb00006.num_doc, fecha LIKE iptb00006.fecha, nom_dpto CHAR(30), nom_dpto1 CHAR(30), bodega LIKE iptb00006.bodega END RECORD DEFINE datos_gen RECORD cod_mov LIKE iptb00006.cod_mov, num_doc LIKE iptb00006.num_doc, cod_sp LIKE iptb00006.cod_sp, cod_sp_sec LIKE iptb00006.cod_sp_sec, tipo LIKE iptb00006.tipo, orden_compra LIKE iptb00006.orden_compra, conduce_no LIKE iptb00006.conduce_no, fact_no LIKE iptb00006.fact_no, fecha LIKE iptb00006.fecha, bodega LIKE iptb00006.bodega, nom_sp CHAR(40), #LIKE cotb00001.nom_sp, descrip_mov LIKE iptb00005.descrip_mov END RECORD DEFINE otros_mov RECORD num_doc LIKE iptb00006.num_doc, cod_cia LIKE iptb00006.cod_cia, cod_mov LIKE iptb00006.cod_mov, fact_no LIKE iptb00006.fact_no, cod_transp LIKE iptb00006.cod_transp, sec_transp LIKE iptb00006.sec_transp, cod_tarifa LIKE iptb00006.cod_tarifa, placa LIKE iptb00006.placa, fecha LIKE iptb00006.fecha, conduce_no LIKE iptb00006.conduce_no, descrip_mov CHAR(80), #LIKE intb00005.descrip_mov, bodega LIKE iptb00006.bodega, bodega_destino SMALLINT, detalle LIKE iptb00006.detalle, cod_sp LIKE iptb00006.cod_sp, cod_sp_sec LIKE iptb00006.cod_sp_sec, departamento SMALLINT, nombre_depto CHAR(30), cod_mov1 SMALLINT, entrada INT, descrip_mov1 CHAR(40), descrip4 CHAR(30), factura INT END RECORD DEFINE chequea RECORD minima LIKE iptb00002.exist_min, maxima LIKE iptb00002.exist_max END RECORD DEFINE p_unidad ARRAY [100] OF INTEGER DEFINE selec2 CHAR(1000) DEFINE p_cantidad,bandera SMALLINT DEFINE p_fechas DATE DEFINE nombre_dia ARRAY[7] OF char(10) DEFINE nombre_mes ARRAY[12] OF char(10) DEFINE nombre_ant CHAR(11) DEFINE general decimal(12,2) DEFINE numero_msg,curr1,p_cod_cia,p_bodega,longitud SMALLINT #DEFINE arancel RECORD LIKE cotb00005.* DEFINE status_m char(1) DEFINE decide,p_param char(1) DEFINE cant DECIMAL(12,5) DEFINE tipo_papel smallint DEFINE balance DECIMAL(12,5) DEFINE cod_mov_ant LIKE iptb00006.cod_mov DEFINE existe_comp,suplidor1,doc_existe,actual,mat_prima CHAR (1000) DEFINE opt1,opt4,opt,existe,ya ,opera1,cambio CHAR(3) DEFINE medida CHAR (3) DEFINE fila smallint DEFINE m_articulos RECORD LIKE iptb00002.* DEFINE presentacion RECORD LIKE iptb00003.* DEFINE p_companias RECORD LIKE companias.* # DEFINE numero_msg LIKE msgtable.cod_msg DEFINE articulos RECORD LIKE iptb00002.* # DEFINE suplidor RECORD LIKE intb00008.* DEFINE meses RECORD LIKE mestable.*, regi INTEGER DEFINE mensajes RECORD {LIKE msgtable.* } cod_msg smallint, desc_msg char(60), us_crea char(9), fech_crea char(16), us_mod char(9), fech_mod char(16) END RECORD DEFINE transacc RECORD LIKE iptb00005.* DEFINE medidas RECORD LIKE intb00007.* DEFINE nombre_cia,descrip1,descrip2,descrip3,descrip4 CHAR(30) DEFINE c_sustituto RECORD LIKE intb00003.* DEFINE c_equivalente RECORD LIKE intb00004.* DEFINE criterio CHAR(1000) DEFINE opc,selec,opt2 string DEFINE cod_n_a,cod_grupo_a,cod_tipo_a,cod_sec_a SMALLINT DEFINE p_act,idx,scr_l SMALLINT DEFINE tipo_p CHAR(1) DEFINE pilas ARRAY[100] OF RECORD cod_n LIKE intb00003.cod_n, cod_grupo LIKE intb00003.cod_grupo, cod_tipo LIKE intb00003.cod_tipo, cod_sec LIKE intb00003.cod_sec, descrip_esp LIKE iptb00002.descrip_esp END RECORD DEFINE prod1 DYNAMIC ARRAY OF RECORD estado VARCHAR(20), cod_n1 SMALLINT, cod_grupo1 SMALLINT, cod_tipo1 SMALLINT, cod_sec1 SMALLINT, descrip_esp1 CHAR(180), unidad_med LIKE iptb00002.unidad_med, bodega1 CHAR(50), existencia DECIMAL(12,5), cantidad_ordenes DEC(12,5), disponible DEC(12,5), reservado DEC(12,5), transito DEC(12,5), valorOrden DEC(16,2) END RECORD DEFINE prod11 DYNAMIC ARRAY OF RECORD estado VARCHAR(20), cod_n1 SMALLINT, cod_grupo1 SMALLINT, cod_tipo1 SMALLINT, cod_sec1 SMALLINT, descrip_esp1 CHAR(70), unidad_med LIKE iptb00002.unidad_med, existencia DECIMAL(12,5), cantidad_ordenes DEC(12,5), pventas DEC(12,5), ventas VARCHAR(30), precio DEC(12,2), reservado DEC(12,5), transito DEC(12,5), fecha_llegada DATE, fecha_ordenada DATE END RECORD DEFINE prod ARRAY[200] OF RECORD cod_n1 SMALLINT, cod_grupo1 SMALLINT, cod_tipo1 SMALLINT, cod_sec1 SMALLINT, descrip_esp1 CHAR(70), unidad_med LIKE iptb00002.unidad_med, bodega LIKE iptb00002.bodega, marca CHAR(10), #002.marca, cod_cia LIKE iptb00002.cod_cia, existencia DECIMAL(12,5), exist_min DECIMAL(12,5), dia_llegada LIKE iptb00002.dia_llegada END RECORD DEFINE movi2 DYNAMIC ARRAY OF RECORD area SMALLINT, descripcion_area VARCHAR(30), cod_n LIKE intb00003.cod_n, cod_grupo LIKE intb00003.cod_grupo, cod_tipo LIKE intb00003.cod_tipo, cod_sec LIKE intb00003.cod_sec, cantidad_1 DEC(12,5), cantidad_2 DEC(12,5), cantidad_p DEC(12,5), unidad_med LIKE iptb00002.unidad_med, descrip_esp CHAR(80), existencia DEC(12,5), disponible DEC(12,5), codigo_bloque CHAR(15), id_kit INT END RECORD DEFINE art DYNAMIC ARRAY OF RECORD cod_n1 SMALLINT, cod_grupo1 SMALLINT, cod_tipo1 SMALLINT, cod_sec1 SMALLINT, descrip_esp1 CHAR(30), unidad_med LIKE iptb00002.unidad_med, bodega LIKE intb00002.bodega, existencia like intb00002.existencia, pto_reorden LIKE intb00002.pto_reorden, dia_llegada LIKE intb00002.dia_llegada, valor decimal(10,2) END RECORD DEFINE csmov RECORD num_doc LIKE iptb00006.num_doc, fecha_1 LIKE iptb00006.fecha, num_oc INT, num_compra INT, cantidad_2 LIKE iptb00006.cantidad_2, cod_mov LIKE iptb00006.cod_mov, bodega CHAR(50) END RECORD DEFINE datos_cons RECORD cod_n LIKE iptb00002.cod_n, cod_grupo LIKE iptb00002.cod_grupo, cod_tipo LIKE iptb00002.cod_tipo, cod_sec LIKE iptb00002.cod_sec, unidad_med LIKE iptb00002.unidad_med, bodega LIKE iptb00006.bodega, fech_in DATE, fech_fi DATE END RECORD DEFINE movi3 ARRAY[1000] OF RECORD codigo CHAR(10), cantidad_1 DECIMAL(12,5), cantidad_2 DECIMAL(12,5), diferencia DECIMAL(12,5), descrip_esp LIKE iptb00002.descrip_esp, unidad_med LIKE iptb00002.unidad_med END RECORD DEFINE movi_ant ARRAY[1000] OF RECORD cod_n LIKE iptb00006.cod_n, cod_grupo LIKE iptb00006.cod_grupo, cod_tipo LIKE iptb00006.cod_tipo, cod_sec LIKE iptb00006.cod_sec, cant_ant LIKE iptb00006.cantidad_2 END RECORD DEFINE movi ARRAY[500] OF RECORD cod_n LIKE iptb00006.cod_n, cod_grupo LIKE iptb00006.cod_grupo, cod_tipo LIKE iptb00006.cod_tipo, cod_sec LIKE iptb00006.cod_sec, cantidad_1 LIKE iptb00006.cantidad_1, cantidad_2 LIKE iptb00006.cantidad_2, unidad_med LIKE iptb00002.unidad_med, descrip_esp CHAR(40) END RECORD DEFINE ant_art RECORD area SMALLINT, cod_n LIKE cotb00002.cod_n, cod_grupo LIKE cotb00002.cod_grupo, cod_tipo LIKE cotb00002.cod_tipo, cod_sec LIKE cotb00002.cod_sec END RECORD DEFINE c_articulos ARRAY[100] OF RECORD cod_n LIKE cotb00002.cod_n, cod_grupo LIKE cotb00002.cod_grupo, cod_tipo LIKE cotb00002.cod_tipo, cod_sec LIKE cotb00002.cod_sec, descripcion CHAR(30) # costo_mp LIKE cotb00002.costo_mp, # fecha_act LIKE cotb00002.fecha_act END RECORD DEFINE consulta_mv ARRAY[200] OF RECORD num_doc LIKE iptb00006.num_doc, fecha LIKE iptb00006.fecha, nombre char(7), cantidad_1 LIKE iptb00006.cantidad_1, cantidad_2 LIKE iptb00006.cantidad_1, balance decimal(12,2) END RECORD DEFINE c_det_inv ARRAY[200] OF RECORD cod_n LIKE iptb00002.cod_n, cod_grupo LIKE iptb00002.cod_grupo, cod_tipo LIKE iptb00002.cod_tipo, cod_sec LIKE iptb00002.cod_sec, descrip_esp LIKE iptb00002.descrip_esp, existencia LIKE intb00002.existencia, #costo_mp LIKE cotb00002.costo_mp, valor DECIMAL(12,5) END RECORD DEFINE datos_cs RECORD cod_n LIKE iptb00006.cod_n, cod_grupo LIKE iptb00006.cod_grupo, cod_tipo LIKE iptb00006.cod_tipo, cod_sec LIKE iptb00006.cod_sec, descrip_esp LIKE iptb00002.descrip_esp, fecha_in LIKE iptb00006.fecha, fecha_fi LIKE iptb00006.fecha END RECORD #DEFINE medidas1 RECORD LIKE vetb00014.* DEFINE otrab SMALLINT DEFINE comp_fech,comp_fech1 DATE DEFINE mes_control CHAR(2) DEFINE mes_calc,dia SMALLINT DEFINE fecha_c DATE DEFINE c_ano,a_ano CHAR(4) END GLOBALS FUNCTION busca_prod1() DEFINE arr_prod ARRAY[500] OF RECORD cod_n INTEGER, cod_grupo INTEGER, cod_tipo INTEGER, cod_sec INTEGER, descrip_esp CHAR(30), unidad_med CHAR(5) END RECORD OPEN WINDOW busca_2 AT 8,4 WITH FORM "ipfmwd001" ATTRIBUTE (BORDER,FORM LINE FIRST + 1,PROMPT LINE LAST) CONSTRUCT criterio ON a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp FROM cod_n,cod_grupo,cod_tipo,cod_sec,descrip_esp LET selec_pt = "SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp, ", " a.unidad_med FROM iptb00002 a ", "WHERE a.status_t IS NULL AND ",criterio CLIPPED," ORDER BY 5 " PREPARE comando_p FROM selec_pt DECLARE busca_2 CURSOR FOR comando_p LET idx = 1 FOREACH busca_2 INTO arr_prod[idx].* LET idx = idx + 1 END FOREACH CALL SET_COUNT(idx - 1) DISPLAY ARRAY arr_prod TO s_prod.* LET idx = ARR_CURR() LET busca_p.cod_n = arr_prod[idx].cod_n LET busca_p.cod_grupo = arr_prod[idx].cod_grupo LET busca_p.cod_tipo = arr_prod[idx].cod_tipo LET busca_p.cod_sec = arr_prod[idx].cod_sec LET busca_p.descrip_esp = arr_prod[idx].descrip_esp LET busca_p.unidad_med = arr_prod[idx].unidad_med # para el precio LET p_vetb25.cod_n = arr_prod[idx].cod_n LET p_vetb25.cod_grupo = arr_prod[idx].cod_grupo LET p_vetb25.cod_tipo = arr_prod[idx].cod_tipo LET p_vetb25.cod_sec = arr_prod[idx].cod_sec LET descrip1 = arr_prod[idx].descrip_esp LET medida = arr_prod[idx].unidad_med CLOSE WINDOW busca_2 END FUNCTION REPORT formu4(x,z) DEFINE x RECORD num_doc LIKE iptb00006.num_doc, cod_cia LIKE iptb00006.cod_cia, cod_mov LIKE iptb00006.cod_mov, fact_no LIKE iptb00006.fact_no, cod_transp LIKE iptb00006.cod_transp, sec_transp LIKE iptb00006.sec_transp, cod_tarifa LIKE iptb00006.cod_tarifa, placa LIKE iptb00006.placa, fecha LIKE iptb00006.fecha, conduce_no LIKE iptb00006.conduce_no, descrip_mov CHAR(40), #LIKE intb00005.descrip_mov, bodega LIKE iptb00006.bodega, detalle LIKE iptb00006.detalle, cod_sp LIKE iptb00006.cod_sp, cod_sp_sec LIKE iptb00006.cod_sp_sec, departamento SMALLINT, nombre_depto CHAR(30), cod_mov1 SMALLINT, entrada INT, descrip_mov1 CHAR(40), descrip4 CHAR(30) END RECORD DEFINE z RECORD cod_n LIKE intb00003.cod_n, cod_grupo LIKE intb00003.cod_grupo, cod_tipo LIKE intb00003.cod_tipo, cod_sec LIKE intb00003.cod_sec, cantidad_1 LIKE iptb00006.cantidad_1, cantidad_2 LIKE iptb00006.cantidad_2, cantidad_p DEC(12,5), unidad_med LIKE iptb00002.unidad_med, descrip_esp CHAR(70) END RECORD, etiqueta,pcalle,purbanizacion,pcasa_num,ptelefono,pcelular,nombre,apellido CHAR(30), plado1,plado2,plado3,pcantidad,pmedida DEC(12,5), pprovincia SMALLINT, nombre_provincia CHAR(30), nombre_p,direccion_p CHAR(40), total_unidades INT, hora CHAR(5), pobserva,pubica CHAR(60) DEFINE usuario_c CHAR(9) DEFINE signo CHAR(1) DEFINE doce,normal,doble,doble_of,negras,negras_off CHAR(2) DEFINE l,cuenta SMALLINT OUTPUT LEFT MARGIN 0 ORDER BY x.num_doc,z.cod_sec FORMAT BEFORE GROUP OF x.num_doc LET doble = ASCII 14 LET doble_of = ASCII 20 LET negras = ASCII 27, ASCII 69 LET negras_off = ASCII 27, ASCII 70 SELECT unique us_crea INTO usuario_c FROM iptb00006 WHERE num_doc = x.num_doc and cod_mov = x.cod_mov and us_crea = user LET doce = ASCII 27, ASCII 77 LET normal = ASCII 27, ASCII 80 LET hora = time PRINT doce #PRINT COLUMN 1, negras,doble,p_companias.nombre CLIPPED PRINT COLUMN 1,doble, "M A R M O T E C H, S. A.",doble_of PRINT COLUMN 71,"No. ",doble,x.num_doc using "<<<<<<" #LET l = (80 - LENGTH ("OTROS MOVIMIENTOS")) / 2 PRINT #COLUMN l, "OTROS MOVIMIENTOS", COLUMN 71, x.fecha using "dd/mm/yyyy" PRINT COLUMN 71, hora LET l = (70 - LENGTH (x.descrip_mov)) / 2 PRINT COLUMN l-2, doble,negras,"(",x.cod_mov using "&&",") ",x.descrip_mov,doble_of PRINT negras_off IF x.cod_mov = 12 THEN PRINT COLUMN 1, "Factura No: ",x.fact_no using "&&&&&&" END IF IF x.detalle is null THEN LET x.detalle = "**************************************" END IF SELECT a.calle,a.casa_num,a.urbanizacion,b.telefono,b.telex,c.nom1_emp,c.apell1_emp,b.cod_provincia INTO pcalle,pcasa_num,purbanizacion,ptelefono,pcelular,nombre,apellido,pprovincia FROM vetb00005 a,vetb00004 b,vetb00028 d,adtb00003 c WHERE a.tipo_cliente = x.cod_sp AND a.sec_cliente = x.cod_sp_sec AND a.tipo_cliente = d.tipo_cliente AND a.sec_cliente = d.sec_cliente AND a.tipo_cliente = b.tipo_cliente AND a.sec_cliente = b.sec_cliente AND d.sec_vend = c.num_emp LET nombre_provincia = NULL IF x.cod_mov = 30 OR x.cod_mov = 31 THEN SELECT a.nombre_provincia INTO nombre_provincia FROM vetb00020 a WHERE a.cod_provincia = pprovincia END IF IF x.cod_mov = 55 THEN SELECT unique a.nom_pais INTO nombre_provincia FROM cotb00018 a WHERE a.cod_pais = pprovincia END IF LET nombre_p = null LET direccion_p = null SELECT a.nombre_proyecto,a.direccion_proyecto INTO nombre_p,direccion_p FROM vetb00049 a WHERE a.tipo_cliente = x.cod_sp AND a.sec_cliente = x.cod_sp_Sec SELECT a.direccion INTO pubica FROM prtb00012 a WHERE a.num_oc = x.conduce_no AND a.fech_crea > datetime (2007-01-01 08:00) year to minute # SELECT a.observacion INTO pobserva FROM prtb00014 a # WHERE a.num_oc = x.conduce_no AND a.fech_crea > datetime (2007-01-01 08:00) year to minute PRINT COLUMN 1, "CLIENTE : ",negras, x.descrip4," (", x.cod_sp using "&&","-", x.cod_sp_sec using "&&&&",")",negras_off PRINT COLUMN 1, "DIRECCION: ",pcalle CLIPPED," ",pcasa_num CLIPPED," ",purbanizacion CLIPPED, " TELEFONO: ",ptelefono CLIPPED," CELULAR: ",pcelular PRINT COLUMN 1, "Proyecto : ",nombre_p CLIPPED, " DIRECCION: ",direccion_p CLIPPED PRINT COLUMN 1, "Vendedor : ",nombre clipped," ",apellido PRINT COLUMN 1, "Entrada : ",x.entrada USING "<<<<<<"," (",x.cod_mov1 USING "<<<",") ",x.descrip_mov1 CLIPPED PRINT COLUMN 1, "Orden : ",x.conduce_no, COLUMN 20 #,"Observacion Orden: ",pobserva CLIPPED PRINT COLUMN 1, "Ubicacion: ",pubica CLIPPED IF x.cod_mov = 70 OR x.cod_mov = 71 OR x.cod_mov = 72 THEN PRINT COLUMN 1, "DEPARTAMENTO: ",x.departamento USING "<<<<"," ",x.nombre_depto END IF PRINT doce PRINT COLUMN 1, "-----------------------------------------------------------------------------", "-----------------" PRINT COLUMN 2,doble, "PRODUCTO(S)",doble_of clipped PRINT COLUMN 74, "CANTIDAD" PRINT COLUMN 62, "CANTIDAD", COLUMN 74, "PENDIENTE" PRINT COLUMN 50, "UNIDADES", COLUMN 62, "A DESPACHAR", COLUMN 74, "CON ESTA TRANSACCION" PRINT COLUMN 1, "-----------------------------------------------------------------------------", "-----------------" SKIP 1 LINES ON EVERY ROW IF z.cod_n is not null and z.cod_grupo is not null and z.cod_tipo is not null and z.cod_sec is not null THEN PRINT COLUMN 2, z.cod_n using "&&","-", COLUMN 4, z.cod_grupo using "&&","-", COLUMN 6, z.cod_tipo using "&&&","-", COLUMN 9, z.cod_sec using "&&&", COLUMN 17, z.descrip_esp clipped," "; IF cuenta = 1 THEN LET signo = "+" ELSE LET signo = "-" LET z.cantidad_2 = z.cantidad_2 * -1 END IF IF z.cantidad_2 < 0 THEN LET z.cantidad_2 = z.cantidad_2 * -1 END IF PRINT COLUMN 48, z.cantidad_1 USING "###,###.#####", COLUMN 56, z.cantidad_2 using "###,###.#####"," ",z.unidad_med, COLUMN 75, z.cantidad_p using "###,###.#####" DECLARE busca_d1 CURSOR FOR SELECT a.etiqueta,a.lado_1,a.lado_2,a.lado_3,a.cantidad,a.medida FROM iptb00025 a WHERE a.cod_n = z.cod_n AND a.cod_grupo = z.cod_grupo AND a.cod_tipo = z.cod_tipo AND a.cod_sec = z.cod_sec AND a.cod_mov = X.cod_mov AND a.num_Doc = x.num_doc LET total_unidades = 0 FOREACH busca_d1 INTO etiqueta,plado1,plado2,plado3,pcantidad,pmedida PRINT COLUMN 19,pcantidad USING "<,<<<"," ",etiqueta clipped," DE ",plado1 USING "<<.#####"," X ", plado2 USING "<<.#####"," X ",plado3 USING "<<.#####"," = ",pmedida USING "<<<.#####" LET total_unidades = total_unidades + pcantidad END FOREACH IF total_unidades > 0 THEN PRINT COLUMN 19, "TOTAL UNIDADES ",total_unidades USING "<,<<<" END IF END IF PAGE TRAILER PRINT COLUMN 1, "OBSERVACIONES: ", UPSHIFT(x.detalle) SKIP 1 LINE PRINT COLUMN 1, "TRANSPORTISTA: ",descrip2 PRINT COLUMN 1, "PLACA : ",x.placa SKIP 4 LINES PRINT COLUMN 1, "------------------", COLUMN 32, "------------------", COLUMN 55, "------------------" PRINT COLUMN 5, "Entregado Por", COLUMN 34, "Recibido Por", COLUMN 58, "Aprobado Por" SKIP 1 LINE PRINT COLUMN 2, "Original: Contabilidad Copia: Vendedor Copia: Ventas Copia: Almacen" PRINT normal END REPORT