Contenido

API Excel CPI es un producto Cliente Servidor que permite la conectividad de hojas de càlculo MS Excel y programas de AS 400.

API Excel es un producto de CPI SOFTWARE.

Descripción de API Excel
Funciones / Operaciones
Requerimientos
Instalación
Soporte Técnico

Software de Aquí


Requerimientos
Previous Top Next

AS/400
Version de OS/400: Generalmente se necesita la versión anterior a la última que IBM tenga disponible. Consulte el apartado soporte para preguntar sobre este requisito.

PC
Sistema Operativo: En este momento se admite cualquier version moderna de Windows: 98, NT, 2000, XP
Conectividad con el AS/400: Client Access/400 para Windows o NS/Router.
Impresora: Cualquier impresora compatible con Windows: Laser, tinta...


Instalacion

El Sistema API Excel está compuesto de DOS partes (la parte de AS/400 y la parte de PC).
Se deben instalar DOS partes por tanto, y la parte de PC debe instalarse en cada PC que vaya a utilizarse con API Excel.

Para la instalación en AS400 inserte el CD y en una línea de comandos escriba LODRUN *OPT. Siga las instrucciones que aparecen en pantalla.

Para la instalación en el PC inserte el CD en el CDROMl, si tiene autoarranque le aparecerá una pantalla de instalción, si no es así ejecute el programa menu.exe. Deberá instalar los RunTimes y ApiExcel. Siga las insdicaciones que le aparecen en pantalla. Si tiene que instalar en varios PCs le merecerá la pena copiar los directorios RunTimes y Apiexcel en una carpeta compartida de la red e instalar en los PCs desde allí ejecutando los SetUp de los dos directorios.

Identificacion de PC.
En cada PC que se utilice debe crearse un fichero CPI_ID.INI en el directorio principal de Windows (generalmente C:) con al menos este contenido:
[PCID]
PCname=xxxxxxxx siendo xxxxxxxx el codigo/nombre único del PC
PCdesc=x(20) texto adicional (ubicacion, usuario, etc)

Este fichero se creará al instalar los RunTimes de CPI por lo que se instalará con cualquiera de nuestros productos.

Personalización.

Se puede escribir un fichero de Personalizacion en cada PC para definir modos de comportamiento basicos de conectividad.

El fichero de personalizacion APIEXCEL.INI en el directorio principal de Windows (generalmente C:) debe contener lo siguiente:

[Connection]
Mode=FTP indica el modo de conexión, FTP
IpSystem=201.0.0.4 dirección IP del AS400 al que nos conectamos
UserId=PCUSER usuario con el que nos conectaremos al 400
PassWord=RJTF45 password del usurario anterior


Descripción

Descripción de API Excel

API Excel CPI
Creado por CPI SOFTWARE.

API Excel CPI es un desarrollo de CPI SOFTWARE en el área de integración de Soluciones AS/400 y PC. Como su nombre indica, permite la conectividad de Hojas de Calculo MS Excel y Programas de AS/400 sin necesitar procesos de definición ni transferencia de ficheros: en una forma programática.

Está programado en un entorno Cliente/Servidor, con la ventaja de que las tareas de elaboración, impresión, etc... puede ordenarse desde un PC (incluso sin programas de emulación) pero también pueden ser ordenados desde programas normales de AS/400. Esto puede llegar a ser de mucha importancia para Empresas con programadores de AS/400 porque pueden llegar a cambiar o diseñar sus Aplicaciones para que la obtención de informes se realize con destino a Hojas de Cálculo.

Esquema de Funcionamiento

API Excel funciona segun el esquema Cliente/Servidor, tambien llamado Proceso Cooperativo, ya que se basa en que el trabajo se lleva a cabo en dos ordenadores diferentes pero conectados, donde cada uno de ellos aporta lo mejor de sí para obtener un resultado.

· De un lado, en el IBM AS/400 tenemos una capacidad extraordinaria de Proceso y Gestión de Bases de Datos más multiples funcionalidades clasicas y seguras de Ordenador Central.
· De otro lado, Microsoft Windows proporciona una capacidad muy amplia de soporte de impresoras de todas marcas y tipos, lo que puede permitirnos una gran libertad de elección.

Ahora, cualquier programa AS/400 puede ser cambiado para utilizar funciones de Api Excel utilizando llamadas a las funciones (APIs) incorporadas.

Funcionamiento

El funcionamiento desde el AS/400 permite llevar los datos a una hoja con diseño previo o bién crear una hoja completamente nueva. Podemos partir de un spool de As400 y generar un script con el formateo de la hoja o implementar las ordenes directamente en los programas RPG o Cobol.

Lista Básica de Funciones

Lista Resumida de las funcionalidades de API Excel:

· Puede usarse este API para utilizar cualquier impresora conectada a un PC o en RED como "simple" impresora receptora de informes sin necesidad de definir esas impresoras en el 400, pero con calidad Excel - Laser.

· En cualquier impresora de Red o Usuario pueden imprimirse "listados" con excel pero siendo cumplimentados desde programas de AS.

· Sólo este uso concreto puede tener ventajas sobre listados normales:
· Más bonito: Fonts, Colores, Boxes, etc definidos en PC.
· Obtener Listados en Impresoras de PC sin que el 400 las controle.
· Puede desacomplejar programas de 400 por llevar tareas al PC.
· En uso con Red/FSIOP/E-Mail/Notes... las hojas pueden distribuirse.
· En PC pueden modificarse aspectos de la hoja sin programar en 400.
· Capacidad para asociar cálculos, gráficos, etc en Hoja de Cálculo.
· Estamos dando soluciones Cliente/Servidor con poco sufrimiento...

· Se han implementado diversas funciones en ADP 400 para que se hagan "movimientos" de información entre el 400 y las Hojas de Cálculo. Esto permite a esos programas actuales que crean un frío informe de 400 el ser cambiados para integrarse en un soporte conocido por mucha gente, reconocido y ampliamente usado: Excel y las Impresoras Color/Laser de PC.

· Para usuarios que no tengan ADP existe la opcion de usar la funcion CPI Code Preprocessor, que permite incluir sentencias de texto libre en programas RPG.

· Al ganar en prestancia, estos informes pueden ser más fácilmente integrados en informaciones a facilitar a Clientes, Empresas del Grupo, etc incluso usando distribución electrónica de PC y Correo Electrónico como Lotus Notes, Internet, CompuServe, MS Exchange, etc.


ADP 400

 ADP 400 es un Sistema de Desarrollo de Aplicaciones de CPI SOFTWARE, el cual incorpora soporte de escritura en formato ADP Free, con el que pueden teclearse macros directas para uso de API Excel. ADP 400 es un Sistema Completo, que incorpora una gran cantidad de funciones integradas para hacer más fácil, rápido y potente el desarrollo de Aplicaciones para el entorno AS/400. ADP 400 incluye Generadores de Codigo Fuente en RPG y Cobol.


ADP Free

 ADP Free es un "pseudo lenguaje" incorporado en ADP 400,
y que permite escribir sentencias en un formato de escritura libre.


 CELDA ACTIVA
Es la que se ha usado en ultimo lugar para alguna operacion,
tal como una Pos o un Move, etc.


 CODIGOS DE FONT

Los codigos de Font permitidos son
ARI- (Arial) Esta es la Letra Arial (negrita)
TNR- (Times New Roman) Esta es la Letra TNR (negrita)
CNEW (Courier New) Esta es la letra CNEW (negrita)
WING (wingings, simbolos) Simbolos como hlpvx1?¡¿ñ:#"(ou


Color

 COLORES VÁLIDOS:
00=Negro 01=Azul 02=Verde 03=Cyan 04=Rojo 05=Magenta 06=Amarillo 07=Blanco
08=Gris 09=Azul+ 10=Verde+ 11=Cyan+ 12=Rojo+ 13=Magenta+ 14=Amarillo+ 15=Blanco+
El caracter + significa "mas claro". Los colores recomendados para fondos son los mas claros, como 14.

Fondos Especiales:
Para el Color de Fondo pueden usarse los codigos especiales 51 a 61.
Estos codigos especiales tienen todos mas suaves.
Para conocer bien los codigos de color puede usar el programa CPIcolor.EXE, el cual visualiza todos estos colores.

IMPORTANTE:
El resultado final de este y otros atributos depende de varios factores, tal como el modelo y el estado de la impresora, la forma en que esté instalada (driver usado), el Sistema Operativo del PC e incluso el papel o la tinta/toner usado.


CPI Code PreProcessor

 CPI CODE PREPROCESSOR (CPI CPP)
Es una Utilidad de Programación de CPI SOFTWARE que permite incorporar
dentro de fuentes normales RPG la capacidad de incluir líneas "macro" que se
expanden en una o varias sentencias fuente RPG con soporte de variables,
inclusion de lineas asincronas, etc.
Esto permite básicamente escribir una sola linea "macro" y que automaticamente
se expandan en varias, haciendo más facil la incorporacion de sentencias complejas
y no únicas, tal como el caso de API Excel CPI.


Formulas

Formulas Excel

Formulas
Funcionalidad de "pegado", importante en fórmulas.
Es util para sumas de varias celdas.
En Excel la suma de varias celdas que no estan en filas consecutivas sería por ejemplo:

=SUMA(E001;E005;E010;E025;E030;E045)

Se permite el fraccionamiento de esta función, de la siguiente forma:
- Un primer movimiento de dato con la primera parte que puede englobar una o
varias celdas terminando con un paréntesis de cierre:
=SUMA(E001;E005;E010)
- Los siguientes movimientos "para pegar" se deben escribir comenzando con
dos veces el símbolo igual "=" y terminando con un paréntesis de cierre:
==;E025;E030;E045)


 NOMBRE DE LA CELDA

Una Celda puede ser referida por su ubicacion (Fila y Columna -Row/Col)
o bien por un nombre asignado previamente. Cuando se trabaja llevando datos
a una Hoja que ha sido previamente diseñada, puede ser muy util mover datos
hacia celdas que tengan asignado un nombre, de forma que si en esa hoja se
cambia de ubicacion ese nombre la funcion de API Excel no necesita cambiarse.

Las Celdas con Nombre son poco usadas, debido a que requieren una planificacion previa.


 NOTA SOBRE RESULTADO FINAL

Algunas funciones de aspecto pueden depender de la impresora, la posible
personalización de la impresora, el driver de impresora usado, la version de
Excel, etc. Antes de hacer un gran uso de funciones es mejor hacer pequeñas
pruebas para decidir sobre resultados finales.


Operaciones

Operaciones API Excel

Programacion de ApiExcel desde spool

Crearemos un script por cada spool distinto que queremos traspasar a Excel. Para esto usaremos el paso 111 del menú de ApiExcel en el 400.

Programación de Funciones API Excel desde Programas AS/400:

El objeto es usar el Compilador de RPG del AS/400. Para ello pueden definirse funciones de API Excel usando una de las tecnicas siguientes:

· ADP 400, que es un Sistema de Desarrollo de Aplicaciones de CPI SOFTWARE, el cual incorpora soporte de escritura en formato ADP Free, con el que pueden teclearse macros directas para uso de API Excel.
· CPI Code PreProcessor (CPI CPP), una utilidad de CPI SOFTWARE que permite incluir sentencias directas de macro especiales de API Excel en programas normales RPG. CPI CPP permite escribir solo una linea por funcion, lo que facilita enormemente el uso de API Excel en programas.
· Programacion normal RPG. Aunque esto puede hacerse, NO se recomienda, debido a que es más potente usar al menos CPI CPP si no se cuenta con ADP 400.

La sintaxis y ejemplos de esta documentacion se expresan en modo ADP Free y en modo CPI CPP para RPG.

Para usar de esta forma ApiExcel pongase en contacto con CPI Software


AddRow

AddRow (sólo ApiWord)
Previous Top Next

Añade una Row duplicando desde la anterior. Esta función está mejorada con MoveTable.

AddRow,nTabla,*DUP

Esto permitiria que si hay una tabla con 2 rows (1 de cabec y otra de datos) se añade una detras copiando en esta nueva el contenido de la ultima anterior. Por ejemplo, si hay &var& en una fila se repetirian en la siguiente.

Para trabajar con AddRow duplicando variables se necesita quiza:
MoveMode,1
solo reemplaza la primera &var& (no cambiaria la ultima fila insertada)
MoveMode,2
comportamiento normal (omision)
DelRow,numtabla
Borra una row (la ultima)


Borde

Borde alrededor de una o varias celdas de una fila (Borde)

Podemos poner un borde a una celda, varias, o a toda una fila.
Se puede combinar una orden de Borde con otra de Font para el fondo del texto.

La orden BordeA tiene el mismo formato y oarametros

Parm2 tiene una longitud de 5 posiciones desglosando la información como sigue:
01-01 - (un guión)
02-03 Color del borde. mismo código de color que Font
04-04 Grosor del Borde. De 1 a 4.
05-05 Estilo.
1=Continuo 2=Rayas 3=Puntos
4=Rayas+Puntos 5=Raya+Punto+Raya
6=Gris 7=Doble 8=Auto

Parm3 Columna desde hasta en formato ddhh, tal como 0307 para "columnas 3 a 7"

ejemplo: Borde,-0428,0307

NOTA sobre resultado final


BordeA

Borde Alrededor, sin verticales en el ámbito de celdas (BordeA)

Si se pone un BordeA a un ambito de varias celdas el borde aparece altededor de todas ellas, pero no en la vertical de cada celda.
La combinación con el Font es más restringido.

El formato es el mismo que Borde.

Parm2 tiene una longitud de 5 posiciones.
01-01 - (un guión)
02-03 -- (dos guiones) No hay uso de color en BordeA
04-04 - (un guión). No hay uso de Grosor.
05-05 Estilo. Solo se usan los códigos
1=Continuo 2=Rayas 3=Puntos 7=Doble

Parm3 Columna desde hasta en formato ddhh, tal como 0307 para "columnas 3 a 7"

ejemplo: BordeA,-----1,0307

NOTA sobre resultado final


Calculate

Calculate o Calcula

Activar opciones de Calculo de Formulas.

- sin parámetro: Calcula Inmediatamente.

- con parámetro 0 (cero) Activa Calculo Manual (no se hacen calculos automáticos)

- con param 1 (uno): Activa Calculo Automático.


Close

Action Close. Cierre de una Hoja

Función de cierre de una hoja.
Especialmente indicado para un comienzo en modo 'NoAuto'.

parm2 admite 'Y', 'N', '?', siendo Y=Yes(SI) N=No ?=Preguntarlo al usuario final.

ejemplo: Close,Y


CrtTx

Crear Cuadro de Texto (CrtTx)

Esta función permite crear un cuadro de texto y darle nombre para despues mover
contenido con Move+.

Parm2 nombre del Cuadro de Texto
Parm3 contiene las dimensiones del cuadro de texto.
El formato es aaabbb siendo aaa el ancho y bbb el alto.
Este cuadro de texto tiene ajuste automático al contenido del dato que se le
mueva posteriormente.

El cuadro se crea en el lugar donde esté la celda activa.

ejemplo: CrtTx,Box37,079015

NOTA sobre resultado final


DelCol

Suprimir una columna (DelCol)

Se suprime la columna en la que hay una celda con ese nombre o bien la columna indicada.

Parm2 nombre de celda o numero de columna en formato cc.

ejemplos: DelCol,nomcel,
DelCol,01


DelRow

Suprimir una fila (DelRow)

Función de supresión de la fila en la que se haya una celda con ese nombre
Solo cuando se parte de un prediseño de hoja Excel, pues se debe indicar un nombre de celda.

Parm2 nombre de celda.

ejemplo: DelRow,nombre


DelTx

Suprimir un cuadro de texto (DelTx)

Se suprime un cuadro de texto con ese nombre.
Solo cuando se parte de un prediseño de hoja Excel, o bien para un cuadro creado previamente con crtTX.

Parm2 nombre del cuadro de texto.

ejemplo: DelTx,box37


End

operacion End

End

Función de finalización de API. No usa más parámetros que el de la propia función.

ejemplo: End


Font

Definición de Font, Atributos y Colores (Font)

Esta función permite definir un font (tipo de Letra), cambiar el tamaño de font y dar atributos como negrita, ajustes colores etc.

Parm2 14 posiciones desglosando la información como sigue:
· 01-04 Codigo de Font (ARI- o TNR- o CNEW o WING o ---- para no cambiar)
· 05-05 - (un guión)
· 06-07 Tamaño. Admite entre 05 y 50 (00 para no cambiar). también +n y -n para aumentar o disminuir el tamaño.
· 08-10 Atributos N=Negrita, I=Itálica, S=Subrayado, F=Relleno iz/dcha C=Centrar, R=Dcha, L=Izq, J=Justificado V=VerticalJustificado CV=Ajuste horiz + vert.
· 11-12 ColorTexto de 00 a 15 ó -- para no cambiar
· 13-14 ColorFondo de 00 a 15 (y 51 a 61) ó -- para no cambiar.

Parm3 5 posiciones desglosadas de la siguiente forma:
· 01-02 Columna desde (como 01,04...)
· 03-04 Columna hasta (07, 11...)
· 05-05 una C para cambiar atributos a una columna (o columnas) entera.Si no se usa C el Font es para la celda/fila activa

ejemplo: Font,ARI--12NS-0014,0107


Format

Edición en contenido de celdas (Format)

Esta función permite editar celdas con contenido numérico o celdas con texto.

Parm2 es un código de edición de Excel, por ejemplo:
"#,##0" ó "#,##0.00" (Se permite ¤ a izqda o dcha)
"#,##0¤);[Red](#,##0)" (pone negativos en rojo)

Para simplificar puede usar formatos automáticos:
*numsd2 o EC o *EC "#,##0.00;[Red]-#,##0.00"
*numd2 "#,##0.00"
*numsd0 o PC o *PC "#,##0;[Red]-#,##0"
*numd0 "#,##0"
*alfa "@"

Parm3 Columna desde hasta. Si se desea editar todas las filas se pone una C en la
posición 5ª (ej: 0505C).
En caso contrario se edita las columnas de la fila activa.

ejemplo: Format,codedi,cdch


Image

Pegar una Imagen (Image)

Se permite incorporar Logos, Fotos, etc.

Parm2 nombre del fichero que contiene la imagen. Si no se da extensión se asume
la extensión .BMP.
Parm3 puede contener:
' ' = el fichero está en el directorio de los programas API
'*USER' = el fichero está en el directorio USER bajo los programas
'path' = el fichero está en este path.

ejemplo: Image,MiLogo,*User


Insert

Insertar una Fila (Insert):

Data nombre de la celda delante de la cual se insertará una fila.

La fila insertada toma los atributos de la fila anterior a la de la celda nombrada.

ejemplo: Insert,nombre


MergeCell

Unir varias celdas en una.
Otro Nombre Válido: MergeCel

Permite definir un grupo de varias celdas que se tratarán como una.
p.e. si unimos tres celdas en una y colocamos un texto centrado en la primera de ellas conseguimos un texto centrado perfecto a traves de las tres celdas.

equivale a la función Excel [image] si ademas se emite un Center Font.

Parametros (usar sólo uno de los dos):
1.- indicar el rango de celdas en formato E3:G3 por ejemplo.
2.- otro formato quizá más fácil (sólo para Fila Activa, debe hacerse antes un Move p.e.) es indicar las columnas desde y hasta con cuatro posiciones numericas, tal como 0105 (columnas 1 a 5).

ejemplo: MergeCel,,0105
MergeCel,A9:J9,


Move

operacion Move

Move+ y Move+A

Función de movimiento de un dato.
Sustituir + por X en caso de datos alfanuméricos, y por N en caso de datos numéricos.

· Row admite fila
admite *Name para Mover a una Celda con Nombre
admite *NameTx en el caso de mover dato a un cuadro de texto. .
· Col admite columna o el nombre del *Name o *NameTX.
· Data es el dato a mover.
· Dec para datos numéricos indica el número de decimales.

Si despues de MoveX o MoveN se pone una A indica que la función de mover siguiente
es en la celda de la derecha.

ejemplo:
@XL_MoveX Row('01') Col('01') Data('Fecha:')
@XL_MoveN Row('01') Col('02') Data(wfecha) Dec(0)
@XL_MoveXA Row('01') Col('01') Data('Fecha:')
@XL_MoveNA Row('01') Col('02') Data(wfecha) Dec(0)
@XL_MoveX Row('*NameTx') Col(nomtx) Data('Empresa')


MoveTable

MoveTable (sólo ApiWord)
Previous Top Next

Permite soportar tablas de word directamente.

MoveTable,nTabla,Row,Col,Valor
pone texto en una celda sin necesitar &var& y añade row (fila) si necesita.

ejemplo: MoveTable,1,7,4,www.cpis.es
mueve a la tabla 1 (las tablas se numeran en word por orden de uso), fila 7, columna 4 el texto.

Por tanto es una op muy flexible cuando se genera script de API Word directo desde un programa.

AddRow,nTabla,*DUP
añade una Row duplicando desde la anterior
(quiza es mejor MoveTable?)
Esto permitiria que si hay una tabla con 2 rows (1 de cabec y otra de datos) se añade una detras copiando en esta nueva el contenido de la ultima anterior. Por ejemplo, si hay &var& en una fila se repetirian en la siguiente.

Para trabajar con AddRow duplicando variables se necesita quiza:
MoveMode,1
solo reemplaza la primera &var& (no cambiaria la ultima fila insertada)
MoveMode,2
comportamiento normal (omision)
DelRow,numtabla
Borra una row (la ultima)


Open

Apertura de una hoja (Open)

Especialmente indicada para un comienzo en modo 'NoAuto'

parm2 admite 'VISIBLE', 'MIN', 'HIDE' y ' '.
parm3 número de hoja, ' ' y '*NEW'. Este último para crear nuevas hojas.

ejemplo: Open,MIN,*NEW


Page

PageBreak, Insertar Salto de Página.

Inserta un salto de página antes de la fila (row) activa.

No hacen falta parámetros


Pause

Pausa (Pausa)

Efectúa una pausa en el PC mostrando el contenido de una campo.

ejemplo: Pausa,campo


Pos

Posicionamiento en una Celda con Nombre (Pos)

Pone activa una celda sin moverle nada
Esta funciòn se usa cuando se parte de un prediseño de una hoja Excel.

Data Nombre de la celda que se activa.

ejemplo: PosSaldo

Vea tambien Action PosX para hacer posicionamiento sin Nombre (utilizando Fila y Columna).


PosX

Posicionamiento en una Celda -Fila,Columna- (PosX)

Pone activa una celda sin moverle nada

Data Fila donde está la Celda a Activar.
Data2 Columna donde está la Celda a Activar.

ejemplo: Pos,12,3

Vea tambien Action Pos para hacer posicionamiento con Nombre (para Hojas PreDefinidas).


Print

Imprimir la hoja activa (Print)

Dar la orden de impresión de la hoja activa.

Permite definir la impresora a usar.

Los parámetros de Print son:

Print,yes/no,WaitSegundos,Copies,Printer,DuplexH/V/0

prm2 con NO se evita imprimir, otra cosa imprime.
prm3 segundos de espera tras imprimir
prm4 Num de Copias
prm5 Impresora a usar (trozo de nombre)
prm6 Duplex
DuplexH hace Duplex Horizontal
DuplexV hace Duplex Vertical
Duplex0 evita Duplex


Save

Salvar una hoja (Save)

Salvar la hoja Excel (fichero .xls). El nombre y path dependen de la interface usada.

No tiene uso en apertura de hoja modo *NEW (no normal con *New es usar SaveAs)

ejemplo: Save


SaveAs

Salvar y Dar nombre a una hoja (SaveAs)

Función SaveAs de la hoja Excel.
Especialmente indicado en creacion de hoja completamente nueva (*New).

Data admite *SOURCE, *TARGET, *PGM, *USER, o un path válido.El valor especial *USER usa el directorio dentro del directorio donde está el programa CPI instalado. el valor *PGM usa el directorio donde está API Excel instalada (no debe usarse). Recomendamos usar *USER o un path sencillo como C:.

Data2 nombre de la hoja excel sin extensión. Si se usa una extensión htm o html la hoja se salva en formato compatble con Browser de Internet.

ejemplo: SaveAs,*USER,MiHoja

se permite el valor especial ?? para visualizar el dialogo Excel asociado a la función.


SetPrint

Funciones de Impresion (SetPrint)
Permite varias posibilidades en cuanto a la preparación para la impresión como el
el alineamiento, centrado, cabeceras y pies de la hoja, permite actuar sobre márgenes
etc.

Alineación Vertical u Horizontal:
Alineación de la hoja.Use LAND para imprimir en papel apaisado, a lo ancho. Esto permite que se vean mas columnas en el informe. o PORT para modo Portrait (vertical o normal).

Parm2 admite 'PORT' para vertical y 'LAND' para horizontal.
ejemplo: Setprint,LAND,

Centrado al imprimir:
Función de Centrado de la hoja al imprimir.
Parm2 'CenterV' centra vertical y 'CenterH' centra horizontal.
ejemplo: Setprint,center,

Cabeceras y Pies de la hoja:

Permite definir hasta 3 cabeceras y 3 pies a la hoja.
Parm2 texto de las cabeceras y pies. Se admiten controles dentro del texto: &I=Itálica &B=Bold(Negrita) &U=Underline &D=Date &T=Time &F=File &A=TabName &P=Page &N=Pages *PATH=Dir *USER1=Empresa Registrada en Excel *USER2=Usuario Registrado Excel.
Parm3 nombres de las cabeceras y pies. 'cab1' cabecera izquierda 'pie1' pie de página izquierdo 'cab2' cabecera central 'pie2' pie de página central 'cab3' cabecera derecha 'pie3' pie de página derecho

ejemplo: Setprint,texto,Cab1

Imprimir en Blanco y Negro (Black&White):
Impresión en blanco y negro, sin grises.(no recomendable)
Parm2 'BW'
ejemplo: Setprint,BW,

Impresión de Grid
Podemos activar o desactivar la impresión de Grid (rayado de separacion de celdas).
Parm2 'Grid'
Parm3 'Y' para activar y 'N' para desactivar.
ejemplo: Setprint,Grid,Y/N

Repetir Cabeceras
Util cuando hay muchas filas y al imprimir no caben en una sola hoja .
Parm2 'RepCab' o 'RepiteCab'
Parm3 ámbito de filas a repetir. Se puede indicar de diferentes formas: 'Rn:Rn' o 'Ln:Ln' o '$n:$n'.
ejemplo: Setprint,RepCab,ambito

Repetir Columnas
Util en casos en que la hoja contenga más columnas de las que saldrían en una hoja al imprimir.
Parm2 'RepCol' o 'RepiteCol'
Parm3 ámbito de columnas a repetir. Se puede indicar de la siguiente forma: 'A:C'
ejemplo: Setprint,RepCol,ambito

Definir Margenes papel
Permite indicar el nùmero de puntos de impresora (en mediciòn 1/72 de pulgada) a usar como margen del papel.
Parm2 'Marg?' Tomando la ? los siguientes valores según las agujas del reloj.: 1=Izquierda 2=Arriba 3=Derecho 4=Abajo
Parm3 medición: 72=pulgada (2.4 cm) 36=media (1.2 cm) 18=cuarto (0.6 cm)
ejemplo: Setprint,Marg1,72


Sheet

Activar una hoja del libro Excel (Sheet)

Activa una hoja

Parm2 número de la hoja (Tab) que se activa.
Parm3 nombre a asignar a la hoja (Tab). Si se deja en blanco no se cambia el nombre.

ejemplo: Sheet,3,Resumen

Un Fichero Excel (extension .XLS) es un "Libro" (WorkBook), y un Libro puede tener varias "Hojas".
Puede existir algo de confusión porque antes un fichero excel era una sola hoja.
Tal como vemos en el grafico, podemos tener un Documento o Libro Excel que contiene varias "Hojas" (Tabs)
Con API Excel podriamos generar p.e. un informe por cada zona de ventas en cada Hoja o Tab y generar otra hoja/tab como Resumen.

ADICION AUTOMATICA DE HOJAS en un Libro.

Cuando se utiliza Sheet para usar una Hoja/Tab que no existe, API Excel automáticamente la inserta.
Por ejemplo, si un Libro nuevo se abre con 4 hojas y se quiere usar la 5.

En realidad esto no es totalmente así, ya que las inserciones de hojas se producen delante de la ultima. p.e. si un libro comienza con 4 hojas, al querer usar la 4 se inserta una antes de la ultima porque siempre debe qujedar una "detras". Tenga en cuenta este comportamiento si usa inserciones de hoja.


SizeCol

Aumento o Disminución del Ancho de columnas (SizeCol)

Parm2: Se admite n, y +n, -n para aumentar/disminuir tamaño. Una columna tipo de Excel tiene un tamaño de 12 aprox. Si se pone '00' se ajusta al dato al tamaño ocupado (AutoSize).
Parm3: Columna desde hasta en formato ddhh (4 posiciones)

Tener en cuenta que el cambio es para todas las filas.

Ejemplo: SizeCol,+2,0202
SizeCol,00,0209

Como ajustar tamaño a AutoSize (SizeCol 0) permitiendo además Textos Grandes (Titulos, etc).
Haga todos los movimientos que desee ajustar a su tamaño usado, haga un SizeCol 0 y luego haga los moves de Titulos Especiales. El SizeCol Autosize solo deberia cambiar el tamaño de las columnas movidas antes del SizeCol.

NOTA:
El parametro Parm3 NO debe llevar la C detras del ambito de columnas.


SizeRow

Cambiar el Alto de una Fila (SizeRow)

Esta función permite cambiar el alto de la fila activa dando un valor absoluto o relativo.

Parm2 admite n y +n

Ejemplo: SizeRow,20
pone tamaño fijo de 20 a la fila activa
SizeRow,+5
aumenta el alto de la fila en 5 unidades (lo suma al tamaño que tuviera)

NOTA:
Operacion poco usada, porque generalmente se cambia el tamaño al cambiar atributos como Font.


Start

Start

Función de comienzo de API Excel.
Esta operacion debe ejecutarse una sola vez y antes de cualquier otra de API Excel.

Parm2 'Auto' puede definir una Interfase que se ejecuta desde Pc o una Interfase que
se ejecuta desde 400 con búsqueda de fichero interf.@XW.
'NoAuto' desde 400 sin búsqueda de fichero interf.@XW.
Parm3 nombre del script de 400.

ejemplo: Auto,mbrscr)


Soporte Tecnico

CPI SOFTWARE ®

Telf: 91.535.41.35 - FAX: 91.535.40.26
internet: www.cpis.es
E-Mail: info@cpis.es

Productos CPI


Productos CPI

Power Images 400.

Permite integrar funciones de Imagenes y Gestion Documental, con soporte para escaneado y presentación de imágenes.

iWriter & Fax 400

Sistema de Gestion de Oficina con Procesador de Textos, soporte de impresión Laser y Gestion de Faxes, incluyendo APIs de conectividad con otras Aplicaciones y Programas.

API Excel 400.

La Conexión más potente entre las Aplicaciones AS/400 y la Hoja de Calculo Excel de Microsoft. No sólo conectividad por transferencia de ficheros, sino la mas impactante capacidad de resultados. La mejor forma de obtener información corporativa. Conectividad directa con programas con nuestras APIs.

Cooperative Print 400 (CoPrint).

Cooperative Print 400 (CoPrint) es una solución Cliente / Servidor para imprimir información del Ordenador Central IBM AS/400 sobre Impresoras compatibles con PC-MS-Windows, consiguiendo una alta calidad y funcionalidad en documentación impresa.

CASE ADP 400.

Un Sistema de Desarrollo de Aplicaciones completo, incuyendo Diseño de Bases de Datos y Generación de Código Fuente, con multitud de ricas funciones automáticas y Diccionario Activo con Regeneración para Mantenimiento.

Nominas y Gestion de Personal.

Un Sistema de Gestion Integrado, contemplando todas las funciones necesarios en Gestion de Personal y Nominas. Enriquecido con Power Images, API Excel y Cooperative Print para permitir Fotografias de Personal, Informes Excel, Recibos con formulario Electronico, etc.

Gestion Contable.

Una Aplicacion de Contabilidad extraordinariamente flexible, eficiente y facil de usar y con una gran capacidad de interfaces para conectividad desde otras aplicaciones, informes diseñados por usuario, así como innovaciones Cliente/Servidor como API Excel, etc.

Gestion de Activos Fijos - Inmovilizado.

Permite controlar los Activos de multiples compañias, permitiendo la conectividad con cualquier Sistema Contable para la Generacion de Movimientos.

Action Menu 400.

Es un diseñador de Menús en el modo Action Bar & Pull Down Windows realmente flexible y facil de usar que cuenta con innovadoras funciones.

Software de Aquí


.topic 50

 AS/400
Version de OS/400: Generalmente se necesita la versión anterior a la última que IBM tenga disponible. Consulte el apartado soporte para preguntar sobre este requisito.

         PC
Sistema Operativo: En este momento se admite cualquier version moderna de Windows: 98, NT, 2000, XP
Conectividad con el AS/400: Client Access/400 para Windows o NS/Router.
Impresora: Cualquier impresora compatible con Windows: Laser, tinta...

.topic 5

El Sistema API Excel está compuesto de DOS partes (la parte de AS/400 y la parte de PC).
Se deben instalar DOS partes por tanto, y la parte de PC debe instalarse en cada PC que vaya a utilizarse con API Excel.

Para la instalación en AS400 inserte el CD y en una línea de comandos escriba LODRUN *OPT. Siga las instrucciones que aparecen en pantalla.

Para la instalación en el PC inserte el CD en el CDROMl, si tiene autoarranque le aparecerá una pantalla de instalción, si no es así ejecute el programa menu.exe. Deberá instalar los RunTimes y ApiExcel. Siga las insdicaciones que le aparecen en pantalla. Si tiene que instalar en varios PCs le merecerá la pena copiar los directorios RunTimes y Apiexcel en una carpeta compartida de la red e instalar en los PCs desde allí ejecutando los SetUp de los dos directorios.

Identificacion de PC.
En cada PC que se utilice debe crearse un fichero CPI_ID.INI en el directorio principal de Windows (generalmente C:) con al menos este contenido:
[PCID]
PCname=xxxxxxxx		siendo xxxxxxxx el codigo/nombre único del PC
PCdesc=x(20)				texto adicional (ubicacion, usuario, etc)

Este fichero se creará al instalar los RunTimes de CPI por lo que se instalará con cualquiera de nuestros productos.

Personalización.

Se puede escribir un fichero de Personalizacion en cada PC para definir modos de comportamiento basicos de conectividad.

El fichero de personalizacion APIEXCEL.INI en el directorio principal de Windows (generalmente C:) debe contener lo siguiente:

[Connection]
Mode=FTP				indica el modo de conexión, FTP
IpSystem=201.0.0.4			dirección IP del AS400 al que nos conectamos
UserId=PCUSER			usuario con el que nos conectaremos al 400
PassWord=RJTF45			password del usurario anterior

.topic 3
API Excel CPI
Creado por CPI SOFTWARE.

API Excel CPI es un desarrollo de CPI SOFTWARE en el área de integración de Soluciones AS/400 y PC. Como su nombre indica, permite la conectividad de Hojas de Calculo MS Excel y Programas de AS/400 sin necesitar procesos de definición ni transferencia de ficheros: en una forma programática.

Está programado en un entorno Cliente/Servidor, con la ventaja de que las tareas de elaboración, impresión, etc... puede ordenarse desde un PC (incluso sin programas de emulación) pero también pueden ser ordenados desde programas normales de AS/400. Esto puede llegar a ser de mucha importancia para Empresas con programadores de AS/400 porque pueden llegar a cambiar o diseñar sus Aplicaciones para que la obtención de informes se realize con destino a Hojas de Cálculo.

Esquema de Funcionamiento

API Excel funciona segun el esquema Cliente/Servidor, tambien llamado Proceso Cooperativo, ya que se basa en que el trabajo se lleva a cabo en dos ordenadores diferentes pero conectados, donde cada uno de ellos aporta lo mejor de sí para obtener un resultado.

De un lado, en el IBM AS/400 tenemos una capacidad extraordinaria de Proceso y Gestión de Bases de Datos más multiples funcionalidades clasicas y seguras de Ordenador Central.
De otro lado, Microsoft Windows proporciona una capacidad muy amplia de soporte de impresoras de todas marcas y tipos, lo que puede permitirnos una gran libertad de elección.

Ahora, cualquier programa AS/400 puede ser cambiado para utilizar funciones de Api Excel utilizando llamadas a las funciones (APIs) incorporadas.

Funcionamiento

El funcionamiento desde el AS/400 permite llevar los datos a una hoja con diseño previo o bién crear una hoja completamente nueva. Podemos partir de un spool de As400 y generar un script con el formateo de la hoja o implementar las ordenes directamente en los programas RPG o Cobol.

Lista Básica de Funciones

Lista Resumida de las funcionalidades de API Excel:

Puede usarse este API para utilizar cualquier impresora conectada a un PC o en RED como "simple" impresora receptora de informes sin necesidad de definir esas impresoras en el 400, pero con calidad Excel - Laser.

En cualquier impresora de Red o Usuario pueden imprimirse "listados" con excel pero siendo cumplimentados desde programas de AS.

Sólo este uso concreto puede tener ventajas sobre listados normales:
Más bonito: Fonts, Colores, Boxes, etc definidos en PC.
Obtener Listados en Impresoras de PC sin que el 400 las controle.
Puede desacomplejar programas de 400 por llevar tareas al PC.
En uso con Red/FSIOP/E-Mail/Notes... las hojas pueden distribuirse.
En PC pueden modificarse aspectos de la hoja sin programar en 400.
Capacidad para asociar cálculos, gráficos, etc en Hoja de Cálculo.
Estamos dando soluciones Cliente/Servidor con poco sufrimiento...

Se han implementado diversas funciones en ADP 400 para que se hagan "movimientos" de información entre el 400 y las Hojas de Cálculo. Esto permite a esos programas actuales que crean un frío informe de 400 el ser cambiados para integrarse en un soporte conocido por mucha gente, reconocido y ampliamente usado: Excel y las Impresoras Color/Laser de PC.

Para usuarios que no tengan ADP existe la opcion de usar la funcion CPI Code Preprocessor, que permite incluir sentencias de texto libre en programas RPG.

Al ganar en prestancia, estos informes pueden ser más fácilmente integrados en informaciones a facilitar a Clientes, Empresas del Grupo, etc incluso usando distribución electrónica de PC y Correo Electrónico como Lotus Notes, Internet, CompuServe, MS Exchange, etc.

.topic 13
ADP 400 es un Sistema de Desarrollo de Aplicaciones de CPI SOFTWARE, el cual incorpora soporte de escritura en formato  ADP Free, con el que pueden teclearse macros directas para uso de API Excel. ADP 400 es un Sistema Completo, que incorpora una gran cantidad de funciones integradas para hacer más fácil, rápido y potente el desarrollo de Aplicaciones para el entorno AS/400. ADP 400 incluye Generadores de Codigo Fuente en RPG y Cobol.

.topic 37
ADP Free es un "pseudo lenguaje" incorporado en ADP 400,
y que permite escribir sentencias en un formato de escritura libre.

.topic 43
CELDA ACTIVA
Es la que se ha usado en ultimo lugar para alguna operacion,
tal como una Pos o un Move, etc.

.topic 42
CODIGOS DE FONT

Los codigos de Font permitidos son
 ARI- (Arial)  Esta es la Letra Arial (negrita)
TNR- (Times New Roman)  Esta es la Letra TNR (negrita)
CNEW (Courier New)  Esta es la letra CNEW (negrita)
WING (wingings, simbolos) Simbolos como hlpvx1?¡¿ñ:#"(ou

.topic 6
COLORES VÁLIDOS:
00=Negro  01=Azul  02=Verde  03=Cyan  04=Rojo  05=Magenta 06=Amarillo 07=Blanco
08=Gris  09=Azul+  10=Verde+  11=Cyan+  12=Rojo+ 13=Magenta+  14=Amarillo+ 15=Blanco+
El caracter + significa "mas claro". Los colores recomendados para fondos son los mas claros, como 14.

Fondos Especiales:
Para el Color de Fondo pueden usarse los codigos especiales 51 a 61.
Estos codigos especiales tienen todos mas suaves.
Para conocer bien los codigos de color puede usar el programa CPIcolor.EXE, el cual visualiza todos estos colores.

IMPORTANTE:
El resultado final de este y otros atributos depende de varios factores, tal como el modelo y el estado de la impresora, la forma en que esté instalada (driver usado), el Sistema Operativo del PC e incluso el papel o la tinta/toner usado.

.topic 38
CPI CODE PREPROCESSOR (CPI CPP)
Es una Utilidad de Programación de CPI SOFTWARE que permite incorporar
dentro de fuentes normales RPG la capacidad de incluir líneas "macro" que se
expanden en una o varias sentencias fuente RPG con soporte de variables,
inclusion de lineas asincronas, etc.
Esto permite básicamente escribir una sola linea "macro" y que automaticamente
se expandan en varias, haciendo más facil la incorporacion de sentencias complejas
y no únicas, tal como el caso de API Excel CPI.

.topic 2
Formulas
Funcionalidad de "pegado", importante en fórmulas.
Es util para sumas de varias celdas.
En Excel la suma de varias celdas que no estan en filas consecutivas sería por ejemplo:

        =SUMA(E001;E005;E010;E025;E030;E045)

Se permite el fraccionamiento de esta función, de la siguiente forma:
        - Un primer movimiento de dato con la primera parte que puede englobar una o
         varias celdas terminando con un paréntesis de cierre:
                 =SUMA(E001;E005;E010)
        - Los siguientes movimientos "para pegar" se deben escribir comenzando con
         dos veces el símbolo igual "=" y terminando con un paréntesis de cierre:
                 ==;E025;E030;E045)

.topic 39
NOMBRE DE LA CELDA

Una Celda puede ser referida por su ubicacion (Fila y Columna -Row/Col)
o bien por un nombre asignado previamente. Cuando se trabaja llevando datos
a una Hoja que ha sido previamente diseñada, puede ser muy util mover datos
hacia celdas que tengan asignado un nombre, de forma que si en esa hoja se
cambia de ubicacion ese nombre la funcion de API Excel no necesita cambiarse.

Las Celdas con Nombre son poco usadas, debido a que requieren una planificacion previa.

.topic 41
NOTA SOBRE RESULTADO FINAL

Algunas funciones de aspecto pueden depender de la impresora, la posible
personalización de la impresora, el driver de impresora usado, la version de
Excel, etc. Antes de hacer un gran uso de funciones es mejor hacer pequeñas
pruebas para decidir sobre resultados finales.

.topic 1
Programacion de ApiExcel desde spool

Crearemos un script por cada spool distinto que queremos traspasar a Excel. Para esto usaremos el paso 111 del menú de ApiExcel en el 400.

Programación de Funciones API Excel desde Programas AS/400:

El objeto es usar el Compilador de RPG del AS/400. Para ello pueden definirse funciones de API Excel usando una de las tecnicas siguientes:

ADP 400, que es un Sistema de Desarrollo de Aplicaciones de CPI SOFTWARE, el cual incorpora soporte de escritura en formato  ADP Free, con el que pueden teclearse macros directas para uso de API Excel.
CPI Code PreProcessor (CPI CPP), una utilidad de CPI SOFTWARE que permite incluir sentencias directas de macro especiales de API Excel en programas normales RPG. CPI CPP permite escribir solo una linea por funcion, lo que facilita enormemente el uso de API Excel en programas.
Programacion normal RPG. Aunque esto puede hacerse, NO se recomienda, debido a que es más potente usar al menos CPI CPP si no se cuenta con ADP 400.

La sintaxis y ejemplos de esta documentacion se expresan en modo ADP Free y en modo CPI CPP para RPG.

Para usar de esta forma ApiExcel pongase en contacto con CPI Software

.topic 70

Añade una Row duplicando desde la anterior. Esta función está mejorada con MoveTable.

AddRow,nTabla,*DUP

Esto permitiria que si hay una tabla con 2 rows (1 de cabec y otra de datos) se añade una detras copiando en esta nueva el contenido de la ultima anterior. Por ejemplo, si hay &var& en una fila se repetirian en la siguiente.

Para trabajar con AddRow duplicando variables se necesita quiza:
MoveMode,1
solo reemplaza la primera &var& (no cambiaria la ultima fila insertada)
MoveMode,2
comportamiento normal (omision)
DelRow,numtabla
Borra una row (la ultima)

.topic 20
Borde alrededor de una o varias celdas de una fila (Borde)

Podemos poner un borde a una celda, varias, o a toda una fila.
Se puede combinar una orden de Borde con otra de Font para el fondo del texto.

La orden BordeA tiene el mismo formato y oarametros

Parm2		tiene una longitud de 5 posiciones desglosando la información como sigue:
01-01 - (un guión)
02-03 Color del borde. mismo código de color que Font
04-04 Grosor del Borde. De 1 a 4.
05-05 Estilo.
1=Continuo  2=Rayas  3=Puntos
4=Rayas+Puntos  5=Raya+Punto+Raya
6=Gris   7=Doble 8=Auto

Parm3		Columna desde hasta en formato ddhh, tal como 0307 para "columnas 3 a 7"

ejemplo:		 Borde,-0428,0307

                NOTA sobre resultado final

.topic 21
Borde Alrededor, sin verticales en el ámbito de celdas (BordeA)

Si se pone un BordeA a un ambito de varias celdas el borde aparece altededor de todas ellas, pero no en la vertical de cada celda.
La combinación con el Font es más restringido.

El formato es el mismo que Borde.

Parm2		tiene una longitud de 5 posiciones.
01-01 - (un guión)
02-03 -- (dos guiones) No hay uso de color en BordeA
04-04 - (un guión). No hay uso de Grosor.
05-05 Estilo. Solo se usan los códigos
1=Continuo  2=Rayas  3=Puntos  7=Doble

Parm3		Columna desde hasta en formato ddhh, tal como 0307 para "columnas 3 a 7"

ejemplo:		 BordeA,-----1,0307

                NOTA sobre resultado final

.topic 48
Activar opciones de Calculo de Formulas.

- sin parámetro: Calcula Inmediatamente.

- con parámetro 0 (cero) Activa Calculo Manual (no se hacen calculos automáticos)

- con param 1 (uno): Activa Calculo Automático.

.topic 36
Action Close. Cierre de una Hoja

Función de cierre de una hoja.
Especialmente indicado para un comienzo en modo 'NoAuto'.

parm2		admite 'Y', 'N', '?', siendo Y=Yes(SI) N=No ?=Preguntarlo al usuario final.

ejemplo:		Close,Y

.topic 25
Crear Cuadro de Texto (CrtTx)

Esta función permite crear un cuadro de texto y darle nombre para despues mover
contenido con Move+.

Parm2		nombre del Cuadro de Texto
Parm3		contiene las dimensiones del cuadro de texto.
El formato es aaabbb siendo aaa el ancho y bbb el alto.
Este cuadro de texto tiene ajuste automático al contenido del dato que se le
mueva posteriormente.

El cuadro se crea en el lugar donde esté la celda activa.

ejemplo:	CrtTx,Box37,079015

                NOTA sobre resultado final

.topic 29
Suprimir una columna (DelCol)

Se suprime la columna en la que hay una celda con ese nombre o bien la columna indicada.

Parm2		 nombre de celda o numero de columna en formato cc.

ejemplos:		DelCol,nomcel,
            DelCol,01

.topic 28
Suprimir una fila (DelRow)

Función de supresión de la fila en la que se haya una celda con ese nombre
Solo cuando se parte de un prediseño de hoja Excel, pues se debe indicar un nombre de celda.

Parm2		 nombre de celda.

ejemplo:		 DelRow,nombre

.topic 30
Suprimir un cuadro de texto (DelTx)

Se suprime un cuadro de texto con ese nombre.
Solo cuando se parte de un prediseño de hoja Excel, o bien para un cuadro creado previamente con crtTX.

Parm2		nombre del cuadro de texto.

ejemplo: 	DelTx,box37

.topic 9
End

Función de finalización de API. No usa más parámetros que el de la propia función.

ejemplo:		End

.topic 19
Definición de Font, Atributos y Colores (Font)

Esta función permite definir un font (tipo de Letra), cambiar el tamaño de font y dar atributos como negrita, ajustes colores etc.

Parm2		14 posiciones desglosando la información como sigue:
01-04 Codigo de Font (ARI- o TNR- o CNEW o WING o ---- para no cambiar)
05-05 - (un guión)
06-07 Tamaño. Admite entre 05 y 50 (00 para no cambiar). también +n y -n para aumentar o 	disminuir  el tamaño.
08-10 Atributos N=Negrita, I=Itálica, S=Subrayado, 		F=Relleno iz/dcha C=Centrar, R=Dcha, L=Izq,   J=Justificado V=VerticalJustificado CV=Ajuste horiz + vert.
11-12 ColorTexto de 00 a 15 ó -- para no cambiar
13-14 ColorFondo de 00 a 15 (y 51 a 61) ó -- para no cambiar.

Parm3		5 posiciones desglosadas de la siguiente forma:
01-02 Columna desde (como 01,04...)
03-04 Columna hasta (07, 11...)
05-05 una C para cambiar atributos a una columna (o columnas) entera.Si no se usa C el Font es 	para la celda/fila activa

ejemplo:		 Font,ARI--12NS-0014,0107

.topic 23
Edición en contenido de celdas (Format)

Esta función permite editar celdas con contenido numérico o celdas con texto.

Parm2		es un código de edición de Excel, por ejemplo:
        "#,##0" ó "#,##0.00" (Se permite ¤ a izqda o dcha)
        "#,##0¤);[Red](#,##0)" (pone negativos en rojo)

        Para simplificar puede usar formatos automáticos:
            *numsd2 o EC o *EC		"#,##0.00;[Red]-#,##0.00"
            *numd2  		 		"#,##0.00"
            *numsd0 o PC o *PC		"#,##0;[Red]-#,##0"
            *numd0				"#,##0"
            *alfa					"@"

Parm3		Columna desde hasta. Si se desea editar todas las filas se pone una C en la
        posición 5ª (ej: 0505C).
        En caso contrario se edita las columnas de la fila activa.

ejemplo:		 Format,codedi,cdch

.topic 26
Pegar una Imagen (Image)

Se permite incorporar Logos, Fotos, etc.

Parm2		nombre del fichero que contiene la imagen. Si no se da extensión se asume
        la extensión .BMP.
Parm3		puede contener:
        ' ' =  el  fichero  está  en  el  directorio  de  los programas API
        '*USER' = el  fichero  está  en  el directorio USER bajo los programas
        'path' = el fichero está en este path.

ejemplo:		 Image,MiLogo,*User

.topic 18
Insertar una Fila (Insert):

Data		nombre de la celda delante de la cual se insertará una fila.

La fila insertada toma los atributos de la fila anterior a la de la celda nombrada.

ejemplo:		 Insert,nombre

.topic 46
Unir varias celdas en una.
Otro Nombre Válido: MergeCel

Permite definir un grupo de varias celdas que se tratarán como una.
p.e. si unimos tres celdas en una y colocamos un texto centrado en la primera de ellas conseguimos un texto centrado perfecto a traves de las tres celdas.

equivale a la función Excel    si ademas se emite un Center Font.

Parametros (usar sólo uno de los dos):
1.- indicar el rango de celdas en formato E3:G3 por ejemplo.
2.- otro formato quizá más fácil (sólo para Fila Activa, debe hacerse antes un Move p.e.) es indicar las columnas desde y hasta con cuatro posiciones numericas, tal como 0105 (columnas 1 a 5).

ejemplo:		MergeCel,,0105
            MergeCel,A9:J9,

.topic 4
Move+ y Move+A

Función de movimiento de un dato.
Sustituir + por X en caso de datos alfanuméricos, y por N en caso de datos numéricos.

Row		admite fila
            admite *Name para Mover a una Celda con Nombre
            admite *NameTx en el caso de mover dato a un cuadro de texto. .
Col		admite columna o el nombre del *Name o *NameTX.
Data		es el dato a mover.
Dec		para datos numéricos indica el número de decimales.

Si despues de MoveX o MoveN se pone una A indica que la función de mover siguiente
es en la celda de la derecha.

ejemplo:
        @XL_MoveX Row('01') Col('01') Data('Fecha:')
        @XL_MoveN Row('01') Col('02') Data(wfecha) Dec(0)
        @XL_MoveXA Row('01') Col('01') Data('Fecha:')
        @XL_MoveNA Row('01') Col('02') Data(wfecha) Dec(0)
        @XL_MoveX Row('*NameTx') Col(nomtx) Data('Empresa')

.topic 60
Permite soportar tablas de word directamente.

MoveTable,nTabla,Row,Col,Valor
pone texto en una celda sin necesitar &var& y añade row (fila) si necesita.

ejemplo: 	MoveTable,1,7,4,www.cpis.es
mueve a la tabla 1 (las tablas se numeran en word por orden de uso), fila 7, columna 4 el texto.

Por tanto es una op muy flexible cuando se genera script de API Word directo desde un programa.

AddRow,nTabla,*DUP
añade una Row duplicando desde la anterior
(quiza es mejor MoveTable?)
Esto permitiria que si hay una tabla con 2 rows (1 de cabec y otra de datos) se añade una detras copiando en esta nueva el contenido de la ultima anterior. Por ejemplo, si hay &var& en una fila se repetirian en la siguiente.

Para trabajar con AddRow duplicando variables se necesita quiza:
MoveMode,1
solo reemplaza la primera &var& (no cambiaria la ultima fila insertada)
MoveMode,2
comportamiento normal (omision)
DelRow,numtabla
Borra una row (la ultima)

.topic 12
Apertura de una hoja (Open)

Especialmente indicada para un comienzo en modo 'NoAuto'

parm2		admite 'VISIBLE', 'MIN', 'HIDE' y ' '.
parm3		número de hoja, ' ' y '*NEW'. Este último para crear nuevas hojas.

ejemplo:		 Open,MIN,*NEW

.topic 47
PageBreak, Insertar Salto de Página.

Inserta un salto de página antes de la fila (row) activa.

No hacen falta parámetros

.topic 22
Pausa (Pausa)

Efectúa una pausa en el PC mostrando el contenido de una campo.

ejemplo:		 Pausa,campo

.topic 17
Posicionamiento en una Celda con Nombre (Pos)

Pone activa una celda sin moverle nada
Esta funciòn se usa cuando se parte de un prediseño de una hoja Excel.

Data		Nombre de la celda que se activa.

ejemplo:		 PosSaldo

Vea tambien Action PosX para hacer posicionamiento sin Nombre (utilizando Fila y Columna).

.topic 44
Posicionamiento en una Celda -Fila,Columna- (PosX)

Pone activa una celda sin moverle nada

Data		Fila donde está la Celda a Activar.
Data2		Columna donde está la Celda a Activar.

ejemplo:		Pos,12,3

Vea tambien Action Pos para hacer posicionamiento con Nombre (para Hojas PreDefinidas).

.topic 32
Imprimir la hoja activa (Print)

Dar la orden de impresión de la hoja activa.

Permite definir la impresora a usar.

Los parámetros de Print son:

Print,yes/no,WaitSegundos,Copies,Printer,DuplexH/V/0

prm2 	con NO se evita imprimir, otra cosa imprime.
prm3 	segundos de espera tras imprimir
prm4 	Num de Copias
prm5 	Impresora a usar (trozo de nombre)
prm6 	Duplex
DuplexH hace Duplex Horizontal
DuplexV hace Duplex Vertical
Duplex0 evita Duplex

.topic 10
Salvar una hoja (Save)

Salvar la hoja Excel (fichero .xls). El nombre y path dependen de la interface usada.

No tiene uso en apertura de hoja modo *NEW (no normal con *New es usar SaveAs)

ejemplo:		 Save

.topic 15
Salvar y Dar nombre a una hoja (SaveAs)

Función SaveAs de la hoja Excel.
Especialmente indicado en creacion de hoja completamente nueva (*New).

Data		admite *SOURCE, *TARGET, *PGM, *USER, o un path válido.El valor especial *USER usa 		el directorio dentro del directorio donde está el programa CPI instalado. el valor *PGM usa el 		directorio donde está API Excel instalada (no debe usarse). Recomendamos usar *USER o 		un path sencillo como C:.

Data2		nombre de la hoja excel sin extensión. Si se usa una extensión htm o html la hoja se salva en 		formato compatble con Browser de Internet.

ejemplo: 		SaveAs,*USER,MiHoja

        se permite el valor especial ?? para visualizar el dialogo Excel asociado a la función.

.topic 31
Funciones de Impresion (SetPrint)
Permite varias posibilidades en cuanto a la preparación para la impresión como el
el alineamiento, centrado, cabeceras y pies de la hoja, permite actuar sobre márgenes
etc.

        Alineación Vertical u Horizontal:
Alineación de la hoja.Use LAND para imprimir en papel apaisado, a lo ancho. Esto permite que se vean mas columnas en el informe. o PORT para modo Portrait (vertical o normal).

        Parm2		admite 'PORT' para vertical y 'LAND' para horizontal.
        ejemplo:		 Setprint,LAND,

        Centrado al imprimir:
Función de Centrado de la hoja al imprimir.
        Parm2		'CenterV' centra vertical y 'CenterH' centra horizontal.
        ejemplo:		 Setprint,center,

        Cabeceras y Pies de la hoja:

Permite definir hasta  3 cabeceras y 3 pies a la hoja.
        Parm2 texto de las cabeceras y pies. Se admiten controles dentro del texto: &I=Itálica  	&B=Bold(Negrita)   &U=Underline    &D=Date  &T=Time  &F=File   &A=TabName   &P=Page  	&N=Pages    *PATH=Dir  *USER1=Empresa Registrada en Excel  *USER2=Usuario Registrado 	Excel.
        Parm3 nombres de las cabeceras y pies. 'cab1' cabecera izquierda     'pie1' pie de página izquierdo 	'cab2' cabecera central    'pie2' pie de página central   'cab3' cabecera derecha       'pie3' pie de 	página derecho

        ejemplo:		 Setprint,texto,Cab1

        Imprimir en Blanco y Negro (Black&White):
Impresión en blanco y negro, sin grises.(no recomendable)
        Parm2		'BW'
        ejemplo:		 Setprint,BW,

        Impresión de Grid
Podemos activar o desactivar la impresión de Grid (rayado de separacion de celdas).
        Parm2		'Grid'
        Parm3		'Y' para activar y 'N' para desactivar.
        ejemplo:		 Setprint,Grid,Y/N

    Repetir Cabeceras
Util cuando hay muchas filas y al imprimir no caben en una sola hoja .
        Parm2 		'RepCab' o 'RepiteCab'
        Parm3 		ámbito de filas a repetir. Se puede indicar de diferentes formas: 'Rn:Rn' o 'Ln:Ln' o 	'$n:$n'.
        ejemplo:		 Setprint,RepCab,ambito

        Repetir Columnas
Util en casos en que la hoja contenga más columnas de las que saldrían en una hoja al imprimir.
        Parm2		'RepCol' o 'RepiteCol'
        Parm3		ámbito de columnas a repetir. Se puede indicar de la siguiente forma: 'A:C'
        ejemplo:		 Setprint,RepCol,ambito

        Definir Margenes papel
Permite indicar el nùmero de puntos de impresora (en mediciòn 1/72 de pulgada) a usar como margen del papel.
        Parm2 		'Marg?' Tomando la ? los siguientes valores según las agujas del reloj.: 		1=Izquierda  2=Arriba  3=Derecho  4=Abajo
        Parm3 		medición: 72=pulgada (2.4 cm)  36=media (1.2 cm)  18=cuarto (0.6 cm)
        ejemplo:		 Setprint,Marg1,72

.topic 16
Activar una hoja del libro Excel (Sheet)

Activa una hoja

        Parm2		número de la hoja (Tab) que se activa.
        Parm3		nombre a asignar a la hoja (Tab). Si se deja en blanco no se cambia el nombre.

ejemplo:		 Sheet,3,Resumen

Un Fichero Excel (extension .XLS) es un "Libro" (WorkBook), y un Libro puede tener varias "Hojas".
Puede existir algo de confusión porque antes un fichero excel era una sola hoja.
Tal como vemos en el grafico, podemos tener un Documento o Libro Excel que contiene varias "Hojas" (Tabs)
Con API Excel podriamos generar p.e. un informe por cada zona de ventas en cada Hoja o Tab y generar otra hoja/tab como Resumen.

ADICION AUTOMATICA DE HOJAS en un Libro.

Cuando se utiliza Sheet para usar una Hoja/Tab que no existe, API Excel automáticamente la inserta.
Por ejemplo, si un Libro nuevo se abre con 4 hojas y se quiere usar la 5.

    En realidad esto no es totalmente así, ya que las inserciones de hojas se producen delante de la ultima. p.e. si un libro comienza con 4 hojas, al querer usar la 4 se inserta una antes de la ultima porque siempre debe qujedar una "detras". Tenga en cuenta este comportamiento si usa inserciones de hoja.

.topic 24
Aumento o Disminución del Ancho de columnas (SizeCol)

    Parm2: Se admite n, y +n, -n para aumentar/disminuir tamaño. Una columna  tipo de Excel tiene un tamaño de 12 aprox. Si se pone '00' se ajusta al dato al tamaño ocupado (AutoSize).
    Parm3: Columna desde hasta en formato ddhh (4 posiciones)

Tener en cuenta que el cambio es para todas las filas.

Ejemplo:	SizeCol,+2,0202
            SizeCol,00,0209

Como ajustar tamaño a AutoSize (SizeCol 0) permitiendo además Textos Grandes (Titulos, etc).
Haga todos los movimientos que desee ajustar a su tamaño usado, haga un SizeCol 0 y luego haga los moves de Titulos Especiales. El SizeCol Autosize solo deberia cambiar el tamaño de las columnas movidas antes del SizeCol.

NOTA:
El parametro Parm3 NO debe llevar la C detras del ambito de columnas.

.topic 27
Cambiar el Alto de una Fila (SizeRow)

Esta función permite cambiar el alto de la fila activa dando un valor absoluto o relativo.

        Parm2		admite n y +n

Ejemplo: 	SizeRow,20
        pone tamaño fijo de 20 a la fila activa
            SizeRow,+5
        aumenta el alto de la fila en 5 unidades (lo suma al tamaño que tuviera)

NOTA:
Operacion poco usada, porque generalmente se cambia el tamaño al cambiar atributos como Font.

.topic 8
Start

Función de comienzo de API Excel.
Esta operacion debe ejecutarse una sola vez y antes de cualquier otra de API Excel.

Parm2		'Auto'		puede definir una Interfase que se ejecuta desde Pc o una Interfase que
                se ejecuta desde 400 con búsqueda de fichero interf.@XW.
        'NoAuto'	desde 400 sin búsqueda de fichero interf.@XW.
Parm3		nombre del script de 400.

ejemplo:		Auto,mbrscr)

.topic 11

CPI  SOFTWARE ®

Telf: 91.535.41.35 - FAX: 91.535.40.26
internet: www.cpis.es
E-Mail: info@cpis.es

Productos CPI

.topic 40

Productos CPI:

Power Images 400.
Permite integrar funciones de Imagenes y Gestion Documental, con soporte para escaneado y presentación de imágenes.

iWriter & Fax 400
Sistema de Gestion de Oficina con Procesador de Textos, soporte de impresión Laser y Gestion de Faxes, incluyendo APIs de conectividad con otras Aplicaciones y Programas.

API Excel 400.
La Conexión más potente entre las Aplicaciones AS/400 y la Hoja de Calculo Excel de Microsoft. No sólo conectividad por transferencia de ficheros, sino la mas impactante capacidad de resultados. La mejor forma de obtener información corporativa. Conectividad directa con programas con nuestras APIs.

Cooperative Print 400 (CoPrint).
Cooperative Print 400 (CoPrint) es una solución Cliente / Servidor para imprimir información del Ordenador Central IBM AS/400 sobre Impresoras compatibles con PC-MS-Windows, consiguiendo una alta calidad y funcionalidad en documentación impresa.

CASE ADP 400.
Un Sistema de Desarrollo de Aplicaciones completo, incuyendo Diseño de Bases de Datos y Generación de Código Fuente, con multitud de ricas funciones automáticas y Diccionario Activo con Regeneración para Mantenimiento.

Nominas y Gestion de Personal.
Un Sistema de Gestion Integrado, contemplando todas las funciones necesarios en Gestion de Personal y Nominas. Enriquecido con Power Images, API Excel y Cooperative Print para permitir Fotografias de Personal, Informes Excel, Recibos con formulario Electronico, etc.

Gestion Contable.
Una Aplicacion de Contabilidad extraordinariamente flexible, eficiente y facil de usar y con una gran capacidad de interfaces para conectividad desde otras aplicaciones, informes diseñados por usuario, así como innovaciones Cliente/Servidor como API Excel, etc.

Gestion de Activos Fijos - Inmovilizado.
Permite controlar los Activos de multiples compañias, permitiendo la conectividad con cualquier Sistema Contable para la Generacion de Movimientos.

Action Menu 400.
Es un diseñador de Menús en el modo Action Bar & Pull Down Windows realmente flexible y facil de usar que cuenta con innovadoras funciones.

Software de Aquí