Codigo para APIs de Programacion para API Office.
TFXLMW1CL CLP MiniExcel Test
PGM DCL &MBR *CHAR 10 VALUE('WMINIEXCEL') /* NOMBRE FILE IFS Y HOJA EXCEL */ DCL &LIB *CHAR 10 VALUE('TEXTCPIU') /* BIB PARA FILE WORK */ DCL &FILE *CHAR 10 VALUE('APXLSWF') /* FILE WORK */ dcl &dirExe *char 50 value('cpiExcelMiniGen.exe') dcl &cmd *char 160 dcl &IP *char 15 /* IP O HOSTNAME DEL 400 */ dcl &m78 *char 78 dcl &d21 *char 21 /* datos generales del informe */ DCL VAR(&PC ) TYPE(*CHAR) LEN(10) value(' ') /* pc server coprint */ DCL VAR(&TIT1) TYPE(*CHAR) LEN(250) value('Test MiniExcel') /* titulo */ DCL VAR(&TIT2) TYPE(*CHAR) LEN(256) value('CPI Software') /* subtitulo */ /* aqui se pone el path a grabar, puede ser *md o *tmp o una carpeta */ DCL &EMAIL *CHAR 80 value('*TMP') /* Solo Path PARA XLS */ DCL &DirIfs *char 40 value('/tmp/xls/') /* DIR IFS PARA SCRIPT */ @msg24c 'test MiniExcel... 1.' @CHKPFM LIB(&LIB) FILE(&FILE) MBR(&MBR) OPTION(CLR) DDSL(CPI@API) OVRDBF FILE(APXLSWF) TOFILE(&LIB/&FILE) MBR(&MBR) CALL TFXLMW1 DLTOVR APXLSWF @msg24c 'test MiniExcel... 2.' CALL TFXLM1CL PARM(&PC &LIB &FILE &MBR &TIT1 &TIT2 &EMAIL &DirIfs 'V') /* Ejecutar MiniExcel */ RTVDTAARA DTAARA(TEXTCPIU/CPI@XL (721 15)) RTNVAR(&IP) chgvar &cmd (&DirExe *bcat '\\' *tcat &IP *tcat &DirIfs *tcat &mbr *tcat '.txt') chgvar &m78 &cmd @msg24c &m78 /* call @pause &d21 */ call @PCPGM3 ('*CMD' &cmd 'CPIMEX') ENDPGM
TFXLMW1 RPGLE CoPrint MiniExcel. Test
H DECEDIT('0.') FAPXLSWF O A E DISK D DS DWFD 1 7920 DSWFD 1 7920 DIM(99) D DS DWFT 1 396 DSWFT 1 396 DIM(99) /free wfTILI = 'H'; swfD(1) = 'Col 1'; swfD(2) = 'Col 2'; swfD(3) = 'Col 3'; swfD(4) = 'Fecha'; WRITE RAPXLSWF; wfTILI = 'D'; swfD(1) = 'Prueba'; swfD(2) = 'Datos de prueba y tal y tal'; // swfT(3) = 'N'; swfD(3) = '1234567.90'; swfT(4) = 'D8'; swfD(4) = '31-11-2012'; WRITE RAPXLSWF; swfD(1) = 'Mas'; swfD(2) = 'Comercial de Productos Informaticos, S.A.'; // swfT(3) = 'D'; swfD(3) = '123456.89'; swfD(4) = ''; WRITE RAPXLSWF; wfTILI = 'T'; //linea de total swfD(1) = ''; swfD(2) = ''; swfD(3) = '987654.21'; // swfT(3) = 'D'; swfD(4) = ''; WRITE RAPXLSWF; *inlr = *ON; /end-free