Digiu Digital

Operational efficiency and customer experience are crucial for success in online retail. For companies looking to streamline their processes and offer a seamless shopping journey, the SAP Commerce Workflow API is a valuable tool. Let’s explore how this solution can transform process management and improve efficiency, helping decision-makers understand its value and implementation. What is the SAP Commerce Workflow API? The Workflow API in SAP Commerce Cloud automates complex workflows, from template definition to real-time workflow instance generation. It’s ideal for businesses with regular operations requiring both human interactions and automated tasks, ensuring consistency and efficiency at every step. Benefits for Decision-Makers Process Automation Automation reduces human errors and speeds up operations. The Workflow API allows activities like product price creation and review, web service calls, and validations to be automated, freeing up teams to focus on strategic tasks. Flexibility and Control Customizing workflows to meet specific business needs provides unprecedented operational control. Every step, from product creation to marketplace availability, can be precisely orchestrated. Integration and Scalability Accessible via Java code or REST/SOAP interfaces, the API integrates easily with other systems. This is crucial for companies seeking scalability and seamless platform integration. Use Case: Transforming the Shopping Journey Consider a scenario where product price creation, review, and validation are fully automated. This not only speeds up the time-to-market but also ensures prices are always up-to-date and approved, enhancing customer satisfaction. Let’s see a practical example: Product Price CreationResponsible: Creator UserAction: Define the initial product price. Price ReviewResponsible: Approver UserAction: Review and approve the defined price. Web Service CallResponsible: Automated SystemAction: Send data to an external web service. Final ValidationResponsible: Workflow AdministratorAction: Validate and finalize the product price. Implementing the Workflow API To get started, create workflow templates, define actions and decisions, and finally instantiate and start the workflow. Using Groovy scripts, developers can easily automate and customize these processes. import de.hybris.platform.workflow.model.WorkflowTemplateModel; import de.hybris.platform.workflow.model.WorkflowActionTemplateModel; import de.hybris.platform.workflow.enums.WorkflowActionType; import de.hybris.platform.workflow.model.WorkflowDecisionTemplateModel; import de.hybris.platform.workflow.model.AutomatedWorkflowActionTemplateModel; import de.hybris.platform.workflow.model.WorkflowModel; import de.hybris.platform.workflow.model.WorkflowItemAttachmentModel; import de.hybris.platform.core.model.product.ProductModel; import java.util.Locale; import java.util.ArrayList; import java.util.List; import de.hybris.platform.core.model.ItemModel; import java.util.Collection; import java.util.Collections; modelService = spring.getBean(‘modelService’); userService = spring.getBean(‘userService’); productService = spring.getBean(‘productService’); catalogVersionService = spring.getBean(‘catalogVersionService’) workflowService = spring.getBean(‘workflowService’); workflowTemplateService = spring.getBean(‘workflowTemplateService’); workflowProcessingService = spring.getBean(‘workflowProcessingService’); newestWorkflowService = spring.getBean(‘newestWorkflowService’); workflowTemplateCode = “productPriceWorkflowTemplate”; workflowTemplateName = “product price workflow template”; //action code | action name | action user | action type | jobHandler ACTION_PLAN = “”” createProductPriceAction|create product price|creatorUser1|START createProductPriceReviewAction|create product price review|approverUser1|NORMAL makeWebserviceCallForPriceAction|make webservice call for price|workflowAdminUser1|NORMAL|shopzoneAutomatedWorkflowAction createProductPriceSignOffAction|create product price sign off|workflowAdminUser1|END “””; //decision code | decision name | origin action for this decision DECISION_PLAN = “”” productPriceCompletedDecision|product price completed|createProductPriceAction productPriceApprovedDecision|product price approved|createProductPriceReviewAction productPriceRejectedDecision|product price rejected|createProductPriceReviewAction webservicesCallSuccessDecision|webservice call success|makeWebserviceCallForPriceAction webservicesCallFailureDecision|webservice call failure|makeWebserviceCallForPriceAction “””; //decision code | target next action for this decision WORKFLOW_LINK = “”” productPriceCompletedDecision|createProductPriceReviewAction productPriceApprovedDecision|makeWebserviceCallForPriceAction productPriceRejectedDecision|createProductPriceAction webservicesCallSuccessDecision|createProductPriceSignOffAction webservicesCallFailureDecision|createProductPriceReviewAction “””; prepareWorkflow(ACTION_PLAN,DECISION_PLAN,WORKFLOW_LINK); def prepareWorkflow(ACTION_PLAN,DECISION_PLAN,WORKFLOW_LINK) { WorkflowTemplateModel workflowTemplate = createWorkflowTemplate(workflowTemplateCode,workflowTemplateName); List workflowActionTemplateList = createWorkflowActions(workflowTemplate, ACTION_PLAN); List workflowDecisionTemplateList = createWorkflowDecisions(DECISION_PLAN); createWorkflowInstance(); } def createWorkflowTemplate(workflowTemplateCode,workflowTemplateName) { WorkflowTemplateModel workflowTemplate = modelService.create(WorkflowTemplateModel.class); workflowTemplate.setOwner(userService.getUserForUID(“admin”)); workflowTemplate.setCode(workflowTemplateCode); workflowTemplate.setName(workflowTemplateName, Locale.ENGLISH); modelService.save(workflowTemplate); return workflowTemplate; } def createWorkflowActions(workflowTemplate, ACTION_PLAN) { //action code | action name | action user | action type | jobHandler //create list of WorkflowActionTemplateModel workflowActionTemplateList = []; def actions = ACTION_PLAN.split(“n”); for (String action : actions) { //if action is not blank if(action.isBlank()) { continue; } def actionDetails = action.split(“\|”); workflowActionTemplate = null; if(actionDetails.length > 4 && actionDetails[4] != null && !actionDetails[4].isBlank()) { workflowActionTemplate = modelService.create(AutomatedWorkflowActionTemplateModel.class); } else { workflowActionTemplate = modelService.create(WorkflowActionTemplateModel.class); } workflowActionTemplate.setOwner(userService.getUserForUID(“admin”)); workflowActionTemplate.setCode(actionDetails[0].trim()); workflowActionTemplate.setName(actionDetails[1], Locale.ENGLISH); workflowActionTemplate.setPrincipalAssigned(userService.getUserForUID(actionDetails[2])); workflowActionTemplate.setActionType(WorkflowActionType.valueOf(actionDetails[3])); workflowActionTemplate.setWorkflow(workflowTemplate); //actionDetails[3] is not blanck then set jobHandler if(actionDetails.length > 4 && actionDetails[4] != null && !actionDetails[4].isBlank()) { workflowActionTemplate.setJobHandler(actionDetails[4]); } modelService.save(workflowActionTemplate); workflowActionTemplateList.add(workflowActionTemplate); } return workflowActionTemplateList; } def createWorkflowDecisions(DECISION_PLAN) { //decision code | decision name | origin action for this decision //create list of WorkflowDecisionTemplateModel List workflowDecisionTemplateList = new ArrayList(); def decisions = DECISION_PLAN.split(“n”); for (String decision : decisions) { if(decision.isBlank()) { continue; } def decisionDetails = decision.split(“\|”); WorkflowDecisionTemplateModel workflowDecisionTemplate = modelService.create(WorkflowDecisionTemplateModel.class); workflowDecisionTemplate.setOwner(userService.getUserForUID(“admin”)); workflowDecisionTemplate.setCode(decisionDetails[0].trim()); workflowDecisionTemplate.setName(decisionDetails[1], Locale.ENGLISH); println decisionDetails[0]+’ source action > ‘+decisionDetails[2]; workflowDecisionTemplate.setActionTemplate(workflowActionTemplateList.find { it.code == decisionDetails[2] }); def targetActionModels = findAllTargetActionsForDecision(decisionDetails[0]); workflowDecisionTemplate.setToTemplateActions(targetActionModels); modelService.save(workflowDecisionTemplate); workflowDecisionTemplateList.add(workflowDecisionTemplate); } return workflowDecisionTemplateList; } def findAllTargetActionsForDecision(decisionCode) { //decision code | target next action for this decision def links = WORKFLOW_LINK.split(“n”); def targetActions = new ArrayList(); for (String link : links) { def linkDetails = link.split(“\|”); if(linkDetails[0] == decisionCode) { targetActions.add(linkDetails[1]); } } def targetActionModels = []; targetActionModels = targetActions.collect { targetAction -> WorkflowActionTemplateModel foundModel = workflowActionTemplateList.find { it.getCode() == targetAction } if (foundModel == null) { throw new RuntimeException(“No model found with the code: ${targetAction}”) } return foundModel } targetActionModels.removeAll([null]); return targetActionModels; } def createWorkflowInstance() { WorkflowTemplateModel workflowTemplate = workflowTemplateService.getWorkflowTemplateForCode(workflowTemplateCode); catalog = catalogVersionService.getCatalogVersion(‘apparelProductCatalog’, ‘Online’); ProductModel product = productService.getProduct(catalog,”300618506″); WorkflowModel workflow = newestWorkflowService.createWorkflow(“prodPriceWorkEx1”,workflowTemplate, Collections. singletonList(product),userService.getUserForUID(“admin”)); workflowProcessingService.startWorkflow(workflow); } The SAP Commerce Workflow API is a powerful tool for companies aiming to optimize operations and provide an integrated, efficient shopping experience. By automating complex processes and ensuring consistency at every stage, this solution is essential for business leaders looking to maintain a competitive edge in the digital market. About Digiu Digital Digiu Digital specializes in digital transformation and e-commerce, with extensive experience in SAP Customer Experience solutions. We offer 24/7 support and a team of global experts to ensure your business stays ahead.

Exploring the Key Benefits and Challenges of Adopting Cloud Technology for Improved Efficiency and Cost Savings In today’s fast-paced business environment, digital transformation is critical for companies to remain competitive. One of the most significant drivers of digital transformation is cloud computing, which enables businesses to access applications and store data from anywhere in the world using any device with an internet connection. By adopting cloud technology, businesses can save on capital expenses and scale their operations quickly without the need to invest in new hardware every time they need extra capacity. Here are the main benefits of investing in cloud computing: Cost Savings: Cloud computing eliminates the need to purchase and maintain expensive hardware, resulting in significant cost savings for businesses. Scalability: Businesses can quickly and easily scale their operations up or down depending on their needs without investing in new hardware. Flexibility: Cloud computing enables businesses to access their data and applications from anywhere in the world using any device with an internet connection. Security: Cloud providers offer multiple layers of security, including encryption, firewalls, and other measures to protect against cyber attacks and data breaches. Disaster Recovery: Cloud providers offer redundant backups, ensuring that if one copy of data is lost, another copy is readily available. Collaboration: Cloud computing makes it easy for teams to collaborate and share resources in real-time, regardless of their location. Cloud computing is beneficial for all kinds of business. It helps Small and Medium-Sized Enterprises can reduce costs and increase productivity by providing access to advanced technology without a large IT budget. For startups, cloud computing provides the ability to quickly and easily scale their operations up or down as needed. Big companies and remote teams benefit from cloud computing as it enables them to access data and applications from anywhere in the world, which is essential for businesses that have employees working from home or in different locations. However, there are several challenges in adopting cloud technology. Here are the key challenges that businesses should consider: Security Concerns: Cloud computing requires businesses to entrust their data to a third-party provider, which can be a concern for companies that handle sensitive data. Internet Connectivity: Cloud computing requires a reliable internet connection to access data and applications, which can be a challenge for businesses in areas with limited or unreliable internet access. Migration Costs: Moving to the cloud can be expensive and time-consuming, especially for businesses with a large amount of data or complex systems. Integration with Existing Systems: Integrating cloud technology with existing systems can be challenging, as it requires businesses to ensure that their existing infrastructure is compatible with cloud technology. Lack of Control: Cloud computing can give businesses less control over their data and systems, as they are relying on a third-party provider to manage these resources. To successfully navigate the challenges associated with adopting cloud technology, businesses need to carefully research and select the right cloud provider and technology partner to help guide them through their digital transformation journey. This is where Digiu Digital comes in – our team of experienced experts are skilled in bringing businesses from the offline world to the digital world, with a wide range of services to support your company’s unique needs. Whether you’re looking for digital commerce strategies and solutions, digital products, streamline data and CRM, implement microservices or an application management services (AMS) partner, we’ve got you covered. With our comprehensive range of solutions, we can help you leverage the power of technology to improve efficiency, reduce costs, and stay ahead of the competition. By adopting cloud technology, businesses can save on capital expenses and scale their operations quickly without the need to invest in new hardware every time they need extra capacity.

2022 has come to an end, and if you’re a SAP Commerce user, you’re probably well aware that the end of maintenance for previous versions is approaching. This means that if you still haven’t updated your software, you’ll no longer be able to receive support or security updates from SAP. It’s essential that you take action now to ensure that your business is prepared for this change. What is SAP Commerce? SAP Commerce is a software solution designed for businesses to manage and improve their online sales and customer engagement. It provides a range of features such as e-commerce, order management, customer service, and marketing automation, among others. It is a powerful tool for businesses that want to optimize their online presence and enhance customer experience. Why is there an upgrade? SAP Commerce is constantly evolving and improving to meet the changing needs of businesses and their customers. As a result, SAP regularly releases updates and new versions of the software to add new features and fix any issues. These updates are necessary to ensure that the software continues to work effectively and securely. Why should I upgrade my software ASAP – as soon as possible? Staying with the implemented version may seem like the default strategy for many companies, and certainly saves them from making the decision or investing the effort involved in upgrading. However, the problems will start to appear when the end of maintenance passes, and the version in operation by the company increasingly becomes an older, unsupported product. It is likely that the underlying code and infrastructure will also become obsolete. For example, with the release of SAP Commerce 1905 came support for Java 11 and Spring frameworks; these problems may not affect the currently deployed platform but may add complexity and cost. Upgrading to the latest version will provide access to the latest features and improvements, which can help businesses to stay competitive and meet customer demands. Also, it is essential to ensure the security of the software. SAP releases updates to fix any security vulnerabilities, and upgrading will ensure that your business is protected against potential threats. When is the end of maintenance for previous versions planned? The end of the maintenance period for previous versions of SAP Commerce Cloud and On-Premise is currently planned for March and August of 2023, and May 2024. This means that businesses have until these dates to upgrade to the latest version and continue receiving support from SAP. What are the challenges to updating the software? Keeping up with the latest versions and upgrade schedules, especially for IT departments that have all kinds of systems and infrastructure to maintain, is a challenge. Understanding how the upgrade implementation will impact the business (in terms of testing, downtime and risk of failure) takes time and effort, and many companies simply cannot or do not want to invest the budget and time for this. Major upgrades are more of a challenge, especially for customers with significantly customized implementations of SAP Commerce. In addition to the effort involved in deploying and testing, the new version of SAP Commerce comes with new capabilities and functionalities that can either replace the customizations currently implemented or enable new features that add value and provide new experiences for customers. Why update with Digiu Digital Updating is vital to ensuring the continuity and security of your business. Digiu Digital Group is the right partner to help you in this process. We started working with Hybris in 2013, long before its acquisition by SAP which later transformed the system and renamed it to SAP Commerce. We are SAP Silver Partner, with a lot of SAP Commerce Certified Professionals in-house, who are equipped to handle the complexities of SAP Commerce upgrades. We understand the importance of ensuring that your e-commerce platform is fully functional and stable after the update, and we take great care to ensure that all aspects of the upgrade are thoroughly tested and verified to ensure a smooth and successful transition. ASAP Update Going through the traditional upgrade process can be time-consuming and risky. That’s where ASAP Update comes in. ASAP Upgrade is an exclusive methodology designed by Digiu Digital and Meisters Solutions to help businesses quickly and continuously upgrade their SAP Commerce platform with minimal risk and execution time. Whether upgrading to an On-Premise version or upgrading to the Commerce Cloud. With ASAP Update, you can quickly and easily upgrade your software to the latest version, ensuring that your business is fully up-to-date and ready to face the challenges of the future. Benefits of ASAP Update Quick and easy upgrades: With ASAP Update, you can upgrade your SAP Commerce platform in as little as four weeks, depending on the complexity of your system. This means that you can quickly and easily get your business up-to-date without worrying about disruptions to your operations. Minimal risk: Updating your SAP Commerce platform can be risky, especially if you’re not familiar with the process. ASAP Update minimizes this risk by providing you with a team of experienced professionals who will handle the entire upgrade process for you. Continuous updates: With ASAP Update, you’ll be able to stay up-to-date with the latest version of SAP Commerce at all times. This means that you’ll always have access to the latest features and functionality, helping you stay ahead of the competition.

Now, digital transformation isn’t just recommended, it’s expected – especially given the pace of technology innovation, and to succeed in a digital transformation journey your business must first begin with data and analytics to know what you need to do in order to reach your goals. Data analytics not only helps you make decisions with respect to your business but make the right ones since they’re grounded in actionable intelligence. Data-driven companies present: The field is constantly evolving with the adoption of advanced technologies such as AI (Artificial Intelligence) and Machine Learning, which are able not only to provide an overview of the present but also to perform predictive analysis and identify new consumption patterns and public preferences in advance. The consequence is the design or improvement of products and solutions to meet the expectations of the public and have greater chances of success. Besides that, according to Mckinsey, data-driven organizations are 23 times more likely to acquire customers, 6 times as likely to retain them and 19 times more likely to be profitable. Finally, research conducted by BARC Research shows that organizations that embrace Big Data reduce their operational costs by up to 10%. Data is the New Oil This quote has been around for quite some time, but many companies and managers forget or ignore the rest of the phrase, attributed to the mathematician Clive Humby: “Data is the new oil. Like oil, data is valuable, but if unrefined it cannot really be used. […] so, must data be broken down, analyzed for it to have value”. This means that the greatest wealth is not in the mass of data itself, but in the intelligence capable of organizing it, and from this extracting discoveries that will make it possible to transform the reality of companies in general. Businesses today gather large amounts of data, The only problem is that, once they have it, they may not know exactly what to do with all that information. Forrester reports that between 60 percent and 73 percent of all data gathered within an enterprise goes unanalyzed. Not knowing the best way to read, understand, and apply data can actually be costing your business in the form of lost revenue opportunities, lower efficiency and productivity, quality issues, and more. How to analyze and leverage the data? Descriptive Analysis: as the name implies, it consists of the description of the analyzed data. It is based on facts, and is usually done very quickly, using standard calculations, diagrams and graphs. One of the most famous examples of descriptive data analysis is perhaps Google Analytics, a tool that allows you to observe website traffic data with information such as the number of visitors, where these visitors come from, how long they spend on the site, etc. In other words, descriptive analysis gathers information from the past and presents it in a compiled and easy-to-understand manner, being a starting point for more complex analyses. Diagnostic Analysis: It is used when you need to detect, in a more specific way, what is causing a certain phenomenon or behaviour. In the diagnostic analysis, the aim is to investigate the “why”, the cause and effect relationships in the analyzed objects. This type of analysis is focused on finding answers, given a predetermined scenario, and seeking to find explanations for the situations presented. Predictive Analysis: In this type of analysis, data is used to project scenarios and identify future trends based on certain patterns. This kind of analysis uses statistical methods and models, sophisticated algorithms, data mining to a set of data collected in the present or in the past. In commerce, for example, predictive analysis can be very useful when it comes to predicting periods of low sales performance, providing the manager with information to plan in advance to cut expenses or to think about actions that help to leverage sales in those periods less favourable. Prescriptive Analysis: Despite being a little-known analysis in the market, this type of research helps to choose which action will be more effective in a given situation. Your goal is to analyze the consequences of each action. In practice, it is a way of transforming the future perspectives obtained by predictive analysis, according to decision-making. Because it is a more complex type of analysis and has a high decision-making value, there is a need to incorporate human knowledge, usually specialists in a given area, to obtain more precision in the forecast models. Conclusion There are a number of ways that companies can use data to become more efficient. For example, data can be used to segment customers and target them with personalized messages. This ensures that marketing efforts are focused on the right people and that resources are well-spent on those not interested in the product or service. Also, with access to more information about customers is possible to create better products or services that match their needs. Data can also be used to streamline operations. By understanding which processes are taking too long or which steps are unnecessary, companies can make changes that save time and money. In some cases, data can even be used to automate tasks that would otherwise be done manually. Ultimately, companies that use data effectively are able to do more with less. They can make better decisions, save time and money, and find new opportunities for growth. In today’s business world, those who embrace data will have a clear advantage over those who don’t.