Передача параметра в SAP query_view_data из flex

#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);