2011-06-02 151 views
1

我是flex和SAP的新手。我正在设计一个flex的仪表板。我已经从SAP query_view_data中检索数据,并且能够在图表中显示它。但是现在我想将参数传递给SAP Web服务以在两个日期之间检索数据。我试图用下面的代码:将参数传递给SAP来自flex的query_view_data

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

但是,整个数据显示在数据网格而不是过滤数据。

任何人都可以帮忙吗?

+0

你的代码没有意义,键值对不是这样做的。另外,实际服务电话在哪里? – 2011-06-02 13:39:39

+0

我已经使用了呼叫应答器。 \t \t 2011-06-03 04:22:11

+0

我有两个datagrids其他我试过: var ITParameter:ArrayCollection = new ArrayCollection(); \t \t \t \t ITParameter.addItem({“VAR_NAME_1”:“OCOMP_CODE”}); \t \t \t \t ITParameter.addItem({“VAR_VALUE_EXT_1”:“1007”}); \t \t \t \t ITParameter.addItem({“VAR_NAME_2”:“0CALMONTH”}); \t \t \t \t ITParameter.addItem({“VAR_VALUE_LOW_EXT_2”:“01032008”}); \t \t \t \t ITParameter.addItem({“VAR_VALUE_HIGH_EXT_2”:“01092008”}); Rrw3GetQueryViewDataResult.token = rRW3_GET_QUERY_VIEW_DATA.Rrw3GetQueryViewData(IInfoprovider,IQuery,ITParameter,IViewId); – 2011-06-03 04:37:01

回答

0

我解决了这个问题。除了我在w.value中使用列名之外,上述所有代码都是正确的。但它应该是该列的SAP变量名称。这里是更正的代码:

var w:W3Query = new W3Query(); w.Name =“VAR_NAME_2”; w.Value =“ZCOAUTH2”; Parameter.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; 

var ITParameter:ArrayCollection = new ArrayCollection(Parameter);

  var IQuery:String="ZFIGL_0FIGL_O02_QDP008"; 
      var IViewId:String=""; 

      Rrw3GetQueryViewDataResult.token = rRW3_GET_QUERY_VIEW_DATA.Rrw3GetQueryViewData(IInfoprovider, IQuery, ITParameter, IViewId);