Functionality This function module receives the technical name of the DataStore objectas a return parameter. Data is transferred in the generic table with thenew/changed records. A check is carried out to see whether the DataStore object is aDataStore object for direct writing. Then the data is converted from the250-byte format to the structure of the DataStore object and inserted inthe object. The number of data records inserted is returned (e_numrows).In the event of errors during this process, the relevant exception isreturned. Notes You must use the parameter I_RFCDATA_UC for data transfer, especiallywhen packed data formats are used in the DataStore object (INT4, Float,...), because of the fact that conversion errors may occur during theinternal table transfer. You must load the data into a table with the same structure of theDataStore object first. Then the data must be exported in the followingway: EXPORT rsdri = TO DATA BUFFER rsdri is a constant that MUST be used. The objects in parenthesis are,on the one hand, the table that is filled with the data, and on theother hand, the XString variable to which the data is transferred. When you want to change data in a DataStore object, you must transferthe values of all InfoObjects in the DataStore object structure, notonly the data that has changed. Thus, each record in the DataStoreobject, uniquely identifiable by a primary key, is replaced by a newdata record. Table I_T_DATA has a flat, 250-byte long structure. Data is stored inthe DATA field. If the structure of the DataStore object table is longerthan 250 bytes, additional rows are required. The first row of theCONTINUATION field should be blank and all additional rows should bemarked with an X. Data is either accepted in full or rejected in full. For this reason,you must ensure that the data is correct and in particular ensure thatthe structure of the data matches the structure of the DataStore objecttable exactly. Incorrect data or structures may result in SQL errors,exceptions, or in data being transferred in the wrong format.
- Since a DataStore object for direct writing is often supplied with new
data, lock management must be implemented in the calling object. Forexample, you might implement no lock (except at database level) forquick changes to a small number of records but implement a lock forlengthy changes involving a large number of records.Further technical notes: The RFC-enabled function module RSDRI_ODSO_UPDATE_RFC uses the localfunction module RSDRD_SEL_UPDATE. For remote calls, you should use the function moduleRSDRI_ODSO_UPDATE_RFC. For local calls, you should use the functionmodule RSDRD_SEL_UPDATE, so that data conversions are saved before andafter the call and also to improve performance. Description Technical name of the DataStore object.
|