2011-06-02 152 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);