cancel
Showing results for 
Search instead for 
Did you mean: 

Agentry confpanel question

Former Member
0 Kudos

Hi Experts


I need to understand what the line does. Because from my point of view this is not pointing to a backend? It have the agentry object as name and the agentry object class as value. So i dont see the point of having it, because it can't retrieve any data?

Tags edited by: Michael Appleby

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

If you look at this image it got a second parameter that retriev the data from backend to a java class directly.  So i dont see the point of the one above. The name is the agentry object and the value is the java class of the object so i still cant see the purpose

Maybe for mirror the data to the object so it dont have to call the bapi?

mark_pe
Active Contributor
0 Kudos

Samuel,

Based on your original picture:

As far as I know, the SAP backend mobile application for Z_Flightbooking has a SAPObject called FlightSchedule. This is the mapping in the SAP backend.

There is a mobile object FlightSchedule that is defined in Agentry (or in the editor).  This is an Agentry mobile object that needs to be populated with values coming from SAP via Java.

In my mapping below the Agentry editor has an object called FlightSchedule but in SAP it is an SAPObject also called FlightSchedule.

To interface with the SAP Backend there is a Java interface that needs to be populated and mapped through the Agentry editor via Java.

Agentry Editor                     |      SAP Backend Config Panel

=============================================

FlightSchedule Object          |  SAPObject = FlightSchedule

The definition and mapping of the Java object is defined as:

com.syclo.sap.sflight .customer.object.FlightSchedule

The java class above com..FlightSchedule is just a Java object definition for FlightSchedule.  It will be eventually populated with values from the bapi and so forth.

So based on your second comment above about you don't see the point of the first one. The first one is really just an object definition (it is like a placeholder or a variable holder to store your data on the mobile device) while the second line is like the actual code that will populate the values of the objects.

This is how I read it.

Former Member
0 Kudos

Thanks, but i cant see where it is populated. Then the logic for the population must be in the java classes?

mark_pe
Active Contributor
0 Kudos

Samuel,

To understand the Agentry + SAP backend, is to decompile all the java classes.  Yes it is in the java classes.  If you have a decompiler start decompiling the com.syclo.sap*.*.filename as shown in your ConfigPanel (pictures).  Look at all the inheritance and import.  From the import libraries, reverse engineer what java class file populates what.. 

In the agentry editor, check out how the object properties are being read in.  It is either through a Java Read step or a Java Fetch.  The definition of which Java file that populates it is in the editor. 

Most of the comments I have above, is taught in a Work Manager 5300 SAP class - MOB310.  It's a 5 day course.  Honestly it is the class after MOB300 (Agentry essential classes).  Those 2 combo classes is what people need plus the document you probably read about flightSchedule.

Hope this helps.

Former Member
0 Kudos

Ok Thanks then i see how it all fits together in this case 😃

Btw do you know how to do if i want to edit a java class in the jar in a simple way?

For example if i want to customize work manager app with a extra field. Then i have to

change the jar class files. Like the Object file.

mark_pe
Active Contributor
0 Kudos

Samuel,

In the Agentry Eclipse Editor, there is a way to load the source code of the product that you are working on. It is also known as the Java perspective instead of the Agentry perspective.  Hopefully you are not working on a custom product from a different System Integrator group. Let us say, I want to customize SAP Work Manager 5.3.  I will load the source code into my Agentry Eclipse editor (This can be downloaded - hopefully from the Service Market Place or worst comes to worst open a ticket to get a copy of it) then modify the Java code as needed.  Then I would compile the Jar file into the Agentry Java directory. After that, I would make sure my agentry.ini file [Java-x] classPath points to this new jar file that I compiled (make sure that all old jar file was removed or backed up).

All of this again taught in the SAP MOB310 class on how to do it. You may want to sign up on this one before you do any major project (it's a must) - all our SAP consultants have to attend it before they get assigned to work on mobility projects.

http://training.sap.com/v2/course/mob310-sap-agentry-work-manager-for-sap-foundations-classroom-095-...

Regards,

Mark

Former Member
0 Kudos

Thanks Mark, Iam aware of how to work on in the java perspective and how to generate jar and also how it runs in the agentry.ini file. But in my case i want to edit the standard agentry jar file which all the java files (ex steplethandler) exist in. And you probably know that this file only have .class files. Which its hard to edit. The question is how i can customize for example the workorder object class file in the jar file in a smooth way. I have tried to decompile it and do it in that way but it's way too time consuming

mark_pe
Active Contributor
0 Kudos

Samuel,

The only thing you need to edit is the product jar files. No need to touch the Agentry source if you are only adding a new field.  You need to download the Product Source code.

Nobody has access to the Agentry source code. It only comes in class files. Any edit to the actual mobile product, you need to download or be provided with the Java source code (ex: Work Manager 5.3 Java source code).  I can't find the source code in the Service Market Place. You may have to open a Service Market Place message to component MOB-SYC-SAP to request for the java source code as shown in the Editor picture above (you need to specify which product are you working on - ex: Work Manager 5.3).

Regards,

Mark

Former Member
0 Kudos

Thanks, Mark very good. Appreciate it.

Answers (1)

Answers (1)

agentry_src
Active Contributor
0 Kudos

The line links the SAPOBJECT named FlightSchedule to the corresponding java class which resides in the application. 

In short, it maps one side of the Java Connector (JCo) to the corresponding receiver on the other side.  One side being ERP and the other being the application residing in the mobile device with the Agentry Server handling the connection between the two.

Regards, Mike

SAP Rapid Innovation Group - RIG

Former Member
0 Kudos

Thanks for your reply,

But this need to be connected to a backend to be able to retriev data. And i cant see the "ERP"-side having any connecton to the bapi.

Former Member
0 Kudos

The Config panel is used a central location to store the data of what bapis will be used for calling by the Agentry Server.  Instead of calling 50 different java function each to call a different bapi's the Agentry Server's Java code has 1 to and then sees what the calling class was and then pulls the Bapi that that class needs. 

When the server starts up it goes into SAP and pulls out a copy of all this information so it has it saved in memory.

agentry_src
Active Contributor
0 Kudos

The Config Panel is part of the Agentry Addon which is installed as a bolt on module (I guess) to the ERP system.  It is not a standalone application.  Basis folks would most likely do the installation and it contains all the interfaces and connections to the ERP along with its own set of BAPI objects (Function Modules, packages, etc.) which work in conjunction with ERP.

Regards, Mike