Before we continue with the left enhancement scenarios, it would be good to know the overall architecture for Syclo-based SAP mobile apps.
With this chart, we can see how the backend configuration and the front-end changes all connected together through proper Java classes. And you can get the point where to start the configuration.
Add z-fields or z-tables from backend and enable it in mobile apps.
Step 1: Realize the enhancements in backend. Some of them could be done via enhancement tool (like AET in SAP CRM), this will lead no change of the provided standard BAPIs. But for the rest, normally you will need to create a copy of the standard BAPI’s function group. Follow the standard code to modify and map the z-fields.
Step 2: Make he changes on Java Pojo classes, because this determines the data structure that talks with Backend BAPI. Normally you need to extend the existing standard classes.
Step 3: Map the new fields (attribute of object) or new objects (corresponds to tables) in the BAPI class.
Step 4: Make the modification/enhancements on the Agentry project which connects to the enhanced fields/tables.
Step 5: Map the changes from Agentry project to corresponding Steplet/DT/CT. And implement the new logic of Step Handler classes. (normally you also need to extend the standard father objects). And here you also build the connection to the Java BAPI class.
Step 6: Make changes in the configuration panel as what you did in the previous scenario.
Step 7: Publish the new Agentry Project to the server. Compiled the new Jar file with the Java changes. And restart the Agentry Server to test.
Completely new functionality which has to be implemented specifically in backend.
If new customized object is needed to meet the enhancement requirements, it means basically you need to start from scratch.
Your backend enhancement should be completed first. Then try to model it following the standard object definition to create the new Syclo Class Handler, then the BAPI wrapper. Some additional steps compared with the z-field/z-table enhancement are:
1) Create new Mobile Data Object in Configure Panel.
2) Create new Exchange Object for the MDO in backend system and also the configure panel. You might also copy the standard logic to implement the change detection layer for the new MDO.
3) All the Java classes will need to re-design. This means additional efforts except just extending the standard POJO, BAPI or Step Handler.
4) All the Agentry Module/Screens/Transactions/Steps will need to be designed and mapped with the Java backend.
As a summary I would say the Syclo provides a very good platform to separate all the UI/Logic/Data layers clearly. And this is the most value of the whole concept. With SAP’s continuous investment in consolidate the platform, I believer this will server as the core part of next generation SAP’s mobile app development platform although the details might be change. And I do hope this robust architecture could bring more mobile app developers to join the Enterprise Mobility area.