Lower case in variable substitution

Hi experts,
in my scenario I have a receiver CC that put an xml file in a target server.
The requirement is to dynamically determine target directory based on a field on mapping header.
I have used variabile substitution to retrieve the value of the field, and with %% i have put this value on field target directory.
The problem is: value from mapping is in capital letter, but the name of the target directory in which I have to put the file is in lower case letters, and target server is case sensitive.
Obviously I cannot change value in mapping, but I need to put variable in variable substituion in lower letters.
Is it possible?
Thanks
Fabio

Fabio Boni wrote:
Hi,
> I don't want to make changes on mapping, is not possible to put lower case in variable substituion?
> Thanks
> Fabio
no
also in case you want to put small case in variable substitution why cant you use dynamic configuration and set the values to lower case?

Similar Messages

  • "CRLF" carecteres in variable substitution

    Hello everyone!
    I am facing a problem with the using of variable substitution for getting the file name and the file path in a receiver adapter.
    The system is getting correctly the two parameters and it is deleting both the data from the file correctly too (because this is what I want).
    But when the data is deleted the system leave a "CR" and "LF" caracteres and my non-SAP system reads this as two blank lines. Does someone know how to delete these caracteres whitout deleteting them from the lines above?
    Thanks!

    Fabio Boni wrote:
    Hi,
    > I don't want to make changes on mapping, is not possible to put lower case in variable substituion?
    > Thanks
    > Fabio
    no
    also in case you want to put small case in variable substitution why cant you use dynamic configuration and set the values to lower case?

  • SFTP Variable substitution error.

    Hi,
    my scenario is file to sftp fcc.
    I have successfully configured the modules and able to put the ouput fcc file inthe target sftp directory,
    But when implementing variable substitution i am facing issues getting error as
    Error: com.aedaptive.sftp.adapter.exception.VariableSubstitutionException : Error during variable substitution: the following variable was not found in the message payload: var1
    This is the input file:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:M_SFTP_FCC xmlns:ns0="http://xyz.com/pisandbox/testudf">
       <Detailed>
          <MFG_Name>XYZ</MFG_Name>
          <Model_Number>1234</Model_Number>
       </Detailed>
       <Header>
          <Order_No>345</Order_No>
          <Date_of_File>12122012</Date_of_File>
       </Header>
    </ns0:M_SFTP_FCC>
    Variable substitution decleration was:
    var1     payload:M_SFTP_FCC,1,Detailed,1,Model_Number,1
    i need to use the Model_NUmber.
    getting followng error in Comm channel monitoring --> Audit Log
    Unable to write message into file. com.aedaptive.sftp.adapter.exception.VariableSubstitutionException: Error during variable substitution: the following variable was not found in the message payload: var1
    Unable to find where the error is when i configured through file adapter its working fine.
    Thanks,
    --Kishore.

    HI,
    your variable declartion is perfect, can you please check the below points,
       1.To specify variables in the target directory and file name scheme, they must be enclosed by % characters.
       2.variable name is case sensitive, can you give only lower case instead of giving upper case.
       3. Model_Number is giving same as per the message type.
    Please look below link.
    SAP NetWeaver XI: Variable Substitution with Adapter-Specific Message Attributes via DynamicConfigurationBean
    http://wiki.sdn.sap.com/wiki/display/XI/CombiningthreedifferentaspectsofPIinoneshot
    An interesting usage of Variable Substitution in XI
    regards,
    ganesh.
    Edited by: ganesh.nijampudi on Dec 7, 2011 4:51 AM

  • SQL Injection and variable substitutions

    Hello helpful forum, I'm trying to understand what really goes on "behind" the scenes
    with the variable substitutions in order to protect from sql injections.
    I'm using apex 3.0.0.00.20
    The trickiest component seems to be a Report of type "pl/sql returning sql", since
    multiple dynamic sql interpretations are done there.
    consider the following innocent looking disaster:
    DECLARE
    l_out VARCHAR2(2000);
    BEGIN
    l_out := 'select * from test_injection t where t.name like ''%' || :NAME || '%''';
    RETURN l_out;
    END;
    if NAME is a single quote the report will return:
    failed to parse SQL query: ORA-00911: invalid character
    which hints to the fact that NAME is not escaped, and you are in fact able to access db functions
    as in: '||lower('S')||'
    I also tried to put there a function that runs in a autonomous transaction to log its calls, and
    I see that it's called five times for each request.
    consider now the similar solution (notice the two single quotes):
    DECLARE
    l_out VARCHAR2(2000);
    BEGIN
    l_out := 'select * from test_injection t where t.name like ''%'' || :NAME || ''%''';
    RETURN l_out;
    END;
    with this second example nothing of the above is possible.
    So my theory (please confirm it or refute it) is that there is a first variable substitution done
    at the pl/sql level (and in the second case :NAME is just a string so nothing is substituted).
    Then the dynamic sql is executed and it returns the following string:
    select * from test_injection t where t.name like '%' || :NAME || '%'
    now another substitution is done (at an "APEX" level) and then query is finally executed to return
    the rows to the report.
    The tricky point seems to be that the first substitution doesn't escape the variable (hence the error
    with the single quote), while the second substitution does.
    Please let me know if this makes sense and what are the proper guidelines to avoid sql injection with
    the different kinds of reports and components (SQL, pl/sql returning sql, processes, ...)
    Thanks

    Giovanni,
    You should build report regions like this using the second method so that all bind variables (colon followed by name) appear in the resultant varchar2 variable, l_out in your example, which will then be parsed as the report query. This addresses not only the SQL injection problem but the shared-pool friendliness problem.
    Scott

  • Interactive Report Download - filenames always in lower case

    I've written an interactive report in Apex v4.0.2 and have set the CSV download option to use a filename of "One_Two_Three" (note the capitalization).
    However when the CSV file is generated, the filename is "one_two_three" - all in lower case. I've tried using substitution variables in the filename and this doesn't make any difference.
    Is there a way to stop conversion to lowercase ? Is it possible to intercept or override something to allow even greater control the filename ?
    thanks
    Andy

    Well, found some answers after some more trial and error.
    1.) Country settings messed up my csv format. After changing the default column separator in the report attributes, things now look as expected.
    2.) One can rather easily suppress the format signs by using the sql replace functionality, e.g.
    SELECT REPLACE (my_column, CHR(10),' ') FROM my_table
    And it is actually quite a difference if you use text area or rich text fields when it comes to the usage of the breaks.
    Cheers,
    Martin

  • Variable Substitution in Receiver File Channel

    Hi All,
    Could you kindly help me with this?
    Mine is File to File Scenario. ECC drops a XML file in AL11 directory and i send that file using FTP to a third party system. There is no mapping involved and i use ICO. I need to get a value from the payload dynamically for using it in my file name.
    When i tried to use Variable Substitution Method i get this error : VariableDataSourceException: Caught SAXException while parsing XML payload: Content is not allowed in prolog.
    This is the reference i have given in my variable substitution : payload:customerelement,1,customer,1,sender,1,dealercode,1
    and my XML structure is as below and i am trying to access the dealercode field in the XML.
    <?xml version="1.0" encoding="UTF-8"?>
    -<ns0:CustomerElement xmlns:ns0="http://www.xxxxxx.com/customer">
    <recordCount>34</recordCount>
    <Customer>
    <Sender>
    <transmitDate>ddmmyy</transmitDate>
    <dealerCode>N050</dealerCode>
    <DMSSystem>ABC</DMSSystem>
    <DMSReleaseNumber>1.0</DMSReleaseNumber>
    </Sender>

    Hi Amit,
    Yeah that is correct. But in my case the XML structure was not properly formed and i hwas frequently getting this error " Content is not allowed in Prolog" for which i tried all the solutions in SDN and nothing worked out. So i had no other option and had to go for adapter module.
    Now the issue is solved and the interface is working as expected with the adapter module.
    Thanks for your valuable inputs.
    Regards,
    Prabhu V

  • How can you create a paragraph style that removes all spaces and forces everything to lower case?

    Hi,
    Is there anyway of using GREP (or some other magical wizardry) to create a paragraph style that automatically removes all spaces and forces words into lower case?
    Strange request i know....I'm wanting to use it for datamerged email addresses.
    Thanks

    so doing it through InDesign is a work around I'm exploring.
    Excel has the 'LOWER' function and the ability to record macros for a quick find/replace on the spaces - so that's definitely a good option if it can't be solved purely in InDesign.
    You can change case via scripting in InDesign. This AppleScript (OSX only) will set the case of the selected paragraph style to lower. It would be possible to add some code that would strip spaces as well:
    tell application "Adobe InDesign CS6"
        activate
            set StyleList to name of every paragraph style of active document
        set myDialog to make dialog with properties {name:"Document Paragraph Styles"}
        tell myDialog
            tell (make dialog column)
                tell (make border panel)
                    tell (make dialog column)
                        make static text with properties {static label:"Choose a Style", min width:150}
                    end tell
                    tell (make dialog column)
                        set myPresetsDropdown to make dropdown with properties {string list:StyleList, selected index:0, min width:150}
                    end tell
                end tell
            end tell
        end tell
        set myResult to show myDialog
        if myResult = true then
            --+1 gets the correct name because list starts at 0
            set myStyle to item ((selected index of myPresetsDropdown) + 1) of StyleList
        else
            return
        end if
        destroy myDialog
        tell active document
            set myStyle to paragraph style myStyle
            repeat with j from 1 to (count stories)
                repeat with i from 1 to (count paragraphs in story j)
                    if applied paragraph style of paragraph i of story j is myStyle then
                        --defines a variable to replace the generic this_text parameter in the handler
                        set SCText to the contents of paragraph i of story j
                        set contents of paragraph i of story j to my change_case_of(SCText)
                    end if
                end repeat
            end repeat
        end tell
    end tell
    on change_case_of(this_text)
        set the_comparison_string to "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        set the_source_string to "abcdefghijklmnopqrstuvwxyz"
        set the_new_text to ""
        repeat with thisChar in this_text
            set x to the offset of thisChar in the_comparison_string
            if x is not 0 then
                set the_new_text to (the_new_text & character x of the_source_string) as string
            else
                set the_new_text to (the_new_text & thisChar) as string
            end if
        end repeat
        return the_new_text
    end change_case_of

  • Using Variable Substitution

    Hi Im new to XI and Im testing a simple file to file scenario by using Variable Substitution method.
    PFB the input payload of my scenario:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:INF94145_Emp_Input_MT xmlns:ns0="http://infosys.com/xi/projects/adidas/n2">
    - <Employee>
    - <Details>
      <Name>A</Name>
      <ID>1</ID>
      <Designation>SE</Designation>
      <Salary>123456</Salary>
      <DOJ>24-02-2008</DOJ>
      <Other />
    - <Address>
      <City>Asd</City>
      <ZIP>505001</ZIP>
      <Country>India</Country>
      </Address>
      </Details>
      </Employee>
    - <Employee>
    - <Details>
      <Name>B</Name>
      <ID>2</ID>
      <Designation>SE</Designation>
      <Salary>123456</Salary>
      <DOJ>24-02-2008</DOJ>
      <Other />
    - <Address>
      <City>Asd</City>
      <ZIP>505001</ZIP>
      <Country>India</Country>
      </Address>
      </Details>
      </Employee>
      </ns0:INF94145_Emp_Input_MT>
    I  used the variable substitution feature of Receiver File adapter to get the Output file name as one of the Field value from payload(Employee name in this case).
    Now my question is can I be able to get the output files based on employee names.i.e.,for two employee details I should get two out files and for n employee details I should get n output files.
    Can anyone tell how  the above scenario could be done.
    Thanks for your help.
    Regards,
    Prajwal

    Hi,
    I have used multi mapping and I tested the same and is working fine when I test in TEST tab present in mapping.
    My scenario is a file to file and also I used same fields in input and output DT(datatype) for understanding purpose.
    My input data type is as follows:
    - <ns1:INF94145_Emp_Input_MT xmlns:ns1="http://infosys.com/xi/projects/adidas/n2">
    - <Employee>
    - <Details>
      <Name>A</Name>
      <ID>1</ID>
      <Designation>qw</Designation>
      <Salary>122</Salary>
      <DOJ>2-22-2222</DOJ>
      <Other>asasa</Other>
    - <Address>
      <City>asdsada</City>
      <ZIP>12</ZIP>
      <Country>dsada</Country>
      </Address>
      </Details>
      </Employee>
    But when coming to END to END testing I'm getting an error in IE as follows:
    <SAP:Code area="MAPPING">GENERIC</SAP:Code>
      <SAP:P1>Split mapping created no messages</SAP:P1>
    Can anyone say what i have to do to overcome this problem.
    Thanks and regards,
    Prajwal

  • Variable Substitution not working when using ABAP mapping

    Hi all,
    I am doing an IDoc to File scenario.
    Due to some complex mapping requirements, i had to use ABAP mapping for IDoc to File ( IDoc : SHPMNT05)
    There is also one more requirement where in i need to generate the receiver filename dynamically
    i.e the filename is of the form :     
        GW-XYZ-DD/MM/YYYY.csv
    Where
    XYZ is the Shipment number (E1EDT20- TKNUM)
    DD/MM/YYYY is the IDOC creation date in ECC (EDIDC-CREDAT)
    so i used the variable substitution option in receiver file adapter.
    But its not working.
    Is there any limitation for using the variable Substitution, doesnt variable substitution work in case of ABAP mapping?
    Regards,
    Loveena.

    Hi,
      u written ABAP mapping program to get the file name in the required format ,
    is it rt?
    when u test it at message mapping(including ABAP map program)
    u get the the required format of file name in the one of target filed.
    if that was fine, please check the variable substituiton parameters at receiver file adapter.
    i mean, are u maintain variable name and refernece.
    u have to specify the payload information.
    warm regards
    mahesh.

  • Variable substitution in Unit Testing validation - Date format?

    Using SQL Developer unit testing, I am having difficulty comparing Date datatype in a validation.
    I use a Dynamic Value Query to set the parameters of an insertion procedure under test.
    select * from (select doc_nbr as p_mstr_doc_nbr, doc_nbr as p_assoc_doc_nbr, sysdate as p_date_added from documents sample(0.01) order by dbms_random.random)  where rownum <= 1;So P_DATE_ADDED is a DATE datatype.
    I wish to validate that the insertion was correct. So I run a Process Validation returning one or more rows.
    SELECT * FROM X100_ASSOC
      WHERE MSTR_DOC_NBR = '{P_MSTR_DOC_NBR}'
        AND ASSOC_DOC_NBR = '{P_ASSOC_DOC_NBR}'
        AND to_char(DATE_ADDED,'dd-MON-yy HH24:MI:SS')  = {P_DATE_ADDED};I understand that the {P_DATE_ADDED} is substituting in a string. From Help page :
    "What is actually substituted is the string representation of the parameter value. For example:
    If P1 is a parameter of type NUMBER and has the value 2.1, the string {P1} will be replaced by the string 2.1.
    If P1 is a parameter of type VARCHAR2 and has the value ABC, the string '{P1}' will be replaced by the string 'ABC'. (Note the single-quotation marks around {P1} in this example.)"
    I need to know the format that the date is cast into as a string. Then I can do the comparision on the where clause.
    Any answers? or details of where is more in depth documentation?
    Thank you,
    Bill

    I agree as a general rule. However in this case, it appears that the variable substitution routine is returning the default format. So to compare my expected data to the returned data I choose to use the default format. If the variable substitution routine specified an explicit format, I would use that. In my original question, I asked if anyone knew the format.
    Regards,
    Bill

  • Difficulty in Variable substitution.

    Dear all,
    I want to go for variable substutution in Receiver channel(File adapter).The variables I need are there in the RunTime tag of the SOAP Header(Date & Time).
    The exact location
    Inbound Message:
        SOAP Header
            RunTime
               Date
               Time
    So can you please suggest what would be the variable format in this case.
    I tried for:
    Header:RunTime,1,Date,1
    Header:RunTime,1,Time,1
    But these variable were not found and I got the error in RWB Comm Channel monitoring.
    Thanks in advance.
    Abhishek

    As per your scenario, SOAP is sender and the header information is sent from soap sender. Now in mapping, using java or xsl, you have to retrieve the soap header information and map it to the target side field. Only then this field could be used in variable substitution. Are you sure that the fields SOAP Header, RunTime, Date, Time are part of target message type structrure?
    Regards,
    Prateek

  • SP12 -Variable Substitution option

    Hi all,
      I am trying to searchinging <b>Variable Substitution(Target Directory/File Name Schema)</b> in ID Reciver.
    I already uploaded SP9,SP10,SP11,<b>SP12</b>,SP13,SP14 Patches
    But I am not able to see <b>Variable Substitution(Target Directory/File Name Schema)</b> option in ID.
    Please guide me what wrong thing i am doing??????
    or what i have to do to see this option???????

    Dear Sameer,
      Thanks for reply
    I check following link:-
    <b>System --> Status --> below Component Version (click on the lens icon) --> check the level there.</b>
    There are four entries as follows:-
    1) SAP_ABA     640-0014-SAPKA64014-Cross-Application Component
    2) SAP_BASIS-640-0014-SAPKB64014-SAP Basis Component
    3) PI_BASIS-2005_1_640-0004-SAPKIPYJ64-Basis Plug-In (PI_BASIS) 2005_1_640
    4) SAP_BW     350-0014-SAPKW35014-Business Information Warehouse
    <b>As you can see above it showing 0014 levelin line 1,2,4
    & 0004 in line 3</b>
    Can you tell is it ok in case of SP12

  • Upper case/Lower case

    Hi,
    I need to translate all the letters of a word but the first one to lower case.
    For example, the variable has the value "ROBERTO" and i want to change it to "Roberto".
    Is there a FM to do this?
    And also, does anybody know a char domain in which letters stay in lower case?
    Regards,
    Roberto

    Here is one FM also which can do this
    STRING_UPPER_LOWER_CASE
    Usage -
    Pass value
    Delimiter = space
    String1 = 'ROBERTO OKUMURA' 
    Output -
    Roberto Okumura
    Thanks,
    Kartavya
    Edited by: Kartavya Kaushik on Aug 28, 2008 11:11 PM

  • How to convert lower case to upper case?

    Hi,
    How to convert lower case letter to upper case and vice versa?

    TRANSLATE
    Variants:
    1. TRANSLATE c TO UPPER CASE.
    2. TRANSLATE c TO LOWER CASE.
    3. TRANSLATE c USING r.
    See String processing
    Variant 1
    TRANSLATE c TO UPPER CASE.
    Variant 2
    TRANSLATE c TO LOWER CASE.
    Effect
    The first variant converts all lowercase letters in c to uppercase. The second variant converts all uppercase letters to lowercase.
    Example
    DATA letters(3) TYPE C.
    MOVE 'abc' TO letters.
    TRANSLATE letters TO UPPER CASE.
    letters now has the contents 'ABC'.
    Note
    The classification of upper- and lowercase, and the actual characters used are determined by the current text environment (see SET LOCALE LANGUAGE). Problems may occur when the system converts the characters, if the wrong language has been specified in SET LOCALE LANGUAGE, or if data has been processed that does
    Variant 3
    TRANSLATE c USING r.
    Effect
    Replaces all the characters in the field c according to the rule in field r. c1 containscharacter pairs. The second character in each pair replaces the first. If r does not contain a character in c, this character remains unchanged. r can also be a variable.
    Example
    DATA: letters(20) TYPE C VALUE 'abcabcabcXab',
          change(15)  TYPE C VALUE 'aXbaYBabZacZ'.
    TRANSLATE letters USING change.
    letters now contains 'XaZXaZXaZXXaZ'.
    REWARD IF USEFUL

  • TRANSLATE LOWER-CASE statement returns different values in different systems

    Hi Experts,
         I encountered the following problem while debugging the print program of an Adobe Form, which has the below-mentioned line of code:-
    TRANSLATE v_var1 TO LOWER CASE.
    The variable v_var1 is of type MSEHT whose basic type is CHAR with length 10.
    The incoming variable, v_var1 has the value 'ШT', which is the upper-case Russian equivalent of the Unit Of Measure - ST.
         In the Production system, after the execution of the statement, the value v_var1 changes to 'шт'. But in the Development and Testing systems, which also have the same code as the Production system, the value v_var1 changes to 'шt'. In all the three systems, I had logged in the same login language('E'). The same problem remains when I log-in in Russian('R'). The text gets reflected in the Adobe forms and there aren't any JavaScript/FormCalc conditions on the particular window to change the font/case. The user wants 'шт' to be displayed (as is being displayed now) in the Prod. But since I'm not able make the same appear in the testing system, they are not confident to transport the changes to the prod.
         In the help documentation of TRANSLATE, I found that the "text environment" is a factor that affects TRANSLATE statements and could be set by the statement
         SET LOCALE LANGUAGE lang.
         which will basically change the system language. There aren't any SET LOCALE LANGUAGE statements in the Print program. I can hard-code and display it but I would like to know alternate solutions. Is it because of any system-specific font/text setting?

    Hi David,
    perhaps the systems got different codepages. This may cause the different.
    Just another suggestion.
    Regards
    Florian

Maybe you are looking for

  • Error in Call Transaction

    Hi, Let me know why this issue is coming. I'M doing a bdc using call transaction and want to catch the error messages and throw back as alvoutput. my code is       PERFORM bdc_dynpro using 'X' 'SAPMV50A' '0101' '' ''.      PERFORM bdc_dynpro using 'X

  • Built in isight camera not working with flash

    My built in isight camera on my macbook works just fine in photobooth and in skype or ichat.. but just in the past week or so, it will not work when im on websites that use flash. I've seen some threads that say that I need to go into settings and ma

  • Screen gets fuzzy and then I get three beeps. what is the cure?

    Then when I turn it off and let it rest and try to turn it back on it just gives me the three beeps and no screen

  • MR21 Reverse

    Dear All, How am i supposed to reverse MR21 - Price Change Document I am unable to reverse in FI Module. Kindly Guide Me...

  • Disk Partition Won't Mount

    My hard drive is partitioned. [I'm sure that this isn't a physical problem with my hard drive, because my hard drive has been replaced.] I have a partition that won't show up on the desktop. When I run Disk Utilities, it shows the drive, but says it