cancel
Showing results for 
Search instead for 
Did you mean: 

execution of RFC

Former Member
0 Kudos

Hi,

I have an RFC ZSM_USER_ALLOCATION where i need to pass certain input like userId,projectId, cadre,skillid and get output from

the same.When i pass userId,projectId, cadre output values are fetched in the perfect manner.But wenever i try to pass

skillid, i got get any data as output but executing the RFC at R3 side with the same skillid fetches me output.Moreover ,

after trying with skillid when i try with userId,projectId, cadre i get no output at all!!!....

I cant figure out where i am going wrong ....Experts please do suggest .I am enclosing the same code for this :

CopyPSNumberNode: node for userId

CopyProjectDetailsNode : node for projectId

OutputDetailsNode : node where output after executing the RFC is set

IPublicTdc_DataCust.IZsm_Actual_Allocation_InputNode AllocationInputNode = wdThis.wdGetTdc_DataCustController()

.wdGetContext()

.nodeZsm_Actual_Allocation_Input();

IPublicTdc_DataCust.IZsm_Actual_Allocation_InputElement AllocationInputElement = null;

AllocationInputNode.invalidate();

Zsm_Actual_Allocation_Input input = new Zsm_Actual_Allocation_Input();

Zsm_Cadre zsmcadre = null;

Zsm_Skills o = null ;

if(CopyPSNumberNode.size()!=0)

{

for(int j=CopyPSNumberNode.size()-1;j>=0;--j)

{

CopyPSNumberElement = CopyPSNumberNode.getCtx_vn_CopyPSNumberElementAt(j);

Zsm_User_List userList = null ;

userList = new Zsm_User_List();

userList.setUser_Id(CopyPSNumberElement.getPSNumber());

userList.setUser_Name(CopyPSNumberElement.getUserName());

input.addT_User(userList);

}

}

if(cadNode.size()!=0)

{

zsmcadre = new Zsm_Cadre();

zsmcadre.setCadre(cadNode.currentCtx_vn_CadreElement().getCadre());

input.addT_Cadre(zsmcadre);

}

if(CopyProjectDetailsNode.size()!=0)

{

for(int k=0;k<CopyProjectDetailsNode.size();++k)

{

CopyProjectDetailsElement = CopyProjectDetailsNode.getCtx_vn_CopyProjectDetailsElementAt(k);

Zsm_Project zsm_proj = null;

zsm_proj = new Zsm_Project();

zsm_proj.setProject_Id(CopyProjectDetailsElement.getProjectId());

zsm_proj.setProject_Name(CopyProjectDetailsElement.getProjectName());

input.addT_Proj(zsm_proj);

}

}

if(AllocationDetailsElement.getSkillId()!=null)

{

o = new Zsm_Skills();

o.setSkill_Id(AllocationDetailsElement.getSkillId());

input.addT_Skill(o);

wdComponentAPI.getMessageManager().reportSuccess(""o.getSkill_Id()""+o.getSkill_Name());

wdComponentAPI.getMessageManager().reportSuccess(""+o.toString());

}

AllocationInputNode.bind(input);

OutputDetailsNode.invalidate();

wdThis.wdGetTdc_DataCustController().execute_zsm_actual_allocation_input();

Accepted Solutions (1)

Accepted Solutions (1)

PradeepBondla
Active Contributor
0 Kudos

Hi,

what is the data type of skillid in your wd code and backend? some time it may happen because of type mismatch. just check that.

also, If you didnt write below code for skillid, is it working fine?

+if(AllocationDetailsElement.getSkillId()!=null)+
+{+
+o = new Zsm_Skills();+
+o.setSkill_Id(AllocationDetailsElement.getSkillId());+


+input.addT_Skill(o);+
+wdComponentAPI.getMessageManager().reportSuccess(""o.getSkill_Id()""+o.getSkill_Name());+
+wdComponentAPI.getMessageManager().reportSuccess(""+o.toString());+
+}+

Check the type of the skillid in R/3 and in your wd.

PradeeP

Answers (0)