funciones con idea caseware - . | sams 2000 · 2015-11-19 · @fieldstatistics - devuelve el valor...

85
Funciones con IDEA CaseWare Manual de uso de las funciones IDEA Este manual fue traducido y compilado del archivo de ayuda original que viene instalado con el software. Este manual nos enseña el uso práctico de las 108 funciones predeterminadas que IDEA posee, cada función tiene una definición conceptual, una descripción de variables a utilizadas y ejemplos prácticos, en algunos casos, que ayudarán al lector a poder entender y aplicar estas funciones en su uso cotidiano del software IDEA CaseWare. 2012 Misban Miguel Abregú Copyright SAMS2000 SAC 09/05/2012

Upload: ngonhu

Post on 27-Sep-2018

232 views

Category:

Documents


2 download

TRANSCRIPT

Funciones con IDEA CaseWare Manual de uso de las funciones IDEA Este manual fue traducido y compilado del archivo de ayuda original que viene instalado con el software. Este manual nos enseña el uso práctico de las 108 funciones predeterminadas que IDEA posee, cada función tiene una definición conceptual, una descripción de variables a utilizadas y ejemplos prácticos, en algunos casos, que ayudarán al lector a poder entender y aplicar estas funciones en su uso cotidiano del software IDEA CaseWare.

2012

Misban Miguel Abregú Copyright SAMS2000 SAC

09/05/2012

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

2

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

TABLA DE CONTENIDO @FUNCIONES ............................................................................................................................ 5 TIPOS DE @FUNCIONES ............................................................................................................. 5

@Funciones Caracter ........................................................................................................ 5 @Funciones Condicionales................................................................................................ 6 @Funciones de Fecha y Hora ............................................................................................ 7 @Funciones Financieras .................................................................................................... 8 @Funciones de Coincidencia ............................................................................................. 8 @Funciones Numéricas ..................................................................................................... 9

LISTADO GENERAL DE @FUNCIONES ....................................................................................... 10 @Abs .............................................................................................................................. 10 @Afternoon .................................................................................................................... 10 @Age .............................................................................................................................. 11 @AgeDateTime ............................................................................................................... 12 @AgeTime ...................................................................................................................... 12 @AllTrim ......................................................................................................................... 13 @Ascii ............................................................................................................................. 13 @Between ...................................................................................................................... 14 @BetweenDate ............................................................................................................... 15 @BetweenTime .............................................................................................................. 15 @Bit ................................................................................................................................ 16 @BitAnd.......................................................................................................................... 17 @BitOr ............................................................................................................................ 17 Corte de Siglo .................................................................................................................. 18 @Chr ............................................................................................................................... 18 @CompareNoCase .......................................................................................................... 19 @CompIf ......................................................................................................................... 20 @Ctod ............................................................................................................................. 21 @CurForm ....................................................................................................................... 22 @CurVal .......................................................................................................................... 22 @Date ............................................................................................................................. 23 @Day .............................................................................................................................. 23 @DaysToD ...................................................................................................................... 24 @Db ................................................................................................................................ 24 @Ddb .............................................................................................................................. 25 @Delete .......................................................................................................................... 26 @Dow ............................................................................................................................. 27 @Dtoc ............................................................................................................................. 27 @DToDays ...................................................................................................................... 28 @Dtoj .............................................................................................................................. 29 @Exp ............................................................................................................................... 29 @FieldStatistics............................................................................................................... 30 @FindOneOf ................................................................................................................... 31 @FinYear ........................................................................................................................ 32 @Format12HourClock ..................................................................................................... 32 @Fv ................................................................................................................................. 33

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

3

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@GetAt ........................................................................................................................... 34 @GetNextValue .............................................................................................................. 35 @GetPreviousValue ........................................................................................................ 36 @Hours ........................................................................................................................... 37 @If .................................................................................................................................. 37 @Insert ........................................................................................................................... 38 @Int ................................................................................................................................ 39 @Ipmt ............................................................................................................................. 39 @Irr ................................................................................................................................. 40 @IsBlank ......................................................................................................................... 41 @IsFieldDataValid ........................................................................................................... 42 @Isin ............................................................................................................................... 42 @Isini .............................................................................................................................. 43 @Jtod .............................................................................................................................. 44 @JustLetters ................................................................................................................... 45 @JustNumbers ................................................................................................................ 46 @JustNumbersLeading ................................................................................................... 46 @JustNumbersTrailing .................................................................................................... 47 @LastDayofMonth .......................................................................................................... 47 @Left .............................................................................................................................. 47 @Len ............................................................................................................................... 48 @List ............................................................................................................................... 49 @Log ............................................................................................................................... 49 @Log10 ........................................................................................................................... 50 @Lower........................................................................................................................... 50 @Ltrim ............................................................................................................................ 51 @Match .......................................................................................................................... 52 @Max ............................................................................................................................. 53 @Mid .............................................................................................................................. 54 @Min .............................................................................................................................. 54 @Minutes ....................................................................................................................... 55 @Mirr ............................................................................................................................. 56 @Month.......................................................................................................................... 57 @NoMatch ...................................................................................................................... 57 @Npv .............................................................................................................................. 58 @Ntod ............................................................................................................................ 59 @Pmt .............................................................................................................................. 60 @Ppmt ............................................................................................................................ 61 @Precno ......................................................................................................................... 61 @Proper .......................................................................................................................... 62 @Pv................................................................................................................................. 62 @Qtr ............................................................................................................................... 63 @Random ....................................................................................................................... 64 @Rate ............................................................................................................................. 64 @Recno ........................................................................................................................... 65 @RegExpr ....................................................................................................................... 65 @Remove ....................................................................................................................... 67

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

4

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@Repeat ......................................................................................................................... 68 @Replace ........................................................................................................................ 68 @Reverse ........................................................................................................................ 69 @Right ............................................................................................................................ 69 @Round .......................................................................................................................... 70 @Seconds ....................................................................................................................... 71 @Seed ............................................................................................................................. 72 @Sln................................................................................................................................ 72 @Soundex ....................................................................................................................... 73 @SoundsLike................................................................................................................... 74 @SpacesToOne ............................................................................................................... 74 @SpanExcluding.............................................................................................................. 75 @SpanIncluding .............................................................................................................. 76 @Split ............................................................................................................................. 76 @Sqrt .............................................................................................................................. 77 @Str ................................................................................................................................ 78 @Stratum........................................................................................................................ 78 @Strip ............................................................................................................................. 79 @StripAccent .................................................................................................................. 80 @Syd ............................................................................................................................... 80 @Time............................................................................................................................. 81 @Trim ............................................................................................................................. 81 @Ttoc ............................................................................................................................. 82 @Upper .......................................................................................................................... 82 @Val ............................................................................................................................... 83 @Workday ...................................................................................................................... 84 @Year ............................................................................................................................. 84

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

5

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@FUNCIONES

Las @Funciones: se encuentran disponibles para poder llevar a cabo operaciones complejas tales como aritmética de fechas, cálculos estadísticos o búsquedas de texto. Las

funciones de IDEA comienzan con el símbolo '@'. Son muy similares en cuanto a su estilo y modo de operar a las funciones disponibles en otros software como Microsoft Excel, Lotus 123 y dBASE. Cada @Función calcula un resultado basándose en los parámetros

ingresados en la @Función. Las parámetros se encuentran entre paréntesis. Por ejemplo, @Round(Importe) redondearía un campo llamado 'Importe'' al entero más

cercano.

Seleccionando la @Función requerida de la lista de la izquierda, encontrará una Ayuda adicional acerca de las @Funciones. En esta sección encontrará la sintaxis, una descripción y un ejemplo para la @Función seleccionada.

También podrá crear, editar, exportar e importar Funciones Personales. Las Funciones Personales trabajan de la misma forma que las @Funciones, siendo definidas, en cambio, por el usuario. Las Funciones Personales son precedidas por el signo numeral (#).

TIPOS DE @FUNCIONES

@Funciones Caracter

Las siguientes @Funciones son utilizadas para manipulación y conversión de texto. Los campos Fecha también pueden ser utilizados como una cadena en estas @Funciones.

@AllTrim - Elimina todos los espacios iniciales y finales.

@Chr - Devuelve el caracter equivalente a un código ASCII especificado.

@CompareNoCase - Compara expresiones sin tener en cuenta mayúsculas /

minúsculas.

@CurForm - Determina el formato de campos Numéricos.

@Delete - Elimina caracteres especificados en una cadena.

@FindOneOf - Busca registros con al menos un caracter especificado.

@GetAt - Devuelve el caracter que aparece en una posición numérica especificada.

@Insert - Inserta una cadena dentro de una cadena existente.

@IsBlank - Verifica si un campo contiene blancos.

@Isin - Determina si un registro contiene una cadena de caracteres específica (sensible a

mayúsuclas / minúsculas).

@Isini - Igual a @Isin, excepto que no es sensible al uso de mayúsculas / minúsculas.

@JustLetters - Esta función devuelve una cadena sin sus caracteres numéricos.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

6

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@Left - Devuelve la cantidad de caracteres especificada en una cadena contando desde

la izquierda.

@Len - Devuelve la longitud máxima de una celda.

@Lower - Convierte todos los caracteres de una cadena a minúsculas.

@Ltrim - Quita los espacios iniciales de una cadena.

@Mid - Extrae una porción de texto desde una cadena.

@Proper - Convierte a mayúscula la primera letra de cada palabra perteneciente a una

cadena.

@RegExpr - Compara expresiones de caracter utilizando un complejo conjunto de

reglas.

@Remove - Elimina todas las ocurrencias de un caracter específico.

@Repeat - Repite una expresión.

@Replace - Reemplaza caracteres por una expresión especificada.

@Reverse - Invierte el orden de caracteres en una cadena.

@Right - Devuelve la cantidad de caracteres especificada en una cadena contando desde

la derecha.

@Soundex - Devuelve el código de sonido para una palabra.

@SoundsLike - Determina si dos palabras son fonéticamente iguales.

@SpacesToOne - Elimina los espacios adicionales en una cadena de caracteres.

@SpanExcluding - Devuelve los caracteres de una cadena que aparecen antes de un

caracter especificado.

@SpanIncluding - Corta una cadena de caracteres a la primera aparición de un

caracter no especificado.

@Split - Corta una cadena en segmentos separados por caracteres como espacios o

comas y devuelve el segmento especificado.

@Str - Convierte expresiones numéricas en cadena de caracteres.

@Strip - Elimina todos los espacios, la puntuación y los caracteres de control en una

cadena.

@StripAccent - Elimina un acento de un caracter acentuado.

@Trim - Elimina los espacios finales.

@Upper - Convierte todos los caracteres de una cadena a mayúsculas.

@Funciones Condicionales

Utilice las siguientes @Funciones para obtener diferentes resultados basándose en una o

más condiciones.

@CompIf - Determina si un registro satisface un criterio múltiple.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

7

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@If - Indica si una expresión satisface una cierta condición.

@GetNextValue - Devuelve el valor siguiente del campo seleccionado.

@GetPreviousValue - Devuelve el valor anterior del campo seleccionado.

@Funciones de Fecha y Hora

Las siguientes @Funciones realizan cálculos de fecha y hora o conversiones, por ejemplo

conversiones de fechas al formato de Fecha de IDEA.

@Afternoon - Devuelve un número indicando si la hora especificada corresponde a la

mañana (AM) o a la tarde (PM).

@Age - Calcula la cantidad de días entre dos fechas especificadas.

@AgeDateTime - Devuelve la cantidad de segundos entre dos fechas y horas.

@AgeTime - Devuelve la cantidad de segundos entre dos horas especificadas.

@Ctod - Convierte fechas tipo Caracter al Formato de Fecha de IDEA.

@Date - Devuelve la fecha actual de su máquina.

@Day - Devuelve el día en una fecha.

@DaysToD - Convierte la cantidad de días desde el 1 de Enero. de 1900 al formato de

fecha de IDEA.

@Dow - Devuelve el día de la semana.

@Dtoc - Convierte expresiones de fecha a Caracter.

@DToDays - Obtiene la cantidad de días que hay entre el 1 Enero. de 1900 y una fecha

especificada.

@Dtoj - Convierte la fecha a formato Juliana.

@FieldStatistics - Devuelve el valor numérico de una estadística de campo

especificada.

@FinYear - Devuelve el año financiero para una fecha especificada basándose en el fin

de año.

@Format12HourClock - Devuelve una cadena que representa la hora con el formato

HH:MM:SS TT (donde TT representa AM o PM).

@Hours - Devuelve la porción perteneciente a la hora en una hora especificada como un

número.

@Jtod - Convierte fechas julianas al formato de Fecha de IDEA.

@LastDayOfMonth - Devuelve el último día para una combinación de mes y año

especificada.

@Minutes - Devuelve la parte correspondiente a los minutos en una hora especificada.

@Month - Devuelve el mes en una expresión tipo Fecha.

@Ntod - Convierte una expresión numérica en formato de Fecha IDEA.

@Qtr - Basándose en el fin de año, devuelve 1-4 representando el trimestre correspondiente en el que cae una fecha especificada.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

8

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@Seconds - Devuelve la parte correspondiente a los segundos en una hora

especificada.

@Time - Devuelve la hora actual de su máquina.

@Ttoc - Convierte una hora o número en una cadena con el formato HH:MM:SS.

@Workday - Devuelve 1 si una fecha especificada cae entre Lunes y Viernes y 0 si la

fecha cae en Sábado o Domingo.

@Year - Devuelve el año en una fecha.

@Funciones Financieras

Las @Funciones financieras determinan diversos valores para préstamos e inversiones. Todas las @Funciones financieras devuelven números con varios decimales Para visualizar a los mismos como moneda, deberá especificar la cantidad de decimales al

definir el campo Numérico. El valor obtenido es luego redondeado.

@Db - Calcula el saldo periódico fijo de depreciación decreciente.

@Ddb - Calcula el saldo de depreciación doble decreciente.

@Fv - Calcula el valor futuro de una inversión.

@Ipmt - Calcula el interés pagado para un período dado.

@Irr - Calcula la tasa interna de retorno.

@Mirr - Calcula variaciones en la tasa interna de retorno.

@Npv - Calcula el valor actual neto de una inversión.

@Pmt - Devuelve el importe de pago total para un préstamo.

@Ppmt - Devuelve el importe de pago del capital en un préstamo.

@Pv - Devuelve el valor actual de una inversión.

@Rate - Calcula el porcentaje de interés de una inversión o préstamo.

@Sln - Devuelve la depreciación lineal de un activo.

@Syd - Devuelve la suma de años de depreciación lineal en un activo.

@Funciones de Coincidencia

Las siguientes @Funciones identifican referencias o múltiples elementos.

@Between - Determina si una expresión numérica se encuentra en un rango específico.

@BetweenDate - Devuelve un número indicando si una fecha cae dentro de un rango especificado (1) o no (0).

@BetweenTime - Devuelve un número indicando si una hora cae dentro de un rango especificado (1) o no (0).

@Bit - Identifica el valor de un bit.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

9

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@BitAnd - Oculta bits no deseados.

@BitOr - Establece bits requeridos.

@List - Determina que criterio es cumplido por una expresión en una lista de valores.

@Match - Determina que criterio es cumplido por una expresión en una lista de valores.

@NoMatch - Determina si una expresión no cumple ningún criterio en una lista de

valores.

@Funciones Numéricas

Utilice las siguientes @Funciones para llevar a cabo cálculos de valores numéricos o para convertir a valores numéricos.

@Abs - Devuelve el valor absoluto de una expresión numérica.

@Ascii - Devuelve el código ASCII de un caracter.

@CurVal - Convierte campos Caracter en Numéricos.

@Exp - Calcula el valor exponencial de un número.

@FieldStatistics - Devuelve el valor numérico de una estadística de campo especificada.

@Int - Devuelve la porción entera de una expresión.

@IsFieldDataValid - Devuelve 1 si el dato del campo es válido, o 0 si es incorrecto.

@JustNumbers - Devuelve todos los números (al inicio y al final).

@JustNumbersLeading - Devuelve los números iniciales.

@JustNumbersTrailing - Devuelve los números finales.

@Log - Calcula logaritmo naturales.

@Log10 - Calcula logaritmos en base 10 para un valor especificado.

@Max - Devuelve el valor mayor de dos expresiones numéricas.

@Min - Devuelve el valor menor de dos expresiones numéricas.

@Precno - Devuelve los números de registro originales.

@Random - Genera un número aleatorio.

@Recno - Devuelve los números de registro actuales en una base de datos indexada.

@Round - Redondea un número de acuerdo a la cantidad de decimales especificada.

@Seed - Establece la semilla de números aleatorios.

@Sqrt - Calcula la raíz cuadrada.

@Stratum - Agrupa registros por intervalos.

@Val - Convierte expresiones caracter en numérico.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

10

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

LISTADO GENERAL DE @FUNCIONES

@Abs

Devuelve el valor absoluto de un número o un campo Numérico. Por ejemplo si desea identificar facturas y notas de crédito para un cliente, deberá examinarse el valor absoluto del campo importe. Por ejemplo, extraer @Abs(IMPORTE) > 5000.

Sintaxis

@Abs(Número)

Parámetro

Número - El número o campo Numérico del cual desea obtener el valor absoluto.

Ejemplos

@Abs(100) devolverá 100.

@Abs(100) devolverá 100.

@Abs(SALDO) donde SALDO es un campo Numérico devolverá lo siguiene:

SALDO

(N; 8; 2)

@Abs(SALDO)

(Numérico Virtual; 2 Dec)

120.34 120.34

-120.34 120.34

@Afternoon

Devuelve un número indicando si la hora especificada es de la mañana (A.M.) o de la

tarde/noche (P.M.). Si la @Función devuelve 0 la hora corresponde a A.M. y si la función devuelve 1, la hora corresponde a P.M. Si la hora especificada excede a las 24 horas, la @Funcióndevolverá -1.

Sintaxis

@Afternoon(Hora)

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

11

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Parámetro

Hora es la constante hora, un campo hora o un campo numérico para el cual desea saber

si corresponde a la mañana, A.M. o a la tarde P.M. Los valores en un campo Numérico son interpretados como la cantidad de segundos. Por ejemplo el valor numérico 86400 es leído como 86400 segundos o 24 horas, mientras que 4832 es una hora, 20 minutos y 32 segundos.

Ejemplo

TIME

(H; 8)

@Afternoon(HORA)

(Numérico)

22:40:37 1

25:12:60 -1

11:35:16 0

@Age

Devuelve la cantidad de días entre dos fechas especificadas. Ambas fechas deben estar en

formato de Fecha de IDEA (AAAAMMDD). Una o ambas fechas deberían ser campos o constantes. Puede ser utilizada al auditar la eficiencia de un sector o departamento (tiempo insumido en cobrar o en despachar un producto).

Sintaxis

@Age(Fecha1; Fecha2)

Parámetros

Fecha1 - representa la primera fecha. Puede ser un Campo Fecha o una contante.

Fecha2 - representa la segunda fecha. La primera fecha (Fecha1) debería ser posterior a la segunda fecha (Fecha2) para que la cantidad de días resultantes sea positiva.

Ejemplo

@Age(FECHA_PAGO; ORDEN) devolverá la cantidad de días entre la entrega y el pago

de una orden estando ambos campos con el formato de Fecha de IDEA.

FECHA_PAGO

(F; 8)

ORDEN

(F; 8)

@Age(FECHA_PAGO; ORDEN)

(Numérico Virtual)

19990331 19990228 31

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

12

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

20001002 19991002 366

@AgeDateTime

Devuelve la cantidad de segundos entre dos series de fechas/horas. La segunda fecha debería ser posterior a la primera para que la cantidad de segundos resultantes sea positiva. La fecha puede ser un campo Fecha o una constante de fecha. La hora puede ser

un campo Hora, un campo Numérico o una constante de hora. Los valores en un campo Numérico son interpretados como la cantidad de segundos. Por ejemplo el valor numérico 86400 es leído como 86400 segundos o 24 horas, mientras que 4832 es una hora, 20

minutos y 32 segundos.

Sintaxis

@AgeDateTime(Primera_fecha; Primera_hora; Segunda_fecha; Segunda_hora)

Parámetros

Primera_fecha y Primera_hora - son la primera fecha y hora tomadas para saber la diferencia respecto de la segunda fecha y hora.

Segunda_fecha y Segunda_hora - La segunda fecha y hora.

Ejemplo

FECHA1

(F; 8)

HORA1

(H; 8)

FECHA2

(F; 8)

HORA2

(H; 8)

@AgeDateTime(FECHA1; HORA1; FECHA2; HORA2)

(Numérico)

20031209 10:12:23 20031210 10:12:23 86400

20030912 08:12:12 20030912 12:23:34 15082

@AgeTime

Devuelve la cantidad de segundos entre dos horas especificadas.

Sintaxis

@AgeTime (Hora1; Hora2)

Parámetros

Hora1 - Puede ser un campo Hora, un campo Numérico o una constante. La primera hora

(Hora1) debería ser posterior a la segunda hora (Hora2) para que la cantidad de segundos resultantes sea positiva. Los valores en un campo Numérico son interpretados como la

cantidad de segundos. Por ejemplo el valor numérico 86400 es leído como 86400 segundos o 24 horas, mientras que 4832 es una hora, 20 minutos y 32 segundos.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

13

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Hora2 - es la hora tomada para saber la diferencia en segundos respecto de Hora1.

Ejemplo

HORA1

(H; 8)

HORA2

(H; 8)

@AgeTime(HORA1; HORA2)

(Numérico)

18:12:12 16:11:10 7262

10:12:23 06:01:10 15073

@AllTrim

Remueve los espacios iniciales y finales en campos Caracter. Puede ser usada para formatear la salidas, por ejemplo, al agregar cargos e iniciales para nombrar campos en la

preparación de cartas de circularización.

También se usa para comparar el contenido de campos de texto. Por ejemplo, al usar @Match, @NoMatch y @List pudiendo obtener las coincidencias exactas de un campo (incluyendo los espacios), @AllTrim puede ser utilizado para eliminar cualquier

espacio inicial o final antes de comparar los campos.

Para remover los espacios iniciales o finales utilice @Ltrim o @Trim respectivamente.

Sintaxis

@AllTrim(Cadena)

Parámetro

Cadena - es la expresión o campo Caracter del cual desea eliminar los espacios iniciales o

finales.

Ejemplos

@AllTrim('' CASEWARE '') devolverá ''CASEWARE''.

@Match(@AllTrim(CUENTA); "A12"; "B23455"; "B9999")

@Ascii

Devuelve el valor ASCII de un caracter, campo Caracter o campo Fecha que contenga un único caracter. Puede utilizarse al verificar un código especial o un parámetro en un campo. Es la función opuesta a @Chr.

Sintaxis

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

14

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@Ascii(cadena de caracteres)

Parámetro

Cadena - La constante de caracter, el campo Caracter o el campo Fecha del cual desea obtener el valor ASCII.

Ejemplos

@Ascii(''A'') devolverá 065.

@Ascii(CODIGO) donde CODIGO es un campo Caracter que contiene un único caracter devolverá lo siguiente:

CODIGO

(C; 1)

@Ascii(CODIGO)

(Numérico Virtual)

A 65

a 97

@Between

Esta función verifica si un valor en particular cae dentro de un rango especificado. Si el valor a ser verificado es mayor o igual al límite inferior y menor o igual al límite superior, se devuelve 1 como valor verdadero. De lo contrario se obtendrá el valor 0 como Falso.

Puede ser utilizada para verificar si los salarios de los empleados se encuentran dentro de un mínimo y máximo acorde para su grado.

Sintaxis

@Between(Número; Límite_Inferior; Límite_Superior)

Parámetros

Número - el valor a ser verificado.

Límite_Inferior - es el límite inferior para la prueba.

Límite_Superior - es el límite superior para la prueba.

Ejemplos

@Between(10; 0; 20) devuelve 1 para (Verdadero).

SALARIO

(N; 8)

MIN

(N; 8)

MAX

(N; 8)

@Between(SALARIO; MIN; MAX)

(Numérico Virtual)

2000 1800 2200 1

2000 1500 1700 0

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

15

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Si lleva a cabo una extracción la expresión @Between(SALARIO; MIN; MAX) extraerá todos los salarios que estén entre el máximo y el mínimo establecido para el grado. A su

vez, si desea extraer los salarios que están fuera de dicho grado coloque el operador NOT al comienzo de la función tal como se observa a continuación:

.NOT.@Between(SALARIO; MIN; MAX).

@BetweenDate

Esta función verifica si un valor en particular cae dentro de un rango especificado. Se

devuelve 1 si se cumple la condición y 0 si no se cumple la misma. Puede ser utilizada para verificar si las operaciones caen entre un período especificado.

Sintaxis

@BetweenDate(Fecha; Límite_Inferior; Límite_Superior)

Parámetros

Fecha - el valor a ser verificado.

Límite_Inferior - es el límite inferior para la prueba.

Límite_Superior - es el límite superior para la prueba.

Ejemplos

@BetweenDate("20051112"; "20051101"; "20051130") devuelve el valor 1 si se

cumple la condición.

FECHA_FACTURA

(F; 8)

PERIODO_INICIAL

(F; 8)

PERIODO_FINAL

(F; 8)

@BetweenDate(FECHA_FACTURA; PERIODO_INICIAL; PERIODO_FINAL)

(Numérico Virtual)

20050515 20050101 20051231 1

20050515 20040101 20040101 0

Si utiliza una extracción de registro, la expresión @BetweenDate(FECHA_FACTURA; PERIODO_INICIAL; PERIODO_FINAL) extrae todos los registros cuya fecha de factura cae entre el período incial y el período final. A su vez, si desea extraer todos los registros cuya fecha de factura se encuentre fuera del período, comience la ecuación con

un .NOT. tal como se observa a continuación:

.NOT.@BetweenDate(FECHA_FACTURA; PERIODO_INICIAL; PERIODO_FINAL).

@BetweenTime

Esta función verifica si un valor en particular cae dentro de un rango especificado. Devuelve un número indicando si el valor cae dentro del rango (1) o no (0). Puede ser

utilizada para verificar si las operaciones caen dentro de las horas de apertura y cierre.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

16

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Sintaxis

@BetweenTime(Hora; Límite_inferior; Límite_superior)

Parámetros

Hora - el valor a ser verificado.

Límite_inferior - es el límite inferior para la prueba.

Límite_superior - es el límite superior para la prueba.

Los valores para estos parámetros deberían ser ingresados como campos (o constantes) Numéricos u Hora (cadena con el formato HH:MM:SS). Los valores numéricos son interpretados como la cantidad de segundos. Por ejemplo 36000 son 36000 segundos que

se interpreta como 10 horas o 10:00 A.M.

Ejemplo

@BetweenTime(36000; "09:00:00"; "17:00:00") devuelve 1 para Verdadero

TIME

(H; 8)

APERTURA

(H; 8)

CIERRE

(H; 8)

@BetweenTime(HORA;

APERTURA; CIERRE)

(Numérico Virtual)

09:30:25 09:00:00 17:00:00 1

08:40:38 09:00:00 17:00:00 0

Si se usa en una extracción de registro, la expresión @BetweenTime(HORA; APERTURA; CIERRE) extrae todos los registros cuyas horas caigan entre las horas de apertura y cierre. A su vez, si desea extraer todos los registros cuyas horas se encuentren

fuera del rango especificado, comience la ecuación con .NOT. tal como se observa a continuación:

.NOT.@BetweenTime(HORA; APERTURA; CIERRE)

@Bit

Devuelve el valor (0 o 1) del bit especificado en un campo o número.

Sintaxis

@Bit(Número1; Número2)

Parámetros

Número1 - el bit especificado del cual se requiere el valor. Puede tener un valor entre 1 y

32 como máximo.

Número2 - el campo o constante del cual se requiere el valor de un bit especificado. Puede ser un campo Numérico o un número, sin embargo será tratado como binario.

Ejemplo

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

17

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

CODIGON

(N; 3)

Código Binario @Bit(4; CODIGON)

(Numérico Virtual)

8 00001000 1

7 00000111 0

@BitAnd

Aplica un AND bit a bit comparando dos valores binarios correspondientes a dos

expresiones numéricas. Devuelve el valor numérico correspondiente al resultado. Las dos expresiones son convertidas a sus equivalentes binarios sin signo aplicándose luego un AND bit a bit. Puede ser útil para ocultar ciertos bits.

Sintaxis

@BitAnd(Número1; Número2)

Parámetros

Número1 - un campo o constante.

Número2 - un campo o constante.

Ejemplo

NUMERO1

(N; 2)

NUMERO2

(N; 2)

@BitAnd(Número1; Número2)

(Numérico Virtual)

Número 11 5 1

Binario 00001011 00000101 00000001

@BitOr

Aplica un OR bit a bit comparando dos valores binarios correspondientes a dos

expresiones numérica. Devuelve el valor numérico correspondiente al resultado. Se aplica un OR al valor de la primera expresión, Número1 , mediante la segunda expresión numérica. Las dos expresiones son convertidas a sus equivalentes binarios sin signo

aplicándose luego un OR bit a bit.

Sintaxis

@BitOr(Número1; Número2)

Parámetros

Número1 - el primer campo o constante cuyo valor binario será comparado con el segundo.

Número2 - el segundo campo o constante cuyo valor binario será comparado con el primero.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

18

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Ejemplo

NUMERO1

(N; 2)

NUMERO2

(N; 2)

@BitOr(Número1; Número2) (Numérico Virtual)

Número 11 5 15

Binario 00001011 00000101 00001111

Corte de Siglo

IDEA guarda las fechas en cuatro dígitos. No obstante esto, al convertir fechas de dos dígitos en fechas de cuatro dígitos a través de las funciones @Ctod o @Ntod, IDEA usa

el corte de siglo correspondiente.

Por defecto, IDEA establece el corte de siglo en 30 dentro de la solapa Sistema del diálogo Opciones al cual se accede desde el menú Ver. En caso de ser necesario este valor puede ser modificado.

Todos los años de dos dígitos menores al corte de siglo son tratados como 20xx.

Mientras que todas las fechas iguales o mayores al corte de siglo son tratadas como 19xx.

Ejemplo

Con un corte de siglo en 0, la fecha 1de Diciembre de 1920 es guardada como 201201.

Con @Ctod("201201"; "AAMMDD"), sería convertida a 19201201. Pero usando como corte de siglo 30 sería convertida a 20201201.

Nota

Algunas computadoras podrían no brindar un sistema de fechas correcto para las fechas posteriores al año 2000. Si fuese así, IDEA arrojaría resultados erróneos si utiliza la fecha

del sistema.

Consulte también:

@Ctod

@Ntod

@Chr

Lleva a cabo la función opuesta a @Ascii. Toma un entero o campo Numérico que contenga un entero como parámetro y regresa el caracter ASCII de ese parámetro. Por

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

19

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

ejemplo puede ser utilizado para obtener símbolos especiales, un signo de verificación, comillas, etc.

Sintaxis

@Chr(número)

Parámetro

Número - una expresión numérica o campo del cual desea obtener el caracter ASCII.

Ejemplos

@Chr(65) devolverá el caracter ''A''.

@Chr(CODIGON) donde CODIGON es un campo Numérico que posee un entero desde 0 a 255 devolverá lo siguiente:

CODIGON (N; 3)

@Chr(CODIGON) (Caracter Virtual; Lon 1)

65 A

97 a

@CompareNoCase

Compara campos o cadenas de caracteres (cadena1 y cadena2) sin tener en cuenta las

mayúsculas/minúsculas del texto. Devuelve lo siguiente:

0 si la Cadena1 es igual a la Cadena2

-1 si la Cadena1 es menor a la Cadena2

1 si la Cadena1 es mayor a la Cadena2

Sintaxis

@CompareNoCase(Cadena1; Cadena2)

Parámetros

Cadena1 - el primer valor o campo que desea comparar.

Cadena2 - el segundo valor o campo a ser comparado.

Ejemplo

@CompareNoCase(CUENTA;NUM_CUENTA) podría ser utilizado para comparar números de cuentas que hayan sido ingresados con diferentes formatos. Esta @Función no toma en cuenta las mayúsculas/minúsculas.

CADENA (C; 10)

NUM_CUENTA (C; 10)

@CompareNoCase(CUENTA; NUM_CUENTA)

(Numérico Virtual)

ABC- abc-1234 0

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

20

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

1234

ABC-

1000

abc-1234 -1

ABC-2000

abc-1234 1

@CompIf

Verifica si un registro cumple con múltiples condiciones y devuelve el valor especificado

(resultado) correspondiente a la primera condición encontrada. El orden de las condiciones es importante debido a que se comienza con la evaluación de la primera condición. Si no se cumple ninguna de las condiciones se obtiene como resultado "Error". Para evitar

obtener como resultado "Error", es recomendable finalizar la ecuación agregando 1 como la condición final y su resultado correspondiente, es decir ",1, resultado". Agregando 1 como condición final, la misma será ejecutada si no se cumplieron ninguna de las

condiciones anteriores.

Sintaxis

@CompIf(Condición1; Resultado1; Condición2; Resultado2; ... 1; Resultado3)

Parámetros

Condición1 - la primera condición a verificar.

Resultado1 - el resultado a devolver si se cumple la primera condición.

Condición2 - la segunda condición a verificar.

Resultado2 - el resultado a devolver si se cumple la segunda condición.

1 - La condición que será evaluada y completará cualquier valor no especificado. Esta

debe ser especificada solamente como la condición final.

Resultado3 - El resultado a obtener si no se cumplen ninguna de las condiciones anteriores.

Ejemplo

Supongamos el caso que las operaciones en moneda extranjera posean un campo MON

para indicar la moneda, @CompIf podrá ser utilizada para calcular en un campo Virtual el equivalente en libras esterlinas para cada operación de la siguiente manera:

@CompIf(MON=''UK''; IMP; MON=''C$''; IMP/2.0; MON=''US''; IMP/1.60; 1; 0)

Observe que se ingresa una condición al final de la ecuación para incluir algún valor no

especificado.

Notas

Al usar @CompIf con campos Booleanos o Multi-estado tenga en cuenta lo siguiente:

Campos Multi-estado: Por defecto, se utiliza una X para indicar valores no válidos o errores. No utilice X como resultado de alguna de sus condiciones. En su

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

21

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

lugar puede usar la tilde y el espacio en blanco para condiciones verdaderas y el signo de interrogación para condiciones falsas.

Campos Booleanos: Por defecto, se utiliza una X para indicar valores no válidos o errores. Sin embarog, la X es también utilizada para indicar falsedades. Deberá examinar cuidadosamente los datos y la ecuación en cuestión para interpretar la diferencia entre un error y una falsedad.

@Ctod

Convierte un campo de fechas guardadas como Caracter en un campo tipo Fecha con el

Formato de Fecha de IDEA (AAAAMMDD).

Sintaxis

@Ctod(cadena; máscara)

Parámetros

Cadena - La expresión caracter del campo a ser convertido en un campo tipo Fecha.

Máscara - es el formato actual de la fecha a convertir.

Ejemplos

@Ctod(''12-MAYO-1999''; ''DD-MMM-AAAA'') devolverá la fecha ''19990512''.

@Ctod(FECHA_APERT; ''DD/MM/AA''), donde FECHA_APERT es un campo Caracter

con la máscara (formato) DD/MM/AA, devolverá lo siguiente:

FECHA_APERT

(C 8)

MASCARA

(C 8)

@Ctod(FECHA_APERT;"DD/MM/AA")

(Fecha Virtual; Lon 8)

22/10/99 DD/MM/AA 19991022

11/03/59 DD/MM/AA 19591103

Para extraer todas las cuentas abiertas antes del 31/03/1999, utilice la siguiente ecuación de extracción:

@Ctod(FECHA_APERT; ''DD/MM/AA'') < ''19990331''

Notas

La mayoría de los formatos de fecha son aceptados, incluyendo campos de 2 y 3

caracteres para el día (1-31 o 1-365/366), 2 y 3 caracteres para el mes (01-12 o ENE-DIC), y 2 o 4 caracteres para el año. Para obtener más información acerca de cómo convertir fechas con dos caracteres para el año, vea Corte de Siglo.

Consulte también:

@Ntod

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

22

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@CurForm

Ejecuta la operación inversa a @CurVal y es utilizada para dar formato a campos Numéricos, con separadores especificados para miles y decimales. Esta @Función devuelve un campo Caracter y se usa frecuentemente para dar formato a

campos con valores monetarios antes de ver los resultados.

Sintaxis

@CurForm(Número; SepMiles; SepDec; AnchoMax; Decimales)

Parámetros

Número - el campo a reformatear.

SepMiles - El separador de miles a ser insertado.

SepDec - El separador decimal a ser insertado.

AnchoMax - la máxima longitud de salida.

Decimales - la cantidad requerida de decimales.

Ejemplos

@CurForm(100234.78; '' ''; '', ''; 12;2) devolverá 100 234,78.

@CurForm(VALOR; '' ''; '',''; 12;2) donde VALOR es un campo Numérico devolverá lo siguiente:

VALOR

(N; 12; 2)

@CurForm(VALOR;"";",";12;2)

(Caracter Virtual; Lon 14)

100456.45 100 456,45

456.00 456,00

@CurVal

Se usa para modificar el valor de un campo "numérico" con Tipo Caracter que tiene formato con separadores de miles y separadores decimales no convencionales, como por

ejemplo un espacio como separador de miles y un ".'' (punto) como separador decimal. Por lo general se utiliza un punto como separador de miles.

Sintaxis

@CurVal(Cadena; SepMiles; SepDec)

Parámetros

Cadena - el nombre de campo o valor a ser re-formateado.

SepMiles - el separador de miles no estándar que desea eliminar de la cadena.

SepDec - el separador de decimales no estándar a ser reemplazado por un punto.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

23

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Ejemplos

@CurVal("100 234,78"; ""; ",") devolverá el número 100234.78.

@CurVal(VALUE; " "; ",") donde VALOR es un campo Caracter devolverá lo siguiente:

VALOR

(C; 12)

@CurVal(VALOR;"";",")

(Numérico Virtual; 2 Dec)

100 453,45 100453.45

453,00 453.00

@Date

Devuelve la fecha actual de su máquina.

Sintaxis

@Date()

Parámetros

No se requieren parámetros.

Ejemplo

FECHA_OPER > @Date() identificaría todos los elementos cuya fecha de transacción es

posterior a la fecha actual.

Alternativamente, ingrese la fecha actual en el formato "AAAAMMDD".

Nota

Verifique que la fecha en su máquina sea la correcta antes de utilizar esta @Función.

@Day

Devuelve el día, en formato numérico, para una fecha en formato de Fecha de IDEA (AAAAMMDD). Esta función puede utilizarse para analizar las tendencias de ventas/compras por día en el mes.

Sintaxis

@Day(Fecha)

Parámetro

Fecha - expresión o campo Fecha del cual desea obtener sólo el día en formato

Numérico.

Ejemplo

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

24

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@Day(FECHA_PAGO) devolverá lo siguiente:

FECHA_PAGO (F; 8)

@Day(FECHA_PAGO) (Numérico Virtual)

19991225 25

20000101 1

@DaysToD

Convierte la cantidad de días desde el 1 de Enero de 1900 al formato Fecha.

Sintaxis

@DaysToD(Número)

Parámetro

Número - es la expresión numérica o el campo que contiene la cantidad de días desde el 1 de Enero de 1900 que desea convertir al formato de "Fecha " (AAAA/MM/DD).

Ejemplo

@DaysToD(FECHA_PAGO) devolverá lo siguiente:

FECHA_PAGO (N; 8)

@DaysToD(FECHA_PAGO) (Fecha Virtual)

36519 19991225

36526 20000101

@Db

Devuelve el saldo decreciente en una depreciación fija de un activo para un período especificado. Debe utilizarse la misma unidad para indicar la vida útil para un período.

Sintaxis

@Db(Costo; Recupero; Vida útil; Período; Meses) = número

Parámetros

Costo - es el costo inicial de un activo.

Recupero - es el valor estimado del activo al finalizar su período de depreciación.

Vida útil - es la cantidad de períodos a depreciar.

Período - es la duración del período de depreciación.

Meses - es la cantidad de meses del primer año.

Ejemplos

@Db(1000000; 100000; 6; 1; 7) devuelve 186083.33.

Ejemplo cálculo general

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

25

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Se compra una maquinaria valor $200,000 a principios de Marzo. Se ha estimado que su vida útil será de cinco años, y que su valor recuperable a ese momento será

de $200. Para calcular el valor de depreciación para el segundo año, deberá ingresarse @Db(200000; 200; 5; 2; 10) obteniendo como resultado un valor de $56,299.83.

Ejemplo campo Virtual

Se puede crear un campo Virtual donde @Db obtenga la depreciación fija para cada período ingresado. Por ejemplo, si se desea determinar la depreciación anual para una maquinaria comprada en Septiembre, deberá agregar un campo Virtual

para cada año utilizando las siguientes ecuaciones: @Db(COSTO; RECUPERO; VIDA UTIL; 1; 4) @Db(COSTO; RECUPERO; VIDA UTIL; 2; 4)

@Db(COSTO; RECUPERO; VIDA UTIL; 3; 4) y así sucesivamente...

IDEA obtendrá los siguientes resultados:

@Ddb

Devuelve el saldo decreciente de depreciación doble de un activo para un período

especificado. Tenga en cuenta que la unidad utilizada para indicar la vida útil debe ser la misma para los períodos. Para el método del saldo doble decreciente utilice como factor 2.

Sintaxis

@Ddb(Costo; Recupero; Vida útil; Período; Factor) = número

Parámetros

Costo - es el costo inicial de un activo.

Recupero - es el valor estimado del activo al finalizar su período de depreciación.

Vida útil - es la cantidad de períodos a depreciar.

Período - es la duración del período de depreciación.

Factor - es el porcentaje del saldo decreciente.

Ejemplos

@Ddb(2400; 300; 120; 1; 2) devuelve 40.00.

Ejemplo cálculo general

Se compra una maquinaria valor $200,000 a principios de Marzo. Se ha estimado

que su vida útil será de cinco años, y que su valor recuperable a ese momento será

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

26

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

de $200. Para calcular el valor de depreciación para el segundo año, deberá ingresar @Ddb(200000; 200; 5; 2; 2) obteniéndose como resultado un valor de

$48,000.00.

Ejemplo campo Virtual Se puede crear un campo Virtual donde @Ddb obtenga la depreciación doble decreciente para cada período ingresado. Por ejemplo, si se desea determinar la

depreciación anual para una maquinaria comprada en Septiembre, deberá agregar un campo Virtual para cada año utilizando las siguientes ecuaciones: @Ddb(COSTO; RECUPERO; VIDA UTIL; 1; 2)

@Ddb(COSTO; RECUPERO; VIDA UTIL; 2; 2)

@Ddb(COSTO; RECUPERO; VIDA UTIL; 3; 2)

y así sucesivamente...

IDEA obtendrá los siguientes resultados:

Nota

Los parámetros de @Ddb deben ser valores positivos.

@Delete

Esta función es utilizada para eliminar un determinado número de caracteres, a partir de una posición fija, en un campo tipo Caracter o en una cadena.

Sintaxis

@Delete(Cadena; Número1; Número2)

Parámetros

Cadena - es la expresión o campo.

Número1 - es la posición de inicio para comenzar a eliminar.

Número2 - es la cantidad de caracteres a eliminar.

Ejemplo

Si un código de inventario de la aplicación de ventas debe compararse con el código correspondiente en la aplicación de existencias, teniendo ambos diferentes formatos

debido a caracteres extra en las posiciones 3 y 4, estos caracteres adicionales pueden ser eliminados utilizando @Delete(CODIGO;3;2) tal como se detalla a continuación:

CODIGO @Delete(CODIGO;3;2)

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

27

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

(C; 12) (Caracter Virtual; Lon 10 )

XX99-12345 XX-12345

XX34-99978 XX-99978

@Dow

Devuelve el día de la semana como un número. Por ejemplo 1 para Domingo, 2 para

Lunes, etc.

Sintaxis

@Dow(fecha)

Parámetro

Fecha - es la fecha para la cual desea obtener el día de la semana.

Ejemplos

En un campo calculado o Virtual, como el de la tabla de abajo, @Dow podría ser utilizada

para analizar operaciones por día como un indicador de performance. Usando la opción Sumarización, podrá entonces obtener la cantidad y el valor de las operaciones por día.

FECHA_FACT

(F; 8)

@Dow(FECHA_FACT)

(Numérico Virtual)

Día

19990311 5 Jueves

20000102 1 Domingo

@Dow también puede ser utilizada en una Extracción para búsqueda las operaciones realizadas los fines de semana, los accesos al sistema verificando el log de seguridad, los

pagos procesados los fines de semana, etc tal como se ve en el ejemplo de abajo.

@Dow(FECHA_PAGO) = 1 .OR. @Dow(FECHA_PAGO) = 7

@Dtoc

Convierte un campo Fecha guardado en formato de 'Fecha'' de IDEA, en un campo con

formato Fecha según la máscara especificada. Es la función inversa a la función @Ctod. Puede ser útil para visualizar un campo Fecha en un formato específico, tal como 12-MAR-1999 a los efectos de un reporte.

Nota: es más fácil para el personal de auditoría verificar las fechas si se imprimen en el formato utilizado por la organización.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

28

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Sintaxis

@Dtoc(fecha; máscara)

Parámetros

Fecha - es la fecha o campo a ser convertido en Caracter.

Máscara - es el formato requerido para la fecha.

Ejemplo

@Dtoc(FECHA_APERT; ''DD-MMM-AAAA'') devolverá las fechas tal como se detallan

a continuación:

FECHA_APERT

(F; 8)

@Dtoc(FECHA_APERT ; "DD-MMM-AAAA")

(Caracter Virtual; Lon 11)

19991225 25-DIC-1999

20000101 01-ENE-2000

@DToDays

Devuelve la cantidad de días transcurridos desde el 1 de Enero de 1900 (siendo 1 el 1 de Enero de 1900) hasta la fecha especificada. Se usa a menudo para calcular la cantidad de días existentes entre dos fechas. Excel™ y Lotus 1-2-3 utilizan este método para

almacenar fechas.

Sintaxis

@DToDays(Fecha)

Parámetro

Fecha - es el campo Fecha o constante del cual desea obtener la cantidad de días existentes desde el 1 de Enero de 1900.

Ejemplo

@DToDays(FECHA_PAGO) devolverá lo siguiente:

FECHA_PAGO

(F; 8)

@DToDays(FECHA_PAGO)

(Numérico Virtual)

19991225 36519

20000101 36526

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

29

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@Dtoj

Convierte una fecha en formato 'Fecha'' de IDEA a un número Juliano. Es la función inversa a la función @Jtod. Las fechas anteriores al 1 de enero de 0001 producirán un error de sintaxis.

Sintaxis

@Dtoj(fecha)

Parámetro

Fecha - es el campo Fecha o constante del cual desea obtener el número juliano.

Ejemplo

FECHA_PAGO

(F; 8)

@Dtoj(FECHA_PAGO)

(Numérico Virtual)

19991225 730114

20000101 730121

@Dtoj devolverá un mensaje de error (error de sintaxis) si se especifica año como 0 en el parámetro Fecha.

Nota

Si el sistema que se está examinando posee una fecha base distinta, como 01/01/70,

entonces utilice una ecuación como @Jtod(FechaJuliana + @Dtoj(''19700101'')) para convertir una fecha Juliana a una Fecha de IDEA.

@Exp

Calcula el valor exponencial (''e'' a la potencia) de un campo Numérico o de un número especificado.

Sintaxis

@Exp(Número)

Parámetro

Número - es el exponente aplicado a la base e.

Ejemplo

@Exp(VALOR) donde VALOR es un campo Numérico devolverá lo siguiente:

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

30

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

VALOR

(N; 8; 2)

@Exp(VALOR)

(Numérico Virtual; 2 Dec)

1.00 2.72

2.00 7.39

@FieldStatistics

Devuelve el valor numérico de una estadística de campo especificada.

Sintaxis

@FieldStatistics("NombreCampo"; Estadística)

Parámetros

NombreCampo - El campo que será analizado por la estadística de campo especificada.

El nombre del campo debe ser ingresado entre comillas. Nota: Son aceptados los caracteres en minúsculas. Por ejemplo, un nombre de campo válido puede ser ingresado

como "IMPORTE", "Importe", o "importe". Adicionalmente, pueden incuirse espacios extra puesto que IDEA removerá los mismos antes de procesar la ecuación. Por ejemplo, "IMPORTE" e "IMPORTE " serían aceptados.

Estadística - El número asignado para la estadística de campo requerida. Ver Números

asignados para Estadísticas de Campo. Nota: En caso de, sin intención, usar un

número negativo para el parámetro Estadística aparecerá un mensaje de error.

Ejemplo

En el siguiente ejemplo, la ecuación del campo Virtual invoca la estadística de campo "2", número asignado a la estadística de campo Cantidad de elementos cero. Observando los

datos del campo IMPORTE_TOTAL existen cuatro registros que poseen valor cero. Como resultado, cada registro del campo Virtual tendrá el valor 4 interpretando que existen cuatro registros en la base de datos que poseen el valor cero.

IMPORTE_TOTAL (N; 8)

@FieldStatistics(IMPORTE_TOTAL; 2)

(Numérico Virtual; Lon 2)

1000 4

0 4

0 4

775 4

0 4

3200 4

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

31

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

0 4

Notas

No ejecute las estadísticas de campo sobre Campos virtuales que contengan la

función @FieldStatistics. Debido a la forma en que son generadas las estadísticas de campo las mismas no

serán del todo exactas para los Campos virtuales que contengan la función @FieldStatisctics.

Independientemente del tipo de estadística, la función @FieldStatistics devuelve

un valor numérico. Como resultado:

Fecha más temprana y Fecha más tardía devuelven una fecha Juliana (una fecha como valor numérico).

Día más común devuelve 1 para el día Domingo, 2 para el día Lunes y así sucesivamente. Mes más común devuelve 1 para el mes de Enero, 2 para el mes de Febrero y así sucesivamente.

Hora promedio, Ultima hora, y Primera hora devuelven un valor hora

convertido a una cantidad de segundos.

@FieldStatistics generará un "Error" en la base de datos cuando:

El parámetro NombreCampo no se encuentre entre comillas.

El tipo del parámetro NombreCampo y el tipo del parámetro Estadística no sean coincidentes.

El parámetro NombreCampo no sea válido (por ejemplo mal ingresado o no existe en la base de datos activa).

El parámetro Estadística no sea válido (por ejemplo no posea un número

asignado reconocido).

@FindOneOf

Devuelve la posición del primer caracter especificado en una cadena. Si el valor especificado no es encontrado, se devuelve 0

Sintaxis

@FindOneOf(Cadena1; Cadena2)

Parámetros

Cadena1 - la constante o campo dentro del cual desea buscar un valor determinado.

Cadena2 - el valor que desea buscar dentro de la cadena 1.

Ejemplos

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

32

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Puede utilizarse para la comprobación del formato de un código, como por ejemplo, para validar que un código de cuenta no contenga números, o que un código de seguridad

social siempre contenga números, o que un número de teléfono no contenga un caracter alfabético.

@FindOneOf(CODIGO;"0123456789") devolvería la posición del primer número en CODIGO. En caso de no haber coincidencias se devolverá un 0.

CODIGO

(C; 12)

@FindOneOf(CODIGO;"0123456789")

(Numérico Virtual)

ABC-2XYZ 5

ABC-WXYZ 0

@FinYear

Devuelve una cadena AAAA-AAAA que representa al año financiero al cual pertenece una fecha especificada. El fin de año debe ser una cadena de datos con el formato MMDD.

Sintaxis

@FinYear(Fecha; Cadena)

Parámetros

Fecha - la fecha que desea que caiga dentro de un año financiero.

Cadena - una cadena con el formato MMDD que representa el fin del año financiero.

Ejemplo

FECHA

(F; 8)

FIN_AÑO

(C; 4)

@FinYear(FECHA; FIN_AÑO)

(Caracter Virtual; Lon 9)

20030307 0331 2002-2003

20010920 1031 2000-2001

@Format12HourClock

Esta función devuelve una cadena que representa la hora con el formato HH:MM:SS TT (donde TT representa AM o a la tarde PM).

Sintaxis

@Format12HourClock(Hora)

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

33

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Parámetro

Hora - es la constante de hora, el campo Hora o el campo Numérico que desea convertir

en una cadena con el formato HH:MM:SS TT. Los valores en un campo Numérico son interpretados como la cantidad de segundos. Por ejemplo 86399 devolverá 23:59:59, o 4832 devolverá 01:20:32.

Ejemplo

TIME

(H; 8)

@Format12HourClock(Hora)

(Caracter Virtual; Lon 11)

05:12:23 05:12:23

23:23:34 23:23:34

@Fv

Devuelve el valor actual de una inversión. IDEA asume que las cuotas son pagadas al final del período.

Sintaxis

@Fv(Pago; Tasa; nPagos) = número

Parámetros

Pago - importe a pagar por período.

Tasa - es la tasa de interés.

nPagos - es la cantidad total de pagos.

Ejemplos

@Fv(200; 0.005; 10) devuelve 2,045.61.

Ejemplo cálculo general

Se desea ahorrar dinero para comprar un auto nuevo el próximo año. Para ello se

abre una caja de ahorro que otorga un interés anual del 6% colocando $500 por mes. Utilizando la ecuación @Fv(500; 0.06/12; 12), podrá determinar que ahorrará $6,167.78 en los próximos 12 meses.

Ejemplo campo Virtual

Podría agregar un campo Virtual donde @Fv devuelva el valor futuro de una inversión

para cada período. Por ejemplo, si en un análisis de una base de datos de oportunidades de inversión desea determinar la mejor oportunidad para los próximos

15 años, asumiendo que cada inversión tiene los mismos pagos mensuales, podría agregar un campo Virtual utilizando la ecuación @Fv(PAGO; TASA/12; 15*12), generando los siguientes resultados:

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

34

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Notas

@Fv: sus parámetros deben ser positivos.

Debe utilizar la misma unidad de tiempo tanto para la tasa como para la cantidad de

pagos. En caso de trabajar con pagos mensuales pero con una tasa de interés anual, ingrese la tasa de interés como 0.12/12 o (12/100)/12 y la cantidad de pagos como la cantidad de años multiplicada por 12.

@GetAt

Esta función devuelve el caracter de la posición especificada. Puede ser utilizada para verificar la existencia de un caracter determinado dentro de una cadena.

Sintaxis

@GetAt(Cadena; Número)

Parámetros

Cadena - un valor o campo Caracter del cual desea obtener un caracter de una posición

específica.

Número - la posición del caracter a ser devuelto.

Ejemplos

Para verificar que el noveno caracter del Número de Seguro Social del Reino Unido (NINO)

no sea un caracter, utilice @GetAt(NINO,9) <"A" .OR. @GetAt(NINO,9) > "Z".

Si un campo con fechas tipo Caracter no incluye un "0" al inicio para los días menores a 10, utilice @GetAt para verificar si el segundo caracter es un espacio como en el siguiente resultado para dos. Luego usando @Ctod e @If podrá convertir la fecha en el formato de

"Fecha" de IDEA:

FECHAC

(C; 10)

DOS

@GetAt(FECHAC;

2)

(Caracter Virtual; Lon 1)

FECHA

(Fecha Virtual)

@Ctod(@If(DOS = "-";

"0" + FECHAC ; FECHAC) ;

"dd-mmm-aaaa")

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

35

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

3-Nov-1999

"-" 1999/11/03

31-Dic-1999

"1" 1999/12/31

@GetNextValue

Devuelve el valor siguiente en el campo especificado, comenzando por el primer valor del

campo. Por ejemplo, en el campo Virtual creado, el primer valor será el segundo valor del campo especificado y así sucesivamente.

Sintaxis

@GetNextValue("NombreCampo")

Parámetro

NombreCampo - El campo sobre el cual desea obtener el valor siguiente. El nombre del

campo debe ser ingresado entre comillas. Nota: Son aceptados los caracteres en minúsculas. Por ejemplo, un nombre de campo válido puede ser ingresado como "IMPORTE", "Importe", o "importe". Adicionalmente, pueden incuirse espacios extra puesto que IDEA removerá los mismos antes de procesar la ecuación. Por ejemplo,

"IMPORTE" e "IMPORTE " serían aceptados.

Ejemplos

IMPORTE_TOTAL (N; 8)

@GetNextValue("IMPORTE_TOTAL") (Numérico Virtual; Lon 8)

1000 2500

2500 3200

3200 4700

Al usar @GetNextValue cuando el siguiente registro lógico sea el último registro de la

base de datos, el valor devuelto será:

Numérico: 0

Caracter: Blanco

Fecha: 00000000

Hora: 0

Sólo podrán agregarse campos Virtuales usando @GetNextValue. Al tratar de agregar

otros tipos de campo usando @GetNextValue, el valor devuelto será:

Numérico/Caracter/Fecha/Hora: "Error"

Editable: "Error"

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

36

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Booleano/Multi-estado: "X"

Los campos Virtuales que han sido agregados usando @GetNextValue no deberían ser

indexados o utilizados como Campos de Control.

@GetPreviousValue

Comenzando por el primer valor del campo especificado devuelve el valor precedente.

Sintaxis

@GetPreviousValue("NombreCampo")

Parámetro

NombreCampo - El campo sobre el cual desea obtener el valor anterior. El nombre del

campo debe ser ingresado entre comillas. Nota: Son aceptados los caracteres en minúsculas. Por ejemplo, un nombre de campo válido puede ser ingresado como

"IMPORTE", "Importe", o "importe". Adicionalmente, pueden incuirse espacios extra puesto que IDEA removerá los mismos antes de procesar la ecuación. Por ejemplo, "IMPORTE" e "IMPORTE " serían aceptados.

Ejemplo

IMPORTE_TOTAL

(N; 8)

@GetPreviousValue("IMPORTE_TOTAL")

(Numérico Virtual; Lon 8)

1000 0

2500 1000

3200 2500

Al usar @GetPreviousValue cuando el registro lógico anterior sea el primer registro de la base de datos, el valor devuelto será:

Numérico: 0

Caracter: Blanco

Fecha: 00000000

Hora: 0

Sólo podrán agregarse campos Virtuales usando @GetPreviousValue. Al tratar de agregar otros tipos de campo usando @GetPreviousValue, el valor devuelto será:

Numérico/Caracter/Fecha/Hora: "Error"

Editable: "Error"

Booleano/Multi-estado: "X"

Los campos Virtuales que han sido agregados usando @GetPreviousValue no deberían ser indexados o utilizados como Campos de Control.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

37

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@Hours

Devuelve la porción correspondiente a la hora en una hora especificada como un número entre 0 (12:00 A.M.) y 23 (11:00 P.M.)

Sintaxis

@Hours(Hora)

Parámetro

Hora - es la hora o campo Numérico o constante del cual se desea obtener la porción

correspondiente a la hora. Un valor numérico es interpretado como la cantidad de segundos. Un valor numérico será convertido en Hora (HH:MM:SS) y se devolverá la porción correspondiente a la hora. Por ejemplo 4832 será convertido a 01:20:32.

Ejemplos

TIME

(H; 8)

@Hours(Hora)

(Numérico

Virtual; Lon 2)

22:40:37 22

12:35:16 12

TIME

(N; 8)

@Hours(Hora)

(Numérico Virtual; Lon 2)

62 0

4832 1

@If

Esta @Función verifica si se cumple una condición especificada. En caso de cumplirse devuelve el resultado_verdadero, de lo contrario devuelve el resultado_falso. Los resultados pueden ser de tipo numérico o cadena, pero ambos (resultado_verdadero y resultado_falso) deben poseer el mismo tipo de dato.

Sintaxis

@If(Condición; Resultado_Verdadero; Resultado_Falso)

Parámetros

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

38

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Condición - es la prueba a aplicarse sobre un valor o campo para evaluar si se cumple (verdadera) o no (falsa).

Resultado_Verdadero - es el valor que se devolverá si la condición es verdadera.

Resultado_Falso - es el valor que se devolverá si la condición es falsa.

La sintaxis de @If es la misma que la utilizada por LOTUS 1-2-3, MS Excel [donde la sintaxis es =IF()] y otros software de planilla de cálculos. Su uso puede verse a través de estos ejemplos.

Ejemplos

@If(IMPORTE > 10000; 1; 0) devolverá 1 (VERDADERO) si el importe es mayor a

10000, de lo contrario devolverá 0.

Muchas aplicaciones guardan un valor absoluto del campo indicando su signo en otro campo. Los indicadores de signos para algunos sistemas pueden ser ''+'' o ''-'', mientras

que otros sistemas utilizan ''DR'' o ''CR'' (como Pegasus). Antes de comenzar a auditar un archivo usando IDEA, puede ser necesario agregar un campo Virtual al archivo y calcular el signo de cada registro usando la función @If tal como se detalla a continuación:

SIGNO (C; 2)

VALOR (N; 8; 2)

@If(SIGNO = "CR"; VALOR * -1; VALOR)

(Numérico Virtual; 2 Dec)

DR 123.45 123.45

CR 123.45 -123.45

Nota: si el signo es ''CR'', la condición es verdadera y se devuelve VALOR*-1. Si el signo es

'DR'', entonces se trata de un débito por lo que se mantiene el mismo importe que en el campo VALOR.

Vea @CompIf para múltiples condiciones.

@Insert

Se utiliza para insertar la 'cadena2' en la 'cadena1' en la posición especificada en

"número".

Sintaxis

@Insert(Cadena1; Número; Cadena2)

Parámetros

Cadena1 - un campo Caracter o constante al cual le desea insertar otra cadena.

Número - la posición donde será insertada la otra cadena.

Cadena2 - la información a ser insertada.

Ejemplo

Para insertar un nombre de servidor en un archivo de direcciones utilice lo siguiente:

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

39

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

USUARIO

(C; 20)

@Insert(USUARIO ; 9 ;

"/SERVIDOR1")

(Caracter Virtual; Lon 30)

/GALILEO/hughesv /GALILEO/SERVIDOR1/hughesv

/GALILEO/williamt /GALILEO/SERVIDOR1/williamt

@Int

Devuelve la parte entera de una expresión numérica. Esta función puede ser utilizada para ocultar decimales no deseados.

Sintaxis

@Int(número)

Parámetro

Número - un número o campo del cual desea obtener la parte entera.

Ejemplo

@Int(123.45) devolverá el valor 123.

@Int(IMPORTE) donde IMPORTE es un campo Numérico, devolverá lo siguiente:

IMPORTE

(N; 8; 2)

@Int(IMPORTE)

(Numérico Virtual)

120.45 120

-45.88 -45

Nota: No confunda @Int con @Round. @Int trunca un valor mientras que @Round redondea para arriba o para abajo de acuerdo a la precisión deseada.

@Ipmt

Devuelve el interés pagado en un período de una inversión.

Sintaxis

@Ipmt(Tasa; Período; nPagos; Valor_Actual; Valor_Futuro; Tipo) = Número

Parámetros

Tasa - es la tasa de interés.

Período - es el pago total del período.

nPagos - cantidad de pagos del préstamo.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

40

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Valor_Actual - el importe del préstamo.

Valor_Futuro - es el valor del préstamo al final del período de pago.

Tipo - modo de pago (0= al inicio 1= al final)

Ejemplo

@Ipmt(0.005; 3; 10; 8000; 0; 0) devuelve -32.16.

Ejemplo cálculo general

Se ha tomado un préstamo de $10,000 a una tasa de interés anual del 10%, cancelándose el mismo mediante el pago de 36 cuotas mensuales. Se desean calcular los intereses del 13º pago. El cálculo @Ipmt(0.10/12; 13; 36; 10000; 0; 0) indica

un interés de -58.27.

Nota: Al calcular pagos por préstamos, el valor futuro es tomado como 0. Puede utilizar la función @Pmt para cálculos sobre préstamos. Del mismo modo que al

calcular pagos anuales, el valor presente es tomado como 0.

Ejemplo campo Virtual

Un campo Virtual @Ipmt podría devolver los intereses para cada período.

Ahora se desea calcular el interés correspondiente al período 13. Se agrega un campo

Virtual con la ecuación @Ipmt(TASA/12; 13; PLAZO; PRES; 0; 0). Observe lo resultados generados por @Ipmt:

Notas

@Ipmt: sus parámetros pueden ser positivos o negativos. Un préstamo como un

valor presente será representado por un valor positivo como un depósito valor actual puede ser representado por un valor negativo

Debe utilizar la misma unidad de tiempo tanto para la tasa como para la cantidad

de pagos. En caso de trabajar con pagos mensuales pero con una tasa de interés anual, ingrese la tasa de interés como 0.12/12 o (12/100)/12 y la cantidad de pagos como la cantidad de años multiplicada por 12.

@Irr

Calcula la tasa interna de retorno para una serie de cash flow de intervalos regulares. Tenga en cuenta que los egresos e ingresos deben pertenecer a intervalos equivalentes. y que deberá incluir al menos un egreso o ingreso en la ecuación. La longitud máxima de la

ecuación es de 3,000 caracteres.

Sintaxis

@Irr(Estimado; Valor1; Valor2; Valor3...) = número

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

41

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Parámetros

Estimado - es la tasa interna de retorno estimada.

Valor - son los egresos (valores negativos) e ingresos (valores positivos) futuros.

Asegúrese que los valores de los ingresos y los egresos sean correctos.

Ejemplos

@Irr(1; -70000; 12000; 15000; 18000; 21000; 26000) devuelve 0.09

Ejemplo cálculo general

Se desea realizar una inversión inicial de $2,000,000 para adquirir una compañía a una tasa de descuento anual del 8%. En los cuatro años siguentes se espera obtener

$60,000, $80,000, $100,000 y un costo de $5,000 por renovaciones. La tasa interna de retorno estimada para la inversión es del 10%. Usando la ecuación @Irr(0.10; -2000000; 60000; -5000; 80000; 100000) puede calcular la tasa interna de

retorno la cual es 0.00%.

Ejemplo campo Virtual

En un campo Virtual @Irr podría obtener la tasa interna de retorno para cada entrada.

Se quiere comprar una serie de nuevos productos, generándose una proyección anual

de ingresos a obtener para algunos de los productos bajo consideración. Estimando que la tasa interna de retorno es del 10%, agregue un campo Virtual utilizando la ecuación @Irr(0.10; -(COSTO); AÑO_1; AÑO_2; AÑO_3; AÑO_4). Obtendrá los

siguientes resultados:

@IsBlank

Verifica si una cadena, campo Caracter, o campo Fecha se encuentra vacío o sólo contiene

espacios. Devuelve un 1 si está vacío, o un 0 si existen caracteres en el campo o cadena.

Podría usarse para comprobar que ciertos campos clave, tales como el de identificación del empleado, números de cuenta o números de factura no se encuentren vacíos.

Sintaxis

@IsBlank(Cadena)

Parámetro

Cadena - La cadena, campo Caracter o campo Fecha a ser verificado.

Ejemplo

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

42

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Para probar si un campo de número de cuenta se encuentra vacío, utilice la siguiente ecuación:

@IsBlank(NRO_CTA) = 1

@IsFieldDataValid

Podría ser utilizada para buscar en un campo datos erróneos los cuales podrían ser visualizados como "Error" en la base de datos. Por ejemplo, al importar un campo Fecha con una máscara AAAAMMDD, para el valor 20052312 aparecerá la palabra "Error" en

lugar de la fecha. Utilice esta @Función para encontrar todos los registros sin datos erróneos en un campo.

Sintaxis

@IsFieldDataValid("NombreCampo")

Parámetro

NombreCampo - el nombre del campo que pudiese contener datos erróneos ingresados como una cadena (entre comillas). Esto devolverá todos los registros excepto aquellos con

datos erróneos o la palabra "Error" en el campo.

Ejemplos

Para extraer todos los registros donde el campo Fecha no contiene datos erróneos, utilice la ecuación @IsFieldDataValid("FECHA") = 1.

Para extraer registros con datos erróneos en el campo Fecha,

utilice @IsFieldDataValid("FECHA") = 0 como el criterio de extracción.

@Isin

Utilizada para buscar textos específicos dentro de un campo Caracter, Fecha o dentro de una cadena. Si el texto especificado es encontrado, se devolverá la posición inicial del texto en el campo Caracter o Fecha. Si la cadena no es encontrada, devolverá el valor

0. @Isin es de suma utilidad al buscar pagos a individuos a través de nombres o direcciones similares o para buscar una referencia o frase dentro de un campo de descripción. @Isin es sensible al uso de mayúsculas/minúsculas.

Sintaxis

@Isin(cadena1; cadena2)

Parámetros

Cadena1 - es el texto especificado a buscar.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

43

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Cadena2 - el campo Caracter, el campo Fecha o la cadena donde se efectuará la búsqueda.

Ejemplos

@Isin en un cálculo (campo Virtual)

En caso de usarse en un cálculo, @Isin devuelve la posición donde comienza la cadena1 dentro de la cadena2. Por ejemplo, @Isin(''Smith'', ''Mr. J. Smith'') devolvería 8 indicando que Smith comienza en el octavo caracter de la

cadena.

@Isin en una Extracción

@Isin(''Co''; PROVEEDOR) extraería todos los registros con los caracteres ''Co'' que aparezcan en cualquier parte dentro del campo PROVEEDOR tal como se

detalla a continuación:

PROVEEDOR

( C 15)

Registro Extraído

S/N

Williams & Co S

BEAN COUNTERS N

Coles & Cullen Inc S

@Isin("Co"; PROVEEDOR) > 1 extraería los registros en los cuales el término "Co" aparezca luego del primer caracacter en el campo PROVEEDOR.

La siguiente ecuación de extracción podría ser utilizada para identificar

pagos a individuos dado que el nombre de proveedor no contaría con los términos "S.A.'', ''Co'' o "S.R.L.'':

.NOT. @Isin(''S.A.''; PROVEEDOR) .AND. .NOT. @Isin(''Co''; PROVEEDOR).AND. .NOT. @Isin(''S.R.L.''; PROVEEDOR)

Nota

Utilice @Isini si desea que la búsqueda no sea sensible a mayúsculas/minúsculas.

Alternativamente use @Upper y @Lower en conjunción con @Isin, de esta manera:ch as:

@Isin(''S.A.'';@Upper(PROVEEDOR))

@Isin(''s.a.'';@Lower(PROVEEDOR))

@Isini

Es similar a la función @Isin excepto que no es sensible al uso de

mayúsculas/minúsculas. Busca la aparición de una cadena especificada en un campo

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

44

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Caracter, Fecha o cadena y, si la encuentra, devuelve la posición del caracter inicial de la cadena especificada. Si la cadena no es encontrada, devolverá el valor 0.

Sintaxis

@Isini(cadena1; cadena2)

Parámetros

Cadena1 - es el texto especificado a buscar.

Cadena2 - el campo Caracter, el campo Fecha o la cadena donde se efectuará la búsqueda.

Ejemplo

@Isini en un cálculo (campo Virtual)

Utilizada en un cálculo @Isini devuelve la posición donde comienza la cadena1 dentro

de la cadena2. Por ejemplo, @Isini(''Smith'', ''Mr. J. SMITH'') devolvería 8 indicando que Smith comienza en el octavo caracter de la cadena.

@Isini en una Extracción

@Isini(''Co''; PROVEEDOR) extraería todos los registros con los caracteres ''Co''

que aparezcan en cualquier parte dentro del campo PROVEEDOR sin tener en cuenta las mayúsculas/minúsculas:

PROVEEDOR

( C 15)

Registro Extraído

S/N

Williams & Co S

BEAN COUNTERS S

Bob Cuthbertson N

Coles & Cullen Inc S

Vea la función @Isin para más ejemplos.

@Jtod

Muchos sistemas computarizados guardan las fechas en formato de fecha Juliano. La

fecha Juliana es la cantidad de días desde una fecha base arbitraria. Esta @Función devuelve la fecha en el formato de "Fecha" de IDEA (AAAAMMDD).

Sintaxis

@Jtod(número)

Parámetro

Número - es la fecha Juliana requerida en formato de Fecha de IDEA.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

45

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

En los ordenadores modernos, el término fecha Juliana (JD) se usa a menudo para referirse a la cantidad de días desde el origen del calendario Juliano o a la cantidad de

días desde alguna fecha base, generalmente el primer año. IDEA utiliza la fecha base 1/01/01 para la fecha Juliana 0001. Lotus 1-2-3 , por ejemplo, usa 1 Ene 1900 como su fecha base (como en @DToDays).

Ejemplo

@Jtod(FECHA_APERT) donde FECHA_APERT es un campo Numérico que representa el

valor de fecha Juliana, devolvería lo siguiente:

FECHA_PAGO

(N; 8)

@Jtod(FECHA_APERT)

(Fecha Virtual)

730114 1999/12/25

730121 2000/01/01

Notas

@Jtod(Número) devuelve ''0000/00/00'' si el parámetro número es <1.

IDEA no toma en cuenta el 29 Feb 1900 (algunos sistemas si) dado que el año 1900

no fue bisiesto.

@JustLetters

Esta función devuelve una cadena sin sus caracteres numéricos.

Sintaxis

@JustLetters(Cadena)

Parámetro

Cadena - es la expresión tipo caracter o campo del cual desea eliminar todos los

caracteres numéricos.

Ejemplo

CADENA

(C; 15)

@JustLetters(Cadena)

(Caracter Virtual; Lon 15)

25 pies de profundidad pies de profundidad

12 años de edad años de edad

50 euros euro

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

46

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@JustNumbers

Esta función devuelve todos los números (al inicio y al final) de una cadena o campo especificado.

Sintaxis

@JustNumbers(Cadena)

Parámetro

Cadena - es la expresión de caracter o campo del cual desea obtener todos sus números.

Ejemplo

DIRECCION

(C; 21)

@JustNumbers(DIRECCION)

(Numérico Virtual)

25 unidades 25

Av. Pringles 33 Piso 3

333

@JustNumbersLeading

Esta función devuelve todos los números iniciales pertenecientes a una cadena o campo.

Sintaxis

@JustNumbersLeading(Cadena)

Parámetro

Cadena - es la expresión o campo del cual se obtendrán los caracteres numéricos

iniciales.

Ejemplo

DIRECCION

(C; 21)

@JustNumbersLeading(DIRECCION)

(Numérico Virtual)

25 unidades 25

Av. Pringles 33 Piso 3

33

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

47

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@JustNumbersTrailing

Esta función devuelve todos los números situados al final de una cadena o campo.

Sintaxis

@JustNumbersTrailing(Cadena)

Parámetro

Cadena - es la expresión o campo del cual se obtendrán los caracteres numéricos finales.

Ejemplo

DIRECCION

(C; 21)

@JustNumbersTrailing(DIRECCION)

(Numérico Virtual)

25 unidades 0

Av. Pringles

33 Piso 3

3

@LastDayofMonth

Devuelve el último día para un mes y año dado.

Sintaxis

@LastDayOfMonth(Mes; Año)

Parámetros

Mes - el mes ingresado como expresión numérica o campo del cual desea obtener el

último día.

Año - el año en el que cae el mes ingresado como un número.

Ejemplo

@LastDayOfMonth(2; 2005) devolverá 28.

@LastDayOfMonth(3; 2005) devolverá 31.

@Left

Devuelve la cantidad de caracteres (número) de la cadena o campo caracter (cadena) empezando por la izquierda. Use esta función con @Ltrim para eliminar los espacios iniciales, de ser necesario.

Sintaxis

@Left(cadena; número)

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

48

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Parámetros

Cadena - es la expresión o campo Caracter del cual desea obtener una determinada

cantidad de caracteres contando desde la izquierda.

Número - es la cantidad de caracteres que desea obtener.

Ejemplo

Si un código de inventario compuesto por una serie de números contiene el código de

almacén en los primeros 3 caracteres, utilice la función @Left de acuerdo al siguiente ejemplo:

INVENTARIO

(C; 20)

@Left(INVENTARIO ; 3)

(Caracter Virtual; Lon 3)

ABC-X-1234 ABC

DAX-P1234-9999 DAX

@Len

Toma una cadena de caracteres y devuelve su longitud.

Puede utilizarse para examinar un archivo de contraseñas y comprobar si alguna de las contraseñas es menor a una longitud mínima. También puede utilizarse con

otras @Funciones, como por ejemplo, para obtener las 3 últimas letras de un nombre o código de producto@Mid(NOMBRE; @Len(NOMBRE)-3; 3).

Sintaxis

@Len(cadena)

Parámetro

Cadena - es la expresión o campo del cual desea obtener su longitud.

Ejemplo

@Len(''A1234'') devolverá 5.

@Len(@Trim(NOMBRE)) donde NOMBRE es un campo Caracter, devolverá lo siguiente:

NOMBRE

(C; 12)

@Len(@Trim(NOMBRE))

(Numérico Virtual)

JUAN 5

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

49

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

CARLOS 7

Nota

@Len(DESCRIPCION) devolvería la longitud del campo DESCRIPCION (incluyendo sus

espacios). Si utiliza @Len sobre un campo Caracter, será necesario eliminar los espacios del campo antes de calcular su longitud.

@List

Proporciona un método rápido para extraer todos los registros de un campo que son coincidentes con una lista de valores.

Una ecuación que extraiga todos los registros correspondientes a varios clientes implicaría una pérdida de tiempo considerable y produciría una ecuación muy larga. Por ejemplo: NRO_CUENTA = ''a12345'' .OR. NRO_CUENTA = ''B34567'' .OR. NRO_CUENTA = ''c3456567'' etc.....OR. NRO_CUENTA =''z345677''

En su lugar podría utilizarse la función @List de esta manera: @List(NRO_CUENTA; ''a12345'; ''B34567''; ''c3456567';... ''z345677'')

Sintaxis

@List(Fuente, Comparador,....Comparador)

Parámetros

Fuente - El nombre del campo a ser evaluado.

Comparador - El valor contra el cual se efectuará la comparación.

Notas

@List es sensible a mayúsculas/minúsculas. Puede utilizarse en combinación con la función @Upper de ser necesario.

@List establece una búsqueda de coincidencia exacta entre los elementos y la

longitud completa del campo especificado, quitando cualquier espacio en caso de ser necesario.

@List puede estar precedida por el operador .NOT. para extraer todos los registros que no satisfagan el criterio ingresado, por

ejemplo .NOT.@List(NRO_CUENTA, ''a12345'', ''B34567'', ''c3456567'',... ''z345677'')

@List es lo mismo que @Match y .NOT.@List es lo mismo que @NoMatch.

Si posee una lista extensa de elementos, considere el ingreso de éstos en un

archivo y utilice la función Unir bases de datos con la opción sólo coincidencias.

@Log

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

50

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Calcula el logaritmo natural del campo Numérico o constante especificada.

Sintaxis

@Log(Número)

Parámetro

Número - es la expresión numérica o campo del cual desea obtener su logaritmo.

Ejemplo

@Log(VALOR) donde VALOR es un campo Numérico, devolverá lo siguiente:

VALOR

(N; 8)

@Log(VALOR)

(Numérico Virtual; 2 Dec)

100 4.61

1000 6.91

@Log10

Calcula el logaritmo (base 10) de una constante o campo Numérico especificado.

Sintaxis

@Log10(Número)

Parámetro

Número - es la constante o campo Numérico del cual desea obtener su logaritmo base

10.

Ejemplo

@Log10(VALOR) donde VALOR es un campo Numérico, devolverá lo siguiente:

VALOR

(N; 8)

@Log10(VALOR)

(Numérico Virtual; 2 Dec)

100 2.00

1000 3.00

@Lower

Convierte un campo tipo Caracter en minúsculas. IDEA es sensible al uso de mayúsculas/

minúsculas de manera que si desea búsqueda una cadena en particular dentro de un campo, o comparar un texto dentro de dos campos pero no tiene la certeza de como fueron ingresados los datos, será necesario convertir todo a mayúsculas o a minúsculas.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

51

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Esta función se usa a menudo para "uniformizar" textos como direcciones o nombres que hayan sido ingresados en formato libre.

En versiones anteriores de IDEA se usaba en combinación con @Isin, ej. @Isin(''smith''; @Lower(NOMBRE)). Sin embargo dsde la versión 3 de IDEA se incluye la función @Isini, que no tiene en cuenta las mayúsculas o minúsculas para las búsquedas de textos y comparaciones.

Sintaxis

@Lower(Cadena)

Parámetro

Cadena - es la expresión o campo Caracter que desea convertir a minúsculas.

Ejemplo

@Lower(''Lower Ltd'') devolverá ''lower ltd''.

@Lower(NOMBRE) donde NOMBRE es un campo Caracter, devolverá lo siguiente:

NOMBRE

(C; 12)

@Lower(NOMBRE)

(Caracter Virtual; Lon 12)

CICA cica

Cica cica

@Ltrim

Elimina cualquier espacio inicial de un campo tipo Caracter. Suele utilizarse para alinear textos o para comparaciones y análisis de textos y cadenas.

Para eliminar todos los espacios o sólo los espacios iniciales vea @AllTrim y @Trim respectivamente.

Sintaxis

@Ltrim(cadena)

Parámetro

Cadena - es el campo Caracter en el que desea eliminar los espacios iniciales.

Ejemplo

@Ltrim('' A123'') devolverá ''A123''.

@Ltrim(NOMBRE) donde NOMBRE es un campo Caracter, devolverá lo siguiente:

NOMBRE

(C; 10)

@Ltrim(NOMBRE)

(Caracter Virtual; Lon

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

52

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

10)

" CaseWare "

"CaseWare "

" C. I. C. A "

"C. I. C. A "

@Match

Proporciona un método rápido para extraer todos los registros de un campo que satisfacen

una lista de valores. Realiza lo mismo que la función @List. Compara un valor (o campo) con cada elemento y devuelve la posición correspondiente al valor si existe una coincidencia, de lo contrario devuelve 0 (falso).

@Match generalmente se utiliza en una ecuación de extracción para identificar todos los registros de un campo (como NRO_EMP) que sean iguales a una lista de valores especificados.

Sintaxis

@Match(Fuente, Comparador, Comparador....Comparador)

Parámetros

Fuente - El nombre del campo a ser evaluado.

Comparador - Los valores contra los cuales se efectuará la comparación.

Ejemplos

@Match usada en una extracción.

Puede ser utilizada para buscar coincidencias en un campo Caracter, por ejemplo @Match(NRO_EMP, ''A032'', ''A430'', ''B456''). Esto extraerá del

campo NRO_EMP todos los registros para los números de empleados A032, A430 y B456.

Puede ser utilizada para buscar coincidencias en un campo Numérico, por ejemplo @Match(IMPORTE, 100, 200, 500, 1000). Esto extraerá del

campo IMPORTE todos los registros con importes 100, 200, 500 o 1000.

Puede ser utilizada para buscar coincidencias en un campo Fecha, pero para que funcione correctamente también deberá utilizar la función @Ctod. Por ejemplo, @Match(FECHA_FACTURA, @Ctod

("10/24/2008","MM/DD/AAAA"),@Ctod ("11/13/2008","MM/DD/AAAA")) extraería del campo FECHA todas las fechas de transacción especificadas.

@Match usada en un campo calculado (virtual):

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

53

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@Match(NRO_EMP, ''A032'', ''A430'', ''B456'') devolvería la posición correspondiente al parámetro valor en caso de encontrar algunos de los números

de empleado especificados en el campo NRO_EMP.

NRO_EMP

(C 12)

@Match(NRO_EMP;"A123"

; "B9"; "B9987"; "C456") (Numérico Virtual; 0 Dec.)

A123 1

B987 0

C456 4

Notas

@Match es sensible al uso de mayùsculas/minúsculas en campos de texto. Puede

utilizarse en combinación con la función @Upper o @Lower de ser necesario. @Match establece una búsqueda de coincidencia exacta entre los

elementos y la longitud completa del campo especificado, quitando cualquier espacio en caso de ser necesario.

@NoMatch hace lo contrario a la función @Match y es lo mismo que .NOT.@List.

@Max

Devuelve el máximo de dos valores. Se utiliza generalmente al emplear una fórmula extensa en la que podrían requerirse valores alternativos. Al calcular una provisión de

existencias, puede ser que se deduzcan las asignaciones de las cantidades de existencias para llegar al "stock "disponible". Sin embargo, si se desea trabajar sólo con valores positivos de stock, Una manera es usar @Max(STOCK_DISP; 0).

Sintaxis

@Max(Número1; Número2)

Parámetros

Número1 - es la primera expresión o campo a ser evaluado.

Número2 - es la expresión o campo a cotejar contra la primera expresión o campo.

Ejemplos

@Max(1000; 500) devolverá 1000.

@Max(LIM_CR; SALDO) donde LÏM_CR y SALDO son campos Numéricos, devolverá lo

siguiente:

LIM_CR

(N; 8; 2)

SALDO

(N; 8; 2)

@Max(LIM_CR; SALDO)

(Numérico Virtual; 2 Dec)

100.00 145.67 145.67

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

54

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

5000.00 100.00 5000.00

@Mid

Esta función extrae una sub-cadena (o porción) de un campo Caracter. Debe especificarse el campo Caracter o cadena, el caracter inicial de partida para la sub-cadena, y la cantidad de caracteres requeridos. El uso más corriente de esta función es la extracción de una

parte de un código en un código de cuenta estructurado. Por ejemplo, para identificar todos los registros de un almacén particular dónde el número del almacén está incluido en el código del artículo de existencias (por ej. el 6º y el 7º caracter).

Sintaxis

@Mid(cadena; número1; número2)

Parámetros

Cadena - es el nombre del campo.

Número1 - es el caracter inicial de la subcadena a extraer.

Número2 - es la cantidad requerida de caracteres a extraer.

Ejemplos

@Mid(''A123-OP-3''; 6; 2) devolverá ''OP''.

@Mid(PART; 6; 2) donde PART es un campo Caracter, devolverá lo siguiente:

PART

(C; 12)

@Mid(PART; 6; 2)

(Caracter Virtual; Lon 12)

A123-W1-

9

W1

A500-W3-8

W3

Nota

Para llevar a cabo una detección de omisiones numéricas en una secuencia que comienza con un caracter de texto, como por ej. A100, A101, etc, será necesario tomar la porción

numérica para luego realizar la prueba. Para ello puede crearse un campo Numérico calculado (N 4;0) y luego utilizar la función @Val(@Mid(NRO_REF; 2; 3)) donde NRO_REF es el nombre del campo que contiene la secuencia.

@Min

Devuelve el mínimo de dos valores. Es similar a la función @Max.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

55

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Sintaxis

@Min(número1; número2)

Parámetros

Número1 - es la primera expresión o campo a ser evaluado.

Número2 - es la expresión o campo a cotejar contra la primera expresión o campo.

Ejemplos

@Min(1000; 500) devolverá 500.

@Min(LIM_CR; SALDO) donde LÏM_CR y SALDO son campos Numéricos:devolverá lo siguiente:

LIM_CR

(N; 8; 2)

SALDO

(N; 8; 2)

@Min(LIM_CR; SALDO)

(Numérico Virtual; 2 Dec)

100.00 145.67 100.00

5000.00 100.00 100.00

@Minutes

Devuelve la porción correspondiente a los minutos en una hora especificada como un número entre 0 y 59.

Sintaxis

@Minutes(Hora)

Parámetro

Hora - es la hora o campo Numérico o constante del cual se desea obtener la porción

correspondiente a los minutos. Un valor numérico será convertido en Hora (HH:MM:SS) y se devolverá la porción correspondiente a los minutos. Por ejemplo 4832 será convertido a 01:20:32.

Ejemplos

TIME

(H; 8)

@Minutes(HORA)

(Numérico)

22:40:37 40

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

56

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

12:35:16 35

TIME

(N; 8)

@Minutes(HORA)

(Numérico)

62 1.00

4832 20.00

@Mirr

Determina la tasa interna de retorno modificada para una serie de cash flows regulares basándose en el costo de la inversión y en los intereses de reinversión. Tenga en cuenta que los egresos e ingresos deben pertenecer a intervalos equivalentes. y que deberá incluir al menos un egreso o ingreso en la ecuación. La longitud máxima de la ecuación es

de 3,000 caracteres.

Sintaxis

@Mirr(Tasa_Financ; Tasa_Reinv; Valor1; Valor2; Valor3...) = número

Parámetros

Tasa_Financ - La tasa de interés del flujo de fondos.

Tasa_Reinv - La tasa de interés obtenida por la reinversión de los fondos.

Valor - son los egresos (valores negativos) e ingresos (valores positivos) futuros.

Asegúrese que los valores de los ingresos y los egresos sean correctos.

Ejemplos

@Mirr(0.10; 12; -120000; 39000; 30000; 21000; 37000; 46000) devolverá 5.29.

Ejemplo cálculo general

Se ha hecho una inversión de $20,000 a una tasa de interés anual del 10%. En los próximos 5 años se obtienen $5,000; $5,500; $10,000; $7,500 y $6,000

respectivamente. Cada año se reinvierte la ganancia del año anterior a una tasa anual del 12%. Usando la ecuación@Mirr(0.10; 0.12; -20000; 5000; 5500; 10000; 7500; 6000) puede obtener la nueva tasa de retorno, la cual será del 16.29%.

Ejemplo campo Virtual

En un campo Virtual, @Mirr devolvería la tasa interna de retorno actual para cada ingreso. Por ejemplo: Se ha invertido $34,600 al 8% para la compra de un nuevo equipo. Cada año se reinvierte la ganancia obtenida en el año anterior obteniendo una

tasa del 10% anual. Agregando un campo Virtual y utilizando la ecuación @Mirr(0.08; 0.10; -(COSTO); AÑO_1; AÑO_2; AÑO_3; AÑO_4) se obtendrían las siguientes nuevas tasas de retorno:

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

57

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@Month

Devuelve el mes, en formato Numérico, de una fecha. Esta función puede ser utilizada al analizar comportamientos o tendencias por mes en compras y ventas.

Sintaxis

@Month(Fecha)

Parámetro

Fecha - expresión o campo Fecha del cual desea obtener sólo el mes en formato

Numérico.

Ejemplo

@Month(FECHA_PAGO) devolverá lo siguiente:

FECHA_PAGO

(F; 8)

@Month(FECHA_PAGO)

(Numérico Virtual)

1999/12/25 12

2000/01/31 1

@NoMatch

Realiza lo mismo que la función .NOT.@List. Proporciona un método rápido para extraer

todos los registros de un campo que no coincidan con una lista de valores especificados. Compara un valor (o campo) con cada elemento especificado y devuelve un 1 (verdadero) si no se produce una coincidencia, de lo contrario (falso) devuelve 0. @NoMatch también

lleva a cabo la operación inversa a @Match.

Sintaxis

@NoMatch(Fuente, Comparador,....Comparador)

Parámetros

Fuente - El nombre del campo a ser evaluado.

Comparador - El valor contra el cual se efectuará la comparación.

Ejemplos

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

58

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@NoMatch en un campo Virtual

@NoMatch(NRO_PROV, ''A234'', ''C567'', ''D158'') devolvería 1 (Verdadero)

si el campo NRO_PROV no contiene ninguno de los números de proveedor especificados.

@NoMatch en una ecuación de extracción

@NoMatch(NRO_PROV; ''A234''; ''C567''; ''D158'') devolvería todos los registros que no coincidan con los números de proveedor detallados.

Notas

@NoMatch es sensible al uso de mayúsculas/minúsculas. Puede utilizarse en

combinación con la función @Upper de ser necesario.

@NoMatch lleva a cabo una búsqueda de coincidencia exacta en los elementos de un campo especificado. Use esta función con @Trim de ser necesario.

@Npv

Devuelve el valor actual de una inversión. IDEA asume que los pagos son efectuados al final del período. Tenga en cuenta que los egresos e ingresos deben pertenecer a

intervalos equivalentes.

Sintaxis

@Npv(Tasa; Valor1; Valor2; Valor3...) = número

Parámetros

Tasa - es la tasa de descuento.

Valor - sonlos egresos (valores negativos) e ingresos (valores positivos).

Asegúrese que los valores de los ingresos y los egresos sean correctos.

Ejemplos

@Npv(0.1; -10000; 3000; 4200; 6800) devuelve 1,188.44.

Ejemplo cálculo general

Se desea realizar una inversión inicial de $2,000,000 para adquirir una compañía a una tasa de descuento anual del 8%. El correspondiente cash flow para los próximos

cuatro años es $60,000, ($5,000), $80,000 y $100,000 respectivamente. A través de la ecuación@Npv(0.08; -2000000; 60000; -5000; 80000; 100000) obtendría el valor actual que es de -$1,677,519.98.

Agregue el valor correspondiente al primer egreso o ingreso al comienzo de un

período al resultado final a pesar de haberlo incluido en la ecuación.

Ejemplo campo Virtual

En un campo Virtual @Npv devolvería el valor actual para cada ingreso. Se quiere comprar una serie de nuevos productos, generándose una proyección anual de

ingresos a obtener para algunos de los productos bajo consideración. Asumiendo que

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

59

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

la tasa anual de descuento es del 5%, agregue un campo Virtual utilizando la ecuación @Npv(0.05; -(COSTO); AÑO_1; AÑO_2; AÑO_3; AÑO_4). Obtendría

los siguientes resultados:

@Ntod

Convierte un campo con fechas guardadas con tipo Numérico en un campo tipo Fecha con

el Formato de Fecha de IDEA (AAAAMMDD).

Sintaxis

@Ntod(Número; Máscara)

Parámetros

Cadena - La expresión numérica del campo a ser convertido en un campo tipo Fecha.

Máscara - es el formato actual de la fecha a convertir.

Ejemplos

@Ntod(12312000; ''MMDDYYYY'') devolverá la fecha ''20001231''.

@Ntod(FECHA_APERT; ''DDMMAAAA'') donde FECHA_APERT es un campo Numérico

con la máscara (formato) DDMMAAAA, devolverá lo siguiente:

FECHA_APERT

(N; 8)

@Ntod(FECHA_APERT; "DDMMAAAA")

(Fecha Virtual)

20101954 19541020

31122000 20001231

Para extraer todas las cuentas abiertas antes del 31/03/1999, utilice la siguiente ecuación de extracción:

@Ntod(FECHA_APERT; ''DDMMAAAA") < ''19990331''

Notas

La mayoría de los formatos de fecha son aceptados, incluyendo campos de 2 y 3 caracteres para el día (1-31 o 1-365/366), 2 y 3 caracteres para el mes (01-12 o ENE-

DIC), y 2 o 4 caracteres para el año. Para obtener más información acerca de cómo convertir fechas con dos caracteres para el año, vea Corte de Siglo.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

60

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Consulte también:

@Ctod

@Pmt

Calcula la cuota a pagar en un préstamo por cada período, incluyendo el capital más el

interés. IDEA asume que el pago se encuentra adeudado al final del período.

Sintaxis

@Pmt(Valor_Actual; Tasa; nPagos) = número

Parámetro

Valor_Actual - el importe del préstamo.

Tasa - es la tasa de interés.

nPagos - cantidad de pagos del préstamo.

Debe utilizar la misma unidad de tiempo para la tasa y para la cantidad de pagos. En caso

de trabajar con pagos mensuales pero con una tasa de interés anual, ingrese la tasa de interés como 0.12/12 o (12/100)/12 y la cantidad de pagos como la cantidad de años multiplicada por 12.

Ejemplos

@Pmt(5000; 0.01; 5) devuelve 1030.20.

Ejemplo cálculo general

Se ha tomado un préstamo de $10,000 a una tasa de interés anual del 10%, cancelándose el mismo mediante el pago de 36 cuotas mensuales. Para obtener el monto de dicha cuota ingrese la ecuación @Pmt(10000; 0.10/12; 36), obteniendo

como resultado una cuota mensual de $322.67.

Ejemplo campo Virtual

En un campo Virtual @Pmt podría devolver el importe a pagar por cada período. Por ejemplo, los préstamos para estudiantes le permiten a su hijo concurrir a un

prestigioso colegio sin tener que trabajar y estudiar al mismo tiempo. Una vez graduado espera comenzar a pagar las cuotas mensuales por los préstamos que ha recibido por los cinco años de estudio. Para calcular la cuota correspondiente a cada

préstamo, agregue un campo Virtual utilizando la ecuación @Pmt(PRESTAMO; TASA/12; PLAZO) , obteniendo los siguientes resultados:

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

61

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@Ppmt

Devuelve el importe a pagar en un período determinado.

Sintaxis

@Ipmt(Tasa; Período; nPagos; ValorActual; ValorFuturo; Tipo) = Número

Parámetros

Tasa - es la tasa de interés.

Período - es el pago total del período.

nPagos - cantidad de pagos del préstamo.

Valor_Actual - el importe del préstamo.

Future_Value - el valor del préstamo al final del período de pago.

Tipo - modo de pago (0 = al inicio 1= al final)

Debe utilizar la misma unidad de tiempo para la tasa y para la cantidad de pagos. En caso de trabajar con pagos mensuales pero con una tasa de interés anual, ingrese la tasa de interés como 0.12/12 o (12/100)/12 y la cantidad de pagos como la cantidad de años

multiplicada por 12.

Ejemplos

@Ppmt(0.08; 10; 10; 200000; 0; 0) devuelve -27598.05.

Ejemplo cálculo general

Se ha tomado un préstamo de $10,000 a una tasa de interés anual del 10%,

cancelándose el mismo mediante el pago de 36 cuotas mensuales. Si desea saber el importe a abonar en el 13º mes (al fin de dicho mes) utilice la ecuación @Ppmt(0.10/12; 13; 36; 10000; 0; 0)Obtendrá como resultado

-264.40.

Al calcular pagos del préstamo el valor futuro es tomado como 0. También puede utilizar @Pmt para cálculos de préstamos.

Del mismo modo que al calcular pagos anuales, el valor presente es tomado como 0.

Ejemplo campo Virtual

En un campo Virtual @Ppmt podría devolver el importe a pagar por cada período. Por ejemplo, si se encuentra analizando los gastos de uno de sus clientes y desea calcular

el 13º pago de varios préstamos. Agregando un campo Virtual con la ecuación @Ppmt(TASA/12; 13; PLAZO; PRES; 0; 0), obtendría los siguientes resultados:

@Precno

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

62

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Devuelve el número de registro físico del archivo. El número de registro físico de un registro particular, será el mismo aún cuando el archivo se haya indexado y tenga un

orden lógico distinto. Ver @Recno.

Sintaxis

@Precno()

Parámetros

No se requieren parámetros.

Nota

Si un archivo ha sido descargado desde un sistema en dos archivos distintos conteniendo cada uno la mitad de los campos del archivo original pero sin contar con un campo en

común, utilice la función @Precno para unir ambos archivos. Si está seguro de que los registros se encuentran en el orden correcto, agregue un campo Numérico a cada archivo utilizando la ecuación @Precno. Finalmente defina a ambos archivos como pre-ordenados

por número de registro y una los campos de ambos archivos.

@Proper

Convierte a mayúscula la primera letra de cada palabra perteneciente a una cadena. Se usa generalmente para formatear los datos antes de imprimir un reporte.

Sintaxis

@Proper(Cadena)

Parámetro

Cadena - es la expresión o campo Caracter para el cual desea convertir la primera letra

de cada palabra a mayúsculas.

Ejemplo

@Proper(''caseware international inc'') will devolverá ''Caseware International Inc'''.

@Pv

Calcula el valor total (capital) de un préstamo. IDEA asume que las cuotas son pagadas al

final del período.

Sintaxis

@Pv(Pago; Tasa; nPagos) = Número

Parámetros

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

63

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Pago - importe a pagar por período.

Tasa - es la tasa de interés.

nPagos - es la cantidad total de pagos.

Ejemplos

@Pv(500; 0.01; 240) devolverá 45,409.71.

Ejemplo cálculo general

Una compañía desea otorgar un préstamo a una de sus subsidiarias. La subsidiaria puede pagar 36 cuotas de $200 a un tasa de interés del 6%. Usando la

ecuación @Pv(200; 0.06/12; 36), se obtendría el capital a prestar que sería de $6,574.20.

Ejemplo campo Virtual

En un campo Virtual la función @Pv devolvería el capital para cada pago. Por

ejemplo, en una base de datos de préstamos se desea verificar los importes de los mismos para sus pagos. Agregando un campo Vitual con la ecuación @Pv(PAGO; TASA/12; PLAZO), obtendría los siguientes resultados:

Notas

@Pv sus parámetros deben ser valores positivos.

Debe utilizar la misma unidad de tiempo tanto para la tasa como para la cantidad de

pagos. En caso de trabajar con pagos mensuales pero con una tasa de interés anual, ingrese la tasa de interés como 0.12/12 o (12/100)/12 y la cantidad de pagos como la cantidad de años multiplicada por 12.

@Qtr

Esta función devuelve un número entre 1-4 que representa el trimestre en el que cae una

fecha. Toma una fecha y el fin de año fiscal. El fin de año debe ser una cadena de datos con el formato MMDD.

Sintaxis

@Qtr(Fecha; Fin_de_Año)

Parámetros

Fecha - es la expresión o campo Fecha para la cual desea saber a que trimestre pertenece.

Fin_de_Año - es la fecha de cierre del año fiscal con el formato MMDD.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

64

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Ejemplo

@Qtr(FECHA; ''MMDD'') donde FECHA es un campo Fecha con la máscara (formato)

AAAAMMDD, devolverá lo siguiente:

FECHA

(F; 8)

FIN_AÑO

(C; 4)

@Qtr(FECHA; FIN_AÑO)

(Numérico)

20030307 0331 4

20010920 1231 3

@Random

Devuelve un número aleatorio entre 0 y el parámetro numérico especificado. Puede ser utilizada en una extracción para extraer una cantidad específica de registros aleatorios de un archivo.

Sintaxis

@Random(Número)

Parámetro

Número - es el límite superior que se toma para la extración de número aleatorios.

Ejemplo

@Random(CTA) donde CTA es un campo Numérico, devolverá lo siguiente:

CTA

(N; 8)

@Random(CTA)

(Numérico Virtual)

10 3

1000 887

@Rate

Calcula la tasa de interés para un período anual. El valor actual y el valor futuro deben utilizar la misma unidad de tiempo, pero no pueden ser iguales a cero. IDEA asume que

los pagos se realizan al final de los perídos.

Sintaxis

@Rate(Valor_Futuro; Valor_Actual; nPeríodos) = Número

Parámetros

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

65

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Valor_Futuro - el valor esperado.

Valor_Actual - el importe invertido.

nPeríodos - la cantidad de períodos de depreciación.

Ejemplos

@Rate(5000; 1000; 48) devolverá 0.03.

En un campo Virtual @Rate devolvería la tasa de interés para períodos anuales. Por ejemplo, se decide invertir $5,000 deseando obtener $10,000 al cabo de 10 años. Para saber cuál es la tasa de interés que le permite cumplir con ese objetivo, agregue un campo Virtual utilizando la ecuación @Rate(10000; 5000; 10). Obtendrá el siguiente

resultado:

@Recno

Devuelve el número de registro lógico del archivo. El número de registro lógico de un registro particular cambia al indexar el archivo en un orden diferente. En tanto el número de registro físico sigue siendo el mismo. Ver @Precno.

Sintaxis

@Recno()

Parámetros

No se requieren parámetros

Nota

Si un archivo ha sido descargado desde un sistema en dos archivos distintos conteniendo cada uno la mitad de los campos del archivo original pero sin contar con un campo en

común, utilice la función @Precno para unir ambos archivos. Si está seguro de que los registros se encuentran en el orden correcto, agregue un campo Numérico a cada archivo utilizando la ecuación @Precno. Finalmente defina a ambos archivos como pre-ordenados

por número de registro y una los campos de ambos archivos.

@RegExpr

Las expresiones regulares permiten la búsqueda de coincidencias de patrones de datos.

Sintaxis

@RegExpr(Cadena1; Cadena2)

Parámetros

Cadena1 - campo Caracter o valor al que desea aplicar un patrón o fórmula

Cadena2 - el patrón que desea buscar en la cadena1.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

66

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Ejemplo

@RegExpr() (Caracter Virtual; Lon 12)

@RegExpr("Cuenta: #B345-32"; "#[A-Z][1-9-]*") #B345-32

@RegExpr("Cuenta: #B345-32"; "[c-u]*: #[A-Z]") : #B

@RegExpr("Cuenta: #B345-32"; "#") #

Nota

La utilidad verificador de expresión regular es una subserie de aquella encontrada en el POSIX.2 estándar (ANSI/IEEE std 1003.2; ISQ/IEC 9945-2).

Las expresiones regulares (ER) pueden construirse basándose en las siguientes reglas.

Las reglas para construir una ER (coincidiendo un único caracter) son

1. Cualquier caracter que no sea un caracter especial coincide consigo mismo.

2. Una barra inversa (\) seguida por cualquier caracter especial, coincide con el propio caracter literal; es decir, la barra sirve de "escape" para el caracter especial. Como + * ? . { } ^ $ ( ) [ ] | \

3. El punto " . " enlaza cualquier caracter. Ejemplo: ".umpty" enlaza a "Humpty" o a "Dumpty"

4. Un conjunto de caracteres, encerrado entre paréntesis ([ ]) es una ER de un caracter que coincide con cualquiera de los caracteres contenidos en el

conjunto. Ejemplo: "[akm]" enlaza una "a", una "k", o una "m". Puede indicarse un rango de caracteres mediante el uso de un guión. Por ejemplo, "[a-z]" enlaza cualquier letra en minúscula.

Sin embargo, si el primer caracter de la serie es el acento circunflejo (^), entonces la ER enlaza cualquier caracter excepto aquellos de la serie. No

enlaza una cadena vacía. Ejemplo: "[^akm]" enlaza cualquier caracter excepto "a", "k" o "m". El acento circunflejo pierde su significado especial si no es el primer caracter de la serie.

Las reglas para construir una ER multi-caracter son

1. Los paréntesis (( )) agrupan las partes de las expresiones regulares en subexpresiones que puede tratarse como una sola unidad. Por ejemplo, "(ha)+" enlaza uno o más "ha"

2. Una ER de un caracter seguida por un asterisco (*) enlaza cero o más

ocurrencias de la ER. En tanto, "[a-z]*" enlaza cero o más caracteres en minúscula.

3. Una ER de un caracter seguida por un más (+) enlaza una o más ocurrencias

de la ER. En tanto, "[a-z]+" enlaza uno o más caracteres en minúscula.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

67

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

4. Un signo de interrogación (?) es un elemento optativo. La ER precedente puede ocurrir cero o una vez en la cadena. Ejemplo: "xy?z" enlaza a "xyz" o a

"xz"

5. La concatenación de varias expresiones regulares es una ER que coincide con la concatenación de las cadenas correspondientes. Ejemplo: "[A-Z][a-z]*" enlaza cualquier palabra en mayúsculas.

6. El caracter OR ( | ) permite definir una opción entre dos expresiones regulares. Por ejemplo, "ST(. | REET)" enlaza a "ST." o a "STREET"

7. Si el símbolo del acento circunflejo (^) está al principio de la (sub)expresión, entonces la cadena a enlazar debe estar al principio de la cadena a buscar.

8. Si el símbolo de dólar ($) está al final de la (sub)expresión, entonces la cadena a enlazar debe estar al final de la cadena a buscar.

@Remove

Esta función elimina todas las ocurrencias de un determinado caracter (cadena2) en una cadena (cadena1). Puede usarse para eliminar la puntuación de nombres o direcciones o caracteres especiales de formato de un código, como por ejemplo un Código de

Clasificación Bancaria (número de Sucursal).

Sintaxis

@Remove(Cadena1; Cadena2)

Parámetros

Cadena1 - la expresión o campo Caracter del cual se eliminarán determinados caracteres.

Cadena2 - el caracter a ser eliminado.

Ejemplo

@Remove(COD_ORDEN; "-'') donde COD_ORDEN es un campo Caracter, devolverá lo

siguiente:

COD_ORDEN

(C; 12)

@Remove(COD_ORDEN; "-")

(Caracter Virtual; Lon 12)

16-60-20 166020

166020 166020

12-1830 121830

Nota

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

68

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@Strip puede usarse para eliminar la puntuación de campos, sin embargo también quita los espacios (excluyendo los espacios finales). Para eliminar la puntuación, como las

comas "," y puntos "." de una dirección, use la siguiente ecuación: @Remove(@Remove(DIRECCION ; ",") ; ".")

@Repeat

Repite un caracter en particular (cadena) una cantidad especificada de veces (número).

Sintaxis

@Repeat(Cadena; Número)

Parámetros

Cadena - el caracter a ser repetido.

Número - la cantidad de repeticiones.

Ejemplos

@Repeat(CODIGO; 2) donde CODIGO es un campo Caracter, devolverá lo siguiente:

CODIGO (C; 1)

@Repeat(CODIGO ; 2) (Caracter Virtual; Lon 2)

X XX

9 99

Si un número de cuenta en formato caracter incluye ceros precedentes, utilice lo siguiente para incluir siempre los ceros precedentes manteniendo un formato fijo de verificación:

CODIGO (C; 6)

LON @Len(@Ltrim(CODIGO)) (Numérico Virtual)

@Repeat("0" ;6 - lon)+ @Ltrim(CODIGO) (Caracter Virtual; Lon 6)

00123X 6 00123X

123X 4 00123X

@Replace

Reemplaza el texto especificado con un texto alternativo donde cadena1 es el campo Caracter o cadena, cadena2 es la cadena a ser reemplazada y cadena3 es el texto de reemplazo.

Puede utilizarse para reemplazar abreviaturas tales como Av. para Avenida al comparar direcciones.

Sintaxis

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

69

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@Replace(Cadena1; Cadena2; Cadena3)

Parámetros

Cadena1 - la expresión o campo Caracter en la que se reemplazará el texto especificado.

Cadena2 - la cadena a ser reemplazada.

Cadena3 - la cadena que reemplazará a cadena2.

Ejemplos

Para reemplazar todos los espacios en un número de cuenta por "0" (ceros).

CADENA (C; 6)

@Replace(CUENTA; " "; "0") (Caracter Virtual; Lon 6)

A 1234 A01234

A00066 A00066

B 999 B00999

Para buscar coincidencias de direcciones podría usarse la siguiente ecuación (o similar)

para limpiar los datos:

@Replace(@Replace(DIRECCION; "Av. "; "Avenida") ; "P. " ; "Piso")

@Reverse

Revierte una cadena de caracteres. Incluye todos los espacios por lo tanto utilice esta función con @Trim o @Ltrim según corresponda.

Sintaxis:

@Reverse(Cadena)

Parámetro

Cadena - expresión o campo Caracter a ser invertido.

Ejemplo

@Reverse(CUENTA') donde CUENTA es un campo Caracter, devolverá lo siguiente:

CADENA

(C; 6)

@Reverse(CUENTA)

(Caracter Virtual; Lon 6)

@Reverse(@Trim(CUENTA))

(Caracter Virtual; Lon 6)

"A1234 " " 4321A" "4321A "

"ABC " " CBA" "CBA "

@Right

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

70

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Identifica la cantidad de caracteres empezando por la derecha de un campo Caracter o cadena (incluyendo los espacios precedentes). Puede utilizarse en combinación con la

función @Trim para eliminar los espacios precedentes, de ser necesario.

Sintaxis

@Right(Cadena; Número)

Parámetros

Cadena - es la expresión o campo Caracter del cual desea obtener una determinada cantidad de caracteres contando desde la derecha.

Número - es la cantidad de caracteres que desea obtener.

Ejemplo

Si un código de inventario, compuesto de una serie de códigos, contiene el código del

producto en los últimos 4 caracteres, utilice @Right como en el ejemplo detallado a continuación.

INVENTARIO

(C; 20)

@Right(@Trim(INVENTARIO) ; 4)

(Caracter Virtual; Lon 4)

ABC-X-1234 1234

DA-P1234-9999 9999

@Round

Usada para precisión de redondeos. Puede redondear un número a la unidad, decena, centena, etc más cercana dependiendo del parámetro ingresado en la función. En caso de no ingresar una precisión, redondea el número al número entero más cercano. Puede ser

necesario utilizar la función @Round, para volver a comprobar los campos calculados en un archivo si el sistema ha redondeado sus campos calculados.

Cuando IDEA verifica si dos números son iguales, verifica todas las posiciones decimales.

Por lo tanto, se puede redondear para permitir una tolerancia en las diferencias de cálculos menores.

Sintaxis

@Round(Número; Redondear a)

Parámetros

Número - el valor o campo Numérico que desea redondear.

Redondear a - la cantidad de dígitos a la cual desea redondear el número.

Ejemplo

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

71

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@Round Resultado Basado en el parámetro Redondear a

el número es redondeado

@Round(123.45; 1) 123.00 El número entero más cercano

@Round(123.67; 0.1) 123.7 La décima

@Round(123.63; 0.1) 123.6 La décima

@Round(123.27; 0.2) 123.2 La décima más cercana divisible por dos.

@Round(123.63; 2) 124 El entero más cercano divisible por dos

@Round(123.53; 5) 125 El entero más cercano divisible por cinco

@Round podría ser utilizada en una ecuación de la siguiente manera: @Round((IMPORTE * TASA_CAMBIO); 0.01)

@Seconds

Devuelve la porción correspondiente a los segundos en una hora especificada como un número entre 0 y 59.

Sintaxis

@Seconds(Hora)

Parámetro

Hora - es la hora o campo Numérico o constante del cual se desea obtener la porción

correspondiente a los segundos. Un valor numérico será convertido en Hora (HH:MM:SS) y se devolverá la porción correspondiente a los segundos. Por ejemplo 4832 será convertido a 01:20:32.

Ejemplo

@Seconds(Hora), devolverá lo siguiente:

TIME

(H; 8)

@Seconds(HORA)

(Numérico)

22:40:37 37

12:35:16 16

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

72

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

TIME

(N; 8)

@Seconds(HORA)

(Numérico)

62 2.00

4832 32.00

@Seed

Selecciona la semilla de un número aleatorio.

Sintaxis

@Seed(número)

Parámetro

Número - establece la semilla antes de la selección de un número aleatorio.

Ejemplo

@Seed (123) establece la semilla 123 con anterioridad a la selección de un número

aleatorio.

Puede usarse para forzar la selección de la misma serie de números aleatorios.

@Sln

Calcula la depreciación lineal de un activo para un período.

Sintaxis

@Sln(Costo; Recupero; Vida útil) = número

Parámetros

Costo - es el costo inicial de un activo.

Recupero - es el valor estimado del activo al finalizar su período de depreciación.

Vida útil - es la cantidad de períodos a depreciar.

Ejemplos

@Sln(30000; 7500; 10) devuelve 2250.00.

Ejemplo cálculo general

Se adquiere una máquina en $4,000 cuya vida útil es de 8 años. El valor estimado de la misma luego de los 8 años es de $500. Para calcular su depreciación por año ingrese @Sln(4000; 500; 8), obteniendo como resultado $437.50.

Ejemplo campo Virtual

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

73

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

En un campo Virtual, @Sln devolvería la depreciación anual de los activos especificados. Por ejemplo, se adquiere en Septiembre una maquinaria necesaria para

la planta. Para calcular la depreciación anual de la misma agregue un campo Virtual utilizando la ecuación@Sln(COSTO; RECUPERO; VIDA_ÜTIL). Obtendrá los siguientes resultados:

@Soundex

Determine si el texto es similar en sonido. Devuelve un código que puede ser utilizado

para comparaciones.

Un nombre como Reid podría ser guardado como Reid, Reed o Read. Aplicando @Soundex a los tres nombres, se obtendría el mismo código. El código consta

de la letra inicial de la palabra y de un número de 3 dígitos.

Sintaxis

@Soundex(Cadena)

Parámetro

Cadena - es la expresión o campo Caracter para el cual desea comparar su sonido.

Ejemplo

@Soundex(NOMBRE), donde NOMBRE es un campo Caracter, devolverá lo siguiente:

NOMBRE

(C; 15)

@Soundex(NOMBRE)

(Caracter Virtual; Lon 4)

Reid R300

RIED R300

READ R300

Notas

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

74

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@Soundex sólo debería ser aplicada a una única palabra, no a una serie de texto. Si se aplica a una serie de textos se devolverá un código sólo para la primera palabra.

@Soundex no es sensible al uso de mayúsculas/minúsculas.

@SoundsLike

Establece si dos cadenas o dos campos Caracter o Fecha son similares en sonido.

Devuelve un 1 (verdadero) si son similares o un 0 si no lo son (falso).

Sintaxis

@SoundsLike(Cadena1; Cadena2)

Parámetros

Cadena1 - es el sonido a evaluar.

Cadena2 - el campo Caracter o Fecha que será verificado para ver si suena similar a la

Cadena1.

Ejemplo

@SoundsLike(NOMBRE;''Wallace''), donde NOMBRE es un campo de texto, devolverá

lo siguiente:

NOMBRE

(C; 15)

@SoundsLike("wallace"; NOMBRE)

(Numérico Virtual)

WALLACE 1

Wallis 1

William 0

Nota

Esta @Función devolverá el mismo resultado

que @Soundex(Cadena1)=@Soundex(Cadena2).

@SpacesToOne

Elimina los espacios sobrantes en una celda dejando un solo espacio entre palabra y

palabra.

Sintaxis

@SpacesToOne(Cadena)

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

75

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Parámetro

Cadena es el texto en el cual desea eliminar los espacios adicionales.

Ejemplos

1. @SpacesToOne("Esassonlaspruebas ") devolverá "Esas son las pruebas".

2. En un campo Virtual @SpacesToOne devolvería cada texto con un único espacio

entre palabras. Dejando a un lado las finanzas y los números por un momento, suponga que está revisando una base de datos con los registros pertenecientes a un libro y advierte que

cada separata ha sido ingresada con espacios adicionales entre palabras. Agregando un campo Virtual utilizando la ecuación @SpacesToOne(SEPARATA), generaría los siguientes resultados:

@SpanExcluding

Devuelve los caracteres de la cadena1 contando (pero no incluyendo) desde el caracter especificado por la cadena2. Puede utilizarse para leer un texto hasta un caracter

específico, como por ejemplo, la primera palabra de un nombre o campo de dirección, tomando hasta el primer espacio.

Sintaxis

@SpanExcluding(Cadena1; Cadena2)

Parámetros

Cadena1 - es la expresión o campo Caracter del cual desea obtener determinados

caracteres hasta un caracter especificado.

Cadena2 - es el caracter que indicará el tope de caracteres a extraer de la cadena1. Esta caracter no será incluido en el resultado

Ejemplos

En caso de trabajar con códigos de productos compuestos por diversas partes como GAL-

123, GAL-333, IDEA-999, etc, si deseara analizar la primera parte del código (hasta el "-"), utilice lo siguiente:

PRODUCTO

(C; 15)

@SpanExcluding(PRODUCTO ; "-")

(Caracter Virtual; Lon 15)

GAL-123 GAL

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

76

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

GAL-333 GAL

IDEA-999 IDEA

Para leer la primera palabra de un nombre utilice: @SpanExcluding(NOMBRE;"")

@SpanIncluding

Devuelve los caracteres de cadena1 que son encontrados en cadena2. Puede utilizarse para identificar un campo que comience con determinados números o caracteres.

Sintaxis

@SpanIncluding(Cadena1; Cadena2)

Parámetros

Cadena1 - es la expresión o campo Caracter del cual desea obtener determinados

caracteres.

Cadena2 - sonlos caracteresespecificados que desea obtener de la cadena1

Ejemplos

Para extraer cualquier dirección que comience con un número de casa o de calle, utilice:

@SpanIncluding(DIRECCION; "0123456789 ")

Ejemplo Números Seguro Nacional Reino Unido: .NOT. @SpanIncluding(@Reverse(NINO);"ABCD") identificaría los números de seguro no terminados en los caracteres A - D.

@Split

Divide una cadena caracter en segmentos mediante un caracter especificado (espacios o

comas) o una cadena caracter (://) y devuelve un segmento especificado. Cualquier caracter o cadena dentro del texto a ser dividido puede ser utilizado como el separador.

Sintaxis

@Split(Cadena; Separador_Inicial; Separador_Final; Segmento; [orden])

Parámetros

Cadena - la expresión o campo Caracter del cual desea extraer un segmento.

Separador_Inicial - el caracter (o cadena de caracteres) a ser utilizado como el

separador inicial del segmento.

Separador_Inicial - el caracter (o cadena de caracteres) a ser utilizado como el separador inicial del segmento.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

77

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Segmento - un número que especifica cuantas ocurrencias de las porciones que coinciden con el separador inicial y final van a ser devueltas por la función.

Orden - establece la dirección en que debe ser leída la cadena. 0 de izquierda a derecha y 1 de derecha a izquierda. Este es un parámetro opcional y la opción predeterminada es de izquierda a derecha (0).

Ejemplos

@Split("28/Oct/2005"; ""; "/"; 1) devolverá "28".

@Split("28/Oct/2005"; "/";""; 1) devolverá "Oct/2005".

@Split("28/Oct/2005"; "/";"/"; 1) devolverá "Oct".

@Split("http://www.google.com/search?hl=en&q=IDEA&meta="; "://"; "/"; 1; 0) devolverá "www.google.com".

@Split("http://random.yahoo.com/bin/ryl"; "://"; "/"; 1) devolverá

"random.yahoo.com".

Nota

Cuando el Separador_inicial y el Separador_final sean el mismo caracter y dicho caracter

aparezca más de dos veces, la primera aparición será tomada como el Separador_inicial, la segunda como el Separador_final y la tercera será tomada como el Separador_inicial

para el segundo segmento. En tales casos sería útil usar un espacio como el Separador-inicial tal como se muestra en los siguientes ejemplos:

@Split("28/Oct/Nov/Dic/2005"; "/"; "/"; 1) devolverá "Oct".

@Split ("28/Oct/Nov/Dic/2005"; "/"; "/"; 2) devolverá "Dic"

@Split ("28/Oct/Nov/Dic/2005"; ""; "/"; 2) devolverá "Oct"

@Split ("28/Oct/Nov/Dic/2005"; "/"; "/"; 3) devolverá "Nov"

@Sqrt

Devuelve la raíz cuadrada de un campo Numérico o expresión.

Sintaxis

@Sqrt(número)

Parámetro

Número - es la expresión o campo Numérico del cual desea obtener su raíz cuadrada.

Ejemplo

@Sqrt(100) devolverá 10.

Nota

En caso de utilizar números negativos se devolverá cero como resultado.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

78

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@Str

Convierte un número o campo Numérico en una cadena (campo Caracter). Vea a su vez la función @Val que convierte una cadena en un número.

Esta @Función puede ser utilizada en combinación con un número o con

otras @Funciones que requieran una cadena como parámetro, tal como @Mid para obtener una serie de dígitos específicos de un campo Numérico.

Sintaxis

@Str(número1; número2; número3)

Parámetros

Número1 - es la expresión o campo Numérico a ser convertido en un campo Caracter.

Número2 - es la longitud de la cadena de salida.

Número3 - es la cantidad de decimales requerida.

Ejemplos

@Str(123456; 6; 0) devolverá la cadena "123456".

@Mid(@Str(NRO_PART; 5; 0); 4; 2) devolverá el 4º y 5º dígito de una partida numérico.

@Stratum

Determina el estrato en el que cae cada registro de un campo Numérico o valor especificado.

El primer parámetro indica el campo Numérico o valor mientras que los otros parámetros indican los límites de cada estrato (hasta 16 estratos) en orden ascendente.

El valor devuelto es el primer estrato cuyo límite superior es mayor o igual al valor especificado. Si un estrato válido no es encontrado, la función devuelve -1.

Sintaxis

@Stratum(Número1; Número2; Número3....)

Parámetros

Número1 - es el número o campo Numérico a evaluar.

Número2 - es el límite superior del primer estrato.

Número3 - es el límite superior del segundo estrato.

Y así sucesivamente hasta 16 estratos.

Ejemplos

@Stratum(IMPORTE; 0; 50; 100; 150) devolverá 150 si IMPORTE = 150

@Stratum(IMPORTE; 0; 100; 250; 500; 1000) donde IMPORTE es un campo

Numérico devolverá lo siguiente:

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

79

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

IMPORTE

(N; 12;

2)

@Stratum(IMPORTE;

0; 100; 250; 500; 1000)

(Numérico Virtual)

100.50 250

500.00 500

1050.00 -1

Esta @Función puede ser utilizada, por ejemplo, para clasificar los artículos de existencias donde los valores de los estratos variarán de acuerdo a las caracterísitcas de los artículos.

@Strip

Esta función elimina todos los espacios en blanco (excepto los finales), la puntuación y los caracteres de control de un campo texto, dejando una cadena de caracteres y dígitos.

Puede utilizarse para comparar campos de nombre o dirección en un mismo archivo o en diferentes archivos.

Sintaxis

@Strip(Cadena)

Parámetros

Cadena - es la expresión o campo Caracter del cual desea eliminar todos los espacios, la

puntuación y los caracteres de control.

Ejemplo

@Strip(DIRECCION) donde DIRECCION es un campo de direcciones de formato libre,

devolverá lo siguiente:

NOMBRE

(C; 25)

@Strip(NOMBRE)

(Caracter Virtual; Lon 25)

25 New St. Square 25NewStSquare

T. J. William Ave TJWilliamAve

Nota

@Strip puede ser utilizada en combinación con @Upper o @Lower de ser necesario, por ej. @Upper(@Strip(NOMBRE)).

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

80

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

@StripAccent

Esta función tomará un caracter acentuado de una cadena y lo reemplazará por un caracter no acentuado.

Sintaxis

@StripAccent(cadena)

Parámetro

Cadena - Es la expresión caracter o campo en la cual el caracter acentuado va a ser

reemplazado.

Ejemplo

CIUDAD

(C; 24)

@StripAccent(CIUDAD)

(Caracter Virtual; Lon 24)

Québec Quebec

Ávila Avila

Hébert Herbert

Düsseldorf Dusseldorf

@Syd

Calcula la depreciación de un activo por el método de anualidades (depreciación por suma de dígitos de los años aplicado a un valor constante) para un período específico. Tenga en cuenta que la unidad utilizada para indicar la vida útil debe ser la misma para los períodos.

Sintaxis

@Syd(Costo; Recupero; Vida útil; Período) = número

Parámetros

Costo - es el costo inicial de un activo.

Recupero - es el valor estimado del activo al finalizar su período de depreciación.

Vida útil - es la cantidad de períodos a depreciar.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

81

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Período - es la duración de cada período de depreciación.

Ejemplos

@Syd(30000; 7500; 10; 1) devolverá 4090.91.

Ejemplo cálculo general

Se compra una maquinaria valor $200,000 a principios de Marzo. Se ha estimado que

su vida útil será de cinco años, y que su valor recuperable a ese momento será de $200. Para calcular el valor de depreciación para el segundo año, ingrese la ecuación @Syd(200000; 200; 5; 2). Obtendrá $53,280.00.

Ejemplo campo Virtual

En un campo Virtual, @Syd devolvería la depreciación del período para cada entrada. Se desea determinar la depreciación anual de un equipo comprado en Septiembre, deberá agregar un campo Virtual para cada año utilizando las siguientes

ecuaciones:

@Syd(COSTO; RECUPERO; VIDA UTIL; 1) @Syd(COSTO; RECUPERO; VIDA UTIL; 2)

@Syd(COSTO; RECUPERO; VIDA UTIL; 3) y así sucesivamente...

IDEA obtendrá los siguientes resultados:

@Time

Devuelve la hora actual del sistema en formato HH:MM:SS.

Sintaxis

@Time()

Parámetro

No se requieren parámetros

Ejemplo

Si la hora es 3:05 y 10 segundos (PM) entonces @Time devolverá ''15:05:10''.

@Trim

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

82

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Elimina los espacios finales de un campo Caracter. Se utiliza para formatear los datos antes de imprimir un reporte, por ejemplo para agregar títulos o iniciales a campos de

nombre al preparar cartas de circularización.

También se usa para comparar el contenido de campos de texto. Por ejemplo, al usar las funciones @Match, @NoMatch y @List que llevan a cabo una búsqueda de coincidencia de datos exacta en un campo, incluyendo los espacios finales.

Para eliminar todos los espacios o sólo los espacios iniciales vea @AllTrim y @Ltrim respectivamente.

Sintaxis

@Trim(Cadena)

Parámetro

Cadena es la expresión o campo Caracter del cual desea eliminar los espacios finales.

Ejemplos

@Trim(''CASEWARE '') devolverá ''CASEWARE''.

@Match(@Trim(CUENTA);"A12"; "B23455"; "B9999")

@Ttoc

@ttoc - Convierte una hora o número en una cadena con el formato HH:MM:SS.

Sintaxis

@Ttoc(HORA)

Parámetro

Hora - es la constante de hora, campo Hora o campo Numérico a ser convertido al

formato de cadena HH:MM:SS. Los valores en un campo Numérico son interpretados como la cantidad de segundos. Por ejemplo el valor numérico 86400 es leído como 86400 segundos o 24 horas, o 4832 es una hora, 20 minutos y 32 segundos.

Ejemplo

TIME (H; 8)

@Ttoc(HORA) (Caracter Virtual; Lon 8)

12:11:23 12:11:23

23:23:45 23:23:45

@Upper

Convierte un campo Caracter a mayúsculas. IDEA es sensible al uso de mayúsculas/

minúsculas de manera que si desea búsqueda una cadena en particular dentro de un campo, o comparar un texto dentro de dos campos pero no tiene la certeza de como fueron ingresados los datos, será necesario convertir todo a mayúsculas o a minúsculas.

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

83

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

Sintaxis

@Upper(Cadena)

Parámetro

Cadena - es la expresión o campo Caracter a ser convertido a mayúsculas.

Ejemplos

@Upper(''Gonzalez & Co'') devolverá 'GONZALEZ & CO''.

@Upper(NOMBRE) donde NOMBRE es un campo Caracter, devolverá lo siguiente:

NOMBRE

(C; 12)

@Upper(NOMBRE)

(Caracter Virtual; Lon 12)

cica CICA

Cica CICA

@Val

Convierte un número guardado como caracter al formato numérico. Los datos numéricos que no se usan para cálculos se guardan a menudo en formato Caracter, como por ejemplo, los números de cuenta. Sin embargo, para llevar a cabo algunas pruebas de

auditoría tales como buscar omisiones en una secuencia, será necesario convertir estos campos al formato numérico. Para ello puede utilizarse la función @Val.

Vea a su vez, la función @Str que convierte un campo Numérico en un campo Caracter.

Para valores numéricos con separador de decimales y separador de miles, guardados como tipo de dato caracter, utilice la función @CurVal para quitar dichos separadores.

Si el campo contiene datos no numéricos, @Val convertirá el número hasta el primer caracter.

Sintaxis

@Val(cadena)

Parámetro

Cadena - es la expresión o campo Caracter que contiene los números a ser convertidos

en formato numérico.

Ejemplos

@Val(''1234'') devolverá el número 1234.

@Val(NRO_CTA) donde NRO_CTA es un campo Caracter, devolverá lo siguiente:

NRO_CTA @Val(NRO_CTA)

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

84

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

(C; 6) (Numérico Virtual)

123456 123456

123A45 123

A12345 0

@Workday

Devuelve el número 1 si la fecha cae en un día de semana y 0 si la fecha cae en un fin de semana, de acuerdo a lo especificado en el diálogo Opciones (Ver > Opciones).

Esta @Función puede ser utilizada al analizar ventas en días no laborables.

Sintaxis

@Workday(Fecha)

Parámetro

Fecha - es la expresión o campo Fecha para la cual desea determinar si cae en un día de

la semana o en un fin de semana.

Ejemplo

FECHA_OPER (F; 8)

@Workday(FECHA_OPER)(Numérico)

20030307 1

20030920 0

@Year

Devuelve el año, en formato Numérico, de una fecha.

Puede utilizarse al analizar la relación de las ventas por año.

Sintaxis

@Year(Fecha)

Parámetro

Fecha - es la expresión o campo Fecha del cual desea obtener sólo el año en formato

Numérico.

Ejemplo

@Year(FECHA) devolverá lo siguiente:

Copyright SAMS2000 SAC Funciones con IDEA CaseWare

85

SAMS2000 SAC | Av. Ricardo Palma 1280 Ofc. 302 | Telf: 7156303 | www.sams2000.com

FECHA

(F; 8)

@Year(FECHA)

(Numérico Virtual)

19991225 1999

20000101 2000