Skip to Content
1
Former Member
Aug 04, 2016 at 12:30 PM

Update entity not getting triggered in ABAP work bench

847 Views

Hi Experts,

i have a scenario where i am trying to get the values from oData service which i am successfully able to get in FIORI app, but when i try to update some value in app and trying to SAVE it i am getting the below error...

GET

PUT

Response error--

<?xml version="1.0" encoding="utf-8"?><error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><code>SY/530</code><message xml:lang="en">Inline component is not defined or not allowed (HTTP PUT)</message><innererror><transactionid>C13C5AE6F199F1EBBE730050569C4F03</transactionid><timestamp>20160804121248.8830000</timestamp><Error_Resolution><SAP_Transaction>Run transaction /IWFND/ERROR_LOG on SAP NW Gateway hub system and search for entries with the timestamp above for more details</SAP_Transaction><SAP_Note>See SAP Note 1797736 for error analysis (https://service.sap.com/sap/support/notes/1797736)</SAP_Note></Error_Resolution><errordetails/></innererror></error>

This is my code for my save Button Function.

function PostDoc2(){

hdpage.setBusy(true);

itmpage.setBusy(true);

matnrpage.setBusy(true);

vendpage.setBusy(true);

var serviceURI = url+"/sap/opu/odata/sap/ZPO_CHG_SRV/PO_HEADER_SET('"+txt_PrevPO.getValue()+"')?$expand=PO_Navigation/POCOND_NAVI";

OData.request({ requestUri: serviceURI,

headers:{"X-Requested-With": "XMLHttpRequest",

"Content-Type": "application/atom+xml",

"DataServiceVersion": "2.0",

"X-CSRF-Token":"Fetch" },

method : "GET",

user: "xyz",

password: "123" ,

recognizeDates: true,

},

function (data, response){

console.log('DATA >>',data);

console.log('RESPONSE >>',data);

stat = 0;

check_fields ();

if (stat == 1) {

hdpage.setBusy(false);

itmpage.setBusy(false);

matnrpage.setBusy(false);

vendpage.setBusy(false);

} else {

header_xcsrf_token = response.headers['x-csrf-Token'];

var PostReq = "http://000.000.00.000:0000/sap/opu/odata/sap/ZPO_LGWZ_CHG_SRV/PO_HEADER_SET('"+txt_PrevPO.getValue()+"')";

var PostData = new sap.ui.model.json.JSONModel();

var LineItmArr = [] , POCOND_NAVI = [], results = [];

var LinesLength = oModel.oData.modelData.length;

var PricLength = aCondData2.length;

for (i = 0; i < LinesLength; i++){

results = [];

for (j = 0; j < aCondData2.length; j++){

var innerdata = aCondData2[j];

for (k = 0; k < innerdata.length ; k++){

if (oModel.oData.modelData[i]['LineItem'] == innerdata[k]['LineItem']) {

if (innerdata[k]['condtype'] !== '' && innerdata[k]['condval'] !== '') {

results.push({

ChangeId : '',

CondPUnt : '1',

CondStNo : '001',

CondType: innerdata[k]['condtype'],

CondValue: innerdata[k]['condval'],

ConditionNo : '',

Currency: currency.getValue(),

Exppurchaseorder : '',

ItmNumber : innerdata[k]['LineItem'],

PoItem : innerdata[k]['LineItem']

});

}

else{

results.push({

ChangeId : '',

CondPUnt : "0",

CondStNo : '',

CondType: innerdata[k]['condtype'],

CondValue: "0.000000000",

ConditionNo : '',

Currency: currency.getValue(),

Exppurchaseorder : '',

ItmNumber : innerdata[k]['LineItem'],

PoItem : innerdata[k]['LineItem']

});

}

}

}

}

checkMandatory();

if (stat == 1) {

hdpage.setBusy(false);

itmpage.setBusy(false);

matnrpage.setBusy(false);

vendpage.setBusy(false);

}

else {

var delvformat = '';

if (oModel.oData.modelData[i]['delvdate'] !== '') {

jQuery.sap.require("sap.ui.core.format.DateFormat");

var oDateFormat = sap.ui.core.format.DateFormat.getDateTimeInstance({pattern: "yyyy/MM/dd"});

var dateTemp = oModel.oData.modelData[i]['delvdate'];

delvformat = oDateFormat.format(new Date(dateTemp));

}

oModel.oData.modelData[i]['AccAss'] = oModel.oData.modelData[i]['AccAss'].replace(/\s/g,''); // Remove spaces

oModel.oData.modelData[i]['matgroup'] = oModel.oData.modelData[i]['matgroup'].replace(/\s/g,''); // Remove spaces

oModel.oData.modelData[i]['gl'] = oModel.oData.modelData[i]['gl'].replace(/\s/g,''); // Remove Space

oModel.oData.modelData[i]['coststr'] = oModel.oData.modelData[i]['coststr'].replace(/\s/g,''); // Remove Space

oModel.oData.modelData[i]['copamat'] = oModel.oData.modelData[i]['copamat'].replace(/\s/g,''); // Remove Space

oModel.oData.modelData[i]['copacust'] = oModel.oData.modelData[i]['copacust'].replace(/\s/g,''); // Remove Space

oModel.oData.modelData[i]['material'] = oModel.oData.modelData[i]['material'].replace(/\s/g,''); // Remove Space

oModel.oData.modelData[i]['netprice'] = oModel.oData.modelData[i]['netprice'].replace(/\s/g,''); // Remove Space

oModel.oData.modelData[i]['ordid'] = oModel.oData.modelData[i]['ordid'].replace(/\s/g,''); // Remove Space

oModel.oData.modelData[i]['plant'] = oModel.oData.modelData[i]['plant'].replace(/\s/g,''); // Remove Space

oModel.oData.modelData[i]['UOM'] = oModel.oData.modelData[i]['UOM'].replace(/\s/g,''); // Remove Space

oModel.oData.modelData[i]['POQty'] = oModel.oData.modelData[i]['POQty'].replace(/\s/g,''); // Remove Space

oModel.oData.modelData[i]['copaSalDoc'] = oModel.oData.modelData[i]['copaSalDoc'].replace(/\s/g,''); // Remove Space

LineItmArr.push({

Acctasscat : oModel.oData.modelData[i]['AccAss'],

ChangeId : '',

CondPUnt : "0",

CondStNo : '',

CondType : '',

CondValue : "0.000000000",

Copa_Material : oModel.oData.modelData[i]['copamat'],

Costcenter : oModel.oData.modelData[i]['coststr'], // cc

Customer : oModel.oData.modelData[i]['copacust'],

DelDatcatExt : '',

DeleteInd : '',

DeliveryDate : delvformat,

Exppurchaseorder : '',

GlAccount : oModel.oData.modelData[i]['gl'], // gl

Material : oModel.oData.modelData[i]['material'],

MatlGroup : oModel.oData.modelData[i]['matgroup'],

NetPrice : oModel.oData.modelData[i]['netprice'],

Orderid : oModel.oData.modelData[i]['ordid'], // oi

POCOND_NAVI : results,

PeriodIndExpirationDate : '',

Plant : oModel.oData.modelData[i]['plant'],

PoItem : oModel.oData.modelData[i]['LineItem'],

PoUnit : oModel.oData.modelData[i]['UOM'],

Quantity : oModel.oData.modelData[i]['POQty'],

SalesDoc : oModel.oData.modelData[i]['copaSalDoc'],

ShortText : oModel.oData.modelData[i]['shorttext'],

StgeLoc : oModel.oData.modelData[i]['SrorageLocation'],

TaxCode : oModel.oData.modelData[i]['taxcode'],

TextId : 'F01',

TextLine : oModel.oData.modelData[i]['itmtext']

});

PostData = {

"CompCode" : ComCode.getValue(),

"CompCodeX" : "",

"CreatedBy" : createdby.getValue(),

"CreatedByX" : "",

"Currency" : currency.getValue() ,

"CurrencyX" : "",

"DeleteInd" : "",

"DeleteIndX" : "",

"DocType" : oDropd1.getValue().substr(0, 4),

"DocTypeX" : "",

"ExchRate": exrate.getValue() ,

"Exppurchaseorder": " ",

"Langu": "E",

"LanguX": "",

"Msg": "" ,

"PoNumber": "" ,

"PurGroup": PurGrp.getValue(),

"PurGroupX": "" ,

"PurchOrg": PurOrg.getValue(),

"PurchOrgX": "",

"Return_Msg": "" ,

"Text_ID": "" ,

"Text_Line": hText.getValue(),

"Vendor" : txt_vendor.getValue() ,

"VendorX" : "" ,

"hTextNote" : hTextNote.getValue(),

"CondNbtval" : CONDNBT.getValue(),

"PO_Navigation": LineItmArr

};

}

}

//oData POst

if (stat == 1) {

} else {

// Check oData Format is OK

var chk_lngth, chk_cond ;

chk_lngth = '';

chk_lngth = PostData.PO_Navigation.length;

for (k = 0; k < PostData.PO_Navigation.length; k++){

chk_cond = '';

chk_cond = PostData.PO_Navigation[k].POCOND_NAVI.length;

if (chk_cond == 0) {

PostData.PO_Navigation[k].POCOND_NAVI.push({

ChangeId : '',

CondPUnt : "0",

CondStNo : '',

CondType: '',

CondValue: "0.000000000",

ConditionNo : '',

Currency: currency.getValue(),

Exppurchaseorder : '',

ItmNumber : '',

PoItem : ''

});

}

}

//sap.m.MessageToast.show('LOG FOR xcsrf >>',header_xcsrf_token);

console.log('POST DATA >>',PostData);// PostData-- getting values from textfield in UI

console.log('LINEITEMARRAY >>',LineItmArr);// attributes loadded in variables array

console.log('POST REQ >>',PostReq);// this is the URL-- PostReq

OData.request({

requestUri: PostReq, // this is the URL-- PostReq

method: "PUT",

headers: { "X-Requested-With": "XMLHttpRequest",

"Content-Type": "application/atom+xml",

"DataServiceVersion": "2.0",

"Accept": "application/atom+xml,application/atomsvc+xml,application/xml",

"X-CSRF-Token": header_xcsrf_token

},

user: "xyz",

password: "123",

data : PostData, // PostData-- getting values from textfield in UI

},

function (data, response){

console.log('Data POST Resp:l-',data, response);

hdpage.setBusy(false);

itmpage.setBusy(false);

matnrpage.setBusy(false);

vendpage.setBusy(false);

if(data['Msg'] == 'E'){

tptext.setText(data['Return_Msg']);

tptext.setDesign("Bold");

tp1.addStyleClass("colorRedText");

tp1.setTitle("Error in Posting Document ");

tp1.open(sap.ui.core.Popup.Dock.BeginCenter, sap.ui.core.Popup.Dock.RightTop);

}else{

tptext.setText(data['Return_Msg']);

tptext.setDesign("Bold");

tp1.setTitle("PO Doc # : " + data['Exppurchaseorder']);

tp1.open(sap.ui.core.Popup.Dock.BeginCenter, sap.ui.core.Popup.Dock.RightTop);

tp1.addStyleClass(".colorRedText");

clearLineitm();

clearPricing();

}

},

function (err) {

hdpage.setBusy(false);

itmpage.setBusy(false);

matnrpage.setBusy(false);

vendpage.setBusy(false);

sap.ui.commons.MessageBox.alert("Error Ocurred: " + ' ' + err.message, "", "Error", "");

}

); // oData POST Request

}

}

},

function (err) {

hdpage.setBusy(false);

itmpage.setBusy(false);

matnrpage.setBusy(false);

vendpage.setBusy(false);

sap.ui.commons.MessageBox.alert("Error Ocurred: " + ' ' + err.message, "", "Error", "");

});

}

Please point me out my mistake where it going wrong... Thanks in advance