Show TOC

Sample Configuration Files for the RFC Input AdapterLocate this document in the navigation structure

Sample configuration files for the RFC Input adapter are located in the $STREAMING_HOME\adapters\rfc\examples directory on Windows or the $STREAMING_HOME/adapters/rfc/examples directory on UNIX.

Here is a sample configuration file for a simple input adapter running in generic RFC mode.

<?xml version="1.0" encoding="utf-8"?>
<Adapter>
	<Name>RFC Input Adapter</Name>
	<Description>This input adapter retrieves data from an SAP system and publishes it to a stream</Description>
	<ControlPort>19051</ControlPort>
	<Modules>
		<Module type="transporter">
			<InstanceName>RFCPollingInputTransporter</InstanceName>
			<Name>RFCInputTransporter</Name>
			<Polling>
				<Enabled>true</Enabled>
				<TimeInterval>2000</TimeInterval>
			</Polling>
			<Next>InStream_Publisher</Next>
			<Parameters>
				<RFCInputTransporterParameters>
					<Host>hostname</Host>
					<SystemNumber>00</SystemNumber>
					<Client>000</Client>
					<SAPUser>user</SAPUser>
					<SAPPassword encrypted="false">password</SAPPassword>
					<Keystore>keystore.jks</Keystore>
					<KeystorePassword>password</KeystorePassword>
					<RFC>
						<Functions>
							<Function>STFC_DEEP_TABLE</Function>
						</Functions>
						<Mapping>mapping.xml</Mapping>
					</RFC>
				</RFCInputTransporterParameters>
			</Parameters>
		</Module>
		
		<Module type="espconnector">
			<InstanceName>InStream_Publisher</InstanceName>
			<Name>EspPublisher</Name>
			<Parameters>
				<EspPublisherParameters>
					<ProjectName>EspProject1</ProjectName>
					<StreamName>MyInStream</StreamName>
				</EspPublisherParameters>
			</Parameters>
		</Module>
	</Modules>
	
	<EspProjects>
		<EspProject>
			<Name>EspProject1</Name>
			<Uri>esp[s]://localhost:19011/w1/p1</Uri>
			
			<!--can specify multiple uri’s -->
			<Security>
				<User>user</User>
				<Password encrypted="false">password</Password>
				<AuthType>user_password</AuthType>
				<!--	
				<RSAKeyStore>/keystore/keystore.jks</RSAKeyStore>
				<RSAKeyStorePassword>password</RSAKeyStorePassword>
				-->
				<!--
				<KerberosKDC>KDC</KerberosKDC>
				<KerberosRealm>REALM</KerberosRealm>
				<KerberosService>service/instance</KerberosService>
				<KerberosTicketCache>/tmp/krb5cc_user</KerberosTicketCache>
				-->
				<EncryptionAlgorithm>RSA</EncryptionAlgorithm>
			</Security>
		</EspProject>
	</EspProjects>
	<GlobalParameters></GlobalParameters>
</Adapter>

Here is a sample configuration file for a simple input adapter which supports calling multiple RFCs in sequence. This is also known as RFC chaining. An example would be having two RFCs: RFC1 and RFC2. RFC2 produces the data to submit to Event Stream Processor but it requires input data that is obtained from the output of RFC1. In this case, you would first call RFC1 and then RFC2 to come up with the data for publishing into Event Stream Processor.

To specify the output parameter of a previous RFC as input, in the <parameter> definition of the mapping file, set the valueType attribute to “chain”, the sourceType attribute to the output parameter type (for example, export, changing, or table), and the value of the element to the name of the output parameter of the previous RFC.

In an RFC chain, only the output from the last RFC in the chain can be mapped to a stream. In this example, the sequence is ESP_DEV_CHAIN1 to ESP_DEV_CHAIN2 to ESP_DEV_CHAIN3.

<?xml version="1.0" encoding="utf-8"?>
<Adapter>
	<Name>RFC Input Adapter</Name>
	<Description>This input adapter retrieves data from an SAP system and publishes it to a stream</Description>
	<ControlPort>19051</ControlPort>
	<Modules>
		<Module type="transporter">
			<InstanceName>RFCPollingInputTransporter</InstanceName>
			<Name>RFCInputTransporter</Name>
			<Polling>
				<Enabled>true</Enabled>
				<TimeInterval>30000</TimeInterval>
			</Polling>
			<Next>InStream_Publisher</Next>
			<Parameters>
				<RFCInputTransporterParameters>
					<Host>hostname</Host>
					<SystemNumber>00</SystemNumber>
					<Client>000</Client>
					<SAPUser>user</SAPUser>
					<SAPPassword encrypted="false">password</SAPPassword>
					<Keystore>keystore.jks</Keystore>
					<KeystorePassword>password</KeystorePassword>
					<RFC>
						<Functions>
							<Function>ESP_DEV_CHAIN1</Function>
							<Function>ESP_DEV_CHAIN2</Function>
							<Function>ESP_DEV_CHAIN3</Function>
						</Functions>
						<Mapping>mapping.xml</Mapping>
					</RFC>
				</RFCInputTransporterParameters>
			</Parameters>
		</Module>
		
		<Module type="espconnector">
			<InstanceName>InStream_Publisher</InstanceName>
			<Name>EspPublisher</Name>
			<Parameters>
				<EspPublisherParameters>
					<ProjectName>EspProject1</ProjectName>
					<StreamName>MyInStream</StreamName>
				</EspPublisherParameters>
			</Parameters>
		</Module>
	</Modules>
	
	<EspProjects>
		<EspProject>
			<Name>EspProject1</Name>
			<Uri>esp[s]://localhost:19011/w1/p1</Uri>
			
			<!--can specify multiple uri’s -->
			<Security>
				<User>user</User>
				<Password encrypted="false">password</Password>
				<AuthType>user_password</AuthType>
				<!--	
				<RSAKeyStore>/keystore/keystore.jks</RSAKeyStore>
				<RSAKeyStorePassword>password</RSAKeyStorePassword>
				-->
				<!--
				<KerberosKDC>KDC</KerberosKDC>
				<KerberosRealm>REALM</KerberosRealm>
				<KerberosService>service/instance</KerberosService>
				<KerberosTicketCache>/tmp/krb5cc_user</KerberosTicketCache>
				-->
				<EncryptionAlgorithm>RSA</EncryptionAlgorithm>
			</Security>
		</EspProject>
	</EspProjects>
	<GlobalParameters></GlobalParameters>
</Adapter>

Here is a sample configuration file for an input adapter running in read table mode.

<?xml version="1.0" encoding="utf-8"?>
<Adapter>
	<Name>RFC Input Adapter</Name>
	<Description>This input adapter retrieves data from an SAP system and publishes it to a stream</Description>
	<ControlPort>19051</ControlPort>
	<Modules>
		<Module type="transporter">
			<InstanceName>RFCPollingInputTransporter</InstanceName>
			<Name>RFCInputTransporter</Name>
			<Polling>
				<Enabled>true</Enabled>
				<TimeInterval>2000</TimeInterval>
			</Polling>
			<Next>InStream_Publisher</Next>
			<Parameters>
				<RFCInputTransporterParameters>
					<Host>hostname</Host>
					<SystemNumber>00</SystemNumber>
					<Client>000</Client>
					<SAPUser>user</SAPUser>
					<SAPPassword encrypted="false">password</SAPPassword>
					<Keystore>keystore.jks</Keystore>
					<KeystorePassword>password</KeystorePassword>
					<ReadTable>
						<Table>ZC010</Table>
						<Mapping>mapping.xml</Mapping>
						<RowCount>20</RowCount>
						<Fields>
							<Field>LAND1</Field>
							<Field>NOM</Field>
						</Fields>
						<Options>
							<Option>LAND1 = 'FR'</Option>
							<Option>AND FLAG = 'X'</Option>
						</Options>
					</ReadTable>
				</RFCInputTransporterParameters>
			</Parameters>
		</Module>
		
		<Module type="espconnector">
			<InstanceName>InStream_Publisher</InstanceName>
			<Name>EspPublisher</Name>
			<Parameters>
				<EspPublisherParameters>
					<ProjectName>EspProject1</ProjectName>
					<StreamName>MyInStream</StreamName>
				</EspPublisherParameters>
			</Parameters>
		</Module>
	</Modules>
	
	<EspProjects>
		<EspProject>
			<Name>EspProject1</Name>
			<Uri>esp[s]://localhost:19011/w1/p1</Uri>
			
			<!--can specify multiple uri’s -->
			<Security>
				<User>user</User>
				<Password encrypted="false">password</Password>
				<AuthType>user_password</AuthType>
				<!--	
				<RSAKeyStore>/keystore/keystore.jks</RSAKeyStore>
				<RSAKeyStorePassword>password</RSAKeyStorePassword>
				-->
				<!--
				<KerberosKDC>KDC</KerberosKDC>
				<KerberosRealm>REALM</KerberosRealm>
				<KerberosService>service/instance</KerberosService>
				<KerberosTicketCache>/tmp/krb5cc_user</KerberosTicketCache>
				-->
				<EncryptionAlgorithm>RSA</EncryptionAlgorithm>
			</Security>
		</EspProject>
	</EspProjects>
	<GlobalParameters></GlobalParameters>
</Adapter>

Here is a sample configuration file for an input adapter running in BW mode.

<?xml version="1.0" encoding="utf-8"?>
<Adapter>
	<Name>RFC Input Adapter</Name>
	<Description>This input adapter retrieves data from an SAP system and publishes it to a stream</Description>
	<ControlPort>19051</ControlPort>
	<Modules>
		<Module type="transporter">
			<InstanceName>RFCPollingInputTransporter</InstanceName>
			<Name>RFCInputTransporter</Name>
			<Polling>
				<Enabled>true</Enabled>
				<TimeInterval>2000</TimeInterval>
			</Polling>
			<Next>InStream_Publisher</Next>
			<Parameters>
				<RFCInputTransporterParameters>
					<Host>hostname</Host>
					<SystemNumber>00</SystemNumber>
					<Client>000</Client>
					<SAPUser>user</SAPUser>
					<SAPPassword encrypted="false">password</SAPPassword>
					<Keystore>keystore.jks</Keystore>
					<KeystorePassword>password</KeystorePassword>
					<BW>
						<Query>Z_BOBJ/QRY_VAR_M_MDT</Query>
						<MDX>
							<Line>SELECT</Line>
							<Line>{[Measures].[BAN585JW5ZM9KK6V1T6O36S0C]} ON COLUMNS,</Line>
							<Line>NON EMPTY [Z_REGION].[LEVEL01].MEMBERS ON ROWS</Line>
							<Line>FROM Z_BOBJ/QRY_VAR_M_MDT</Line>
						</MDX>
						<Mapping>mapping.xml</Mapping>
					</BW>
				</RFCInputTransporterParameters>
			</Parameters>
		</Module>
		
		<Module type="espconnector">
			<InstanceName>InStream_Publisher</InstanceName>
			<Name>EspPublisher</Name>
			<Parameters>
				<EspPublisherParameters>
					<ProjectName>EspProject1</ProjectName>
					<StreamName>MyInStream</StreamName>
				</EspPublisherParameters>
			</Parameters>
		</Module>
	</Modules>
	
	<EspProjects>
		<EspProject>
			<Name>EspProject1</Name>
			<Uri>esp[s]://localhost:19011/w1/p1</Uri>
			
			<!--can specify multiple uri’s -->
			<Security>
				<User>user</User>
				<Password encrypted="false">password</Password>
				<AuthType>user_password</AuthType>
				<!--	
				<RSAKeyStore>/keystore/keystore.jks</RSAKeyStore>
				<RSAKeyStorePassword>password</RSAKeyStorePassword>
				-->
				<!--
				<KerberosKDC>KDC</KerberosKDC>
				<KerberosRealm>REALM</KerberosRealm>
				<KerberosService>service/instance</KerberosService>
				<KerberosTicketCache>/tmp/krb5cc_user</KerberosTicketCache>
				-->
				<EncryptionAlgorithm>RSA</EncryptionAlgorithm>	
			</Security>
		</EspProject>
	</EspProjects>
	<GlobalParameters></GlobalParameters>
</Adapter>