Generated by All in One SEO v4.9.3, this is an llms.txt file, used by LLMs to index the site. # My Experiments with ABAP ## Sitemaps - [XML Sitemap](https://www.samplecodeabap.com/sitemap.xml): Contains all public & indexable URLs for this website. ## Posts - [Optimizing OData Responses with OData V4 Header Options](https://www.samplecodeabap.com/optimizing-odata-responses-with-odata-v4-header-options/) - When working with OData (Open Data Protocol) APIs, performance and efficiency are key — especially when dealing with large datasets or complex entities. One often-overlooked but powerful feature in OData V4 is the ability to use header options to control and reduce the response payload. This tells the OData service that the client does not - [Improving Performance with OData V4 Asynch Request](https://www.samplecodeabap.com/improving-performance-with-odata-v4-asynch-request/) - When working with APIs that handle complex or time-consuming operations, waiting for the full response can cause delays or even timeouts. To make these interactions more efficient, OData V4 introduces a handy header option: Prefer: respond-async, wait=10 This header tells the OData service that the client is willing to receive an asynchronous response if the - [Using BAPIPAREX Structure in SAP BAPIs: Extension In and Out](https://www.samplecodeabap.com/using-bapiparex-structure-in-sap-bapis-extension-in-and-out/) - How to use extension in and extension out structures in BAPI SAP uses the BAPIPAREX structure in BAPIs to handle customer fields. BAPIPAREX contains name and value pair. For compatibility reason, value is a combination of 4 value fields each of length 240 characters. structure contain name of type. This does impose a limit on - [ABAP JSON Serialization](https://www.samplecodeabap.com/abap-json-serialization/) - Generate JSON payload using ABAP data using class /ui2/cl_json Simple call Using call to method /ui2/cl_json=>serialize passing the data variable will generate JSON. Data could be structure or a table. SELECT SINGLE FROM I_ProductPlantBasic FIELDS product, plant, \_product\_text-language , \_product\_text-productname , isbatchmanagementrequired WHERE \_product\_text-language = @sy-langu INTO @DATA(product) . SELECT FROM I_ProductPlantBasic FIELDS product, plant, - [FM to Validate Email Address in SAP](https://www.samplecodeabap.com/fm-to-validate-email-address-in-sap/) - Use FM to valid email address in SAP. FM name: SX_INTERNET_ADDRESS_TO_NORMAL class zcl_email definition public final create public . public section. class-methods bapiret2_from_sy returning value(rs_bapiret2) type bapiret2 . class-methods validate_email importing !email_type type sx_addr_type default 'INT' !email_address type sx_addr returning value(return) type bapiret2 . protected section. private section. endclass. class zcl_email implementation. method bapiret2_from_sy. data: - [SAP List of Inactive Objects](https://www.samplecodeabap.com/sap-list-of-inactive-objects/) - SAP table DWINACTIV - [SAP Constants](https://www.samplecodeabap.com/sap-constants-select-option/) - Below are list of some SAP Contants defined in system which can be used in your program. Select Options Select option related constants which you can use in your program to reduce number of literals. Message Related Finance Account Type SD Document Status - [Read Standard text SO10 in String](https://www.samplecodeabap.com/read-standard-text-so10-string/) - Code snippet in form of class method to read standard text into string. class zcl_long_text definition public final create public . public section. class-methods read_longtext_to_string importing !id type thead-tdid default 'ST' !name type thead-tdname !language type thead-tdspras default sy-langu !object type thead-tdobject default 'TEXT' !fallback_to_english type boolean default abap_true returning value(rv_text_string) type string . protected - [Number Range Enhancement for Sales Order, Billing, Delivery and Shipment](https://www.samplecodeabap.com/number-range-sales-billing-delivery-shipment-enhancement-exits/) - Configuration of Number range in SAP is can be only done on document types. This poses limitation that one can only have sequential number based on document types. In case, there is a legal requirement to maintain sequential number of documents based on other parameters for example, customer or country then this cannot be achieved using SAP standard configuration and needs enhancements. Fortunately, SAP has provides exits specifically for this purpose. - [SAP Fiori Application Translation](https://www.samplecodeabap.com/sap-fiori-application-translation/) - The blog covers different places an SAP Fiori Application can pickup translations from and how to maintain translations for these objects. I have this List and Object page Fiori Elements app with Tile 'Product' under Tile group 'Sample' Report as I mentioned is based on the List and Object page Fiori Elements template. Development objects - [SAP Classification System - CDS Modelling](https://www.samplecodeabap.com/sap-classification-cds-modelling/) - The SAP classification system allows you to use characteristics to describe all types of objects and to group similar objects in classes. Class and classification are used to find objects more easily later. In this blog, I'll explain tables and model these using CDS. We will use material class in the blog to explore the classification - [OData Query for Parameterised CDS](https://www.samplecodeabap.com/odata-query-for-parameterised-cds/) - Quite a few Analytical queries using CDS are parameterised. Check out how to create an OData query for parameterised CDS. Consider this analytical query C_SalesVolumeAnalyticsQry which has parameter exchange rate type and display currency. The first thing you need to do is get the metadata of the service. Now locate three different pieces of information. - [SAP CDS Cyclic Dependency](https://www.samplecodeabap.com/sap-cds-cyclic-dependency/) - In simple terms when two objects are dependent on each other then it constitutes cyclic dependency. Usually, this happens with a chain of CDS. For example A->B->C->A. Cyclic dependency with CDS will prevent activating individual CDS in a single step. In development, you can easily get around this by mass activating objects in Eclipse. Cyclic - [SAP Search-Help Exit-Add Default Value](https://www.samplecodeabap.com/sap-search-help-exit-add-default-value/) - You can set a default value on search-help fields, but these are set as EQ values. If you like to set default with other operation like LE, GE etc then you would have to implement search help exit and write code there. - [SAP Fiori Variant Management](https://www.samplecodeabap.com/sap-fiori-variant-management/) - SAP Fiori Variant Management details and relevant settings. How does it work with default system settings Creating Variant To create a variant first set your relevant filters using 'Adapt Filters', relevant columns using the Setting button on the list and specify any filter criteria. After you are happy with it, press the dropdown next to - [Find PFCG Role](https://www.samplecodeabap.com/find-pfcg-role/) - How to find PFCG Role name for a Fiori App. A bit of background on how a tile is assigned to a SAP user. Users in SAP are assigned roles. Each role could be a collection of Tile Catalog which contains Target Mapping and Tile. Target mapping is a combination of Semantic Object Name and - [Enhance SPRO Structure - Adding Node to SPRO](https://www.samplecodeabap.com/enhance-spro-structure-adding-node-to-spro/) - Over the course of Implementation you would define many customising tables. I am sure you will document them well but best place to place these customising is in SPRO. In this particular example we have implemented enhancement in shipment screen to make forwarding agent mandatory and there is a customising table which is defined to - [Enhance SPRO - Add Transaction Code](https://www.samplecodeabap.com/enhance-spro-add-transaction-code/) - Quick note on how to link transaction code to a new node to SPRO. There are a lot of post online which describes how enhance SPRO and link it to table maintenance. Other day I was trying to link transaction code to a newly created node and I couldn't do it. System was throwing a - [Convert XSTRING to STRING](https://www.samplecodeabap.com/convert-xstring-string/) - Convert xstring to string variable using method in SAP ABAP. Importing I_XSTRING TYPE XSTRING Exporting E_STRING TYPE STRING - [SAP Webdynpro Dynamic Changing Layout](https://www.samplecodeabap.com/sap-webdynpro-dynamic-changing-layout/) - How to change SAP Webdynpro Layout dynamically in method WDDOMODIFYVIEW. Webdynpro enhancement offer variety of options and it is very flexible. However, sometimes you are left with no option but layout of view dynamically. Below is Application Wizard webdynpro (E-Recruitment) in SAP which lets candidate apply for Job posting. Requirement was to display Job Posting - [SAP ABAP String Conversion](https://www.samplecodeabap.com/sap-abap-string-conversion/) - Function modules to convert data (usually files content) between various formats (String, Xstring, Text, Binary, Base64) in abap. From/To Binary String XString Text Ftext Binary N/A SCMS_BINARY_TO_STRING SCMS_BINARY_TO_XSTRING SCMS_BINARY_TO_TEXT SCMS_BINARY_TO_FTEXT String TPM_THX_APPL_STRING_ TO_BINARY N/A SCMS_STRING_TO_XSTRING TPM_THX_APPL_STRING_ TO_BINARY SCMS_BINARY_TO_TEXT SCMS_STRING_TO_FTEXT Xstring SCMS_XSTRING_TO_BINARY SCMS_XSTRING_TO_BINARY SCMS_BINARY_TO_STRING N/A SCMS_XSTRING_TO_BINARY SCMS_BINARY_TO_TEXT SCMS_XSTRING_BINARY SCMS_BINARY_FTEXT Text SCMS_TEXT_TO_BINARY SCMS_TEXT_TO_XSTRING N/A SCMS_TEXT_TO_FTEXT Ftext SCMS_FTEXT_TO_BINARY - [SAP Message type Value Help - CDS Code](https://www.samplecodeabap.com/sap-message-type-value-help-cds-code/) - Value help CDS code for SAP Message types CDS - ZI_MessageType @AbapCatalog.sqlViewName: 'ZIMSGTYP' @EndUserText.label: 'Message Type' @AbapCatalog.compiler.compareFilter: true @ClientHandling.algorithm: #SESSION_VARIABLE @AccessControl.authorizationCheck: #NOT_REQUIRED @ObjectModel.resultSet.sizeCategory: #XS @VDM.viewType: #BASIC /*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ] } */ define view ZI_MessageType as select from dd07l association [0..*] to ZI_MessageTypeText as _Text on $projection.MessageType = _Text.MessageType { @ObjectModel.text.association: '_Text' - [SAP Fiori Elements List Report - Excel File Upload](https://www.samplecodeabap.com/sap-fiori-elements-list-report-excel-file-upload/) - A how-to guide to add Excel file upload feature in SAP Fiori Elements List Report. Use case: I have table ZEVENT to keep events and a Fiori Elements List report to view events from the table. With excel upload feature user can mass upload events using excel file. Initial Setup Table ZEVENT Interface CDS View - [S4 Email Templates](https://www.samplecodeabap.com/s4hana-email-templates/) - This new feature was added in S4 where users can define the subject and content text along with variables. There is inbuilt support for plain text, HTML, translation and transport. As the name suggests they are meant to be used in emails however I think in some use cases it can be used as a - [CDS-Fiori Elements - Object Page - Plain Text Facet](https://www.samplecodeabap.com/cds-fiori-elements-object-page-plain-text-facet/) - Check out how to add multiple line text on header facet of Object Page. Below two CDS views, I am using for Fiori Elements List Report and Object Page app. In view ZI_MaterialPK we have string field MaterialShotText which we will display as multiline text. @AbapCatalog.sqlViewName: 'ZIMATPK' @AbapCatalog.compiler.compareFilter: true @AbapCatalog.preserveKey: true @AccessControl.authorizationCheck: #CHECK @EndUserText.label: 'Material' - [CDS-Fiori Elements - Object Page - Chart Facet](https://www.samplecodeabap.com/cds-fiori-elements-object-page-chart-facet/) - Check how to add a chart in Object page of Fiori Elements List Report. If you haven't already then I would recommend you read my last blog CDS-Fiori Elements – Object Page Facets. To start with, I already have Fiori Elements List Report app working based on below CDS Views. Again, if you like to - [CDS-Fiori Elements - Object Page Facets](https://www.samplecodeabap.com/cds-fiori-elements-object-page-facets/) - SAP Fiori Elements accelerates app development. It's metadata driven UI design will fast track your app delivery with consistent design pattern. Learn how to design Object Page of Fiori Elements List Report using CDS annotations. In this blog, I'll discuss UI.Facet annotation which is used to layout Object Page. To start with I have 3 - [My Inbox: Auto Approve Workflow Task](https://www.samplecodeabap.com/my-inbox-auto-approve-workflow-task/) - You can use below code to approve a workflow task sitting in someones My Inbox app. There are some prerequisite for below code to work. There should already be a BADI implementation of BADI /IWWRK/ES_WF_WI_BEFORE_UPD_IB to handle approve outcome of the step.You would have to replace WS9.. number in below code to match your workflow - [CDS-Fiori Elements - Key Value and Description related Annotations](https://www.samplecodeabap.com/cds-fiori-elements-key-value-description-sap-cds-annotations/) - There is a couple of ways to display the description next to the key value. In this blog, I run through all you need to know. To start with I have CDS view ZICarrier based on table SCARR. A very simple CDS with all basic, but necessary, annotations for Fiori Element List report. As I - [List Report - using ABAP RESTful Application Programming Model](https://www.samplecodeabap.com/list-report-abap-restful-application-programming-model/) - Quick introduction of ABAP RESTful Programming Model then we jump straight into the system and develop Fiori Elements List Report using ABAP ABAP RESTful Programming Model. SAP is calling ABAP RESTful Programming Model as an evolution from ABAP Programming Model for SAP Fiori. Its available SAP Cloud Platform and also on-premise from S4HANA 1909. Below - [Fiori Elements List Report – Visualising Data-Radial Micro Chart](https://www.samplecodeabap.com/fiori-elements-list-report-radial-micro-chart/) - The blog explains how to use Radial Micro Chart in List and Object page with CDS Annotations. The radial chart displays a single percentage value. The chart consists of a coloured radial bar with a percentage value inside. CDS ZI_FlightBooking To start with I have CDS view ZI_FlightBooking exposing table SFLIGHT fields. As the Radial Micro Chart - [Fiori Elements List Report – Visualising Data - Harvey Ball Micro Chart](https://www.samplecodeabap.com/fiori-elements-list-report-harvey-ball-micro-chart/) - The blog explains how to use Harvey Ball Micro Chart in List and Object page with CDS Annotations. Harvey Ball Micro Chart visualise a value compared to its total. Unlike the pie chart which plots multiple values or sections, Harvey Ball Micro Chart visualise just one value from a total. Semantic colours to shows a - [Fiori Elements List Report – Visualising Data – Progress Bar](https://www.samplecodeabap.com/fiori-elements-list-report-progress-bar/) - The blog explains how to use Progress Bar in List and Object page with CDS Annotations. We will use data from table SFLIGHT table which contains the number of seats available in the economy, business and first-class and respective occupied seat. We will use the progress indicator to visualise occupied seats against the total number - [Fiori Elements List Report - Visualising Data - Rating Indicator](https://www.samplecodeabap.com/fiori-elements-list-report-visualising-data-rating-indicator/) - The blog explains how to use Rating indicator in Fiori Element List Report's list page and in object page using CDS Annotation. There are also some handy tips. Rating indicator is used to display the rating of an item on 0 to 5 scale where 5 is the best rating and 0 the worst. Rating - [SAP ABAP - Generate HTML](https://www.samplecodeabap.com/sap-abap-generate-email-html-code/) - Collection of classes and demo program to generate HTML code using SAP ABAP. Generated HTML can be used to compose a well-formatted email with table and images. - [Upload General Journal Entries](https://www.samplecodeabap.com/upload-general-journal-entries/) - Troubleshooting tips App Upload General Journal Entries app let user upload Journal Entries using Excel template. Download Template option in app generates excel file with header, items and COPA fields. The user then uses this template to upload Journal Entries. Uploading Additional Fields The template is generated with a certain number of fields in header - [Forms and SAP Implementation](https://www.samplecodeabap.com/forms-and-sap-implementation/) - Having worked on numerous SAP implementations I've seen this story repeating over and over - forms putting go live at risk. Check out my key learnings and things to consider early in the project to avoid surprises. Forms for obvious reasons are low priority items at the start of a project and before you know - [SAP Adobe Form - A4 and Letter page sizes](https://www.samplecodeabap.com/sap-adobe-form-a4-letter-page-sizes/) - Check out on how you can design Adobe forms which are optimised for both A4 and Letter page sizes. This way you can reduce the overall implementation time. This blog will apply if (a) you are not using the latest S4 SAP OM (2) content of both A4 and Letter sized form is the same - [SAP List Report-Selection Mandatory with default value](https://www.samplecodeabap.com/sap-list-report-mandatory-default-value/) - You are using SAP Fiori elements list report and like to make a selection field mandatory and specify a default value. Using CDS Annotation Using ABAP 1. Mark Entity set as 'Requires Filter' 2. redefine DEFINE method of DPC_EXT class and after call to super->define( ) put following code 3. Create a local annotation file in - [SAP HR-Default Employee Watermark](https://www.samplecodeabap.com/sap-hr-default-employee-watermark/) - Employees pictures are being displayed in various application in SAP, including Fiori apps. When there isn’t any picture loaded in SAP for an employee there are two different watermarks that appear in the picture frame. These watermarks are nothing but male.jpg and female.jpg images loaded in MIME repository. Watermark to be used is decided based on - [SAP List Report Filter Bar Date Format](https://www.samplecodeabap.com/sap-list-annotation-filter-bar-date-format/) - You have implemented the Fiori List Report (Fiori elements) but the date field is not showing date picker control? Read more to see how to add the missing annotation. - [Dump: Code based annotation on redefined SEGW Project](https://www.samplecodeabap.com/dump-code-based-annotation-on-redefined-segw-project/) - Have you implemented code based annotation on redefined Odata project and getting dump? Symptom An attempt was made to insert an entry into table '\CLASS=/IWFND/CL_MED_MDL_PROVIDER\METHOD=CREATE_CLUSTERED_MODEL\DATA=LS_VOCA_MODEL-ANNOTATION_TARGETS'. Updating unique table key 'PRIMARY_KEY' resulted in a duplicate entry however. The key in question could be either the primary key or a secondary key.” Prerequisites You redefining existing (SAP - [Enhance Email - NACE - Purchasing](https://www.samplecodeabap.com/enhance-email-nace-purchasing/) - Emailing outputs to partners is a standard out-of-the-box feature in SAP Output Control. This blog explains enhancement options available in case you want to control various aspects of email (subject, recipient, sender etc) before its sent. Before we begin I am assuming that you are using output control (NACE) in purchasing application, specifically, you are using - [Web Dynpro Inter-component navigation](https://www.samplecodeabap.com/web-dynpro-abap-inter-component-navigation/) - Step by Step guide to navigate to views within WDA component. Moving from one view to another is referred as navigation in Web Dynpro. In the context of classical Dynpro, it’s moving from one screen to other which is achieved by CALL SCREEN and LEAVE TO SCREEN statements. In Web Dynpro this is achieved using - [Consuming Webservice in SAP ABAP](https://www.samplecodeabap.com/consuming-webservice-sap-abap/) - Step by Step instruction on how to consume webservice in SAP ABAP Webservice which I am using is called Airport Information Webservice and it gives you tons of information about Airports around the world. This webservice has got four operations in it GetAirportInformationByCountry, GetAirportInformationByAirportCode, GetAirportInformationByCityOrAirportName and GetAirportInformationByISOCountryCode URL: http://www.webservicex.net/airport.asmx WSDL URL: http://www.webservicex.net/airport.asmx?WSDL Define Service Consumer Start transaction SPROXY-Enterprise - [SAP Fiori Elements List Report - Configuring List Navigation](https://www.samplecodeabap.com/sap-fiori-elements-list-report-configuring-list-navigation/) - SAP Fiori Elements List, by default, navigates to Object page when clicked on the list item. Check this blog which explains how you can change this behaviour. I am going to use CDS View ZMaterialPlant and metadata extension, code below, in the example. I have exposed CDS View ZMaterialPlant using Service Definition and Service Binding. - [SAP Delivered Forms](https://www.samplecodeabap.com/sap-delivered-adobe-forms/) - List of SAP delivered Adobe forms . I'll update this list as I come across others. If you know any please leave comment with form name. - [Workflow: Making User Decision Task fit for consumption in My Inbox](https://www.samplecodeabap.com/workflow-making-user-decision-task-fit-for-consumption-in-my-inbox/) - Generic user decision step in workflow technically works out of the box in My Inbox app. Given that, it is a generic task it is expected from it to not display object-specific information. From a user point of it though it’s not good enough as they would expect to see information regarding a document which - [S4 HANA Output Management - Master Form Layout (Contd)](https://www.samplecodeabap.com/s4-hana-output-management-master-form-layout-contd/) - In my previous blog I introduced S4 HANA Output Management and explained about Master Form. This is part 2 of the blog. Read part 1 of this blog: S4 HANA Output Management – Introduction, Master Form Layout Edit and Setup Master Form Layout Further Settings In SPRO->Cross-Application Components->Output Control->Define Rules for Determination of Master Form - [S4 HANA Output Management - Introduction, Master Form Layout Edit and Setup](https://www.samplecodeabap.com/s4-hana-output-management-introduction-master-form-layout-setup/) - SAP S/4HANA introduces a new style of output management (OM). SAP OM configuration and technical implementation are totally different compared to traditional output technologies (NAST, FI Correspondence, FICA Print Workbench, sapscript, smartform, PDF e.g.) Although all previous technologies are still available for use before you fallback on them it is worth knowing what SAP OM - [Having trouble accessing OData service following Single Sign-on implementation](https://www.samplecodeabap.com/having-trouble-accessing-odata-service-following-single-sign-on-implementation/) - Disable SAML2 Authentication Depending on whether you have query in your url use ?saml2=disabled or &saml2=disabled http(s)://hostname:post/sap/opu/odata/sap/ZC_CustomerSales/CustomerSales?saml2=disabled http(s)://hostname:post/sap/opu/odata/sap/ZC_CustomerSales/CustomerSales?$format=json&sap-client=200&saml2=disabled Disable SPNego Authentication Depending on whether you have query in your url use ?spnego=disabled or &spnego=disabled http(s)://hostname:post/sap/opu/odata/sap/ZC_CustomerSales/CustomerSales?spnego=disabled http(s)://hostname:post/sap/opu/odata/sap/ZC_CustomerSales/CustomerSales?$format=json&sap-client=200&spnego=disabled - [How to upload Excel to SAP(using ABAP)](https://www.samplecodeabap.com/how-to-upload-excel-to-sapusing-abap/) - ABAP code to upload XLSX file to SAP using ABAP. The method shown in the blog will work in SAP GUI and Webgui (program launched from Fiori Launchpad). This approach will also work with OData. Code is based on class CL_FDT_XL_SPREADSHEET which can be instantiated using the file name and excel file in XSTRING variable. - [SAP Fiori - Spaces and Pages](https://www.samplecodeabap.com/sap-fiori-spaces-and-pages/) - Just as we were getting used to Fiori Launchpad Designer and getting comfortable with it whilst Fiori Launchpad Designer also become stable and predictable over the last couple of releases SAP has dropped another feature called Space and Pages. Does this throw the Fiori Launchpad designer out of the window, making your well-earned experience useless - [Fiori Element List Report: Dynamic Date Picker](https://www.samplecodeabap.com/fiori-element-list-report-dynamic-date-picker/) - Enable Dynamic Date Picker in Fiori Element List Report. Fiori Element List Report is becoming default choice for reporting over classical ABAP Report. However, this feature where user can define date value(s), in the filter, dynamically was not very easy to implement in SAP Fiori Element List Report. I was wondering, for some time, if - [CDS Code Generator for Domain Fixed Values](https://www.samplecodeabap.com/cds-code-generator-domain-value/) - Need to create CDS view for a domain with fixed values, try this code generator. Introduction Fixed values and respective language-dependent text for the domain are generically stored in tables DD07L and DD07T. These values for a given domain needs to put together into CDS views before it can be reused. Let's first see how - [SAP HR-PA and OM Infotypes](https://www.samplecodeabap.com/sap-hr-pa-om-infotypes/) - There are two kinds of Infotypes in SAP HR. Personal Administration Infotypes also referred as PA Infotypes and Organisational Management Infotypes also referred sometimes as OM Infotypes. Here is comparison of these two Infotypes PA Infotypes PA Infotypes store information about Person. They usually numbered (SAP standard) between 0000 to 0999. Some of important Infotypes - [SAP HR ESS-Personal Profile Picture not displayed](https://www.samplecodeabap.com/sap-hr-ess-personal-profile-picture-not-displayed/) - You are using HR ESS Personal Profile WebDynpro HRESS_A_PERSINFO and you can see picture being displayed in WebDynpro when accessing application within network. However, you cannot see picture when accessing application outside network. In your system landscape a reverse proxy i.e. Web Dispatcher is used in the network. Web Dispatcher is reachable over internet and - [How to Implement Value Help using Smartfield and Odata Annotation](https://www.samplecodeabap.com/value-help-smartfield-odata-annotation/) - In this blog I’ll show you how you can implement value help using smartfield and annotation from Odata. Also, I’ll show you how to implement get entity set method to full fill queries from frontend. I have field Customer in Entity NotificationHeader on which I'll implement search help in UI. In UI view smartfield control - [Hello World: SAP ALV with IDA](https://www.samplecodeabap.com/hello-world-sap-alv-ida/) - A simple example of SAP List Viewer with Integrated Data Access (ALV with IDA) using CDS views. Create a simple CDS based on table T005 and activate it. Hint: How to create CDS In Eclipse you can right click on $TMP package and select New->Other ABAP Repository Object then select CDS->Data Definition Enter Name and - [Smartform Email](https://www.samplecodeabap.com/smartform-email/) - Send Smartform as an email directly during the call to smartform's function module. During the call to smartform's function module, you can send the output of smartform as an email to the recipient. The recipient will get the smartform output as an attachment in the email. For the purpose of this blog I am using - [SEGW - OData MPC_EXT-DEFINE Code Collection](https://www.samplecodeabap.com/sap-segw-odata-mpc_ext-define-code-collection/) - Collection of code snippets which I regularly use in MPC_EXT DEFINE method. I use these code in conjunction with Fiori Elements templates. There are CDS annotations which achieve the same end result but if you are not on the latest version then these code snippet will come handy. Setting Date Format and Filter Restriction Display - [SAP Commodity Code - Comparison ECC vs S/4HANA](https://www.samplecodeabap.com/sap-commodity-code-comparison-ecc-vs-s4hana/) - Having recently worked on quite a few customers and dealing with developments around commodity code I have compiled some notes comparing commodity code handling in ECC vs S/4HANA. Commodity Code Master Table Maintenance ECC Customising Activity - SPRO at path Materials Management->Purchasing->Foriegn Trade/Customs->Basic Data for Foreign Trade->Define Commodity Codes / Import Code Numbers By Country - [Dynamic Sort on Dynamic Internal Table](https://www.samplecodeabap.com/dynamic-sort-dynamic-internal-table/) - Code snippet to dynamically sort a dynamically generated internal table. Below code used RTTI classes to get structure of table and then prepares internal table of type ABAP_SORTORDER_TAB which is then used to SORT this internal table. - [Configuration of outbound order (ORDERS) EDI message](https://www.samplecodeabap.com/configuration-outbound-orders-edi-message-sap/) - Steps to configure outbound EDI ORDERS message for Purchase Orders Output type and Determination Procedure You can use standard output type NEU for outbound ORDERS message in Purchase Orders. In case you decide not to use NEU for some reason you can copy NEU and create your own output type. Just make sure once you - [Configuration of outbound order change (ORDCHG) EDI message](https://www.samplecodeabap.com/configuration-outbound-order-change-ordchg-edi-message-sap/) - In previous blog I explained steps to configure outbound EDI ORDERS message for Purchase Order. This blog extends the configuration to generate order change EDI message ORDCHG. 1. Configuration of outbound order (ORDERS) EDI message To configure order change EDI message you should have already setup order EDI message. Refer blog Configuration of outbound order - [SAP Vendor Partner Determination](https://www.samplecodeabap.com/sap-vendor-partner-determination/) - Required setting for SAP Vendor Partner Determination along with Screen short and SPRO path. For each account group, you can define which roles the business partners may assume. This done using Vendor Partner Determination Define Permissible Partner Roles per Account Group You can specify that certain vendors may only serve as an ordering address, not - [SAP Custom Page Format](https://www.samplecodeabap.com/sap-custom-page-format/) - In this blog we will see how to create new page format in SAP. Some time back we had request to print cheques from SAP onto pre-printed cheques using dot matrix printer. Page size of cheque we were using didn’t match any of page format defined in SAP so we had to create our own - [Code to go with Web Dynpro ALV – Part 1](https://www.samplecodeabap.com/web-dynpro-alv-code-part-1/) - Web Dynpro ALV is created using component SALV_WD_TABLE. After creating ALV you might need to tweak its appearance little bit before it’s presented to user. Below are code snippets for some common tweaking which you might need to do. All these tweaks are done using API call referred collectively as ALV configuration model. To get - [Adding customer fields to report IP15 and IP16](https://www.samplecodeabap.com/adding-customer-fields-report-ip15-ip16/) - This blog highlighted steps you need to do to add new columns to report IP16 (Display Maintenance Plan) and IP15 (Change Maintenance Plan). Step 1: Add new columns to structure RIHMPLA Report IP15 and IP16 are based on structure RIHMPLA. First step is to added new columns here. Use append structure to add new fields - [Configure FPM with and without ACT - Part 1](https://www.samplecodeabap.com/configure-fpm-without-act-part-1/) - In this two part series I will explain how to configure FPM(Floor Plan Manager). This blog is more suited for beginners who are trying their first FPM configuration. First we will configure without using ACT(Application Creation Tool). ACT is one screen application tool which will create all FPM configuration objects in one go. In second - [Configure FPM with and without using ACT - Part 2](https://www.samplecodeabap.com/configure-fpm-with-act/) - In Part 1 of the blog I created webdynpro component and configured that with Object Instance Floorplan (OIF). This configuration can also be done using Application Configuration Tool(ACT) which is this blog is all about. There are couple of ways to start Application Configuration Tool(ACT). You can either find FPM Application FPM_CFG_BO_MODEL_ACT in package APB_FPM_CONF - [Web Dynpro Close SAP Portal Window](https://www.samplecodeabap.com/web-dynpro-close-sap-portal-window/) - This is how you can close a Portal Window from Web Dynpro. There are however some restrictions on when a portal window can be close which you can read at link Restrictions in CLOSE WINDOW Functions In my example window W_MAIN is loaded on the page with V_MAIN in it. On the press of button - [Chart UIBB - FPM_CHART_UIBB](https://www.samplecodeabap.com/chart-uibb-fpm_chart_uibb/) - Chart UIBB in Floor Plan Manager (FPM) is implemented using Web Dynpro component FPM_CHART_UIBB. To implement chart component you need to first create a feeder class which implements interface IF_FPM_GUIBB_CHART. Actual display of chart including dimensions, measure, chart type etc is configured using FPM configuration editor (Flexible User Interface Designer). In this blog I will - [Convert ITCPO Structure into Smartform Control Tables](https://www.samplecodeabap.com/convert-itcpo-to-smartform-control-tables/) - Whenever I get opportunity I convert sapscripts to smartforms and this function module SSF_MAP_ITCPO_TO_SFOPTIONS comes in handy to convert sapscript 'Print Options' into smartforms control parameters. It make life easy by automatically filling values in smartforms control parameters based on existing sap script 'Print Options'. - [SD Table Access - SAP Note 185530](https://www.samplecodeabap.com/sd-table-access/) - Read SAP Note 185530 before developing new SD report or if your SD report is running slow. 1. Accesses to sales orders (tables VBAK, VBAP) Search orders for customer number (field VBAK-KUNNR) If you want to look for sales order for a customer do not directly select from VBAK, instead first select on VAKPA and - [Number Range Setting for Sales Order, Billing, Deliveries and Shipment](https://www.samplecodeabap.com/sap-number-range-enhancement-for-sales-order-billing-deliveries-and-shipment-part-i/) - Number range in SAP is used to across modules to automatically number documents as and when they are created. Number range contains one or more intervals, each one of them define range of number and stores current value of counter. Each range is assigned or used to number a specific type of document for example - [How to make Shelf Life Exp Date (SLED) input mandatory in MSC1N/MSC2N](https://www.samplecodeabap.com/how-to-make-shelf-life-exp-date-sled-input-mandatory-in-system-msc1nmsc2n/) - This blog explains configuration and customer enhancement available to make Shelf Life Exp Date mandatory in System. - [Duplicate Sales Order Check](https://www.samplecodeabap.com/duplicate-sales-order-check/) - PO Number field (VBAK-BSTNK) in Sales order contains customer's order reference number. To avoid raising duplicate order for a customer SAP can be configured to check duplicate PO numbers. This blog highlights where in configuration you can activate this duplicate order check and which customer enhancement you can implement to check duplication during inbound IDoc - [Implement Duplicate Vendor Invoice check during Inbound EDI Processing](https://www.samplecodeabap.com/implement-duplicate-vendor-invoice-check-during-inbound-edi-processing/) - In logistics invoice verification, the system does not check for duplicate vendor invoice when Electronic Data Interchange (EDI) invoices are created. You can implement sap note 394316 to activate this check. You can configure user exit EXIT_SAPLMRMH_015 in enhancement MRMH0002 so that the system checks for a duplicate invoice when the EDI invoice is entered. - [Generating Access Key to create/modify objects in SAP namespace](https://www.samplecodeabap.com/sap-access-key/) - I am not at all encouraging you to modify SAP standard programs or objects. But there are situations where you need to do this for example implementing form user exits in SD, creating objects as per sap notes etc. Whenever you modify an SAP standard objects or create object in SAP namespace system prompt you - [Implementing value help Web Dynpro using component WDR_OVS](https://www.samplecodeabap.com/implementing-webdynpro-ovs/) - If standard search help does not fulfil your business requirement in web dynpro then you can implement OVS value help. OVS linked value help puts you in control of selection fields that search help will display, selection logic, and columns displayed in result and how to use value returned by user selection. - [Sales Order transactions VA01/VA02/VA03](https://www.samplecodeabap.com/sales-order-transactions-va01va02va03/) - Transactions VA01, VA02 and VA03 are used to create, change and display sales order respectively. Everything you need to know about sales order transaction VA01/VA02/VA03 is here. Well not everything, but this blog gives you all enhancement options available. User exit available EXIT_SAPMV45A_910 IS-OIL/TAS: Exit Change-Flag Output determination EXIT_SAPMV45A_911 TAS - Customer exit after creation - [Enhance Cross dock Monitor (LXDCK) Selection Screen](https://www.samplecodeabap.com/enhance-lxdck-selection-screen/) - Selection screen of Cross-Docking Monitor (Transaction LXDCK) displays first 10 fields by default. If the field user need is not in first 10 fields then users can add that to screen using 'Select fields' option. Or all fields can be displayed by default by setting up parameter LMON_ALL_SEL_FIELDS in user profile. At our client location - [SAPScript symbols and formatting options](https://www.samplecodeabap.com/sapscript-symbols-and-formatting-options/) - List of SAPscript system symbols and formatting option compiled in one page from help.sap.com . I know sapscript is dead and nobody care about it but it seem I am the lucky one who often get to work/fix sapscripts. If you are as lucky as I am then this will surely help you out. SAP - [Simple example of out of box ALV in Web Dynpro](https://www.samplecodeabap.com/web-dynpro-abap-alv/) - ALV functionality in a Web Dynpro is implemented using SALV_WD_TABLE Web Dynpro component. This blog explains steps you need to add ALV in Web Dynpro Component. - [Search help mechanism in Web Dynpro](https://www.samplecodeabap.com/search-help-mechanism-in-web-dynpro/) - Search help mechanism in Web Dynpro is tightly linked to ABAP dictionary. As long as you bind Input field to context which is defined with reference to dictionary, system will provide you standard search help, including values from check table, values table or domain fixed values. At context attribute level there are different ways of - [Get Domain Fixed Value Description - Better Way](https://www.samplecodeabap.com/get-domain-fixed-value-description/) - To get domain fixed value description, in past, I have used function modules DD_DOMVALUES_GET, DD_DOMA_GET and select from table DD07L. All these methods require you to specify domain name or some would say require you to hardcode domain name. Recently I have found this elegant method, which doesn’t require you to specify domain name. As long as you have variable defined with reference to domain or data element or table field which would eventually be linked to domain it works seamlessly. - [Collapsible Area Module Pool Screen](https://www.samplecodeabap.com/collapsible-area-sap-abap-module-pool-screen/) - To put it straight and simple, collapsible area is not a predefined screen element or GUI control but it is technique of putting multiple screens in right sequence. The example which I am going to explain below has one input for material and two blocks representing 'General data' and 'Dimention' (similar to MM02). See screen - [SAP Range Table](https://www.samplecodeabap.com/sap-range-table-example-abap/) - SAP Range Table represents complex selection criteria, it's data structures is exactly like select-option but without any UI part and header line. In this blog I will explain how to define range table type in program and in dictionary for global use. First little bit more about range table. When you define a select-option on - [Function Module Soundex](https://www.samplecodeabap.com/function-module-soundex/) - Soundex function returns a string which is phonetic representation of word. This function can be used to identify words that are spelled differently but sounds alike in English. Soundex can also be used to identify typing errors one of challenge of data cleaning activity. History The original Soundex algorithm was not named Soundex. Index systems - [Context Menu in Module Pool Program](https://www.samplecodeabap.com/context-menu-in-module-pool-program/) - Context menu is powerful tool to provide quick and context specific options to users. SAP Module pool (classical Dynpro) does support context menus and in this blog I will explain how it works with a sample ABAP program. On module pool screen elements like label, text, box etc. you can specify a form name which - [Send ALV Report Output as CSV Email Attachement](https://www.samplecodeabap.com/alv-report-output-email-sap-abap/) - This utility report runs specified ALV report behind the scene and extract its output, converts that to csv and send it to email recipients. Very useful if you want to send output of report to user(s) periodically. Program takes report name and variant as input. It runs specified report with specified variant and export list - [Auto refresh ALV using CL_GUI_TIMER](https://www.samplecodeabap.com/auto-refresh-alv/) - Auto refresh functionality in ALV can be implemented using class CL_GUI_TIMER. In this blog I will explain how to use this class. Class CL_GUI_TIMER raises event FINISHED after the timer has completed its INTERVAL in seconds. You can create event listener method for event FINISHED and in this method you can code/call logic which will - [Collapsible controls in Selection Screen](https://www.samplecodeabap.com/collapsible-controls-in-selection-screen/) - Earlier in blog Collapsible Area Module Pool Screen I explained how to create collapsible area in module pool program. In this blog we will see how to create collapsible area in selection screen. Controls are made to look collapsible by hiding them from screen on AT SELECTION SCREEN OUTPUT event. This event is triggered by - [Quick Reference - Call Transactions and Parameters](https://www.samplecodeabap.com/quick-reference-call-transactions-and-parameters/) - List of parameters along with call transaction statements. Very useful if you are implementing a hotspot in ALV. Document/Data and Transaction Parameter Id Sample Code Sales Order VA03 AUN SET PARAMETER ID 'AUN' FIELD sales_order. CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN . Billing Document VF03 VF SET PARAMETER ID 'VF' FIELD billing_document . CALL - [Code Snippet to Call Inbound Delivery's 'Issue Delivery Output'](https://www.samplecodeabap.com/code-snippet-trigger-inbound-deliverys-issue-delivery-output-vl33n/) - In VL33N Display Inbound Delivery screen you can issue output from menu option Inbound Delivery->Issue Delivery Output. For some reason if you want to trigger this option from your program you can use this code. - [Call Transaction MM03 with Specific Tab](https://www.samplecodeabap.com/call-transaction-mm03-with-specific-tab/) - Often ABAPer are asked to provide link in report which opens documents/data in their respective transaction code. In this blog I will explain how you can call MM03 and open a specific tab. Normally, to open a document in its transaction you would first set document parameter id and then do CALL TRANSACTION .. AND - [Enhanced Table Maintenance with Automatic Change Recording](https://www.samplecodeabap.com/table-maintenance-automatic-change-recording/) - Table maintenance generator is very powerful tool to generate simple data entry screen for tables. For tables which store configuration data i.e. rarely modified it not worth spending time creating module pool program for data entry. Table maintenance generator also gives programmer opportunity to modify standard behaviour by including additional logic. In this blog I - [Sample code for listbox in Report Selection Screen](https://www.samplecodeabap.com/sample-code-listbox-report-selection-screen/) - Sample code to place listbox in selection screen. - [Select Option in Module Pool Program](https://www.samplecodeabap.com/select-option-in-module-pool-program/) - In report programming system automatically build screen controls based on selection screen definition. In theory, all elements of selection screen can be built in module pool screen but it would require astronomical level of effort specially to mimic select options. Incidentally, there is an easy way to achieve this. Idea is based on the fact - [SFTP from SAP using Winscp Client](https://www.samplecodeabap.com/sftp-sap-ecc-abap/) - SAP ECC does not support sftp this is how I managed to achieve sftp communication using open source Winscp sftp client. Note that we have SAP server installed on Windows 2003 server and you will have to adapt some steps for other server OS. - [Month Input with Value Help](https://www.samplecodeabap.com/month-input-with-value-help/) - Select-option for month input can be created using dictionary field S012-SPMON and the code to display a pretty value help is in sap standard include RMCS0F0M. Here is a sample code. This is how value help looks. - [Code Snippet to Update 'Actual GR Date' in Inbound delivery using VL32 - BDC](https://www.samplecodeabap.com/code-snippet-update-actual-gr-date-inbound-delivery-vl32-bdc-sap/) - This piece of code updates 'Actual GR Date' in inbound delivery using BDC in synchronous update mode. ‘Actual GR Date’ is adopted as posting date by material document created during goods receipt. - [Dynamic Programming – Reference Variables](https://www.samplecodeabap.com/dynamic-programming-reference-variables/) - Reference variables are defined using TYPE REF TO keyword in DATA statement. Reference variable points to the object which exist at run time. Read this blog to find out how to create variables at runtime and how is it different from variables defined using DATA statement. Let's start with the concept which is familiar. To - [Dynamic Programming with Field Symbols](https://www.samplecodeabap.com/dynamic-programming-field-symbols/) - An introduction to field symbols with examples explaining its usage. - [SAP Editable ALV Grid Sample Code](https://www.samplecodeabap.com/sap-editable-alv-grid/) - List of demo programs in SAP which explains SAP Editable ALV Grid. BCALV_EDIT_01 - Switch on and off the ready-for-input status of the entire grid This report illustrates the simplest case of using an editable ALV Grid Control. BCALV_EDIT_02 - Define ready-for-input status at cell level This report illustrates how to set chosen cells of - [SAP ALV Drag Drop functionality Sample Code](https://www.samplecodeabap.com/sap-alv-drag-drop-functionality-sample-code/) - List of demo programs in SAP which explains SAP ALV Drag Drop functionality. BCALV_DND_01 - Drag ALV Row to Tree Folder This example shows how to define a drag and drop behaviour using a drag and drop control. Direction: drag from tree and drop in ALV control. BCALV_DND_02 - Drag Icons from Tree to Rows - [Switch to Debugging Mode in Dialog box](https://www.samplecodeabap.com/switch-debug-mode-dialog-box-sap/) - In normal screen, debugging can be switched on by entering /H in command field. However, if you have dialog box being displayed you will not have access to command field to switch to debugging mode. You can get around this problem by creating a /H command shortcut and drag-drop that to dialog box. To create - [Installing new HP printer in SAP (Windows 2003 server)](https://www.samplecodeabap.com/installing-new-hp-printer-in-sap-windows-2003-server/) - Recently I installed this new HP Color LaserJet CP2025 in SAP which involved uploading driver in SAP, creating device type. Below are the steps which I followed. - [Defining Customising Table](https://www.samplecodeabap.com/defining-customising-table-sap/) - Customising is very important tool in SAP to modify behaviour of SAP programs to suit business requirement. You can argue that customising is one of the way of removing hard-coding from a program and making it future proof. There are many parameters in program which can be either hardcoded or store in some kind of - [Screen Size and Setting to display ALV Grid Fullscreen](https://www.samplecodeabap.com/screen-size-display-alv-grid-fullscreen-sap-abap/) - If you create ALV Grid report using class CL_GUI_ALV_GRID then you may like to read this blog to avoid scroll bar and unused screen space issue. To give you an example you may have seen ALV grid with scroll bars if you resize screen even if it’s perfectly possible to fit the content of ALV - [Copy Programs and Config between SAP systems using Transport files](https://www.samplecodeabap.com/copy-programs-between-sap-systems-using-transport-files/) - You can use this method to copy program between two SAP systems which are totally isolated i.e. there is no transport route setup between them. You would probably know, I going to mention this anyway, that this can also be done using SAPLink. You need to download and install SAPLink in both source and target - [Adding Select Option to ABAP Web Dynpro Component](https://www.samplecodeabap.com/select-option-sap-web-dynpro/) - Web Dynpro does not have any built in controls for select options, this is achieved using WDR_SELECT_OPTIONS component. This blog has step by step guide with sample abap code for adding select option to Web Dynpro ABAP. ## Pages - [Cookie Policy (UK)](https://www.samplecodeabap.com/cookie-policy-uk/) - [Site Map](https://www.samplecodeabap.com/site-map/) ## Categories - [ABAP](https://www.samplecodeabap.com/category/abap/) - [SAP Basis](https://www.samplecodeabap.com/category/sap-basis/) - [SAP Functional](https://www.samplecodeabap.com/category/sap-functional/) - [SAP SD](https://www.samplecodeabap.com/category/sap-functional/sap-sd/) - [SAP MM](https://www.samplecodeabap.com/category/sap-functional/sap-mm/) - [SAP LE](https://www.samplecodeabap.com/category/sap-functional/sap-le/) - [Web Dynpro](https://www.samplecodeabap.com/category/web-dynpro/) - [Forms](https://www.samplecodeabap.com/category/forms/) - [SAP PM](https://www.samplecodeabap.com/category/sap-functional/sap-pm/) - [SAP UI5](https://www.samplecodeabap.com/category/sap-ui5/) - [HR-ABAP](https://www.samplecodeabap.com/category/abap/hr-abap/) - HR ABAP - [OData](https://www.samplecodeabap.com/category/abap/odata/) - [Workflow](https://www.samplecodeabap.com/category/workflow/) - [Fiori Elements](https://www.samplecodeabap.com/category/fiori-elements/) - [CDS View](https://www.samplecodeabap.com/category/cds-view/) - [Enhancement](https://www.samplecodeabap.com/category/abap/ehancement/) ## Tags - [dictionary](https://www.samplecodeabap.com/tag/dictionary/) - [transaction](https://www.samplecodeabap.com/tag/transaction/) - [customising](https://www.samplecodeabap.com/tag/customising/) - [enhancement](https://www.samplecodeabap.com/tag/enhancement/) - [spro](https://www.samplecodeabap.com/tag/spro/) - [transport](https://www.samplecodeabap.com/tag/transport/) - [sftp](https://www.samplecodeabap.com/tag/sftp/) - [external call](https://www.samplecodeabap.com/tag/external-call/) - [interface](https://www.samplecodeabap.com/tag/interface/) - [snippet](https://www.samplecodeabap.com/tag/snippet/) - [alv](https://www.samplecodeabap.com/tag/alv/) - [bdc](https://www.samplecodeabap.com/tag/bdc/) - [ovs](https://www.samplecodeabap.com/tag/ovs/) - [search help](https://www.samplecodeabap.com/tag/search-help/) - [hp printer](https://www.samplecodeabap.com/tag/hp-printer/) - [device type](https://www.samplecodeabap.com/tag/device-type/) - [spad](https://www.samplecodeabap.com/tag/spad/) - [class](https://www.samplecodeabap.com/tag/class/) - [lxdck](https://www.samplecodeabap.com/tag/lxdck/) - [implicit enhancement](https://www.samplecodeabap.com/tag/implicit-enhancement/) - [abap oo](https://www.samplecodeabap.com/tag/abap-oo/) - [debug](https://www.samplecodeabap.com/tag/debug/) - [sapscript](https://www.samplecodeabap.com/tag/sapscript/) - [report](https://www.samplecodeabap.com/tag/report/) - [value help](https://www.samplecodeabap.com/tag/value-help/) - [code wizard](https://www.samplecodeabap.com/tag/code-wizard/) - [select option](https://www.samplecodeabap.com/tag/select-option/) - [stms](https://www.samplecodeabap.com/tag/stms/) - [smartforms](https://www.samplecodeabap.com/tag/smartforms/) - [sap note](https://www.samplecodeabap.com/tag/sap-note/) - [performance](https://www.samplecodeabap.com/tag/performance/) - [number range](https://www.samplecodeabap.com/tag/number-range/) - [module pool](https://www.samplecodeabap.com/tag/module-pool/) - [call transaction](https://www.samplecodeabap.com/tag/call-transaction/) - [output control](https://www.samplecodeabap.com/tag/output-control/) - [parameter id](https://www.samplecodeabap.com/tag/parameter-id/) - [email](https://www.samplecodeabap.com/tag/email/) - [IDoc](https://www.samplecodeabap.com/tag/idoc/) - [timer](https://www.samplecodeabap.com/tag/timer/) - [auto refresh](https://www.samplecodeabap.com/tag/auto-refresh/) - [EDI](https://www.samplecodeabap.com/tag/edi/) - [context menu](https://www.samplecodeabap.com/tag/context-menu/) - [sscr key](https://www.samplecodeabap.com/tag/sscr-key/) - [ORDERS](https://www.samplecodeabap.com/tag/orders/) - [range table](https://www.samplecodeabap.com/tag/range-table/) - [partner determination](https://www.samplecodeabap.com/tag/partner-determination/) - [function module](https://www.samplecodeabap.com/tag/function-module/) - [soundex](https://www.samplecodeabap.com/tag/soundex/) - [field symbols](https://www.samplecodeabap.com/tag/field-symbols/) - [dynamic programming](https://www.samplecodeabap.com/tag/dynamic-programming/) - [reference variables](https://www.samplecodeabap.com/tag/reference-variables/) - [code library](https://www.samplecodeabap.com/tag/code-library/) - [code libra](https://www.samplecodeabap.com/tag/code-libra/) - [FPM](https://www.samplecodeabap.com/tag/fpm/) - [ACT](https://www.samplecodeabap.com/tag/act/) - [portal](https://www.samplecodeabap.com/tag/portal/) - [ChartUIBB](https://www.samplecodeabap.com/tag/chartuibb/) - [SAP Fiori](https://www.samplecodeabap.com/tag/sap-fiori/) - [sapui5](https://www.samplecodeabap.com/tag/sapui5/) - [Internal Table Processing](https://www.samplecodeabap.com/tag/internal-table-processing/) - [SAP HR](https://www.samplecodeabap.com/tag/sap-hr/) - [Web Dispacther](https://www.samplecodeabap.com/tag/web-dispacther/) - [mini-blog](https://www.samplecodeabap.com/tag/mini-blog/) - [web service](https://www.samplecodeabap.com/tag/web-service/) - [soamanager](https://www.samplecodeabap.com/tag/soamanager/) - [cds](https://www.samplecodeabap.com/tag/cds/) - [annotation](https://www.samplecodeabap.com/tag/annotation/) - [ui5](https://www.samplecodeabap.com/tag/ui5/) - [BADI](https://www.samplecodeabap.com/tag/badi/) - [s4hana](https://www.samplecodeabap.com/tag/s4hana/) - [adobe](https://www.samplecodeabap.com/tag/adobe/) - [sapom](https://www.samplecodeabap.com/tag/sapom/) - [workflow](https://www.samplecodeabap.com/tag/workflow/) - [cdsview](https://www.samplecodeabap.com/tag/cdsview/) - [sap basis](https://www.samplecodeabap.com/tag/sap-basis/) - [odata](https://www.samplecodeabap.com/tag/odata/) - [fiori-elements](https://www.samplecodeabap.com/tag/fiori-elements/) - [s4cloud](https://www.samplecodeabap.com/tag/s4cloud/) - [excel](https://www.samplecodeabap.com/tag/excel/) - [translation](https://www.samplecodeabap.com/tag/translation/)