ID: 24465 Comment by: postings-php-bug at hans-spath dot de Reported By: artpego at hotmail dot com Status: Open Bug Type: COM related Operating System: Windows XP SP1 PHP Version: 4.3.2 New Comment:
Maybe this helps you: http://www.phpbuilder.net/columns/alain20001003.php3?page=3 Look for "$cell". However, I think this is not a bug, but a support question. So this is not the appropriate place to ask. Previous Comments: ------------------------------------------------------------------------ [2003-07-03 00:45:49] artpego at hotmail dot com Do not dismiss this so quickly as not understanding PHP syntax. I am a very compentant PHP coder for a large company (a company which I am trying to show that PHP can replace their horrible asp/VB systems for accessing SAP). I understand PHP syntax very well and that using: $optionAdd(1,"TEXT")="FCURR = 'NTD'"; Will cause a parse error ##using an equal '=' sign after what php would see as a funtion call is impossible## None the less, I have not found a way to assign this value. The whole point is that I have to assign a value to a co-ordinate: TABLE COL1 ROW1 #VALUE# this co-oridinate/value is represented by (1,1) I can retrieve the default value assigned to this co-ordinate by using: $myValue=$optionAdd->value(1,1); ## LEGAL, I get my value back I am unable to ASSIGN a value since every time I try it would be hurting the parser's feelings or breaking the metods rules. $optionAdd->value(1,1)="Some Text"; Unexpected '=' Error $optionAdd->value="Some Text"; propput failed invalid index $optionAdd->appendRow(1,1); $optionAdd="Some Text"; Invalid number of arguments appendRow The list goes on and on. I have spent more time than I can imagine hunting for ways to modify my script. I have researched the SAP COM methods for alternate solutions, I have studied examples in every other language, I tried everything I know how to do. I cannot do this. If you it is as simple as not understanding PHP syntax, then show me how it is done, otherwise, tell me why it can't be done. ------------------------------------------------------------------------ [2003-07-02 21:38:38] [EMAIL PROTECTED] Learn PHP syntax first. ------------------------------------------------------------------------ [2003-07-02 15:01:15] artpego at hotmail dot com Description: ------------ This is caused while using the "RFC_READ_TABLE" remote function call for SAP R/3. The ability to add a value to a temporary table at a specified row and column is required. Reproduce code: --------------- $funSap=new COM("SAP.Functions") or die ("Did Not Create"); $myFun=$funSap->Add("RFC_READ_TABLE"); $optionAdd=$myFun->Tables("OPTIONS"); $optionAdd->AppendRow(); $optionAdd(1,"TEXT")="FCURR = 'NTD'"; Expected result: ---------------- The script above supposed to do the following: a) $optionAdd=$myFun->Tables("OPTIONS") ## CREATE A TABLE NAMED OPTIONS. b) $optionAdd->AppendRow() ## METHOD CALLED TO ADD A BLANK ROW TO THE OPTIONS TABLE c) $optionAdd(1,"TEXT")="FCURR = 'NTD'" ## ASSIGN THE VALUE "FCURR = 'NTD'" TO THE OPTIONS TABLE (ROW 1, COLUMN1)==(1,"TEXT") Actual result: -------------- ## ERROR -> parse error, unexpected '=' in line ... This is due to the line $optionAdd(1,"TEXT")="FCURR = 'NTD'" I have tried countless combinations, read every piece of documentation, searched the internet for over a week and can see exambles in every other language doing exactly this with COM objects (VB,Java,PERL,Etc). Every other part of the script works a) I can connect to SAP b) I can query functions and tables and get results However: If I am unable to use the portion of the script listed above, there is no way to limit my queries through a "WHERE CLAUSE" or even select specific fields... This means my query results would return every row from the entire table (some have millions of entries) and there is a buffer width of 512 Bytes that can not be exceeded for each row. Your assistance will be greatly appreciated. Michael ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=24465&edit=1