12.35 Customer Preference Service (GET/POST/PUT

Below mentioned are the custom fields. These fields will be part of response for GET, PUT and POST service and will be part of request for POST and PUT service.

Table 12-28 Customer Preference Service

Element name Sub element Data type
CustomUserDefinedStringData KeyName String
  KeyValue String
CustomUserDefinedNumberData KeyName String
  KeyValue Number (Decimal)
CustomUserDefinedDateData KeyName String
  KeyValue Date(YYYY-MM-DDTHH:MM:SS)
Sample XML
<Custom>
    < CustomUserDefinedStringData>
        <KeyName> StringName </KeyName>
        <KeyValue> StringValue </KeyValue>
    </ CustomUserDefinedStringData>
    < CustomUserDefinedNumberData>
        <KeyName> NumberName </KeyName>
        <KeyValue> NumberValue </KeyValue>
    </ CustomUserDefinedNumberData>
    <CustomUserDefinedDateData>
        <KeyName> DateName </KeyName>
        <KeyValue> DateValue</KeyValue>
    </ CustomUserDefinedDateData>
</Custom>
Sample JSON
"Custom": {
    " CustomUserDefinedStringData": [
    {
     "KeyName": " StringName ",
     "KeyValue": " StringValue "
    }
 ],
    " CustomUserDefinedNumberData": [
    {
     "KeyName": " NumberName ",
     "KeyValue": NumberValue
    }
 ],
    " CustomUserDefinedDateData": [
    {
     "KeyName": " DateName ",
     "KeyValue": " DateValue"
    }
 ]
}

Below are the package details for applicationupdate web service

Wrapper Engine package:-
xcscpr_ew_100_01.xcscpr_ew_100_01 (iv_xcs_cpr_rec_t IN OUT xcs_cpr_rec_t);
Main Engine package:-
xcscpr_em_100_01.post_cpr (iv_xcs_cpr_rec_t IN OUT xcs_cpr_rec_t);
xcscpr_em_100_01.get_cpr(iv_xcs_cpr_rec_t IN OUT xcs_cpr_rec_t);
xcscpr_em_100_01.put_cpr(iv_xcs_cpr_rec_t IN OUT xcs_cpr_rec_t);

Below are the Exit point package details for xaeaac_em_100_01. post_cpr();

BEFORE:-
xcscpr_ex_100_01.cv_post_cpr_bfr = cmncon_cl_000_01.CUSTOMIZED THEN
    xcscpr_ex_100_01.post_cpr_bfr(iv_acm_rec_t);
REPLACE:-
xcscpr_ex_100_01.cv_post_cpr_rep = cmncon_cl_000_01.CUSTOMIZED THEN
    xcscpr_ex_100_01.post_cpr_rep(iv_acm_rec_t);
AFTER:-
xcscpr_ex_100_01.cv_post_cpr_afr = cmncon_cl_000_01.CUSTOMIZED THEN
    xcscpr_ex_100_01.post_cpr_afr(iv_acm_rec_t);

Below are the Exit point package details for xaeaac_em_100_01. get_cpr();

BEFORE:-
xcscpr_ex_100_01.cv_get_cpr_bfr = cmncon_cl_000_01.CUSTOMIZED THEN
    xcscpr_ex_100_01.get_cpr_bfr(iv_acm_rec_t);
REPLACE:-
xcscpr_ex_100_01.cv_get_cpr_rep = cmncon_cl_000_01.CUSTOMIZED THEN
    xcscpr_ex_100_01.get_cpr_rep(iv_acm_rec_t);
AFTER:-
xcscpr_ex_100_01.cv_get_cpr_afr = cmncon_cl_000_01.CUSTOMIZED THEN
    xcscpr_ex_100_01.get_cpr_afr(iv_acm_rec_t);

Below are the Exit point package details for xaeaac_em_100_01. put_cpr();

BEFORE:-
xcscpr_ex_100_01.cv_put_cpr_bfr = cmncon_cl_000_01.CUSTOMIZED THEN
    xcscpr_ex_100_01.put_cpr_bfr(iv_acm_rec_t);
REPLACE:-
xcscpr_ex_100_01.cv_put_cpr_rep = cmncon_cl_000_01.CUSTOMIZED THEN
    xcscpr_ex_100_01.put_cpr_rep(iv_acm_rec_t);
AFTER:-
xcscpr_ex_100_01.cv_put_cpr_afr = cmncon_cl_000_01.CUSTOMIZED THEN
    xcscpr_ex_100_01.put_cpr_afr(iv_acm_rec_t);
Extensible parameters are Tab Type object
CREATE OR REPLACE TYPE xws_att_str_rec_t AS OBJECT (
    ATT_NAME     VARCHAR2(30),
    ATT_VALUE    VARCHAR2(4000));
CREATE OR REPLACE TYPE xws_att_num_rec_t AS OBJECT (
    ATT_NAME     VARCHAR2(30),
    ATT_VALUE    NUMBER );
CREATE OR REPLACE TYPE xws_att_date_rec_t AS OBJECT (
    ATT_NAME     VARCHAR2(30),
    ATT_VALUE    DATE );