<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic String and Split Function in ABAP in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/string-and-split-function-in-abap/m-p/4622230#M1088818</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; I am working in SAP BI in Indra in Barcelona and I have a small problem. The point is that i have never programmed in ABAP so I hope someone can help me in that matter. In  &lt;/P&gt;&lt;P&gt; the SAP Source-Sytem from where I am extracting the data there is a field with the name ZZFILE_NAME. The content of this field is for example (I post 2 Examples) is the  &lt;/P&gt;&lt;P&gt; following data:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;STRONG&gt;Example 1:&lt;/STRONG&gt; u201C /home_dev/x11/Electricidad/0024/Alta/A1/0024_A1_01_01_20080522_ES0031406938784737AY0F_200800000001.xml u201D&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; or&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;STRONG&gt;Example 2:&lt;/STRONG&gt;  u201C /home_dev/x11/Gas/No_GND/0230/A1_SCTD_GC_0031_0230_02_20080526_100721.xml u201D&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; I just need to import into the Business Warehouse System the content of the data after the last slash. So in the case of the ExamplesI I just need:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Example 1: &lt;/P&gt;&lt;P&gt; &lt;STRONG&gt;u201C0024_A1_01_01_20080522_ES0031406938784737AY0F_200800000001.xmlu201D&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; or&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Example 2:&lt;/P&gt;&lt;P&gt; &lt;STRONG&gt;u201CA1_SCTD_GC_0031_0230_02_20080526_100721.xmlu201D&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Between the Data Source and the first Table of the Data Store Object in the Datawarehouse of SAP BI there is the following Transfer Routine I have to change. Anybody can &lt;/P&gt;&lt;P&gt; help me in that matter?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; The transfer-Routine actually is like the following code. What do I have to change there? Anybody can give me some hints?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROGRAM trans_routine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS routine DEFINITION &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;CLASS lcl_transform DEFINITION.&lt;/P&gt;&lt;P&gt;PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Attributs &lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;p_check_master_data_exist&lt;/P&gt;&lt;P&gt;TYPE RSODSOCHECKONLY READ-ONLY,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Instance for getting request runtime attributs; &lt;/P&gt;&lt;P&gt;Available information: Refer to methods of &lt;/P&gt;&lt;P&gt;interface 'if_rsbk_request_admintab_view' &lt;/P&gt;&lt;P&gt;p_r_request&lt;/P&gt;&lt;P&gt;TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: rsd, rstr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rule specific types &lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;BEGIN OF &lt;U&gt;ty&lt;/U&gt;s_SC_1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Field: ZZFILE_NAME File URL. &lt;/P&gt;&lt;P&gt;ZZFILE_NAME TYPE C LENGTH 255,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Field: RECORD. &lt;/P&gt;&lt;P&gt;RECORD TYPE RSARECORD,&lt;/P&gt;&lt;P&gt;END OF &lt;U&gt;ty&lt;/U&gt;s_SC_1.&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;BEGIN OF &lt;U&gt;ty&lt;/U&gt;s_TG_1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;InfoObject: ZCSWFILEN NOMBRE FICHERO XML MENSAJE. &lt;/P&gt;&lt;P&gt;/BIC/ZCSWFILEN TYPE /BIC/OIZCSWFILEN,&lt;/P&gt;&lt;P&gt;END OF &lt;U&gt;ty&lt;/U&gt;s_TG_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$ begin of global - insert your declaration only below this line -&lt;/P&gt;&lt;P&gt;... "insert your code here&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$ end of global - insert your declaration only before this line -&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;METHODS&lt;/P&gt;&lt;P&gt;compute_ZCSWFILEN&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;request type rsrequest&lt;/P&gt;&lt;P&gt;datapackid type rsdatapid&lt;/P&gt;&lt;P&gt;SOURCE_FIELDS type &lt;U&gt;ty&lt;/U&gt;s_SC_1&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;RESULT type &lt;U&gt;ty&lt;/U&gt;s_TG_1-/BIC/ZCSWFILEN&lt;/P&gt;&lt;P&gt;monitor type rstr_ty_t_monitor&lt;/P&gt;&lt;P&gt;RAISING&lt;/P&gt;&lt;P&gt;cx_rsrout_abort&lt;/P&gt;&lt;P&gt;cx_rsrout_skip_record&lt;/P&gt;&lt;P&gt;cx_rsrout_skip_val.&lt;/P&gt;&lt;P&gt;METHODS&lt;/P&gt;&lt;P&gt;invert_ZCSWFILEN&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;i_th_fields_outbound TYPE rstran_t_field_inv&lt;/P&gt;&lt;P&gt;i_r_selset_outbound TYPE REF TO cl_rsmds_set&lt;/P&gt;&lt;P&gt;i_is_main_selection TYPE rs_bool&lt;/P&gt;&lt;P&gt;i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set&lt;/P&gt;&lt;P&gt;i_r_universe_inbound TYPE REF TO cl_rsmds_universe&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;c_th_fields_inbound TYPE rstran_t_field_inv&lt;/P&gt;&lt;P&gt;c_r_selset_inbound TYPE REF TO cl_rsmds_set&lt;/P&gt;&lt;P&gt;c_exact TYPE rs_bool.&lt;/P&gt;&lt;P&gt;ENDCLASS. "routine DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$ begin of 2nd part global - insert your code only below this line *&lt;/P&gt;&lt;P&gt;... "insert your code here&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$ end of 2nd part global - insert your code only before this line *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS routine IMPLEMENTATION &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;CLASS lcl_transform IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;METHOD compute_ZCSWFILEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;request type rsrequest &lt;/P&gt;&lt;P&gt;datapackid type rsdatapid &lt;/P&gt;&lt;P&gt;SOURCE_FIELDS-ZZFILE_NAME TYPE C LENGTH 000255 &lt;/P&gt;&lt;P&gt;EXPORTING &lt;/P&gt;&lt;P&gt;RESULT type &lt;U&gt;ty&lt;/U&gt;s_TG_1-/BIC/ZCSWFILEN &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;MONITOR_REC TYPE rsmonitor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$ begin of routine - insert your code only below this line -&lt;/P&gt;&lt;P&gt;... "insert your code here&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fill table "MONITOR" with values of structure "MONITOR_REC" &lt;/P&gt;&lt;P&gt;to make monitor entries &lt;/P&gt;&lt;P&gt;... "to cancel the update process&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;raise exception type CX_RSROUT_ABORT. &lt;/P&gt;&lt;P&gt;... "to skip a record&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;raise exception type CX_RSROUT_SKIP_RECORD. &lt;/P&gt;&lt;P&gt;... "to clear target fields&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;raise exception type CX_RSROUT_SKIP_VAL. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RESULT = .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$ end of routine - insert your code only before this line -&lt;/P&gt;&lt;P&gt;ENDMETHOD. "compute_ZCSWFILEN&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Method invert_ZCSWFILEN &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This subroutine needs to be implemented only for direct access &lt;/P&gt;&lt;P&gt;(for better performance) and for the Report/Report Interface &lt;/P&gt;&lt;P&gt;(drill through). &lt;/P&gt;&lt;P&gt;The inverse routine should transform a projection and &lt;/P&gt;&lt;P&gt;a selection for the target to a projection and a selection &lt;/P&gt;&lt;P&gt;for the source, respectively. &lt;/P&gt;&lt;P&gt;If the implementation remains empty all fields are filled and &lt;/P&gt;&lt;P&gt;all values are selected. &lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;METHOD invert_ZCSWFILEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$ begin of inverse routine - insert your code only below this line&lt;STRONG&gt;-&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;... "insert your code here&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$ end of inverse routine - insert your code only before this line -&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMETHOD. "invert_ZCSWFILEN&lt;/P&gt;&lt;P&gt;ENDCLASS. "routine IMPLEMENTATION&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 14 Oct 2008 07:42:33 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-10-14T07:42:33Z</dc:date>
    <item>
      <title>String and Split Function in ABAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/string-and-split-function-in-abap/m-p/4622230#M1088818</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; I am working in SAP BI in Indra in Barcelona and I have a small problem. The point is that i have never programmed in ABAP so I hope someone can help me in that matter. In  &lt;/P&gt;&lt;P&gt; the SAP Source-Sytem from where I am extracting the data there is a field with the name ZZFILE_NAME. The content of this field is for example (I post 2 Examples) is the  &lt;/P&gt;&lt;P&gt; following data:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;STRONG&gt;Example 1:&lt;/STRONG&gt; u201C /home_dev/x11/Electricidad/0024/Alta/A1/0024_A1_01_01_20080522_ES0031406938784737AY0F_200800000001.xml u201D&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; or&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;STRONG&gt;Example 2:&lt;/STRONG&gt;  u201C /home_dev/x11/Gas/No_GND/0230/A1_SCTD_GC_0031_0230_02_20080526_100721.xml u201D&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; I just need to import into the Business Warehouse System the content of the data after the last slash. So in the case of the ExamplesI I just need:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Example 1: &lt;/P&gt;&lt;P&gt; &lt;STRONG&gt;u201C0024_A1_01_01_20080522_ES0031406938784737AY0F_200800000001.xmlu201D&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; or&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Example 2:&lt;/P&gt;&lt;P&gt; &lt;STRONG&gt;u201CA1_SCTD_GC_0031_0230_02_20080526_100721.xmlu201D&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Between the Data Source and the first Table of the Data Store Object in the Datawarehouse of SAP BI there is the following Transfer Routine I have to change. Anybody can &lt;/P&gt;&lt;P&gt; help me in that matter?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; The transfer-Routine actually is like the following code. What do I have to change there? Anybody can give me some hints?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROGRAM trans_routine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS routine DEFINITION &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;CLASS lcl_transform DEFINITION.&lt;/P&gt;&lt;P&gt;PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Attributs &lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;p_check_master_data_exist&lt;/P&gt;&lt;P&gt;TYPE RSODSOCHECKONLY READ-ONLY,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Instance for getting request runtime attributs; &lt;/P&gt;&lt;P&gt;Available information: Refer to methods of &lt;/P&gt;&lt;P&gt;interface 'if_rsbk_request_admintab_view' &lt;/P&gt;&lt;P&gt;p_r_request&lt;/P&gt;&lt;P&gt;TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: rsd, rstr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rule specific types &lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;BEGIN OF &lt;U&gt;ty&lt;/U&gt;s_SC_1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Field: ZZFILE_NAME File URL. &lt;/P&gt;&lt;P&gt;ZZFILE_NAME TYPE C LENGTH 255,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Field: RECORD. &lt;/P&gt;&lt;P&gt;RECORD TYPE RSARECORD,&lt;/P&gt;&lt;P&gt;END OF &lt;U&gt;ty&lt;/U&gt;s_SC_1.&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;BEGIN OF &lt;U&gt;ty&lt;/U&gt;s_TG_1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;InfoObject: ZCSWFILEN NOMBRE FICHERO XML MENSAJE. &lt;/P&gt;&lt;P&gt;/BIC/ZCSWFILEN TYPE /BIC/OIZCSWFILEN,&lt;/P&gt;&lt;P&gt;END OF &lt;U&gt;ty&lt;/U&gt;s_TG_1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$ begin of global - insert your declaration only below this line -&lt;/P&gt;&lt;P&gt;... "insert your code here&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$ end of global - insert your declaration only before this line -&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;METHODS&lt;/P&gt;&lt;P&gt;compute_ZCSWFILEN&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;request type rsrequest&lt;/P&gt;&lt;P&gt;datapackid type rsdatapid&lt;/P&gt;&lt;P&gt;SOURCE_FIELDS type &lt;U&gt;ty&lt;/U&gt;s_SC_1&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;RESULT type &lt;U&gt;ty&lt;/U&gt;s_TG_1-/BIC/ZCSWFILEN&lt;/P&gt;&lt;P&gt;monitor type rstr_ty_t_monitor&lt;/P&gt;&lt;P&gt;RAISING&lt;/P&gt;&lt;P&gt;cx_rsrout_abort&lt;/P&gt;&lt;P&gt;cx_rsrout_skip_record&lt;/P&gt;&lt;P&gt;cx_rsrout_skip_val.&lt;/P&gt;&lt;P&gt;METHODS&lt;/P&gt;&lt;P&gt;invert_ZCSWFILEN&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;i_th_fields_outbound TYPE rstran_t_field_inv&lt;/P&gt;&lt;P&gt;i_r_selset_outbound TYPE REF TO cl_rsmds_set&lt;/P&gt;&lt;P&gt;i_is_main_selection TYPE rs_bool&lt;/P&gt;&lt;P&gt;i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set&lt;/P&gt;&lt;P&gt;i_r_universe_inbound TYPE REF TO cl_rsmds_universe&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;c_th_fields_inbound TYPE rstran_t_field_inv&lt;/P&gt;&lt;P&gt;c_r_selset_inbound TYPE REF TO cl_rsmds_set&lt;/P&gt;&lt;P&gt;c_exact TYPE rs_bool.&lt;/P&gt;&lt;P&gt;ENDCLASS. "routine DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$ begin of 2nd part global - insert your code only below this line *&lt;/P&gt;&lt;P&gt;... "insert your code here&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$ end of 2nd part global - insert your code only before this line *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS routine IMPLEMENTATION &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------" /&gt;&lt;P&gt;CLASS lcl_transform IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;METHOD compute_ZCSWFILEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;request type rsrequest &lt;/P&gt;&lt;P&gt;datapackid type rsdatapid &lt;/P&gt;&lt;P&gt;SOURCE_FIELDS-ZZFILE_NAME TYPE C LENGTH 000255 &lt;/P&gt;&lt;P&gt;EXPORTING &lt;/P&gt;&lt;P&gt;RESULT type &lt;U&gt;ty&lt;/U&gt;s_TG_1-/BIC/ZCSWFILEN &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;MONITOR_REC TYPE rsmonitor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$ begin of routine - insert your code only below this line -&lt;/P&gt;&lt;P&gt;... "insert your code here&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fill table "MONITOR" with values of structure "MONITOR_REC" &lt;/P&gt;&lt;P&gt;to make monitor entries &lt;/P&gt;&lt;P&gt;... "to cancel the update process&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;raise exception type CX_RSROUT_ABORT. &lt;/P&gt;&lt;P&gt;... "to skip a record&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;raise exception type CX_RSROUT_SKIP_RECORD. &lt;/P&gt;&lt;P&gt;... "to clear target fields&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;raise exception type CX_RSROUT_SKIP_VAL. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RESULT = .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$ end of routine - insert your code only before this line -&lt;/P&gt;&lt;P&gt;ENDMETHOD. "compute_ZCSWFILEN&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Method invert_ZCSWFILEN &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This subroutine needs to be implemented only for direct access &lt;/P&gt;&lt;P&gt;(for better performance) and for the Report/Report Interface &lt;/P&gt;&lt;P&gt;(drill through). &lt;/P&gt;&lt;P&gt;The inverse routine should transform a projection and &lt;/P&gt;&lt;P&gt;a selection for the target to a projection and a selection &lt;/P&gt;&lt;P&gt;for the source, respectively. &lt;/P&gt;&lt;P&gt;If the implementation remains empty all fields are filled and &lt;/P&gt;&lt;P&gt;all values are selected. &lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;METHOD invert_ZCSWFILEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$ begin of inverse routine - insert your code only below this line&lt;STRONG&gt;-&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;... "insert your code here&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$ end of inverse routine - insert your code only before this line -&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMETHOD. "invert_ZCSWFILEN&lt;/P&gt;&lt;P&gt;ENDCLASS. "routine IMPLEMENTATION&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Oct 2008 07:42:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/string-and-split-function-in-abap/m-p/4622230#M1088818</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-14T07:42:33Z</dc:date>
    </item>
    <item>
      <title>Re: String and Split Function in ABAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/string-and-split-function-in-abap/m-p/4622231#M1088819</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi oliver,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I know &lt;STRONG&gt;how&lt;/STRONG&gt;, but not exactly &lt;STRONG&gt;where&lt;/STRONG&gt;. Please find below the code:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
data: it_name type table of string,
      new_name type string,
      lin type i.

split ZZFILE_NAME at '/' into table it_name.    "first you split by '/' mark into internal table
describe table it_names lines lin.                 "then you need to know how many lines are in the table

read table it_name into new_name index lin.  "now read the last one (last string contains the name you want)
"here you will have your desired name in NEW_NAME variable
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it will help you a bit.&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Marcin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Oct 2008 07:51:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/string-and-split-function-in-abap/m-p/4622231#M1088819</guid>
      <dc:creator>MarcinPciak</dc:creator>
      <dc:date>2008-10-14T07:51:59Z</dc:date>
    </item>
    <item>
      <title>Re: String and Split Function in ABAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/string-and-split-function-in-abap/m-p/4622232#M1088820</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Oliver,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check FM /SAPDMC/LSM_PATH_FILE_SPLIT for spliting the filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Lakshman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Oct 2008 09:03:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/string-and-split-function-in-abap/m-p/4622232#M1088820</guid>
      <dc:creator>Lakshmant1</dc:creator>
      <dc:date>2008-10-14T09:03:28Z</dc:date>
    </item>
  </channel>
</rss>

