public class RfmRequest extends AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
Use the class BapiRequest
to call BAPIs in an ERP system.
The signature of an RFM consists of importing, exporting, changing, and tables parameters.
From the perspective of the RFM caller, input data is considered as exporting, output data is considered as importing, tables, and changing parameters can be used for both directions. The methods of this class are named following the caller's perspective.
From the perspective of the RFM, importing means input data, exporting means output data, changing, and tables parameters can be used for both directions.
Example:
Calling a RFM with one importing parameter (from RFM perspective) requires to utilize the method
withExporting(String, String)
. Consider all existing variants of this method depending on the Java data type
of the parameter, e.g. use withExporting(String, String, String)
to pass a String object.
The data type (i.e. the data dictionary object) of importing and exporting parameters (regardless of the perspective) can either be a data element, a structure, or a table type.
withExporting(String, String)
and its data type dependent variants to supply an exporting RFM
parameter reflected by a data element.withExportingFields(String, String, Fields)
to supply an exporting RFM parameter reflected by a
structure.withExportingTable(String, String)
to supply an exporting RFM parameter reflected by a table
type.
After calling execute(Destination)
use the class RfmRequestResult
to access the results of the RFM
call (e.g. the exporting parameters from the RFM perspective respectively the importing parameters from the caller's
perspective).
commitStrategy, constructedByMethod, functionName, remoteFunctionRequestErrorHandler
Constructor and Description |
---|
RfmRequest(String functionName)
Constructs a synchronous remote function call request for which the result will be committed.
|
RfmRequest(String functionName,
boolean commit)
Constructs a remote function call request.
|
RfmRequest(String functionName,
CommitStrategy commitStrategy)
Constructs a remote function call request.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
canEqual(Object other) |
boolean |
equals(Object o) |
RfmRequestResult |
execute(Destination destination)
Executes a given request using the given
Destination . |
Set<String> |
getExceptionNames() |
RfmTransactionFactory |
getTransactionFactory() |
int |
hashCode() |
RfmRequest |
ignoringErrors()
Specifies to invoke a
RemoteFunctionRequestErrorHandler after the request execution which does not
inspect the RfmRequestResult and, therefore, does not throw a
RemoteFunctionException . |
protected RfmRequest |
instance()
Convenience method that returns the current instance.
|
RfmRequest |
propagatingErrorsAsExceptions()
Specifies to invoke a
RemoteFunctionRequestErrorHandler after the request execution which inspects the
RfmRequestResult and throws a
RemoteFunctionException or one of its more-specific
exceptions depending on the returned error messages of the request. |
String |
toString() |
RfmRequest |
withChanging(String name,
String dataType)
Adds a changing parameter.
|
RfmRequest |
withChanging(String name,
String dataType,
BigDecimal value)
Adds a changing
BigDecimal parameter. |
RfmRequest |
withChanging(String name,
String dataType,
BigInteger value)
Adds a changing
BigInteger parameter. |
RfmRequest |
withChanging(String name,
String dataType,
Boolean value)
Adds a changing
Boolean parameter. |
RfmRequest |
withChanging(String name,
String dataType,
Byte value)
Adds a changing
Byte parameter. |
RfmRequest |
withChanging(String name,
String dataType,
Character value)
Adds a changing
Character parameter. |
RfmRequest |
withChanging(String name,
String dataType,
Double value)
Adds a changing
Double parameter. |
RfmRequest |
withChanging(String name,
String dataType,
Float value)
Adds a changing
Float parameter. |
RfmRequest |
withChanging(String name,
String dataType,
Integer value)
Adds a changing
Integer parameter. |
RfmRequest |
withChanging(String name,
String dataType,
LocalDate value)
Adds a changing
LocalDate parameter. |
RfmRequest |
withChanging(String name,
String dataType,
Locale value)
Adds a changing
Locale parameter. |
RfmRequest |
withChanging(String name,
String dataType,
LocalTime value)
Adds a changing
LocalTime parameter. |
RfmRequest |
withChanging(String name,
String dataType,
Long value)
Adds a changing
Long parameter. |
RfmRequest |
withChanging(String name,
String dataType,
Short value)
Adds a changing
Short parameter. |
RfmRequest |
withChanging(String name,
String dataType,
String value)
Adds a changing
String parameter. |
<T extends ErpType<T>> |
withChanging(String name,
String dataType,
T value)
Adds a changing parameter.
|
<T> RfmRequest |
withChanging(String name,
String dataType,
T value,
ErpTypeConverter<T> typeConverter)
Adds a changing parameter.
|
RfmRequest |
withChanging(String name,
String dataType,
Year value)
Adds a changing
Year parameter. |
ParameterFields<RfmRequest> |
withChangingFields(String name,
String dataType)
Adds a changing fields parameter for multiple values.
|
RfmRequest |
withChangingFields(String name,
String dataType,
Fields fields)
Adds a changing fields parameter for multiple values.
|
Table<RfmRequest> |
withChangingTable(String name,
String dataType)
Adds a changing table parameter.
|
RfmRequest |
withErrorHandler(RemoteFunctionRequestErrorHandler remoteFunctionRequestErrorHandler)
Specifies to invoke the provided
RemoteFunctionRequestErrorHandler after the request has been executed. |
RfmRequest |
withException(String name)
Declares an expected exception from calling a remote function module.
|
RfmRequest |
withExporting(String name,
String dataType)
Adds an exporting parameter reflected by a data element.
|
RfmRequest |
withExporting(String name,
String dataType,
BigDecimal value)
Adds an exporting
BigDecimal parameter reflected by a data element. |
RfmRequest |
withExporting(String name,
String dataType,
BigInteger value)
Adds an exporting
BigInteger parameter reflected by a data element. |
RfmRequest |
withExporting(String name,
String dataType,
Boolean value)
Adds an exporting
Boolean parameter reflected by a data element. |
RfmRequest |
withExporting(String name,
String dataType,
Byte value)
Adds an exporting
Byte parameter reflected by a data element. |
RfmRequest |
withExporting(String name,
String dataType,
Character value)
Adds an exporting
Character parameter reflected by a data element. |
RfmRequest |
withExporting(String name,
String dataType,
Double value)
Adds an exporting
Double parameter reflected by a data element. |
RfmRequest |
withExporting(String name,
String dataType,
Float value)
Adds an exporting
Float parameter reflected by a data element. |
RfmRequest |
withExporting(String name,
String dataType,
Integer value)
Adds an exporting
Integer parameter reflected by a data element. |
RfmRequest |
withExporting(String name,
String dataType,
LocalDate value)
Adds an exporting
LocalDate parameter reflected by a data element. |
RfmRequest |
withExporting(String name,
String dataType,
Locale value)
Adds an exporting
Locale parameter reflected by a data element. |
RfmRequest |
withExporting(String name,
String dataType,
LocalTime value)
Adds an exporting
LocalTime parameter reflected by a data element. |
RfmRequest |
withExporting(String name,
String dataType,
Long value)
Adds an exporting
Long parameter reflected by a data element. |
RfmRequest |
withExporting(String name,
String dataType,
Short value)
Adds an exporting
Short parameter reflected by a data element. |
RfmRequest |
withExporting(String name,
String dataType,
String value)
Adds an exporting
String parameter reflected by a data element. |
<T extends ErpType<T>> |
withExporting(String name,
String dataType,
T value)
Adds an exporting parameter reflected by a data element.
|
<T> RfmRequest |
withExporting(String name,
String dataType,
T value,
ErpTypeConverter<T> typeConverter)
Adds an exporting parameter reflected by a data element.
|
RfmRequest |
withExporting(String name,
String dataType,
Year value)
Adds an exporting
Year parameter. |
ParameterFields<RfmRequest> |
withExportingFields(String name,
String dataType)
Adds an exporting parameter reflected by a structure.
|
RfmRequest |
withExportingFields(String name,
String dataType,
Fields fields)
Adds an exporting parameter reflected by a structure.
|
Table<RfmRequest> |
withExportingTable(String name,
String dataType)
Adds an exporting parameter reflected by a table type.
|
RfmRequest |
withImporting(String name,
String dataType)
Adds an importing parameter reflected by a data element.
|
RfmRequest |
withImporting(String name,
String dataType,
BigDecimal value)
Adds a importing
BigDecimal parameter reflected by a data element. |
RfmRequest |
withImporting(String name,
String dataType,
BigInteger value)
Adds a importing
BigInteger parameter reflected by a data element. |
RfmRequest |
withImporting(String name,
String dataType,
Boolean value)
Adds a importing
Boolean parameter reflected by a data element. |
RfmRequest |
withImporting(String name,
String dataType,
Byte value)
Adds a importing
Byte parameter reflected by a data element. |
RfmRequest |
withImporting(String name,
String dataType,
Character value)
Adds a importing
Character parameter reflected by a data element. |
RfmRequest |
withImporting(String name,
String dataType,
Double value)
Adds a importing
Double parameter reflected by a data element. |
RfmRequest |
withImporting(String name,
String dataType,
Float value)
Adds a importing
Float parameter reflected by a data element. |
RfmRequest |
withImporting(String name,
String dataType,
Integer value)
Adds a importing
Integer parameter reflected by a data element. |
RfmRequest |
withImporting(String name,
String dataType,
LocalDate value)
Adds a importing
LocalDate parameter reflected by a data element. |
RfmRequest |
withImporting(String name,
String dataType,
Locale value)
Adds a importing
Locale parameter reflected by a data element. |
RfmRequest |
withImporting(String name,
String dataType,
LocalTime value)
Adds a importing
LocalTime parameter reflected by a data element. |
RfmRequest |
withImporting(String name,
String dataType,
Long value)
Adds a importing
Long parameter reflected by a data element. |
RfmRequest |
withImporting(String name,
String dataType,
Short value)
Adds a importing
Short parameter reflected by a data element. |
RfmRequest |
withImporting(String name,
String dataType,
String value)
Adds a importing
String parameter reflected by a data element. |
<T extends ErpType<T>> |
withImporting(String name,
String dataType,
T value)
Adds an importing parameter reflected by a data element.
|
<T> RfmRequest |
withImporting(String name,
String dataType,
T value,
ErpTypeConverter<T> typeConverter)
Adds an importing parameter reflected by a data element.
|
RfmRequest |
withImporting(String name,
String dataType,
Year value)
Adds a importing
Year parameter reflected by a data element. |
RfmRequest |
withImportingAsReturn(String dataType)
Adds an importing parameter as a return parameter with the name defined by
AbstractRemoteFunctionRequest.RETURN_PARAMETER . |
RfmRequest |
withImportingAsReturn(String name,
String dataType)
Adds an importing parameter as a return parameter.
|
ParameterFields<RfmRequest> |
withImportingFields(String name,
String dataType)
Adds an importing parameter reflected by a structure.
|
RfmRequest |
withImportingFields(String name,
String dataType,
Fields fields)
Adds an importing parameter reflected by a structure.
|
Table<RfmRequest> |
withImportingTable(String name,
String dataType)
Adds an importing parameter reflected by a table type.
|
Table<RfmRequest> |
withTable(String name,
String dataType)
Adds a table parameter.
|
RfmRequest |
withTableAsReturn(String dataType)
Adds a table parameter as a return parameter with the name defined by
AbstractRemoteFunctionRequest.RETURN_PARAMETER . |
RfmRequest |
withTableAsReturn(String name,
String dataType)
Adds a table parameter as a return parameter.
|
RfmRequest |
withTypeConverters(ErpTypeConverter<?>... typeConverters)
|
RfmRequest |
withTypeConverters(Iterable<ErpTypeConverter<?>> typeConverters)
Registers the given
ErpTypeConverter s. |
getCommitStrategy, getConstructedByMethod, getFunctionName, getTypeConverters, isPerformingTransactionalCommit, newParameter, newParameterWithValue, newParameterWithValueList, newParameterWithValueList
getCustomHttpHeaders, getLongRunningRequestThreshold, getReadAccessData, getRequestId, getThis, setLongRunningRequestThreshold, withHeader, withHeader, withSameCustomHttpHeadersAs
public RfmRequest(String functionName) throws IllegalArgumentException
functionName
- The name of the function to be called.IllegalArgumentException
- If the given function is a BAPI, i.e., its name starts with the prefix "BAPI".public RfmRequest(@Nonnull String functionName, boolean commit) throws IllegalArgumentException
functionName
- The name of the function to be called.commit
- Decides whether to commit the result of the function call. If the commit parameter is true, the
transaction is executed synchronously by default. The transaction can also be executed asynchronously
by using the constructor RfmRequest(String, CommitStrategy)
.IllegalArgumentException
- If the given function is a BAPI, i.e., its name starts with the prefix "BAPI".public RfmRequest(String functionName, @Nonnull CommitStrategy commitStrategy) throws IllegalArgumentException
functionName
- The name of the function to be called.commitStrategy
- Decides on the CommitStrategy
IllegalArgumentException
- If the given function is a BAPI, i.e., its name starts with the prefix "BAPI". Or if the request
commit strategy is not supported.@Nonnull public RfmRequestResult execute(@Nonnull Destination destination) throws RequestSerializationException, RequestExecutionException, DestinationNotFoundException, DestinationAccessException
Destination
.execute
in class Request<RfmRequest,RfmRequestResult>
destination
- The Destination
to be used for request execution.RequestSerializationException
- If there is an issue while serializing the request.RequestExecutionException
- If there is an issue while executing the request.DestinationNotFoundException
- If no destination with the name specified in the Destination
can be found.DestinationAccessException
- If there is an issue while accessing destination information.@Nonnull protected RfmRequest instance()
instance
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
@Nonnull public RfmRequest withTypeConverters(@Nonnull Iterable<ErpTypeConverter<?>> typeConverters)
AbstractRemoteFunctionRequest
ErpTypeConverter
s. Replaces existing converters for already existing types that have
been added before.withTypeConverters
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
typeConverters
- The type converters to be added.@Nonnull public RfmRequest withTypeConverters(@Nonnull ErpTypeConverter<?>... typeConverters)
AbstractRemoteFunctionRequest
withTypeConverters
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
typeConverters
- The type converters to be added.@Nonnull public RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType)
Note: Exporting refers to the point of view of the caller. Thus, when a parameter is declared as importing on ABAP side, you have to specify it as exporting here.
withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.@Nonnull public <T extends ErpType<T>> RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, @Nullable T value)
Note: Exporting refers to the point of view of the caller. Thus, when a parameter is declared as importing on ABAP side, you have to specify it as exporting here.
withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
T
- The generic value type.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The value of the parameter.@Nonnull public <T> RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, T value, ErpTypeConverter<T> typeConverter)
Note: Exporting refers to the point of view of the caller. Thus, when a parameter is declared as importing on ABAP side, you have to specify it as exporting here.
withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
T
- The generic value type.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The value of the parameter.typeConverter
- A type converter defining how to convert the type of the given value to its ERP representation.@Nonnull public RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, @Nullable Boolean value)
Boolean
parameter reflected by a data element.withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withExporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, @Nullable Byte value)
Byte
parameter reflected by a data element.withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withExporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, @Nullable Character value)
Character
parameter reflected by a data element.withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withExporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, @Nullable String value)
String
parameter reflected by a data element.withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withExporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, @Nullable Short value)
Short
parameter reflected by a data element.withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withExporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, @Nullable Integer value)
Integer
parameter reflected by a data element.withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withExporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, @Nullable Long value)
Long
parameter reflected by a data element.withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withExporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, @Nullable Float value)
Float
parameter reflected by a data element.withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withExporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, @Nullable Double value)
Double
parameter reflected by a data element.withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withExporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, @Nullable BigInteger value)
BigInteger
parameter reflected by a data element.withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withExporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, @Nullable BigDecimal value)
BigDecimal
parameter reflected by a data element.withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withExporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, @Nullable Locale value)
Locale
parameter reflected by a data element.withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withExporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, @Nullable Year value)
Year
parameter. reflected by a data elementwithExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withExporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, @Nullable LocalDate value)
LocalDate
parameter reflected by a data element.withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withExporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withExporting(@Nonnull String name, @Nonnull String dataType, @Nullable LocalTime value)
LocalTime
parameter reflected by a data element.withExporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withExporting(String, String, Object, ErpTypeConverter)
@Nonnull public ParameterFields<RfmRequest> withExportingFields(@Nonnull String name, @Nonnull String dataType)
Note: Exporting refers to the point of view of the caller. Thus, when a parameter is declared as importing on ABAP side, you have to specify it as exporting here.
withExportingFields
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.@Nonnull public RfmRequest withExportingFields(@Nonnull String name, @Nonnull String dataType, @Nonnull Fields fields)
Note: Exporting refers to the point of view of the caller. Thus, when a parameter is declared as importing on ABAP side, you have to specify it as exporting here.
withExportingFields
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.fields
- The exporting fields.@Nonnull public Table<RfmRequest> withExportingTable(@Nonnull String name, @Nonnull String dataType)
Note: Exporting refers to the point of view of the caller. Thus, when a parameter is declared as importing on ABAP side, you have to specify it as exporting here.
withExportingTable
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.@Nonnull public RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType)
Note that importing is related to the point of view of the caller. Thus, when a parameter is declared as exporting on ABAP side, you have to specify it as importing here.
withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.@Nonnull public <T extends ErpType<T>> RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType, @Nullable T value)
Note that importing is related to the point of view of the caller. Thus, when a parameter is declared as exporting on ABAP side, you have to specify it as importing here.
withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
T
- The generic value type.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The value of the parameter.@Nonnull public <T> RfmRequest withImporting(String name, String dataType, T value, ErpTypeConverter<T> typeConverter)
Note that importing is related to the point of view of the caller. Thus, when a parameter is declared as exporting on ABAP side, you have to specify it as importing here.
withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
T
- The generic value type.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The value of the parameter.typeConverter
- A type converter defining how to convert the type of the given value to its ERP representation.@Nonnull public RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType, @Nullable Boolean value)
Boolean
parameter reflected by a data element.withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withImporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType, @Nullable Byte value)
Byte
parameter reflected by a data element.withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withImporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType, @Nullable Character value)
Character
parameter reflected by a data element.withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withImporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType, @Nullable String value)
String
parameter reflected by a data element.withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withImporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType, @Nullable Short value)
Short
parameter reflected by a data element.withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withImporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType, @Nullable Integer value)
Integer
parameter reflected by a data element.withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withImporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType, @Nullable Long value)
Long
parameter reflected by a data element.withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withImporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType, @Nullable Float value)
Float
parameter reflected by a data element.withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withImporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType, @Nullable Double value)
Double
parameter reflected by a data element.withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withImporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType, @Nullable BigInteger value)
BigInteger
parameter reflected by a data element.withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withImporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType, @Nullable BigDecimal value)
BigDecimal
parameter reflected by a data element.withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withImporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType, @Nullable Locale value)
Locale
parameter reflected by a data element.withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withImporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType, @Nullable Year value)
Year
parameter reflected by a data element.withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withImporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType, @Nullable LocalDate value)
LocalDate
parameter reflected by a data element.withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withImporting(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withImporting(@Nonnull String name, @Nonnull String dataType, @Nullable LocalTime value)
LocalTime
parameter reflected by a data element.withImporting
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The optional parameter value.AbstractRemoteFunctionRequest.withImporting(String, String, Object, ErpTypeConverter)
@Nonnull public ParameterFields<RfmRequest> withImportingFields(String name, String dataType)
Note that importing is related to the point of view of the caller. Thus, when a parameter is declared as exporting on ABAP side, you have to specify it as importing here.
withImportingFields
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.@Nonnull public RfmRequest withImportingFields(String name, String dataType, Fields fields)
Note that importing is related to the point of view of the caller. Thus, when a parameter is declared as exporting on ABAP side, you have to specify it as importing here.
withImportingFields
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.fields
- The importing fields.@Nonnull public Table<RfmRequest> withImportingTable(@Nonnull String name, @Nonnull String dataType)
Note that importing is related to the point of view of the caller. Thus, when a parameter is declared as exporting on ABAP side, you have to specify it as importing here.
withImportingTable
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.@Nonnull public RfmRequest withImportingAsReturn(@Nonnull String dataType)
AbstractRemoteFunctionRequest.RETURN_PARAMETER
.
Note that return parameters refer to parameters for which return messages will be parsed and translated to RemoteFunctionMessages.
withImportingAsReturn
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
dataType
- The ABAP data type of the parameter.@Nonnull public RfmRequest withImportingAsReturn(@Nonnull String name, @Nonnull String dataType)
Note that return parameters refer to parameters for which return messages will be parsed and translated to RemoteFunctionMessages.
withImportingAsReturn
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.@Nonnull public Table<RfmRequest> withTable(@Nonnull String name, @Nonnull String dataType)
withTable
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.@Nonnull public RfmRequest withTableAsReturn(@Nonnull String dataType)
AbstractRemoteFunctionRequest.RETURN_PARAMETER
.
Note that return parameters refer to parameters for which return messages will be parsed and translated to RemoteFunctionMessages.
withTableAsReturn
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
dataType
- The ABAP data type of the parameter.@Nonnull public RfmRequest withTableAsReturn(@Nonnull String name, @Nonnull String dataType)
Note that return parameters refer to parameters for which return messages will be parsed and translated to RemoteFunctionMessages.
withTableAsReturn
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
name
- The parameter name.dataType
- The ABAP data type of the parameter.@Nonnull public RfmRequest withChanging(@Nonnull String name, @Nonnull String dataType)
name
- The parameter name.dataType
- The ABAP data type of the parameter.RfmRequest
to facilitate a fluent interface.@Nonnull public <T extends ErpType<T>> RfmRequest withChanging(@Nonnull String name, @Nonnull String dataType, @Nullable T value)
T
- The type of the parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The value of the parameter.RfmRequest
to facilitate a fluent interface.@Nonnull public <T> RfmRequest withChanging(@Nonnull String name, @Nonnull String dataType, @Nonnull T value, ErpTypeConverter<T> typeConverter)
T
- The type of the parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The value of the parameter.typeConverter
- A type converter defining how to convert the type of the given value to its ERP representation.RfmRequest
to facilitate a fluent interface.@Nonnull public RfmRequest withChanging(String name, String dataType, Boolean value)
Boolean
parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The Boolean
value of the parameter.RfmRequest
to facilitate a fluent interface.withChanging(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withChanging(String name, String dataType, Byte value)
Byte
parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The Byte
value of the parameter.RfmRequest
to facilitate a fluent interface.withChanging(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withChanging(String name, String dataType, Character value)
Character
parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The Character
value of the parameter.RfmRequest
to facilitate a fluent interface.withChanging(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withChanging(String name, String dataType, String value)
String
parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The String
value of the parameter.RfmRequest
to facilitate a fluent interface.withChanging(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withChanging(String name, String dataType, Short value)
Short
parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The Short
value of the parameter.RfmRequest
to facilitate a fluent interface.withChanging(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withChanging(String name, String dataType, Integer value)
Integer
parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The Integer
value of the parameter.RfmRequest
to facilitate a fluent interface.withChanging(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withChanging(String name, String dataType, Long value)
Long
parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The Long
value of the parameter.RfmRequest
to facilitate a fluent interface.withChanging(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withChanging(String name, String dataType, Float value)
Float
parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The Float
value of the parameter.RfmRequest
to facilitate a fluent interface.withChanging(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withChanging(String name, String dataType, Double value)
Double
parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The Double
value of the parameter.RfmRequest
to facilitate a fluent interface.withChanging(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withChanging(String name, String dataType, BigInteger value)
BigInteger
parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The BigInteger
value of the parameter.RfmRequest
to facilitate a fluent interface.withChanging(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withChanging(String name, String dataType, BigDecimal value)
BigDecimal
parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The BigDecimal
value of the parameter.RfmRequest
to facilitate a fluent interface.withChanging(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withChanging(String name, String dataType, Locale value)
Locale
parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The Locale
value of the parameter.RfmRequest
to facilitate a fluent interface.withChanging(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withChanging(String name, String dataType, Year value)
Year
parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The Year
value of the parameter.RfmRequest
to facilitate a fluent interface.withChanging(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withChanging(String name, String dataType, LocalDate value)
LocalDate
parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The LocalDate
value of the parameter.RfmRequest
to facilitate a fluent interface.withChanging(String, String, Object, ErpTypeConverter)
@Nonnull public RfmRequest withChanging(String name, String dataType, LocalTime value)
LocalTime
parameter.name
- The parameter name.dataType
- The ABAP data type of the parameter.value
- The LocalTime
value of the parameter.RfmRequest
to facilitate a fluent interface.withChanging(String, String, Object, ErpTypeConverter)
@Nonnull public ParameterFields<RfmRequest> withChangingFields(String name, String dataType)
name
- The parameter name.dataType
- The ABAP data type of the parameter.ParameterFields
object, collecting multiple values. Calling the end()
method on it
will return this RfmRequest
.@Nonnull public RfmRequest withChangingFields(String name, String dataType, Fields fields)
name
- The parameter name.dataType
- The ABAP data type of the parameter.fields
- The changing fields.RfmRequest
to facilitate a fluent interface.@Nonnull public Table<RfmRequest> withChangingTable(String name, String dataType)
name
- The parameter name.dataType
- The ABAP data type of the parameter.Table
object, collecting multiple values. Calling the end()
method on it will
return this RfmRequest
.@Nonnull public RfmRequest withException(String name)
name
- The name of the expected exception.RfmRequest
to facilitate a fluent interface.@Nonnull public RfmRequest withErrorHandler(@Nonnull RemoteFunctionRequestErrorHandler remoteFunctionRequestErrorHandler)
RemoteFunctionRequestErrorHandler
after the request has been executed.withErrorHandler
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
remoteFunctionRequestErrorHandler
- The result handler to invoke after request execution@Nonnull public RfmRequest ignoringErrors()
RemoteFunctionRequestErrorHandler
after the request execution which does not
inspect the RfmRequestResult
and, therefore, does not throw a
RemoteFunctionException
.ignoringErrors
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
@Nonnull public RfmRequest propagatingErrorsAsExceptions()
RemoteFunctionRequestErrorHandler
after the request execution which inspects the
RfmRequestResult
and throws a
RemoteFunctionException
or one of its more-specific
exceptions depending on the returned error messages of the request.propagatingErrorsAsExceptions
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
public boolean equals(Object o)
equals
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
protected boolean canEqual(Object other)
canEqual
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
public int hashCode()
hashCode
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
public String toString()
toString
in class AbstractRemoteFunctionRequest<RfmRequest,RfmRequestResult>
public RfmTransactionFactory getTransactionFactory()
Copyright © 2020 SAP SE. All rights reserved.