12.8 Calculator (POST)
Below mentioned table has element name which indicates which type of custom data is passed by enclosing the name and its value in KeyName and KeyValue respectively.
Table 12-9 Calculator
Element name | Sub element | Data type |
---|---|---|
CustomUserDefinedStringData | KeyName | String |
KeyValue | String | |
CustomUserDefinedNumberData | KeyName | String |
KeyValue | Number (Double) | |
CustomUserDefinedDateData | KeyName | String |
KeyValue | Date(YYYY-MM-DDTHH:MM:SS) |
Sample Input/Output
XML
<Custom>
<CustomUserDefinedStringData>
<KeyName>First Name</KeyName>
<KeyValue>ABC</KeyValue>
</CustomUserDefinedStringData>
<CustomUserDefinedStringData>
<KeyName>Last Name</KeyName>
<KeyValue>DEF</KeyValue>
</CustomUserDefinedStringData>
<CustomUserDefinedNumberData>
<KeyName>Phone Number</KeyName>
<KeyValue>123456987</KeyValue>
</CustomUserDefinedNumberData>
<CustomUserDefinedNumberData>
<KeyName>Age</KeyName>
<KeyValue>27</KeyValue>
</CustomUserDefinedNumberData>
<CustomUserDefinedDateData>
<KeyName>BirthDate</KeyName>
<KeyValue>2017-02-24T15:00:43+05:30</KeyValue>
</CustomUserDefinedDateData>
<CustomUserDefinedDateData>
<KeyName>ContractDate</KeyName>
<KeyValue>2017-02-24T15:00:51+05:30</KeyValue>
</CustomUserDefinedDateData>
</Custom>
Sample Input/Output
JSON
"Custom" : {
"CustomUserDefinedStringData" : [
{
"KeyName" : "First Name",
"KeyValue" : "Test"
},
{
"KeyName" : "Last Name",
"KeyValue" : "ABC"
}
],
"CustomUserDefinedNumberData" : [
{
"KeyName" : "Age",
"KeyValue" : "26"
},
{
"KeyName" : "Phone Number",
"KeyValue" : "123456987"
}
],
"CustomUserDefinedDateData" : [
{
"KeyName" : "BirthDate",
"KeyValue" : "2017-02-24T14:52:44+05:30"
},
{
"KeyName" : "ContractDate",
"KeyValue" : "2017-02-24T14:54:22+05:30"
}
]
}
Below are the package details for Calculator web service
Wrapper
package:
xaecal_ew_100_01.xaecal_ew_100_01 (iv_cal_rec IN OUT NOCOPY xae_cal_rec_t,
iv_calculator_type IN VARCHAR2,
iv_result OUT NUMBER,
iv_err_desc OUT VARCHAR2).
Main engine package has been
modified:
xaecal_em_100_01. xaecal_em_100_01 (iv_cal_rec IN OUT NOCOPY xae_cal_rec_t,
iv_calculator_type IN VARCHAR2,
iv_result OUT NUMBER,
iv_err_desc OUT VARCHAR2).
Below are the exit point packages added.
BEFORE:-
xaecal_ex_100_01.CV_CAL_BFR = cmncon_cl_000_01.CUSTOMIZED THEN
xaecal_ex_100_01.cal_bfr(iv_cal_rec ,iv_calculator_type ,iv_result ,iv_err_desc);
REPLACE:-
xaecal_ex_100_01.CV_CAL_REP = cmncon_cl_000_01.CUSTOMIZED THEN
xaecal_ex_100_01.cal_rep(iv_cal_rec ,iv_calculator_type ,iv_result ,iv_err_desc);
AFTER:-
xaecal_ex_100_01.CV_CAL_AFR = cmncon_cl_000_01.CUSTOMIZED THEN
xaecal_ex_100_01.cal_afr(iv_cal_rec ,iv_calculator_type ,iv_result ,iv_err_desc);
Extensible parameters are Tab Type object
CREATE OR REPLACE TYPE xws_att_date_rec_t AS OBJECT
(
ATT_NAME VARCHAR2 (30)
, ATT_VALUE DATE);
/
CREATE OR REPLACE TYPE xws_att_num_rec_t AS OBJECT
(
ATT_NAME VARCHAR2 (30)
, ATT_VALUE NUMBER);
);
/
CREATE OR REPLACE TYPE xws_att_str_rec_t AS OBJECT
(
ATT_NAME VARCHAR2 (30)
, ATT_VALUE VARCHAR2 (4000));
);
/
Parent topic: RESTful Web Services Extensibility