cancel
Showing results for 
Search instead for 
Did you mean: 

ARFC model issue with passign list instance

0 Kudos

Hi All,

I am doing WEB dynpro Applciation migration from EP7.0 to EP7.3.

I am migrating my model to ARFC2 model, i have a situation to pass multiple values to RFC call with Abstractlist in EP 7.0 the code like below.

  AbstractList sysAbList = new Zssc_Sys_Name.Zssc_Sys_Name_List();

   boolean multiSelection = false;

   multiSelection = wdContext.currentZtab_Sys_IdElement().getZz_Mult_Int();

//  if(multiSelection){

  

  if(null!= wdContext.nodeSystemLevels() && (0<wdContext.nodeSystemLevels().size())){

   for(int i=0; i<wdContext.nodeSystemLevels().size();i++){

  

   if((wdContext.nodeSystemLevels().getLeadSelection() == i) || (wdContext.nodeSystemLevels().isMultiSelected(i))){

   sysEle = wdContext.nodeSystemLevels().getSystemLevelsElementAt(i);

   Zssc_Sys_Name rfcSys = new Zssc_Sys_Name();

   rfcSys.setZz_Sys_Lvl(sysEle.getZz_Sys_Name());

   sysAbList.add(rfcSys);

//  manager.reportSuccess("inside multiselect");

   }

   }

  }

//  }

  

   //end

   positionInput.setZtab_Sys_Name(sysAbList);

Now migrated the model, i am not able to pass abstract list to RFC input. It looking for list instance. I tried with List

List<Zssc_Sys_Name> sysAbList = new List<Zssc_Sys_Name>() {

  

  @Override

  public <T> T[] toArray(T[] a) {

  // TODO Auto-generated method stub

  return null;

  }

  @Override

  public Object[] toArray() {

  // TODO Auto-generated method stub

  return null;

  }

  @Override

  public List<Zssc_Sys_Name> subList(int fromIndex, int toIndex) {

  // TODO Auto-generated method stub

  return null;

  }

  @Override

  public int size() {

  // TODO Auto-generated method stub

  return 0;

  }

  @Override

  public Zssc_Sys_Name set(int index, Zssc_Sys_Name element) {

  // TODO Auto-generated method stub

  return null;

  }

  @Override

  public boolean retainAll(Collection<?> c) {

  // TODO Auto-generated method stub

  return false;

  }

  @Override

  public boolean removeAll(Collection<?> c) {

  // TODO Auto-generated method stub

  return false;

  }

  @Override

  public Zssc_Sys_Name remove(int index) {

  // TODO Auto-generated method stub

  return null;

  }

  @Override

  public boolean remove(Object o) {

  // TODO Auto-generated method stub

  return false;

  }

  @Override

  public ListIterator<Zssc_Sys_Name> listIterator(int index) {

  // TODO Auto-generated method stub

  return null;

  }

  @Override

  public ListIterator<Zssc_Sys_Name> listIterator() {

  // TODO Auto-generated method stub

  return null;

  }

  @Override

  public int lastIndexOf(Object o) {

  // TODO Auto-generated method stub

  return 0;

  }

  @Override

  public Iterator<Zssc_Sys_Name> iterator() {

  // TODO Auto-generated method stub

  return null;

  }

  @Override

  public boolean isEmpty() {

  // TODO Auto-generated method stub

  return false;

  }

  @Override

  public int indexOf(Object o) {

  // TODO Auto-generated method stub

  return 0;

  }

  @Override

  public Zssc_Sys_Name get(int index) {

  // TODO Auto-generated method stub

  return null;

  }

  @Override

  public boolean containsAll(Collection<?> c) {

  // TODO Auto-generated method stub

  return false;

  }

  @Override

  public boolean contains(Object o) {

  // TODO Auto-generated method stub

  return false;

  }

  @Override

  public void clear() {

  // TODO Auto-generated method stub

  }

  @Override

  public boolean addAll(int index, Collection<? extends Zssc_Sys_Name> c) {

  // TODO Auto-generated method stub

  return false;

  }

  @Override

  public boolean addAll(Collection<? extends Zssc_Sys_Name> c) {

  // TODO Auto-generated method stub

  return false;

  }

  @Override

  public void add(int index, Zssc_Sys_Name element) {

  // TODO Auto-generated method stub

  }

  @Override

  public boolean add(Zssc_Sys_Name e) {

  // TODO Auto-generated method stub

  return false;

  }

  };

boolean multiSelection = false;

   multiSelection = wdContext.currentZtab_Sys_IdElement().getZz_Mult_Int();

//  if(multiSelection){

  

  if(null!= wdContext.nodeSystemLevels() && (0<wdContext.nodeSystemLevels().size())){

   for(int i=0; i<wdContext.nodeSystemLevels().size();i++){

  

   if((wdContext.nodeSystemLevels().getLeadSelection() == i) || (wdContext.nodeSystemLevels().isMultiSelected(i))){

   sysEle = wdContext.nodeSystemLevels().getSystemLevelsElementAt(i);

   Zssc_Sys_Name rfcSys = new Zssc_Sys_Name(model);//LKODAVAT Phase3

   rfcSys.setZz_Sys_Lvl(sysEle.getZz_Sys_Name());

   sysAbList.add(rfcSys);

  

//  manager.reportSuccess("inside multiselect");

   }

   }

  }

//  }

  

   //end

  manager.reportSuccess(" Ad list size"+sysAbList.size());

   positionInput.setZtab_Sys_Name(sysAbList); 

But i am getting RFC model exception in passing list instance.

please let me know how to solve this issue.

Regards,

Narayana

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

Hi All,

Myself solve dthe issue.

I have changed  abstractlist to Arraylist.

Its working perfectly

List<e> listobj = new arraulist<e>();

thanks to all.

REgards,

Lakshmi Narayana kodavati.

Answers (1)

Answers (1)

govardan_raj
Contributor
0 Kudos

HI Narayana ,

can  u please share the complete exception trace you are getting , and here in the above code in which line is giving error , i mean not accepting the list argument

Regards

Govardan