#apache-flex #sap
#apache-flex #sap
Вопрос:
Я новичок в flex и SAP. Я разрабатываю панель мониторинга в flex. Я извлек данные из SAP query_view_data и могу отобразить их на диаграммах. Однако теперь я хочу передать параметр веб-службе SAP для извлечения данных между двумя датами. Я пытаюсь сделать это с помощью следующего кода:
protected function adg1_creationCompleteHandler(event:FlexEvent):void
{
var IInfoprovider:String="0FIGL_O02";
var w:Object= new Object();
var Parameter:Array = new Array();
w.Name = "VAR_NAME_1";
w.Value = "OCOMP_CODE";
Parameter.push(w);
w = null ;
w = new Object();
w.Name = "VAR_VALUE_EXT_1";
w.Value = "1028";
Parameter.push(w);
w=null;
w = new Object();
w.Name = "VAR_NAME_2";
w.Value = "OCALMONTH";
Parameter.push(w);
w=null;
w = new Object();
w.Name = "VAR_VALUE_LOW_EXT_2";
w.Value = "01032008";
Parameter.push(w);
w=null;
w = new Object();
w.Name = "VAR_VALUE_HIGH_EXT_2";
w.Value = "01092008";
Parameter.push(w);
w=null;
var ITParameter:ArrayCollection= new ArrayCollection(Parameter);
var IQuery:String="ZFIGL_0FIGL_O02_QD008";
var IViewId:String="";
Rrw3GetQueryViewDataResult.token = rRW3_GET_QUERY_VIEW_DATA.Rrw3GetQueryViewData(IInfoprovider, IQuery, ITParameter, IViewId);
}
Однако вместо отфильтрованных данных в таблице данных отображаются все данные.
Кто-нибудь может помочь, пожалуйста?
Комментарии:
1. Ваш код не имеет смысла, и пары ключ-значение так не выполняются. Кроме того, где фактический вызов службы?
2. Я использовал средство ответа на вызов. <s: CallResponder id=»Rrw3GetQueryViewDataResult»/> <rrw3_get_query_view_data id:RRW3_GET_QUERY_VIEW_DATA =»rRW3_GET_QUERY_VIEW_DATA» ошибка =»Оповещение.показать (событие.ошибка. Строка ошибки ‘n’ событие.ошибка. Ошибка)» showBusyCursor=»true»/>
3. У меня есть две сетки данных для другой, которую я пробовал: var ITParameter:ArrayCollection= new ArrayCollection(); ITParameter.addItem({«VAR_NAME_1″:»OCOMP_CODE»}); ITParameter.addItem ({«VAR_VALUE_EXT_1»: «1007»}); ITParameter.addItem ({«VAR_NAME_2»:»0CALMONTH «}); ITParameter.addItem({«VAR_VALUE_LOW_EXT_2»: «01032008»}); ITParameter.addItem({«VAR_VALUE_HIGH_EXT_2»: «01092008»}); Rrw3GetQueryViewDataResult.token = rRW3_GET_QUERY_VIEW_DATA.Rrw3GetQueryViewData(IInfoprovider, IQuery, ITParameter, IViewId);
4. Отредактируйте исходный вопрос. Коду не место в комментариях…
Ответ №1:
Я решил проблему. Весь приведенный выше код был правильным, за исключением того, что я использовал имена столбцов в w.value. Однако это должно быть имя переменной SAP для этого столбца. Вот исправленный код:
переменная w:W3Query= new W3Query(); w.Name = «VAR_NAME_2»; w.Значение = «ZCOAUTH2»; Параметр.push(w); w = null ;
w = new W3Query();
w.Name = "VAR_VALUE_EXT_2";
w.Value = "1007";
Parameter.push(w);
w=null;
w = new W3Query();
w.Name = "VAR_NAME_3";
w.Value = "ZCOAUTH2";
Parameter.push(w);
w = null ;
w = new W3Query();
w.Name = "VAR_VALUE_EXT_3";
w.Value = "1037";
Parameter.push(w);
w=null;
w = new W3Query();
w.Name = "VAR_NAME_4";
w.Value = "ZCOAUTH2";
Parameter.push(w);
w = null ;
w = new W3Query();
w.Name = "VAR_VALUE_EXT_4";
w.Value = "1123";
Parameter.push(w);
w=null;
w = new W3Query();
w.Name = "VAR_NAME_1";
w.Value = "0I_DAYIN";
Parameter.push(w);
w = null ;
w = new W3Query();
w.Name = "VAR_VALUE_LOW_EXT_1";
w.Value = df.format( from_date.text);
Parameter.push(w);
w=null;
w = new W3Query();
w.Name = "VAR_VALUE_HIGH_EXT_1";
w.Value = df.format(to_date.text);
Parameter.push(w);
w=null;
переменный параметр:ArrayCollection= новый ArrayCollection(параметр);
var IQuery:String="ZFIGL_0FIGL_O02_QDP008";
var IViewId:String="";
Rrw3GetQueryViewDataResult.token = rRW3_GET_QUERY_VIEW_DATA.Rrw3GetQueryViewData(IInfoprovider, IQuery, ITParameter, IViewId);