Problem with itcsy in script

Hi friends,
            I have created a layout fo medruck for which i'm using the standard driver program. In one window i'm using the perform statement for collecting values from the program for which im using the itcsy structure intab & outab. Here in my internal table i'm getting 2 values. My second value is over-writing the first value and getting displayed in the lay-out.
This is myy code.
LOOP AT it_cdpos.
      IF sy-subrc = 0.
        READ TABLE outab INDEX 6.
        MOVE it_cdpos-matnr TO outab-value.
        SHIFT outab-value LEFT DELETING LEADING '0'.
        MODIFY outab INDEX sy-tabix.
        READ TABLE outab INDEX 7.
        MOVE it_cdpos-desp TO outab-value.
        MODIFY outab INDEX sy-tabix.
        READ TABLE outab INDEX 8.
        MOVE it_cdpos-meins TO outab-value.
        MODIFY outab INDEX sy-tabix.
        READ TABLE outab INDEX 9.
        MOVE it_cdpos-value_old TO outab-value.
        MODIFY outab INDEX sy-tabix.
        READ TABLE outab INDEX 10.
        MOVE it_cdpos-value_new TO outab-value.
        MODIFY outab INDEX sy-tabix.
        READ TABLE outab INDEX 11.
        MOVE it_cdpos-prdat TO outab-value.
        MODIFY outab INDEX sy-tabix.
        READ TABLE outab INDEX 12.
        MOVE it_cdpos-maktx TO outab-value.
        MODIFY outab INDEX sy-tabix.
      ENDIF.
    ENDLOOP.
here only my latest value is updating, but i need all the values to get updated... PLZ help me...
Thanks and regards,
subbu.

use this..................
if the particular field r variable is holding value......then dont allow in to that...
if <field or var> is initial.
endif.
like that use use for everything..........
regards
Anbu

Similar Messages

  • Problems with close event scripts and closing Photoshop

    Hi!
    We are having problems with close event scripts ("Cls ") when closing/quitting Photoshop.
    The close event scripts are working without problem when closing an image. But when quitting Photoshop without having closed all images we are observing the following behaviour:
    with CS2 the close event scripts are not triggered at all
    with CS4  the close event scripts are triggered and executed correctly. But after that the Photshop process freezes. No visible GUI, you have to kill the process with the task manager.
    I can reproduce this behaviour even with a small script consisting of a single alert('hello') and even an empty script. Is this an known bug or am I doing something wrong?
    Thanks for your help!
      Eric

    Check your energy saver settings under system preferences. That is where you set sleep setting.

  • Problem with Exchange 2010 scripts after installing PowerShell 4.0

    Hi
    After installing new updates for MS Exchange 2010 and PowerShell 4.0 I've got problems with PS scripts using buil-in
    exchange commands.
    I wrote interactive script for searching e-mails. Here is a pice of code where I get error after installing PS v4.
    $SearchContent=Read-Host "Write sentence to find"
    Get-Mailbox | Search-Mailbox -SearchQuery "$SearchContent" -TargetMailbox "Discovery Search Mailbox" -TargetFolder "Inner box" -LogOnly -Loglevel Full | Out-Null
    After installing PowerShell 4.0 I get that bug and report in TargetMailbox is not genereated.
    The property keyword isn't supported.
    At C:\Administration\Scripts\T-SearchMail.ps1:122 char:1
    + Get-Mailbox | Search-Mailbox -SearchQuery "$SearchContent" -TargetMailbox "Disco ...
    + ~~~~~~~~~~~~~~~~~   
    + CategoryInfo          : InvalidArgument: (:) [], ParserException
        + FullyQualifiedErrorId : 35E6C841
    Using PowerShell 2.0 everything was ok.
    How to solve this problem?
    Tomasz
    Kind Regards Tomasz

    But http://blogs.msdn.com/b/powershell/archive/2013/10/25/windows-management-framework-4-0-is-now-available.aspx is dated
    October 2013, while the current Windows Management Framework 4.0 System Requirements section states:
    Servers that are running the following applications can now run WMF 4.0. The versions listed are the minimum releases required to run WMF 4.0.
    Microsoft Exchange Server 2013 Service Pack 1
    Microsoft Exchange Server 2010 SP3 with Update Rollup 5
    Since
    Update Rollup 5 For Exchange 2010 SP3 (KB2917508) was published Febrary 2014, shouldn't Exchange 2010 now be compatible with PowerShell 4.0?

  • Problem with signed tcl scripts

    Hi All,
    Im having some difficulties getting signed scripts to work on a router.
    Ive got openssl 0.9.8h installed on a FreeBSD 6.2 box, and following the documentation located below, word for word, I cant seem to get any scripts to run properly. The router just seems to continually fail to verify the digital signature.
    http://www.cisco.com/en/US/docs/ios/12_4t/netmgmt/configuration/guide/sign_tcl.html#wp1079441
    When trying to run a script I usually end up with the following error messages:
    Invalid Signature
    May 10 04:54:30.845: ../cert-c/source/p7spprt.c(614) : E_VERIFY_ASN_SIGNATURE : error verifying digital signature
    May 10 04:54:30.849: CRYPTO_PKI: status = 0x725(E_VERIFY_ASN_SIGNATURE : error verifying digital signature): pkcs7 verify data returned status
    May 10 04:54:30.849: CRYPTO_PKI: status = 0x725(E_VERIFY_ASN_SIGNATURE : error verifying digital signature): failed to verify
    May 10 04:54:30.849: CRYPTO_PKI: unlocked trustpoint scriptsigning, refcount is 0
    May 10 04:54:30.849: %SYS-6-SCRIPTING_TCL_INVALID_OR_MISSING_SIGNATURE: tcl signing validation failed on script signed with trustpoint name scriptsigning, cannot run the signed TCL script.
    But when I try signing the example script in the document mentioned above it seems to work fine:
    #tclsh flash:hello.tcl
    hello
    argc = 0
    argv =
    argv0 = flash:hello.tcl
    tcl_interactive = 0
    May 10 03:58:00.408: CRYPTO_PKI: self-signed cert within the pkcs7.
    May 10 03:58:00.408: CRYPTO_PKI: Added x509 peer certificate - (1073) bytes
    May 10 03:58:00.408: CRYPTO_PKI: chain received from the peer has been reduced to one already trusted cert
    May 10 03:58:00.408: CRYPTO_PKI: validation path has 0 certs
    May 10 03:58:00.408: CRYPTO_PKI: unable to get cert attributesfor AAA list authorization.
    May 10 03:58:00.408: CRYPTO_PKI: chain cert was anchored to trustpoint scriptsigning, and chain validation result was: CRYPTO_VALID_CERT
    May 10 03:58:00.412: CRYPTO_PKI: Success on PKCS7 verify!
    May 10 03:58:00.412: CRYPTO_PKI: unlocked trustpoint scriptsigning, refcount is 0
    In both cases I used the exact same private key and CA certificate to sign both scripts.
    Does anyone have any clues, tips, or pointers for doing this successfully?
    Cheers,
    Tom

    I found your problem. The ORIGINAL script ended in a blank line. Therefore, you need TWO lines before the signature. I took the pkcs7 file you sent, your latest cert, and then added the signature to a clean btest.tcl with a trailing newline. The result worked perfectly.
    I'm attaching the signed btest.tcl along with the exact same cert and pkcs7 file you sent (I'm not attaching the private key for obvious reasons, but it is the same).
    All I did was take your pkcs7 file and:
    xxd -ps btest_sig.tcl.pk7 > btest.hex
    (I added a newline to the top of btest.hex, added the signature header, and commented each subsequent line)
    cat btest.tcl btest.hex > btest_sig.tcl
    I loaded your cert into my router, then loaded the signed script:
    Loading btest_sig.tcl from 14.32.100.33 (via FastEthernet0/0): !
    [OK - 5618 bytes]
    Bandwidth is 8434.

  • Problem with activating modified scripts in 4.7

    Hi,
    I have modified standard script and replace the existing script i the transaction NACE under the same output type.
    But the output is not is coming when I did like this...
    Please let me know what else I need to do to make it work.
    TIA,
    Ramesh

    Hi Ramesh,
    generally spoken: yes.
    Check table TNAPR with KSCHL = LD00. Is field FONAM filled with your Z-script (for each line)?
    If yes, then customizing part should be OK.
    Next step: check execution by debugging RVADDN01. Set break-point at function module OPEN_FORM. Is field form / fonam still your z-script?
    Regards,
    Christian

  • Peculiar problem with Essbase (Calc Script) - substitution variable / UDAs

    This is odd but I have a script like :
    VAR iloop=1,break=0;
    FIX(<required POV>)
    Loop (20,break)
    VAR Country_total1,Country_total2,Country_total3;
    FIX (@UDA(Entity,@ALIAS(@CONCATENATE("&Country",iloop)))) // &Country1, &Country2 - are substitution variables with UDAs stored as strings
    Statements;
    /* +<statements for calculating total values.. for that country and stored against variables>+ */
    Country_total1=Country_total1+ +<Calculation>+
    ENDFIX
    /* Second part : Now again the calculations stored in the variables are to be stored against specific entities */
    FIX (@UDA(Entity,@ALIAS(@CONCATENATE("&Country",iloop))))
    FIX(@ISUDA(Entity,<Check1>)
    ..... Assign to relevant account
    ENDFIX
    ENDFIX
    ENDLOOP
    ENDFIX
    Now the problem is that the first fix statement works just fine, but the FIX statement in the 'second part' throws an error
    Error: 1200354 Error parsing formula for [FIX STATEMENT] (line 66): expected type [STRING] found [EXTVAR] ([iloop]) in function [@CONCATENATE]
    If I hard code the 'second part' FIX statement to the substitution variable directly - it works just fine.
    How can the first statement work and not the second one ? They are exactly the same.

    Glenn, thanks - I hadn't thought of that :).
    But it still does not entirely solve my problem (please see my previous post depicting a requirement similar to ours )
    - We have lots of countries (50-60+ might be much more) and each country can have multiple entities (3-4 on an average - can go unto 7-8)
    - so good guess would be around 200 entities
    - So say I have to do it for 2 countries only (two entity types). Then I need 4 variables - 2 for each country ('country 1 ET1 total', 'Country 1 ET2 Total')
    When the list is 20 counties - variables become 40 :(.
    - Still leaving aside the 40 variables for a bit -
    There are subsequent steps of calculations which needs to be done based on these totals (which are exactly the same for all countries) - just that we need the correct totals to begin with and the rest is already stored in the DB
    So since I have a different variable for each country - I cannot write one single calculation block to use the variables sequentially one by one (can I ?)
    I might have to write a separate calculation block for each of these countries. (20 separate blocks)
    That's what I was trying to avoid and simplify with the substitution variable (but is not working)
    - Create substitution variables - which would store the alias of the required countries (2/10/20 as many required)
    - Loop through these substitution variables - using them one by one
    - So I just need one single block of calculation with all the variable in the calc script being reused after each country calculation is done
    - and the user need not go into the script, as the only thing that will change are the countries. And he can change it easily through the substitution variable.
    Edited by: Ankur on Jun 27, 2012 12:53 PM

  • CS6 master page problems with CS5.5 script

    Hi.
    I've an extensive script created for CS5.5, that creates 16 documents, styles them, and adds them to a book file.
    Under CS6, it still works fine, creates all the necessary stylesheets and master pages, but the master page items are shifted.
    I've checked the position with the Page tool, and clicked Show Master Page Overlay, and the centre of the master pages are now sitting at the centre of the spread (which is also the zero point of the ruler).
    I've tried versioning for CS5.5, but I can't get it to stick (compiling simply changes CS6 to CS5").
    Can anyone tell me how to correct the problem? Ideally, I'd like to append the part of my script that creates the master page. This starts thus:
    set currentMaster to master spread "A-Master" of Pub00
              set base name of currentMaster to "Standard Pages"
              tell currentMaster
      make guide with properties {orientation:vertical, location:"138mm"}
      make guide with properties {orientation:vertical, location:"140mm"}
                        tell margin preferences of pages
                                  set top to topMargin
                                  set left to insideMargin
                                  set bottom to bottomMargin
                                  set right to outsideMargin
                                  set column count to docColumns
                                  set column gutter to colGutter
                        end tell
    ... and then I start creating para and character styles, and add various frames with content to the masters.
    Another section to create a master starts with ...
    tell currentMaster
                                  tell page 1
    ... so should I use the 'tell page 1' block to alter the master overlay, or somewhere else?
    Each document only has three different master pages, but I now have to open all 16, and use the Page tool to shift the master overaly, which can be pretty time consuming.
    Any pointers would be most appreciated.

    I'm seeing this as well, but when I go to override master page items to a normal page.  This code worked fine on CS5, but broke when we updated to CS6.
    on override_master_page_items(p)
      -- Overrides all possible master page items for a given page.
      tell application "Adobe InDesign CS6"
        try
          -- Get the list of items to override
          set i to master page items of p
          set b to {}
          repeat with v in i
            -- Build the list of items that we will override so we can process it all at   once (for speed)
            try
              if allow overrides of v is true then
                -- Only override an item if it is in fact possible to do so.
                set b to {b, v}
              end if
            end try
          end repeat
          -- Override all the items that we found above.
          set overriddenItems to override b destination page p
        end try
      end tell
    end override_master_page_items
    Any help or ideas would be greatly appreciated.

  • This.submitForm() -- problem with my cgi script

    Thanks to George Johnson for an earlier answer to a related issue with this.submitForm.
    I am trying to use this.submitForm as per Example 1 on p. 348 of "JavaScript for Acrobat API Reference" document.
    To avoid any restrictions with my web hosting service, I am using the following JavaScript (on my form's Submit button) on my local XAMPP server:
    this.submitForm ("./cgi-bin/myscript.cgi");
    My question involves what should be in the myscript.cgi file before I submit to it.  If there is no file to start with, the
    submission will result in a "File not found" error.  So I guess I need the myscript.cgi file in the cgi-bin folder to begin with.
    When I put in a blank myscript.cgi file in that folder (hoping the submission will overwrite it), I can the following message:
    Server error!  The server encountered an internal error and was unable to complete your request. Either the server is overloaded or
    there was an error in a CGI script.
    Can you tell me what is happening?  What should my original myscript.cgi have in it, if anything?

    Thanks for responding.
    I want CGI script to processes the incoming data from the PDF form submission. I want that process to save the FDF to a file on the server. 
    I also understand that the script has to return a response to the client.  I would like to send some kind of confirmation to the client.
    I realize that writing scripts isn't rocket science, but it would seem that Adobe would have some examples of scripts that deal specifically with fdf data.  Could you point me to any examples?

  • Problem with executing shell script on linux through java code.

    i am facing problem to kill jboss process on linux that is my application requirement. for that i created one shell script that will get all the process for jboss instance and kill them when i am running that script from command prompt on linux its working perfectly.
    The command i am using ---
    /opt/RW9/jboss/v4.0.5.GA/bin/restartjboss.sh.
    but when i am running through java code its not working.
    the java code i am using is:-
    pp = Runtime.getRuntime().exec(new String[]{"/bin/sh", "-c", "/opt/RW9/jboss/v4.0.5.GA/bin/restartjboss.sh"});
    could anyone tell me what is the problem ?
    Edited by: akm198110 on Sep 2, 2008 9:24 AM

    I got the problem after long struggle ,after doing proper path i am able to execute the shell script..

  • Having problems with a shell script

    I'm trying to write a shell script that will echo back the command, and ask for confirmation before proceeding with the command.
    Here is what I have so far:
    Josh:~ josh$ cat ~/Desktop/safe
    #!/bin/sh
    echo "You have typed: "$1 $2 $3 $4"."
    read -p "Are you sure you want to continue? (y/n)" a
    if [ "$a" = "y" ]; then
    $1 $2 $3 $4
    elif [ "a" = "n" ]; then
    exit
    elif [ "a" != "y" ] [ "a" != "n" ];then
    echo "Type y or n."
    fi
    When I run it, and type n, (y works fine) I get a syntax error: ./safe: line 10: [: too many arguments
    Could you please help me fix it?
    Thanks!
    EDIT: If I change the last "elif" statement to a simple "else", it automatically does that statement anyway when the user types "n".
    Is there any better way to end the script when the user types "n"?
    Message was edited by: joshz
    Message was edited by: joshz
    Message was edited by: joshz
    Message was edited by: joshz

    joshz wrote:
    A few q's.
    1. you have "n=$#", but never use n. What is that for?
    Er... because I originally did it differently and then forgot to go back and delete this line!
    2. Why do you set list to a blank string? Just to initialize it?
    Yes. Habit. Sometimes it is an error to use an unassigned variable. It would not matter in this case because echo will not complain, but it still appeals to my sense of logic/tidiness. It also means that if I later change something in my script so that an unassigned variable will cause an error, I won't be stymied by a failure I can't explain. (Not really an issue in a script this short but might well be in a longer script.)
    3. "sed 's+, $+ and all enclosed files/folders+'" What does it do? What is s supposed to do? I know that s treats a string as a single line, but what's the purpose of that (and the +)? $+ would stand for the end of a line, but repeated one or more times. Why have the +'s?
    In this case, s is for substitute. The + is an arbitrary delimeter. A forward slash is standard, but if I use + I don't have to escape the slash in the phrase "and... files/folders". The whole thing says:
    Take the piped output from echo and find every occurrence of the pattern consisting of a comma followed by a space followed by an end of line (on every line of the piped input, but there's only one here). Substitute the first occurrence you find (on every line of the piped input, but there's only one here) with a space followed by "and... files/folders".
    Also, I ideally want the "and all enclosed files/folders" to appear only if there is a recursive option turned on, not all the time. (I guess it would be good enough to have it turn on if there's an r OR R option, because it would be too hard to program it in based on each command).
    To do that properly, you need to do things differently so that you can distinguish between arguments to the command and occurrences of strings in the names of files and folders. For example, you might have a folder named "My Folder-Revised". There are ways of doing this but they are not as simple as the sort of framework you're using here.
    If you are concerned about accidentally deleting files, have you considered using an alias called "rm" for "rm -i". That way, you do not have to remember to use "safe" either. Unfortunately, that won't work for "sudo rm". On the other hand, "sudo safe" won't necessarily work either. Where are you planning to install your script?
    - cfr

  • Problems with executing shell script within oracle procedure

    I have procedure that's owned by Semantic user. This procedure calls job scheduler (owned by USER1) which in turn executes a shell script load_semantic.sh (owned by USER1).
    Now, there is a shell script(checkCount.sh)inside of this one (owned by this USER1) that has following contents:
    checkCount.sh
    #!/bin/bash
    MODEL=$1
    sqlplus -S user/pass << EOF
    whenever sqlerror exit 1;
    set echo on
    set verify off
    MERGE INTO SEMANTIC.COUNT_STATISTICS s
    USING (SELECT '$MODEL' AS MODEL, 0 AS NEW_COUNT, SYSDATE AS NEW_DATE, 0 AS OLD_COUNT, SYSDATE AS OLD_DATE FROM dual) t
    on (s.MODEL = t.MODEL)
    when not matched then
    INSERT (s.MODEL, s.NEW_COUNT, s.NEW_DATE, s.OLD_COUNT, s.OLD_DATE)
    VALUES (t.MODEL, t.NEW_COUNT, t.NEW_DATE, t.OLD_COUNT, t.OLD_DATE);
    COMMIT;
    UPDATE SEMANTIC.COUNT_STATISTICS SET  MODEL = '$MODEL', NEW_COUNT = (SELECT COUNT(*) FROM TABLE(SEM_MATCH('{?s ?p ?o}',SEM_Models('$MODEL'),NULL,SEM_ALIASES(SEM_ALIAS('','http://VISION/DataSource/SEMANTIC#')),NULL)) ),NEW_DATE  = SYSDATE,
    OLD_COUNT = NEW_COUNT, OLD_DATE  = NEW_DATE WHERE MODEL = '$MODEL' AND NEW_DATE = (select max(NEW_DATE) from SEMANTIC.COUNT_STATISTICS where MODEL = '$MODEL');
    COMMIT;
    exit;
    EOF
    So when I execute SEMANTIC.PROCEDURE:
    SEMANTIC.PROCEDURE => USER1.JOBSCHEDULER =>USER1.load_semantic.sh =>USER1.checkCount.sh
    It never populates the table SEMANTIC.COUNT_STATISTICS.
    I tried giving all of the permissions but I am probably missing something...
    Maybe fresh eyes can see something that I can't.

    I can't believe I am going to say this but the reason it was not working was because I removed oracle environment path from my script by mistake.
    . /etc/profile.d/oracle.sh
    Ugh...
    Now it is working perfectly.
    Btw, sqlplus does know about shell environment variables.
    THANK YOU GUYS!!! YOU ARE THE BEST!!!!!!!!!!!!!!!!!!
    I ONLY HAVE YOU TO TALK TO WHEN I AM STUCK ON A PROBLEM.

  • Problem with BO start script: acta_start.sh

    Hi,
    I am getting the following error when I try to start the BO Data Services via the script: acta_start.sh
    $./acta_start.sh
    grep: 0652-033 Cannot open /var/spool/cron/crontabs/t01adm.
    ******'s Password:
    I am logging as the installation user of data Services. The stop script is working fine.
    I have access to crontab. Any help will be appreciated.
    Thanks,
    Martin

    I had this exact same problem, and I think it is specific to OEL5. I modified the start_ois_server script and commented out all the lines where it is setting LD_ASSUME_KERNEL to 2.4.19. Once I did that, it started right up. I don't understand why it needs to set this, as it seems to work fine w/o LD_ASSUME_KERNEL.
    Anyway, give it a try.
    Matt

  • I have a problem with a php script for loading dynamic pages using flash as menu bar, but the urls in the flash is not processed by the php script only in firefox

    '''php script:'''
    <?php
    $page = $_GET['page'];
    if ($page)
    include ("inc/".$page.".php");
    else
    include ("inc/home.php");
    ?>
    '''Action script 2.0 in flash:'''
    on(release){
    getURL("index.php?page=new");
    }

    A good place to ask questions and advice about web development is at the mozillaZine Web Development/Standards Evangelism forum.<br />
    The helpers at that forum are more knowledgeable about web development issues.
    You need to register at the mozillaZine forum site in order to post at that forum.
    See http://forums.mozillazine.org/viewforum.php?f=25

  • Having problem with a bash script

    a few days ago this was working fine but now it will print the song name on the screen and doesn't go away like its supposed to(specified by the ``-d" option for osd_cat). anyone see something wrong? and wth did it work fine a few days ago? also, any general programming tips would be appreciated as this is really the most complicated script i've ever had to write.
    #!/usr/bin/env bash
    #Options:
    SCRIPT_DELAY=5
    COLOR=black
    POSITION=bottom
    OFFSET=-50
    MPD_HOST=127.0.0.1
    OSD_DURATION=5
    #extract just the artist/track name from mpc output
    function songname() { mpc | sed '2,3d' ; }
    #check if song has changed and break if no. if yes, update MPDSONG and print it on screen
    function printsong() {
    #if mpc's output is only 1 line, then mpc is stopped, so don't print anything
    if [ `mpc | wc -l` == 1 ]
    then return 1
    else
    while [ 1 ]
    do
    MPDSONG2=`songname`
    if [ "${MPDSONG}" == "${MPDSONG2}" ]
    then
    break
    else
    MPDSONG=`songname`
    echo $MPDSONG | osd_cat -d "${OSD_DURATION}" -p bottom -c black -u red -O 2 -i 6 --offset="${OFFSET}"
    --font=-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*
    fi
    done
    fi
    while [ 1 ]
    do
    MPDSONG=`songname`
    sleep $SCRIPT_DELAY
    printsong
    done
    Last edited by _adam_ (2007-10-01 17:08:51)

    It is working or me. Though I removed to --font argument from the osd_cat command because I don't have the font installed.
    The second infinite loop in the function printsong seems a little useless to me.

  • Change hostname: Problems with Oracles "chgip" script

    During "OracleAS_1\chgip\scripts\chgiphost.bat" script run I am asked:
    "Enter fully qualified hostname (hostname.domainname) of destination"
    What should I enter in detail to be independent from DHCP IP assignments?
    If I enter e.g.
    localhost.default
    or
    127.0.0.1.default
    or
    localhost
    or
    soa.127.0.0.1
    the script tells me either
    "Destination Hostname does not correspond to a valid host"
    or
    "Invalid hostname"
    So what else can/should I enter?
    Peter

    During "OracleAS_1\chgip\scripts\chgiphost.bat" script run I am asked:
    "Enter fully qualified hostname (hostname.domainname) of destination"
    What should I enter in detail to be independent from DHCP IP assignments?
    If I enter e.g.
    localhost.default
    or
    127.0.0.1.default
    or
    localhost
    or
    soa.127.0.0.1
    the script tells me either
    "Destination Hostname does not correspond to a valid host"
    or
    "Invalid hostname"
    So what else can/should I enter?
    Peter

Maybe you are looking for