ERP Integrator V2 - Online Help
ERP Integrator V2
Questions / Feedback?

SapReadTable Class

Properties   Methods   Events   Configuration Settings   Errors  

The SapReadTable provides an easy way to read a table hosted on a remote R/3 (NetWeaver) system.

Class Name

InERP_SapReadTable

Procedural Interface

 inerp_sapreadtable_open();
 inerp_sapreadtable_close($res);
 inerp_sapreadtable_register_callback($res, $id, $function);
 inerp_sapreadtable_get_last_error($res);
 inerp_sapreadtable_get_last_error_code($res);
 inerp_sapreadtable_set($res, $id, $index, $value);
 inerp_sapreadtable_get($res, $id, $index);
 inerp_sapreadtable_do_abortconnection($res, $errormessage);
 inerp_sapreadtable_do_closeconnection($res);
 inerp_sapreadtable_do_config($res, $configurationstring);
 inerp_sapreadtable_do_doevents($res);
 inerp_sapreadtable_do_getattributes($res);
 inerp_sapreadtable_do_interrupt($res);
 inerp_sapreadtable_do_openconnection($res);
 inerp_sapreadtable_do_querytablefields($res);
 inerp_sapreadtable_do_readtable($res);
 inerp_sapreadtable_do_reset($res);

Remarks

The purpose of this class is to make reading a table that is hosted on a SAP server extremely simple.

There are just a few steps you need to make before you can begin reading tables: First you set your connection credentials and connect to the SAP system (see Setting Up a Connection with a SAP System for details). Then you will need to retrieve the table fields by calling QueryTableFields. Then set the QueryFields with the fields that you would like to query and the QueryOptions with any options you would like to set. Then call ReadTable and after the method successfully returns, ResultRowCount ResultRowData, and ResultColumns will be populated.

The following example shows how to read a table hosted on the SAP server. First we provide login credentials and connect.

  SapClient1.SapConnectionConnectionType = ctNetWeaver
  SapClient1.SapConnectionClient = "000"
  SapClient1.SapConnectionDestination = ""
  SapClient1.SapConnectionHost = "localhost"
  SapClient1.SapConnectionUser = "BCUSER"
  SapClient1.SapConnectionPassword = "minisap"
  SapClient1.SapConnectionSystemNumber = 0
  SapClient1.OpenConnection()
Note that the credentials above are for connecting to a trial NetWeaver installation. You will need to provide your own credentials when connecting to your own SAP installation.

Now you will need to provide the TableName that you wish read and then call QueryTableFields.

  readTable.TableName = "ZCARS";
  readTable.QueryTableFields();
  Console.WriteLine("Name \tLength \tColumnType \tValue");
  for (int i = 0; i < readTable.TableFields.Count; ++i)
  {
    SapColumn col = readTable.TableFields[i];
    if (col.ColumnType == ColumnTypes.ctPackedDecimal)
      Console.WriteLine(col.Name + "\t" + col.Length + "\t" + col.ColumnType + "\t" + readTable.Config("TableFieldDecimal=" + i));
    else
      Console.WriteLine(col.Name + "\t" + col.Length + "\t" + col.ColumnType + "\t" + col.Value);
  }
After you have the TableFields you will need to select which fields you would like to query as well as select any additional options you would like to use before reading the table.
  readTable.QueryFields = "CLIENT,CATEGORY";
  readTable.QueryOptions = "CLIENT = '000' ,AND CATEGORY = 'A'";
  readTable.ReadTable();
To read the you would need to do something like this:
  for (int i = 0; i < readTable.ResultRowCount; ++i)
  {
    readTable.ResultRowIndex = i;
    for (int j = 0; j < readTable.ResultColumns.Count; ++j)
    {
      SapColumn col = readTable.ResultColumns[j];
      Console.Write(col.Value + "\t");
    }
    Console.WriteLine();
  }
The above code will output something very similar to this:
000	A	
000	A	
000	A	

Dependency Notes

If the class is not configured to use the SOAP interface, it will use the sapnwrfc.dll, librfc32.dll, librfc32u.dll, or the Java Connector (JCo) to connect to the SAP system. Although the Java Connector is only available when programming in Java on Windows.

The NetWeaver RFC SDK (sapnwrfc.dll) offers both a 32 bit and 64 bit version. Likewise, the SAP RFC SDK offers as 32 bit and 64 bit version of both a unicode (librfc32u.dll) and non-unicode (librfc32.dll) library.

The NetWeaver RFC SDK will be used if the SapConnectionType is set to ctNetWeaver (0). The following libraries from the NetWeaver RFC SDK must be available at runtime:

  • sapnwrfc.dll
  • icudt30.dll
  • icuin30.dll
  • icuuc30.dll
  • libicudecnumber.dll
  • libsapucum.dll
Note that the dll names may be different depending on the version of the SAP RFC SDK installed. The examples above are for version 3.0.

The non-unicode library will be used if the SapConnectionType is set to ctClassic (1). This simply requires that the librfc32.dll be placed in a location that is accessible at runtime. (0).

The unicode library will be used if the SapConnectionType is set to ctClassicUnicode (2). The following libraries from the SAP RFC SDK must be available at runtime:

  • librfc32u.dll
  • icudt30.dll
  • icuin30.dll
  • icuuc30.dll
Note that the dll names may be different depending on the version of the SAP RFC SDK installed. The examples above are for version 3.0.

The Java Connector (JCo) will be used if the SapConnectionType is set to ctJavaConnector (4). In order to use this, you must first add the sapjco3.jar file to your project.

The 32 bit and 64 bit versions do not require any special settings within the classs. The only requirement is that your application target the same platform as the DLL.

Property List


The following is the full list of the properties of the class with short descriptions. Click on the links for further details.

ConnectedIndicates whether or not the component is connected to the SAP system.
MaxRowsThe maximum number of rows.
QueryFieldsThe fields to be queried.
QueryOptionsSelection criteria for reading table lines.
ResultColumnCountThe number of records in the ResultColumn arrays.
ResultColumnTypeThe type of the column.
ResultColumnLengthThe maximum length of the data stored in Value .
ResultColumnNameThe name of the column.
ResultColumnTableIndexThis should be set if the ColumnType is set to ctTable.
ResultColumnValueThis is the actual data contained in the column.
ResultRowCountThe total number of rows retrieved.
ResultRowDataThe raw binary data that makes up a row.
ResultRowIndexThe index of the current row.
RowOffsetThe number of rows to be offset.
SapAttributeApplicationNameThe name of the calling program.
SapAttributeClientThe client authenticating to the SAP system.
SapAttributeDestinationDestination that you are currently connected to.
SapAttributeKernelVersionThe release version of the kernel.
SapAttributeLanguageOne character code indicating the language of the system.
SapAttributeLanguageCodeTwo-character ISO 639-1 code indicating the language of the system.
SapAttributeOwnCodePageThe code page of your system.
SapAttributeOwnHostThe name of the host you're connected to.
SapAttributeOwnTypeThe type of your own system.
SapAttributeOwnVersionThe release version of your system.
SapAttributePartnerCharSizeThe length of a character on the partner's system.
SapAttributePartnerCodePageThe code page of your partner's system.
SapAttributePartnerHostPartner host name.
SapAttributePartnerTypeThe type of the partner's system.
SapAttributePartnerVersionThe release version of the partner's system.
SapAttributePasswordStateThe state of the password.
SapAttributeReservedThis property may contain an additional 160 bytes of data which is reserved for future new attributes returned by the R/3 server.
SapAttributeRoleIndicates whether you're connected as a client or server application.
SapAttributeSystemNameThe name or id of the R/3 system you're currently connected to.
SapAttributeSystemNumberThe system number of the R/3 server you're connected to.
SapAttributeTraceOnIndicates whether debug tracing is active or not.
SapAttributeUserThe login credential which was used to connect to the R/3 server.
SapConnectionClientThe client authenticating to the SAP system.
SapConnectionTypeSpecifies how the connection is made to the SAP server.
SapConnectionDestinationReference to an existing destination that is specified in a local saprfc.
SapConnectionGatewayHostThe gateway host you wish to connect to.
SapConnectionGatewayServiceThe gateway service you wish to connect to.
SapConnectionHostHost name of the target system.
SapConnectionLanguageThe language value to be used when connecting SAP system.
SapConnectionPasswordThe password used to authenticate to the SAP system.
SapConnectionSoapURLThe URL of the SOAP service on the SAP system.
SapConnectionSystemNumberThe number by which the target system is defined.
SapConnectionUserThe user that is authenticating to the SAP system.
SSLAcceptServerCertEncodedThe certificate (PEM/base64 encoded).
SSLCertEncodedThe certificate (PEM/base64 encoded).
SSLCertStoreThe name of the certificate store for the client certificate.
SSLCertStorePasswordIf the certificate store is of a type that requires a password, this property is used to specify that password in order to open the certificate store.
SSLCertStoreTypeThe type of certificate store for this certificate.
SSLCertSubjectThe subject of the certificate used for client authentication.
SSLServerCertEncodedThe certificate (PEM/base64 encoded).
TableFieldCountThe number of records in the TableField arrays.
TableFieldTypeThe type of the column.
TableFieldLengthThe maximum length of the data stored in Value .
TableFieldNameThe name of the column.
TableFieldTableIndexThis should be set if the ColumnType is set to ctTable.
TableFieldValueThis is the actual data contained in the column.
TableNameThe name of the table you wish to query.
TimeoutLength of time in seconds the component waits for a response from the SAP system.

Method List


The following is the full list of the methods of the class with short descriptions. Click on the links for further details.

AbortConnectionUsed to terminate a connection to the SAP system.
CloseConnectionCloses a connection to the SAP system.
ConfigSets or retrieves a configuration setting .
DoEventsProcesses events from the internal message queue.
GetAttributesRetrieves attributes about the SAP system you're currently connected to.
InterruptInterrupt the current method.
OpenConnectionOpens a connection to the SAP system.
QueryTableFieldsRetrieves all fields meta data for a table.
ReadTableRetrieves the table data.
ResetResets the component to its initial state.

Event List


The following is the full list of the events fired by the class with short descriptions. Click on the links for further details.

ErrorInformation about errors during data delivery.
SSLServerAuthenticationFired after the server presents its certificate to the client.
SSLStatusShows the progress of the secure connection.
StatusDetailed status messages for debugging purposes.

Configuration Settings


The following is a list of configuration settings for the class with short descriptions. Click on the links for further details.

TableFieldDecimalDecimal value of table field.
CustomReadTableFunctionCustom ReadTable function.
LogPerformanceDataLogs the performance information when a function is called.
LogRawDataLogs the raw data being sent and received.
ParseTablesIndicates whether to parse tables into rows and columns.
ResponseParamText[i]The value of the PARAMTEXT for the specified reponse parameter.
RequestParamText[i]The value of the PARAMTEXT for the specified request parameter.
GroupThe logon group.
MessageServerService name of load balancer service.
SncLibPathThe external security product's library.
SncModeThe SNC activation indicator.
SncNameThe Initiator's SNC name.
SncPartnerNameThe communication partner's SNC name.
SncQopThe quality of protection level.
SystemIDThe system ID of the SAP system.
LocalHostThe IP address of the local interface.
ProxyAutoDetectWhether or not to automatically detect and use proxy system settings, if available.
ProxyAuthorizationThe authorization string to be sent to the proxy server.
ProxyAuthSchemeThe authorization scheme to be used for the proxy.
ProxyPasswordA password if authentication is to be used for the proxy.
ProxyPortPort for the proxy server (default 80).
ProxyServerName or IP address of a proxy server (optional).
ProxyUserA user name if authentication is to be used for the proxy.
FirewallAutoDetectTells the component whether or not to automatically detect and use firewall system settings, if available.
FirewallHostName or IP address of firewall (optional).
FirewallPasswordPassword to be used if authentication is to be used when connecting through the firewall.
FirewallPortThe TCP port for the FirewallHost;.
FirewallUserA user name if authentication is to be used connecting through a firewall.
FirewallTypeDetermines the type of firewall to connect through.
CodePageThe system code page used for Unicode to Multibyte translations.

 
 
Copyright (c) 2017 /n software inc. - All rights reserved.
Build 2.0.6240.0