Documentos de Académico
Documentos de Profesional
Documentos de Cultura
en Codeigniter
http://www.seidengroup.com/toolkit/
https://es.slideshare.net/aseiden/new-php-toolkit-from-zend-and-ibm-open-
source-on-ibm-i
https://www.youtube.com/watch?v=A9L5IJQvoJE
En estos enlaces se define claramente la funcionalidad de PHP Toolkit para
IBM i, son excelentes materiales prácticos del uso de esta librería, ya que en
este artículo solo veremos como configurarlo para que funcione
correctamente en Codeigniter.
Desarrollo
PHP Toolkit para IBM i nos permiten ejecutar programas RPG en los sistemas
AS-400 de IBM, dándole una gran fortaleza a los programas escritos en php
para estos Sistemas Operativos.
Codeigniter es un framework sencillo y muy fácil de adaptar a diferentes
escenarios y los sistemas As-400 son uno de estos escenarios donde no
cualquier framework puede trabaja eficazmente.
Descargar PHP Toolkit para IBM i:
https://github.com/zendtech/IbmiToolkit
Descargamaos Codeigniter:
https://codeigniter.com/download
Configuración:
Nos dirigimos a application - > libraries y copiamos dentro el paquete que
hemos descargado (ToolkitApi).
Para poder usar este librería en nuestro proyecto solo debemos incluir la clase
ToolkitService: 'ToolkitService' es la clase principal, que gestiona las
conexiones y la comunicación. Incluye métodos para manejar las conexiones,
las opciones del kit de herramientas, los comandos CL, las llamadas a
programas y los objetos relacionados, como los parámetros del programa.
La clase ToolkitService usa los siguientes métodos / funciones:
http://files.zend.com/help/Zend-Server-IBMi/content/toolkit_service_class.htm
Con esta función podemos definir los tipos de los parámetros que pasamos a
las funciones que vamos a ejecutar dentro del As-400.
include(APPPATH.'libraries/ToolkitApi/ToolkitService.php');
$extension='ibm_db2';
//--Conection intance
try
{
$ToolkitServiceObj = ToolkitService::getInstance('S65F316D',
'WEBPROD','WEBPROD1', $extension);
}
catch (Exception $e)
{
$ansrw=['error'=>$e->getMessage()];
echo json_encode($ansrw);
exit();
}
$ToolkitServiceObj-
>setToolkitServiceParams(array('InternalKey'=>"/tmp/Webtest"));
//--Parameter Value
$SysValueName = 'P56RCI';
$VERS= 'VERS0001';
//--Add Parameter
$param[] = $ToolkitServiceObj->AddParameterChar('both', 10,'Program
ID','PROGRAMID', $SysValueName);
$param[] = $ToolkitServiceObj->AddParameterChar('both',
10,'Version','VERSION', $VERS);
//--Call the Program
$OutputParams = $ToolkitServiceObj->PgmCall('J56RCI','CUSTOBJ', $param, null,
null);
//Close Session
$ToolkitServiceObj->disconnect();
//--Evaluate result
if( isset($OutputParams))
{
$ansrw=['menssage'=>'success'];
echo json_encode($ansrw);
exit();
}
else
{
$ansrw=['menssage'=>'failed'];
echo json_encode($ansrw);
exit();
}
}