Check in the select function (if-else)

Hi,
i have a problem here...
i have an sql like :
select
(ACJL.DP_PAIR || ',' || ACJL.CABINET_NO || ',' || ACJL.D_SIDE || ',' || ACJL.E_SIDE || ',' || ACJL.ADSL_L1_SUB_NODE || '/' || ACJL.ADSL_L1_TERM_NO || ',' || ACJL.ADSL_E1_SUB_NODE || '/' || ACJL.ADSL_E1_TERM_NO) as ROUTING_INFO
from...
where...
The problem is, if there is an empty field, i dont want to concatenate that particular field.
Any idea how to write it ?
Thanks.

You can use
select decode(column1,null,null,column1||',') ||  decode(column2,null,null,column||',') ....Or, if it is sure that there wont be any commas in data then
select regexp_replace((ACJL.DP_PAIR || ',' || ACJL.CABINET_NO ||
               ',' || ACJL.D_SIDE || ',' || ACJL.E_SIDE || ',' ||
               ACJL.ADSL_L1_SUB_NODE || '/' || ACJL.ADSL_L1_TERM_NO || ',' ||
              ACJL.ADSL_E1_SUB_NODE || '/' || ACJL.ADSL_E1_TERM_NO) ',',+',',')For ex:
SQL> select regexp_replace('a,b,c,,d,,,e,f,g',',+',',') from dual;
REGEXP_REPLAC
a,b,c,d,e,f,g

Similar Messages

  • The select function in Pages and other apps gets stuck and the cursor will not move. What do I do?

    The select function in Pages and other apps gets stuck when I touch a word and the cursor will not move. What is the answer for this problem?

    Try reset iPad
    Hold down the Sleep/Wake button and the Home button at the same time for at least ten seconds, until the Apple logo appears
    Note: Data will not be affected.

  • Check whether the selected character is an xml open/close tag character...

    Hi Everyone,
    I am using InDesign CS4 and i need some help from you.
    Is there any better way to check the selected character is an XML open/close tag character in the text instead of using the unicode.
    Thanks in advance
    Thiyagu

    I'm having trouble understanding your requirements. I think you're trying to remove the zero-width non-breaking spaces that don't hold tags. Is that right?
    If that's the case, you don't really have to worry about the tags. You can do a normal find and replace:
    app.findTextPreferences.findWhat = "<feff>";
    app.changeTextPreferences.changeTo = "";
    app.activeDocument.changeText();
    It will match the characters that hold the tags, but won't remove them. Actually, it will say it removed them, but won't actually do it—or will replace them immediately? I don't know.
    (As far as I know, there is no way to match the 0xfeffs with a grep find, which is what it looks like you were trying. It would be super awesome if there weren't as many different  notations for unicode characters as there are means of finding them.)
    If you're trying to remove the characters that hold the tags, I think your only option is to untag the elements. You can't remove the 0xfeffs but keep the tags.

  • Cannot go to Select Functions to Convert windows for Import Shared library dll

    Hi, 
    As you can see the steps below, i cannot go throgh the Select Function to Convert windows after i click next on Configure Include path steps.
    any idea why is this happening?
    i am using Labview 8.5 and WinXP OS.

    It would help if you provided the DLL and the header file.
    Also, I think the third screenshot was intended to be something else, since it's the step where you specify any additional header files to reference, and not the step where you select what functions to import.

  • User exit/BADI  required for coding for the selection custom fields in RSA3

    Hi,
       I have a requirement  in the Datasource extractor. I need to add custom Z fields  in the Data souce of the  2LIS_02_SCL and need to include in the selection part. So I have added the custom filed in the append structure and include the check in the selection checkbox in the transaction LBWE  under the datasource specified above. For the corresponding custom fields, to be populated in the ALV list, I have written the code in corresponding user exit  ZXRSAU01.
    Now I can view my custom Z fields in the list as well as on the selection fileds  while executing the transaction RSA3. But I need to write code for the selection criteria part.  On entering value in the selection criteria of my custom z field, no  values are selected to the corresponding query. Please let me know where should i write the coding part for the selection criteria of the Z fields for the Datasource.
    On debugging, to my understanding only  the standard fields are alone getting filtered by providnig the values in the selection part of the RSA3 tcode. It is called in Macros : Sel  < Datasorce> .... and  the fetch cursor is included inside the macros.
    Please let me know any user exits or Badi;s available for it.
    Thanks in advance

    Hi shivu,
    you might try the BAdI RSU5_SAPI_BADI. A good introduction can be found in the following document:
    [Enhancing DataSources with BAdI RSU5_SAPI_BADI|http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/3001894b-b1fb-2910-77ba-e80b6f2053b7]
    The BAdI is called at the time of extraction, so this would be the right place to populate your additional fields.
    Best,
    Chris

  • If thing 1 is true return true. If thing 2 is true return false. (not quite like select function)

    I have two inputs within my LV program.  I need to output true (or value for true) if input 1 is true but output false (or value for false) if input 2 is true.  The select function allows different outputs but for only 1 input. 

    It should be fairly eeasy to come up with a boolean structure fo this.  For example, you have if input 1 as a true and input 2 as a true, what does it output???
    Normally you can make a table to figure out what structure you could use.  1 = true, 0 = false
    Input 1   Input 2   Output
    0            0            0
    0            1            0  
    1            0            1
    1            1             0 (I am assuming)
    That means if you write it out out need (input 1) * (input 2)' or an And terminal with input 1 wired to a terminal and input 2 wired to a not and then to the other and terminal (see picture)
    Kenny
    Attachments:
    ab not.gif ‏3 KB

  • Could someone explain the select comparison

    I am supposed to compare inputs on 2 numeric controls and if they are equal they will turn on an LED. I figured out how to do it with the = sign but I am supposed to use the select comparison. Could someone please help me?
    Solved!
    Go to Solution.

    No, you would not have to have another front panel Boolean to use the Select function. You could directly wire the results of anything that returns a True/False. You can also use block diagram constants.
    Message Edited by Dennis Knutson on 01-20-2010 09:47 PM

  • Select function issue

    Hello;
    I am trying to write a little nav using a select menue. This page is a dynamic page, you can only get to it when there is an URL.ID, if there is not one, it kicks you back to the page that spawns the details page. I have it locked down pretty well with the url.ID, I added the select nav on the detail page so people won't have to go back to the main page for the list of records in that part of the db, and they won't have to cycle through number 1-12 to find a record they want to pull up.I have 2 queries running this. I will comment it out and mainly focus on the select function.
    This is the MAIN query, this one runs the page and outputs the info for the details of the records I am bring up. This works fine from the main page link using url.id
    <cfquery name="GetRecordevent" datasource="#APPLICATION.dataSource#">
    SELECT events.display AS ViewField1, events.title AS ViewField2, events.eventDate AS ViewField3, events.eventTime AS ViewField4, events.location AS ViewField5, events.contact AS ViewField6, events.phone AS ViewField7, events.fax AS ViewField8, events.email AS ViewField9, events.URL AS ViewField10, events.sponsor AS ViewField11, events.Body AS htmlList, events.ID AS ID
    FROM events
    WHERE events.ID =<cfqueryparam value="#URL.ID#" cfsqltype="cf_sql_integer">
    </cfquery>
    now this is the tag that locks down the detail page:
    <cfif (isDefined ("URL.ID")) OR (isDefined ("value.id"))>
    they get the info on this page
    <cfelse>
    <cflocation url="index.cfm" addtoken="no">
    </cfif>
    this is the select function and query that populates it with the titles of records and the id
    <CFQUERY name="cata" datasource="#APPLICATION.dataSource#" cachedwithin="#CreateTimeSpan(0, 6, 0, 0)#">
    SELECT events.title AS ViewField2, events.ID AS ID
    FROM events
    </CFQUERY>
    <cfform Name="eventnav" method="post" Action="detail.cfm?value=#ID#">
         <select name="ID" size="1" class="selectstyle" onChange="eventnav.submit();">
         <option value=""> --Select an Event-- </option>
             <CFOUTPUT query= "cata">
             <option value="#ID#">#ViewField2#</option>
             </CFOUTPUT>
         </select>
    </cfform>
    now my query is not recognizing the value.id in the url from the select function action part of the form. I tried adding a AND statement and changed it to an OR statement, neither one works. What do I need to do to either change the select function to match a url.id or add to my main query that the select function needs to pull a record?I'm a little confused, my lockdown works as it is with teh OR in it. But my main query is not liking what I am doing.Can anyone help me figure out how to make this work properly?Thank you.Codemonger

    CFmonger wrote:
    <cfform Name="eventnav" method="post" Action="detail.cfm?value=#ID#">
    method="post" means that the data will be submitted as post data in the request which will populate the FORM structure which is different from the URL structure that comes from get data in a request.
    The fastest way to fix this would be to change the method parameter to "get" in your cfform tag.
    There are also frameworks out there that blend the form and url scopes together so that you do not have to worry about which the data came from.  Fusebox is one such framework.  But doing something like that would be a lot of re-engineering if you have a lot of existing code.
    Otherwise you could work your logic to look for the ID value in either the URL or the FORM scopes.
    P.S. the ?value=#ID# I just noticed in the action parameter will be populated with the current ID on the page, not the new ID selected by the user from the select control.  So this form is going to submit both POST and GET data with ID values, but those values will be distinct and often different.

  • Change the standard function module

    The standard function module FI_DUPLICATE_INVOICE_CHECK will check whether an invoice/credit memo has already been posted where all of the following attributes match: Company code, vendor, currency, document date, reference number (If a reference number was entered in the current invoice/credit memo). If no reference number was entered in the current invoice/credit memo the system checks whether an invoice/credit memo has already been posted where all of the following attributes match: Company code, vendor, currency, document date, amount in document currency
    my requirement is
    The above functionality described in the short description doesn’t provide for the need within AP to check on duplicate invoices. The functionality in FI differs from the functionaltiy provided in LIV and therefor needs to be aligned. The risk of posting duplicate invoice entry is eminent since the check is dependent on all parameters. For a good duplicate invoice number check we need FI to check on Vendor and invoice reference within the same fiscal year. To modify rules, copy FI_DUPLICATE_INVOICE_CHECK, modify the checks and then call the copied function module from FB60. The remaining field check in the standard function module should be deleted.
    how  to achive this. i didn't understand the requirement .Please give me any suggestion for this.

    Hi ,
    I think what you are saying is the functionality given in Logistics Invoice verification is not suitable for FI Invoice.
    If I am correct , then there is a configuration setting in SPRO where you set check for duplicate invoice. It has just three checkboxes
    a) Company code b) Reference number c) Invoice date
    so I think this configuration setting will suffice your requirement.
    Please let me know.
    Amit

  • Errors with SharePoint Security Token Service: "The revocation function was unable to check revocation for the certificate"

    I'm getting these errors in the eventlog and ULS, "An operation failed because the following certificate has validation errors:\n\nSubject Name: CN=SharePoint Security Token Service, OU=SharePoint, O=Microsoft, C=US\nIssuer Name: CN=SharePoint Root
    Authority, OU=SharePoint, O=Microsoft, C=US\nThumbprint: <STS CERTIFICATE THUMBPRINT>\n\nErrors:\n\n RevocationStatusUnknown: The revocation function was unable to check revocation for the certificate."
    The errors point to the SharePoint Security Token Service as the issue ("The revocation function was unable to check revocation for the certificate") reported back by the Topology service.  This is apparent when executing a search, accessing
    the managed metadata service, issuing SPSite commands in Powershell, or anything that needs to run through the "SharePoint Web Services" site.  I've looked at the certificate assigned to that site and everything appears to be in order. 
    It would seem to me to be either an incorrect endpoint configuration (internally cached perhaps?) or related to security access for the configuration database (in order to validate the certificate root).
    What I’ve tried so far:
    I’ve been all over the certificate settings, both in the server store, and within SharePoint Token Service config.  Both appear to be configured correctly such that the root CAs can be validated.
    Re-entered the passwords for the application pool domain accounts to eliminate these as a potential cause.  I’ve also verified the service accounts reporting the error, do have access to the configuration database.
    Re-provisioned the STS service to see if that might clear out any cached issues and validated everything else according to this
    MS Tech note.
    So far nothing has worked.  Is there anything else I could be looking at that I've missed? (Full eventlog detail below)
    Log Name:      Application
    Source:        Microsoft-SharePoint Products-SharePoint Foundation
    Date:          2/20/2015 11:19:41 AM
    Event ID:      8311
    Task Category: Topology
    Level:         Error
    Keywords:      
    User:          <SP SERVICE ACCOUNT>
    Computer:      <SHAREPOINTSERVER>
    Description:
    An operation failed because the following certificate has validation errors:\n\nSubject Name: CN=SharePoint Security Token Service, OU=SharePoint, O=Microsoft, C=US\nIssuer Name: CN=SharePoint Root Authority, OU=SharePoint, O=Microsoft, C=US\nThumbprint: <STS
    CERT THUMBPRINT>\n\nErrors:\n\n RevocationStatusUnknown: The revocation function was unable to check revocation for the certificate.
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-SharePoint Products-SharePoint Foundation" Guid="{6FB7E0CD-52E7-47DD-997A-241563931FC2}" />
        <EventID>8311</EventID>
        <Version>14</Version>
        <Level>2</Level>
        <Task>13</Task>
        <Opcode>0</Opcode>
        <Keywords>0x4000000000000000</Keywords>
        <TimeCreated SystemTime="2015-02-20T17:19:41.213852500Z" />
        <EventRecordID>1611121</EventRecordID>
        <Correlation />
        <Execution ProcessID="10212" ThreadID="10328" />
        <Channel>Application</Channel>
        <Computer><SHAREPOINTSERVER></Computer>
        <Security UserID="<SP SERVICE ACCOUNT>" />
      </System>
      <EventData>
        <Data Name="string0">CN=SharePoint Security Token Service, OU=SharePoint, O=Microsoft, C=US</Data>
        <Data Name="string1">CN=SharePoint Root Authority, OU=SharePoint, O=Microsoft, C=US</Data>
        <Data Name="string2"><STS CERT THUMBPRINT></Data>
        <Data Name="string3">RevocationStatusUnknown: The revocation function was unable to check revocation for the certificate.
    </Data>
      </EventData>
    </Event>

    Hi Darren,
    This problem seems to occur when an administrator deletes the local trust relationship of the farm from the Security section of the Central Administration website
    In order to resolve this problem, the local trust relationship has to be created. This can be done by running the following PowerShell commands
    $rootCert = (Get-SPCertificateAuthority).RootCertificate
    New-SPTrustedRootAuthority -Name "localNew" -Certificate $rootCert
    After running the above commands, perform an IISReset on all servers in the farm.
    More information:
    http://support.microsoft.com/kb/2545744
    Best Regards,
    Wendy
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Wendy Li
    TechNet Community Support

  • How can i extend the filter function to also include an option to select which column to filter on?

    Hi.
    I have built an spry test-page (testing it on my localhost  so i cannot give you direct access to it) here i have an XML file that i show in an dynamic/ repeat table with 5 columns.
    I hvae included an spry filter function to easy filter out records, but the code only allows me to filter on one of the columns.
    I would like to add an extra "select-menu" to define which column the filter should be active for, how can i do that
    Here is the filter code and also the html code for the select-menu and the box to type in what to filter.
    The bold parts is the important parts, i would like the options values from the select menu to be inserted in the filterData function to be able to define which column to do the filtering on.
    var ds1 = new Spry.Data.XMLDataSet("report3.xml", "orders/order", {sortOnLoad: "@id", sortOrderOnLoad: "descending"});
    ds1.setColumnType("date", "date");
    ds1.setColumnType("BUTIKNR", "number");
    ds1.setColumnType("EXTRAFRAKT", "number");
    ds1.setColumnType("job/@idx", "number");
    var jobs = new Spry.Data.NestedXMLDataSet(ds1, "job");
    function FilterData()
        var tf = document.getElementById("filterTF");
        var menu = document.getElementById("searchIdent");
        if (!tf.value)
            // If the text field is empty, remove any filter
            // that is set on the data set.
            ds1.filter(null);
            return;
        // Set a filter on the data set that matches any row
        // that begins with the string in the text field.
        var regExpStr = tf.value;
        if (!document.getElementById("containsCB").checked)
            regExpStr = "^" + regExpStr;
        var regExp = new RegExp(regExpStr, "i");
        var filterFunc = function(ds, row, rowNumber)
            var str = row["@id"];
            if (str && str.search(regExp) != -1)
                return row;
            return null;
        ds1.filter(filterFunc);
    function StartFilterTimer()
        if (StartFilterTimer.timerID)
            clearTimeout(StartFilterTimer.timerID);
        StartFilterTimer.timerID = setTimeout(function() { StartFilterTimer.timerID = null; FilterData(); }, 100);
    html:
                <select name="searchIdent" size="1" id="searchIdent">
                    <option value="@id" selected="selected">ID</option>
                    <option value="date">DATUM</option>
                    <option value="time">TID</option>
                    <option value="BUTIKNR">BUTIK</option>
                    <option value="REF">REFERENS</option>
                  </select>
              <input type="text" id="filterTF" onkeyup="StartFilterTimer();" />
    Contains:
      <input type="checkbox" id="containsCB" /></td>
    Thanks in advance.
    //Rickard H

    Now it works, i had to do it like this:
        var filterFunc = function(ds, row, rowNumber)
            var str = row["@id"];
            if (str && str.search(regExp) != -1)
                return row;
            var str1 = row["date"];
            if (str1 && str1.search(regExp) != -1)
                return row;
            var str2 = row["time"];
            if (str2 && str2.search(regExp) != -1)
                return row;
            var str3 = row["BUTIKNR"];
            if (str3 && str3.search(regExp) != -1)
                return row;
            var str4 = row["REF"];
            if (str4 && str4.search(regExp) != -1)
                return row;
            return null;
    I also had to remove the line "ds1.setColumnType("BUTIKNR", "number");" from the code, otherwise it would not search at all (only searches string types?).

  • Functional area(FKBER field in the selection screen of the report painter))

    Hi,
    I have a requirement to add functional area field in the selection screen for a report painter report. This report using library 1VK and table 'CCSS'. I added functional area field in the general data selection . After the execution of report with functional area field filled with value. report not giving any output. do i need to maintain any setting to achieve?
    Regards,
    Palani

    1. Call GR22 and click "Characteristics".
    2. Check FKBER and assign a position number to it.
    3. Save and close the library.
    4. Call your report in GRR2 and you should now see FKBER as an available characteristic.
    5. Use it in the General Data Selection or as a Lead Column, as per requirement.
    Or,
    1. Call GR21 and create a custom library. Provide a name and description and also provide a library you can copy from (scan for the best-fit library).
    2. Now follow the steps 2 through 5 above to achieve your result.
    Hope this helps.
    Cheers.

  • Checking the Selection Screen Parameters

    Dear All,
    We are uploading data from various excel sheets into SAP tables. Now at selection screen I just want to check if the location specified exists or not ie. if I have created one variant on one system & then if I am running that report from other system using the variants, since the files does not exists it should throw the error and should return to the selection screen to enter the new parameters.
    Please help me in the code, I am attaching my code herewith.
    Waiting for ur responses,
    Nishu
    *********************CODE***************************
    tables: bseg, zfi_tbl_qty, t001, tgsb.
    data:
            t_excel like alsmex_tabline occurs 0 with header line,
            l_excelfile(128)  type c,
            l_excelfile1(128) type c,
            l_excelfile2(128) type c,
            l_excelfile3(128) type c.
    data: begin of t_bukrs_tmp occurs 0,
             bukrs like t001-bukrs,
          end of t_bukrs_tmp.
    data: begin of t_gsber_tmp occurs 0,
             gsber like tgsb-gsber,
          end of t_gsber_tmp.
    ranges: r_bukrs_tmp for t001-bukrs,
            r_gsber_tmp for tgsb-gsber.
    data: begin of t_type,
           bukrs like bseg-bukrs,
           gsber like bseg-gsber,
           count type i,
         end of t_type.
    data: l_charlen1 type i,
          l_charlen2 type i.
    data:  t_type2 like t_type occurs 0 with header line,
           t_type2_tmp like t_type occurs 0 with header line.
    data:  l_end_row type i,
           l_endrow1 type i,
           l_count type i,
           v_bukrs like bseg-bukrs.
    data : q_count type i value 1,
           v_flag  type i value 0,
           v_gsber like t_type2-gsber.
    data: l_var type c.
    selection-screen begin of block b1 with frame title text-001.
    parameter :  p_file1  type rlgrap-filename obligatory,
                 p_file2  type rlgrap-filename obligatory,
                 p_file3  type rlgrap-filename obligatory,
                 p_file4  type rlgrap-filename obligatory.
    selection-screen end of block b1.
    *perform updation_tbl.
    *clearing the contents of database table before uploading a new file everytime
    delete from zfi_tbl_qty.
    *selection-screen
    at selection-screen on value-request for p_file1.
      call function 'KD_GET_FILENAME_ON_F4'
        exporting
          field_name = p_file1
        changing
          file_name  = p_file1.
    at selection-screen on value-request for p_file2.
      call function 'KD_GET_FILENAME_ON_F4'
        exporting
          field_name = p_file2
        changing
          file_name  = p_file2.
    at selection-screen on value-request for p_file3.
      call function 'KD_GET_FILENAME_ON_F4'
        exporting
          field_name = p_file3
        changing
          file_name  = p_file3.
    at selection-screen on value-request for p_file4.
      call function 'KD_GET_FILENAME_ON_F4'
        exporting
          field_name = p_file4
        changing
          file_name  = p_file4.
    at selection-screen.
      l_excelfile  = p_file1.
      l_excelfile1 = p_file2.
      l_excelfile2 = p_file3.
      l_excelfile3 = p_file4.
    if l_excelfile = l_excelfile1 or l_excelfile = l_excelfile2 or l_excelfile = l_excelfile3
        or l_excelfile1 = l_excelfile2 or l_excelfile1 = l_excelfile3 or l_excelfile2 = l_excelfile3.
            message e010(zn) with 'Files with the same name found Please enter again. '.
    endif.
    start-of-selection.
        select bukrs
               from t001
               into corresponding fields of table t_bukrs_tmp.
        loop at t_bukrs_tmp.
           r_bukrs_tmp-sign = 'I'.
           r_bukrs_tmp-option = 'EQ'.
           r_bukrs_tmp-low = t_bukrs_tmp-bukrs.
           append r_bukrs_tmp.
        endloop.
        select gsber
               from tgsb
               into corresponding fields of table t_gsber_tmp.
        loop at t_gsber_tmp.
           r_gsber_tmp-sign = 'I'.
           r_gsber_tmp-option = 'EQ'.
           r_gsber_tmp-low = t_gsber_tmp-gsber.
           append r_gsber_tmp.
        endloop.
      perform upload_table using l_excelfile   5 2 6 4000.
      perform upload_table using l_excelfile1  5 2 6 4000.
      perform upload_table using l_excelfile2  5 2 6 4000.
      perform upload_table using l_excelfile3  5 2 6 4000.
    if sy-subrc = 0.
      message i010(zn) with 'Files Uploaded Successfully.'.
    if sy-subrc <> 0.
    message e398(00) with 'Files Not Found'.
      leave to screen 0.
    endif.
    ************Calling the other program
    SUBMIT ZFI_REP_IS_CHARGES_POST1.
    *and return.
    *******************Calling the subroutine.
    form upload_table using filename
                           i_begin_col type i
                           i_begin_row type i
                           i_end_col type i
                           i_end_row type i.
      clear   : t_excel.
      refresh : t_excel.
      v_flag = v_flag + 1.
      call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        exporting
          filename                = filename
          i_begin_col             = 5
          i_begin_row             = 2
          i_end_col               = 6
          i_end_row               = 4000
        tables
          intern                  = t_excel
        exceptions
          inconsistent_parameters = 1
          upload_ole              = 2
          others                  = 3.
      case v_flag.
        when '1'.
          perform fill_int_tab.
        when '2'.
          perform fill_int_tab.
        when '3'.
          perform fill_int_tab.
        when '4'.
          perform fill_int_tab.
      endcase.
    endform.                    "upload_table
    *uploading data from internal table into database table
    *&      Form  fill_int_tab
          text
    -->  p1        text
    <--  p2        text
    form fill_int_tab .
      clear   : t_type2, q_count.
      refresh : t_type2.
      describe table t_excel lines l_endrow1.
      l_endrow1 = l_endrow1 / 2.
      do.
        loop at t_excel where row = q_count.
          if t_excel-col = 1.
            t_type2-gsber = t_excel-value.
          elseif t_excel-col = 2.
            t_type2-bukrs = t_excel-value.
          endif.
        endloop.
        l_charlen1 = strlen( t_type2-bukrs ).
        l_charlen2 = strlen( t_type2-gsber ).
        if ( t_type2-bukrs <> ' ' and t_type2-gsber <> ' ' ).
          if ( l_charlen1 = 4 and l_charlen2 = 4 ).
            append t_type2. clear t_type2.
          endif.
        endif.
        q_count = q_count + 1.
        if q_count > l_endrow1.
          exit.
        endif.
      enddo.
    t_type2_tmp[] = t_type2[].
    clear t_type2.
    refresh t_type2.
    loop at t_type2_tmp where bukrs in r_bukrs_tmp
                      and gsber in r_gsber_tmp.
      move-corresponding t_type2_tmp to t_type2.
      append t_type2.
    endloop.
      sort t_type2 by bukrs gsber.
      loop at t_type2.
        clear v_gsber.
        l_count = l_count + 1 .
        v_gsber = t_type2-gsber.
        at end of gsber.
         at end of bukrs.
            zfi_tbl_qty-company_code = t_type2-bukrs.
            zfi_tbl_qty-barea = v_gsber.
            zfi_tbl_qty-comb = l_count.
            if v_flag = 1.
              zfi_tbl_qty-type = 'A'.    " Item 1
            endif.
            if v_flag = 2.
              zfi_tbl_qty-type = 'B'.    " Item 2
            endif.
            if v_flag = 3.
              zfi_tbl_qty-type = 'C'.    " Item 3
            endif.
            if v_flag = 4.
              zfi_tbl_qty-type = 'D'.    " Item 4
            endif.
         insert  zfi_tbl_qty from zfi_tbl_qty.
          clear l_count.
        endat.
         endat.
      endloop.
    endform.                    " fill_int_tab

    Hi,
    After calling this FM:
    call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    exporting
    filename = filename
    i_begin_col = 5
    i_begin_row = 2
    i_end_col = 6
    i_end_row = 4000
    tables
    intern = t_excel
    exceptions
    inconsistent_parameters = 1
    upload_ole = 2
    others = 3.
    *-> try following code:
    if sy-subrc = '2'.
    message 'File not Found' type 'I'.
          leave list-processing.
    endif.
    Regards,
    Kalyan

  • Check the file extension in the selection screen

    hi,
    in the selection screen i am giving a file path. the file should be of type PDF only.
    how to validate it ?
    i am splitting the file path at "." and checking for the last three letters , if it pdf or not.
    but it is throwing error for pdf format also.
    throw some light on it and let me know.
    thanks  and regards.
    suki

    hi,
    You need to pass only COMPLETE_FILENAME
    say C:\ABC\A\ABC.TXT
    data  : v_filename type PCFILE-PATH.
    v_filename = "C:\ABC\A\ABC.TXT".
      CALL FUNCTION 'PC_SPLIT_COMPLETE_FILENAME'
           EXPORTING
                COMPLETE_FILENAME = v_FILENAME
           IMPORTING
                DRIVE             = v_DRIVE
                EXTENSION         = v_EXTENSION
                 NAME              = v_name
                 NAME_WITH_EXT     = v_namewithtxt
                PATH              = PATH_VALUE
            EXCEPTIONS
                 INVALID_DRIVE     = 1
                 INVALID_EXTENSION = 2
                 INVALID_NAME      = 3
                 INVALID_PATH      = 4
                 OTHERS            = 5.
    you will get the output as
    DRIVE                           C     
    EXTENSION                   TXT   
    NAME                            ABC   
    NAME_WITH_EXT          ABC.TXT
    PATH                            \ABC\A\
    Hope this helps.
    Regards,
    Richa

  • I am trying to sync a playlist to my Nano,  but when I click on the Music tab at the top, it will not allow me to select the option Selected Playlist, Artists, etc.  I cannot un-check the Entire Music library option and check the Selected Artist - on

    I am trying to sync a playlist to my Nano,  but when I click on the Music tab at the top,
    it will not allow me to select the option Selected Playlist, Artists, etc.  I cannot un-check the Entire Music library
    option and check the Selected Artist … one.
    I have changed the Sync option to Manually sync, but that does not help.
    How can I change this to the second option?
    Thanks.

    There is a checkbox above those two options for how to sync.  It says Sync Music; it enables automatic syncing.  That box needs to be checked before you can select from the two options for how automatic syncing is performed.
    NOTE:  If the iPod is current set up to Manually manage music [and videos], checking that Sync Music box replaces its current content with content from your iTunes library, based on how automatic syncing is set up on that screen.
    So, if your goal is to add ONE playlist to an iPod that is managed manually, you do not want to do this because iTunes will erase the iPod's current content and replace it with just that ONE selected playlist (and whatever else you select on that Music settings screen).
    Instead, if the iPod currently uses the manual setting, you need to add playlists manually to the iPod (not use the automatic syncing setting).  Please post back with more details about your situation. 

Maybe you are looking for