1 module etc.c.sapnwrfc; 2 3 public import etc.c.sapucx; 4 public import etc.c.sapuc; 5 6 version(sapnwrfc_sdk_750) 7 { 8 import core.stdc.time : time_t; 9 } 10 11 extern(C): 12 @nogc: 13 14 alias RFC_CHAR = SAP_UC; 15 alias RFC_NUM = RFC_CHAR; 16 alias RFC_BYTE = SAP_RAW; 17 alias RFC_BCD = SAP_RAW; 18 alias RFC_INT1 = SAP_RAW; 19 alias RFC_INT2 = short; 20 alias RFC_INT = int; 21 alias RFC_INT8 = long; 22 alias RFC_FLOAT = double; 23 alias RFC_DATE = RFC_CHAR[8]; 24 alias RFC_TIME = RFC_CHAR[6]; 25 alias RFC_DECF16 = DecFloat16; 26 alias RFC_DECF34 = DecFloat34; 27 alias RFC_UTCLONG = RFC_INT8; 28 alias RFC_UTCSECOND = RFC_INT8; 29 alias RFC_UTCMINUTE = RFC_INT8; 30 alias RFC_DTDAY = int; 31 alias RFC_DTWEEK = int; 32 alias RFC_DTMONTH = int; 33 alias RFC_TSECOND = int; 34 alias RFC_TMINUTE = short; 35 alias RFC_CDAY = short; 36 37 enum RFC_TID_LN = 24; 38 enum RFC_UNITID_LN = 32; 39 alias RFC_TID = SAP_UC[RFC_TID_LN+1]; 40 alias RFC_UNITID = SAP_UC[RFC_UNITID_LN+1]; 41 42 enum RFCTYPE 43 { 44 RFCTYPE_CHAR = 0, 45 RFCTYPE_DATE = 1, 46 RFCTYPE_BCD = 2, 47 RFCTYPE_TIME = 3, 48 RFCTYPE_BYTE = 4, 49 RFCTYPE_TABLE = 5, 50 RFCTYPE_NUM = 6, 51 RFCTYPE_FLOAT = 7, 52 RFCTYPE_INT = 8, 53 RFCTYPE_INT2 = 9, 54 RFCTYPE_INT1 = 10, 55 RFCTYPE_NULL = 14, 56 RFCTYPE_ABAPOBJECT = 16, 57 RFCTYPE_STRUCTURE = 17, 58 RFCTYPE_DECF16 = 23, 59 RFCTYPE_DECF34 = 24, 60 RFCTYPE_XMLDATA = 28, 61 RFCTYPE_STRING = 29, 62 RFCTYPE_XSTRING = 30, 63 RFCTYPE_INT8, 64 RFCTYPE_UTCLONG, 65 RFCTYPE_UTCSECOND, 66 RFCTYPE_UTCMINUTE, 67 RFCTYPE_DTDAY, 68 RFCTYPE_DTWEEK, 69 RFCTYPE_DTMONTH, 70 RFCTYPE_TSECOND, 71 RFCTYPE_TMINUTE, 72 RFCTYPE_CDAY, 73 RFCTYPE_BOX, 74 RFCTYPE_GENERIC_BOX, 75 _RFCTYPE_max_value, 76 } 77 78 enum RFC_RC 79 { 80 RFC_OK, 81 RFC_COMMUNICATION_FAILURE, 82 RFC_LOGON_FAILURE, 83 RFC_ABAP_RUNTIME_FAILURE, 84 RFC_ABAP_MESSAGE, 85 RFC_ABAP_EXCEPTION, 86 RFC_CLOSED, 87 RFC_CANCELED, 88 RFC_TIMEOUT, 89 RFC_MEMORY_INSUFFICIENT, 90 RFC_VERSION_MISMATCH, 91 RFC_INVALID_PROTOCOL, 92 RFC_SERIALIZATION_FAILURE, 93 RFC_INVALID_HANDLE, 94 RFC_RETRY, 95 RFC_EXTERNAL_FAILURE, 96 RFC_EXECUTED, 97 RFC_NOT_FOUND, 98 RFC_NOT_SUPPORTED, 99 RFC_ILLEGAL_STATE, 100 RFC_INVALID_PARAMETER, 101 RFC_CODEPAGE_CONVERSION_FAILURE, 102 RFC_CONVERSION_FAILURE, 103 RFC_BUFFER_TOO_SMALL, 104 RFC_TABLE_MOVE_BOF, 105 RFC_TABLE_MOVE_EOF, 106 RFC_START_SAPGUI_FAILURE, 107 RFC_ABAP_CLASS_EXCEPTION, 108 RFC_UNKNOWN_ERROR, 109 RFC_AUTHORIZATION_FAILURE, 110 _RFC_RC_max_value, 111 } 112 113 enum RFC_ERROR_GROUP 114 { 115 OK, 116 ABAP_APPLICATION_FAILURE, 117 ABAP_RUNTIME_FAILURE, 118 LOGON_FAILURE, 119 COMMUNICATION_FAILURE, 120 EXTERNAL_RUNTIME_FAILURE, 121 EXTERNAL_APPLICATION_FAILURE, 122 EXTERNAL_AUTHORIZATION_FAILURE, 123 } 124 125 struct RFC_ERROR_INFO 126 { 127 RFC_RC code; 128 RFC_ERROR_GROUP group; 129 SAP_UC[128] key; 130 SAP_UC[512] message; 131 SAP_UC[20+1] abapMsgClass; 132 SAP_UC[1+1] abapMsgType; 133 RFC_NUM[3 + 1] abapMsgNumber; 134 SAP_UC[50+1] abapMsgV1; 135 SAP_UC[50+1] abapMsgV2; 136 SAP_UC[50+1] abapMsgV3; 137 SAP_UC[50+1] abapMsgV4; 138 } 139 140 struct RFC_ATTRIBUTES 141 { 142 SAP_UC[64+1] dest; 143 SAP_UC[100+1] host; 144 SAP_UC[100+1] partnerHost; 145 SAP_UC[2+1] sysNumber; 146 SAP_UC[8+1] sysId; 147 SAP_UC[3+1] client; 148 SAP_UC[12+1] user; 149 SAP_UC[2+1] language; 150 SAP_UC[1+1] trace; 151 SAP_UC[2+1] isoLanguage; 152 SAP_UC[4+1] codepage; 153 SAP_UC[4+1] partnerCodepage; 154 SAP_UC[1+1] rfcRole; 155 SAP_UC[1+1] type; 156 SAP_UC[1+1] partnerType; 157 SAP_UC[4+1] rel; 158 SAP_UC[4+1] partnerRel; 159 SAP_UC[4+1] kernelRel; 160 SAP_UC[8 + 1] cpicConvId; 161 SAP_UC[128+1] progName; 162 SAP_UC[1+1] partnerBytesPerChar; 163 SAP_UC[4 + 1] partnerSystemCodepage; 164 SAP_UC[79] reserved; 165 } 166 alias P_RFC_ATTRIBUTES = RFC_ATTRIBUTES*; 167 168 // 250 169 struct RFC_SECURITY_ATTRIBUTES 170 { 171 SAP_UC *functionName; 172 SAP_UC *sysId; 173 SAP_UC *client; 174 SAP_UC *user; 175 SAP_UC *progName; 176 SAP_UC *sncName; 177 SAP_UC *ssoTicket; 178 } 179 alias P_RFC_SECURITY_ATTRIBUTES = RFC_SECURITY_ATTRIBUTES*; 180 181 struct RFC_UNIT_ATTRIBUTES 182 { 183 short kernelTrace; 184 short satTrace; 185 short unitHistory; 186 short lock; 187 short noCommitCheck; 188 SAP_UC[12+1] user; 189 SAP_UC[3+1] client; 190 SAP_UC[20+1] tCode; 191 SAP_UC[40+1] program; 192 SAP_UC[40+1] hostname; 193 RFC_DATE sendingDate; 194 RFC_TIME sendingTime; 195 } 196 197 struct RFC_UNIT_IDENTIFIER 198 { 199 SAP_UC unitType; 200 RFC_UNITID unitID; 201 } 202 203 enum RFC_UNIT_STATE 204 { 205 RFC_UNIT_NOT_FOUND, 206 RFC_UNIT_IN_PROCESS, 207 RFC_UNIT_COMMITTED, 208 RFC_UNIT_ROLLED_BACK, 209 RFC_UNIT_CONFIRMED, 210 } 211 212 alias RFC_ABAP_NAME = RFC_CHAR[30+1]; 213 alias RFC_PARAMETER_DEFVALUE = RFC_CHAR[30+1]; 214 alias RFC_PARAMETER_TEXT = RFC_CHAR[79+1]; 215 216 enum RFC_CALL_TYPE 217 { 218 RFC_SYNCHRONOUS, 219 RFC_TRANSACTIONAL, 220 RFC_QUEUED, 221 RFC_BACKGROUND_UNIT, 222 } 223 224 struct RFC_SERVER_CONTEXT 225 { 226 RFC_CALL_TYPE type; 227 RFC_TID tid; 228 RFC_UNIT_IDENTIFIER* unitIdentifier; 229 RFC_UNIT_ATTRIBUTES* unitAttributes; 230 version(sapnwrfc_sdk_750) 231 { 232 uint isStateful; 233 SAP_UC[33] sessionID; 234 } 235 } 236 237 struct _RFC_TYPE_DESC_HANDLE 238 { 239 void* handle; 240 } 241 alias RFC_TYPE_DESC_HANDLE = _RFC_TYPE_DESC_HANDLE*; 242 243 struct _RFC_FUNCTION_DESC_HANDLE 244 { 245 void* handle; 246 } 247 alias RFC_FUNCTION_DESC_HANDLE = _RFC_FUNCTION_DESC_HANDLE*; 248 249 struct _RFC_CLASS_DESC_HANDLE 250 { 251 void* handle; 252 } 253 alias RFC_CLASS_DESC_HANDLE = _RFC_CLASS_DESC_HANDLE*; 254 255 struct RFC_DATA_CONTAINER 256 { 257 void* handle; 258 } 259 alias DATA_CONTAINER_HANDLE = RFC_DATA_CONTAINER*; 260 261 alias RFC_STRUCTURE_HANDLE = DATA_CONTAINER_HANDLE; 262 alias RFC_FUNCTION_HANDLE = DATA_CONTAINER_HANDLE; 263 alias RFC_TABLE_HANDLE = DATA_CONTAINER_HANDLE; 264 alias RFC_ABAP_OBJECT_HANDLE = DATA_CONTAINER_HANDLE; 265 266 struct _RFC_CONNECTION_HANDLE 267 { 268 void* handle; 269 } 270 alias RFC_CONNECTION_HANDLE = _RFC_CONNECTION_HANDLE*; 271 272 version(sapnwrfc_sdk_750) 273 { 274 struct _RFC_SERVER_HANDLE 275 { 276 void* handle; 277 } 278 alias RFC_SERVER_HANDLE = _RFC_SERVER_HANDLE*; 279 280 enum RFC_PROTOCOL_TYPE 281 { 282 RFC_UNKOWN, 283 RFC_CLIENT, 284 RFC_STARTED_SERVER, 285 RFC_REGISTERED_SERVER, 286 RFC_MULTI_COUNT_REGISTERED_SERVER, 287 RFC_TCP_SOCKET_CLIENT, 288 RFC_TCP_SOCKET_SERVER 289 } 290 291 enum RFC_SERVER_STATE 292 { 293 RFC_SERVER_INITIAL, 294 RFC_SERVER_STARTING, 295 RFC_SERVER_RUNNING, 296 RFC_SERVER_BROKEN, 297 RFC_SERVER_STOPPING, 298 RFC_SERVER_STOPPED 299 } 300 301 struct _RFC_SERVER_ATTRIBUTES 302 { 303 SAP_UC* serverName; 304 RFC_PROTOCOL_TYPE type; 305 uint registrationCount; 306 RFC_SERVER_STATE state; 307 uint currentBusyCount; 308 uint peakBusyCount; 309 } 310 alias RFC_SERVER_ATTRIBUTES = _RFC_SERVER_ATTRIBUTES; 311 312 alias RFC_SERVER_ERROR_LISTENER = void function(RFC_SERVER_HANDLE, RFC_ATTRIBUTES*, out RFC_ERROR_INFO); 313 314 struct _RFC_STATE_CHANGE 315 { 316 RFC_SERVER_STATE oldState; 317 RFC_SERVER_STATE newState; 318 } 319 alias RFC_STATE_CHANGE = _RFC_STATE_CHANGE; 320 321 alias RFC_SERVER_STATE_CHANGE_LISTENER = void function(RFC_SERVER_HANDLE, RFC_STATE_CHANGE*); 322 323 struct _RFC_SERVER_MONITOR_DATA 324 { 325 RFC_ATTRIBUTES* clientInfo; 326 int isActive; 327 int isStateful; 328 SAP_UC[128] functionModuleName; 329 time_t lastActivity; 330 } 331 alias RFC_SERVER_MONITOR_DATA = _RFC_SERVER_MONITOR_DATA; 332 333 } // sapnwrfc_sdk_750 334 335 struct _RFC_TRANSACTION_HANDLE 336 { 337 void* handle; 338 } 339 alias RFC_TRANSACTION_HANDLE = _RFC_TRANSACTION_HANDLE*; 340 341 struct _RFC_UNIT_HANDLE 342 { 343 void* handle; 344 } 345 alias RFC_UNIT_HANDLE = _RFC_UNIT_HANDLE*; 346 347 struct RFC_CONNECTION_PARAMETER 348 { 349 const(SAP_UC)* name; 350 const(SAP_UC)* value; 351 } 352 alias P_RFC_CONNECTION_PARAMETER = RFC_CONNECTION_PARAMETER*; 353 354 struct RFC_FIELD_DESC 355 { 356 RFC_ABAP_NAME name; 357 RFCTYPE type; 358 uint nucLength; 359 uint nucOffset; 360 uint ucLength; 361 uint ucOffset; 362 uint decimals; 363 RFC_TYPE_DESC_HANDLE typeDescHandle; 364 void* extendedDescription; 365 } 366 alias P_RFC_FIELD_DESC = RFC_FIELD_DESC*; 367 368 enum RFC_DIRECTION 369 { 370 RFC_IMPORT = 0x01, 371 RFC_EXPORT = 0x02, 372 RFC_CHANGING = RFC_IMPORT | RFC_EXPORT, 373 RFC_TABLES = 0x04 | RFC_CHANGING, 374 } 375 376 struct RFC_PARAMETER_DESC 377 { 378 RFC_ABAP_NAME name; 379 RFCTYPE type; 380 RFC_DIRECTION direction; 381 uint nucLength; 382 uint ucLength; 383 uint decimals; 384 RFC_TYPE_DESC_HANDLE typeDescHandle; 385 RFC_PARAMETER_DEFVALUE defaultValue; 386 RFC_PARAMETER_TEXT parameterText; 387 RFC_BYTE optional; 388 void* extendedDescription; 389 } 390 alias P_RFC_PARAMETER_DESC = RFC_PARAMETER_DESC*; 391 392 struct RFC_EXCEPTION_DESC 393 { 394 SAP_UC[128] key; 395 SAP_UC[512] message; 396 } 397 RFC_EXCEPTION_DESC* P__RFC_EXCEPTION_DESC; 398 399 enum RFC_CLASS_ATTRIBUTE_TYPE 400 { 401 RFC_CLASS_ATTRIBUTE_INSTANCE, 402 RFC_CLASS_ATTRIBUTE_CLASS, 403 RFC_CLASS_ATTRIBUTE_CONSTANT, 404 } 405 406 alias RFC_CLASS_ATTRIBUTE_DEFVALUE = RFC_CHAR[30+1]; 407 alias RFC_CLASS_NAME = RFC_CHAR[30+1]; 408 alias RFC_CLASS_ATTRIBUTE_DESCRIPTION = RFC_CHAR[511+1]; 409 410 struct RFC_CLASS_ATTRIBUTE_DESC 411 { 412 RFC_ABAP_NAME name; 413 RFCTYPE type; 414 uint nucLength; 415 uint ucLength; 416 uint decimals; 417 RFC_TYPE_DESC_HANDLE typeDescHandle; 418 RFC_CLASS_ATTRIBUTE_DEFVALUE defaultValue; 419 RFC_CLASS_NAME declaringClass; 420 RFC_CLASS_ATTRIBUTE_DESCRIPTION description; 421 uint isReadOnly; 422 RFC_CLASS_ATTRIBUTE_TYPE attributeType; 423 void* extendedDescription; 424 } 425 alias P_RFC_CLASS_ATTRIBUTE_DESC = RFC_CLASS_ATTRIBUTE_DESC*; 426 427 alias RFC_SERVER_FUNCTION = RFC_RC function(RFC_CONNECTION_HANDLE, RFC_FUNCTION_HANDLE, out RFC_ERROR_INFO); 428 alias RFC_ON_CHECK_TRANSACTION = RFC_RC function(RFC_CONNECTION_HANDLE, SAP_UC*); 429 alias RFC_ON_COMMIT_TRANSACTION = RFC_RC function(RFC_CONNECTION_HANDLE, SAP_UC*); 430 alias RFC_ON_ROLLBACK_TRANSACTION = RFC_RC function(RFC_CONNECTION_HANDLE, SAP_UC*); 431 alias RFC_ON_CONFIRM_TRANSACTION = RFC_RC function(RFC_CONNECTION_HANDLE, SAP_UC*); 432 alias RFC_FUNC_DESC_CALLBACK = RFC_RC function(SAP_UC*, RFC_ATTRIBUTES, RFC_FUNCTION_DESC_HANDLE*); 433 alias RFC_PM_CALLBACK = RFC_RC function(RFC_CONNECTION_HANDLE, SAP_UC*, SAP_RAW *, size_t, size_t *); 434 alias RFC_ON_CHECK_UNIT = RFC_RC function(RFC_CONNECTION_HANDLE, RFC_UNIT_IDENTIFIER*); 435 alias RFC_ON_COMMIT_UNIT = RFC_RC function(RFC_CONNECTION_HANDLE, RFC_UNIT_IDENTIFIER*); 436 alias RFC_ON_ROLLBACK_UNIT = RFC_RC function(RFC_CONNECTION_HANDLE, RFC_UNIT_IDENTIFIER*); 437 alias RFC_ON_CONFIRM_UNIT = RFC_RC function(RFC_CONNECTION_HANDLE, RFC_UNIT_IDENTIFIER*); 438 alias RFC_ON_GET_UNIT_STATE = RFC_RC function(RFC_CONNECTION_HANDLE, RFC_UNIT_IDENTIFIER*, RFC_UNIT_STATE*); 439 alias RFC_ON_PASSWORD_CHANGE = RFC_RC function(SAP_UC*, SAP_UC*, SAP_UC*, SAP_UC*, uint, SAP_UC*, uint, out RFC_ERROR_INFO); 440 alias RFC_ON_AUTHORIZATION_CHECK = RFC_RC function(RFC_CONNECTION_HANDLE, RFC_SECURITY_ATTRIBUTES*, out RFC_ERROR_INFO); 441 442 RFC_RC RfcInit(); 443 const(SAP_UC)* RfcGetVersion(out uint, out uint, out uint); 444 version(sapnwrfc_sdk_750) 445 { 446 RFC_RC RfcGetVersionInternal(); 447 } 448 RFC_RC RfcSetIniPath(const(SAP_UC)*, out RFC_ERROR_INFO); 449 RFC_RC RfcReloadIniFile(out RFC_ERROR_INFO); 450 RFC_RC RfcSetTraceLevel(RFC_CONNECTION_HANDLE, const(SAP_UC)*, uint, out RFC_ERROR_INFO); 451 RFC_RC RfcSetTraceEncoding(const(SAP_UC)*, out RFC_ERROR_INFO); 452 RFC_RC RfcSetTraceDir(const(SAP_UC)*, out RFC_ERROR_INFO); 453 RFC_RC RfcSetTraceType(const(SAP_UC)*, out RFC_ERROR_INFO); 454 RFC_RC RfcSetCpicTraceLevel(uint, out RFC_ERROR_INFO); 455 RFC_RC RfcUTF8ToSAPUC(const(RFC_BYTE)*, uint, SAP_UC*, uint*, uint*, out RFC_ERROR_INFO); 456 RFC_RC RfcSAPUCToUTF8(const(SAP_UC)*, uint, RFC_BYTE*, uint*, uint*, out RFC_ERROR_INFO); 457 const(SAP_UC)* RfcGetRcAsString(RFC_RC); 458 const(SAP_UC)* RfcGetTypeAsString(RFCTYPE); 459 const(SAP_UC)* RfcGetDirectionAsString(RFC_DIRECTION); 460 version(sapnwrfc_sdk_750) 461 { 462 const(SAP_UC)* RfcGetServerStateAsString(RFC_SERVER_STATE); 463 } 464 RFC_RC RfcLanguageIsoToSap(const(SAP_UC)*, SAP_UC*, out RFC_ERROR_INFO); 465 RFC_RC RfcLanguageSapToIso(const(SAP_UC)*, SAP_UC*, out RFC_ERROR_INFO); 466 467 version(sapnwrfc_sdk_750) 468 { 469 RFC_RC RfcGetSaplogonEntries(SAP_UC***, uint*, out RFC_ERROR_INFO); 470 RFC_RC RfcFreeSaplogonEntries(SAP_UC***, uint*, out RFC_ERROR_INFO); 471 } // sapnwrfc_sdk_750 472 473 RFC_CONNECTION_HANDLE RfcOpenConnection(const(RFC_CONNECTION_PARAMETER)*, uint, out RFC_ERROR_INFO); 474 RFC_CONNECTION_HANDLE RfcRegisterServer(const(RFC_CONNECTION_PARAMETER)*, uint, out RFC_ERROR_INFO); 475 RFC_CONNECTION_HANDLE RfcStartServer(int, SAP_UC**, const(RFC_CONNECTION_PARAMETER)*, uint, out RFC_ERROR_INFO); 476 RFC_RC RfcCloseConnection(RFC_CONNECTION_HANDLE, out RFC_ERROR_INFO); 477 RFC_RC RfcIsConnectionHandleValid(RFC_CONNECTION_HANDLE, int*, out RFC_ERROR_INFO); 478 version(sapnwrfc_sdk_750) 479 { 480 RFC_RC RfcCancel(RFC_CONNECTION_HANDLE, out RFC_ERROR_INFO); 481 } 482 RFC_RC RfcResetServerContext(RFC_CONNECTION_HANDLE, out RFC_ERROR_INFO); 483 RFC_RC RfcPing(RFC_CONNECTION_HANDLE, out RFC_ERROR_INFO); 484 RFC_RC RfcGetConnectionAttributes(RFC_CONNECTION_HANDLE, RFC_ATTRIBUTES*, out RFC_ERROR_INFO); 485 RFC_RC RfcGetServerContext(RFC_CONNECTION_HANDLE, RFC_SERVER_CONTEXT*, out RFC_ERROR_INFO); 486 RFC_RC RfcGetPartnerSSOTicket(RFC_CONNECTION_HANDLE, SAP_UC*, uint, out RFC_ERROR_INFO); 487 RFC_RC RfcGetPartnerSNCName(RFC_CONNECTION_HANDLE, SAP_UC*, uint, out RFC_ERROR_INFO); 488 RFC_RC RfcGetPartnerSNCKey(RFC_CONNECTION_HANDLE, SAP_RAW*, uint*, out RFC_ERROR_INFO); 489 RFC_RC RfcSNCNameToKey(SAP_UC*, SAP_UC*, SAP_RAW *, uint*, out RFC_ERROR_INFO); 490 RFC_RC RfcSNCKeyToName(SAP_UC*, SAP_RAW*, uint, SAP_UC*, uint, out RFC_ERROR_INFO); 491 RFC_RC RfcListenAndDispatch (RFC_CONNECTION_HANDLE, int, out RFC_ERROR_INFO); 492 RFC_RC RfcInvoke(RFC_CONNECTION_HANDLE, RFC_FUNCTION_HANDLE, out RFC_ERROR_INFO); 493 494 version(sapnwrfc_sdk_750) 495 { 496 RFC_SERVER_HANDLE RfcCreateServer(const(RFC_CONNECTION_PARAMETER)*, uint, out RFC_ERROR_INFO); 497 RFC_RC RfcDestroyServer(RFC_SERVER_HANDLE, out RFC_ERROR_INFO); 498 RFC_RC RfcLaunchServer(RFC_SERVER_HANDLE, out RFC_ERROR_INFO); 499 RFC_RC RfcShutdownServer(RFC_SERVER_HANDLE, uint, out RFC_ERROR_INFO); 500 RFC_RC RfcGetServerAttributes(RFC_SERVER_HANDLE, RFC_SERVER_ATTRIBUTES*, out RFC_ERROR_INFO); 501 RFC_RC RfcGetServerConnectionMonitorData(RFC_SERVER_HANDLE, uint*, RFC_SERVER_MONITOR_DATA**, out RFC_ERROR_INFO); 502 RFC_RC RfcDestroyServerConnectionMonitorData(uint, RFC_SERVER_MONITOR_DATA*, out RFC_ERROR_INFO); 503 RFC_RC RfcAddServerErrorListener(RFC_SERVER_HANDLE, RFC_SERVER_ERROR_LISTENER, out RFC_ERROR_INFO); 504 RFC_RC RfcAddServerStateChangedListener(RFC_SERVER_HANDLE, RFC_SERVER_STATE_CHANGE_LISTENER, out RFC_ERROR_INFO); 505 RFC_RC RfcSetServerStateful(RFC_CONNECTION_HANDLE, uint, out RFC_ERROR_INFO); 506 } // sapnwrfc_sdk_750 507 508 RFC_RC RfcGetTransactionID(RFC_CONNECTION_HANDLE, RFC_TID, out RFC_ERROR_INFO); 509 RFC_TRANSACTION_HANDLE RfcCreateTransaction(RFC_CONNECTION_HANDLE, RFC_TID, const(SAP_UC)*, out RFC_ERROR_INFO); 510 RFC_RC RfcInvokeInTransaction(RFC_TRANSACTION_HANDLE, RFC_FUNCTION_HANDLE, out RFC_ERROR_INFO); 511 RFC_RC RfcSubmitTransaction(RFC_TRANSACTION_HANDLE, out RFC_ERROR_INFO); 512 RFC_RC RfcConfirmTransaction(RFC_TRANSACTION_HANDLE, out RFC_ERROR_INFO); 513 RFC_RC RfcDestroyTransaction(RFC_TRANSACTION_HANDLE, out RFC_ERROR_INFO); 514 515 RFC_RC RfcGetUnitID(RFC_CONNECTION_HANDLE, RFC_UNITID, out RFC_ERROR_INFO); 516 RFC_UNIT_HANDLE RfcCreateUnit(RFC_CONNECTION_HANDLE, RFC_UNITID, SAP_UC* /*[]*/, uint, RFC_UNIT_ATTRIBUTES*, RFC_UNIT_IDENTIFIER*, out RFC_ERROR_INFO); 517 RFC_RC RfcInvokeInUnit(RFC_UNIT_HANDLE, RFC_FUNCTION_HANDLE, out RFC_ERROR_INFO); 518 RFC_RC RfcSubmitUnit(RFC_UNIT_HANDLE, out RFC_ERROR_INFO); 519 RFC_RC RfcConfirmUnit(RFC_CONNECTION_HANDLE, RFC_UNIT_IDENTIFIER*, out RFC_ERROR_INFO); 520 RFC_RC RfcDestroyUnit(RFC_UNIT_HANDLE, out RFC_ERROR_INFO); 521 RFC_RC RfcGetUnitState(RFC_CONNECTION_HANDLE, RFC_UNIT_IDENTIFIER*, RFC_UNIT_STATE*, out RFC_ERROR_INFO); 522 RFC_RC RfcInstallServerFunction(SAP_UC*, RFC_FUNCTION_DESC_HANDLE, RFC_SERVER_FUNCTION, out RFC_ERROR_INFO); 523 RFC_RC RfcInstallGenericServerFunction(RFC_SERVER_FUNCTION, RFC_FUNC_DESC_CALLBACK, out RFC_ERROR_INFO); 524 RFC_RC RfcInstallTransactionHandlers (SAP_UC, RFC_ON_CHECK_TRANSACTION, RFC_ON_COMMIT_TRANSACTION, RFC_ON_ROLLBACK_TRANSACTION, RFC_ON_CONFIRM_TRANSACTION, out RFC_ERROR_INFO); 525 //This function is documented but not exported to the library: 526 //RFC_RC RfcInstallBgRfcHandlers (SAP_UC*, RFC_ON_CHECK_UNIT, RFC_ON_COMMIT_UNIT, RFC_ON_ROLLBACK_UNIT, RFC_ON_CONFIRM_UNIT, RFC_ON_GET_UNIT_STATE, out RFC_ERROR_INFO); 527 RFC_RC RfcInstallPassportManager (RFC_PM_CALLBACK, RFC_PM_CALLBACK, RFC_PM_CALLBACK, RFC_PM_CALLBACK, out RFC_ERROR_INFO); 528 RFC_RC RfcInstallPasswordChangeHandler(RFC_ON_PASSWORD_CHANGE, out RFC_ERROR_INFO); 529 RFC_RC RfcInstallAuthorizationCheckHandler(RFC_ON_AUTHORIZATION_CHECK, out RFC_ERROR_INFO); 530 531 RFC_FUNCTION_HANDLE RfcCreateFunction(RFC_FUNCTION_DESC_HANDLE, out RFC_ERROR_INFO); 532 RFC_RC RfcDestroyFunction(RFC_FUNCTION_HANDLE, out RFC_ERROR_INFO); 533 RFC_RC RfcSetParameterActive(RFC_FUNCTION_HANDLE, const(SAP_UC)*, int, out RFC_ERROR_INFO); 534 RFC_RC RfcIsParameterActive(RFC_FUNCTION_HANDLE, const(SAP_UC)*, int*, out RFC_ERROR_INFO); 535 RFC_STRUCTURE_HANDLE RfcCreateStructure(RFC_TYPE_DESC_HANDLE, out RFC_ERROR_INFO); 536 RFC_STRUCTURE_HANDLE RfcCloneStructure(RFC_STRUCTURE_HANDLE, out RFC_ERROR_INFO); 537 RFC_RC RfcDestroyStructure(RFC_STRUCTURE_HANDLE, out RFC_ERROR_INFO); 538 RFC_TABLE_HANDLE RfcCreateTable(RFC_TYPE_DESC_HANDLE, out RFC_ERROR_INFO); 539 RFC_TABLE_HANDLE RfcCloneTable(RFC_TABLE_HANDLE, out RFC_ERROR_INFO); 540 RFC_RC RfcDestroyTable(RFC_TABLE_HANDLE, out RFC_ERROR_INFO); 541 RFC_STRUCTURE_HANDLE RfcGetCurrentRow(RFC_TABLE_HANDLE, out RFC_ERROR_INFO); 542 RFC_STRUCTURE_HANDLE RfcAppendNewRow(RFC_TABLE_HANDLE, out RFC_ERROR_INFO); 543 RFC_RC RfcAppendNewRows(RFC_TABLE_HANDLE, uint, out RFC_ERROR_INFO); 544 RFC_STRUCTURE_HANDLE RfcInsertNewRow(RFC_TABLE_HANDLE, out RFC_ERROR_INFO); 545 RFC_RC RfcAppendRow(RFC_TABLE_HANDLE, RFC_STRUCTURE_HANDLE, out RFC_ERROR_INFO); 546 RFC_RC RfcInsertRow(RFC_TABLE_HANDLE, RFC_STRUCTURE_HANDLE, out RFC_ERROR_INFO); 547 RFC_RC RfcDeleteCurrentRow(RFC_TABLE_HANDLE, out RFC_ERROR_INFO); 548 RFC_RC RfcDeleteAllRows(RFC_TABLE_HANDLE, out RFC_ERROR_INFO); 549 RFC_RC RfcMoveToFirstRow(RFC_TABLE_HANDLE, out RFC_ERROR_INFO); 550 RFC_RC RfcMoveToLastRow(RFC_TABLE_HANDLE, out RFC_ERROR_INFO); 551 RFC_RC RfcMoveToNextRow(RFC_TABLE_HANDLE, out RFC_ERROR_INFO); 552 RFC_RC RfcMoveToPreviousRow(RFC_TABLE_HANDLE, out RFC_ERROR_INFO); 553 RFC_RC RfcMoveTo(RFC_TABLE_HANDLE, uint, out RFC_ERROR_INFO); 554 RFC_RC RfcGetRowCount(RFC_TABLE_HANDLE, out uint, out RFC_ERROR_INFO); 555 RFC_ABAP_OBJECT_HANDLE RfcCreateAbapObject(RFC_CLASS_DESC_HANDLE, out RFC_ERROR_INFO); 556 RFC_RC RfcDestroyAbapObject(RFC_ABAP_OBJECT_HANDLE, RFC_ERROR_INFO); 557 558 RFC_RC RfcGetChars(DATA_CONTAINER_HANDLE, const(SAP_UC)*, RFC_CHAR*, uint, out RFC_ERROR_INFO); 559 RFC_RC RfcGetCharsByIndex(DATA_CONTAINER_HANDLE, uint, RFC_CHAR*, uint, out RFC_ERROR_INFO); 560 RFC_RC RfcGetNum(DATA_CONTAINER_HANDLE, const(SAP_UC)*, RFC_NUM*, uint, out RFC_ERROR_INFO); 561 RFC_RC RfcGetNumByIndex(DATA_CONTAINER_HANDLE, uint, RFC_NUM*, uint, out RFC_ERROR_INFO); 562 RFC_RC RfcGetDate(DATA_CONTAINER_HANDLE, const(SAP_UC)*, RFC_DATE, out RFC_ERROR_INFO); 563 RFC_RC RfcGetDateByIndex(DATA_CONTAINER_HANDLE, uint, RFC_DATE, out RFC_ERROR_INFO); 564 RFC_RC RfcGetTime(DATA_CONTAINER_HANDLE, const(SAP_UC)*, RFC_TIME, out RFC_ERROR_INFO); 565 RFC_RC RfcGetTimeByIndex(DATA_CONTAINER_HANDLE, uint, RFC_TIME, out RFC_ERROR_INFO); 566 RFC_RC RfcGetString(DATA_CONTAINER_HANDLE, const(SAP_UC)*, SAP_UC*, uint, out uint, out RFC_ERROR_INFO); 567 RFC_RC RfcGetStringByIndex(DATA_CONTAINER_HANDLE, uint, SAP_UC*, uint, out uint, out RFC_ERROR_INFO); 568 RFC_RC RfcGetBytes(DATA_CONTAINER_HANDLE, const(SAP_UC)*, SAP_RAW*, uint, out RFC_ERROR_INFO); 569 RFC_RC RfcGetBytesByIndex(DATA_CONTAINER_HANDLE, uint, SAP_RAW*, uint, out RFC_ERROR_INFO); 570 RFC_RC RfcGetXString(DATA_CONTAINER_HANDLE, const(SAP_UC)*, SAP_RAW*, uint, uint*, out RFC_ERROR_INFO); 571 RFC_RC RfcGetXStringByIndex(DATA_CONTAINER_HANDLE, uint, SAP_RAW*, uint, uint*, out RFC_ERROR_INFO); 572 RFC_RC RfcGetInt(DATA_CONTAINER_HANDLE, const(SAP_UC)*, out RFC_INT, out RFC_ERROR_INFO); 573 RFC_RC RfcGetIntByIndex(DATA_CONTAINER_HANDLE, uint, out RFC_INT, out RFC_ERROR_INFO); 574 RFC_RC RfcGetInt1(DATA_CONTAINER_HANDLE, const(SAP_UC)*, out RFC_INT1, out RFC_ERROR_INFO); 575 RFC_RC RfcGetInt1ByIndex(DATA_CONTAINER_HANDLE, uint, out RFC_INT1, out RFC_ERROR_INFO); 576 RFC_RC RfcGetInt2(DATA_CONTAINER_HANDLE, const(SAP_UC)*, out RFC_INT2, out RFC_ERROR_INFO); 577 RFC_RC RfcGetInt2ByIndex(DATA_CONTAINER_HANDLE, uint, out RFC_INT2, out RFC_ERROR_INFO); 578 version(sapnwrfc_sdk_750) 579 { 580 RFC_RC RfcGetInt8(DATA_CONTAINER_HANDLE, const(SAP_UC)*, out RFC_INT8, out RFC_ERROR_INFO); 581 RFC_RC RfcGetInt8ByIndex(DATA_CONTAINER_HANDLE, uint, out RFC_INT8, out RFC_ERROR_INFO); 582 } 583 RFC_RC RfcGetFloat(DATA_CONTAINER_HANDLE, const(SAP_UC)*, out RFC_FLOAT, out RFC_ERROR_INFO); 584 RFC_RC RfcGetFloatByIndex(DATA_CONTAINER_HANDLE, uint, out RFC_FLOAT, out RFC_ERROR_INFO); 585 RFC_RC RfcGetDecF16(DATA_CONTAINER_HANDLE, const(SAP_UC)*, out RFC_DECF16, out RFC_ERROR_INFO); 586 RFC_RC RfcGetDecF16ByIndex(DATA_CONTAINER_HANDLE, uint, out RFC_DECF16, out RFC_ERROR_INFO); 587 RFC_RC RfcGetDecF34(DATA_CONTAINER_HANDLE, const(SAP_UC)*, out RFC_DECF34, out RFC_ERROR_INFO); 588 RFC_RC RfcGetDecF34ByIndex(DATA_CONTAINER_HANDLE, uint, out RFC_DECF34, out RFC_ERROR_INFO); 589 RFC_RC RfcGetStructure(DATA_CONTAINER_HANDLE, const(SAP_UC)*, out RFC_STRUCTURE_HANDLE, out RFC_ERROR_INFO); 590 RFC_RC RfcGetStructureByIndex(DATA_CONTAINER_HANDLE, uint, out RFC_STRUCTURE_HANDLE, out RFC_ERROR_INFO); 591 RFC_RC RfcGetTable(DATA_CONTAINER_HANDLE, const(SAP_UC)*, out RFC_TABLE_HANDLE, out RFC_ERROR_INFO); 592 RFC_RC RfcGetTableByIndex(DATA_CONTAINER_HANDLE, uint, out RFC_TABLE_HANDLE, out RFC_ERROR_INFO); 593 RFC_RC RfcGetAbapObject(DATA_CONTAINER_HANDLE, const(SAP_UC)*, out RFC_ABAP_OBJECT_HANDLE, out RFC_ERROR_INFO); 594 RFC_RC RfcGetAbapObjectByIndex(DATA_CONTAINER_HANDLE, uint, out RFC_ABAP_OBJECT_HANDLE, out RFC_ERROR_INFO); 595 RFC_RC RfcGetStringLength(DATA_CONTAINER_HANDLE, const(SAP_UC)*, out uint, out RFC_ERROR_INFO); 596 RFC_RC RfcGetStringLengthByIndex(DATA_CONTAINER_HANDLE, uint, out uint, out RFC_ERROR_INFO); 597 598 RFC_RC RfcSetChars(DATA_CONTAINER_HANDLE, const(SAP_UC)*, const(RFC_CHAR)*, uint, out RFC_ERROR_INFO); 599 RFC_RC RfcSetCharsByIndex(DATA_CONTAINER_HANDLE, uint, const(RFC_CHAR)*, uint, out RFC_ERROR_INFO); 600 RFC_RC RfcSetNum(DATA_CONTAINER_HANDLE, const(SAP_UC)*, const(RFC_NUM)*, uint, out RFC_ERROR_INFO); 601 RFC_RC RfcSetNumByIndex(DATA_CONTAINER_HANDLE, uint, const(RFC_NUM)*, uint, out RFC_ERROR_INFO); 602 RFC_RC RfcSetString(DATA_CONTAINER_HANDLE, const(SAP_UC)*, const(SAP_UC)*, uint, out RFC_ERROR_INFO); 603 RFC_RC RfcSetStringByIndex(DATA_CONTAINER_HANDLE, uint, const(SAP_UC)*, uint, out RFC_ERROR_INFO); 604 RFC_RC RfcSetDate(DATA_CONTAINER_HANDLE, const(SAP_UC)*, RFC_DATE, out RFC_ERROR_INFO); 605 RFC_RC RfcSetDateByIndex(DATA_CONTAINER_HANDLE, uint, RFC_DATE, out RFC_ERROR_INFO); 606 RFC_RC RfcSetTime(DATA_CONTAINER_HANDLE, const(SAP_UC)*, RFC_TIME, out RFC_ERROR_INFO); 607 RFC_RC RfcSetTimeByIndex(DATA_CONTAINER_HANDLE, uint, RFC_TIME, out RFC_ERROR_INFO); 608 RFC_RC RfcSetBytes(DATA_CONTAINER_HANDLE, const(SAP_UC)*, const(SAP_RAW)*, uint, out RFC_ERROR_INFO); 609 RFC_RC RfcSetBytesByIndex(DATA_CONTAINER_HANDLE, uint, const(SAP_RAW)*, uint, out RFC_ERROR_INFO); 610 RFC_RC RfcSetXString(DATA_CONTAINER_HANDLE, const(SAP_UC)*, const(SAP_RAW)*, uint, out RFC_ERROR_INFO); 611 RFC_RC RfcSetXStringByIndex(DATA_CONTAINER_HANDLE, uint, const(SAP_RAW)*, uint, out RFC_ERROR_INFO); 612 RFC_RC RfcSetInt(DATA_CONTAINER_HANDLE, const(SAP_UC)*, RFC_INT, out RFC_ERROR_INFO); 613 RFC_RC RfcSetIntByIndex(DATA_CONTAINER_HANDLE, uint, RFC_INT, out RFC_ERROR_INFO); 614 RFC_RC RfcSetInt1(DATA_CONTAINER_HANDLE, const(SAP_UC)*, RFC_INT1, out RFC_ERROR_INFO); 615 RFC_RC RfcSetInt1ByIndex(DATA_CONTAINER_HANDLE, uint, RFC_INT1, out RFC_ERROR_INFO); 616 RFC_RC RfcSetInt2(DATA_CONTAINER_HANDLE, const(SAP_UC)*, RFC_INT2, out RFC_ERROR_INFO); 617 RFC_RC RfcSetInt2ByIndex(DATA_CONTAINER_HANDLE, uint, RFC_INT2, out RFC_ERROR_INFO); 618 version(sapnwrfc_sdk_750) 619 { 620 RFC_RC RfcSetInt8(DATA_CONTAINER_HANDLE, const(SAP_UC)*, RFC_INT8, out RFC_ERROR_INFO); 621 RFC_RC RfcSetInt8ByIndex(DATA_CONTAINER_HANDLE, uint, RFC_INT8, out RFC_ERROR_INFO); 622 } 623 RFC_RC RfcSetFloat(DATA_CONTAINER_HANDLE, const(SAP_UC)*, RFC_FLOAT, out RFC_ERROR_INFO); 624 RFC_RC RfcSetFloatByIndex(DATA_CONTAINER_HANDLE, uint, RFC_FLOAT, out RFC_ERROR_INFO); 625 RFC_RC RfcSetDecF16(DATA_CONTAINER_HANDLE, const(SAP_UC)*, RFC_DECF16, out RFC_ERROR_INFO); 626 RFC_RC RfcSetDecF16ByIndex(DATA_CONTAINER_HANDLE, uint, RFC_DECF16, out RFC_ERROR_INFO); 627 RFC_RC RfcSetDecF34(DATA_CONTAINER_HANDLE, const(SAP_UC)*, RFC_DECF34, out RFC_ERROR_INFO); 628 RFC_RC RfcSetDecF34ByIndex(DATA_CONTAINER_HANDLE, uint, RFC_DECF34, out RFC_ERROR_INFO); 629 RFC_RC RfcSetStructure(DATA_CONTAINER_HANDLE, const(SAP_UC)*, const(RFC_STRUCTURE_HANDLE), out RFC_ERROR_INFO); 630 RFC_RC RfcSetStructureByIndex(DATA_CONTAINER_HANDLE, uint, const(RFC_STRUCTURE_HANDLE), out RFC_ERROR_INFO); 631 RFC_RC RfcSetTable(DATA_CONTAINER_HANDLE, const(SAP_UC)*, const(RFC_TABLE_HANDLE), out RFC_ERROR_INFO); 632 RFC_RC RfcSetTableByIndex(DATA_CONTAINER_HANDLE, uint, const(RFC_TABLE_HANDLE), out RFC_ERROR_INFO); 633 RFC_RC RfcSetAbapObject(DATA_CONTAINER_HANDLE, const(SAP_UC)*, const(RFC_ABAP_OBJECT_HANDLE), out RFC_ERROR_INFO); 634 RFC_RC RfcSetAbapObjectByIndex(DATA_CONTAINER_HANDLE, uint, const(RFC_ABAP_OBJECT_HANDLE), out RFC_ERROR_INFO); 635 RFC_ABAP_OBJECT_HANDLE RfcGetAbapClassException(RFC_FUNCTION_HANDLE, out RFC_ERROR_INFO); 636 RFC_RC RfcSetAbapClassException(RFC_FUNCTION_HANDLE, RFC_ABAP_OBJECT_HANDLE, const(SAP_UC)*, out RFC_ERROR_INFO); 637 RFC_FUNCTION_DESC_HANDLE RfcDescribeFunction(RFC_FUNCTION_HANDLE, out RFC_ERROR_INFO); 638 RFC_TYPE_DESC_HANDLE RfcDescribeType(DATA_CONTAINER_HANDLE, out RFC_ERROR_INFO); 639 640 RFC_FUNCTION_DESC_HANDLE RfcGetFunctionDesc(RFC_CONNECTION_HANDLE, const(SAP_UC)*, out RFC_ERROR_INFO); 641 RFC_FUNCTION_DESC_HANDLE RfcGetCachedFunctionDesc(const(SAP_UC)*, const(SAP_UC)*, out RFC_ERROR_INFO); 642 RFC_RC RfcAddFunctionDesc(const(SAP_UC)*, RFC_FUNCTION_DESC_HANDLE, out RFC_ERROR_INFO); 643 RFC_RC RfcRemoveFunctionDesc(const(SAP_UC)*, const(SAP_UC)*, out RFC_ERROR_INFO); 644 RFC_TYPE_DESC_HANDLE RfcGetTypeDesc(RFC_CONNECTION_HANDLE, const(SAP_UC)*, out RFC_ERROR_INFO); 645 RFC_TYPE_DESC_HANDLE RfcGetCachedTypeDesc(const(SAP_UC)*, const(SAP_UC)*, out RFC_ERROR_INFO); 646 RFC_RC RfcAddTypeDesc(const(SAP_UC)*, RFC_TYPE_DESC_HANDLE, out RFC_ERROR_INFO*); 647 RFC_RC RfcRemoveTypeDesc(const(SAP_UC)*, const(SAP_UC)*, out RFC_ERROR_INFO); 648 RFC_CLASS_DESC_HANDLE RfcGetClassDesc(RFC_CONNECTION_HANDLE, const(SAP_UC)*, out RFC_ERROR_INFO); 649 RFC_CLASS_DESC_HANDLE RfcGetCachedClassDesc(const(SAP_UC)*, const(SAP_UC)*, out RFC_ERROR_INFO); 650 RFC_CLASS_DESC_HANDLE RfcDescribeAbapObject(RFC_ABAP_OBJECT_HANDLE, out RFC_ERROR_INFO); 651 RFC_RC RfcAddClassDesc(const(SAP_UC)*, RFC_CLASS_DESC_HANDLE, out RFC_ERROR_INFO); 652 RFC_RC RfcRemoveClassDesc(const(SAP_UC)*, const(SAP_UC)*, out RFC_ERROR_INFO); 653 version(sapnwrfc_sdk_750) 654 { 655 RFC_RC RfcClearRepository(const(SAP_UC)*, out RFC_ERROR_INFO); 656 } 657 RFC_TYPE_DESC_HANDLE RfcCreateTypeDesc(const(SAP_UC)*, out RFC_ERROR_INFO); 658 RFC_RC RfcAddTypeField(RFC_TYPE_DESC_HANDLE, const(RFC_FIELD_DESC)*, out RFC_ERROR_INFO); 659 RFC_RC RfcSetTypeLength(RFC_TYPE_DESC_HANDLE, uint, uint, out RFC_ERROR_INFO); 660 RFC_RC RfcGetTypeName(RFC_TYPE_DESC_HANDLE, out RFC_ABAP_NAME, out RFC_ERROR_INFO); 661 RFC_RC RfcGetFieldCount(RFC_TYPE_DESC_HANDLE, out uint, out RFC_ERROR_INFO); 662 RFC_RC RfcGetFieldDescByIndex(RFC_TYPE_DESC_HANDLE, uint, out RFC_FIELD_DESC, out RFC_ERROR_INFO); 663 RFC_RC RfcGetFieldDescByName(RFC_TYPE_DESC_HANDLE, const(SAP_UC)*, out RFC_FIELD_DESC, out RFC_ERROR_INFO); 664 RFC_RC RfcGetTypeLength(RFC_TYPE_DESC_HANDLE, out uint, out uint, out RFC_ERROR_INFO); 665 RFC_RC RfcDestroyTypeDesc(RFC_TYPE_DESC_HANDLE, out RFC_ERROR_INFO); 666 667 RFC_FUNCTION_DESC_HANDLE RfcCreateFunctionDesc(const(SAP_UC)*, out RFC_ERROR_INFO); 668 RFC_RC RfcGetFunctionName(RFC_FUNCTION_DESC_HANDLE, out RFC_ABAP_NAME, out RFC_ERROR_INFO); 669 RFC_RC RfcAddParameter(RFC_FUNCTION_DESC_HANDLE, RFC_PARAMETER_DESC*, out RFC_ERROR_INFO); 670 RFC_RC RfcGetParameterCount(RFC_FUNCTION_DESC_HANDLE, out uint, out RFC_ERROR_INFO); 671 RFC_RC RfcGetParameterDescByIndex(RFC_FUNCTION_DESC_HANDLE, uint, out RFC_PARAMETER_DESC, out RFC_ERROR_INFO); 672 RFC_RC RfcGetParameterDescByName(RFC_FUNCTION_DESC_HANDLE, const(SAP_UC)*, out RFC_PARAMETER_DESC, out RFC_ERROR_INFO); 673 RFC_RC RfcAddException(RFC_FUNCTION_DESC_HANDLE, RFC_EXCEPTION_DESC*, out RFC_ERROR_INFO); 674 RFC_RC RfcGetExceptionCount(RFC_FUNCTION_DESC_HANDLE, out uint, out RFC_ERROR_INFO); 675 RFC_RC RfcGetExceptionDescByIndex(RFC_FUNCTION_DESC_HANDLE, uint, out RFC_EXCEPTION_DESC, out RFC_ERROR_INFO); 676 RFC_RC RfcGetExceptionDescByName(RFC_FUNCTION_DESC_HANDLE, const(SAP_UC)*, out RFC_EXCEPTION_DESC, out RFC_ERROR_INFO); 677 RFC_RC RfcEnableBASXML(RFC_FUNCTION_DESC_HANDLE, out RFC_ERROR_INFO); 678 RFC_RC RfcIsBASXMLSupported(RFC_FUNCTION_DESC_HANDLE, out int, out RFC_ERROR_INFO); 679 RFC_RC RfcDestroyFunctionDesc(RFC_FUNCTION_DESC_HANDLE, out RFC_ERROR_INFO); 680 RFC_RC RfcEnableAbapClassException(RFC_FUNCTION_HANDLE, RFC_CONNECTION_HANDLE, out RFC_ERROR_INFO); 681 RFC_RC RfcIsAbapClassExceptionEnabled(RFC_FUNCTION_HANDLE, out int, out RFC_ERROR_INFO); 682 683 RFC_CLASS_DESC_HANDLE RfcCreateClassDesc(const(SAP_UC)*, out RFC_ERROR_INFO); 684 RFC_RC RfcGetClassName(RFC_CLASS_DESC_HANDLE, out RFC_ABAP_NAME, out RFC_ERROR_INFO); 685 RFC_RC RfcAddClassAttribute(RFC_CLASS_DESC_HANDLE, RFC_CLASS_ATTRIBUTE_DESC*, out RFC_ERROR_INFO); 686 RFC_RC RfcGetClassAttributesCount(RFC_CLASS_DESC_HANDLE, out uint, out RFC_ERROR_INFO); 687 RFC_RC RfcGetClassAttributeDescByIndex(RFC_CLASS_DESC_HANDLE, uint, out RFC_CLASS_ATTRIBUTE_DESC, out RFC_ERROR_INFO); 688 RFC_RC RfcGetClassAttributeDescByName(RFC_CLASS_DESC_HANDLE, const(SAP_UC)*, out RFC_CLASS_ATTRIBUTE_DESC, out RFC_ERROR_INFO); 689 RFC_RC RfcGetParentClassByIndex(RFC_CLASS_DESC_HANDLE, RFC_CLASS_NAME, uint, out RFC_ERROR_INFO); 690 RFC_RC RfcGetParentClassesCount(RFC_CLASS_DESC_HANDLE, out uint, out RFC_ERROR_INFO); 691 RFC_RC RfcAddParentClass(RFC_CLASS_DESC_HANDLE, RFC_CLASS_NAME, out RFC_ERROR_INFO); 692 RFC_RC RfcGetImplementedInterfaceByIndex(RFC_CLASS_DESC_HANDLE, uint, RFC_CLASS_NAME, out RFC_ERROR_INFO); 693 RFC_RC RfcGetImplementedInterfacesCount(RFC_CLASS_DESC_HANDLE, out uint, out RFC_ERROR_INFO); 694 RFC_RC RfcAddImplementedInterface(RFC_CLASS_DESC_HANDLE, RFC_CLASS_NAME, out RFC_ERROR_INFO); 695 RFC_RC RfcDestroyClassDesc(RFC_CLASS_DESC_HANDLE, out RFC_ERROR_INFO); 696 697 alias RFC_METADATA_QUERY_RESULT_HANDLE = void*; 698 699 struct RFC_METADATA_QUERY_RESULT_ENTRY 700 { 701 RFC_ABAP_NAME name; 702 SAP_UC[512] errorMessage; 703 } 704 705 enum RFC_METADATA_OBJ_TYPE 706 { 707 RFC_METADATA_FUNCTION, 708 RFC_METADATA_TYPE, 709 RFC_METADATA_CLASS 710 } 711 712 RFC_METADATA_QUERY_RESULT_HANDLE RfcCreateMetadataQueryResult(out RFC_ERROR_INFO); 713 RFC_RC RfcDestroyMetadataQueryResult(RFC_METADATA_QUERY_RESULT_HANDLE, out RFC_ERROR_INFO); 714 RFC_RC RfcDescribeMetadataQueryResult(RFC_METADATA_QUERY_RESULT_HANDLE, RFC_METADATA_OBJ_TYPE, uint*, uint*, out RFC_ERROR_INFO); 715 RFC_RC RfcGetMetadataQueryFailedEntry(RFC_METADATA_QUERY_RESULT_HANDLE, RFC_METADATA_OBJ_TYPE, uint, RFC_METADATA_QUERY_RESULT_ENTRY*, out RFC_ERROR_INFO); 716 RFC_RC RfcGetMetadataQuerySucceededEntry(RFC_METADATA_QUERY_RESULT_HANDLE, RFC_METADATA_OBJ_TYPE, uint, ref RFC_ABAP_NAME, out RFC_ERROR_INFO); 717 RFC_RC RfcMetadataBatchQuery(RFC_CONNECTION_HANDLE, SAP_UC**, uint, SAP_UC**, uint, SAP_UC**, uint, RFC_METADATA_QUERY_RESULT_HANDLE, out RFC_ERROR_INFO);