Quantcast
Channel: Jive Syndication Feed
Viewing all 3611 articles
Browse latest View live

Custom MTA Fiori Worklist template

$
0
0

For those building apps, with on-premise Native Hana, the Web IDE is now available  from SPS11 onwards.

See the Developing with XS Advanced: A TinyWorld Tutorial  for a great intro.


The minor downside, at the moment, is that there is a lack of templates currently available. 

Below is a screen shot, from SPS12, showing only the MTA project template available.


In HCP by comparison there is a larger list of templates, including my personal favourite for desktop applications, the 'SAP Fiori Worklist application'


 


In this blog I've copied the Worklist code from HCP and included a simplified version of the  'Northwind' example OData, for Orders, with mockdata for testing.


The complete code is available to download at worklistTemplateNative.zip - Google Drive


Below is a screen shot of the Fiori Worklist App, running in SPS12 with the Mock data for testing.


The HCP templates are also setup with a nice framework to start building out your test cases. 

No excuses now anyone ;-)

 

 

 

Below is the folder structure of this hybrid template, which includes a simplifed version of Northwind tables and custom Odata service.



Below is the Northwind Order table definition and Odata service.



For testing with the Mockserver I've included the Northwind metadata.xml and Orders.json test data.


I'm still working out the best way to do this, but to avoid hardcoding of the SAPUI5 libraies in each of the html files I've added properties in the mta.yaml as follows.


I'v defined the 'ui5_library' property as a variable in the xs-app.json file.


Finally in each of the html files, I then use the ui5_library variable to substitute the library at run time.


For testing I typically used the "/test/flpSandboxMockServer.html"


However to get the full experience with the functioning tables, and ODATA service use the main 'index.html' which you may hit errors similar to

"Error: Unsupported content type: multipart/mixed;boundary". See similar SCN issue https://scn.sap.com/thread/3904438


Following some helpful guidance from Thomas Jung, this is a known issue which may occur in the Web IDE, but is overcome by deploying the application similar to the steps in '2.1.4 Deploy the "Tiny World" Application'  in the  XSA Dev guide. http://help.sap.com/hana/SAP_HANA_Developer_Guide_for_SAP_HANA_XS_Advanced_Model_en.pdf


I hope you find this Template useful, while we wait for more Templates to be delivered in subsequent releases.


What happened at Apple's WWDC

$
0
0

WWDC 2016 took place in San Francisco, June 13-17 and was the 27th Apple World Wide Developer Conference. At the opening keynote, hosted by Apple CEO Tim Cook, he shared some interesting facts and figures. Currently in the Apple Developer Ecosystem are 13 Million Registered Developers, of which 2 million were added in just last year. There are over 2 Million Apps on the Apple App Store, which have been downloaded over 130 Billion times! Apple have paid developers $50 Billion to date.

MOSCONE.jpgFor this year’s WWDC, 5000 attendees (I was lucky enough to be one of them) came from over 74 countries and over 70% of attendees were first timers to the event. I last attended in 2010 when I was a Mobile Evangelist at Sybase, the last year of a Steve Jobs WWDC Keynote. This year Apple awarded 350 Scholarships, 100 of these were to attendees under 18… the youngest being 9. There were over 100 Sessions at WWDC (which can be viewed via the links below), over 100 Labs and there to present, answer questions & help were over 1000 Apple Engineers. SAP was mentioned on a slide in the Platforms State of the Union Keynote, alongside IBM. The over 100 sessions covered all the Apple Platforms, iOS, watchOS, tvOS and macOS… of which all will have new versions arriving this fall, iOS 10, watchOS 3, tvOS 10 and macOS Sierra.

Apple invited SAP to be part of their ‘Apps in Business’ Get Together at WWDC, which was held in the Apple Labs area. This Get Together drew quite a crowd and the discussions included the Apple & SAP Partnership announcement. Check out developer.sap.com here

Note: You need Safari Browser to watch the videos! I have listed a few interesting sessions below... Happy viewing!

Main Page to WWDC Videos: https://developer.apple.com/videos/wwdc2016/


Swift Related


 

 

 

Business Related

 

 

 

 

 

 

 

 

 

Healthcare Related

 

 

Retour sur la matinée SAP-CGI pour les établissements de l’Enseignement Supérieur et de la Recherche

$
0
0

Ce Jeudi 30 Juin, SAP et CGI organisaient une matinée afin de découvrir notre offre pour la gestion des étudiants. Une vingtaine de participants était conviée dans nos locaux parisiens pour une expérience de contraction de l'espace temps: vivre en 2 heures une année de la vie d'un établissement.

 

"Vivre en 2 heures une année de la vie d'un établissement !"

 

1-paris-001.jpg

9h30 - Paris est à nos pieds et après un accueil autour d'un café-croissant, le coup d'envoi est conjointement donné par Fabien Schvartz -  Directeur commercial Secteur Public, SAP France - et Philippe Ramel  - Vice-Président  en charge du SecteurPublic, CGI France - qui rappellent  nos collaborations dans le monde de l'éducation et, au delà de l'aspect commercial, les activités auprès des enfants (eg. les code week européenne et africaine), des étudiants (eg. University alliance et Open SAP) et des jeunes entrepreneurs (eg. Startup Focus).

 

"5 personæ et 19 processus en direct 'live du nuage'"1-Photos-001.jpg


10h15 - la 8ème est dernière slide de la journée disparaît de l'écran.  IEF notre école imaginaire, 5 personæ et 19 processus le tout en direct 'live du nuage' pendant 2 heures voila le challenge qui attend maintenant les participants.

 

Le casting(*) - dans l'ordre d'apparition - est le suivant :

  • Christophe Soulé (SAP) dans le rôle de Claire Gentil (Responsable des Relations)
  • Olivier Vitoux (CGI) dans le rôle de Marie Dubois (Gestionnaire Scolarité et Ressources Humaines)
  • Mathieu Chastaing (CGI) dans le rôle d'Olivier Chadel (Prospect puis Brillant Étudiant)
  • Mathieu Chastaing (CGI) dans le rôle de Thierry Durant (Professeur Émérite)
  • Jean-Christophe Pazzaglia (SAP) dans le rôle d'André de Saint Barthélemy (Directeur Débonnaire)

 

1-IMG_1486-001.JPGLes scenarios s’enchaînent, Claire Gentil invite des prospects rencontrés dans un salon à une journée portes ouvertes, Marie Dubois gère les admissions et Olivier Chadel suit sa candidature et reçoit une bourse.Marie Dubois gère les dossiers étudiants et encaisse les frais d'inscription et facture l'organisme financeur. Puis elle embauche des vacataires et planifie les cours de Thierry Durant. Les interfaces utilisateurs basées sur la technologie SAP UI5 étonnent l'auditoire, qui, pris dans ce vortex questionne les intervenants et pousse la témérité jusqu'à raccourcir le temps de la pause !

 

"Marie, l'auditoire a rétréci la pause !"


Qu'à cela ne tienne ! Olivier Chadel s'enregistre à des modules sur son iPad grâce à My Courses, Thierry Durant le note également sur son iPad. Claire Gentil lui trouve un stage chez l'Oxxxx et valide sa convention. Après son échange avec une école d'ingénieur à Singapour, il obtiendra son année avec brio. André de Saint Barthélemy détonne en utilisant Lumira et consulte le retour sur les actions menées par l’école, la satisfaction de l'Oxxxx sur ses stagiaires dans les différentes filiales et la valeur apportée à l'Oxxxx par l'IEF.

 

 

"Un webinaire en Septembre dévoilera le second épisode de notre histoire"

 

12h30 fin de la démonstration dans les temps, une année en 2h15, le paradoxe de Langevin est bien réel, l'expérience s'achève. Bientôt les différentes scénettes seront disponibles sur notre site dédiée et un webinaire en Septembre dévoilera le second épisode de notre histoire.

 

N'hésitez pas à nous contacter si vous désirez en savoir plus ou participer au webinaire.

 

(*) Soutenu bien sur par l'équipe composée de Stéphane Alardet, Alexandra Darras, François Delvaux, Gérard Duong, Lynn Mazarin, Gaëtan Rizzi, Jade Skaf et Mohammed Ziyauddin.

Developing data driven reusable READ functionality. Part 1

$
0
0

Introduction

If you have been working with SAP Gateway for a while you will begin to notice the pattern of defining Entities, Entitysets, Associations, etc… and then the coding pattern of redefining GET_ENTITY, GET_ENTITYSET, etc… etc...

 

In this series of blogs I’d like to introduce you to a data driven pattern which I have found quite useful for speeding up the creation of the READ functionalities of CRUD. Leaving more time to focus on the CUD of CRUD...

 

 

Prerequisites

Just to cover off the prerequisites before we jump into the fun stuff. The functionality shown here has been implemented on an ECC6 system running ABAP 7.31 with a centralized Gateway 7.40 system, as below.

 

ECC

ECC Status.png

 

GW

GW Status.png

 

We will be making use of the good old SFLIGHT demo model for this one. So make sure you have access to that also. Though any table / views can be used of course and as you will see quite easily.

 

The Idea

The beginnings of this idea started when defining another model in SEGW, and longing for CDS views, alas still sitting on an ABAP 7.31 system this isn’t going to happen right? It seems CDS is introduced with ABAP 7.40 SP05.

 

So why can we not use the model we have just defined in SEGW to drive the functionality of querying the entities? Good question I thought. Time to jump in and do some research/debugging.

 

By the end of this series of blogs we’ll be in a place to add the following to our redefined GET_ENTITY:

 

get_gw_helper( )->get_entity(     exporting io_tech_request_context = io_tech_request_context     changing  cs_entity = er_entity               cs_response_context = es_response_context ).

 

And this to our redefined GET_ENTITYSET:

 

get_gw_helper( )->get_entityset(      exporting io_tech_request_context = io_tech_request_context      changing  ct_entityset = et_entityset                cs_response_context = es_response_context ).

 

This will be all that’s required apart from defining the model and registering the service to get our basic query operations working in gateway.

The Design

The main component of the design is our helper class, this will handle the processing of the request. In this class we’ll be making use of the gateways model class, /iwbep/cl_mgw_odata_model. Using the model we can gain access to our tables/views, model entities, properties, referral constraints and much more. These will all aid in making a generic helper class.

 

We will also be making use of our trusted SE11 to define views when required, saving us the need to create inner joins within the code.

In a later blog we’ll add the functionality to extend our entities with properties not existing on our tables or views via the use of an interface class, and some help from SEGW.

 

 

Let’s Start

Alright enough talk, let’s start development. We’ll begin by defining the model in SEGW to see how things should be setup for our helper class to work. Then move onto the helper class and how we can interrogate the model we have just created. First we will be setting up a simple entity and its related entity set.

Our model

Open up transaction SEGW and define a new project, ZFLIGHT and save it as a local object:

 

segw_create_project.PNG

 

Next let’s create a new entity for the airline table SCARR by importing the DDIC structure:

segw_import_entity.png

 

We'll call the entity Airline, and create the default entity set:

segw_create_entity_airline.png

 

Select the attributes to include:

segw_import_airline.PNG

 

And finally the key:

segw_set_airline_key.PNG

 

Now let’s save and generate the run time objects:

segw_generate.PNG

segw_airline_struct.PNG

 

Note here we have left the ABAP fieldnames as they exist on the table, also if you take a look at the Airline entity it has a reference to the table we used to import the structure SCARR. Using these two bits of information we can being to create a generic class to handle some of our basic query operations.

 

To reach the service we will have to call our transaction to maintain services, /IWFND/MAINT_SERVICE and add our service to activate it.

addService.PNG

 

Test the service using the gateway client /IWFND/GW_CLIENT and the $metadata operator to see if our newly create service can be reached:

 

/sap/opu/odata/sap/ZFLIGHT_SRV/$metadata

 

If all is good, then you should receive back the XML from the request.

Let’s continue with our generic class.

 

 

Gateway Helper Class

Initially we will be creating a very simple helper. We will extend this over a couple of blogs to be more robust. Be careful at first though as we are implementing no paging at this stage, so be sure not to use any tables with way too many records and no $filter…

 

Open up SE80 and create a new class ZCL_GATEWAY_HELPER.

We will give this class 2 attributes to start off with.

attributes.PNG

 

  1. MR_MODEL, will keep track of the current model we are working on.
  2. MV_DB_TABNAME, will keep track of the database table or view we are working with.

 

Now lets create our methods.

constructor(), public

The constructor will take a parameter to the runtime, IR_RUNTIME. By using this we can gain access to the model via the façade as below. We will store the reference to the model in our attribute created above as it’ll be required often.

constructor.PNG

method constructor.   data: lr_facade type ref to /iwbep/cl_mgw_dp_facade.
* grab a reference to our facade to get our model reference   lr_facade ?= ir_runtime->get_dp_facade( ).
* save our model for reference later   mr_model ?= lr_facade->/iwbep/if_mgw_dp_int_facade~get_model( ).
endmethod.

 

init(), protected

This will be called both from the GET_ENTITY and GET_ENTITYSET methods of this class. Its purpose funnily enough to initialise everything ready for the next GET request. Here we really interrogate the model to get the main database table or view which we are working from and store this in the MV_DB_TABNAME attribute. The method takes one parameter, IV_ENTITY_NAME, being the current entity name being processed, from this we can grab the structure name, being the database table or view we used in SEGW.

 

init.PNG

 

METHOD init.   DATA: lv_entity_name TYPE /iwbep/if_mgw_med_odata_types=>ty_e_med_entity_name,         lr_table_entity TYPE REF TO /iwbep/cl_mgw_odata_entity_typ.
* free last table name used   FREE: mv_db_tabname.
* grab table entity   lv_entity_name = iv_entity_name.   lr_table_entity ?= mr_model->get_entity_type( lv_entity_name ).
* grab DDIC reference   mv_db_tabname = lr_table_entity->/iwbep/if_mgw_odata_re_etype~get_structure( ).
ENDMETHOD.

get_entity(), public

In this tutorial we’ll be calling this method from our gateway data provider class extension. In our case this will be class, ZCL_ZFLIGHT_DPC_EXT and method GET_ENTITY. It will have 3 parameters as below and will be responsible for requesting and returning the entity.

 

It first makes a call to out init() method mention above to get ready for the new request, this will essentially set up our mv_db_tabname attribute to be the table to select from. Next we create a data structure of our passed in entity, so we can get the values of the converted keys, followed by a call to the keys passed in. We then use these two bits of information to loop over the keys and build our where condition for the OSQL statement. Finally making the call to the OSQL statement with the predetermined values.

 

get_entity.PNG

 

method get_entity.   data: lt_keys type /iwbep/t_mgw_tech_pairs,         lv_db_where type string,         lv_db_and type string value '',         lr_data type ref to data.   field-symbols: <ls_key> like line of lt_keys,                  <ls_data> type any,                  <lv_value> type any.
* initialise   init( io_tech_request_context->get_entity_type_name( ) ).   if mv_db_tabname is not initial.
* create data struct to grab converted keys     create data lr_data like cs_entity.     assign lr_data->* to <ls_data>.     io_tech_request_context->get_converted_keys(       importing         es_key_values = <ls_data> ).     lt_keys = io_tech_request_context->get_keys( ).
* loop over keys to build where condition     loop at lt_keys assigning <ls_key>.       assign component <ls_key>-name of structure <ls_data> to <lv_value>.       if sy-subrc = 0.         lv_db_where = lv_db_where && lv_db_and && `( ` && <ls_key>-name && ` = '` && <lv_value> && `' )`.         lv_db_and = ` and `.       endif.     endloop.     if lv_db_where is not initial.       select single *         from (mv_db_tabname)         into corresponding fields of cs_entity         where (lv_db_where).     endif.   endif.
endmethod.

get_entityset(), public

Again this method will be called from our data provider class, ZCL_ZFLIGHT_DPC_EXT and method GET_ENTITYSET. It will take 3 parameters listed below and be responsible for returning the entity set. Again this function makes a call to the init() method to prepare for our new request. Makes a call to the tech request to get the converted filter, from $filter, and then calls the OSQL with the determined values.

 

get_entityset.PNG

 

method get_entityset.   data: lv_db_where type string.
* initialise   init(     exporting iv_entity_name = io_tech_request_context->get_entity_type_name( ) ).   if mv_db_tabname is not initial.
* $filter, grab our converted filter     lv_db_where = io_tech_request_context->get_osql_where_clause_convert( ).
* execute our select     select *       from (mv_db_tabname)       into corresponding fields of table ct_entityset       where (lv_db_where).   endif.
endmethod.

That’s it for our first simple iteration of this class. We’ll be doing more work here in future blogs. But for now let’s see how we can implement this into our data provider class extension, and test it out.

 

 

Data Provider Extension Class

When we hit the generate button in SEGW one of the things that happened was the generation of our data provider extension class, ZCL_ZFLIGHT_DPC_EXT. This class is the one responsible for filling out all of our entities and sets, or at least the entry point to have those entities filled out via other business classes or functions. To implement our generic helper class from here we will create one attribute in this class, as below a reference to our helper class.

 

dpc_ext_attributes.PNG

Now that's created lets create a method to return our helper class.

 

get_gw_helper(), protected

This method with return a reference with lazy instantiation to our gateway helper class.

 

dpc_ext_helper.PNG

 

method get_gw_helper.
* if our helper has not been created yet, then create...   if mr_gw_helper is not bound.     create object mr_gw_helper       exporting         ir_runtime = me.   endif.
* return instance   rr_gw_helper = mr_gw_helper.
endmethod.

 

Now we can redefine our AIRLINESET_GET_ENTITY() method and call the following:

 

method airlineset_get_entity.   get_gw_helper( )->get_entity(     exporting io_tech_request_context = io_tech_request_context     changing  cs_entity = er_entity               cs_response_context = es_response_context ).
endmethod.

 

We can also redefine our AIRLINESET_GET_ENTITYSET() method and call the following:

 

method airlineset_get_entityset.   get_gw_helper( )->get_entityset(      exporting io_tech_request_context = io_tech_request_context      changing  ct_entityset = et_entityset                cs_response_context = es_response_context ).
endmethod.

 

Activate all the changes and let’s give it a test.

 

Testing

Ensure that you have some data in your SFLIGHT tables, if not you can run program SAPBC_DATA_GENERATOR to generate some.

 

Open up the gateway client, /IWFND/GW_CLIENT and try the following:

 

/sap/opu/odata/sap/ZFLIGHT_SRV/AirlineSet()?$format=json

/sap/opu/odata/sap/ZFLIGHT_SRV/AirlineSet('AA')?$format=json

/sap/opu/odata/sap/ZFLIGHT_SRV/AirlineSet()?$filter=AirlineCurrency eq 'AUD'&$format=json

/sap/opu/odata/sap/ZFLIGHT_SRV/AirlineSet()?$filter=startswith(AirlineName, 'A')&$format=json

 

Final words

Well I hope you have enjoyed this introduction. There is still a lot more to cover in the following blogs, as we still have quite a few odata operators to take care of and you will see how these can be implemented as we move on though the series, so stay tuned.

 

I’m also happy for any feedback along the way so please let me know. I'd also be interested in any other methods of how people have been dealing with their gateway implementations.

 

I have read many a great blog,document,article and post on SCN, so thank you to everyone for sharing your knowledge, hopefully you will find mine just as useful as I have found yours.


See you soon, in part 2.

 

Join the Supply & Demand Chain Executive Webinar: "Real-time Supply Chain Collaboration: One Network, All Suppliers, Total Process Integration" on July 12 with customer speaker Manitowoc.

$
0
0

The effective operation of your supply chain is vital to your company’s growth. Yet achieving supply chain excellence is getting more complex. Globalization, outsourcing, pricing pressures, new technologies, and quickly changing market conditions mean that supply chains must constantly evolve to reduce risk and increase savings.

 

Join our webinar to discover how cloud-based business networks provide a single solution to drive an efficient digital source-to-settle process and share real-time information with all your direct materials suppliers by seamlessly integrating with your ERP and PLM systems.

 

Title: Real-time Supply Chain Collaboration: A Single Network, All Suppliers, Total Process Integration

Date: Tuesday, July 12, 2016

Time: 02:00 PM Eastern Daylight Time

Duration: 1 hour

 

Register here:https://event.on24.com/eventRegistration/EventLobbyServlet?target=reg20.jsp&partnerref=SAPevents&eventid=1208024&sessionid=1&key=7E2942CC50ED1EAE9DFF7534CC92C642&regTag=&sourcepage=register

 

Panel members from The Manitowoc Company and SAP Ariba will show you how to:

 

  • integrate Sourcing and Product Design teams to go to market faster
  • source and contract rapidly by integrating master data across systems
  • achieve contract compliance through ERP integration
  • track item costs across time, suppliers, and BOMs
  • maximize visibility across the supply chain to identify unplanned events early
  • optimize inventory levels and fill rates through order and forecasting collaboration
  • automate invoicing for lower cycle time and better cash management strategies

User Centric: Shake To Support Windows 10 Mobile

$
0
0

As Sanit Jain describes in his blog post here, User Centric IT is a key component in our efforts to make the work lives of our colleagues at SAP simpler. A part of this is the Feedback Shake, which has been in use in our iOS applications for nearly 3 years now (John Astill's blog here) – providing users with a quick and easy way to reach out to the app support team.

 

With Windows 10 Mobile devices soon coming to SAP colleagues, I took up a side project of implementing this for Windows 10 devices using the Universal Windows Platform (UWP). UWP is unique because it enables developers to create apps that run on all Windows 10 devices – from desktop to mobile, and even Xboxes. While I am not sure if SAP will support corporate Xbox devices anytime soon (break room gaming anyone? ), the key component for the enterprise world is the ability to develop one app capable of running on both on desktop and mobile devices.

 

As part of UWP, Microsoft provides a common API layer - while also still providing more specific API layers for specific devices like desktop or mobile. The common API layer is what allows developers to target such a wide range of devices.

 

Functionally, the Feedback Shake for Windows 10 is almost exactly like the iOS implementation. On the technical side, taking a screenshots, creating log files and sharing each work a little differently.

 

Check out the source code on GitHub here. The XAML/C# code in the repository demonstrates some useful code:

  • Taking a screenshot of the current view and rendering it to a Bitmap
  • Animating a control using XAML Storyboards
  • Gathering hardware/device info
  • Enabling the accelerometer and listening for shakes
  • Composing an e-mail in code from the app, with attachments
  • Simple logging and writing these logs to a file

 

Well how does the app look? Upon starting you will be presented with this initial screen, simply prompting you to shake the app:

shakedemoscreenie3.png

App running on Windows 10 mobile device

 

shakedemoscreenie.png

App running on a Windows 10 desktop device

 

Notice that if you are running the app on a device without an accelerometer, such as a PC, a button appears that can be tapped to send feedback instead of shaking the device. Such a button can be incorporated nicely into the UI of a production app.

 

If the user shakes the device or taps the feedback button, the following page appears:

shakedemoscreenie2.png

Much like the iOS version, this screen shows a wiggling phone icon, some helpful text to the user, and several buttons to:

  • Send a feedback email
  • Share the app with firends
  • Dismiss the prompt

 

Send Feedback

Tapping this button will compose an e-mail message, attaching the log file & screenshot, and finally opens the Outlook app for the user to provide more details.

shakedemoscreenie4.png

In addition to the attachments, some device info is provided for the support team – important troubleshooting info like app version, OS version, device model, etc. This extra info helps the support team accurately help the end user with their issue.

 

Share with Friends

Back on the feedback screen, the user also has the option to share the app. Using the UWP share contract, the app provides a HTML file that can be shared with a variety of other apps, like Outlook.

shakedemoscreenie5.png

The app was created using Visual Studio Community 2015. You can build & deploy the project on Windows 8.1, but you must have Windows 10 in order to deploy to your local machine or have all IDE functions available. Thanks for reading!

Your Professional Toolkit: This Week in ASUG’s HR Community

$
0
0
  Whether you are installing a new shelf or fixing a leaky pipe, it’s important to have the tools you need to get the job done. While hammers, wrenches, and pliers are all obvious choices when filling up your household toolbox, it can be a

IFRS 15: Ready, Advisory, Go!

$
0
0

As you may know, SAP Services offers an advisory service for IFRS 15 compliance for you to get an overview of this topic, map your processes to SAP’s solution and get your high level roadmap to compliance. The good news is that we have just dramatically enhanced the overview presentation included in this service. It is now a 128-slide deck (+appendix) packed with proven and also new content, completed by excel tools to explain calculations.

Advisory-agenda-tools.jpg

To benefit from this advisory service, please get in touch with your SAP Services contact or me atlaurence.nicolas@sap.com. If you are further in your project and looking for a training on SAP Revenue Accounting and Reporting, the next session in English is scheduled for August 24-26 in Germany. Time to ramp-up!


How to be an LGBT Ally

$
0
0

lgbt4.jpgIf you are in Austin Texas make sure you visit the Hope Outdoor Gallery.

 

Hope Gallery is an outdoor community park where local muralists, graffiti and street artists, and educational community groups display large scale art pieces driven to inspire position and educational messages.

 

Our team collaborated to develop the LGBT Ally mural design in which passersby could be a part of the art. We worked with a local well-known artist to bring it to life and captured it all for everyone to see via a time lapsed video.

 

It was not only an honor to be able to put together this idea, but to see it come to life and fellow LGBT allies stop by to take a picture in support. Supporting key initiatives like this delivers on our mission to harness diversity and inclusion to inspire ideas and ignite innovation.

 

This entrepreneurial spirit enables us all too continually push for making the world run better.

 

#RunProuder


So if you are not able to visit beautiful Austin, Texas visit our Life at SAP Facebook page to like, comment, or share the post! Watch the full video below:

 

 

 

------------------------------------------------------------------------

 

Want to join one of the world's largest and most diverse cloud tech companies? Apply to SAP today! http://bit.ly/1nSYsaI

 

You can also browse all of our open positions at -
http://jobs.sap.com


Learn more about the workplace culture at SAP, see pics of our offices, talk to recruiters, and get real time job openings by connecting with us on our social pages:

Glassdoor: http://bit.ly/glassdoor_lifeatsap

Facebook: http://facebook.com/LifeatSAP
Twitter:http://twitter.com/LifeatSAP

YouTube:http://youtube.com/lifeatsap

Instagram:http://instagram.com/LifeatSAP

My #SITSP talk on SAP Fiori

$
0
0

First of all: relax. No, I'm not going to just share some slides here. But I spoke at #SITSP last week about SAP Fiori, and instead of just sharing my slides with the local participants (like I usually do), this time I decided to write a blog post and publish it here.

 

But SAP Fiori isn't breaking news anymore, specially here. So why do I feel like it's a good idea to send these KB of HTML to your computer mobile device right now? Well, when someone wants to learn SAP Fiori (and I say this from my own experience as well), they usually start by googling it, then they end up here, then buy a book and even take some classes either in OpenSAP or Learning Hub. But once they do that, they usually enter this strange "Limbo" zone, where you feel like you already got the joke, but not enough to go ahead and start implementing it.

 

I believe that a lot of you who's already experienced been there as well at some point. That's usually the part where documentation doesn't help that much anymore. You have to learn from experience. Experience that you don't have yet. Oh, if at least you could get some tips from someone who's just stepping out of this Limbo...

 

Thats what my talk focused on. I wanted to start this discussion and share advice while learning from other's experiences as well. So, if you're in the Limbo right now, sit back and enjoy the reading. If you already passed through it, please help us here . Also, share it with your friends in the Limbo as well.

 

Well, my talk focused on four tips on implementing standard SAP Fiori apps, plus one on designing new ones. Here they are:

 

#1 Choose your apps wisely

 

As experienced SAP professionals, we are used to large and complex projects. Every new module or solution required months of project effort to implement it. SAP Fiori isn't. I know that we advertise it a lot with it's more than 800 apps. But I know it can be overwhelming. So, spend time learning using the SAP Fiori App Library. Learn to use the filters, to read the app documentation, and to showcase it to your potential (either internal or external clients) whenever possible. Use SAP Fiori Demo Cloud for it whenever possible.

 

For instance, if you're using ERP 6.0 EHP7 with ORA/ASE/etc, you can filter the apps that work with Any DB. The number goes down from 800+ to about 160. If you filter by your backend and specific modules, you'll end up with about a dozen apps to evaluate. Also, do realize that you must focus on the apps that will provide instant-value to the company. That's why a lot of people start with approval workflows, HCM or sales apps.

 

Once you mix what your company needs, what SAP solutions it currently uses, and what apps are available, you'll have about a handful of apps to choose from. I personally recommend up to 3 apps to begin with. It will help you keep your project schedule and costs short.

 

#2 On-premise / Cloud

 

Now that you know what apps you'll want, it's time to decide the way to go: on-premise or cloud? This choice is more subjective, since it relies on each company's current scenario. Usually, if you already have enough free hardware and no problem securing your landscape to enable external access to it, then on-premise is usually the way to go for these first projects (at least here in Brazil). On the other hand, if you're short on hardware, or your company has it's datacenter and/or IT staff offshored, then the Fiori Cloud Edition can be simpler to get started with. One thing that you'll need to keep in mind while choosing the apps in tip #1 is that SAP Fiori Cloud Edition doesn't provide the 800+ apps. So, do check if the app is available.

 

#3 Pay attention to the pre-requisites

 

Now that you're sure about the apps, it's time to go deep. Learn everything you can about these apps. It usually means:

 

  • Read the App Documentation in SAP Fiori App Library
  • Read all the SAP Notes related to it
  • Read marketplace documentation about it
  • Search SCN for topics about it

 

Thats how you'll learn that Approve Requisitions rely on SBWP workflows, not ME54 items. This useful info will prevent you from extending the project from 5 weeks to 8. Thats how you'll know that you'll need ESS configured in order to use most HCM apps. This could make your project even longer, which is not a good thing, specially if you're working in a "fixed-price" project, or the simplest POC.

 

#4 Focus on the "quick-wins"

 

Specially if it's the very first SAP Fiori project. Remember: this project will set the tone for SAP Fiori at your company. If you did a good job implementing the right apps (meaning, useful apps with a solid productive process), the users will ask for more and more from SAP Fiori. However, if you choose an app that isn't important to your company, people will associate that to SAP Fiori. The same will happen if you face issues during the implementation phase, even if they're not directly related to SAP Fiori. For instance, if you're trying to make the users adopt SAP Fiori for PO approval, try to keep the same release strategies. Changing company policy at the same time may cause the "it was good before this went live" effect. This is not good. You want to make it as smooth and nice as possible.

 

Developing your own apps

 

Finally, it might be that the solution you're looking for isn't available in the 800+ apps. Then you'll need to develop your own. If that's the case, consider the UX principles for SAP Fiori:

 

sap-fiori-principles.png

 

It means that, instead of thinking about the solution as we always did (complex and multiple-screen-featured transactions or reports), realize that you almost always split it into several SAP Fiori apps. One way of doing it is to start with the process diagram.

 

process.png

Then, when designing the software solution, consider the steps and roles involved. Try to think what's the simplest way to complete each step, from that role's perspective. This will eventually bring you to several apps, broken down by roles, like this.

 

hr-apps.png

manager-apps.png

employee-apps.png

And, of course, map those back into the process flow, so that we can make sure everything is covered.

 

final-process.png

Please note that you can create very good mock-ups and prototype a lot using tools like SAP Build and Axure as well. This is important, as these new concepts are even harder for a key user to understand before he or she goes through a couple of projects like this one. I mean, it's very different from simply writing down "lets make an ALV" to the spec.

 

And that's all I had for my talk. Now, I am excited about your feedback.

SAP Business One 9.2 PL 03 - Nova funcionalidade: Alias de menu para pesquisa

$
0
0

A cada nova versão ou PL do SAP Business One, correções e novas funcionalidades estão sendo liberadas.

 

A primeira que encontrei na PL03 do SAP Business One 9.2 é uma nova funcionalidade chamada "Alias de menu para pesquisa", a nova funcionalidade parece algo tolo, mas pode ser muito bem utilizada para padronizar a execução de transações. Para os usuários que executam determinadas transações com frequência, esta funcionalidade pode otimizar bastante o trabalho.

 

A funcionalidade foi implementada pela nota: 2300353 - You can now use menu aliases for searching menus

 

Mas enfim, vamos entender como ela funciona na prática.

 

Exemplo 1 - Acesso rápido para "Selecionar Empresa":


1º passo - Configuração

 

Para acessar a nova funcionalidade:

=> Administração > Inicialização do sistema > Alias de menu para pesquisa

 

Conforme print abaixo, todas as transações existentes no sistema podem ser visualizadas na lista constante na aba "Configuração de alias".

 

Neste exemplo associado o código "11" para o menu "Seleção da empresa" e associado o código "1" ao "Cadastro do parceiro de negócios", depois de definir os códigos o usuário deverá clicar em "Atualizar" para salvar as opções.

 

01Aliais.png

 

2º passo - Utilizando a funcionalidade

 

Depois de definir os códigos para determinadas transações, o usuário poderá acessar a transação de forma simplificada através do "Campo de pesquisa", nosso "Google do SAP" (piada).

 

Ao digitar o código 11, será apresentada a transação "Selecionar a empresa"

02ExecutandoMenu.png

 

Exemplo 2 - Acesso rápido ao "Cadastro de Parceiro de Negócios":

 

Para apresentar mais uma vez a funcionalidade, atualizei o "Apelido" para a transação "Cadastro do Parceiro de Negócios" com o código "CPN", então nos próximos prints vamos definir o novo código e executar a transação "CPN" através da pesquisa menu.

 

03NovoExemplo.png

 

04CadPN.png

 

 

Opções extras:

 

Além da opção de definir códigos para transações, é possível exportar estas configurações e importar em outras bases de dados, ou seja, com isso é possível definir uma manual para execução de transações em várias empresas de um grupo empresarial, exportar as configurações e executar de forma igual em todas as empresas.

 

05Exportar.png

 

06Exportar.png

 

07Importar.png

 

Espero que tenham gostado desta nova funcionalidade.

 

Não deixem de registrar seu feedback.

 

Abraços,

Rodrigo da Costa Feula

Hub Deployment - Configuration Steps and Troubleshooting

$
0
0

Dear Gateway Developers,

 

Below I will list the prerequisites and common error scenarios encountered during testing SAPUI5 applications in Quality systems where there is Hub deployment of gateway server.

 

Prerequisites -

 

1. To be able to successfully call the backend code, a RFC destination has to be created in gateway system pointing to the backend server which shall use the login details of 'current user'. This will be done by SM59.

 

2. The a System alias has to be created which shall use the RFC destination created in step 1. This can be done via help doc i.e. go to transaction SPRO open the SAP Reference IMG and navigate to:  SAP NetWeaverGatewayOData ChannelConfigurationConnection Settings

SAP NetWeaver Gateway to SAP SystemManage SAP System Aliases

and create new entry.


3.Now the OData service needs to be registered via transaction code /N/IWFND/MAINT_SERVICE to consume the above created system alias.

 

Till this step the service should get registered and you should be able to successfully fetch the metadata.

 

Now, following issues may be encountered.


1. Data is getting created via gateway client but not from UI5 application.

Check whether the virus profile is deactivated or not. If not deactivate it. (T-code: /n/IWFND/VIRUS_SCAN)


2. If you are getting success - 200 in gateway client but still not getting data.

Check for proper authorizations for IWSV,IWSG and S_RFCACL object.


3. If timeout error is coming.

Go to T-code SMICM and check the Processing and KeepAlive timeout parameters values.


4. Metadata changes like data type change, addition/deletion of properties etc are not getting reflected.

Clear the backend cache (/n/IWBEP/CACHE_CLEANUP) and gateway cache(/n/IWFND/CACHE_CLEANUP)

 


I will keep adding to this list with time.



Further analysis can be done via activating the gateway trace in t-code (/n/IWFND/TRACES).



Please leave your experiences and feedback.



Leaders@SAP: Lorena Dames

$
0
0

lorena.jpgThe Leaders@SAP campaign is a series of personal stories that give you a look at our inspiring leadership at SAP.

 

This story comes from Lorena Dames, COO SAP South Region, Latin America

 

“Great leaders find ways to connect with their people and help them fulfill their potential” – Steven J. Stowell

 

What I enjoyed the most in my long journey as a Leader@SAP has always been the opportunity to create new leaders. I became a leader when I was very young, which gave me the opportunity to work with many different teams and people over my career and I learned that to be successful you must have the best teams.

 

It makes me very proud to see many colleagues, who worked with me years ago become Leaders@SAP. To be successful you must have the best teams and to do that you need to make everyone shine!

 

Stay tuned for our next installment of Leaders@SAP!

 

------------------------------------------------------------------------

 

Want to join one of the world's largest and most diverse cloud tech companies? Apply to SAP today! http://bit.ly/1nSYsaI

 

You can also browse all of our open positions at -
http://jobs.sap.com


Learn more about the workplace culture at SAP, see pics of our offices, talk to recruiters, and get real time job openings by connecting with us on our social pages:

Glassdoor: http://bit.ly/glassdoor_lifeatsap

Facebook: http://facebook.com/LifeatSAP
Twitter:http://twitter.com/LifeatSAP

YouTube:http://youtube.com/lifeatsap

Instagram:http://instagram.com/LifeatSAP

A busca pela inovação no SAP Inside Track São Paulo #SITSP 2016

$
0
0

20160702_075232.jpg

Estamos passando por um momento de inovações tecnológicas nunca antes vistas no mundo SAP, como já é de conhecimento de todos. Novos nomes de soluções, ao menos para a maioria do grande público, estão sendo adicionados ao vocabulário, como: IOT, Vora, HCP, S/4 Hana, e muitos outros.

http://www.decom.ufop.br/imobilis/wp-content/uploads/2015/11/SDJ_july_image.jpghttp://atos.net/content/dam/global/video/atos-saps-4hana-the-next-generation-business-suite.jpg

Essas inovações se estendem também a nova plataforma da comunidade SAP, que está em período de testes de sua versão Beta, bem como todo o SAP Support que foi todo reformulado e passa a integrar várias fontes de dados.

IMG-20160702-WA0009.jpg

Entrando no ritmo das inovações, os profissionais SAP procuram cada vez mais locais para obter informações e conhecimento. A SAP oferece uma agenda mundial de eventos e conferências que cada vez se multiplica e tem muita procura. Pensando nisso a organização do evento SAP Inside Track São Paulo, que é o maior evento SAP independente, ampliou seu alcance e contará com duas versões do evento mais popular da SCN neste ano: Técnico, que ocorrerá dia 3 de dezembro, e o funcional que foi realizado no último sábado dia 02. Sempre com foco em expor conteúdo exclusivamente tecnológico sem nenhum interesse comercial.

 

20160702_093229.jpg

 

O SITSP Funcional chegou como uma edição inaugural, porém superou todas as expectativas desde o início de seu lançamento. Inicialmente previsto para 100 participantes o evento teve suas inscrições esgotadas em 4 dias. Foram mais de 400 inscrições, 139 participantes e 14 palestras:

 

Track1

Track2

Inside Track Keynote - Por que ir além da Transformação Digital?

Marlo Simon

@marlosimon

Implementando SAP Fiori: indo além do blá-blá-blá introdutório

Bruno Lucattelli

@lucattelli

Guidelines for Leveraging Material Ledger to Provide Parallel Product Cost For Inventory Using Alternative Valuation Run and Business Function FIN_CO_COGM

Rogério Faleiros

@rfaleiros

Está começando no SAP Business One? Não se desespere...

Rodrigo da Costa Feula

@rodrigofeula

Eventos da NF-e - Manifestação do Destinatário e Prorrogação da Suspensão do ICMS

Renan Correa

@Nan_Correa

Cenários simplificados de planejamento de produção no S/4 HANA

Caetano Almeida's Profile    | SCN

@caetanosch

GRC - Governança Risco e Conformidade

Rafael Guimbala

@guimbala

Simplification List for SAP S/4HANA, on-premise edition

Fabio Dezan

@fabiodezan

Migrando a NFe para BAdi nova

Renan Correa

@Nan_Correa

Documentação de processos de negócios no SAP Solution Manager 7.2

Raquel Cunha

@raquelsolman

APO PP/DS no ERP

Caetano Almeida

@caetanosch

Migração S/4 HANA Finance para localização Brasil

Marssel Vilaça

@Marssel700

Demo e Caso de uso real com SAP Screen Personas – Visão para Consultores Funcionais e Key-Users

Douglas Cezar

@douglas_erp

Cloud Computing e sua aplicabilidade para sistemas de gestão ERP

Marcelo Moreira

Coach IT & ATIVY

Modelo de concessões. Como aplicar no SAP?

Ricardo Vilarim

@ricardovilarim

 

Os palestrantes são sempre as estrelas do evento. Tudo é organizado para poder recebe-los, e todos os participantes vem ao evento par escutá-los. Nesta edição também fomos surpreendidos positivamente no quesito participantes. Foram nomes conhecidos mesclados com gratas novidades no evento. Rogério Faleiros (Uberlândia/MG), Douglas Cezar (Ribeirão Preto/SP), Ricardo Vilarim (Recife/PE), Fabio Dezan (São Paulo/SP) e Marcelo Moreira (Sorocaba/SP), fizeram suas estreias com suas sessões no SITSP. Além destes, contamos com a ilustre presença do SAP Labs Latin America (São Leopoldo/RS): Renan Correa, Rafael Guimbala, Caetano Almeida. A festa foi completa com mais 4 sessões ministradas pelos SAP Mentors.

IMG-20160703-WA0000.jpg

Mais uma vez o evento foi realizado para o público de forma gratuita, assim como todo o acesso às informações da SCN. Isso somente foi possível graças ao apoio das grandes empresas do mercado SAP, as quais deixamos nosso agradecimento: Coach IT, ATIVYe SAP Press.

^3233FCDC4F8DDFFDED0856A68CC2417EDD68E70B5EA04BA310^pimgpsh_fullsize_distr.jpgSem título.png

Não percam essa oportunidade de ficar por dentro de tudo que acontece com as soluções e inovações do SAP. Fique atento para o próximos eventos que ocorrerão em Joinville e São Paulo (técnico) neste semestre.

 

sitjoi.pngSITSPdev.png



 


Vejam mais fotos deste e de outros eventos:

Google Profile

SAP Business One - Nova funcionalidade: Bloquear lançamento contábil "manual" em uma conta contábil

$
0
0

Olá pessoal, estava revisando as notas de liberações de PLs e observei que uma importante funcionalidade foi liberada na PL 10 do SAP Business One 9.1 e foi sincronizada/incluída na versão 9.2 do SAP Business One através da PL 01.

 

Durante a implantação de projetos, surgem diversos requisitos e regras de negócio bem interessantes, algumas destas regras trazem mais segurança, outras buscam maior gestão e apoiam a conformidade legal, outras são voltadas à auditorias, entre uma destas necessidades do passado que requeria uma customização, estava a possibilidade de "Restringir que usuários façam transações contábeis manuais em determinadas contas contábeis".

 

Obs.: Esta funcionalidade é diferente de "inativar uma conta contábil", agora é possível determinar que uma conta contábil não aceite lançamentos realizados de forma manual pelo usuário em "=> Finanças > Lançamento Contábil Manual", as transações realizadas pelo sistema que em segundo plano criam LCMs continuaram com a possibilidade de fazer a contabilização, mas manualmente pelo usuário não.

 

Configuração

 

A configuração é extremamente simples, acessar o plano de conta, selecionar conta que possuirá a restrição e ativar a opção "Bloquear lançamento manual"

 

01.png

 

Execução


Ao executar um LCM de forma manual, se a conta possuir restrição para "Lançamentos manuais" ao tentar adicionar o LCM será apresentada uma mensagem de erro, como no exemplo: "Conta "conta nº 3.01.01.01.01" não permitida para lançamentos manuais".

 

Obs.: Na tradução da mensagem o texto apresenta duas vezes a palavra "Conta", mas tudo bem...(rs...)

 

02.png

 

Espero que tenham gostado da leitura e funcionalidade.

 

Registre seu feedback sobre o post, caso tenha dúvidas de como fazer: http://scn.sap.com/community/portuguese/blog/2014/06/23/encerrar-uma-discuss%C3%A3o-todos-devemos-fazer-d

 

Abraços,

Rodrigo da Costa Feula




SFTP connectivity using HCI/HCP Integration services

$
0
0

Dear SCN Friends,

 

I would like to share knowledge on SFTP connectivity using HCI/HCP Integration services.I'm assuming most of you might have already worked on it in PI/PO.So I'm going to focus only on key areas where we expect some guidance .

 

HCI acts as SFTP client in both pull and push .

 


Fil1.jpg

SFTP adapter uses the SSH protocol to transfer files.So to mutually identify who is SFTP server and who is SFTP client ,need to exchange public keys/certificates between client and server.


Below are the steps for certificate exchange between HCI and SFTP server.

 

     1)Request SAP to share SFTP client public key .

     2)SAP will generate public and private key and store it in HCI key store and share public key to you.

     3)Share above public key to team who is hosting SFTP server.

     4)Request SFTP server public key,host name and public key algorithm from the team who is hosting SFTP server .

     5)Share above public key to SAP ,they will store in known_host file .

 

Inbound:

 

Inbound.JPG

 

Outbound:

 

Outbound.JPG

 

 

If anybody wondering are the steps valid for sender or receiver ? Here is the answer .This setup is enough for both the both directions

 

Now we can jump into Iflow build.Now you might be wondering does HCI/SFTP adapter supports all options that we have in PI/PO ? No,but it supports all basic features that we expect in SFTP adapter.

 

For below requirements,you might feel bit difficult.

 

1)I want to write output file name same as input filename .Is it possible ? If yes ,How ?

 

     Ans:Yes .It's possible.Keep filename blank.

 

2)I want to read my input filename dynamically.Is it possible ? If yes ,How ?

3)I want to write output filename dynamically.Is it possible ? If yes ,How ?

 

     Ans:Yes.It's possible.Below is an example for your reference.

 

     Use case:I need to set my output file as Inputfilename.xml by reading input file name

     My input filename is CPSalesAll.csv , I need to set it to CPSalesAll.xml

 

     I'm using below piece of code in a groovy script to read and set filename dynamically .

 

def OldFileName = message.getHeaders();     def value = OldFileName.get("CamelFileName").replace('csv','xml');     message.setHeader("CamelFileName",value);

4) Does HCI/SFTP sender polling flexible enough to read files ?

 

    Yes.

 


5)What Authentication modes does HCI/SFTP adapter supports?

 

Basic Auth and Certificate based Auth

 

 

Rest of the SFTP adapter configurations are pretty straight forward .Just go through SAP HCI documentation if you stuck with any doubts.


Regards,

Venkat

SAP Alumni Network: “We are Family!"

$
0
0

In today’s digital economy, networking is fundamental for success. Relationships based on trust have never been more important and leading companies around the world are tapping the huge potential of networking with their former employees. The new SAP Alumni Network, that launched earlier this year, helps maintain those powerful connections beyond company boundaries. It brings together former and current employees of SAP.

 

Now, for the first time in SAP's history, I had the pleasure of welcoming a special sub-group, the "global C-Suite Alumni", SAP executive board members, and SAP executives to the SAP Alumni C-Suite Get Together in Walldorf, Germany, in early July. Stefan Ries, SAP's Chief Human Resources Officer, and I kicked off the meeting by welcoming the attendees to the "SAP family":

 

margret_stefan.png

 

The objective of this global meeting was to bring together former and current executives so they can cultivate lasting relationships with their peers and leverage the power of the network for their own purposes – and of course SAP. Mutual benefits include business development, brand advocacy, talent recommendations, and network intelligence.

 

 

How to Drive Digital Transformation: A Discussion in Progress

The agenda addressed the pressing questions and challenges raised by the digital economy. SAP CFO Luka Mucic outlined the tremendous success of the SAP HANA Platform and how it helped accelerate the pace of innovation over the past few years. Also, he showcased the SAP Digital Boardroom that provides transparency to executives and decision-makers with a comprehensive, real-time view of business performance across an entire company:

 

Luka.jpg

 

Former SAP CEO and president of acatech Henning Kagermann and Torsten Busse, Director at Brunswick Group, discussed in an interview the trends and initiatives of digital transformation. They pointed out that executives recognized that digitalization helps a company transform itself. In fact, they realize that it’s imperative for its future success.

kagermann_busse.jpg

 

Eventually, in a joint presentation, Rolf Schumann, CTO and Head of Innovation, SAP EMEA/MEE, and Anja Schneider demoed how to create value in the digital world by successfully leveraging big data, analytics, the Internet of Things (IoT), and much more. We must not forget that new digital business opportunities would pass a company by if it didn’t move quickly, they argued.

 

Here some more impressions from the C-Suite alumni event:

0076-ALCSuite.jpg

 

You can view more photos of the event highlights to get an impression of what has been discussed and shared by our speakers.

 

 

See what the community is saying about the SAP Alumni C-Suite Get Together:

 

 

“The team produced a wonderful evening that mixed beautiful memories with the great vision for the future of SAP. Thank you for bringing together the spirit of SAP old and new! We are forever part of the same team, regardless of how many years ago we left the building.” Shai Agassi, CEO of Newrgy

 

“Many thanks for hosting the great SAP Alumni event on Friday. So, thank you for having me. It was great to be on stage again with Henning.“ – Torsten Busse, Director, Brunswick Group

 

“I’d like to thank you so much for inviting me to the SAP Alumni event. Also, I greatly appreciate the successful event organization and realization. […] It‘s been an amazing „SAP Family“ evening amongst friends and joined by many new contacts whom you just know from calls or email conversations. Again, thank you and congratulations. I hope the network lives on.” – Dietmar Kilian, Professor & Study Coordinator Business Process Management & Networks

 

“Thanks again for the fantastic alumni get together. I think this is a great initiative.“  – Andreas Barth, VP and Managing Director EUROCENTRAL, Dassault Systèmes


“Thank you for organizing and hosting such a great event. It was a wonderful event and I re-connected with many former colleagues and got to know some I haven’t talked with.” – Andrej Danko, Founder & CTO/CFO, Shortlist

 

Congratulations … I wanted to drop you a quick note of sincere gratitude to you and your team for hosting what I can only say was a privilege and unrivalled event. To have been reacquainted with so many old and new faces was a true delight and testament of why SAP is now where it is today.” – Ray Barratt, Director Supply Chain Transformation, Redwood Software

 

 

And read what has been shared on social media

Thomas Saueressig, Chief Information Officer, SAP, on Twitter

Tobias Andersson, Founder and CEO Optimize Consulting AB, on LinkedIn

Rouven Morato, Finance and Analytics Senior Leader, SAP, on Twitter

 

To receive future communications about what’s going on in the SAP family (e.g. people, news, events),make sure to sign up for the SAP Alumni Network.Membership is free and open for every former and current SAP employee. The advantages of membership are manifold. Plus, become an Alumni champion and spread the word, so the community can attract and engage new members. In return, you’ll be the “chief innovation officer” who helps drive your own company’s commercial success. If you’re a former SAP employee, miss your colleagues or friends and would like to reconnect, just join the community and encourage them to follow you. Thus you all can benefit from relevant community content, exchange ideas, explore opportunities, and collaborate.

 

 

Margret Klein-Magar

Head of SAP Alumni Relations

 

 

 

Related

What is SAP Alumni?

SAP Alumni (@SAPAlumni) on Twitter

SAP Alumni Network Gets Digital-Era Makeover

Corporate Alumni Networks Benchmarking Study

Function calls for adding a standard project sub-structure in SAP Project System

$
0
0

Introduction


     Last week I have created a blog post with some information on which function modules should be called in order to create a completely new operative project structure in SAP project system based on a standard project structure or on another operative structure (Function calls for standard project structure copy in SAP Project System).

 

     It turns out that SAP offers another function module in the same function group of function module “CJWB_PROJECT_COPY” that allows the insertion of an entire substructure below and already existent operative WBS element. This function module is "CJWB_SUBTREE_COPY".

 

     The function calls necessary for successfully accomplish the standard project sub-structure insertion are almost the same as the ones necessary to successfully accomplish the standard project copy. The main difference is that in the first case it is necessary to read the operative project to which the new sub-structure should be added. This is accomplished with function module "CJDW_SELECT_BASIC_DATA".

 

 

Code Samples


     Just as in last week's blog post below are two sample codes for adding a standard project sub-structure. The first is a simple code for cases in which network headers are not necessary while the latter is a more complex code for cases in which network headers are necessary. The second code sample also contains some lines for manipulating WBS element data (project responsible and applicant number) for demonstration purposes.

 

     The sample are based on the calls performed in standard transaction CJ20N (include LCNPB_MF38).

 

 

Sample 1: Simple project sub-structure without network headers


CALL FUNCTION 'CJDW_SELECT_BASIC_DATA'   EXPORTING     project                 = <-- operative project definition to which the standard project sub-structure will be added   EXCEPTIONS     entry_element_not_found = 1     missing_parameter       = 2     project_not_found       = 3     project_inact           = 4     error_message           = 98     OTHERS                  = 99.
 CALL FUNCTION 'CJWB_PROJECT_INIT_EXTERN_CALL'   EXPORTING     i_method      = 'INITIALIZE'     i_aktyp       = 'V'     i_entry_pronr = <-- operative WBS element below which the standard project sub-structure should be added   EXCEPTIONS     not_found     = 1     OTHERS        = 2.
 CALL FUNCTION 'CJWB_SUBTREE_COPY'   EXPORTING     pspnr_source     = <-- top standard WBS element of the standard project sub-structure to be added      pspnr_target     = <-- operative WBS element below which the standard project sub-structure should be added     direction        = '1'     type_of_element  = 'S'   EXCEPTIONS     wrong_call       = 1     OTHERS           = 2.
CALL FUNCTION 'CJDW_GET_NEW_NUMBERS'.
CALL FUNCTION 'CJDT_GET_NEW_NUMBERS'.

 

 

Sample 2: Project sub-structure with network headers and some data manipulation


REPORT zaddsubstr.
 DATA: lt_cjdi          TYPE TABLE OF rcj_markl.
 DATA: lt_rcj_kopnr     TYPE TABLE OF rcj_kopnr.
 DATA: ls_cjdi          LIKE LINE OF lt_cjdi.
 DATA: ls_proj          LIKE proj.
 DATA: ls_prps          LIKE prps.
 DATA: ls_tc10          LIKE tc10.
 DATA: ls_tcn41         LIKE tcn41.
 DATA: l_pspid          TYPE ps_pspid.
 DATA: l_psphi          TYPE ps_psphi.
 DATA: l_pspnr_top      TYPE prps-pspnr.
 DATA: l_old_tcode      LIKE sy-tcode.
 DATA: l_ntw_found      TYPE c LENGTH 1.
 CONSTANTS: c_tcode     TYPE tcode VALUE 'CJ20N'.
 CONSTANTS: c_vorgabe   TYPE caufvd-plart VALUE '1'.
 CONSTANTS: c_direction TYPE c LENGTH 1 VALUE '1'.
 CONSTANTS: c_meth_init TYPE fcode VALUE 'INITIALIZE'.
 CONSTANTS: c_type_elem TYPE selkz VALUE 'S'.
 CONSTANTS: c_aplid     TYPE c LENGTH 1 VALUE 'G'.
 CONSTANTS: c_change    TYPE c LENGTH 1 VALUE 'V'.
 CONSTANTS: c_asterisk  TYPE c LENGTH 1 VALUE '*'.
 CONSTANTS: c_plus      TYPE c LENGTH 1 VALUE '+'.
 CONSTANTS: c_meth_tmex TYPE fcode VALUE 'TMEX'.
 CONSTANTS: c_vernr     TYPE ps_vernr VALUE 99.
 CONSTANTS: c_astnr     TYPE ps_astnr VALUE 99.
 * Source and Target Project Definitions
 * Here the source is the standard WBS element to be added to the existing structure and the target is the operative WBS element below which a new sub structure should be added
 SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME.
 PARAMETERS: p_spspnr TYPE prpss-pspnr OBLIGATORY.
 PARAMETERS: p_tpspnr TYPE prps-pspnr OBLIGATORY.
 SELECTION-SCREEN END OF BLOCK a.
 * Select data from target WBS Element
 SELECT SINGLE psphi
 INTO l_psphi
 FROM prps
 WHERE pspnr = p_tpspnr.
 SELECT SINGLE pspid
 FROM proj
 INTO l_pspid
 WHERE pspnr = l_psphi.
 CALL FUNCTION 'CJDW_SELECT_BASIC_DATA'   EXPORTING     enqueue                 = abap_true     project                 = l_pspid   EXCEPTIONS     entry_element_not_found = 1     missing_parameter       = 2     project_not_found       = 3     project_inact           = 4     error_message           = 98     OTHERS                  = 99.
 CALL FUNCTION 'CJWB_PROJECT_INIT_EXTERN_CALL'   EXPORTING     i_method      = c_meth_init     i_aktyp       = c_change     i_entry_pronr = p_tpspnr   EXCEPTIONS     not_found     = 1     OTHERS        = 2.
 CALL FUNCTION 'CJWB_SUBTREE_COPY'   EXPORTING     pspnr_source     = p_spspnr     pspnr_target     = p_tpspnr     direction        = c_direction     type_of_element  = c_type_elem   IMPORTING     ex_first_element = l_pspnr_top   TABLES     newnumbers       = lt_rcj_kopnr     dialtab_exp      = lt_cjdi   EXCEPTIONS     wrong_call       = 1     OTHERS           = 2.
 * Only for demonstration purposes in lines from 83 to 109 the person responsible and the applicant number are changed in each new WBS element of the structure.
 LOOP AT lt_cjdi INTO ls_cjdi.   CLEAR ls_prps.   CALL FUNCTION 'CJDW_PRPS_GET'     EXPORTING       index     = ls_cjdi-index     IMPORTING       e_prps    = ls_prps     EXCEPTIONS       cancel    = 1       not_found = 2       OTHERS    = 3.   IF sy-subrc = 0.     IF ls_prps-objnr(2) = 'TM'.       ls_prps-vernr = c_vernr.       ls_prps-astnr = c_astnr.       CALL FUNCTION 'CJDW_PRPS_MODIFY'         EXPORTING           beakz     = c_change           index     = ls_cjdi-index           i_prps    = ls_prps         EXCEPTIONS           not_found = 1           posnr     = 2           OTHERS    = 3.     ENDIF.   ENDIF.
 ENDLOOP.
 * Prepare call of 'CJDT_CREATE_ACT_FOR_NEW_PRJ'
 CALL FUNCTION 'CJDW_GLOBAL_VALUES'   IMPORTING     v_proj = ls_proj.
 CALL FUNCTION 'CO_TA_TCN41_READ'   EXPORTING     plnaw      = 'N'     profidnetz = ls_proj-vprof   IMPORTING     tcn41_exp  = ls_tcn41   EXCEPTIONS     not_found  = 01.
 * The two lines of code below might also look strange at first, but they are also necessary because in includes LCJTRFJ8 and LCJTRFI2
 * somewhere inside function 'CJTR_CALL_FROM_EXTERN' the system selects some default values from some tables based on the transaction code.
 l_old_tcode = sy-tcode.
 sy-tcode = c_tcode.
 CALL FUNCTION 'CJTR_CALL_FROM_EXTERN'   EXPORTING     aplid           = c_aplid     fcode_imp       = space     proj_imp        = ls_proj     trtyp_imp       = c_change     top_imp         = 1   TABLES     cjdi_imp        = lt_cjdi   EXCEPTIONS     no_existing_psp = 1     no_pprofil      = 2     OTHERS          = 3.
 SELECT SINGLE *
 INTO ls_tc10
 FROM tc10
 WHERE tcode = c_tcode.
 * Again a strange but necessary line of code. In include LCOKOF1S somewhere inside function 'CJDT_CREATE_ACT_FOR_NEW_PRJ' the system
 * selects the default value for the order category from table t490 based on the transaction code. It would also be a possibility to
 * create a new entry in the aforementioned table with the transaction code in context (i.e. tcode of the current program)
 sy-tcode = c_tcode.
 * Function for adding network objects to the previously created project structure
 CALL FUNCTION 'CJDT_CREATE_ACT_FOR_NEW_PRJ'   EXPORTING     tc10wa      = ls_tc10     tcn41_imp   = ls_tcn41     proj_imp    = ls_proj     sched_param = space     flg_new_prj = space   EXCEPTIONS     no_entries  = 1     OTHERS      = 2.
 IF sy-subrc = 0.   l_ntw_found = abap_true.   CALL FUNCTION 'CO_IT_SET_FLG_ITAB_NEW'.   PERFORM dtab_create_complete(saplcjtr).
 ENDIF.
 CALL FUNCTION 'CNEV_05_COPY_EVOP'   EXPORTING     i_kokrs = ls_proj-vkokr.
 CALL FUNCTION 'CO_BT_PROJKN_DET'   EXPORTING     projn_pa = space     projn_tv = space.
 CALL FUNCTION 'NW_EX_SET_NETSTUFE_MAX_PROJECT'   EXPORTING     i_profidproj                   = ls_proj-profl   EXCEPTIONS     project_profile_does_not_exist = 1     network_profile_does_not_exist = 2     OTHERS                         = 3.
 * Call network scheduling if network exists
 IF l_ntw_found = abap_true.   CALL FUNCTION 'CJWB_PROJECT_INIT_EXTERN_CALL'     EXPORTING       i_method      = c_meth_tmex       i_object      = c_plus       i_view_object = c_asterisk       i_sub_view    = space       i_aktyp       = c_change       i_pronr       = l_pspnr_top     EXCEPTIONS       not_found     = 1       OTHERS        = 2.
 ENDIF.
 * Check if any required field is still empty. This function module is optional could result in disruptive pop-ups
 CALL FUNCTION 'CJWB_CHECK_BEFORE_COMMIT'   EXCEPTIONS     cancel = 1.
 * Prepare commit of WBS element dates table (PRTE)
 CALL FUNCTION 'CJTR_POST_DATES'   EXCEPTIONS     sched_wrong    = 1     check_top_down = 2     OTHERS         = 3.
 * Prepare commit of network data if network exists
 IF l_ntw_found = abap_true.   CALL FUNCTION 'CO_BT_PROJKN_DET'     EXPORTING       projn_pa = c_vorgabe       projn_tv = space.   CALL FUNCTION 'CO_ZV_ORDER_POST'     EXPORTING       commit_flag   = abap_false       ext_flg       = abap_true       trans_typ     = c_change       no_dialog     = abap_true     EXCEPTIONS       update_reject = 1       budget_reject = 2       OTHERS        = 3.
 ENDIF.
 * Substitute internal numbers
 CALL FUNCTION 'CJDW_GET_NEW_NUMBERS'.
 CALL FUNCTION 'CJDT_GET_NEW_NUMBERS'.
 COMMIT WORK.
 sy-tcode = l_old_tcode.
 END-OF-SELECTION.

Por que a impressora 3D de alimentos simplesmente transformou a cadeia de suprimentos

$
0
0

4_1.jpg


Quatro ingredientes-chave da cadeia de suprimentos estendida

  1. O aumento da demanda por produtos individualizados exige mudanças em P&D, gestão de ativos, logística, entre outras coisas.
  2. A economia do compartilhamento integra uma rede de parceiros - dos fornecedores e fabricantes de equipamentos à fabricação terceirizada -, todos eletronicamente interconectados, atuando com transparência em tempo real e de modo contínuo.
  3. A escassez de recursos envolve a pressão não só sobre as matérias-primas, mas também sobre a mão de obra temporária e de tempo integral, com as competências e a flexibilidade necessárias para dar suporte aos novos modelos e processos de negócios.
  4. Tudo se resume à centricidade no cliente. Para competir no ambiente de negócios atual e atender às expectativas atuais e futuras do cliente, todas as operações devem, cada vez mais, girar em torno da rápida compreensão e da resposta à demanda do cliente.

  Descubra como a impressão 3D está transformando a cadeia de suprimentos. Leia o artigo completo no blog da SAP.

IoT, Digital Transformation, and the Consumer Experience

$
0
0

IDC recently published a report entitled, IoT and Digital Transformation: A Tale of Four Industries, which takes a look at how digital transformation is at the heart of many business strategies today, including in Consumer Products, and considers why IoT is rapidly emerging as an essential element of generating innovative customer and consumer experiences. 

 

In the report, IDC shares research showing that 33% of industry leaders will be disrupted by 2018, and that the urgency surrounding this disruption potential is heightened by the threat of digitally enabled competitors. Because a starting point for digital transformation is innovating the customer and consumer experience, the report points out that companies are now pressured to transition traditional operating models from mass-market approaches to more consumer-centric models.

 

The report also explains why IoT is considered essential for helping to generate new and innovative customer and consumer experiences and why worldwide organizations consider IoT as strategic (58%) and transformational (24%) to their business.

 

IoT brings a multitude of benefits

 

To understand how digital transformation and IoT are affecting businesses today, IDC took an in-depth look at several industries, including Consumer Products. Here are a few highlights:

 

The CP industry across all segments, including food, beverage, home and personal care, durables, fashion and even agribusiness, all place a premium on consumer-driven product innovation. As a result, developing a deeper understanding of consumer needs, preferences, behaviors and consumption patterns can be leveraged directly to improve consumer experience.  Collecting all of that data and leveraging it to generate consumer and customer insights and respond to customer and consumer needs in moments of opportunity is something that’s increasingly being enabled by IoT.

 

However, industry segments define IoT in different ways. For instance, some companies are primarily focused on connecting with consumers in order to influence their choices, while for others, it’s all about connected products and how to service them and sell related offerings. For others still, the primary emphasis is on efficient operations and how to improve demand forecasting and service levels.

 

Potential that can’t be ignored

 

For the Consumer Products industry, one thing is certain. IoT will help to increase productivity and effectiveness. For instance, IDC predicts that by 2018, the proliferation of advanced, purpose-built analytic applications aligned with the IoT will result in 15% productivity improvements for manufacturers.

 

Another prediction says 60% of Global 1000 companies will integrate IT and operational technology (OT) at the technology, process, security, and organizational levels to fully realize the value of their IoT investments by 2018. With potential like this, IoT-related opportunities will likely soon emerge at the forefront of investment strategy and prioritization discussions.

 

The bottom line? Better performance

 

IoT investments will benefit consumer products in many way, from increased capacity on production lines and easier product customization to more effective and timely innovation and tighter links between supply and demand. All of these benefits collectively will help drive improved financial performance.

 

There is a clear bottom line message here: in this industry, IoT is about the consumer and customer experience. Therefore, to reach their aspirational goals, consumer products companies must ensure that IT and business process investments are prioritized over more pressing and definable business priorities.

 

To read more about IDC’s insights on the IoT for this industry and others, download the full report, IoT and Digital Transformation: A Tale of Four Industrieshere and visit Consumer products: Reimagined for the new economy.

Viewing all 3611 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>