-
Notifications
You must be signed in to change notification settings - Fork 9
/
ChangeLog
272 lines (240 loc) · 13.9 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
Legenda:
+ new feature added
* internal change
- old feature removed
!! bug fix
Version 1.4.1, 2005/12/19
+ added support for SSO2 (SAP Single Sign On) feature - new API function
saprfc_get_ticket(), see test_sso.php script for usage
Version 1.4, 2005/08/23
+ added support for target SAP Unicode system (SAP Basis 6.40 included)
Version 1.3.3, 2005/01/25
!! added official support for installation saprfc as dynamic module (included from
version 1.0.1 but didn't work well, fixed in saprfc.c). Recompilation
PHP failed under new Linux distribution (for example RH AS 3.0,
Fedora Core 3)
because librfc.a library from RFCSDK 6.20 is not compatible
with glibc 2.3.
Version 1.3.2, 2004/07/19
!! fixed warning message if rfc or function resource passed to API function is not valid
+ added new API function saprfc_allow_start_program(), thanks to [email protected].
His explanation:
"If you have a document management system within R/3 and want to check
out documents (from sap) or check in documents (to sap) with the help
of the external programs sapftp/saphttp (very comfortable;
ftp/http-clients that can be controlled from external here from the
sap stack; can be downloaded from the SAP Service Marketplace) you
need to be able to call the function RfcAllowStartProgram of the
RFCSDK. This was not possible in your version 1.3, so I added it
(changes/adds: see below). The call of RfcAllowStartProgram is needed
for BAPIs like BAPI_DOCUMENT_CHECKOUTMODIFY2 or BAPI_DOCUMENT_CHECKIN2 and the like."
Example: saprfc_allow_start_program("sapftp;saphttp");
Version 1.3.1, 2004/07/14
+ added compilation and build support for PHP 5
+ added support for register_globals = off in the saprfc_test.php script
!! fixed a lot of E_NOTICE messages in the saprfc_test.php
+ update PLATFORMS file - Unicode version RFC Library and Unicode SAP is not supported
* no internal change in the extension source code, so upgrade
from 1.3 version is not necessary
Version 1.3, 2003/01/31
!! fixed bug in the handling of optional import parameters (rfccal.c).
If called function module has optional parameters and this paramaters
was not set by saprfc_import() function, all other import parameters
was incorrectly transfered.
Upgrade from previous versions is recommeded.
Version 1.2.1, 2002/09/09
!! fixed detection of function interface by saprfc_function_discover() -
if target SAP release is SAP 6.10 (rfccal.c)
- the structure is detected also if EXID=='u' in the
RFC_GET_FUNCTION_INTERFACE_P (see to 1.0.1 changelog entry)
Version 1.2, 2002/07/15
!! The API function saprfc_exeption() didn't work.
- the function wasn't visible for user (saprfc.c)
- the exception string wasn't propagate from rfc call (rfccal.c)
Version 1.1, 2002/07/09
!! Determination of offset position for structure fields in the internal
buffer was changed. Instead of computation from field data type and it position
in the structure, is offset set from OFFSET value returned by
RFC_GET_FUNCTION_INTERFACE_P (in the saprfc_function_discover()).
This change solve data corruption problem for parameters or tables
that has structure that includes other structure, e.g. like table MARA.
The API for function saprfc_function_define() and saprfc_function_interface()
was a little changed, but it's backward compatible. The item
"offset" was added to the field definition. If this item is not set,
old method for offset determination is used.
Version 1.0.3, 2002/05/17
+ added optional parameter not_trim for saprfc_function_discover() and
saprfc_function_define().
By default, if SAP CHAR type is converted into PHP string,
spaces from the end of string are stripped.
For example:
CHAR(10) "Hello " is returned by saprfc_export(), saprfc_read_table()
as "Hello".
If you don't want remove the spaces (0x20) from returned values, set
not_trim parameter to true in the saprfc_function_discover() call.
(Useful for example for WWW_DISPATCH_REQUEST)
Version 1.0.2, 2002/04/23
!! fixed bug in the inicialization of internal buffer for RAW data type (rfccal.c)
- possible memory access violation for big RAW data
Version 1.0.1, 2002/03/20
+ added support for build dynamic saprfc.so module under Linux (config.m4)
- using option: --with-saprfc=shared + librfccm.so shared library
* improved detection of function interface by saprfc_function_discover() -
handle new features in the SAP 4.6 (rfccal.c)
- detection structure using EXID=="" instead of FIELDNAME=="" in
RFC_GET_FUNCTION_INTERFACE_P
- ignore type EXID='h' - internal table as parameter type
I don't know how it handle correctly with RFC API (example: DDIF_FIELDINFO_GET,
LINES_DESCR(EXPORT), FIXED_VALUES(TABLE) )
Version 1.0, 2002/01/20
!! fixed broken trfcserv.php example script
!! fixed memory leaks in saprfc_server_dispatch()
- rfccal.c, free internal table handle in __sal_get_data() before
RfcGetData() call
- rfccal.c, don't allocate memory if internal table is not
specified by caller (RfcGetData returns ITAB_NULL)
- rfccal.c, don't send null internal tables in __sal_send_data()
+ added compile time macro RFC_DEBUG_MEMORY to debug memory managment
of the RFC library (rfccal.c)
!! saprfc.c, cleanup memory allocated for global variables (trfc_)
!! saprfc_test.php, check register_globals option (default off in the
PHP 4.1.0)
!! saprfc.c, fixed bug in the saprfc_trfc_tid(), incorrect TID was returned
because RfcCreateTransID didn't return null terminated string
+ added the sapclasses package
Version 0.10, 2001/12/15
+ 8 new SAPRFC API functions
+ added support for transactional RFC (tRFC)
saprfc_trfc_call() - Calls a function module in R/3 indirectly (tRFC)
saprfc_trfc_tid() - Gets a transaction-ID for a following call of a function module using tRFC
saprfc_trfc_install() - Installs functions to control transactional behaviour (tRFC)
saprfc_trfc_dispatch() - alias to saprfc_server_dispatch()
+ possibility activate/deactivate the RFC trace, saprfc_set_trace()
+ added support for registration at a SAP Gateway
saprfc_server_register_check()
saprfc_server_register_cancel()
+ saprfc_function_name() - Gets the name of the function module
+ new API documentation added to saprfc.html
!! cleanup internal tables for called function modules
in the saprfc_server_dispatch() /memory leak fixed/
* don't handle system call (RFC_PING, tRFC,...) internally in the
saprfc_server_dispatch(), return immediate with SAPRFC_OK after dispatch one
call
+ added support for PHP 4.1.0 (TSRM changes)
+ added INSTALL.hints, trfcserv.php
Version 0.9.1, 2001/11/07
+ saprfc_function_discover () was improved
+ added detection of version of the remote SAP system (using RFC_SYSTEM_INFO)
+ added support for SAP Rel. 3.1x (that has different length for TABNAME
and FIELDNAME parameters in the RFC_GET_FUNCTION_INTERFACE_P and
RFC_GET_STRUCTURE_DEFINITION_P)
+ for SAP Rel. >= 46 added detection of optional parameters (previous
version must use saprfc_optional() )
!! fixed bug in an optional parameters
+ added information about remote SAP version and optional parameters
in the saprfc_function_debug_info()
Version 0.9, 2001/10/26
!! fixed alignment bugs for structure parameters (and internal tables)
containing INT or FLOAT types. This types must in an internal buffer
start on the position divisible by 2 (INT2), 4 (INT4), 8 (FLOAT).
Determination of the size of the internal buffer for structures
was fixed, reflecting alignment rules.
!! fixed bug in handling export/import structure parameters with
one item only.
!! fixed memory leaks in the interface routines
+ added information about offset and allocated memory for interfaces
in the saprfc_function_debug_info()
+ added support for upcoming PHP 4.1.0 (ZEND API change - module version)
!! fixed bugs (one item structure, internal table filling) in
saprfc_test.php
Version 0.8.1, 2001/08/31
+ added saprfc class written by lars laegner (saprfc.php)
* test script saprfc.php renamed to saprfc_test.php
+ added example: example_userlist.php
* licence changed from GPL to PHP
!!saprfc.c, fix for compilation errors with RFSDK < 4.6D
!!saprfc_test.php, fix for problem with CSS under Netscape (black on black...)
Version 0.8, 2001/07/07
+ add examples: client.php, server.php
!!config.m4, rename (AC_ to PHP_) config macros for PHP >= 4.0.6
!!saprfc.php, fix API change bugs
Version 0.7, 2001/07/02
* rfccal.h, macro SAL_ACCEPT use RfcAccept() instead RfcAcceptExt()
+ rfccal.h, added macro SAL_ACCEPT_EXT
!!rfccal.c, cleanup compilation warnings
!!rfccal.c, fix bug in internal table handling in __sal_get_data()
Drop itab handles before call RfcGetData() and setup
after it. It solve CALL_FUNCTION_OBJECT_ID dump when
called PHP RFC function return internal table.
+ saprfc.c, extend saprfc_server_accept to accept argv array with a
program arguments
Version 0.6, 2001/06/30
+ ADDED NEW FUNCTION:
From this version is possible call PHP functions from
SAP R/3. A new PHP functions that implement RFC server API were added:
saprfc_server_accept(), saprfc_server_import(), saprfc_server_export(),
saprfc_server_dispatch(), saprfc_attributes()
* SAPRFC API CHANGE:
saprfc_open() - changed keys in array $conn, now is same as ID for RfcOpenEx()
Used RfcOpenEx instead RfcOpenExtV3, because RfcOpenEx
support login check, codepage setting and so on...
saprfc_function_define() - $rfc=0 is allowed now, for definition PHP server
functions
saprfc_call_and_receive() - return now int value with RFC_RC instead true/false
+ added doc: ChangeLog, INSTALL
- rfccal.h, removed macro CAL_LOGIN_INFO (no need, new implematation saprfc_open())
* rfccal.h, change interface for macro CAL_OPEN
+ rfccal.h, new macros added: CAL_ATTRIBUTES, SAL_ACCEPT, SAL_WAIT_FOR_REQUEST,
SAL_GET_NAME, SAL_ABORT, SAL_GET_DATA, SAL_SEND_DATA, SAL_RAISE
+ rfccal.c, implement new function _cal_open(), instead RfcOpenExtV3() is
now used RfcOpenEx (that check user login data) with new interface
* rfccal.c, return RFC_RC from __cal_fce_call() instead (0,-1), error can be
better analyzed
- rfccal.c droped __cal_fce_login_info()
+ rfccal.c implement the new internal server api functions:
__sal_get_data () ~ RfcGetData(), __sal_send_data () ~ RfcSendData(),
__sal_raise () ~ RfcRaise(), RfcRaiseTables()
+ php_saprfc.h, new PHP function added: saprfc_attributes(), saprfc_server_accept(),
saprfc_server_import(), saprfc_server_export(), saprfc_server_dispatch()
* php_saprfc.h, added info to rfc resource if rfc connection is opened by saprfc_open()
or saprfc_server_accept()
* saprfc.php, proccess API change in saprfc 0.6 (saprfc_open(),saprfc_call_and_receive())
+ saprfc.c, added SAPRFC_* constants for return codes from saprfc_call_and_receive() and
saprfc_server_dispatch()
* saprfc.c, new implementation of saprfc_open(), keys in $conn array were
changed to ID defined by RfcOpenEx().
* saprfc.c, allow 0 in $rfc parameter for saprfc_function_define() -
used for definition PHP RFC server functions (in time definition
rfc connection doesn't exist)
!!saprfc.c, fix bug in saprfc_function_define() for internaltables with single
structure (one item)
* saprfc.c, return RFC_RC value instead bool from saprfc_call_and_receive()
!!saprfc.c, fix proto typos for saprfc_exception(), saprfc_function_free()
+ saprfc.c, implement the new PHP functions
Version 0.5, 2001/06/25
+ the first version released as package saprfc-0.5.tar.gz on sourceforge.net
* php_saprfc.h, all PHP functions were renamed from rfc_* to saprfc_*
* saprfc.php, rename all saprfc functions
* saprfc.c, all PHP functions were renamed from rfc_* to saprfc_*
Version 0.4, 2001/06/19
+ saprfc.php, added PHP script to testing a saprfc client features
+ config.m4, added compilation support for HP-UX
+ rfccal.h, added macro CAL_SET_SYSTEM_CODE_PAGE, not used because API
RfcSetSystemCodePage() isn´t supported by Win32 librfc32.dll
!!saprfc.c, fixed bug in rfc_set_code_page(), rfc resource was discared
Version 0.3, 2001/06/17
!!saprfc.c, fix bug in rfc_read_tables, interface not found (export instead
table interfaces were searched)
Version 0.2, 2001/06/16
* php_saprfc.h, version information moved to saprfc.c
+ saprfc.dsp, added compilation support for NT/2000 (VC6)
!!rfccal.c, fix compilation warning (unused variable optional)
!!saprfc.c, fix compilation warnings
!!saprfc.c, fix bugs in RAW type handling (rfc_import,rfc_export,rfc_read_table)
!!saprfc.c, fix access to structure in rfc_import,rfc_export,rfc_read_table
Version 0.1, 2001/06/15
+ initial import to CVS tree on sourceforge.net
+ all client functions were implemented
+ successfully compiled on RedHat Linux 6.2 (with PHP 4.0.5
and SAP RFCSDK 4.6D)
+ not tested yet