 |
พี่ครับ อยากทราบว่าถ้าเราจะ CALL Program RPG ด้วย PHP มันสามารถทำได้ไหมครับ พี่ช่วยแนะนำผมหน่อยครับ |
|
 |
|
|
 |
 |
|
การ matching ค่าสีนี่ มันต้องทำด้วยภาษา RPG เท่านั้นเหรอครับ อัลกอริธึ่มมันเป็นอย่างไร มันลำบากมากหรือไม่หากจะเขียนโปรแกรมนั้นใหม่ด้วย PHP?
|
 |
 |
 |
 |
Date :
2013-12-18 14:06:31 |
By :
K |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถามว่ามันยากไหม ผมว่า ยากมากเลยครับ เพราะสูตรมันต้องฝังไปใน SQL STATEMENT if then else ประมาณ สิบสามรอบ ถ้าจำไม่ผิด
ข้างใน if then else มันก็มีสูตรคำนวน ทางคณิตศาสตร์ อีก join ตาราง สร้าง table temp ขึ้นมาเอาอีก เกินความสามารถผมจริง ๆผม คงไม่เก่ง SQL Statement ด้วย แค่ Select ซ้อนกันห้าหกรอบ ผมก็ไปไม่เป็นระครับ ยังจะสูตรทาง วิดวะอีกเห้อ เลยหา solution นี้
เพราะ ผมลองเขียนผ่าน ASP แล้ว คำนวนออกมา มันใช้ไม่ได้เลย
หลักการมัน ซับซ้อนมาก แต่ถ้าเขียนบน AS/400 มันจะเก่งเรื่องคำนวนครับ เอาแนวคิดนี้ให้ ว่าให้ฝั่งเว็บส่ง พารามิเตอร์เข้าไปในโปรแกรม RPG แล้วสั่งให้มันนทำงานหลักการคร่าวๆหนะครับ ผมเลยจะลองหา solution แต่มัน ก็ยังไม่ได้ถ้าจะให้เขียนอธิบายมันยาวมาก
|
 |
 |
 |
 |
Date :
2013-12-18 15:02:20 |
By :
ศราวุธ007 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คงต้องถามคนที่เขียนโปรแกรมนั้น หรือคุ้นเคยกับภาษา RPG และระบบ AS400 อะไรนั่นล่ะครับ
อย่างผมก็ไม่เคยใช้ระบบนั้น และไม่เขียนภาษา RPG คงตอบไม่ได้เลย แค่นึกภาพยังไม่ออกเลยครับ
|
 |
 |
 |
 |
Date :
2013-12-18 18:17:05 |
By :
K |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองไอ้นี่ยังครับ
http://www.easy400.net/cgidev2/start
|
 |
 |
 |
 |
Date :
2013-12-18 21:13:16 |
By :
num |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมหาข้อมูลเจอระครัช คือถ้า ใช้ PHP จะต้องลง Zend SERVer ฝั่ง AS/400 มันจะคุยกันผ่านช่องทาง API ของ ไอบีเอ็ม กับ Zendserver ที่ร่วมกันพัฒนา มันง่ายมากแค่ใช้คำสั่ง
-ของ php แต่ตอนนี้ผมทำอะไรกะฝั่ง AS/40 ไม่ได้เลยต้องหา solution ไหม่ คือใช้ ASP COMMAND เข้าไปแต่ก็มีข้อจำกัดอีก เห้อ ไม่น่ารับปากทำโปรเจคนี้เลย 5555555555
ขอบคุณพวก พี่ ทุกท่านนะครัช
ปีใหม่แล้วขอให้ได้โบนัสกันเยอะ ๆนะครัช ^_^
Code (PHP)
<?php
// php zzquicklibl.php
// Set-up:
// strsql
// > create table adc/adconly(id integer, info varchar(32))
// Table ADCONLY created in ADC.
// > insert into adc/adconly(id, info) values(1,'adc libl')
// 1 rows inserted in ADCONLY in ADC.
// Works fine on IBM i (not LUW) ...
// > cd /MYASP2/www/zend2/htdocs/tests/xmlservice
// > php zzquicklibl.php -- $i5systemnaming = true
// 1,adc libl
// > php zzquicklibl.php -- $i5systemnaming = false
// Bad exec direct (select * from adconly): ADCONLY in DB2 type *FILE not found. SQLCODE=-204
// connection
$i5systemnaming = false;
$i5persistentconnect = false;
$database = 'LP0264D'; //LINUX side (db2cli.ini)
$user = 'DB2';
$password = 'XXXXXXX';
$options = array("i5_naming"=>DB2_I5_NAMING_ON);
// connect
if ($i5persistentconnect) {
// $conn = db2_connect($database,$user,$password) // $options not valid LUW
if ($i5systemnaming) $conn = db2_pconnect($database,$user,$password,$options);
else $conn = db2_pconnect($database,$user,$password);
}
else {
// $conn = db2_connect($database,$user,$password) // $options not valid LUW
if ($i5systemnaming) $conn = db2_pconnect($database,$user,$password,$options);
else $conn = db2_connect($database,$user,$password);
}
if (!$conn) die("Bad connect: $database,$user \n");
// **** set the IBM i libl
// Works correctly PHP on IBM i ...
// Will not work PHP Linux/Unix/Windows (LUW) vis DB2 Connect ...
// $conn = db2_(p)connect($database,$user,$password)
// Error #1 - system naming ($i5systemnaming = true)
// $ php zzquicklibl.php
// Bad exec direct (call qsys2/qcmdexc('CHGLIBL LIBL(ADC XMLSERVICE) CURLIB(ADC)',40)):
// [IBM][CLI Driver][AS] SQL0969N There is no message text corresponding to SQL error
// "-5016" in the message file on this workstation. The error was returned from module
// "QSQRPARS" with original tokens "QCMDEXC".
// SQLSTATE=42833 SQLCODE=-5016
$curlib = "ADC";
$libl = "ADC XMLSERVICE";
$cmd = "CHGLIBL LIBL($libl) CURLIB($curlib)";
$cmdlen = strlen($cmd);
if ($i5systemnaming) {
$sql = "call qsys2/qcmdexc('$cmd',$cmdlen)"; // system naming '/'
}
else {
$sql = "call qsys2.qcmdexc('$cmd',$cmdlen)"; // sql naming '.'
}
$stmt = db2_exec($conn,$sql);
if (!$stmt) die("Bad exec direct ($sql): ".db2_stmt_errormsg()."\n");
// **** fetch table only in library ADC
// Works correctly PHP on IBM i ...
// Will not work PHP Linux/Unix/Windows (LUW) vis DB2 Connect ...
// $conn = db2_(p)connect($database,$user,$password)
// Error #2 - sql naming ($i5systemnaming = false)
// $ php zzquicklibl.php
// Bad exec direct (select * from adconly):
// [IBM][CLI Driver][AS] SQL0204N "DB2.ADCONLY" is an undefined name.
// SQLSTATE=42704 SQLCODE=-204
$sql2 = "select * from adconly"; // unqualified object
$stmt = db2_exec($conn,$sql2);
if (!$stmt) die("Bad exec direct ($sql2): ".db2_stmt_errormsg()."\n");
while ($row = db2_fetch_array($stmt)){
echo implode(",", $row)."\n";
}
?>
|
 |
 |
 |
 |
Date :
2013-12-19 13:48:01 |
By :
ศราวุธ007 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|