https://raw.githubusercontent.com/ajmaradiaga/feeds/main/scmt/topics/SAP-Data-Services-blog-posts.xml SAP Community - SAP Data Services 2026-02-22T00:12:40.966264+00:00 python-feedgen SAP Data Services blog posts in SAP Community https://community.sap.com/t5/technology-blog-posts-by-members/bods-migration/ba-p/13695491 BODS migration 2024-05-14T10:39:48.281000+02:00 divikaus https://community.sap.com/t5/user/viewprofilepage/user-id/853697 <P>&nbsp;</P><P>In this blog, I have detailed the steps taken for SAP BODS application migration from existing on premises to HANA database including the DR Testing Setup.</P><P>The Purpose of this blog is to provide a guidance path for migration of the BODS Application to HANA.</P><P><SPAN>&nbsp;</SPAN></P><P><SPAN>Existing Landscape Design:<BR /></SPAN>1. The IPS and DS version remain the same as on premises.</P><OL><LI>In this landscape NW JAVA is used as underlying Web Application instead of Tomcat.</LI><LI>This landscape had additional WACS installation.</LI><LI>There is a single Central repository across the landscape.</LI></OL><P>&nbsp;</P><P><SPAN>Considerations prior to Migration:</SPAN><BR />1. The Version history for Objects cannot be retained in case of a Migration of BODS application to another Database. SAP KBA 2768127.</P><OL><LI>The migration is performed using the ATL code import mechanism.</LI><LI>Central Repository migration must be performed via ATL code import into local repository. i.e. An additional local repository needs to be created on prem for this activity.</LI><LI>For Installation and build the &lt;SID&gt;adm user should be using csh shell for IPS and NW JAVA.</LI><LI>For Installation and build the &lt;SID&gt;adm user should be using the bash shell for DS.</LI></OL><P>&nbsp;</P><H3 id="toc-hId-1123544859">Migration Steps:</H3><OL><LI>Since the landscape consists of NW JAVA – Import / Export for NW JAVA via SWPM tool is used.</LI><LI>For the Database HANA MCD Setup is used. Corresponding users are created for each repository and the CMS &amp; AUD repositories.</LI><LI>HANA Encryption performed as per the SAP Blog <A href="https://community.sap.com/t5/technology-blogs-by-members/sap-hana-database-encryption/ba-p/13555367" target="_blank">SAP HANA Database Encryption - SAP Community</A></LI><LI>For HANA Database connectivity, UNIXodbc must be installed on all application servers for BODS.<OL><LI>Can be checked by using ./odbcinst -j as root user.</LI><LI>Edit the odbc.ini file to allow for the connections to the HANA database from the BODS Application servers. The DSN entry could be for each user for the Repository / Single DSN used across the repositories, but the &lt;CMS&gt; and &lt;AUD&gt; DSN are mandatory. Examples below:<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="divikaus_0-1715184048214.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107615iADF29B9F59389B53/image-size/medium?v=v2&amp;px=400" role="button" title="divikaus_0-1715184048214.png" alt="divikaus_0-1715184048214.png" /></span><P>&nbsp;</P></LI><LI>The connection can be checked using the command as below as root user.<OL><LI>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Command – isql &lt;DSN&gt; &lt;USERNAME&gt; &lt;PASSWORD&gt;</LI></OL></LI></OL></LI></OL><P>Each BODS Application server requires its own IPS and DS installation.</P><P>Few important steps during the installation which needs to be considered:</P><OL><LI>The IPS and DS Installation can be run directly using the patch download for the required version.</LI><LI>The Installation for IPS must be run with &lt;SID&gt;adm user under csh shell.</LI><LI>Once the CMS and AUD Repositories are confirmed on the HANA Database, select the option to manually deploy Web Applications</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="divikaus_1-1715184048226.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107616i276670B29383009F/image-size/medium?v=v2&amp;px=400" role="button" title="divikaus_1-1715184048226.png" alt="divikaus_1-1715184048226.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><OL><LI>The SIA name and port details need to be confirmed at this time to use &lt;hostname&gt; and port 6400 or any other port. We will cover cluster name change and cluster setup for IPS under step &lt;f&gt;.</LI><LI>In case of multiple Application servers for BODS – as mentioned above each server will require its own IPS and DS installation. While performing the second IPS installation for the CMS Information step, you will need to provide the hostname for the first IPS installation.</LI><LI>For changing the cluster name in case of multiple applications once the steps till &lt;e&gt; are completed, stop the IPS as per SAP note 2143877 - What is the correct start and stop order for Data Services components. Follow the SAP note 3169978 - How to change CMS cluster name in Linux for BI 4.x to update the cluster name. The input needed will be &lt;hostname:port&gt; while providing the new Cluster name – which will translate to &lt;@hostname:port&gt; while logging onto BOE/CMC &amp; DSMC and Designer tool.</LI><LI>For DS Installation as well, run with &lt;SID&gt;adm user. The destination folder for the DS Installation can be pre-created.</LI><LI>For the CMS Logon during DS installation – provide each individual &lt;hostname:port&gt; information. Execute Step &lt;f&gt; at the end.</LI><LI>For our purpose we had re-used the DSConfig.txt from the on-premises, during the DS Installation – this helps to cover any added parameters into the DSCOnfig.txt file from on premises but does not help with the job server and repositories assignments – which must be repeated to be covered after step &lt;l and m&gt;</LI><LI>Since we had selected Web Application to be manually deployed, we will have to run Wdeploy to create the configuration files to be imported to NW JAVA via SUM Tool.<OL><LI>Edit the file corresponding to the NW version under path &lt;BODS Installation Directory&gt;/enterprise_xi40/wdeploy/conf. The file name would be in the format config.sapappsvr&lt;XX&gt;</LI><LI>The inputs into this File would be against “as_sid”, “as_instance”, “as_admin_username” and “as_admin_password” fields</LI><LI>Run the command as ./wdeploy.sh sapappsvr&lt;XX&gt; predeployall</LI><LI>This creates the required files under path &lt;BODS Installation Directory&gt;/ enterprise_xi40/wdeploy/workdir/sapappsvr&lt;XX&gt;/application</LI><LI>Copy over these files to /usr/sap/trans/EPS/in</LI><LI>Run the SUM tool and import the components to the NW JAVA</LI></OL></LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="divikaus_2-1715184048235.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107617i2ADBE76BE2513253/image-size/medium?v=v2&amp;px=400" role="button" title="divikaus_2-1715184048235.png" alt="divikaus_2-1715184048235.png" /></span></P><P>&nbsp;</P><OL><LI>For WACS installation run the ./modifyOrRemoveProducts.sh under BODS installation directory and select the Information Platform Services to modify. Make sure to not remove any selections already showing – but only add the selection for “Web Application Container Service” in the Step and complete the installation providing the same information as provided during the IPS installation for each server.</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="divikaus_3-1715184048254.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107620i3D1DDA0A5972573B/image-size/medium?v=v2&amp;px=400" role="button" title="divikaus_3-1715184048254.png" alt="divikaus_3-1715184048254.png" /></span></P><P>&nbsp;</P><OL><LI>Create the Repositories corresponding to the Users created on the HANA Database using the below command.</LI></OL><P>Command to be run from &lt;BODS installation Directory&gt;/bin</P><P>./repoman -c -tlocal -U&lt;USERNAME&gt; -P&lt;Password&gt; -S&lt;FQDN for the DB&gt; -p&lt;Tenant Port&gt; -s -NHANA -Q&lt;SID&gt;</P><P>./repoman -c -tcentral -U&lt;USERNAME&gt; -P&lt;Password&gt; -S&lt;FQDN for the DB&gt; -p&lt;Tenant Port&gt; -s -NHANA -Q&lt;SID&gt;</P><P>For Central Repository the “Secure” option can be activated using the Repository Manager tool.</P><P>The Tenant port can be checked using the command from the SYSTEM Database</P><P>SELECT DATABASE_NAME, SQL_PORT FROM SYS_DATABASES.M_SERVICES</P><OL><LI>Re-create the Job server and assign Repositories.<OL><LI>Edit the DSConfig.txt file to remove the entries for Job Server, Access Server coming from On Premises. Find the Section [AL_JobServer] and remove the entries against fields “AL_JobServerName1” &amp; “AL_JobServerPort1” and any more entries. Keep the Same Job Server name and port while recreating.</LI><LI>Find the Section [Access_Server] and remove the entry against “Connection_ID”</LI><LI>Once the above two are completed, when you run ./svrcfg it will prompt you to start creating Job Servers and assign Repositories against them. Re-create on each BODS Application server exactly as it was on Premises with the same port details.</LI><LI>For the usage of “Server Group” in DSMC – you will need to assign the same repository to multiple job servers on each BODS Application server.</LI></OL></LI><LI>You can source the al_env.sh and odbc.sh into the .bashrc file for the &lt;SID&gt;adm user by adding the below to entries to the file:</LI></OL><P>source /&lt;BODS Installation Directory&gt;/dataservices/DataDirect/odbc/odbc.sh</P><P>source /&lt;BODS Installation Directory&gt;/dataservices/bin/al_env.sh</P><OL><LI>Once the above steps are completed – You can Export the LCMBIAR and ATL from the On-premises application and Import into the Target Environment.<OL><LI>For LCMBIAR Export and Import Note that during the process, you will need to select each page and use the “select all” option above for each page. If not done, there could be some objects missed out.</LI><LI>Check the total objects being promoted from on premises and make sure the count is at least the same (could be more for target).</LI><LI>If the option “Hot Backup” is enabled under CMC in Settings each time you try to run the LCMBIAR File import and check the final count on promotable objects in the target it will show double – this is normal behaviour. Suggest deleting existing job and run a new job every time.</LI></OL></LI><LI>Login to CMC using the System details as &lt;@Clustername:port&gt; and under Data Services – you will need to delete and re-create each repository with the new hostname and port details.</LI></OL><P>&nbsp;</P><H3 id="toc-hId-927031354">Disaster Recovery:</H3><P>The Disaster Recovery strategy used here is to have a pre-installed BODS Application and Database and during DR scenarios the latest available HANA backup is used to recover the Database on the DR Site. To achieve this, below steps were used.</P><OL><LI>BODS Application including NW JAVA as described in the above section is pre-built on the DR VM provisioned along with the HANA tenant on the DR site.</LI><LI>Steps for LCMBIAR &amp; ATL export/import, WACS Install, creation of repositories and Job Servers, Edit of the DSConfig.txt file are excluded in this build.</LI><LI>A VM Backup and HANA Database Backup is retained at this stage for future re-use.</LI></OL><P>As part of the Disaster Recovery Test the below Steps are performed, without disturbing the existing Production Landscape.</P><OL><LI>HANA backup from Production and Restore onto the DR Database.</LI><LI>Follow SAP note 1275068 to recreate SIA for the application.<OL><LI>Select * from cms_infoobjects7 where parented=16 or parented=59;</LI><LI>Delete from cms_infoobjects7 where parented=16 or parented=59;</LI></OL></LI><LI>Re-create SIA using ./serverconfig.sh following SAP note 2206006. You will require the Cluster key and the CMS DSN user credentials to connect to the database from Production.</LI><LI>Change Cluster Name as detailed in the above section under step &lt;f&gt;.</LI><LI>For NW JAVA as the Database is coming in from Production backup – the only option is to uninstall – SAP Systems or Single Instances.</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="divikaus_4-1715184048256.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107618i41B260DE6BF21C97/image-size/medium?v=v2&amp;px=400" role="button" title="divikaus_4-1715184048256.png" alt="divikaus_4-1715184048256.png" /></span></P><P>&nbsp;</P><OL><LI>Re-Install NW JAVA using the option Standard Installation under HANA Database, but using “Homogeneous System Copy” instead of “Standard System Copy” used during build.</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="divikaus_5-1715184048259.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107619i4A219BE33D65FF11/image-size/medium?v=v2&amp;px=400" role="button" title="divikaus_5-1715184048259.png" alt="divikaus_5-1715184048259.png" /></span></P><P>&nbsp;</P><OL><LI>Provide the Existing Production Database SYSTEM and Schema details in the next steps along with the schema password and select “Data has already been Loaded”.</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="divikaus_6-1715184048263.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107621iEB2EEB4182BE6FEB/image-size/medium?v=v2&amp;px=400" role="button" title="divikaus_6-1715184048263.png" alt="divikaus_6-1715184048263.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P> 2024-05-14T10:39:48.281000+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/new-service-plan-lower-pricing-for-sap-data-quality-management/ba-p/13730090 New Service Plan: Lower Pricing for SAP Data Quality Management, microservices for location data 2024-06-13T23:55:31.949000+02:00 hozumi https://community.sap.com/t5/user/viewprofilepage/user-id/36635 <H2 id="toc-hId-1017397365">Introduction:</H2><P>We are thrilled to announce an exciting update to <A href="https://www.sap.com/products/technology-platform/data-quality-management.html" target="_blank" rel="noopener noreferrer">SAP Data Quality Management, microservices for location data</A>. In our ongoing efforts to provide you with the best value and meet your evolving needs, we will be introducing a new, more affordable service plan available under the SAP BTP Enterprise Agreement (BTPEA) or Pay-As-You-Go for SAP BTP. The new <EM>Professional</EM> plan will replace our existing <EM>Standard</EM> plan, which will be gradually phased out in the coming months. We understand that change can be unsettling, but we assure you that this transition will bring numerous benefits and cost savings for all our valued customers.</P><H2 id="toc-hId-820883860">Why the Change?</H2><P>As a customer-centric company, we continuously evaluate our offerings to ensure they align with your requirements and provide the best possible experience. After careful consideration and feedback from our customers, we have developed a new service plan that offers the same quality and features you love, but at a significantly lower cost. Our goal is to make our services more accessible and affordable to a wider range of customers.</P><H2 id="toc-hId-624370355">What to Expect from the New Service Plan:</H2><P>Our new <A href="https://discovery-center.cloud.sap/serviceCatalog/data-quality-services?region=all&amp;tab=service_plan" target="_blank" rel="noopener nofollow noreferrer"><EM>Professional</EM> plan</A> will offer all the essential features and benefits of the existing <EM>Standard</EM> plan, but at a reduced price point. The service will ensure backward compatibility with our service APIs, so you can simply migrate to the new service plan to work with your existing systems and workflows without any compatibility issues. However, the <EM>Professional</EM> plan offers an opportunity for growth and expansion, so we encourage you to consider migrating to this plan when you are ready to leverage the benefits of future innovation.</P><H2 id="toc-hId-427856850">Service Region Availability:</H2><P>We are happy to share the news that our service recently expanded its service operation in North America. We have now established operations in the United States and Germany, enabling customers in these regions to benefit from improved performance. By connecting to the service nearest to your environment, you can enjoy faster response times and a more seamless experience. The <EM>Professional</EM> and <EM>Standard</EM> plans are available in these regions; however, please remember that our future investment will only be in our <EM>Professional</EM> plan.</P><H2 id="toc-hId-231343345">How to get started:</H2><P>Getting started with the new service plan is simple and <A href="https://community.sap.com/t5/technology-blogs-by-sap/getting-started-with-sap-data-quality-management-microservices-for-location/ba-p/13527838" target="_blank">my previous article</A> can still be a useful reference for you. If you have already tried our free plan, you can <A href="https://help.sap.com/docs/data-quality-services/data-quality-services/upgrading-free-plan-service-to-standard-plan" target="_blank" rel="noopener noreferrer">upgrade to the professional plan</A>. Alternatively, you can start directly with the <EM>Professional</EM> plan by creating a new service instance in your subaccount on the SAP BTP Cockpit.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="hozumi_1-1718288856373.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/123318i944A158CD24A6D02/image-size/large?v=v2&amp;px=999" role="button" title="hozumi_1-1718288856373.png" alt="hozumi_1-1718288856373.png" /></span></P><P class="lia-align-center" style="text-align: center;"><EM>SAP BTP Cockpit Service Instance Creation</EM></P><H2 id="toc-hId-34829840">What does this mean for existing customers?</H2><P>Don't worry, you can continue using your existing service plan until you are ready to switch over to the new service instance. This means that you can explore the new service plan at your own pace, without any disruptions to your current setup.</P><H3 id="toc-hId--32600946">To update the service plan within your subaccount</H3><P>When you are ready to migrate to the new service plan, the simplest way is to update your existing service instance to the new service plan within your subaccount. You can follow <A href="https://help.sap.com/docs/data-quality-services/data-quality-services/updating-to-professional-service-plan" target="_self" rel="noopener noreferrer">these simple but important steps</A> to update your service plan correctly. The <EM>Professional</EM> plan is available only in the Cloud Foundry environment. The update within your subaccount will retain your existing configurations and usage history.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hozumi_2-1718288856388.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/123320iBF0AA0ECBEFE7657/image-size/large?v=v2&amp;px=999" role="button" title="hozumi_2-1718288856388.png" alt="hozumi_2-1718288856388.png" /></span></P><P class="lia-align-center" style="text-align: center;"><EM>SAP BTP Cockpit Service Instance Update</EM></P><H3 id="toc-hId--229114451">To migrate to another subaccount</H3><P>If you want to migrate your service to another subaccount, you can create a new service instance in the target subaccount, configure the authentication method, and export any configuration files from your existing subaccount to your new subaccount if there is any custom configuration.</P><P>This process may be for your case if you are migrating from the Neo environment to the Cloud Foundry environment or moving to another data center.</P><P>To migrate from one subaccount to another, you can refer to our Neo to Cloud Foundry <A href="https://help.sap.com/docs/data-quality-services/data-quality-services/migrating-data-quality-services-from-neo-to-cloud-foundry-environment" target="_blank" rel="noopener noreferrer">migration documentation</A>. The process is also similar when moving between Cloud Foundry based subaccounts. However, please note that the transaction history data will not be transferred to the new subaccount. If you wish to retain a record of your past activities, you can optionally export the data before migrating.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="hozumi_3-1718288856397.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/123319iFC78842AFCDD9929/image-size/large?v=v2&amp;px=999" role="button" title="hozumi_3-1718288856397.png" alt="hozumi_3-1718288856397.png" /></span></P><P class="lia-align-center" style="text-align: center;"><EM>Data Quality Service UI Configuration Export</EM></P><H2 id="toc-hId--554710675">Transition Timeline:</H2><P>We will soon announce the official deprecation date for the existing <EM>Standard</EM> plan, and it will no longer be available for new customers. This means that new customers seeking to purchase our service plan will need to opt for the new <EM>Professional</EM> plan under the <A href="https://www.sap.com/products/technology-platform/pricing.html" target="_blank" rel="noopener noreferrer">SAP BTP Enterprise Agreement or Pay-As-You-Go for SAP BTP</A>.</P><H3 id="toc-hId--622141461">If you are using the service in the Cloud Foundry environment:</H3><P>Existing customers, however, can continue using the existing service plan until their contractual agreement is renewed. We value our long-standing customers and want to ensure a smooth transition for them. We suggest planning for the transition as soon as possible to take advantage of <A href="https://discovery-center.cloud.sap/serviceCatalog/data-quality-services?region=all&amp;tab=service_plan" target="_blank" rel="noopener nofollow noreferrer">the new pricing</A> we offer with the new service plan.</P><H3 id="toc-hId--893886335">If you are using the service in the Neo environment:</H3><P><FONT color="#FF0000"><STRONG>Warning!</STRONG></FONT> We recommend you transition to the new environment as soon as possible, as the Neo environment will be deprecated in 2028. We will not add any new features to our deployments in the Neo environment. Please find additional details regarding the Neo deprecation in <A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-business-technology-platform-neo-environment-sunset-questions-answers/ba-p/13557725" target="_blank">this article</A>.</P><H2 id="toc-hId--796996833">Conclusion:</H2><P>We are excited for the launch of our new service plan for SAP Data Quality Management, microservices for location data. The service is available in North America and Europe regions with attractive pricing options under SAP BTP Enterprise Agreement or Pay-As-You-Go for SAP BTP.&nbsp; We believe the new lower-cost service plan with improved performance will provide significant value to our customers.</P><P>We encourage our existing customers to explore the <A href="https://www.sap.com/products/technology-platform/data-quality-management.html" target="_blank" rel="noopener noreferrer">benefits of our service plan</A> while we are committed to supporting their existing service operations based on the deprecation schedule outlined in their contractual agreement.&nbsp; If you have any questions or concerns about the transition to the new service plan, please contact our customer support team. Thank you for your continued trust and support.</P> 2024-06-13T23:55:31.949000+02:00 https://community.sap.com/t5/technology-blog-posts-by-members/abap-cds-select-from-dynamic-data-source/ba-p/13748502 ABAP CDS Select from dynamic data source 2024-07-08T14:20:49.192000+02:00 AbdelrahmanZaki75 https://community.sap.com/t5/user/viewprofilepage/user-id/175819 <P>Hello friends,<BR /><BR />I faced a little problem while reporting in Fund Management (FM) module as the tables are generated automatically while creating derivation rules with dynamic names and differs by system /client.</P><P>The rule entries are stored in the generated table "FMFMOAXXXYYYZZZZ", where XYZ symbols means as follows:</P><UL><LI>XXX is the system specification (<STRONG>e.g., DE1 or QE1)</STRONG></LI><LI>YYY is the client number (<STRONG>e.g., 120 or 200)</STRONG></LI></UL><P>ZZZZ is the number of the derivation rule (<STRONG><STRONG><STRONG>which you should have as per your table 31, 51, 64, or 61)</STRONG></STRONG></STRONG></P><P><BR />To be able to move my report / solution I had to selecting from dynamic source which is not supported in CDS!</P><P>After investing some time I came to try it using AMDP with table function</P><P>Now let's explain it as simple as possible.&nbsp;</P><P>&nbsp;</P><P><STRONG>*Step 1 create a table function&nbsp; *</STRONG></P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@EndUserText.label: 'demo table function' define table function zcds_amdp_demo_tf with parameters @Environment.systemField:#CLIENT clnt5 : abap.clnt, derivation : char4 returns { MANDT : mandt ; SOUR1_FROM : ps_posid ; SOUR1_TO : ps_posid ; VALID_FROM : abaintab ; TARGET1 : fistl; DELETE_FLG : abadrdelflag; ADDED_BY : abadrerfasser; ADDED_ON : erdat; } implemented by method zcl_amdp_demo=&gt;get_data; ​</code></pre><P>&nbsp;</P><P>&nbsp;</P><P><STRONG><BR /><STRONG>*Step 2 Create the class <SPAN>zcl_amdp_demo*</SPAN></STRONG></STRONG></P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>CLASS zcl_amdp_demo DEFINITION PUBLIC FINAL CREATE PUBLIC. PUBLIC SECTION. INTERFACES: if_amdp_marker_hdb, if_oo_adt_classrun. CLASS-METHODS get_data FOR TABLE FUNCTION zcds_amdp_demo_tf. PROTECTED SECTION. PRIVATE SECTION. ENDCLASS. CLASS zcl_amdp_demo IMPLEMENTATION. METHOD get_data BY DATABASE FUNCTION FOR HDB LANGUAGE SQLSCRIPT OPTIONS READ-ONLY USING tadir. declare lv_fm_tab string; declare tablename string; declare clientnumber string; declare systemid string; declare deriv string; *must be the same data types as consuming cds also in same order declare it_fm_tab table ( MANDT nvarchar(3), SOUR1_FROM nvarchar(24), SOUR1_TO nvarchar(24), VALID_FROM nvarchar(10), TARGET1 nvarchar(16), DELETE_FLG nvarchar(1), ADDED_BY nvarchar(12), added_on nvarchar(10) ); * fmfmoaxxxyyyzzzz *fields from parameters clientnumber = clnt5; select srcsystem into systemid from tadir where pgmid = 'HEAD' and object = 'SYST'; *'COST' =&gt; Cost Element = Commitment Item *'WBSE' =&gt; wbs Element = Funds Center if derivation = 'COST' then if systemid = 'DS1' then deriv = '0051'; end if; if systemid = 'QS1' then deriv = '0062'; end if; if systemid = 'PS1' then deriv = '0051'; end if; else if systemid = 'DS1' then deriv = '0052'; end if; if systemid = 'QS1' then deriv = '0064'; end if; if systemid = 'PS1' then deriv = '0041'; end if; end if; tablename = 'FMFMOA' || systemid || clientnumber || deriv; EXECUTE immediate 'select MANDT, SOUR1_FROM, SOUR1_TO, VALID_FROM, TARGET1, DELETE_FLG, ADDED_BY, ADDED_ON from ' || tablename into it_fm_tab ; RETURN SELECT * FROM :it_fm_tab; ENDMETHOD. ENDCLASS. ​</code></pre><P>&nbsp;</P><P>&nbsp;</P><P><STRONG><STRONG><SPAN><BR /><SPAN>*<STRONG>Step 3 and final Create a sonsumable CDS view*</STRONG></SPAN></SPAN></STRONG></STRONG></P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@AbapCatalog.sqlViewName: 'ZCDS_AMDP_DEMO_V' @AbapCatalog.compiler.compareFilter: true @AbapCatalog.preserveKey: true @AccessControl.authorizationCheck: #NOT_REQUIRED @EndUserText.label: 'CDS that consuming the TF' define view zcds_amdp_demo as select from zcds_amdp_demo_tf (clnt5 : $session.client, derivation : 'COST' ) //COST =&gt; Cost Element = Commitment Item //WBSE =&gt;WBS Element = Funds Center { * }​</code></pre><P>&nbsp;</P><P>&nbsp;</P><P>Output:</P><P>A Closer look: if you change the parameter from 'COST' to 'WBSE' the return changes which makes it dynamic selection now <span class="lia-unicode-emoji" title=":slightly_smiling_face:">🙂</span> .. congratulations!</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AbdelrahmanZaki_0-1720444829925.png" style="width: 766px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/133789i59E73C96096EA043/image-dimensions/766x324?v=v2" width="766" height="324" role="button" title="AbdelrahmanZaki_0-1720444829925.png" alt="AbdelrahmanZaki_0-1720444829925.png" /></span></P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AbdelrahmanZaki_1-1720444858014.png" style="width: 739px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/133790i4ED45EDBB7150539/image-dimensions/739x357?v=v2" width="739" height="357" role="button" title="AbdelrahmanZaki_1-1720444858014.png" alt="AbdelrahmanZaki_1-1720444858014.png" /></span></P><P>&nbsp;</P><P><STRONG><STRONG><SPAN><SPAN><STRONG><BR /></STRONG></SPAN></SPAN></STRONG></STRONG>Please feel free to comment any observations, enhancements or recommendations.</P><P><STRONG><STRONG><SPAN><SPAN><STRONG>Regards,<BR />Abdelrahman Zaki<BR /></STRONG></SPAN></SPAN></STRONG></STRONG></P> 2024-07-08T14:20:49.192000+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/statement-of-direction-sap-data-services-as-of-july-2024/ba-p/13762644 Statement of Direction - SAP Data Services as of July 2024 2024-07-16T23:57:19.052000+02:00 shibajee_dutta_gupta https://community.sap.com/t5/user/viewprofilepage/user-id/480590 <P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SAP-Logo.jpg" style="width: 126px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/137395i61B10CF313CC99BE/image-size/large?v=v2&amp;px=999" role="button" title="SAP-Logo.jpg" alt="SAP-Logo.jpg" /></span></P><P><FONT size="6"><STRONG>Statement of Direction – SAP Data Services</STRONG></FONT></P><P><EM>July 2024</EM></P><P><STRONG>Introduction</STRONG></P><P>As our matured products continues to have consistent traction in the market with emerging technologies and data platforms, it is essential for us to focus on extending its versions to meet the evolving needs of our customers. This Statement of Direction outlines our strategic approach to extending product versions, ensuring that we maintain our competitive edge in the on-premises data integration space as well as on-cloud and deliver value to our customers. Our primary objective is to understand and address the specific requirements of our customers, for the matured products as well as new and emerging technologies in the cloud. We will actively engage with our user base through feedback sessions, support channels, and market research to identify their pain points, challenges, and emerging needs.</P><P><STRONG>&nbsp;</STRONG></P><P><STRONG>Executive Summary</STRONG></P><P>This document provides guidance to our customers of SAP Data Management portfolio, with respect to SAP Data Services (DS) solution, on the product directions. &nbsp;For Information Steward we will have a separate communication made available. This document is an extension of our&nbsp; <A href="https://community.sap.com/t5/technology-blogs-by-sap/statement-of-direction-sap-data-services-and-sap-information-steward-as-of/ba-p/13577148" target="_self">blog</A> post made on November 3, 2023, focused on SAP Data Services</P><P>SAP Data Management portfolio expanded further in the cloud with the introduction of SAP Datasphere in March 2023. SAP Datasphere is a comprehensive data service built only on SAP® Business Technology platform (SAP BTP) that enables every data professional to deliver seamless and scalable access to mission critical business data. It is the next generation of SAP® Data Warehouse Cloud, with new capabilities that enhance data discovery, modeling, and distribution. With a unified experience for data integration, data cataloging, semantic modeling, data warehousing, data federation, and data virtualization.&nbsp; SAP Datasphere enables data professionals to easily distribute authoritative business data with business context and logic preserved across the data landscape.</P><P>As we define the future of SAP Data Management portfolio, with our stated data management strategy, current on-premise SAP Data Services customers can in fact leverage all their existing investments and efforts, repurposing those time-tested and trusted artifacts and configurations that are being used today in SAP Data Services (DS), while also extending the reach of their data management to the cloud, with SAP Datasphere, a native cloud solution. Yes, we are committed to our existing SAP Data Services and customer base too. In the current release of SAP Data Services, we do have the connector to SAP Datasphere to consume the raw, semi-processed as well as fully processed data from SAP Data Services connections. This capability enables to reduce the gap of heterogeneous sources and targets between SAP Data Services and SAP Datasphere.</P><P>“In 2022 we did a minor version upgrade of SAP Data Services to 4.3, allowing the compatibility with Business Intelligence BusinessObjects 4.3. As a result, our support policy extended the end of mainstream maintenance timeline to end of 2025 and priority 1 support to end of 2027 for both SAP Data Services and SAP Information Steward. <EM>We have made a change in Q3 of 2024, wherein the SAP Data Services and SAP Information Steward 4.3 timeline and extended the mainstream support till end of December 2026. Priority 1 support has been replaced with CSM (Customer Specific Maintenance)</EM>. However, with the mainstream maintenance of version 4.3 of SAP Data Services suite ending in 2026, we do not want to leave our large customer base behind, and therefore we have decided to release an updated version, code named SAP Data Services 2025 to provide more time to our on-premises customers to adopt our rapidly evolving, state-of-the-art cloud data integration scenarios. As more of our customers shift their on-premises workloads to the cloud, we also offer SAP Data Services, private cloud edition (PCE), which runs the ETL and Data Quality solutions in a managed cloud environment operated by SAP. Many of our largest SAP Data Services customers already run both solutions side-by-side, during their transition to the managed cloud deployment.”</P><TABLE width="100%"><TBODY><TR><TD><P><STRONG><U>SAP Data Services 2025 </U></STRONG></P><P>Our current plan to release a new version of the SAP Data Services in 2025 as a successor of SAP Data Services 4.3 remains unchanged and will be...</P><UL><LI>code named SAP Data Services 2025.</LI><LI>available on-premises and through managed cloud,&nbsp;&nbsp;</LI><LI>focused on the most widely adopted on-premises scenarios: SAP Data Services for native ETL and Data Quality,&nbsp;</LI></UL><P>o&nbsp;&nbsp; Existing architecture and component map will be followed including Designer, Repository, Job Server, supported web applications and BI module.</P><P>o&nbsp;&nbsp; Compatible with proposed BI 2025 suite and planned to be released a quarter after BI 2025</P><P>o&nbsp;&nbsp; We have plans to release SAP Data Services 2025 by the end of Q2 2025 followed by ‘Fix Packages’ as needed.</P><P>o&nbsp; We have plans to release a new version every alternate year and include continuous enhancements through patches and fix-packs.&nbsp; This plan is aimed for faster enablement of improved and newly added functionalities.</P><P>o&nbsp;&nbsp; We will provide clear use case migration paths/workarounds for the components for the version we plan the end of support beyond 2027.&nbsp;</P><P>o&nbsp;&nbsp; Continue to support Windows and Linux platforms only. AIX and Solaris support has already been discontinued in the 4.3 version of SAP Data Services.</P><P>o&nbsp;&nbsp; SAP <STRONG><EM>private cloud edition (PCE) </EM></STRONG>will continue to be primary option of availability for SAP Data Services on managed cloud as well as on premise.&nbsp; The option to host on customers choice of private cloud and AWS EC3, Azure VM etc. remains unchanged.</P><P>o&nbsp;&nbsp; We do not foresee any impact to solutions and partners using SAP Data Services in an OEM mode.&nbsp; &nbsp;</P><P>o&nbsp;&nbsp; We also have plans to discontinue the support of few sources and targets based on their sunset timelines, market demand and popularity score.</P></TD></TR></TBODY></TABLE><P>&nbsp;</P><P><STRONG>&nbsp;</STRONG><STRONG>We are committed to support you. </STRONG></P><P>We recognize the importance of continuously improving and innovating our product and yet manage a balance between our on-premises and cloud-based solutions. We will invest in research and development to explore new technologies, industry trends, and market demands yet support our existing customer base for the mature products. By fostering a culture of innovation and collaboration, we will ensure that our product versions remain cutting-edge and relevant in the ever-changing business landscape. We are committed to help and support our customers.</P><P>Many customers rely on SAP Data Services for critical use cases and will need to do so beyond 2025. Our support plan for SAP Data Services is as follows and our message is consistent. Please refer to the respective GA versions Product Availability Matrix for the support timelines. Please refer to SAP Note <A href="https://me.sap.com/notes/3486924" target="_self" rel="noopener noreferrer">3486924</A> for description of 'Customer Specific Maintenance'.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RoadmapGraphPic.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/251023iCCC878846FF6C3A2/image-size/large?v=v2&amp;px=999" role="button" title="RoadmapGraphPic.png" alt="RoadmapGraphPic.png" /></span></P><P><STRONG>Your choice of deployment</STRONG></P><P>With SAP Data Services, private cloud edition (PCE), we offer a predefined package operated by SAP on the main cloud platform providers, including software, support, technical managed services, and infrastructure. This also, opens an opportunity to shift from a maintenance contract to a subscription model while leveraging your existing investments in SAP Data Services solution.</P><P>Here are some of the key benefits:</P><UL><LI>The latest version of SAP Data Services is always available, thanks to the periodical upgrades.</LI><LI>3-tier landscape: development/test, quality assurance and production by default, with optional additional tiers.</LI><LI>Pre-configured hardware landscapes optimized for performance,</LI><LI>Choice of cloud platform providers infrastructure includes AWS, Google Cloud Platform, Microsoft Azure.</LI><LI>End-to-end SLA 99.7%, backup and restore included within standard service scope.</LI></UL><P>In the future, customers will continue to have the choice for their infrastructure for SAP Data Services solution, either on-premises or in a managed cloud operated by SAP. Additionally, our directions for the on-premises data integration and data governance scope with respect to SAP Data Services and SAP Information Steward remains mutually exclusive and unchanged due to the data integration and data governance scope within SAP’s cloud solutions.</P><P><STRONG>We have plans to stop or reduce the scope of few functionalities.</STRONG><STRONG>&nbsp;</STRONG></P><OL><LI>PeopleTools&nbsp; for PeopleSoft Applications</LI><LI>JD Edwards Application connectivity</LI><LI>SAP Sybase Replication Server</LI><LI>Siebel</LI><LI>SalesForce Adapter</LI><LI>Attunity aka Qlik Data Integration Platform</LI></OL><P><STRONG>&nbsp;</STRONG></P><P><STRONG>WE WANT TO HEAR FROM YOU</STRONG></P><P>SAP Data Services remains as a key component of our Data Management portfolio, and we are committed to our customers. Please help us fine tune our roadmaps of SAP Data Services providing your input through the dedicated inbox:</P><P><STRONG>SAP Data Services:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sap.dataservices@sap.com</STRONG></P><P>We appreciate your feedback and will answer your questions via our official communication channels.</P> 2024-07-16T23:57:19.052000+02:00 https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-members/unleashing-the-power-of-cds-views-in-sap-hana/ba-p/13775034 Unleashing the Power of CDS Views in SAP HANA 2024-08-02T20:16:19.570000+02:00 Avinashborate https://community.sap.com/t5/user/viewprofilepage/user-id/894111 <H3 id="toc-hId-1150322941">Introduction to CDS Views in SAP HANA</H3><P><STRONG>Core Data Services (CDS)</STRONG><SPAN>&nbsp;</SPAN>views are a crucial aspect of SAP's data modeling capabilities, allowing for efficient and flexible data management. In this blog post, we'll explore what CDS views are, how they work, and why they are essential for SAP users and developers.</P><H4 id="toc-hId-1082892155">Pre-requisites:SAP HANA Studio or Eclipse with ABAP Development Tools (ADT)</H4><UL><LI>ABAP Backend System</LI><LI>Basic Knowledge of SQL and ABAP</LI></UL><H3 id="toc-hId-757295931">What are CDS Views?</H3><H4 id="toc-hId-689865145">Core Data Services (CDS)</H4><P>CDS is a framework for defining and consuming data models on SAP HANA, providing a powerful way to manage and retrieve data efficiently. Data models are fundamental in designing databases, ensuring data integrity, and optimizing data retrieval and manipulation. They serve as blueprints for how data is stored, accessed, and utilized across different SAP applications and modules.</P><H3 id="toc-hId-364268921">Key Features and Benefits of CDS Views</H3><OL><LI><STRONG>Enhanced Performance:</STRONG><SPAN>&nbsp;</SPAN>CDS views optimize data access, making it faster and more efficient.</LI><LI><STRONG>Simplified Data Modelling:</STRONG><SPAN>&nbsp;</SPAN>With CDS views, you can define complex data models using simple annotations and syntax.</LI><LI><STRONG>Seamless Integration:</STRONG><SPAN>&nbsp;</SPAN>CDS views integrate seamlessly with other SAP tools and applications.</LI></OL><P><STRONG>Note:</STRONG><SPAN>&nbsp;</SPAN>In ABAP, during select queries, it works like SELECT – SE11 – DB – SE11 – Query. In CDS, it works like SELECT – CDS – Query. Select options cannot be used in CDS Views; instead, annotations are required.</P><H3 id="toc-hId-167755416">Components of CDS</H3><OL><LI><STRONG>CDS Views:</STRONG><SPAN>&nbsp;</SPAN>These are like database views but more powerful, allowing complex joins, associations, and calculations. They are defined using the CDS language and can be consumed in ABAP programs.</LI><LI><STRONG>CDS Entities:</STRONG><SPAN>&nbsp;</SPAN>These are the core building blocks of CDS, representing data models that include tables, views, and associations.</LI><LI><STRONG>Annotations:</STRONG><SPAN>&nbsp;</SPAN>Annotations provide metadata about the CDS elements, such as descriptions, semantics, and UI information. They help in enhancing the functionality and integration with other SAP components.</LI><LI><STRONG>Associations:</STRONG><SPAN>&nbsp;</SPAN>Associations define relationships between CDS entities, making it easier to navigate and query related data.</LI></OL><P><STRONG>Step-by-Step Guide to ABAP CDS View Annotations and Buffering</STRONG></P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@AbapCatalog.sqlViewName: 'ZVSQL_SAMPLE_01' // In this ABAP catalog, we can set the name for the DDIC. @EndUserText.label: 'This is my first DDIC-based CDS' // Here we can set the description for this SQL view. @AbapCatalog.preserveKey: true // With the help of this, we can set the key field as per our requirement. @@@@@@@@@@@@@@@@@ If we Add Buffering then @@@@@@@@@@@@@@ @AbapCatalog: { buffering: { status: Buffering, type: #NONE, numberOfKeyFields: 000 }, dbHints: [{ dbSystem: '', // Here we can add a specific database hint: '' }], ViewEnhancementCategory: [], // Here we can allow or not for CDS enhancement. sqlViewName: '', preserveKey: true, compiler: { compareFilter: true } }</code></pre><P>&nbsp;</P><H3 id="toc-hId--28758089">Explanation</H3><OL><LI><STRONG>@AbapCatalog.sqlViewName</STRONG>: Sets the name for the DDIC.</LI><LI><STRONG>@EndUserText.label</STRONG>: Sets the description for the SQL view.</LI><LI><STRONG>@AbapCatalog.preserveKey</STRONG>: Allows setting the key field as per requirements.</LI><LI><STRONG>Buffering Section</STRONG>:<UL><LI><STRONG>status</STRONG>: Buffering status.</LI><LI><STRONG>type</STRONG>: Type of buffering (#NONE means no buffering).</LI><LI><STRONG>numberOfKeyFields</STRONG>: Number of key fields to be buffered.</LI></UL></LI><LI><STRONG>dbHints</STRONG>: Database hints section:<UL><LI><STRONG>dbSystem</STRONG>: Specifies the database system.</LI><LI><STRONG>hint</STRONG>: Provides hints for the database.</LI></UL></LI><LI><STRONG>ViewEnhancementCategory</STRONG>: Allows or disallows CDS enhancements.</LI><LI><STRONG>compiler.compareFilter</STRONG>: Compares the filter for the compiler.</LI></OL><H3 id="toc-hId--225271594">Creating CDS Views in SAP</H3><OL><LI><STRONG>Open the SAP Development Environment:</STRONG><SPAN>&nbsp;</SPAN>Launch SAP HANA Studio or Eclipse with ABAP Development Tools.</LI><LI><STRONG>Create a New CDS View:</STRONG><SPAN>&nbsp;</SPAN>Right-click on your project and select New &gt; Other ABAP Repository Object &gt; Data Definition.</LI><LI><STRONG>Define the CDS View:</STRONG><SPAN>&nbsp;</SPAN>Enter the required details, such as the name and description of the CDS view. Define the SQL-like syntax to specify the data model.</LI></OL><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@AbapCatalog.sqlViewName: 'ZC_MY_CDS_VIEW' @AbapCatalog.compiler.compareFilter: true @AccessControl.authorizationCheck: #NOT_REQUIRED @EndUserText.label: 'My CDS View' define view ZC_My_CDS_View as select from SFLIGHT { carrid, connid, fldate, price }​</code></pre><P>&nbsp;</P><UL><LI><STRONG>.Activate the CDS View:</STRONG><SPAN>&nbsp;Once you've defined the view, activate it to make it available for use.</SPAN></LI><LI><SPAN><STRONG>Test the CDS View:</STRONG>&nbsp;Test the CDS view by executing it in the development environment to ensure it retrieves the expected data.</SPAN></LI></UL><P class="lia-align-center" style="text-align: center;"><SPAN><STRONG>CDS View Entity with Join and Literals</STRONG></SPAN></P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>define view ZDDLS_SAMPLE as select from vbak inner join vbap on vbak.vbeln = vbap.vbeln { key vbak.vbeln as Sales_Order, vbak.vkorg as Sales_org, vbak.vkgrp, vbap.posar, vbap.matnr, 0.23 as num_lit, 'CDS' as char_lit } where vbak.vbeln = '0237259939'</code></pre><P>&nbsp;</P><P class="lia-align-center" style="text-align: center;"><STRONG>CDS View with Input Parameters</STRONG></P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>define view ZDDLS_SAMPLE with parameters p_vbeln : vbeln as select from vbak inner join vbap on vbak.vbeln = vbap.vbeln { key vbak.vbeln as Sales_Order, vbak.vkorg as Sales_org, vbak.vkgrp, vbap.posar, vbap.matnr, 0.23 as num_lit, 'CDS' as char_lit } where vbak.vbeln = $parameters.p_vbeln</code></pre><P>&nbsp;</P><P><STRONG>Key Points to Remember</STRONG></P><UL class="lia-list-style-type-square"><LI>We can give the SQL view name up to 16 characters.</LI><LI>Annotations provide vital metadata and enhance CDS functionality.</LI><LI>CDS views support various join types: inner join, left outer join, right outer join, union, and union all.</LI></UL><H3 id="toc-hId--421785099">Using Session Variables in CDS Views.</H3><P><SPAN>In SAP CDS views, session variables such as the current user or date are handled differently compared to traditional ABAP programming. When you need to use session variables like sy-uname (current user) or sy-datum (current date), you utilize the $session prefix in CDS views.</SPAN></P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>define view ZDDLS_SAMPLE as select from vbak inner join vbap on vbak.vbeln = vbap.vbeln { key vbak.vbeln as Sales_Order, vbak.vkorg as Sales_org, vbak.vkgrp, vbap.posar, vbap.matnr, 0.23 as num_lit, 'CDS' as char_lit, $session.user as current_user, $session.client as current_client, $session.system_language as current_language, $session.system_date as current_date }</code></pre><P>&nbsp;</P><H3 id="toc-hId--618298604">Explanation of Session Variables</H3><OL class="lia-list-style-type-upper-roman"><LI><STRONG>$session.user</STRONG>: Retrieves the current user's ID.</LI><LI><STRONG>$session.client</STRONG>: Retrieves the current client number.</LI><LI><STRONG>$session.system_language</STRONG>: Retrieves the system language.</LI><LI><STRONG>$session.system_date</STRONG>: Retrieves the current system date.</LI></OL><P>&nbsp;Make sure you use the $session prefix followed by the appropriate keyword. Pressing Ctrl + Space after $session. will show you the available options, such as user, client, system_language, and system_date.</P><P class="lia-align-center" style="text-align: center;"><FONT size="5"><STRONG>SAP CDS View String Operations</STRONG></FONT></P><H3 id="toc-hId--890043478">1. Concatenating Strings</H3><P><SPAN>In CDS views, you can concatenate strings using the CONCAT keyword. However, by default, you can only concatenate two fields at a time. To concatenate more than two fields, you need to perform concatenation multiple times.</SPAN></P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>define view ZCDS_CONCATENATION as select from vbak { key vbeln, erdat, ernam, concat(concat(vkorg, spart), 'additional_text') as concatenated_field }</code></pre><P>&nbsp;</P><H3 id="toc-hId--1086556983">2. Trimming Leading Characters</H3><P><SPAN>The LTRIM function removes leading spaces or specific leading characters from a string.</SPAN></P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@AbapCatalog.sqlViewName: 'ZCDS_string_oper' @AbapCatalog.compiler.compareFilter: true @AbapCatalog.preserveKey: true @AccessControl.authorizationCheck: #NOT_REQUIRED @EndUserText.label: 'CDS string operations' define view ZCDS_STRING_OPERATIONS as select from vbak { key ltrim(vbeln, '0') as sales_order_no, erdat, ernam, ltrim(vkorg, '0') as vkorg, spart }</code></pre><P>&nbsp;</P><H3 id="toc-hId--1283070488">3. Trimming Trailing Characters</H3><P><SPAN>The RTRIM function removes trailing spaces or specific trailing characters from a string..</SPAN></P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@AbapCatalog.sqlViewName: 'ZCDS_string_oper' @AbapCatalog.compiler.compareFilter: true @AbapCatalog.preserveKey: true @AccessControl.authorizationCheck: #NOT_REQUIRED @EndUserText.label: 'CDS string operations' define view ZCDS_STRING_OPERATIONS as select from vbak { key ltrim(vbeln, '0') as sales_order_no, erdat, ernam, ltrim(vkorg, '0') as vkorg, spart, rtrim(vkorg, '0') as vkorg_trimmed }</code></pre><P>&nbsp;</P><H3 id="toc-hId--1479583993">4. Combining LTRIM and RTRIM</H3><P><SPAN>You can combine both LTRIM and RTRIM functions to clean up a string by removing leading and trailing characters.</SPAN></P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@AbapCatalog.sqlViewName: 'ZCDS_string_oper' @AbapCatalog.compiler.compareFilter: true @AbapCatalog.preserveKey: true @AccessControl.authorizationCheck: #NOT_REQUIRED @EndUserText.label: 'CDS string operations' define view ZCDS_STRING_OPERATIONS as select from vbak { key ltrim(vbeln, '0') as sales_order_no, erdat, ernam, ltrim(vkorg, '0') as vkorg, spart, rtrim(vkorg, '0') as vkorg_trimmed, ltrim(rtrim(vbeln, '0'), '0') as cleaned_vbeln }</code></pre><P>&nbsp;</P><H3 id="toc-hId--1676097498">5. Finding Substrings</H3><P><SPAN>The INSTR function is used to find the position of a substring within a string.</SPAN></P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@AbapCatalog.sqlViewName: 'ZCDS_string_oper' @AbapCatalog.compiler.compareFilter: true @AbapCatalog.preserveKey: true @AccessControl.authorizationCheck: #NOT_REQUIRED @EndUserText.label: 'CDS string operations' define view ZCDS_STRING_OPERATIONS as select from vbak { key ltrim(vbeln, '0') as sales_order_no, erdat, ernam, ltrim(vkorg, '0') as vkorg, spart, rtrim(vkorg, '0') as vkorg_trimmed, ltrim(rtrim(vbeln, '0'), '0') as cleaned_vbeln, instr('Avinash Vasnat Borate', 'Borate') as position_of_substring }</code></pre><P>&nbsp;</P><H3 id="toc-hId--1872611003">6. Extracting Left Substrings</H3><P><SPAN>The LEFT function extracts a specified number of characters from the beginning of a string.</SPAN></P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@AbapCatalog.sqlViewName: 'ZCDS_string_oper' @AbapCatalog.compiler.compareFilter: true @AbapCatalog.preserveKey: true @AccessControl.authorizationCheck: #NOT_REQUIRED @EndUserText.label: 'CDS string operations' define view ZCDS_STRING_OPERATIONS as select from vbak { key ltrim(vbeln, '0') as sales_order_no, erdat, ernam, ltrim(vkorg, '0') as vkorg, spart, rtrim(vkorg, '0') as vkorg_trimmed, ltrim(rtrim(vbeln, '0'), '0') as cleaned_vbeln, instr('Avinash Vasnat Borate', 'Borate') as position_of_substring, left('SAP ABAP HANA', 3) as left_substring }</code></pre><P>&nbsp;</P><H3 id="toc-hId--2069124508">7. Extracting Right Substrings</H3><P><SPAN>The RIGHT function extracts a specified number of characters from the end of a string.</SPAN></P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@AbapCatalog.sqlViewName: 'ZCDS_string_oper' @AbapCatalog.compiler.compareFilter: true @AbapCatalog.preserveKey: true @AccessControl.authorizationCheck: #NOT_REQUIRED @EndUserText.label: 'CDS string operations' define view ZCDS_STRING_OPERATIONS as select from vbak { key ltrim(vbeln, '0') as sales_order_no, erdat, ernam, ltrim(vkorg, '0') as vkorg, spart, rtrim(vkorg, '0') as vkorg_trimmed, ltrim(rtrim(vbeln, '0'), '0') as cleaned_vbeln, instr('Avinash Vasnat Borate', 'Borate') as position_of_substring, left('SAP ABAP HANA', 3) as left_substring, right('SAP ABAP S4 HANA', 4) as right_substring }</code></pre><P>&nbsp;</P><H3 id="toc-hId-2029329283">8. Padding Strings</H3><P><SPAN>The RPAD (Right Pad) function pads a string on the right side with a specified character until the string reaches a desired length.</SPAN></P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@AbapCatalog.sqlViewName: 'ZCDS_string_oper' @AbapCatalog.compiler.compareFilter: true @AbapCatalog.preserveKey: true @AccessControl.authorizationCheck: #NOT_REQUIRED @EndUserText.label: 'CDS string operations' define view ZCDS_STRING_OPERATIONS as select from vbak { key ltrim(vbeln, '0') as sales_order_no, erdat, ernam, ltrim(vkorg, '0') as vkorg, spart, rtrim(vkorg, '0') as vkorg_trimmed, ltrim(rtrim(vbeln, '0'), '0') as cleaned_vbeln, instr('Avinash Vasnat Borate', 'Borate') as position_of_substring, left('SAP ABAP HANA', 3) as left_substring, right('SAP ABAP S4 HANA', 4) as right_substring, rpad('EWM team', 6, 'XY') as padded_string }</code></pre><P>&nbsp;</P><H3 id="toc-hId-1832815778">9. Replacing Substrings</H3><P><SPAN>The REPLACE function replaces all occurrences of a specified substring within a string with another substring.</SPAN></P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@AbapCatalog.sqlViewName: 'ZCDS_string_oper' @AbapCatalog.compiler.compareFilter: true @AbapCatalog.preserveKey: true @AccessControl.authorizationCheck: #NOT_REQUIRED @EndUserText.label: 'CDS string operations' define view ZCDS_STRING_OPERATIONS as select from vbak { key ltrim(vbeln, '0') as sales_order_no, erdat, ernam, ltrim(vkorg, '0') as vkorg, spart, rtrim(vkorg, '0') as vkorg_trimmed, ltrim(rtrim(vbeln, '0'), '0') as cleaned_vbeln, instr('Avinash Vasnat Borate', 'Borate') as position_of_substring, left('SAP ABAP HANA', 3) as left_substring, right('SAP ABAP S4 HANA', 4) as right_substring, rpad('EWM team', 6, 'XY') as padded_string, replace('Avinash Borate', 'Avinash', 'Vicky') as updated_name }</code></pre><P>&nbsp;</P><H3 id="toc-hId-1636302273">10. Extracting Substrings</H3><P><SPAN>The SUBSTRING function extracts a specific portion of a string, starting from a given position and optionally for a specified length.</SPAN></P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@AbapCatalog.sqlViewName: 'ZCDS_string_oper' @AbapCatalog.compiler.compareFilter: true @AbapCatalog.preserveKey: true @AccessControl.authorizationCheck: #NOT_REQUIRED @EndUserText.label: 'CDS string operations' define view ZCDS_STRING_OPERATIONS as select from vbak { key ltrim(vbeln, '0') as sales_order_no, erdat, ernam, ltrim(vkorg, '0') as vkorg, spart, rtrim(vkorg, '0') as vkorg_trimmed, ltrim(rtrim(vbeln, '0'), '0') as cleaned_vbeln, instr('Avinash Vasnat Borate', 'Borate') as position_of_substring, left('SAP ABAP HANA', 3) as left_substring, right('SAP ABAP S4 HANA', 4) as right_substring, rpad('EWM team', 6, 'XY') as padded_string, replace('Avinash Borate', 'Avinash', 'Vicky') as updated_name, substring(erdat, 5, 2) as month, substring(erdat, 1, 4) as year, substring(erdat, 7, 2) as date }</code></pre><P>&nbsp;</P> 2024-08-02T20:16:19.570000+02:00 https://community.sap.com/t5/technology-blog-posts-by-members/calling-rfc-in-bods-job-data-encryption-in-bods/ba-p/13779967 Calling RFC in BODS job (Data Encryption in BODS) 2024-08-07T15:44:10.092000+02:00 KALYANI_HEDAOO https://community.sap.com/t5/user/viewprofilepage/user-id/863866 <P>Scenario was to call the RFC which is used to create a custom key generation for encryption of data and use the custom key in BODS for certain fields for data encryption.</P><P>Steps to be done before using RFC in BODS,</P><OL><LI>Create an RFC in given system with ABAP code.</LI><LI>Import the RFC in Data services repo, which is datastores in data services.</LI></OL><P>After import of RFC,</P><P>To use the RFC in BODS , we require to use Row_Generation Transformation. This will act as a dummy input, After Row_Generation use Query Transformation in which RFC call can be made using normal function call in Query_encryption transformation as below,</P><P>Here, pass the required input parameters and get the output parameter, as shown below.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="KALYANI_HEDAOO_0-1722516958165.png" style="width: 556px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/145368i655CCD276C776B74/image-dimensions/556x357?v=v2" width="556" height="357" role="button" title="KALYANI_HEDAOO_0-1722516958165.png" alt="KALYANI_HEDAOO_0-1722516958165.png" /></span></P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="KALYANI_HEDAOO_1-1722516958166.png" style="width: 645px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/145369iF156525314E38E69/image-dimensions/645x79?v=v2" width="645" height="79" role="button" title="KALYANI_HEDAOO_1-1722516958166.png" alt="KALYANI_HEDAOO_1-1722516958166.png" /></span></P><P>&nbsp;</P><P>Then after Query transformation for encryption, map the input data and the generated key transformation to new Query Transformation as below,</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="KALYANI_HEDAOO_2-1722516958167.png" style="width: 552px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/145370i273A865A73A0E247/image-dimensions/552x211?v=v2" width="552" height="211" role="button" title="KALYANI_HEDAOO_2-1722516958167.png" alt="KALYANI_HEDAOO_2-1722516958167.png" /></span></P><P>Encrypt_aes is the standard Function available in BODS which accepts input as plain text, passphrase and AES key length.</P><P>In this way above custom logic for encryption can be utilized in BODS for encryption of data.</P><P>Refer Complete BODS job flow,</P><P>Here /BIC**291 is the table data from BW system and in Query_2 Transformation, key and data is available to use.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="KALYANI_HEDAOO_3-1722516958168.png" style="width: 603px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/145371i039352F33B4AFFEA/image-dimensions/603x151?v=v2" width="603" height="151" role="button" title="KALYANI_HEDAOO_3-1722516958168.png" alt="KALYANI_HEDAOO_3-1722516958168.png" /></span></P><P>&nbsp;</P><P>After execution output will look like below,</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="KALYANI_HEDAOO_4-1722516958172.png" style="width: 651px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/145372i3BF6E6883FDCF290/image-dimensions/651x285?v=v2" width="651" height="285" role="button" title="KALYANI_HEDAOO_4-1722516958172.png" alt="KALYANI_HEDAOO_4-1722516958172.png" /></span></P><P>&nbsp;</P> 2024-08-07T15:44:10.092000+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/statement-of-direction-sap-information-steward/ba-p/13795111 Statement of Direction – SAP Information Steward 2024-08-16T16:29:03.565000+02:00 Lynne_Lintelman https://community.sap.com/t5/user/viewprofilepage/user-id/135882 <P><EM>August 2024</EM></P><P><STRONG>Introduction</STRONG></P><P>As our matured products continue to have consistent traction in the market with emerging technologies and data platforms, it is essential for us to focus on extending its versions to meet the evolving needs of our customers. This Statement of Direction outlines our strategic approach to extending product versions, ensuring that we maintain our competitive edge in the on-premises data stewardship, data quality, metadata, and glossary space as well as on-cloud and deliver value to our customers. Our primary objective is to understand and address the specific requirements of our customers, for the matured products as well as new and emerging technologies in the cloud. We will actively engage with our user base through feedback sessions, support channels, and market research to identify their pain points, challenges, and emerging needs.</P><P><STRONG>&nbsp;</STRONG></P><P><STRONG>Executive Summary</STRONG></P><P>This document provides guidance to our customers of SAP Data Management portfolio, with respect to SAP Information Steward (IS) solution, on the product directions. &nbsp;For Data Services (DS) we have a separate <A href="https://community.sap.com/t5/technology-blogs-by-sap/statement-of-direction-sap-data-services-as-of-july-2024/ba-p/13762644" target="_blank">blog</A> communication made available. This document is an updated version of our&nbsp;<A href="https://community.sap.com/t5/technology-blogs-by-sap/statement-of-direction-sap-data-services-and-sap-information-steward-as-of/ba-p/13577148" target="_blank">blog</A>&nbsp;post made on November 3, 2023, which focused on SAP Information Steward and SAP Data Services.</P><P>SAP Data Management portfolio expanded further in the cloud with the introduction of SAP Datasphere in March 2023. SAP Datasphere is a comprehensive data service built only on SAP® Business Technology platform (SAP BTP) that enables every data professional to deliver seamless and scalable access to mission critical business data. It is the next generation of SAP® Data Warehouse Cloud, with new capabilities that enhance data discovery, data catalog, metadata, modeling, and distribution. With a unified experience for data cataloging, semantic modeling, data integration, data warehousing, data federation, and data virtualization.&nbsp; SAP Datasphere enables data professionals to easily distribute authoritative business data with business context and logic preserved across the data landscape.</P><P>As we define the future of SAP Data Management portfolio, with our stated data management strategy, current on-premise SAP Information Steward customers can leverage their existing investments and efforts, repurposing those time-tested and trusted artifacts and configurations that are being used today in SAP Information Steward (IS), while also extending the reach of their data management to the cloud, with SAP Datasphere, a native cloud solution. We are committed to our existing SAP Information Steward and customer base too.</P><P>In 2022 we did a minor version upgrade of SAP Information Steward to 4.3, allowing the compatibility with Business Intelligence BusinessObjects 4.3. As a result, our support policy extended the end of mainstream maintenance timeline to end of 2026 with Customer Specific Maintenance (CSM) to end of 2028 for both SAP Information Steward and SAP Data Services 4.3. However, with the mainstream maintenance of version 4.3 of SAP Information Steward ending in 2026, we do not want to leave our large customer base behind, and therefore we have decided to release an updated version, code named SAP Information Steward 2025 to provide more time to our on-premises customers to adopt our rapidly evolving, state-of-the-art cloud data quality and data governance scenarios. Many of our largest SAP Information Steward customers already run both solutions side-by-side, during their transition to the managed cloud deployment.</P><P>&nbsp;</P><TABLE width="100%"><TBODY><TR><TD><P><STRONG><U>SAP Information Steward 2025</U></STRONG></P><P>Our current plan to release a new version of the SAP Information Steward in 2025 as a successor of SAP Information Steward 4.3 remains unchanged and will be...</P><UL><LI>Code named SAP Information Steward 2025</LI><LI>Available on-premises</LI><LI>Focused on the most widely adopted on-premises scenarios: SAP Information Steward for data stewardship, metadata, glossary, and data quality</LI><LI>Compatible with proposed BI 2025 suite and planned to be released a quarter after BI 2025</LI><LI>We have plans to release the first version by the end of Q3 2025 followed by ‘Fix Packages’ as needed.</LI><LI>We have plans to release a new version every alternate year and reduce the frequency of SAP Information Steward, (SP) Service Pack releases. The ‘Service Pack’ release has been planned to be deprecated.</LI><LI>Continue to support Windows and Linux platforms only.</LI><LI>We do not foresee any impact to solutions and partners using SAP Information Steward in an OEM mode.&nbsp; &nbsp;</LI></UL></TD></TR></TBODY></TABLE><P><STRONG>We are committed to support you.</STRONG></P><P>We recognize the importance of continuously improving and innovating our product and yet manage a balance between our on-premises and cloud-based solutions. We will invest in research and development to explore new technologies, industry trends, and market demands yet support our existing customer base for the mature products. By fostering a culture of innovation and collaboration, we will ensure that our product versions remain cutting-edge and relevant in the ever-changing business landscape. We are committed to help and support our customers.</P><P>Many customers rely on SAP Information Steward for critical use cases and will need to do so beyond 2025. Our support plan for SAP Information Steward is as follows and our message is consistent. Please refer to the respective GA versions Product Availability Matrix for the support timelines.</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Lynne_Lintelman_1-1757683349816.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/313599i59ECFCAD348C266B/image-size/large?v=v2&amp;px=999" role="button" title="Lynne_Lintelman_1-1757683349816.png" alt="Lynne_Lintelman_1-1757683349816.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P><STRONG>WE WANT TO HEAR FROM YOU</STRONG></P><P>SAP Information Steward remains as a key component of our Data Management portfolio, and we are committed to our customers. Please help us fine tune our roadmaps of SAP Information Steward providing your input through the dedicated inbox:</P><P><STRONG>SAP Information Steward:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sap.informationsteward.enhance@sap.com</STRONG></P><P>We appreciate your feedback and will answer your questions via our official communication channels.</P> 2024-08-16T16:29:03.565000+02:00 https://community.sap.com/t5/technology-blog-posts-by-members/dataservices-salesforce-adapter-retirement-a-free-alternative-solution/ba-p/13969834 DataServices Salesforce Adapter retirement - a free alternative solution within BODS 2024-12-24T16:04:08.405000+01:00 marton_horvath2 https://community.sap.com/t5/user/viewprofilepage/user-id/223887 <P>If you are here, you may already know the issue, but for the rest:</P><P><STRONG>The problem</STRONG>: The current out-of-the-box way of connecting to Saleforce with DataServices won’t work after <STRONG>Salesforce retires its REST API v21</STRONG>, in the summer of '25.&nbsp;</P><P>Regarding the end of Salesforce compatibility SAP is citing legal restrictions in the related SAP Note:</P><P><A href="https://userapps.support.sap.com/sap/support/knowledge/en/3004914" target="_self" rel="noopener noreferrer">3004914 - SAP Data Services and Salesforce.com compatibility</A></P><P>Cause:</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><EM>The Adapter for SFDC as a part of the Data Services using is indeed on SFDC API version 21 only. Due to</EM><BR /><EM>the legal restrictions, SAP applications do not connect to SFDC directly or provide direct interface into</EM><BR /><EM>SFDC systems.&nbsp;Thus SAP Data Services cannot connect directly to SFDC as well. The supported version</EM><BR /><EM>21 is prior to the restrictions and thus it is being provided in an ‘as is’ state and no further enhancements</EM><BR /><EM>will be provided.</EM></P><P>SAP proposes two possible solutions:</P><UL><LI>with BODS: purchase a 3rd party adapter instead of the current one: <A href="https://insightsoftware.com/drivers/salesforce-sap-ds/" target="_self" rel="nofollow noopener noreferrer">Simba Salesforce Adapter for SAP Data Services</A></LI><LI>leave BODS and resolve the Salesforce integration with <A href="https://www.sap.com/products/technology-platform/data-intelligence.html" target="_self" rel="noopener noreferrer">SAP Data Intelligence Cloud</A>.</LI></UL><P><STRONG>In this post I describe a solution which is free* and is within BODS. </STRONG>If you have other data sources&nbsp; besides Salesforce and have a large invesment in BODS; you may prefer to stick with it. With the below solution you can do it without additional cost.</P><P><STRONG>The key building blocks will be:</STRONG></P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><A href="https://help.sap.com/docs/SAP_DATA_SERVICES/8092b085a68941f6aaa6708685a62b0d/57712de26d6d1014b3fc9283b0e91070.html?locale=en-US" target="_self" rel="noopener noreferrer">user defined transform</A> + python + <A href="https://github.com/simple-salesforce/simple-salesforce" target="_self" rel="nofollow noopener noreferrer">simple-salesforce</A> + <A href="https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/bulk_api_2_0.htm" target="_self" rel="nofollow noopener noreferrer">Salesfroce Bulk API 2.0</A> (+ CSV)</P><P><STRONG>User defined transform (UDT)</STRONG></P><P>In a nutshell, <EM>User Defined Transform</EM> is the way to extend your BODS out-of-the-box capabilities with whatever you want. Well… as long as it fits into 255 varchar columns. This is quite a limitation in 2024, so&nbsp;the work-around we will apply is to dump our Salesforce resultset into a local CSV. It is less elegant, but it works with longer fields as well.&nbsp;</P><P><STRONG>Simple-salesforce</STRONG></P><P>Simple-salesforce is a Python library for... you guessed it, Salesforce. You may use the Salesforce API directly, but I found this library quite <STRIKE>simple</STRIKE> useful. The latest version supports Bulk API 2.0 as well. To be able to use it within BODS, we would need to import it to our environment as follows:</P><P>Adding simple_salesforce to local python:<BR />Add to the Environment variables:</P><UL><LI><EM>E:\SAP BusinessObjects\</EM>Data Services\DataQuality\python</LI><LI><EM>E:\SAP BusinessObjects\</EM>Data Services\DataQuality\python\Scripts</LI><LI><EM>E:\SAP BusinessObjects\</EM>Data Services\bin</LI></UL><P>Download and install pip</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Documentation: <A href="https://pip.pypa.io/en/stable/installation/#get-pip-py" target="_blank" rel="noopener nofollow noreferrer">https://pip.pypa.io/en/stable/installation/#get-pip-py</A></P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">1. Download the script from&nbsp;<A href="https://bootstrap.pypa.io/get-pip.py" target="_blank" rel="noopener nofollow noreferrer">https://bootstrap.pypa.io/get-pip.py</A></P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">2. Command prompt: python get-pip.py</P><P>Install simple_salesforce:</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">python -m pip install --target="<EM>E:\SAP BusinessObjects\</EM>Data Services\DataQuality\python\Lib\site-packages" simple_salesforce</P><P><STRONG>Python code of the User Defined Transform</STRONG></P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-python"><code>from simple_salesforce import Salesforce, SalesforceLogin, SFType # set salesforce connection details username = 'aaa' # !!! password = 'bbb' # !!! security_token = 'ccc' # !!! domain = 'xxx' # !!! sf_version = '59.0' # login and get session session_id, instance = SalesforceLogin(username=username, password=password, security_token=security_token, sf_version=sf_version, domain=domain) sf = Salesforce(instance=instance, session_id=session_id) queryName = record.GetField(u'i_queryName') querySOQL = record.GetField(u'i_querySOQL') # execute query results = sf.bulk2.Account.query( query=querySOQL, max_records=None, column_delimiter='PIPE', line_ending='CRLF' ) # write results to local drive as CSV -- !!!customize to your local folder!!! for i, data in enumerate(results): with open(f"F:/FileDatasource/results/{queryName}-part-{i}.csv", "w", encoding="utf-8") as bos: bos.write(data) o_result = queryName + ' loaded successfully' record.SetField(u'o_result', o_result) del queryName del querySOQL del o_result</code></pre><P>&nbsp;</P><P>&nbsp;</P><P>A few notes regarding the above code:</P><UL><LI>sf.bulk2.Account.query – Here Account doesn’t seem to matter at all. I have tried with sf.bulk2.blalba.query – and it worked the same way. What seem to matter is the SOQL query. Consequently, you can solve different Salesforce table loads with the same single UDT.</LI><LI>I used&nbsp;PIPE as column delimiter, and&nbsp;CRLF as line ending for the CSV. These are not the default settings for CSV-s in BODS. Keep it in mind when defining your CSV source. I used these becuase these are less frequently used characters in Salesforce content. It did the trick for me, but keep in mind that this is still not a bulletproof solution. You may want to check for these characters in your content before dumping as CSV.&nbsp;</LI><LI>Don't forget to customise the UDT to your environment:<UL><LI>username</LI><LI>password</LI><LI>token</LI><LI>domain</LI><LI>CSV local folder</LI></UL></LI><LI>Unfortunately I have experienced that BODS crashed with ntdll.dll error, after closing the Python editor when opening from the Repository\Transforms (ie modifying the main <EM>object</EM>) BUT less so when modifying an <EM>instance</EM> of the same UDT object inside a dataflow. The trace I have found in the Windows event log points to: C:\Windows\SYSTEM32\ntdll.dll<BR />A related SAP Note on the topic: <A href="https://me.sap.com/notes/3485456/E" target="_self" rel="noopener noreferrer">3485456 - Designer crashes frequently without error message -</A><BR /><A href="https://me.sap.com/notes/3485456/E" target="_self" rel="noopener noreferrer">SAP BusinessObjects Data Services</A><BR />Eventually, my recommendation is to develop Python code outside of BODS and later import the UDT from XML or ATL.</LI><LI>Unicode Getfield crash: <A href="https://me.sap.com/notes/1256795/E" target="_self" rel="noopener noreferrer">1256795 - User Defined Transform with Python code is crashing - Data</A><BR /><A href="https://me.sap.com/notes/1256795/E" target="_self" rel="noopener noreferrer">Services</A></LI></UL><P>Attached you can find the export of the User Defined Transform.</P><P><STRONG>Summary</STRONG></P><P>With the above UDT you can easily build dataflows to extract data from Salesforce:</P><OL><LI>You may start with a <EM>Row Generator.&nbsp;</EM></LI><LI>with a Query transform you may set the two incoming parameters:<OL><LI>a query name - just to identify your query</LI><LI>the query itself</LI></OL></LI><LI>The next step is the UDT itslelf: you need to connect the inputs, and the output back to the dataflow. This transform should produce a single column with '<EM>[query] loaded successfully' </EM>after the results were written as CSV to the local drive.</LI><LI>With a second dataflow you would need to process the CSV&nbsp; &nbsp;</LI></OL><P><STRONG>*If you find the above solution useful please leave a comment with your country / city</STRONG>. I would like to create a map with pins - hopefully - around the globe.</P><P>&nbsp;</P> 2024-12-24T16:04:08.405000+01:00 https://community.sap.com/t5/technology-blog-posts-by-members/archiving-the-forgotten-hero-of-s4hana-the-tool-guide-you-want-to-have/ba-p/14003675 Archiving: The forgotten hero of S4HANA. The Tool Guide You Want to Have. 2025-02-01T17:16:04.162000+01:00 STALANKI https://community.sap.com/t5/user/viewprofilepage/user-id/13911 <P class="">Forget robots just showing up – they're now creating and multiplying data robots! Deepseek's arrival is our AI Sputnik moment, a surprise launch into a whole new era. Could Deepseek be our "set-it-and-forget-it" solution for S/4HANA archiving in future ? Imagine: automatic data archiving that slashes costs on cleanup and keeps your S/4HANA projects running lean and mean.</P><P class=""><span class="lia-unicode-emoji" title=":collision:">💥</span>Could there be SAP Data's Sputnik Moment? <span class="lia-unicode-emoji" title=":collision:">💥</span></P><PRE>"Stop fearing your SAP data swamp. What if Deepseek could be the dynamite that blasts SAP Data open, cleaning and mopping the way for a data superhighway? Turn data nightmares into data sweet deep seek dreams?."</PRE><P class="">While dreams are exciting, let's get down to business. This blog dives into a comparison of different SAP archiving tools, offering a clear perspective on their strengths and weaknesses. Keep in mind, these are my personal insights, independent of any company affiliation. Ultimately, the best tool for your needs requires your careful evaluation.</P><H2 id="toc-hId-1701821508">Background</H2><P class="">For example, <STRONG>DeepSeek’s</STRONG>could analyze SAP data logs and suggest which files should be archived based on usage patterns, while <STRONG>DeepSeek’s AI-powered search</STRONG> could instantly pull up archived records using context rather than keywords.. <STRONG>SAP archiving tools</STRONG> like <STRONG>SNP Archiving</STRONG>, <STRONG>OpenText</STRONG>, <STRONG>SAP ILM</STRONG>, and <STRONG>Proceed Group</STRONG> are playing crucial roles in optimizing storage, improving compliance, and maintaining SAP system performance. Let’s break down how these tools stack up against each other based on <STRONG>real-world use cases</STRONG>.</P><P class="">Feeling the weight of years of data slowing down your SAP system? You're not alone. Many businesses struggle with bloated databases, sluggish performance, and the ever-present fear of non-compliance.</P><P class="">But with so many archiving options available, choosing the right one can feel overwhelming. That's where this guide comes in. We'll break down the top contenders – SNP Archiving, Proceed Group, OpenText, SAP ILM, Data Lakes, and In-System Archiving – so you can find the perfect fit for your needs.</P><P class=""><STRONG>Understanding Your Archiving Needs</STRONG></P><P class="">Before diving into the tools, let's clarify your goals. Ask yourself:</P><P class="">What's slowing us down? Is it slow report generation, long system backups, or something else?</P><P class="">What kind of data are we dealing with? Is it mostly structured data within SAP, or do we have lots of documents, emails, and other unstructured data?</P><P class="">How important is compliance? Are we in a heavily regulated industry with strict data retention requirements?</P><P class="">What's our budget? Archiving solutions range from affordable to enterprise-grade.</P><H1 id="toc-hId-1376225284">Comparing the Contenders</H1><P class="">Now, let's meet the archiving all-stars:</P><H3 id="toc-hId-1437877217">1. SNP Archiving: The Streamlined Solution</H3><P class=""><STRONG>Overview: </STRONG>SNP is a well-known SAP partner specializing in data management, system migration, and archiving. SNP’s archiving solution is specifically designed to optimize SAP system performance while ensuring compliance with data retention requirements.</P><P class=""><STRONG>Key Features:</STRONG></P><P class=""><STRONG>SAP-Optimized</STRONG>: SNP focuses on delivering archiving solutions tailored to SAP systems, helping businesses remove old data from live environments and store it in a way that it remains accessible for compliance or auditing.</P><P class=""><STRONG>Automated Archiving:</STRONG> The solution automates the archiving process, making it easier to migrate data from SAP systems to storage systems.</P><P class=""><STRONG>Integration with SAP</STRONG>: Seamless integration with SAP S/4HANA, SAP ECC, and other SAP modules, ensuring minimal disruption to business operations.</P><P class=""><STRONG>Pros:</STRONG></P><P class="">Designed specifically for SAP environments.</P><P class="">Strong focus on compliance and audit-ability.</P><P class="">Easy integration with other SAP modules.</P><P class=""><STRONG>Cons:</STRONG></P><P class="">Limited flexibility for non-SAP data.</P><P class="">May not be as versatile for broader, cross-platform archiving needs.&nbsp;</P><H2 id="toc-hId-1112280993">2. OpenText: The Content Management Powerhouse</H2><P class=""><STRONG>Overview: </STRONG>OpenText is one of the leaders in enterprise content management (ECM) and offers comprehensive archiving solutions for SAP users. OpenText’s solutions go beyond simple archiving, incorporating information lifecycle management, document management, and workflow optimization.</P><P class=""><STRONG>Key Features:</STRONG></P><P class=""><STRONG>Enterprise Content Management (ECM):</STRONG> OpenText provides a broad suite of ECM tools, including document management, records management, and data archiving.</P><P class=""><STRONG>SAP Integration</STRONG>: Seamlessly integrates with SAP applications (such as SAP S/4HANA), helping businesses manage their SAP documents and records efficiently.</P><P class=""><STRONG>Scalability:</STRONG> OpenText’s archiving solution can scale with enterprise growth, offering flexible data storage options for high volumes of information.</P><P class=""><STRONG>Compliance and Security</STRONG>: Strong features around compliance, audit trails, and security, ensuring that all archived data meets regulatory requirements.</P><P class=""><STRONG>Pros:</STRONG></P><P class="">Rich ECM capabilities beyond simple data archiving.</P><P class="">Extensive support for compliance and security.</P><P class="">Strong SAP integration.</P><P class=""><STRONG>Cons:</STRONG></P><P class="">Might be overkill for organizations seeking a simple SAP-only archiving solution.</P><P class="">Higher cost due to comprehensive feature set.</P><H2 id="toc-hId-915767488">3. Proceed Group: Tailored Solutions</H2><P class=""><STRONG>Overview:</STRONG> Proceed Group offers archiving solutions that are integrated into SAP environments and focus on optimizing data storage and retrieval, as well as improving overall system performance.</P><P class=""><STRONG>Key Features:</STRONG></P><P class=""><STRONG>End-to-End Integration:</STRONG> Proceed Group’s solution integrates directly into SAP and enhances the performance of SAP systems by archiving obsolete or redundant data while ensuring the system stays efficient.</P><P class=""><STRONG>Data Segmentation: </STRONG>Allows businesses to archive data in segments, making it easier to manage large datasets while retaining the ability to retrieve specific pieces of information quickly.</P><P class=""><STRONG>Cost-Efficiency: </STRONG>Designed to reduce operational costs by offloading data from expensive, high-performance systems to lower-cost storage solutions.</P><P class=""><STRONG>Pros:</STRONG></P><P class="">Effective for businesses looking for cost-effective SAP archiving solutions.</P><P class="">Simple integration with SAP landscapes.</P><P class="">Focus on maintaining system performance and accessibility.</P><P class=""><STRONG>Cons:</STRONG></P><P class="">May not offer as advanced features as other specialized archiving solutions.</P><H2 id="toc-hId-719253983">4. SAP ILM (Information Lifecycle Management): The Native Solution</H2><P class=""><STRONG>Overview:</STRONG> SAP ILM is an SAP-native solution that offers an enterprise-grade approach to managing data throughout its lifecycle. It’s specifically designed to help businesses comply with legal data retention requirements while managing the storage of SAP data.</P><P class=""><STRONG>Key Features:</STRONG></P><P class=""><STRONG>Data Lifecycle Management: </STRONG>SAP ILM helps businesses manage the entire lifecycle of data, from creation through retention to deletion, ensuring compliance with legal and regulatory requirements.</P><P class=""><STRONG>Archiving and Data Destruction:</STRONG> Features archiving as well as the automated destruction of data when it is no longer required by regulations.</P><P class=""><STRONG>Seamless SAP Integration:</STRONG> ILM integrates natively with SAP systems, including SAP HANA and SAP S/4HANA, ensuring smooth operation without the need for external systems.</P><P class=""><STRONG>Retention Management:</STRONG> Customizable retention policies allow businesses to define how long data should be kept, making it easier to comply with both internal and external requirements.</P><P class=""><STRONG>Pros:</STRONG></P><P class="">Native integration with SAP systems.</P><P class="">Comprehensive lifecycle management of data.</P><P class="">Strong regulatory compliance features.</P><P class=""><STRONG>Cons:</STRONG></P><P class="">Focused mainly on SAP environments; not as flexible for non-SAP data.</P><P class="">The learning curve can be steep for users unfamiliar with SAP.</P><H2 id="toc-hId-522740478">5. Data Lakes: The Data Insight Reservoir</H2><P class=""><STRONG>Overview:</STRONG> A Data Lake is an evolving concept in data storage, where data is stored in its raw form in a large, centralized repository. Although it’s not an archiving solution in the traditional sense, data lakes are increasingly being used for long-term storage and analysis of big data.</P><P class=""><STRONG>Key Features:</STRONG></P><P class=""><STRONG>Storage of Raw Data: </STRONG>Data lakes store data in its native format (structured, semi-structured, or unstructured), which means all data is available for future analysis without needing to be processed first.</P><P class=""><STRONG>Scalability:</STRONG> Data lakes are built to scale horizontally, handling vast amounts of data with low-cost storage solutions, such as Hadoop or cloud-based services like AWS S3.</P><P class=""><STRONG>Data Exploration:</STRONG> Provides businesses with the ability to run advanced analytics and machine learning algorithms on large datasets without the need for complex data transformation processes.</P><P class=""><STRONG>Flexibility: </STRONG>Can store data from multiple sources, including SAP and non-SAP systems, and provide analytics and insights.</P><P class=""><STRONG>Pros:</STRONG></P><P class="">Ideal for handling large-scale structured, unstructured, or semi-structured data.</P><P class="">Highly flexible and scalable.</P><P class="">Can be used for data exploration and advanced analytics.</P><P class=""><STRONG>Cons:</STRONG></P><P class="">Not designed specifically for archiving; lacks out-of-the-box features for compliance or regulatory management.</P><P class="">Requires specialized skills for managing and querying large datasets.</P><P class="">Potentially high storage and data management costs without proper governance.</P><H2 id="toc-hId-326226973">6. In-System Archiving: The Lightweight Option</H2><P class=""><STRONG>Overview: </STRONG>In-System Archiving stores archived data within the SAP system itself (database or storage infrastructure), simplifying management in SAP-centric environments.</P><P class=""><STRONG>Key Features:</STRONG></P><P class="">Data Stored in SAP</P><P class="">Optimized for SAP Performance</P><P class="">Transparency</P><P class="">Simplified Data Management</P><P class=""><STRONG>Pros:</STRONG></P><P class="">Seamless SAP Integration</P><P class="">Lower Costs for Smaller Systems</P><P class="">Compliance and Security</P><P class="">Simplicity</P><P class=""><STRONG>Cons:</STRONG></P><P class="">Scalability limitations for large data volumes</P><P class="">Limited flexibility for non-SAP environments</P><P class="">Less advanced analytics capabilities</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="STALANKI_1-1738426526455.png" style="width: 647px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/220342i2E516BA86AA136BF/image-dimensions/647x106?v=v2" width="647" height="106" role="button" title="STALANKI_1-1738426526455.png" alt="STALANKI_1-1738426526455.png" /></span></P><P class="">The optimal choice for your organisation will depend on a variety of factors, including the size of your company, the volume of data you need to archive, your compliance requirements, and the complexity of your IT environment and hope this guide is useful for you as a starting point.</P> 2025-02-01T17:16:04.162000+01:00 https://community.sap.com/t5/technology-blog-posts-by-members/http-status-500-internal-server-error-in-sap-businessobjects-intelligence/ba-p/14045151 HTTP Status 500-Internal Server Error in SAP BusinessObjects Intelligence Platform and Data Services 2025-03-14T20:53:06.584000+01:00 Abhishek_Sinha https://community.sap.com/t5/user/viewprofilepage/user-id/172574 <P><U><STRONG>Issue:</STRONG></U>&nbsp;HTTP Status 500-Internal Server Error<BR />We have often seen this error in the SAP BI platform or Data Services, which rely on Tomcat services. This issue is observed when you try to access the application via the central management console. There might be a scenario where a few of the options work fine and a few give the below error message.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Abhishek_Sinha_0-1741979604204.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/237743i6E8D449BFF61925B/image-size/medium?v=v2&amp;px=400" role="button" title="Abhishek_Sinha_0-1741979604204.png" alt="Abhishek_Sinha_0-1741979604204.png" /></span></P><P>Even though sufficient memory is available on the VM to be utilized, this issue is still encountered. A quick resolution is to restart the Tomcat, which is not a sustainable solution.</P><P><U><STRONG>Cause:</STRONG></U>&nbsp;The main reason for this issue is the heap memory utilization of Tomcat.</P><P><STRONG>Tomcat</STRONG> is an essential component in SAP BusinessObjects (BO) architecture, particularly for hosting web applications.&nbsp;</P><P><STRONG>Role of Tomcat in SAP BusinessObjects (BO)</STRONG><BR />Apache Tomcat acts as the web application server for deploying SAP BO web applications such as:</P><P><STRONG>Central Management Console (CMC)</STRONG> — for managing and configuring the SAP BO platform.<BR /><STRONG>BI Launch Pad</STRONG> — for accessing reports, dashboards, and analytics.<BR /><STRONG>Web Intelligence (WebI)</STRONG> — for interactive report creation.<BR /><STRONG>Crystal Reports Viewer</STRONG> — for viewing detailed Crystal Reports.</P><P>Inefficient configuration of memory leads to crashes or out-of-memory errors.</P><P>It is a bit challenging to figure out the optimum configuration, hence, the issue of monitoring the heap memory utilization becomes critical.</P><P>A tool "<STRONG>jconsole</STRONG>" is offered by SAPJVM, which is available in the Business Objects executable.</P><P>Steps to set up the console:</P><UL><LI>Set the below parameters in Tomcat configuration</LI></UL><P>&nbsp;</P><pre class="lia-code-sample language-java"><code>-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8008 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false</code></pre><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Abhishek_Sinha_1-1741980672277.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/237744i206300186D37A6D8/image-size/medium?v=v2&amp;px=400" role="button" title="Abhishek_Sinha_1-1741980672277.png" alt="Abhishek_Sinha_1-1741980672277.png" /></span></P><P>Restart the Tomcat for it to take effect.</P><P>Running the console</P><UL><LI>Browse to the location of sapjvm, it is in the BI installation location - &lt;install_location&gt;\<SPAN>SAP BusinessObjects Enterprise XI 4.0\win64_x64\sapjvm\bin</SPAN></LI><LI><SPAN>Execute the jconsole -&nbsp;jconsole.exe &lt;hostname&gt;:8008&nbsp; &nbsp; (Here, 8008 is the port which is set in property)</SPAN></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Abhishek_Sinha_2-1741981221561.png" style="width: 619px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/237745i60ADB9CF209682A3/image-dimensions/619x45?v=v2" width="619" height="45" role="button" title="Abhishek_Sinha_2-1741981221561.png" alt="Abhishek_Sinha_2-1741981221561.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Abhishek_Sinha_3-1741981265852.png" style="width: 566px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/237746i737EB1B87BE088BC/image-dimensions/566x275?v=v2" width="566" height="275" role="button" title="Abhishek_Sinha_3-1741981265852.png" alt="Abhishek_Sinha_3-1741981265852.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Abhishek_Sinha_0-1741982207177.png" style="width: 565px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/237749iBF18C8CD0976F3C8/image-dimensions/565x277?v=v2" width="565" height="277" role="button" title="Abhishek_Sinha_0-1741982207177.png" alt="Abhishek_Sinha_0-1741982207177.png" /></span></P><P>Using the various tabs, real-time monitoring can be done, and it will lead to setting up the optimum memory parameters for the system to run smoothly without any issues. An ad-hoc garbage collection can also be performed from here.</P><P><U><STRONG>Conclusion:</STRONG></U> It is a great offering within the SAPJVM which empowers us as admins to monitor the Tomcat heap memory and fine-tune the parameters for optimum performance.&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P> 2025-03-14T20:53:06.584000+01:00 https://community.sap.com/t5/technology-blog-posts-by-members/how-to-extract-long-text-from-ecc-and-prepare-a-dmc-template-for-loading/ba-p/14047480 How to Extract Long Text from ECC and Prepare a DMC Template for Loading Long Text into S4/HANA 2025-03-18T17:06:53.690000+01:00 Adarsh_Binukumar https://community.sap.com/t5/user/viewprofilepage/user-id/2045880 <P><STRONG><FONT size="5">Introduction</FONT></STRONG></P><P>Extracting long text from SAP systems may seem straightforward, but it often involves complexities that go beyond simple extraction methods. When traditional approaches fall short, leveraging Remote Function Calls (RFCs) can provide an effective solution for retrieving and integrating long text into SAP Business Objects Data Services (BODS) workflows. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P><P>In this blog, we’ll explore how to use the RFC_READ_TEXT function module to efficiently extract long text from SAP systems and seamlessly incorporate it into BODS for further processing and analysis. Whether you're dealing with technical challenges or looking for a practical guide to streamline your data integration, this bog will help you leverage RFCs effectively to ensure a smoother and efficient workflow.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Adarsh_Binukumar_0-1742232394457.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/238737iAC8D067AA47B4D07/image-size/medium?v=v2&amp;px=400" role="button" title="Adarsh_Binukumar_0-1742232394457.png" alt="Adarsh_Binukumar_0-1742232394457.png" /></span></P><H5 id="toc-hId-2092881017"><STRONG>Key Functionalities of RFC_READ_TEXT</STRONG></H5><P>- Retrieval of long text data stored in SAP tables.<BR />- Filtering of text data based on object type and other parameters.<BR />- Returning retrieved text for further processing or display.</P><H5 id="toc-hId-1896367512"><STRONG>Understanding the Output Structure</STRONG></H5><P>The output of RFC_READ_TEXT is structured in a tabular format with the following key fields:</P><P>TDLINE: Contains the actual text lines retrieved from SAP.<BR />TDOBJECT: Indicates the object type (e.g., 'MAKT' for material descriptions, 'VBAK' for sales order headers, etc.)<BR />&nbsp;TDID: Identifies the specific object within the given object type.<BR />&nbsp;TDNAME: Specifies the type of long text (e.g., 'LTXT' for general long text, 'ATXT' for header text).<BR />&nbsp;TDSPRAS: Specifies the language of the retrieved text.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P><H5 id="toc-hId-1699854007">Steps to Implement RFC_READ_TEXT in SAP BODS</H5><P>&nbsp;- Create the structure based on the number of unique IDs available.<BR />&nbsp;- Group the dataset under a unique value to optimize processing.</P><P><EM><FONT size="2">Fig 1: Creating the extraction structure and splitting data based on multiple IDs.</FONT><BR /></EM></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Adarsh_Binukumar_1-1742232581082.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/238738iFD6205FB4639EF60/image-size/medium?v=v2&amp;px=400" role="button" title="Adarsh_Binukumar_1-1742232581082.png" alt="Adarsh_Binukumar_1-1742232581082.png" /></span></P><P><EM><FONT size="2">Fig_2: Standard query inputs that need to be maintained.</FONT><BR /></EM></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Adarsh_Binukumar_2-1742232612577.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/238739i23509118A8AE0D57/image-size/medium?v=v2&amp;px=400" role="button" title="Adarsh_Binukumar_2-1742232612577.png" alt="Adarsh_Binukumar_2-1742232612577.png" /></span></P><P><FONT size="2"><EM>Fig_3: Standard schema structure.</EM></FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Adarsh_Binukumar_3-1742232669998.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/238740iA418264CAD93AA77/image-size/medium?v=v2&amp;px=400" role="button" title="Adarsh_Binukumar_3-1742232669998.png" alt="Adarsh_Binukumar_3-1742232669998.png" /></span></P><P><FONT size="2"><EM>Fig_4: Query read text input and RFC calling in BODS program.</EM></FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Adarsh_Binukumar_0-1742233068068.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/238741i08C6DCF838409081/image-size/medium?v=v2&amp;px=400" role="button" title="Adarsh_Binukumar_0-1742233068068.png" alt="Adarsh_Binukumar_0-1742233068068.png" /></span></P><P><FONT size="2"><EM>Fig_5: Input parameters for calling RFC_READ_TEXT.</EM></FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Adarsh_Binukumar_1-1742233093066.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/238742i88A76D685FB1420A/image-size/medium?v=v2&amp;px=400" role="button" title="Adarsh_Binukumar_1-1742233093066.png" alt="Adarsh_Binukumar_1-1742233093066.png" /></span></P><P><FONT size="2"><EM>Fig_6: Output parameters of RFC_READ_TEXT.</EM></FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Adarsh_Binukumar_2-1742233131958.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/238743iC179A476F68335F7/image-size/medium?v=v2&amp;px=400" role="button" title="Adarsh_Binukumar_2-1742233131958.png" alt="Adarsh_Binukumar_2-1742233131958.png" /></span></P><P><FONT size="2"><EM>Fig_7: Unnesting the query.</EM></FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Adarsh_Binukumar_3-1742233156261.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/238744i0FAB603D0F6924CD/image-size/medium?v=v2&amp;px=400" role="button" title="Adarsh_Binukumar_3-1742233156261.png" alt="Adarsh_Binukumar_3-1742233156261.png" /></span></P><P><STRONG><EM>OUTPUT</EM></STRONG><BR /><BR />The RFC_READ_TEXT function returns a table containing long text along with key metadata fields. Here’s a breakdown of the main output fields:</P><UL><LI><STRONG>TDLINE</STRONG>: Holds the actual text lines, with each entry representing a separate line.</LI><LI><STRONG>TDOBJECT</STRONG>: Specifies the object type associated with retrieved text (e.g., MAKT for materials, VBAK for sales orders).</LI><LI><STRONG>TDID</STRONG>: Uniquely identifies the text object (e.g., material number, sales order number).</LI><LI><STRONG>TDNAME</STRONG>: Defines the type of long text (LTXT for general long text, ATXT for header text).</LI><LI><STRONG>TDSPRAS</STRONG>: Indicates the language of the retrieved text.</LI></UL><P><STRONG>&nbsp;</STRONG><STRONG>In essence, the RFC_READ_TEXT output provides the requested long text data along with essential metadata like the object type, object ID, text type, and language.</STRONG> This output structure is crucial for correctly interpreting and utilizing the retrieved long text data within your application.</P><P><FONT size="2"><EM>Fig_8: Output Data</EM></FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Adarsh_Binukumar_4-1742233218002.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/238745i64AF49A224F86828/image-size/medium?v=v2&amp;px=400" role="button" title="Adarsh_Binukumar_4-1742233218002.png" alt="Adarsh_Binukumar_4-1742233218002.png" /></span></P><H2 id="toc-hId-1116092345">Concatenating Rows in SAP BODS: A Custom Function Approach</H2><P>When working with SAP Business Objects Data Services (BODS), a common challenge is combining multiple rows into a single row. While BODS provides a built-in reverse pivot transform for this purpose, it requires a predefined number of rows to concatenate. This constraint becomes a hurdle when the row count is unknown or variable.</P><P>Let’s explore a more flexible and efficient solution to this problem by leveraging custom functions in BODS. We’ll also discuss the limitations of traditional methods, the performance implications of database-level XML functions, and how a custom function can provide a more robust and scalable solution.</P><H4 id="toc-hId-1177744278">The Problem: Concatenating Rows with Unknown Counts</H4><P>In many data integration scenarios, multiple rows need to be concatenated into a single row based on a unique identifier (UNIQ_ID). The built-in reverse pivot transform in BODS works only if the number of rows is fixed, making it unsuitable for dynamic datasets.</P><H4 id="toc-hId-981230773">Traditional Workarounds and Their Limitations</H4><P>Some common alternatives include database-level SQL functions, such as XMLAGG and XMLELEMENT. These functions can dynamically aggregate multiple rows into a single XML string, which can then be parsed and processed. While this method works, it has significant drawbacks:</P><OL><LI><STRONG>Performance Overhead</STRONG>: XML manipulation at database level can be resource-intensive, especially when dealing with large datasets, slowing down job execution and increasing memory consumption.</LI><LI><STRONG>Scalability Issues</STRONG>: Large datasets (millions of records) can lead to database bottlenecks, making XML functions impractical for high-volume data processing.</LI></OL><P><STRONG>A </STRONG>more efficient approach is to create a custom function within BODS to handle row concatenation dynamically. This offers several benefits:</P><UL><LI><STRONG>Flexibility:</STRONG> No need to predefine the number of rows to be concatenated.</LI><LI><STRONG>Improved Performance:</STRONG> Potentially faster execution than database-level XML functions, especially for large datasets.</LI><LI><STRONG>Reduced Memory Usage:</STRONG> Optimized memory management for better performance.</LI></UL><H2 id="toc-hId-526551830">Solution:</H2><P>A BODS Custom Function allows concatenation of multiple rows into a single row, even when the number of rows is undefined.</P><P><STRONG>Advantages of Using a Custom Function:</STRONG></P><OL><LI>No need to predefine the number of rows.</LI><LI>Enhanced job performance.</LI><LI>Reduced memory usage for cache.</LI><LI>Simple and straightforward implementation.</LI></OL><P><STRONG><EM>Input Data:</EM></STRONG></P><P>The source table consists of four columns: UNIQ_ID, EBELN, TDID, and GEN_ROW_NO. The source data is structured as follows:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Adarsh_Binukumar_5-1742233462801.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/238748i0DC3895B8EFB862A/image-size/medium?v=v2&amp;px=400" role="button" title="Adarsh_Binukumar_5-1742233462801.png" alt="Adarsh_Binukumar_5-1742233462801.png" /></span></P><P><SPAN>Pre-Requisites:</SPAN></P><UL><LI><SPAN>Define parameters, local and global variables.</SPAN></LI><LI><SPAN>Generate a sequence number for each UNIQ_ID.</SPAN></LI><LI><SPAN>Group the dataset based on a unique value.</SPAN></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Adarsh_Binukumar_6-1742233499441.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/238749iF53908F7CEE0634B/image-size/medium?v=v2&amp;px=400" role="button" title="Adarsh_Binukumar_6-1742233499441.png" alt="Adarsh_Binukumar_6-1742233499441.png" /></span></P><P><EM><STRONG>Output Data:</STRONG></EM></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Adarsh_Binukumar_7-1742233527344.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/238750i3D317786FE61E93A/image-size/medium?v=v2&amp;px=400" role="button" title="Adarsh_Binukumar_7-1742233527344.png" alt="Adarsh_Binukumar_7-1742233527344.png" /></span></P><H3 id="toc-hId-459121044"><STRONG>Data Loading into S4/HANA</STRONG></H3><P>Once the extracted and transformed data is generated, it is stored in a structured file format at the designated file path. Since DMC is used as the loading mechanism, the file must strictly adhere to the DMC format. The generated content should be copied and pasted into the corresponding views within the DMC template.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Adarsh_Binukumar_8-1742233566625.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/238752iF6A6E12BC4139DD7/image-size/medium?v=v2&amp;px=400" role="button" title="Adarsh_Binukumar_8-1742233566625.png" alt="Adarsh_Binukumar_8-1742233566625.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Adarsh_Binukumar_9-1742233572451.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/238753i32EA44E8E1BF047D/image-size/medium?v=v2&amp;px=400" role="button" title="Adarsh_Binukumar_9-1742233572451.png" alt="Adarsh_Binukumar_9-1742233572451.png" /></span></P><P>Once the file is created, it can be loaded into the system using the Data Migration Cockpit, after which the data can be reviewed in the S4HANA using transaction code ME23N.</P><P><EM>Our references:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Credits : Sami Mohammed</EM></P><OL><LI><SPAN>&nbsp;<A href="https://community.sap.com/t5/technology-blogs-by-members/calling-rfc-from-bods/ba-p/13125919" target="_blank">Calling RFC from BODS - SAP Community</A></SPAN></LI><LI><SPAN>&nbsp;<A href="https://community.sap.com/t5/technology-blogs-by-members/sap-bods-concatenate-custom-function/ba-p/12981551#:~:text=Solution%3A,a%20set%20is%20not%20defined." target="_blank">SAP BODS - Concatenate Custom Function - SAP Community</A></SPAN></LI></OL> 2025-03-18T17:06:53.690000+01:00 https://community.sap.com/t5/technology-blog-posts-by-sap/ensure-smooth-integration-your-quick-guide-to-sap-data-services/ba-p/14145471 Ensure Smooth Integration: Your Quick Guide to SAP Data Services Compatibility ✅ 2025-07-17T20:46:58.318000+02:00 EmelyModena https://community.sap.com/t5/user/viewprofilepage/user-id/1506099 <H3 id="toc-hId-1863285118"><span class="lia-unicode-emoji" title=":loudspeaker:">📢</span>Installation &amp; Upgrade Guide for SAP Data Services <span class="lia-unicode-emoji" title=":hammer_and_wrench:">🛠</span>️</H3><P><span class="lia-unicode-emoji" title=":light_bulb:">💡</span>When installing or upgrading, compatibility questions are bound to arise since we deal with different databases, drivers, applications and other components.</P><H3 id="toc-hId-1666771613">Compatibility Checklist</H3><P><span class="lia-unicode-emoji" title=":white_heavy_check_mark:">✅</span><SPAN>&nbsp;</SPAN><STRONG>Ensuring a Certified Environment</STRONG><SPAN>&nbsp;</SPAN>To confirm compatibility with your target (new) version of SAP Data Services, verify the following:</P><P><span class="lia-unicode-emoji" title=":magnifying_glass_tilted_left:">🔍</span><STRONG>Information platform services (IPS) /&nbsp;Business Intelligence Platform (BIP)<BR /></STRONG><span class="lia-unicode-emoji" title=":magnifying_glass_tilted_left:">🔍</span><SPAN>&nbsp;</SPAN><STRONG>Operating System<BR /></STRONG><span class="lia-unicode-emoji" title=":magnifying_glass_tilted_left:">🔍</span><SPAN>&nbsp;</SPAN><STRONG>Database (Repository / Source &amp; Target)<BR /></STRONG><span class="lia-unicode-emoji" title=":magnifying_glass_tilted_left:">🔍</span><SPAN>&nbsp;</SPAN><STRONG>Drivers</STRONG><SPAN><BR /></SPAN><span class="lia-unicode-emoji" title=":magnifying_glass_tilted_left:">🔍</span><SPAN>&nbsp;</SPAN><STRONG>Browser</STRONG><SPAN><BR /></SPAN><span class="lia-unicode-emoji" title=":magnifying_glass_tilted_left:">🔍</span><SPAN>&nbsp;</SPAN><STRONG>Cloud Platforms</STRONG><SPAN><BR /></SPAN><span class="lia-unicode-emoji" title=":magnifying_glass_tilted_left:">🔍</span><SPAN>&nbsp;</SPAN><STRONG>Cloud Storage</STRONG><SPAN><BR /></SPAN><span class="lia-unicode-emoji" title=":magnifying_glass_tilted_left:">🔍</span><SPAN>&nbsp;</SPAN><STRONG>Message Client Library</STRONG><SPAN><BR /></SPAN><span class="lia-unicode-emoji" title=":magnifying_glass_tilted_left:">🔍</span><SPAN>&nbsp;</SPAN><STRONG>Etc.</STRONG></P><H3 id="toc-hId-1470258108">Understanding the Compatibility Legend</H3><P><span class="lia-unicode-emoji" title=":glowing_star:">🌟</span>Make sure you understand its legend, as it is crucial to proceed:</P><UL><LI><STRONG>For example:</STRONG><SPAN>&nbsp;</SPAN>If item<SPAN>&nbsp;</SPAN>y<SPAN>&nbsp;wa</SPAN>s certified in version<SPAN>&nbsp;</SPAN>4.x SPx Patch x, it will be considered as supported/compatible for that version and above until the version being mentioned as deprecated in the PAM in the future.</LI></UL><H3 id="toc-hId-1273744603"><span class="lia-unicode-emoji" title=":desktop_computer:">🖥</span>Designer Client Tool</H3><P>Application client tool, named as Designer, needs to be under the same version, support pack and Patch of SAP Data Services Job Server to avoid any compatibility within the Job Server and CMS (component from IPS/BI application).</P><P><SPAN>Because of this need for harmony, the Designer tool can't share a machine with another BI/IPS installation, even if you're not using that CMS connection for SAP Data Services. But don't worry! If you need IPS/BI installed, just make sure it's compatible according to our compatibility matrix.</SPAN></P><P><span class="lia-unicode-emoji" title=":link:">🔗</span><SPAN>&nbsp;</SPAN><A href="https://me.sap.com/notes/3322026" target="_blank" rel="noopener noreferrer">3322026 - Can BOE/BI/IPS Platform Client Tools and Designer Client Tool coexist in the same machine? - SAP Data Services</A></P><H3 id="toc-hId-1077231098"><span class="lia-unicode-emoji" title=":books:">📚</span>Useful Resources</H3><P>Each SAP product has its<SPAN>&nbsp;</SPAN><STRONG>Product Availability Matrix (PAM)</STRONG><SPAN>&nbsp;</SPAN>and<SPAN>&nbsp;</SPAN><STRONG>Maintenance Strategy</STRONG>. For more information on how to access these, check out the KBA below:</P><P><span class="lia-unicode-emoji" title=":link:">🔗</span><SPAN>&nbsp;</SPAN><A href="https://me.sap.com/notes/1338845" target="_blank" rel="noopener noreferrer">1338845 - How to find Product Availability Matrix (PAM) / Supported Platforms Documentation for SAP BusinessObjects products (BI/IPS, DS, IS)?</A></P><P>Visit the<SPAN>&nbsp;</SPAN><STRONG><A href="https://help.sap.com/docs/SAP_DATA_SERVICES" target="_blank" rel="noopener noreferrer">SAP Data Services</A></STRONG><SPAN>&nbsp;</SPAN>for detailed information on Installation, Upgrade, and Migration steps. Remember to change the documentation version to your desired SAP Data Services version.</P><H3 id="toc-hId-880717593">Recommendation</H3><P><span class="lia-unicode-emoji" title=":light_bulb:">💡</span><SPAN>&nbsp;</SPAN><STRONG>We strongly recommend installing/upgrading to the latest certified version between IPS/BIP and SAP Data Services</STRONG><SPAN>&nbsp;</SPAN>to avoid any known issues that have been fixed.</P><UL><LI><STRONG>If upgrading is not possible</STRONG>, before proceeding with the installation or upgrade, check the Release Notes for that version under the SAP Knowledge Base. There might be known issues that could affect your daily work.</LI><LI>This will help you identify and be prepared to apply any available workaround!</LI></UL><P><span class="lia-unicode-emoji" title=":glowing_star:">🌟</span>If you have any questions or need assistance, feel free to reach out to SAP Support and search under our <A href="https://support.sap.com/en/my-support/knowledge-base.html" target="_blank" rel="noopener noreferrer">Knowledge Base</A>!</P><P><SPAN><span class="lia-unicode-emoji" title=":pushpin:">📌</span>If you found this helpful or interesting, I would really appreciate a 'Kudo' to let me know! Your feedback means a lot. <span class="lia-unicode-emoji" title=":smiling_face_with_smiling_eyes:">😊</span></SPAN></P><P>&nbsp;</P> 2025-07-17T20:46:58.318000+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/avoiding-rfc-timeout-issues-during-sap-table-job-extraction-in-sap-data/ba-p/14182642 Avoiding RFC Timeout Issues During SAP Table Job Extraction in SAP Data Services 2025-08-19T04:29:54.905000+02:00 Praveen_NK https://community.sap.com/t5/user/viewprofilepage/user-id/1783141 <H2 id="toc-hId-1737808940">Avoiding RFC Timeouts: Executing SAP Table Extractions Jobs in Background via RFC Batch&nbsp;</H2><H3 id="toc-hId-1670378154">Introduction</H3><P>Extracting large volumes of data from SAP systems using <STRONG>SAP Data Services (BODS)</STRONG> can be a real challenge — especially when working with standard (non-ABAP) dataflows. One of the most common issues encountered is the dreaded <STRONG>RFC timeout</STRONG>, which occurs when a data extraction takes too long to return results, and the SAP session times out.</P><P>In many environments, using <STRONG>ABAP dataflows</STRONG> to offload processing to SAP is restricted due to governance or lack of ABAP resources. So, how can we extract large datasets without ABAP Dataflow, and still avoid timeouts?</P><P>In this blog, we explore how executing jobs in <STRONG>RFC batch background mode</STRONG> can help solve this problem.</P><H3 id="toc-hId-1473864649">Understanding RFC Timeouts</H3><P>An <STRONG>RFC (Remote Function Call)</STRONG> allows SAP Data Services to call SAP functions like&nbsp; RFC_READ_TABLE to extract data. However, when these calls are executed in <STRONG>dialog mode</STRONG> (default), they inherit the standard timeout settings of an interactive SAP user session — typically 600 to 1800 seconds (10–30 minutes).</P><P>When a query takes too long — due to high data volume, slow performance, or unfiltered extraction — the RFC session times out, causing the job to fail.</P><H3 id="toc-hId-1277351144">What Is "Execute in Background Job in RFC Batch"?</H3><P><STRONG>"Execute in background job in RFC batch"</STRONG> means:</P><UL><LI><P>The RFC-connected extraction is <STRONG>not executed in foreground</STRONG> (interactive user session).</P></LI><LI><P>Instead, SAP <STRONG>submits the job to the background job scheduler</STRONG>, and the logic is run as a <STRONG>batch job</STRONG>.</P></LI><LI><P>This background job is still triggered via RFC but runs <STRONG>asynchronously</STRONG>, bypassing timeout limitations.</P></LI></UL><P>&nbsp;</P><H3 id="toc-hId-1080837639">Benefits of Executing in RFC Batch Background</H3><UL><LI><P>Avoids dialog session timeouts</P></LI><LI><P>Allows longer-running data extraction jobs</P></LI><LI><P>Reduces job failures in SAP Data Services</P></LI><LI><P>No need for ABAP code or ABAP dataflows</P></LI></UL><P>&nbsp;</P><H3 id="toc-hId-884324134">Steps to Enable Background Job Execution for SAP Table Extraction</H3><OL><LI><P><STRONG>Double-click on the SAP Table:</STRONG></P><UL><LI><P>In SAP Data Services Designer, double-click on the SAP table you want to extract (for example, <STRONG>EKKO</STRONG>) to open its properties.</P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_NK_0-1755503964381.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/301844iA26710E49EE73CF8/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_NK_0-1755503964381.png" alt="Praveen_NK_0-1755503964381.png" /></span><P>&nbsp;</P></LI></UL></LI><LI><P><STRONG>Open Source Table Editor:</STRONG></P><UL><LI><P>This opens the <STRONG>Source Table Editor</STRONG> options for that table.</P></LI></UL></LI><LI><P><STRONG>Enable Background Execution:</STRONG></P><UL><LI><P>In the Source Table Editor, locate and enable the option <STRONG>Execute in Background (Batch)</STRONG> .</P><DIV class="">&nbsp;</DIV><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_NK_0-1755504918182.png" style="width: 595px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/301853iCF4A9DA59424CDFC/image-dimensions/595x199?v=v2" width="595" height="199" role="button" title="Praveen_NK_0-1755504918182.png" alt="Praveen_NK_0-1755504918182.png" /></span><P>&nbsp;</P></LI></UL></LI><LI><P><STRONG>Save the Job:</STRONG></P><UL><LI><P>Save your changes to the dataflow or job.</P></LI></UL></LI><LI><P><STRONG>Run the Job:</STRONG></P><UL><LI><P>Execute the job. The extraction will now run as a background RFC batch job, preventing timeout errors typical of foreground execution.</P></LI></UL></LI></OL> 2025-08-19T04:29:54.905000+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-use-run-batch-job-web-services-call/ba-p/14160299 How to use Run_Batch_Job web services call? 2025-09-23T18:52:52.889000+02:00 EmelyModena https://community.sap.com/t5/user/viewprofilepage/user-id/1506099 <P>Before proceeding, check the documentation below:</P><UL><LI><A href="https://help.sap.com/docs/SAP_DATA_SERVICES/e54136ab6a4a43e6a370265bf0a2d744/574853556d6d1014b3fc9283b0e91070.html?version=LATEST&amp;locale=en-US" target="_blank" rel="noopener noreferrer">Using SAP Data Services as a SOAP Web Service provider | SAP Help Portal</A></LI></UL><P>Let's use SoapUI as a third-party trigger for our job without the need of exposing the Job directly, but before using the <A href="https://help.sap.com/docs/SAP_DATA_SERVICES/e54136ab6a4a43e6a370265bf0a2d744/5748d0936d6d1014b3fc9283b0e91070.html?version=4.3.3" target="_blank" rel="noopener noreferrer">Run_Batch_Job</A> operation, it is important to check if our Session Security is enabled from Data Services Management Console (DSMC).</P><P>From DSMC, access the Administrator tab, go to "Web Services" and&nbsp; "Web Services Configuration".</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_0-1756673411785.png" style="width: 742px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/307083i7C2A8729CC987055/image-dimensions/742x386?v=v2" width="742" height="386" role="button" title="EmelyModena_0-1756673411785.png" alt="EmelyModena_0-1756673411785.png" /></span></P><P>If Session Security is enabled, you must perform a Logon operation to get a Session ID to provide to the Run_Batch_Job web service call, also perform the Logout to close that session.<BR />Session Security is enabled by default and we will be using it during this post.</P><P>On DSMC, let's select "View WSDL" from Web Services Status tab:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_9-1758645816368.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/319079i89A06125FAFF0527/image-size/large?v=v2&amp;px=999" role="button" title="EmelyModena_9-1758645816368.png" alt="EmelyModena_9-1758645816368.png" /></span></P><P>It will open a new browser tab, showing the WSDL xml file:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_10-1758645816463.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/319080iF3104CAC79BC1F3F/image-size/large?v=v2&amp;px=999" role="button" title="EmelyModena_10-1758645816463.png" alt="EmelyModena_10-1758645816463.png" /></span></P><P>Copy the URL to use on SoapUI. In my case, this is my URL:</P><UL><LI><A href="http://localhost:8080/DataServices/servlet/webservices?ver=2.1&amp;wsdlxml" target="_blank" rel="nofollow noopener noreferrer">http://localhost:8080/DataServices/servlet/webservices?ver=2.1&amp;wsdlxml</A></LI></UL><P>Since I will be testing from SoapUI installed on the same machine as the web tier application, I will be using localhost, but it would be the SERVER NAME / HOST instead of "localhost".</P><P>From SoapUI, right-click on Projects and select "New SOAP Project":</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_11-1758645816196.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/319081i26E4BD38F4F78BC8/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_11-1758645816196.png" alt="EmelyModena_11-1758645816196.png" /></span></P><P>Give a name to your project and provide the URL previously collected on DSMC. Click "OK":</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_12-1758645816246.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/319083i9758CBC378BF8F01/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_12-1758645816246.png" alt="EmelyModena_12-1758645816246.png" /></span></P><P>It will provide all the Operations available on the WSDL:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_13-1758645816023.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/319082i433706E27328AA10/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_13-1758645816023.png" alt="EmelyModena_13-1758645816023.png" /></span></P><P>We will be using three operations for this test: Logon, Run_Batch_Job and Logout.</P><P>Double-click under the request created during the project creation or create a new request, input the CMS information for the connection (same as your CMC login credentials) and execute the Request.&nbsp;</P><P>Check:&nbsp;<A href="https://help.sap.com/docs/SAP_DATA_SERVICES/e54136ab6a4a43e6a370265bf0a2d744/5748e6c16d6d1014b3fc9283b0e91070.html?version=4.3.3" target="_blank" rel="noopener noreferrer">Logon | SAP Help Portal</A></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_7-1758633438375.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/319023iABBFED7DDB013E1E/image-size/large?v=v2&amp;px=999" role="button" title="EmelyModena_7-1758633438375.png" alt="EmelyModena_7-1758633438375.png" /></span></P><P>You might face an error in case you need to use the cms_system port depending of the application version.<BR />Refer to SAP Note: <A href="https://me.sap.com/notes/3412752" target="_blank" rel="noopener noreferrer">3412752 - SAP Data Services Logon web service does not take port in the cms_system parameter</A>.</P><P>Logon operation will return a Session ID as previously mentioned in this post:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_7-1756735943498.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/307465i73A25FCB731AC50E/image-size/large?v=v2&amp;px=999" role="button" title="EmelyModena_7-1756735943498.png" alt="EmelyModena_7-1756735943498.png" /></span></P><P>Now, let's execute a request of Run_Batch_Job.<BR />Check:&nbsp;<A href="https://help.sap.com/docs/SAP_DATA_SERVICES/e54136ab6a4a43e6a370265bf0a2d744/5748d0936d6d1014b3fc9283b0e91070.html?version=4.3.3" target="_blank" rel="noopener noreferrer">Run_Batch_Job | SAP Help Portal</A></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_0-1758632081610.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/319010iF712C2CC6804F4F3/image-size/large?v=v2&amp;px=999" role="button" title="EmelyModena_0-1758632081610.png" alt="EmelyModena_0-1758632081610.png" /></span></P><P>I will remove some sections (jobParameters and globalVariables) and the serverGroup parameter, since it does not apply for my test and we will reuse the SessionID from our Logon call:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_1-1758632569860.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/319016i2CA10F74BC3F650C/image-size/large?v=v2&amp;px=999" role="button" title="EmelyModena_1-1758632569860.png" alt="EmelyModena_1-1758632569860.png" /></span></P><P>It successfully ran:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_2-1758632709594.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/319017i42A926E483EF87F7/image-size/large?v=v2&amp;px=999" role="button" title="EmelyModena_2-1758632709594.png" alt="EmelyModena_2-1758632709594.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_3-1758632757363.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/319018i041DAF3B66F27A21/image-size/large?v=v2&amp;px=999" role="button" title="EmelyModena_3-1758632757363.png" alt="EmelyModena_3-1758632757363.png" /></span></P><P>From Data Services Management Console (DSMC) &gt; Administrator &gt; Status / Batch &gt; Training_DS (This is your repository section) &gt; Batch Job Status, you will be able to check the execution history:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_4-1758633010851.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/319020i52695DA2117B95C4/image-size/large?v=v2&amp;px=999" role="button" title="EmelyModena_4-1758633010851.png" alt="EmelyModena_4-1758633010851.png" /></span></P><P>After this execution, we will perform a Logout call.<BR />Check:&nbsp;<A href="https://help.sap.com/docs/SAP_DATA_SERVICES/e54136ab6a4a43e6a370265bf0a2d744/5748eecf6d6d1014b3fc9283b0e91070.html?version=4.3.3" target="_blank" rel="noopener noreferrer">Logout | SAP Help Portal</A></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_6-1758633207671.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/319022i75B28A0D638B28DA/image-size/large?v=v2&amp;px=999" role="button" title="EmelyModena_6-1758633207671.png" alt="EmelyModena_6-1758633207671.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_8-1758633964037.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/319030i432F7686EB4BED91/image-size/large?v=v2&amp;px=999" role="button" title="EmelyModena_8-1758633964037.png" alt="EmelyModena_8-1758633964037.png" /></span></P><P><STRONG>Note:</STRONG> Tests and screenshots taken from SAP Data Services 2025 version.</P><P>Every Web Services call must work outside of SAP Data Services, and in this post, your learned how to applied on SoapUI.<BR />For third party schedulers or tools that could be used to trigger our jobs, you must check with its provider what are the required information to proceed.</P><P><span class="lia-unicode-emoji" title=":glowing_star:">🌟</span>If you have any questions or need assistance, feel free to reach out to SAP Support and search under our Knowledge Base!</P><P><span class="lia-unicode-emoji" title=":pushpin:">📌</span>If you found this helpful or interesting, I would really appreciate a 'Kudo' to let me know! Your feedback means a lot. <span class="lia-unicode-emoji" title=":smiling_face_with_smiling_eyes:">😊</span></P> 2025-09-23T18:52:52.889000+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/designer-installation-step-by-step-guide-for-sap-data-services-client-tool/ba-p/14235790 Designer Installation: Step-by-Step Guide for SAP Data Services Client Tool 💻 2025-10-06T15:56:33.291000+02:00 EmelyModena https://community.sap.com/t5/user/viewprofilepage/user-id/1506099 <P>Make sure you download Designer setup with the same version as your Data Services Job Server machine, which consequently makes the Designer certified with the CMS (BI/IPS) version.</P><P>In case you have BI/IPS application or client installed on this machine, make sure it is also certified with your Designer application, even if it is not being used as CMS Server:</P><UL><LI><A href="https://me.sap.com/notes/3322026" target="_blank" rel="noopener noreferrer"><SPAN>3322026- Can BOE/BI/IPS Platform Client Tools and Designer Client Tool coexist in the same machine? - SAP Data Services</SPAN></A></LI></UL><P>Download Designer using the steps below:</P><UL><LI><A href="https://me.sap.com/softwarecenter" target="_blank" rel="noopener noreferrer">Software Center - SAP for Me</A> &gt; SUPPORT PACKAGES &amp; PATCHES &gt; By Alphabetical Index (A-Z) &gt; D &gt; SAP DATA SERVICES &gt; SAP DATA SERVICES 4.<STRONG>x</STRONG> &gt;&nbsp;SAP DS CLIENT TOOLS 4.<STRONG>x</STRONG> &gt; Select a compatible version and download it</LI></UL><P><STRONG>NOTE:</STRONG> This post is using Designer Client 2025 (14.4.0.165) as screenshots reference.</P><H1 id="toc-hId-1632828254"><SPAN><STRONG>INSTALLATION STEPS</STRONG> <span class="lia-unicode-emoji" title=":rocket:">🚀</span></SPAN></H1><P>After downloading the setup, let's start the installation.</P><OL><LI>Run the installer as Administrator user to avoid any problems.</LI><LI>Make sure all the prerequisites which are Critical type are on Succeeded status and click on <STRONG>Next</STRONG>.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_0-1759753646290.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/323266iA2DEF642EACCB5FF/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_0-1759753646290.png" alt="EmelyModena_0-1759753646290.png" /></span></LI><LI>Read and select the "<EM><STRONG>I accept the License Agreement</STRONG></EM>". Click on <STRONG>Next</STRONG>.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_2-1759753746663.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/323268iEE1DD82850E3847A/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_2-1759753746663.png" alt="EmelyModena_2-1759753746663.png" /></span><BR /><BR /></LI><LI>Add the same valid License Key as your Data Services application server and click on <STRONG>Next</STRONG>:<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_5-1759753895533.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/323271iA979995D664D4578/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_5-1759753895533.png" alt="EmelyModena_5-1759753895533.png" /></span><BR /><BR />Additional content:<BR /><A href="https://me.sap.com/notes/1977090" target="_blank" rel="noopener noreferrer"><SPAN>1977090- Is a new license key required when upgrading to Data Services 4.2, 4.3 or 2025?</SPAN></A><BR /><BR /></LI><LI>Confirm the installation path and click on <STRONG>Next</STRONG>.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_4-1759753882751.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/323270i586FD4DB2CAA2C2A/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_4-1759753882751.png" alt="EmelyModena_4-1759753882751.png" /></span><BR /><BR /></LI><LI>Confirm the %DS_COMMON_DIR% directory of SAP Data Services Designer and click on <STRONG>Next</STRONG>:<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_6-1759754230230.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/323274i134FADE1C34F64B9/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_6-1759754230230.png" alt="EmelyModena_6-1759754230230.png" /></span><BR /><BR /></LI><LI>Select any additional language and click on <STRONG>Next</STRONG>:<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_7-1759754267192.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/323276i80CF4ED0E84B567F/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_7-1759754267192.png" alt="EmelyModena_7-1759754267192.png" /></span></LI><LI>Select "<EM><STRONG>Skip CMS</STRONG></EM>", since this is the Designer Client tool installation and not the application server and click on <STRONG>Next</STRONG>:<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_8-1759754335934.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/323278i8ACA1B8F8ADD946D/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_8-1759754335934.png" alt="EmelyModena_8-1759754335934.png" /></span><BR /><BR /></LI><LI>Uncheck the "<EM><STRONG>Data Services Server</STRONG></EM>" box and click on <STRONG>Next</STRONG>:<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_9-1759754409338.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/323279iA5F712871C9E29EB/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_9-1759754409338.png" alt="EmelyModena_9-1759754409338.png" /></span><BR /><BR /></LI><LI>Select "<EM><STRONG>Skip Configuration</STRONG></EM>", since this is your Designer client machine and the DSConfig.txt files will be under your Job Server machine. Click on <STRONG>Next</STRONG>.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_10-1759754494270.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/323281iA3B6A825A92B4288/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_10-1759754494270.png" alt="EmelyModena_10-1759754494270.png" /></span><BR /><BR /></LI><LI>Start the installation. Click <STRONG>Next</STRONG>:<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_11-1759754526382.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/323284iA5A7DA529417AE0E/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_11-1759754526382.png" alt="EmelyModena_11-1759754526382.png" /></span><BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_12-1759754554327.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/323286iB1D216A39CCA1DF9/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_12-1759754554327.png" alt="EmelyModena_12-1759754554327.png" /></span></LI><LI>Installation is complete. Click on <STRONG>Finish</STRONG>.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_13-1759754820148.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/323294i7E615EC9B1B2B70F/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_13-1759754820148.png" alt="EmelyModena_13-1759754820148.png" /></span><BR /><BR /></LI><LI>Reboot machine is required. Only click on "<STRONG>Yes</STRONG>" after confirming that you can restart your machine right now.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_16-1759754999490.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/323298i88D0C3FB8EDB4D5C/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_16-1759754999490.png" alt="EmelyModena_16-1759754999490.png" /></span><BR /><BR /></LI><LI>Your Designer should be accessible:<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="EmelyModena_0-1759757610600.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/323314iAD60A486607AFF0F/image-size/medium?v=v2&amp;px=400" role="button" title="EmelyModena_0-1759757610600.png" alt="EmelyModena_0-1759757610600.png" /></span></LI></OL><P>&nbsp;</P><P><STRONG><U>Additional content</U>:</STRONG></P><UL class="lia-list-style-type-square"><LI><STRONG>"The base keycode for the Data Services platform was not found or has expired.&nbsp;Obtain a valid keycode and use the License Manager to update your installation. (BODI-1116106)" after Designer installation / upgrade:</STRONG><BR /><BR />Check the KBA below:<BR /><A href="https://me.sap.com/notes/1395080" target="_blank" rel="noopener noreferrer">1395080- How to install or maintain License/Product keys - SAP Data Services</A></LI><LI><STRONG>For SAP Data Services 2025, missing ncs.dll:</STRONG><BR /><A href="https://me.sap.com/notes/3641815" target="_blank" rel="noopener noreferrer">3641815 - Designer fails to launch with keycode error - SAP Data Services 2025</A><BR /><BR /></LI><LI><STRONG>For SDK Failure when accessing Designer tool:&nbsp;</STRONG><BR />It might be compatibility between your Designer tool and the CMS Server (BI/IPS), but also bi-directionally communication between Designer &lt;-&gt; CMS Server.<BR />Make sure you can ping and telnet from Designer to the CMS Server and vice versa (CMS Server to Designer).<BR />In case it is compatible and telnet/ping works bi-directionally, check and apply the KBA below:<BR /><BR /><A href="https://me.sap.com/notes/2450650" target="_blank" rel="noopener noreferrer">2450650 - Logon failed to the specified system. Check system name, port number, user name, password, authentication method, and try again. Additional information: &lt;Session: SDK failure&gt;. - SAP Data Services</A></LI><LI><STRONG>Designer client is slow:</STRONG><BR /><A href="https://me.sap.com/notes/3034996" target="_blank" rel="noopener noreferrer"><SPAN>3034996- SAP Data Services Designer slow performance - SAP Data Services</SPAN></A></LI></UL><P>&nbsp;</P><P><span class="lia-unicode-emoji" title=":glowing_star:">🌟</span>If you have any questions or need assistance, feel free to reach out to SAP Support and search under our <A href="https://support.sap.com/en/my-support/knowledge-base.html" target="_blank" rel="noopener noreferrer">Knowledge Base</A>!</P><P><span class="lia-unicode-emoji" title=":pushpin:">📌</span>If you found this helpful or interesting, I would really appreciate a 'Kudo' to let me know! Your feedback means a lot. <span class="lia-unicode-emoji" title=":smiling_face_with_smiling_eyes:">😊</span></P> 2025-10-06T15:56:33.291000+02:00 https://community.sap.com/t5/welcome-corner-blog-posts/can-sap-s-real-time-analytics-redefine-decision-making-for-the-c-suite/ba-p/14233996 Can SAP’s Real-Time Analytics Redefine Decision-Making for the C-Suite? 2025-10-07T11:34:00.294000+02:00 neel247 https://community.sap.com/t5/user/viewprofilepage/user-id/2256886 <H3 id="toc-hId-1890936038">The Changing Role of Leaders</H3><P>Today’s CEOs and CTOs face more data than ever before. Numbers flow in from finance, supply chain, and customers. The challenge is not access. The challenge is speed. Leaders cannot wait days for reports. They need answers now.</P><H3 id="toc-hId-1694422533">Why Real-Time Matters</H3><P>Traditional reporting works on past data. By the time insights reach the boardroom, the market may have moved. Real-time analytics flips this model. It brings live data from operations straight to decision-makers. A CEO can see global sales by region as they happen. A CTO can monitor system health before an outage hits.</P><H3 id="toc-hId-1497909028">How SAP Enables This</H3><UL><LI><STRONG>SAP HANA:</STRONG> stores and processes data in-memory for instant results.</LI><LI><STRONG>SAP Analytics Cloud (SAC):</STRONG> gives live dashboards and predictive models.</LI><LI><STRONG>Embedded Analytics:</STRONG> in S/4HANA allows leaders to view insights while working inside core processes.</LI></UL><P>These tools cut delays and remove the guesswork.</P><H3 id="toc-hId-1301395523">Practical Example</H3><P>Imagine a manufacturer facing a sudden raw material shortage. Without real-time analytics, the CEO learns of it after a weekly report. With SAP, alerts appear the moment supply drops. Leaders can adjust sourcing, update prices, and inform partners—all within hours, not days.</P><H3 id="toc-hId-1104882018">Best Practices for the C-Suite</H3><UL><LI><STRONG>Ask sharper questions:</STRONG> Real-time data works best when leaders know what to track.</LI><LI><STRONG>Balance speed with accuracy:</STRONG> Not all data needs live updates. Focus on what drives action.</LI><LI><STRONG>Build trust in data:</STRONG> If executives doubt the system, they will fall back on instinct.</LI></UL><H3 id="toc-hId-908368513">Challenges to Watch</H3><P>Real-time analytics is powerful, but not simple. Common issues include:</P><UL><LI>Integrating data from multiple systems.</LI><LI>Ensuring security and access control.</LI><LI>Training leaders to read dashboards, not just slides.</LI></UL><H3 id="toc-hId-711855008">The Bigger Picture</H3><P>Real-time analytics does not replace leadership. It sharpens it. CEOs still need vision. CTOs still need strategy. SAP’s role is to provide clear, trusted signals so leaders can act without delay.</P><H3 id="toc-hId-515341503">Engage Further</H3><P>The question for the C-suite is simple: <STRONG>Are you ready to let real-time data guide your next move?</STRONG> If you want to explore practical steps, connect with experts, or join discussions in the SAP Community.</P> 2025-10-07T11:34:00.294000+02:00 https://community.sap.com/t5/technology-blog-posts-by-members/use-of-dsedit-tool-to-create-entry-in-sql-ini-file-for-sybase-ase-database/ba-p/14284821 Use of DSEDIT tool to create entry in sql.ini file for Sybase ASE database 2025-12-05T15:41:19.023000+01:00 Abhishek_Sinha https://community.sap.com/t5/user/viewprofilepage/user-id/172574 <P><SPAN>SAP Data Services installation stalls as the installer is unable to identify the CMS and Audit repositories.</SPAN></P><P><SPAN>Environment for this installation setup</SPAN></P><UL><LI><SPAN>Product - SAP Data Services 4.3&nbsp;</SPAN></LI><LI><SPAN>Database - Sybase ASE 16.0</SPAN></LI><LI><SPAN>Operating system - Windows Server 2019 Standard</SPAN></LI></UL><P><SPAN>Initial investigation took us to the ODBC connections and it worked fine and successfully connected to the respective database repositories. However on deeper analysis, it was observed that for the backend Sybase ASE database the connection doesn’t utilizes the ODBC connectors, it requires a Sybase client to be installed on the application machine and the resulting sql.ini file needs to be updated with the entries for CMS and AUDIT repositories.</SPAN></P><P><SPAN>SAP Data Services or Business Intelligence installation on Sybase ASE database needs the following client to be installed on the application host</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Abhishek_Sinha_0-1764945885333.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/349004i6A850361F0C7196A/image-size/medium?v=v2&amp;px=400" role="button" title="Abhishek_Sinha_0-1764945885333.png" alt="Abhishek_Sinha_0-1764945885333.png" /></span></P><P><SPAN>After the installation below shown "<STRONG>sql.ini"&nbsp;</STRONG>file is created which needs to be amended with the entries of the repositories required for connection.</SPAN></P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Abhishek_Sinha_1-1764946003402.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/349005i67CB5F8EFAFFCB52/image-size/medium?v=v2&amp;px=400" role="button" title="Abhishek_Sinha_1-1764946003402.png" alt="Abhishek_Sinha_1-1764946003402.png" /></span></P><P>The format for the entries are</P><P>[CMS]<BR />master=TCP,&lt;Host/IP_of_DataBase_Host&gt;,&lt;Port_of_DataBase&gt;<BR />query=TCP,&lt;Host/IP_of_DataBase_Host&gt;,&lt;Port_of_DataBase&gt;</P><P>[AUDIT]<BR />master=&lt;Host/IP_of_DataBase_Host&gt;,&lt;Port_of_DataBase&gt;<BR />query=TCP,&lt;Host/IP_of_DataBase_Host&gt;,&lt;Port_of_DataBase&gt;</P><P>&nbsp;</P><P><SPAN>Another way of updating the sql.ini file is to use the DSEDIT tool provided by the client.</SPAN></P><P><SPAN>Launch the tool with administrator access</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Abhishek_Sinha_0-1764945155824.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/348993i22465E03B408A595/image-size/medium?v=v2&amp;px=400" role="button" title="Abhishek_Sinha_0-1764945155824.png" alt="Abhishek_Sinha_0-1764945155824.png" /></span></P><P><SPAN>Click Ok</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Abhishek_Sinha_1-1764945155826.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/348995i9229E6A403C5D327/image-size/medium?v=v2&amp;px=400" role="button" title="Abhishek_Sinha_1-1764945155826.png" alt="Abhishek_Sinha_1-1764945155826.png" /></span></P><P><SPAN>Click on the ServerObject and select Add</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Abhishek_Sinha_2-1764945155827.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/348994i559058373DD3CFCF/image-size/medium?v=v2&amp;px=400" role="button" title="Abhishek_Sinha_2-1764945155827.png" alt="Abhishek_Sinha_2-1764945155827.png" /></span></P><P><SPAN>Enter the name of the repository, this should be exactly the same which will be used in the installation, in this example “CMS”</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Abhishek_Sinha_3-1764945155828.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/348996iD48D86E757BEA15E/image-size/medium?v=v2&amp;px=400" role="button" title="Abhishek_Sinha_3-1764945155828.png" alt="Abhishek_Sinha_3-1764945155828.png" /></span></P><P><SPAN>Double click on the server address bar on the right and click on the add button</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Abhishek_Sinha_4-1764945155830.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/348998i83690DFF35108EF7/image-size/medium?v=v2&amp;px=400" role="button" title="Abhishek_Sinha_4-1764945155830.png" alt="Abhishek_Sinha_4-1764945155830.png" /></span></P><P><SPAN>On the TCP protocol in the network address bar enter the hostname/IP address followed by the port number at which the Sybase ASE DB is reachable separated by a comma</SPAN></P><P><SPAN>Once the entry is added test the connection</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Abhishek_Sinha_5-1764945155832.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/348997i730A593D2E0D2D3D/image-size/medium?v=v2&amp;px=400" role="button" title="Abhishek_Sinha_5-1764945155832.png" alt="Abhishek_Sinha_5-1764945155832.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Abhishek_Sinha_6-1764945155834.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/348999i5276C9C4CB307517/image-size/medium?v=v2&amp;px=400" role="button" title="Abhishek_Sinha_6-1764945155834.png" alt="Abhishek_Sinha_6-1764945155834.png" /></span></P><P><SPAN>Right click and select Ping Server</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Abhishek_Sinha_7-1764945155835.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/349000i3ED8C7A7DEC513FD/image-size/medium?v=v2&amp;px=400" role="button" title="Abhishek_Sinha_7-1764945155835.png" alt="Abhishek_Sinha_7-1764945155835.png" /></span></P><P><SPAN>Click on Ping</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Abhishek_Sinha_8-1764945155837.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/349001iC7CFEAE6A50CB80F/image-size/medium?v=v2&amp;px=400" role="button" title="Abhishek_Sinha_8-1764945155837.png" alt="Abhishek_Sinha_8-1764945155837.png" /></span></P><P><SPAN>A connect succeeded message will prove the connection is successfully established, and an entry will get created in the sql.ini file with right syntax and parameters.</SPAN></P><P><SPAN>Now the installer will identify the CMS and AUDIT database repositories</SPAN></P> 2025-12-05T15:41:19.023000+01:00 https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-sap/hedonic-pricing-what-do-investors-pay-for/ba-p/14298017 Hedonic Pricing: What Do Investors Pay For? 2025-12-26T22:55:40.142000+01:00 dmitry_melnik https://community.sap.com/t5/user/viewprofilepage/user-id/284346 <P><FONT size="5" color="#008080"><STRONG>Executive summary</STRONG></FONT><BR />Investors do not primarily pay for short-term margin spikes or isolated growth initiatives.&nbsp; Instead, over a 35-year horizon, the market has consistently rewarded one thing above all else: <EM>persistency</EM>.&nbsp; This is the term Goldman Sachs attaches to the capital structure discipline, specifically leverage (Assets/Equity).&nbsp; We find that <STRONG>leverage explains the majority of the variation in Home Depot’s Market Cap / Equity, our proxy for the Price/Book ratio</STRONG>.&nbsp; This finding closely replicates Goldman Sachs’ <A href="https://www.gspublishing.com/content/research/en/reports/2019/04/25/fd37fb47-98b6-449c-b325-01885c6b8993.html" target="_blank" rel="noopener nofollow noreferrer">famous analysis of what markets pay for</A>, but applies to a single company and validates using long-horizon time-series data. Profitability and efficiency matter — but they come second.</P><P>This note describes our findings in three simple blocks:</P><UL><LI>data preparation and transformation</LI><LI>results and interpretation</LI><LI>what it means for Home Depot and investors.</LI></UL><P>&nbsp;</P><P><FONT size="5" color="#008080"><STRONG>1. Data preparation: looking at Home Depot the way markets do</STRONG></FONT></P><P>This analysis starts from a simple premise:</P><P><EM>If we want to understand how investors value Home Depot, we must model Home Depot the way investors observe it.</EM></P><P>We assembled&nbsp;<STRONG>144 quarters (1990–2025 YTD)</STRONG> of data covering both market valuation metrics (P/B ratio, Market Cap, Enterprise Value) and accounting fundamentals (assets, equity, leverage, margins, asset turnover).</P><P>This is important: unlike cross-sectional studies across many firms, this model is <STRONG>time-series for a single company</STRONG>. We are not asking <EM>why Home Depot is valued differently than Lowe’s</EM>.&nbsp; We are asking a more precise question:</P><P><FONT face="helvetica" color="#008080"><EM>What has historically driven changes in Home Depot’s valuation over time?</EM></FONT></P><P><STRONG>Log transformations: elasticity, not levels</STRONG></P><P>All core variables are expressed in <STRONG>logarithmic form</STRONG>. This is essential for interpretation:</P><UL><LI>Coefficients become <STRONG>elasticities</STRONG></LI><LI>Relationships become <STRONG>scale-free</STRONG></LI><LI>Long-term growth dynamics dominate short-term noise</LI></UL><P>In plain English: we are modeling <EM>percentage changes investors respond to</EM>, not absolute dollar movements.</P><P>The <EM>dependent</EM> (predicted) variable is the</P><P><STRONG>ln(Market Cap / Equity)</STRONG>,&nbsp;<SPAN>a proxy for the</SPAN><STRONG> P/B ratio</STRONG><SPAN>, directly links market valuation to balance-sheet fundamentals — exactly how long-term equity investors think.</SPAN></P><P>Three <EM>independent</EM> (predictor) variables are</P><P><STRONG>Leverage = (Assets - Goodwill) / Stockholders Equity&nbsp;</STRONG>where we specifically remove Goodwill to account for “tangible leverage” only,</P><P><STRONG>Net Margin = Net Income / Revenue</STRONG>,&nbsp;</P><P><STRONG>Turnover = Revenue / (Assets - Goodwill)</STRONG>&nbsp;here too, assets are net of goodwill for "tangible turnover."</P><P>In one quarter, Home Depot reported negative net income. In 9 quarters the company reported negative equity - initially in 2019 as a result of the adoption of the FASB ASU No. 2016-02, "Leases (Topic 842)".&nbsp; This is why the lines in the plot below exhibit discontinuities: natural logarithm of a negative number is undefined.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1 - log-transformed data.png" style="width: 936px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/356184iE1E9187C24CB1693/image-size/large?v=v2&amp;px=999" role="button" title="1 - log-transformed data.png" alt="1 - log-transformed data.png" /></span></P><P>In log terms, valuation and operating fundamentals move in clear and persistent co-movement over time. &nbsp;Sustained multiple expansion coincides with rising operating efficiency, greater leverage capacity, and improving margins, while periods of valuation compression align with broad-based fundamental deterioration. &nbsp;Valuation itself behaves as a slow-moving state variable, reflecting investors’ long-run assessment of economic capacity, whereas operating metrics adjust at higher frequency around that state. &nbsp;Even during externally imposed disruptions—such as recessions and market panics—temporary dislocations give way to re-convergence, underscoring that market multiples are ultimately disciplined by fundamentals rather than driven by sentiment alone.</P><P>-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------</P><P><FONT face="helvetica" color="#008080"><EM>This systematic co-movement directly motivates a <STRONG>hedonic valuation</STRONG>, in which observed market multiples are modeled as the equilibrium price investors assign to distinct operating characteristics rather than as standalone time-series outcomes.</EM></FONT></P><P><EM>-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------</EM></P><P>&nbsp;</P><P><FONT size="5" color="#008080"><STRONG>2. The hedonic pricing regression: what explains Home Depot's valuation?</STRONG></FONT></P><P>Conceptually, the model mirrors the <STRONG>DuPont identity</STRONG>, which decomposes Return on Equity into three elements:</P><UL><LI><STRONG>Leverage</STRONG> (Assets / Equity)</LI><LI><STRONG>Profitability</STRONG> (Net Margin)</LI><LI><STRONG>Efficiency</STRONG> (Asset Turnover)</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="dmitry_melnik_10-1766783253119.png" style="width: 456px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/356187i3A06FDA1E881FA88/image-dimensions/456x41?v=v2" width="456" height="41" role="button" title="dmitry_melnik_10-1766783253119.png" alt="dmitry_melnik_10-1766783253119.png" /></span></P><P>Our model - with the log-transformed data - is:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="dmitry_melnik_11-1766783253122.png" style="width: 763px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/356188i09A9EB832D16F31F/image-dimensions/763x37?v=v2" width="763" height="37" role="button" title="dmitry_melnik_11-1766783253122.png" alt="dmitry_melnik_11-1766783253122.png" /></span></P><P>To accommodate periods of negative net margin and negative stockholders’ equity, we introduced dummy variables that flag sign changes (0 for positive values, 1 for negative).&nbsp; The inclusion of dummy variables allows the model to accommodate sign changes without materially altering coefficient magnitudes or inference.&nbsp;</P><P>The regression, run in R Studio, produced a formula where most coefficients are statistically significant at the 5% level (p&lt;0.05).&nbsp; The ln_net_margin variable returned a p-value of 0.0744, indicating a 7.4% probability of observing this result (or one more extreme) if there were actually no relationship between ln_net_margin and ln_mktcap_over_equity.</P><P>We drop the decimals:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="dmitry_melnik_12-1766783253122.png" style="width: 674px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/356186i73B67AC948CCF90D/image-dimensions/674x19?v=v2" width="674" height="19" role="button" title="dmitry_melnik_12-1766783253122.png" alt="dmitry_melnik_12-1766783253122.png" /></span></P><P>Here is the most intuitive interpretation of the model’s coefficients and log-terms: <STRONG>elasticity</STRONG>. These bars represent <STRONG>standardized coefficients</STRONG>, not raw elasticities, and are intended for <STRONG>relative magnitude and intuition</STRONG>, not literal percentage translation.</P><TABLE><TBODY><TR><TD width="335px"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2 - Elasticities.png" style="width: 429px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/356190i0FA89D1E76F85554/image-dimensions/429x216?v=v2" width="429" height="216" role="button" title="2 - Elasticities.png" alt="2 - Elasticities.png" /></span><BR /><P>&nbsp;</P></TD><TD width="289px"><P><FONT size="2">Home Depot’s valuation is most sensitive to changes in asset turnover, indicating that improvements in capital efficiency drive market multiples more powerfully than margin expansion alone.</FONT></P></TD></TR><TR><TD width="289px"><P><FONT size="2">In raw log terms, leverage can be interpreted as follows: a 1% increase in leverage increases Market Cap / Equity by approximately 1%.</FONT></P></TD></TR><TR><TD width="289px"><P><FONT size="2">Net margins exhibit a comparatively modest elasticity, suggesting that accounting profitability, while important, does not independently command valuation premiums.</FONT></P></TD></TR></TBODY></TABLE><P>Taken together, the results align closely with how long-term equity investors think: sustainable valuation expansion is rooted in <STRONG>efficient deployment of capital</STRONG>, not short-term margin optimization.</P><P>&nbsp;</P><P><STRONG>The key result: persistency dominates</STRONG></P><P>The model has R2 of 94.05% and Adjusted R2 of 93.91%.&nbsp; If we decompose the individual predictors’ contribution to this explained variance in Market Cap/Equity, the key conclusion emerges:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="3- Contributions.png" style="width: 936px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/356191iD12D47BF82C0A05C/image-size/large?v=v2&amp;px=999" role="button" title="3- Contributions.png" alt="3- Contributions.png" /></span></P><P>Visually, this is striking: the largest block by far is leverage. Most of what investors paid for Home Depot over 35 years is captured by three variables of which Leverage is the most significant. This is what Goldman Sachs found in their panel data analysis calling the hedonic pricing element <STRONG><EM>persistency</EM></STRONG>.</P><P>Persistency, in Goldman’s framework, means:</P><UL><LI>Stable capital structure</LI><LI>Predictable balance-sheet scaling</LI><LI>Consistency in how equity is multiplied into assets and cash flows</LI></UL><P>What we have done here is <STRONG>replicate that insight</STRONG>, but:</P><UL><LI>For <STRONG>one company</STRONG></LI><LI>Using <STRONG>35 years of quarterly data</STRONG></LI><LI>With a <STRONG>fully transparent regression framework</STRONG></LI></UL><P>The alignment is almost exact.</P><P>Notably, the model contains no explicit time trends, macroeconomic variables, or sentiment indicators—yet it explains over 94% of valuation variation, underscoring how consistently markets price the same economic fundamentals.</P><P>In Home Depot’s case, leverage alone explains <STRONG>roughly two-thirds of the market’s valuation signal</STRONG>. Profitability matters — but it is secondary, less persistent, and less trusted by investors as a long-term signal.</P><P><EM>Both actual and predicted series represent the log market-cap-to-equity multiple where </EM></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="dmitry_melnik_14-1766783705725.png" style="width: 240px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/356192i72EFDAF546587FCA/image-dimensions/240x74?v=v2" width="240" height="74" role="button" title="dmitry_melnik_14-1766783705725.png" alt="dmitry_melnik_14-1766783705725.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="4 - Actual vs Predicted.png" style="width: 936px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/356193iCCD54DFE05C9BAB9/image-size/large?v=v2&amp;px=999" role="button" title="4 - Actual vs Predicted.png" alt="4 - Actual vs Predicted.png" /></span></P><P>The chart shows that a simple three-variable hedonic model tracks Home Depot’s valuation remarkably well over more than three decades. Even though the model has <STRONG>no awareness of time, cycles, or sentiment</STRONG>, its predicted valuation closely follows the actual market valuation across multiple regimes. Deviations between the two lines are concentrated in periods of market stress or speculative excess, while long-run trends are captured cleanly.</P><P>In other words, <STRONG>investors consistently price the same economic fundamentals</STRONG>, though they might temporarily lose discipline during panics and recessions.</P><P>This directly supports the executive intuition captured in the quote by <FONT face="georgia,palatino" color="#008080"><EM><A title="Dilip Shanghvi, Founder and Executive Chairman of Sun Pharmaceutical Industries Limited" href="https://sunpharma.com/board-of-directors/" target="_self" rel="nofollow noopener noreferrer">Dilip Shanghvi, the founder and CEO of Sun Pharmaceuticals</A>: </EM></FONT></P><P><FONT face="georgia,palatino" color="#008080"><STRONG>“I will never risk capital; but I will risk profit.”</STRONG></FONT></P><P>Markets agree.</P><P>&nbsp;</P><P><FONT size="5" color="#008080"><STRONG>3. How solid is our model? Is it "too clean"?</STRONG></FONT></P><P>No serious business model should avoid this question.</P><P><STRONG>Residual behavior (what we checked)</STRONG></P><P>We explicitly reviewed:</P><UL><LI>Residual distribution</LI><LI>Residuals vs. fitted values</LI><LI>Time clustering during stress periods</LI></UL><TABLE><TBODY><TR><TD width="312"><P>&nbsp;</P></TD><TD width="312"><P>&nbsp;</P></TD></TR><TR><TD width="312"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="5 - Residuals fitted.png" style="width: 437px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/356196i00EE7E19AE3C8264/image-size/large?v=v2&amp;px=999" role="button" title="5 - Residuals fitted.png" alt="5 - Residuals fitted.png" /></span><BR /><P>&nbsp;</P></TD><TD width="312"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="6 - Residuals QQ.png" style="width: 457px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/356197iF439EA9A0E25B984/image-size/large?v=v2&amp;px=999" role="button" title="6 - Residuals QQ.png" alt="6 - Residuals QQ.png" /></span><BR /><P>&nbsp;</P></TD></TR></TBODY></TABLE><P>With F-statistics 684.4 on 3 and 130 degrees of freedom and p-value &lt; 2.2 x 10-16, the model is structurally sound, though markets still panic occasionally — and then revert.</P><P>That is exactly what we would expect from real investors.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="7 - Residuals timeseries.png" style="width: 936px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/356198i46039460158AC1CC/image-size/large?v=v2&amp;px=999" role="button" title="7 - Residuals timeseries.png" alt="7 - Residuals timeseries.png" /></span></P><H3 id="toc-hId-1896617223">What do residuals tell us</H3><P>Residuals widen during periods of macro-financial stress, including the Global Financial Crisis, COVID, and the post-2022 rate shock. This is expected: markets temporarily price fear, liquidity constraints, and narrative risk beyond firm-level fundamentals.</P><P>Outside stress regimes, residuals oscillate tightly around zero with no persistent bias. Deviations cluster in time rather than by sign, indicating regime effects rather than model misspecification. Overvaluation episodes—most notably the late 1990s—mean-revert as market discipline reasserts itself.</P><P><STRONG>Bottom line:</STRONG> the model “fails” when markets panic — and reliably re-anchors valuation once sentiment normalizes.</P><P class="lia-align-center" style="text-align: center;">&nbsp;</P><P class="lia-align-center" style="text-align: center;">*&nbsp; &nbsp;*&nbsp; &nbsp;*</P><P>&nbsp;</P><P><FONT size="5" color="#008080"><STRONG>So, what does this actually mean for Home Depot?</STRONG></FONT></P><P><STRONG>Insight #1: capital discipline is the valuation anchor</STRONG></P><P>Home Depot’s high valuation multiple is not fragile.&nbsp; It is anchored in:</P><UL><LI>Consistent leverage</LI><LI>Predictable scaling of equity</LI><LI>Transparent capital return policy</LI></UL><P>Any <EM>unexpected</EM> shift in capital structure — aggressive deleveraging or sudden debt expansion — would matter far more to valuation than a bad margin quarter.</P><P><STRONG>Insight #2: profitability matters — but only if it is repeatable</STRONG></P><P>Operational improvements (margin, turnover, ROA) explain about <STRONG>one quarter</STRONG> of valuation variation.&nbsp; That is meaningful — but markets discount one-off wins.&nbsp; Investors prefer:</P><UL><LI>Incremental improvements</LI><LI>Predictable execution</LI><LI>Fewer surprises</LI></UL><P>Spectacular quarters impress analysts. Consistent ones move valuation.</P><P><STRONG>Insight #3: macro matters less than headlines suggest</STRONG></P><P>Despite constant focus on rates, housing cycles, and sentiment, macro variables explain only a <STRONG>single-digit share</STRONG> of long-term valuation variation.&nbsp;&nbsp;Home Depot’s valuation history is fundamentally a <STRONG>company-driven story</STRONG>, not a macro-driven one.</P><P>Once <STRONG>full-year 2025 financials</STRONG> are available, we will:</P><UL><LI>Re-estimate the model</LI><LI>Test coefficient stability</LI><LI>Re-evaluate valuation implications under the new regime and compare/contrast the hedonic pricing model with the traditional DCF valuation model</LI></UL><P>If history is any guide, the conclusion is unlikely to change — but the <EM>path</EM> may.</P><DIV class="">&nbsp;</DIV><P><FONT color="#008080"><STRONG>Final thought</STRONG></FONT></P><P>Markets are often accused of being short-term and irrational. Over 35 years of Home Depot data suggests the opposite.</P><P>Investors are remarkably consistent in what they reward.</P><P>They pay for persistency.</P> 2025-12-26T22:55:40.142000+01:00 https://community.sap.com/t5/technology-blog-posts-by-members/high-impact-sap-data-objects-to-clean-for-an-s-4hana-selective-transition/ba-p/14308011 High Impact SAP Data Objects to Clean for an S/4HANA Selective Transition from ECC 2026-01-15T13:38:05.506000+01:00 STALANKI https://community.sap.com/t5/user/viewprofilepage/user-id/13911 <P class=""><STRONG>*Views Expressed here are my own and doesn't represent any entity.</STRONG></P><H3 id="toc-hId-1916934679">Introduction</H3><P class="">Moving from SAP ECC to S/4HANA using a Selective Data Transition is not just a technical system conversion,it is a data transformation journey. While selective carve outs allow organizations to migrate only relevant organizational units, time slices, or data sets, poor data quality can jeopardize the entire S/4HANA transformation.S/4HANA’s simplified data model, stricter checks, and real-time processing mean that legacy inconsistencies tolerated in ECC will cause errors, functional gaps, or performance issues in S/4HANA.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="STALANKI_2-1768480339793.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/361632i403C44F39EB166DD/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="STALANKI_2-1768480339793.png" alt="STALANKI_2-1768480339793.png" /></span></P><P class="">This blog outlines the SAP data objects that require mandatory data cleaning before a selective S/4HANA migration, along with practical examples and rationale for each.</P><H3 id="toc-hId-1720421174">Why Data Cleaning Is Mandatory in a Selective Transition</H3><P class="">In a selective approach:</P><UL class=""><LI><P class="">Only chosen company codes, plants, or years are migrated</P></LI><LI><P class="">Historical inconsistencies become more visible</P></LI><LI><P class="">Data is restructured, not simply converted</P></LI></UL><P class="">S/4HANA:</P><UL class=""><LI><P class="">Enforces business partner (BP) as a single master</P></LI><LI><P class="">Removes many legacy tables</P></LI><LI><P class="">Uses real-time reconciliation</P></LI><LI><P class="">Requires consistent master and transactional data</P></LI></UL><P class="">Without cleaning, you risk:</P><UL class=""><LI><P class="">Migration failures</P></LI><LI><P class="">Reconciliation mismatches</P></LI><LI><P class="">Broken business processes</P></LI><LI><P class="">Delayed go-lives</P></LI></UL><DIV class=""><HR /><DIV class=""><STRONG><FONT size="5">1. Business Partner (Customer &amp; Vendor)</FONT></STRONG></DIV></DIV><H3 id="toc-hId-1523907669"><FONT size="4">What Needs Cleaning</FONT></H3><UL class=""><LI><P class="">Duplicate customers/vendors</P></LI><LI><P class="">Inconsistent master data across company codes</P></LI><LI><P class="">Missing mandatory fields (address, tax, bank details)</P></LI><LI><P class="">Vendors acting as customers (and vice versa)</P></LI></UL><H3 id="toc-hId-1327394164">ECC Example</H3><UL class=""><LI><P class="">Vendor 100045 exists for AP</P></LI><LI><P class="">Customer 200078 exists for AR</P></LI><LI><P class="">Same legal entity, different tax IDs and addresses</P></LI></UL><H3 id="toc-hId-1130880659"><FONT size="4">Why This Is Mandatory</FONT></H3><P class="">In S/4HANA:</P><UL class=""><LI><P class="">Customers and Vendors are merged into Business Partner</P></LI><LI><P class="">Roles (Customer, Supplier) are assigned to a single BP number</P></LI><LI><P class="">Inconsistent data causes CVI (Customer Vendor Integration) errors</P></LI></UL><H3 id="toc-hId-934367154"><FONT size="4">Rationale</FONT></H3><P class="">Selective transitions often migrate only certain company codes, making duplicates harder to reconcile post-migration. Cleaning ensures:</P><UL class=""><LI><P class="">Smooth BP conversion</P></LI><LI><P class="">Accurate AR/AP reporting</P></LI><LI><P class="">Compliance with S/4 data model</P></LI></UL><DIV class=""><HR /><DIV class=""><STRONG><FONT size="5">2. Material Master Data</FONT></STRONG></DIV></DIV><H3 id="toc-hId-737853649">What Needs Cleaning</H3><UL class=""><LI><P class="">Obsolete or unused materials</P></LI><LI><P class="">Incomplete views (MM, SD, PP)</P></LI><LI><P class="">Invalid units of measure</P></LI><LI><P class="">Duplicate material numbers</P></LI></UL><H3 id="toc-hId-541340144"><FONT size="4">ECC Example</FONT></H3><UL class=""><LI><P class="">Material created but never used in 8 years</P></LI><LI><P class="">Sales view missing for materials with open SD history</P></LI><LI><P class="">Base UoM inconsistent with alternative UoM</P></LI></UL><H3 id="toc-hId-344826639"><FONT size="4">Why This Is Mandatory</FONT></H3><P class="">S/4HANA:</P><UL class=""><LI><P class="">Performs real-time MRP</P></LI><LI><P class="">Uses simplified inventory tables (MATDOC)</P></LI><LI><P class="">Enforces stricter checks on material consistency</P></LI></UL><H3 id="toc-hId-148313134">Rationale</H3><P class="">Migrating unused or inconsistent materials:</P><UL class=""><LI><P class="">Increases migration volume</P></LI><LI><P class="">Slows performance</P></LI><LI><P class="">Causes MRP and ATP errors</P></LI></UL><P class="">Selective transitions benefit most by reducing material footprint.</P><DIV class=""><HR /><DIV class=""><STRONG><FONT size="5">3. Chart of Accounts &amp; G/L Accounts</FONT></STRONG></DIV></DIV><H3 id="toc-hId--123431740"><FONT size="4">What Needs Cleaning</FONT></H3><UL class=""><LI><P class="">Blocked or unused G/L accounts</P></LI><LI><P class="">Accounts without proper account type</P></LI><LI><P class="">Inconsistent descriptions across company codes</P></LI><LI><P class="">Legacy reconciliation accounts</P></LI></UL><H3 id="toc-hId--319945245"><FONT size="4">ECC Example</FONT></H3><UL class=""><LI><P class="">G/L 799999 created for testing, never used</P></LI><LI><P class="">Same G/L has different names in different company codes</P></LI></UL><H3 id="toc-hId--516458750">Why This Is Mandatory</H3><P class="">S/4HANA:</P><UL class=""><LI><P class="">Introduces Universal Journal (ACDOCA)</P></LI><LI><P class="">FI and CO are merged</P></LI><LI><P class="">Reconciliation accounts behave differently</P></LI></UL><H3 id="toc-hId--712972255">Rationale</H3><P class="">Dirty G/L data leads to:</P><UL class=""><LI><P class="">Conversion errors</P></LI><LI><P class="">Financial reconciliation issues</P></LI><LI><P class="">Incorrect financial statements</P></LI></UL><P class="">In selective transitions, only active and relevant accounts should be migrated.</P><DIV class=""><HR /><DIV class=""><STRONG><FONT size="5">4. Open Financial Transactions (AR/AP)</FONT></STRONG></DIV></DIV><H3 id="toc-hId--909485760"><FONT size="4">What Needs Cleaning</FONT></H3><UL class=""><LI><P class="">Cleared documents not properly closed</P></LI><LI><P class="">Open items with incorrect statuses</P></LI><LI><P class="">Residual items with zero balance</P></LI><LI><P class="">Old parked documents</P></LI></UL><H3 id="toc-hId--1105999265">ECC Example</H3><UL class=""><LI><P class="">Invoice marked as open but cleared manually</P></LI><LI><P class="">Zero-balance open items still flagged as open</P></LI></UL><H3 id="toc-hId--1302512770">Why This Is Mandatory</H3><P class="">S/4HANA:</P><UL class=""><LI><P class="">Performs real-time reconciliation</P></LI><LI><P class="">No longer tolerates technical inconsistencies</P></LI><LI><P class="">Universal Journal requires exact balances</P></LI></UL><H3 id="toc-hId--1499026275">Rationale</H3><P class="">Open AR/AP items are always migrated in selective scenarios. Incorrect open items cause:</P><UL class=""><LI><P class="">Balance mismatches</P></LI><LI><P class="">Failed migrations</P></LI><LI><P class="">Post-go-live reconciliation chaos</P></LI></UL><DIV class=""><HR /><DIV class=""><STRONG><FONT size="5">5. Asset Accounting (FI-AA)</FONT></STRONG></DIV></DIV><H3 id="toc-hId--1695539780"><FONT size="4">What Needs Cleaning</FONT></H3><UL class=""><LI><P class="">Assets without acquisition values</P></LI><LI><P class="">Assets without depreciation areas</P></LI><LI><P class="">Retired assets still marked as active</P></LI><LI><P class="">Incomplete asset master records</P></LI></UL><H3 id="toc-hId--1892053285"><FONT size="4">ECC Example</FONT></H3><UL class=""><LI><P class="">Asset created but never capitalized</P></LI><LI><P class="">Depreciation area missing for a company code</P></LI></UL><H3 id="toc-hId--1920383099"><FONT size="4">Why This Is Mandatory</FONT></H3><P class="">S/4HANA:</P><UL class=""><LI><P class="">Uses New Asset Accounting only</P></LI><LI><P class="">Fully integrated into Universal Journal</P></LI><LI><P class="">Legacy asset inconsistencies cannot be converted</P></LI></UL><H3 id="toc-hId--2116896604">Rationale</H3><P class="">Selective transitions often migrate only active assets. Cleaning ensures:</P><UL class=""><LI><P class="">Correct depreciation</P></LI><LI><P class="">Accurate asset balances</P></LI><LI><P class="">Compliance with S/4 FI-AA model</P></LI></UL><DIV class=""><HR /><DIV class=""><FONT size="5"><SPAN>6. Open Logistics Transactions</SPAN></FONT></DIV></DIV><H3 id="toc-hId-1981557187"><FONT size="4">What Needs Cleaning</FONT></H3><UL class=""><LI><P class="">Open purchase orders with no activity</P></LI><LI><P class="">Incomplete deliveries</P></LI><LI><P class="">Open production orders never closed</P></LI><LI><P class="">Inconsistent goods movements</P></LI></UL><H3 id="toc-hId-1785043682"><FONT size="4">ECC Example</FONT></H3><UL class=""><LI><P class="">PO created 6 years ago, no GR, no IR</P></LI><LI><P class="">Production order technically complete but not closed</P></LI></UL><H3 id="toc-hId-1588530177"><FONT size="4">Why This Is Mandatory</FONT></H3><P class="">S/4HANA:</P><UL class=""><LI><P class="">Uses MATDOC for inventory</P></LI><LI><P class="">Enforces strict document flow</P></LI><LI><P class="">Real-time stock valuation</P></LI></UL><H3 id="toc-hId-1392016672">Rationale</H3><P class="">Open logistics documents are technically migrated, not recreated. Dirty data causes:</P><UL class=""><LI><P class="">Stock inconsistencies</P></LI><LI><P class="">Migration failures</P></LI><LI><P class="">Incorrect inventory valuation</P></LI></UL><DIV class=""><HR /><DIV class=""><FONT size="5"><SPAN>7. Customizing and Organizational Data</SPAN></FONT></DIV></DIV><H3 id="toc-hId-1195503167"><FONT size="4">What Needs Cleaning</FONT></H3><UL class=""><LI><P class="">Unused plants, storage locations</P></LI><LI><P class="">Inactive company codes</P></LI><LI><P class="">Invalid assignments (plant to company code)</P></LI><LI><P class="">Legacy controlling areas</P></LI></UL><H3 id="toc-hId-998989662">ECC Example</H3><UL class=""><LI><P class="">Plant exists but no postings in 10 years</P></LI><LI><P class="">Company code included but not in scope</P></LI></UL><H3 id="toc-hId-802476157">Why This Is Mandatory</H3><P class="">Selective transitions rely on precise scoping. Invalid org data:</P><UL class=""><LI><P class="">Complicates data slicing</P></LI><LI><P class="">Causes migration logic conflicts</P></LI><LI><P class="">Increases testing effort</P></LI></UL><H3 id="toc-hId-605962652">Rationale</H3><P class="">Clean org structures ensure:</P><UL class=""><LI><P class="">Correct selective extraction</P></LI><LI><P class="">Lean S/4 system</P></LI><LI><P class="">Lower total cost of ownership</P></LI></UL><DIV class=""><HR /><DIV class=""><FONT size="5"><STRONG>8. Custom Code &amp; Z-Objects (Indirect Data Impact)</STRONG></FONT></DIV></DIV><H3 id="toc-hId-577632838"><FONT size="4">What Needs Cleaning</FONT></H3><UL class=""><LI><P class="">Z-tables with obsolete data</P></LI><LI><P class="">Custom programs using removed tables</P></LI><LI><P class="">Hard-coded company codes or years</P></LI></UL><H3 id="toc-hId-381119333"><FONT size="4">ECC Example</FONT></H3><UL class=""><LI><P class="">Z-table referencing BKPF/BSEG directly</P></LI><LI><P class="">Custom report using VBFA incorrectly</P></LI></UL><H3 id="toc-hId-184605828"><FONT size="4">Why This Is Mandatory</FONT></H3><P class="">While not migrated as data:</P><UL class=""><LI><P class="">Custom code processes migrated data</P></LI><LI><P class="">Dirty Z-data can break business processes</P></LI></UL><H3 id="toc-hId--11907677"><FONT size="4">Rationale</FONT></H3><P class="">Selective data migration often includes selective Z-data. Cleaning avoids:</P><UL class=""><LI><P class="">Runtime errors</P></LI><LI><P class="">Incorrect reporting</P></LI><LI><P class="">Post-go-live defects</P></LI></UL><DIV class=""><HR /><DIV class=""><STRONG><FONT size="5">Understand your Business "WHY" for DATA CLEARLY</FONT></STRONG></DIV></DIV><P class="">A Selective S/4HANA transition magnifies data quality issues because only parts of the system are migrated. S/4HANA’s simplified architecture does not tolerate inconsistencies that ECC allowed for decades.</P><H3 id="toc-hId--208421182"><FONT size="4">Mandatory Data Cleaning Ensures:</FONT></H3><UL class=""><LI><P class="">Successful migration runs</P></LI><LI><P class="">Accurate financial reconciliation</P></LI><LI><P class="">Stable business processes</P></LI><LI><P class="">Long-term S/4HANA performance</P></LI></UL><H3 id="toc-hId--404934687">Key Takeaway:</H3><BLOCKQUOTE><P class="">Data cleansing is not a technical task—it is a business transformation enabler.</P></BLOCKQUOTE><P class=""><STRONG>#S4HANA</STRONG> <STRONG>#DATA</STRONG> <STRONG>#DATACLEANSING</STRONG> <STRONG>#MandatoryS4HANADATAOBJECTS</STRONG> <STRONG>#SAPECCtoS4HANA</STRONG> <STRONG>#SelectiveTransformation</STRONG> <STRONG>#DataQuality</STRONG> <STRONG>#ERPTransformation</STRONG></P><P class=""><STRONG>#LegacyModernization</STRONG></P> 2026-01-15T13:38:05.506000+01:00 https://community.sap.com/t5/technology-blog-posts-by-sap/helpful-tips-and-tricks-to-save-time-when-developing-in-sap-data-services/ba-p/14324144 Helpful tips and tricks to save time when developing in SAP Data Services - Macro Substitutions 2026-02-09T12:15:24.597000+01:00 Julian_Riegel https://community.sap.com/t5/user/viewprofilepage/user-id/278009 <P>Did you ever have to deal with a <EM>wide table</EM> or an input file format containing dozens—or even hundreds—of columns, each storing different attributes of a single record?</P><P>And did you then find yourself cleaning those fields, applying functions, adjusting data types, and mapping everything to a target structure <STRONG>one column at a time</STRONG>?</P><P>If so, you’re definitely not alone. Fortunately, SAP Data Services provides a built-in feature that can dramatically reduce the effort required for exactly these kinds of scenarios.</P><HR /><H3 id="toc-hId-1918663614">The Challenge: Wide Files and Manual Effort</H3><P>Let’s assume you are tasked with processing large and wide input files—such as <CODE>.txt</CODE>, <CODE>.csv</CODE>, or even <CODE>.xlsx</CODE>—using SAP Data Services.<BR />Your goal is to load this data into a database in a <STRONG>clean, uniform, and standardized format</STRONG>, so it can be processed further downstream.</P><P>Manually applying cleansing logic and data type adjustments to each column quickly becomes inefficient and error-prone when dealing with large schemas.</P><HR /><H3 id="toc-hId-1722150109">The Solution: Bulk Column Adjustments in a Query Transform</H3><P>The SAP Data Services Designer Client includes a <STRONG>built-in solution for bulk modifications of multiple attributes at once</STRONG>.</P><P>To make use of it, insert a <STRONG>Query transform</STRONG> directly after your file or table input and pull all input attributes into the output schema.</P><P>Now you can select the columns you want to adjust:</P><UL><LI><P>Click the first attribute, scroll down, and <EM>Shift-click</EM> the last one</P></LI><LI><P>Or simply use <STRONG>Ctrl + A</STRONG> to select all output columns</P></LI><LI><P>If you only want to work on a subset, use <STRONG>Ctrl-click</STRONG> to select individual attributes</P></LI></UL><P>Once the desired columns are selected, <STRONG>right-click on any highlighted column</STRONG> and choose <STRONG>“Properties…”:</STRONG></P><P><STRONG><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julian_Riegel_0-1770633052148.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370288i55BB4A07AF676FD0/image-size/large?v=v2&amp;px=999" role="button" title="Julian_Riegel_0-1770633052148.png" alt="Julian_Riegel_0-1770633052148.png" /></span></STRONG></P><HR /><H3 id="toc-hId-1525636604">Multiple Column Properties Window</H3><P>You are now in the <EM>Multiple Column Properties</EM> window. All previously selected attributes are grouped together, allowing you to apply changes to all of them in one go.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julian_Riegel_1-1770633301402.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370291i0E27F72663114514/image-size/medium?v=v2&amp;px=400" role="button" title="Julian_Riegel_1-1770633301402.png" alt="Julian_Riegel_1-1770633301402.png" /></span></P><P>In this example, let’s assume we want to:</P><UL><LI><P>Change the data type of all selected columns to <CODE>VARCHAR(80)</CODE></P></LI><LI><P>Apply a basic cleansing logic to every field</P></LI></UL><P>To do this:</P><UL><LI><P>Enable the <STRONG>Data type</STRONG> checkbox and set the length to <CODE>80</CODE></P></LI><LI><P>Disable <STRONG>Content type</STRONG> and <STRONG>Description</STRONG></P></LI><LI><P>Keep the <STRONG>Mapping</STRONG> checkbox enabled</P></LI></UL><HR /><H3 id="toc-hId-1329123099">Applying Identical Logic Using Macro Substitutions</H3><P>In the <STRONG>Mapping</STRONG> section, you can apply identical transformation logic to all selected columns while keeping their original names intact.</P><P>This is achieved using the <CODE>{original_expression}</CODE> macro.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julian_Riegel_2-1770633419755.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370292i444D9F45E28DBF13/image-size/medium?v=v2&amp;px=400" role="button" title="Julian_Riegel_2-1770633419755.png" alt="Julian_Riegel_2-1770633419755.png" /></span></P><P>Example mapping logic:</P><pre class="lia-code-sample language-javascript"><code>ltrim(rtrim(upper(nvl(FF_PCO_EMS_EXTRACT.ExpectedClosingDate,'')),' '), ' ')</code></pre><DIV class="">&nbsp;</DIV><DIV class=""><SPAN>This expression:</SPAN></DIV><UL><LI><P>Trims leading and trailing spaces</P></LI><LI><P>Converts values to uppercase</P></LI><LI><P>Replaces <CODE>NULL</CODE> values using <CODE>NVL</CODE> (also known as <CODE>COALESCE</CODE>)</P></LI></UL><P>Once you click <STRONG>OK</STRONG>, the mapping logic and data type changes are applied to all selected output columns at once.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Julian_Riegel_3-1770633991086.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/370317i97999586EED73D02/image-size/large?v=v2&amp;px=999" role="button" title="Julian_Riegel_3-1770633991086.png" alt="Julian_Riegel_3-1770633991086.png" /></span></P><HR /><H3 id="toc-hId-1132609594">The Result</H3><P>Voilà!<BR />You have just <STRONG>mass-updated data types and mapping logic for a large number of fields in seconds</STRONG>.</P><P>This approach is especially useful when:</P><UL><LI><P>Working with very wide files or tables</P></LI><LI><P>Applying standard cleansing rules early in a dataflow</P></LI><LI><P>Grouping columns into subsets that require different treatments (e.g. different data types or functions)</P></LI></UL><P>If you have ever relied on copy &amp; paste or manual adjustments for each attribute in the Designer Client, this technique will save you a significant amount of time—and frustration.</P><P>Give it a try. I hope it helps anyone out there who is struggling with wide tables or file formats!</P><P><EM>Julian</EM></P> 2026-02-09T12:15:24.597000+01:00