As we know it is being used in the SAP CA-UI2 (SAP UI for Decoupled Innovations in CA) component which is coming under CA module (Cross Application) ./UI2/SEMOBJ_SAP is a transaction code used for Define Semantic Object - SAP in SAP. You can also ping me your LaunchPad-Role screen & UI5 App structure. Each App (tile) has unique Target-Mappings (with SematicObject and Action Method reference). We define Launchpad roles to link SAP UI5 Application with Tiles. The optional header content is not defined in the semantic page andcan be populated according to the use case. in For 1-pageobjects, youcansetthe entire pageto edit mode. Alerting is not available for unauthorized users, Right click and copy the link to share this comment, Save the entries and store it in Transport Request number, Here we want to create Tile for standard SAP GUI Transaction i.e. Has 90% of ice around Antarctica disappeared in less than a decade? under folder 'view', page JS/JS (Design/Controller) 'App' resides, which directs to XML/JS page 'Master' and so on. ME42 in Fiori Launchpad, First check, if standard Fiori App is available for Transaction ME42, in this case, no standard Fiori app is available, so follow below steps to expose backend transaction to Fiori Launchpad. Now login SAP Fiori Launchpad using this user-id, we get access of UI5 app tile. 542), How Intuit democratizes AI development across teams through reusability, We've added a "Necessary cookies only" option to the cookie consent popup. Enter the role name ZS_FI_PAYE2 and click on single role. Step 6. Alerting is not available for unauthorized users, Right click and copy the link to share this comment. it also appears that "additional information" is far from "oh and by the way", but a vital part of the orchestration. First of all, thank you so much for your blog. There comes th. While configuring in FLP, inside tile's Target-Mapping, if you can select option 'SAP Fiori App using LPD_CUST' ->Then below details in "Launchpad Role" / "FLP's Target Mapping input" / "UI5 App namings" should be in sync: Additonal Information: SAPUI5.Component=ztest_app, AndFLP's Target Mapping input Alias =Test_App01. an object page floorplan. Unfortunately, when i click on the tile in the launchpad, i get an empty shell: In eclipse, the app is working as designed. Please fill out the form to send us your feedback. Open Fiori Admin URL. Sorry for very late reply, till now, you may have already addressed the requirement. Should I include the MIT licence of a library which I use from a CDN? This PFCG role should have access to apps B. Catalog/Group and ODataSrv. Best Practices for Designing SAP Fiori Apps, Situation Handling Framework UI Text Guidelines, Complex Objects Global Flow (Create, Edit), Complex Objects Local Flow (Create, Edit). However, this blogs configuration steps are required when you plan to deploy your application in Fiori Launchpad. It's very nice and well explained in a easy manner. What will happen, if we assign Semantic Object and Action for more than one FIORI app? Here we add below standard registered Fiori Launchpad services with parameters as shown in screens: These are required for accessibility of Fiori Launchpad to any user, Now add user in tab USER, to which app access is to be given for e.g. JAVA Add the Title and the ID of the group then click on save. Thank you for your response. Can you please help. One PFCG Role for SAPUI5 Application, which includes: To create PFCG roles go to t-code PFCG -> Enter Role name -> click on button Single Role, Go to Tab Menu -> click on end point of button Transaction -> select Authorization Default ->. To learn more, see our tips on writing great answers. Here map the. The new fiori tile Payroll integration is created successfully. If the object contains homogeneous information: the data on the main page and subpages usually refers to the same object. Can the Spiritual Weapon spell be used as cover? Create new Tile either Static or Dynamic. In this blog, we will com to know about steps to configure any custom UI5 forSAP Fiori launchpad access. Inside @UI.Lineitem add DataFieldWithIntentBasedNavigation and point it to your field name coming from CDS report the only difference from this GIF is that you needn't to specify GUI_NAVIGATE property Through column definition in CDS view By clicking Accept all cookies, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy. 2. Go to t-code -> click on button New Launchpad ->, Go to tcode -> click on button New Launchpad ->, Here put some namespace as Z, it is required while including this role to TR (Transport-Request). Do not remove or disable actionswithin the. Enter the package and the transport request. Uncheck the None (Local Object) checkbox, and then choose the customizing request from This is how it works for me: I hope you must have resolved this by now. Using a semantic object (intent-based navigation) Inbound navigation. I don't know how to deal with it. No changes done on index.html as suggested. 1)Create: Brand new object that has not yet been created on the database. and click on save . evolution of abap for sap fiori in 8 minutes 3344 | 08:08 | 2021-02-28. creating and customizing an sap fiori app 46249 | 04:50 | 2017-02-28. javascript essential for sap consultant 2028 | 07:21 . under UI5-Project, files like 'Index'/'Component' and folder 'view' exists. But in order configure in FIori Launchpad I had added Component.js and change script in index.html to call component.js instead ofzsupplier_dwnld.view.js but I am getting error when I do local testing in eclipse. What will happen, if we assign the Semantic Object and same Action for more than one FIORI app? Make sure Parameter is added correctly as below: Now click on Groups, click on + icon to add the Tile ( This step should be done by Security team), Now check with Security team to add the Group to the Role, Open the link to check in fiori Launchpad, Thus, SAP GUI tile is coming on Fiori Launchpad as expected. The semantic page is recommended as the basic layout for freestyle applications. Can you please help me to resolve the issue. How to develop a hybrid Fiori application and launch it on Fiori custom client? 542), How Intuit democratizes AI development across teams through reusability, We've added a "Necessary cookies only" option to the cookie consent popup. If several users, possibly from different teams, work together on the object. Task . General Patterns Object Handling (Create, Edit, Delete) Overview. The users should have assigned to this PFCG roles. Create Semantic Object by using /UI2/SEMOBJ . Pre-requisites: Two transport request (TR) required: To Include Launchpad role in transport request, follow steps as below, open Launchpad Role from t-code LD_CUST > go to Menu Launchpad-> click on Transport, http://:/sap/bc/ui5_ui5/sap/arsrvc_upb_admn/main.html, To add a Catalog, in Catalog section click on plus + icon, Enter Catalog Id and title in pop-up window, Now once catalog gets added, we can see it left panel, now next we need to add a Tile. 'index.html' -> 'Component.js' -> 'zsupplier.zsupplier_dwnld' -> so on. Why did the Soviets not shoot down US spy satellites during the Cold War? You only need to display a small amount of information. Now in the Fiori Launch Pad Designer use the below target mapping configuration to design the custom apps . Click ok icon -> Click Yes in next window. Very nice blog. With an S4 / HANA system we are always asked to create tiles for custom programs/transactions. Must Have- 1. in the business catalog. Exactly! Posted First Verify that the standard Transaction Me42 is SAP GUI for HTML. Spartan Controls. Go to SAP Customizing Implementation Guide - SAP NetWeaver - UI Technologies - SAP NetWeaver User Interface Services - Define Semantic Objects Click to open the table for semantic objects. video 4 fiori custom semantic object . Target Mapping First Verify that the standard Transaction Me42 is SAP GUI for HTML. Unstructured data can make up to 80 percent of data in the day-to-day business of financial organizations. If a user is responsible for the complete object. Using a URL. Go back to Catalog section on the chrome portal and choose the second tiles facet to create a new tile using Create Tile option at bottom. Navigation can then be triggered using a link or a button. Thank you. Step 2. If you dont want the entire object to be locked when one user is editing. Thank you for your helping us to improve our guidelines! screen to create a new group. Create a group ZBG_FI_PAY2 as we did in the first method. I think there are several use cases, where this comes in handy. Change title name as per custom text. In SAP-Fiori Launchpad, a SAP-UI5 application get accessed using following flow of components: [1] CreateSemantic Object inSAP Fiori Server (Front-end) server, [2] Create Launchpad Role inSAP Fiori Server (Front-end) server, [5] Create Apps PFCG Role inSAP Fiori Server (Front-end) server. This behavior needs to come from the respective controls for the title and subtitle. Run the extraction report /UI2/GET_APP_DESCR_REMOTE_DEV to extract the The steps are valid, but so wrong in this context. Applications of super-mathematics to non-super mathematics. Well versed with Object Oriented (OO) concepts of SAP ABAP; Good knowledge of ABAP Debugging, SAP Code inspector & other SAP standard tools w.r.t development. For Local testing (e.g. Create a new unique semantic object with Z namespace as shown below for the application from the TCode /n/UI2/SEMOBJ using the new entries option and save the changes in a workbench TR. But with the second method, the business catalog is created by reference If you'd like help with a specific question, please visit the SAP Fiori Community. Next, go to the menu tab, click on transaction -> SAP Fiori Launchpad -> Launchpad Calgary, Alberta, Canada. If you want the user to select one option from a small group, offer a segmented button in the . Well versed with Object Oriented (OO) concepts of SAP ABAP; Good knowledge of ABAP Debugging, SAP Code inspector & other SAP standard tools w.r.t development. simplied analysis of data by reducing the time required for semantic modeling and . I have a similar problem can help me the version of fiori is 1.0, I execute the project where I use the created destination. If only a few sections are editable,set only thesesectionsto edit mode, or open a dialogfor editing. But given the effort behind creating custom technical catalogs and even custom semantic objects, I would recommend the referencing of what is already there. Entries button and enter the name of the semantic object ZFI_PAY as shown in the Used for Creating responsive apps. Go to UI Technologies SAP Fiori Setting Up Launchpad Content Setting Up Technical Catalogs Define Custom Semantic Objects for Navigation Choose to open the table for semantic objects. Upgrade Your Executive and Senior Management Search Options, 2023. I have an issue opening my custom app in Fiori launchpad. One question though - all those steps are not going to automagically transform a GUI transaction into a Fiori app, are they? Please note that here there is no possibility to provide the action but only semantic object . Thanks for sharing the knowledge. If the object contains heterogeneous information (for example, for different object types). Would the reflected sun's radiation melt ice in LEO? Launching the CI/CD and R Collectives and community editing features for SAP Fiori Launchpad - System News style popup, SAP Fiori Company Logo in Fiori-Launchpad, How to access SAP Fiori Launchpad with SAP Fiori Client (internal URL), Translate Sap Fiori launchpad tile number unit. Hi, I added my app as described, however,there is an empty screen. Create a SAP Fiori Elements app for a RAP business object from SAP BTP, ABAP Environment in Visual Studio Code and deploy it to SAP BTP, ABAP Environment. Tasks & Responsibilities: Development of drill down ALV Reports (with pop-up & Email functionality), Smart Forms, BAPIs, Enhancements, Tables, Structures, Table Types, Data Elements, CDS Views, IDA-ALVs etc. Use the transaction /N/UI2/SEMOBJ_SAP to create a semantic object. The framework is available for NodeJS and Java languages, natively serving Fiori UIs through semantic annotations - other UI frameworks supporting generic annotations can be used as well. Go to t-code ->change -> click on New Entries ->. Finally, with the transaction/N/UI2/FLPyou can view the tile in Fiori Launchpad. Add a Comment Alert Moderator Assigned Tags SAP Fiori SAP Fiori Cloud sap fiori configuration Similar Questions 1 Answer Sort by: Vote up 2 Vote down ibrahim ztekin Ackermann Function without Recursion or Stack. If you see page 'zsupplier_dwnld.view.js' & ''zsupplier_dwnld.controller.js', here reference not given proper, it should be like below, which is 'ProjectName -> folderViewName -> PageView', Here, I suggest, you should be handling view as XML/JavaScript i.e. - YouTube 0:00 / 52:04 How to Deploy SAPUI5 App to SAP Fiori Launchpad in 20 minutes? For more information, seePartial Edit. Procedure To create a new target mapping, select Create Target Mapping. In Technical Catalog we can maintain other Apps like below: The primary purpose of a Technical Catalog is the reuse of Apps. Launchpad role and specific Alias combination will be referred in Target Mapping of Catalog configuration to link one SAP-UI5 application. I am posting my complete UI5 application below for your review. For customized apps accessibility in Fiori Launchpad page, one user-id will be assigned two PFCG Roles, which are: One PFCG Role for Fiori Launchpad accessibility, which includes below default services acces, Note: Post activation/registration of above standard services, they get renamed with Z prefix. Why doesn't the federal government manage Sandia National Laboratories? Using semantic objects, you can bundle applications that reflect a specific scenario. ZFI_PAY2 as indicated in the preceding method. Search the business catalog and click on the add button to add the tile. [1] Create Semantic Object in SAP Fiori Server (Front-end) server T-code: /n/UI2/SEMOBJ Steps: Semantic object with which we link ' Business Tile ' and ' Target Mapping ' within 'Business Catalog' Go to t-code -> change -> click on 'New Entries' -> enter the details like object name , description etc. rev2023.3.1.43269. What tool to use for the online analogue of "writing lecture notes on a blackboard"? Activity list should start look something like following upon creation - Activity List. The business catalog ID and the group ID are useful it will be used when configuring the role. It builds on the basic functionality of the dynamic page and adds predefined content elements to the header toolbar (1) and footer toolbar (2), such as a title, global actions, and finalizing actions. In short, the Business user should be able to visualize these T-codes or program as a, For this SAP has released a new Launchpad App Manager Tool, The main purpose of this tool is to manage all technical catalogs in one place only, thus providing a simpler experience for managing launchpad app descriptor items, This is now the preferred configuration tool to create, maintain, and setup, This app can be accessed by admin users by using Fiori launchpad (/, With the advent of this App the Launchpad Designer tool will be deprecated by SAP in near future, in short, the new tool will supersede the same, This new central tool will be used to maintain, Create and maintain Technical Catalogs Only, This is only option to create Technical Catalogs, Allow performing mass changes/ maintenance of tiles and target mappings, It can contain multiple launchpad app descriptor items and maintain them, Explore existing technical catalogs and their related content, Extremely easy to copy and adjust tiles and target mappings, as everything is within a windows, Allows to maintain following for Technical Catalogs, Where-used list quickly identifies similar tiles and Target mapping, Can reference Tile and Tile mapping from Different Technical Catalogs, It provides an option for translate into various language, In this blog beside creating few Custom T-Codes Apps we will also check how to add SAP GUI and Fiori Apps in the Technical Catalog as an exercise, We are on the S/4 HANA 2020 is SP02 and it is an, Since we are working on Embedded deployment, here we will maintain catalog type as, We are going to create a custom SAP GUI App for T-Code MCXA, To create a custom app for SAP T-code we should create package and transport before hand, Similarly create package for Technical Catalog. Answer (1 of 2): There are lot of Fiori Apps available in the market. Nice blog. wdes4w sap s 4hana forum. For more information, see Configuring External . In my opinion there is no need to create a redundency (just if you want to rename them and further details as of SAP S/4HANA 2022 there is also in the Application Manager the option to adopt these details in the SAP technical catalogs, which will persist after upgrade). Using semantic objects, you can bundle applications that reflect a specific scenario. Securing SAP S/4HANA - Bert Vanstechelman 2018-10-26 Explore how to protect and defend your SAP S/4HANA applications, Fiori, Gateway, and the SAP HANA database platform. Assign the catalog and the group name, created in the previous step, to the role. Enter the data in the fields below and save your entries: Semanctic Object: FinSrvcPerformanceManagement Semantic Object Name: Financial Services Perforce Management Applic. Buyer apps, where. It would be stupid question but want to know if any such restrictions? Is there a proper earth ground point in this switch box? NB:you can always modify the title, but the identifier (ID) cannot be changed. Now Fiori launchpad needs a mechanism to figure out which of the Fiori app it has to launch and how can it get details to launch that application. With the first method, the creation of the tile is simple, flexible and does not take much time For Example: you see example of std. On SAP Fiori Launchpad, navigation to tiles is done via "intents". Enter Application Alias Name (Any name you can fallow). Create Objects can be created as follows: From scratch Most of the examples in this article show how to create objects from scratch. In an organization, who is responsible for creating of these object (I am trying to understand the process, how a developer tackle a situation where there is need to create these objects for an app). For multiple custom applications the same Semantic object should be used with different actions . Technical Catalogs provide a common central source of, Technical Catalogs should never be assigned to, Technical Catalogs allows you to create your own, In Technical Catalog, we can copy Launchpad App Descriptor from SAP Technical Catalogs and use the same and modify as needed. Is that S4/HANA environment? Then mapping between launchpad and application. For subitems, apply the following naming conventions. Responsible for managing a team of business intelligence and data analytics professionals: - Extracting and modelling analytic objects in BW/4HANA. Now to create new Custom Business Catalog use the T-code for Fiori Application Manager T-Code: Create a new Technical Catalog by clicking the option, The final screen looks like this, make sure, Whatever field is updated or add in the above screen gets populated in the, Now following shows up in the below screen, It shows at the bottom of the screen a message is displayed showing, If there is any error, it will show up here, This is the minimum information needed for, You can download the information by clicking option , We have now created a Technical with only one Custom, After creating Technical Catalog, we need to create, Business Catalogs delivered by SAP starting with the prefix, Now to create new Custom Business Catalog use the T-code for, At the bottom of the screen a message is displayed showing, At the bottom of the screen a message is displayed showing >>, The above screen shows where the Tile belongs to in the bottom screen, These Objects will show up when we create the custom role via PFCG, In the above screen we can maintain and Define Organization level, here we maintain, The above screen shows all the objects maintained in, Now create a test user and assign the role created and check if the, Log in as test user by using T-code: /N/UI2/FLP, The App shows up along with the Catalog name, The App works and has the same output screen as SAP T-Code, Select the same transport created earlier and click, Add new Semantic Objects created to the Technical Catalog, Here you can use search term or use Technical catalog where the SAP GUI resides, Click at the bottom of the screen a message is displayed showing, Here the App is missing Target Application Tiles, which can be added, The Purchase Order App has now been added, Everything in the above screen in required order, All data was successfully saved message is displayed at bottom of the screen showing, Business Catalog update is done in /N/UI2/FLPCM_CUST, Bottom of the screen it shows tiles added message is displayed, Now perform the check by Clicking as shown below, All OData services are green, meaning they are activated, Hope you like my blog, appreciate your feedback, For more information visit following blogs. What are some tools or methods I can purchase to trace a water leak? error, if so, just for my information, can you provide the work-around. Born in Sydney, FAIR is a boutique consulting firm that partners with iconic Australian brands to create digital experiences that improve the entire customer value chain. Users can interactively explore data step by step from different perspectives to . Asking for help, clarification, or responding to other answers. The purpose of this blog post is to provide a step-by-step guide that explains on how to add ABAP Could you Please share the screenshots of SAP WEB IDE Folder and the eror you are facing. SAP Fiori MyInbox stand-alone isn't working? The title (sap.m.Title) and subtitle (sap.m.Text) on the left truncate in collapsed mode to save vertical spaceand wrap in expanded mode to offer the full text. click on icon 'save' to save it. Site design / logo 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA. For Navigation to the different applications Do not add the Semantic Object Action so that it will show all the Actions and Applications associated with the Semantic object. Enhancing the application by creating the UI and presenting data fetched from an SAP backend. Atleast I haven't come across this issue. It may also cover integration with external systems, data management, and security. reference catalog. It is proportionally the largest area of the layout and can be populated according to the use case. After a period of idle time the dev space is automatically stopped. Do EMC test houses typically accept copper foil in EUT? Configure Fiori Launchpad: Semantic Object: ztravel_app_xxx; Action: display; Title: Travel App XXX; Click Finish. For example, these organizations typically store and read PDFs and images for claim processing, underwriting, and know your customer (KYC). Youcan choose between3interaction flowsforhandlingobjects with nested pages: You can only use one of these flows for any given object. Before finishing, make sure to assign the configuration to a transport request (customizing Your project structurehas wrong page references. 11. These tokens are not intended for use in the control implementation. Jordan's line about intimate parties in The Great Gatsby? Click on the New Can we somehow call the "Object Type=Document" from Fiori Launchpad using Target Mapping? Nice blog Dileep, really helpful for people who are new to Fiori. Here, please note, 'semantic-object' and 'action' combination should be unique, which will be used in 'Target Mapping'. automatically in the reference. An employee profile is managed using an object page floorplan. . Apply the following naming conventions for thetriggering button, finalizing action, title in the shell bar, and the placeholder for newly created objects. The author should fix his blog to avoid issues for others reading it. Single application tile showing multiple times in SAP Fiori launchpad. Fiori Launchpad. The presentation of the features is scenario oriented, . Configurations in the SUI_TM_MM package. Is email scraping still a thing for spammers, Theoretically Correct vs Practical Notation, Torsion-free virtually free-by-cyclic groups. In addition to the basic display option, the following actionsare available for objects: The interactionflowsfor the create, edit, and delete cases depend on the structure of the object. Here's how you can configure Target Mapping for SAP Fiori Launchpad Designer Step 4 (i): Click on the "Create Target Mapping" button which navigates you to the screen shown below Step 4 (ii): Choose semantic object from list and enter action (e.g., Display, Approve) of semantic object Is it necessary to create separate Semantic Object for every application? To subscribe to this RSS feed, copy and paste this URL into your RSS reader. Knowledge on any of the niche skills ODATA, Workflow, Adobe Forms, Fiori, HANA checks etc. The Salesforce exam preparation on Declarative Design may cover topics such as creating custom objects, fields, and page layouts; configuring business rules and validation rules; creating workflows and approval processes; and designing reports and dashboards. This app works fine in SAP Web IDE. copy. Chief Technology Officer. requiring SAP ABAP/HANA. Using the (Model Provider Class ) MPC Odata class for the local annotation models that are developed on the SAP Odata using SEGW . thanks for the effort of putting this together! The meaning of each color depends on the business context. Fill these fields: the semantic object , the semantic action , the application type , You want to use a predefined layout to reduce development time. The standard floorplan for managing objects is the. Create New Application which requires below details: It does not bring me the data of the service when I test the application in sap. Each branch of the tree ends in a node, and each node contains objects. In Fiori-Designer, check Catalog's Tile config like, Tile's semantic object name + action 'display', In Target-Mapping, same semantic object + action should be referred, here you have two options either use UI5-URL or LaunchpadRole (LPD), as you are getting error with LPD, try UI5-URL option give path as "/sap/bc/ui5_ui5/sap/zapp_name/", PFCG Roles for USER, here just cross verify, if every app specific required roles are assigned (like oDataService R3TR/B.Catalog/B.Group) (, 'index.html' -> 'Component.js' -> 'view.App' -> 'view.Master' -> .so on. enter the details like object name , description etc. Browse other questions tagged, Where developers & technologists share private knowledge with coworkers, Reach developers & technologists worldwide, To give you a great answer, it might help us if you have a glance at, https://help.hana.ondemand.com/cloud_portal/frameset.htm?18b3fc15e6fe487baa99be07c1da82c3.html, The open-source game engine youve been waiting for: Godot (Ep. You can either use semantic objects shipped by SAP, or create new semantic objects. In this case, use a, Layout actions nevermove into the overflow and are always last in the. Next, you need to create a new target mapping by clicking on create target mapping . Cross check, if App-role has B.Catalog/Group/ODataSrv tech-names listed. I am trying to understand that what a developer should do if there is need to create one for either t-code or WebDynpro app. By clicking Post Your Answer, you agree to our terms of service, privacy policy and cookie policy. It makes use of different technologies and as long as the outcome adheres to the "guidelines" of the design system, it could be called a Fiori app. Make sure to assign all the configuration to a transport request as we did in the first method. Duration: Contract/Permanent Job Description: ** Must have SAC experience** - Experience in development and maintenance of the SAP UI5/Fiori Application and Extended Fiori Applications. index.html -> Component.js -> zsupplier_dwnld.view.js. Here we would like to draw your attention to /UI2/SEMOBJ_SAP transaction code in SAP. Please remove empty space, you can not add space in ID. In theblog, its like something below: However, in you project structure, you are doing something like: Hope, above helps you understand the issue. Knowledge on any of the niche skills ODATA, Workflow, Adobe Forms, Fiori, HANA checks etc. Next step is to create semantic Object for Me42 using Tcode /n/UI2/SEMOBJ. Enter Custom Semantic object, Semantic Object name and description and Save. I would like talk about Fiori launch pad configuration on EHP 7 only for PM on Fiori. In our example, we already created the custom transaction ZFI_PAY to call a custom program Effort Estimation & Requirement gathering on Logistics and finance Overall good background and skill set in SAP Technology solutions and has worked on the development or support of SAP ABAP . And they all have a single entry point which is Fiori launchpad. The toolbar follows the standardtoolbar overflowguidelines, and adds buttons to theoverflow menufrom right to left. Step 2. a container of content that is needed for a specific users or specific business use case. Use the transaction /n/UI2/SEMOBJ_SAP to create a new semantic object What is the purpose of this D-shaped ring at the base of the tongue on my hiking boots? For more information about toolbars in general, seetoolbar overview. The DOM represents a document with a logical tree. Technically, the two methods allow us to create Fiori tiles but sap, as described in thisarticle, recommended the use of the second method because of its major benefit the re-use.