Merge two strings.

Hi
I am new in ABAP Programming. and want to merage two strings, and put the result in third one.
second thing from where i can get help of different string functions.
Thanks
Ajay

Hi
i think you are talking about concatination of strings plz try this program.
DATA t1(70) TYPE c.
DATA t2(70) TYPE c.
DATA t3(140) TYPE c.
t1 = 'ABAP Programming'.
t2 = 'is a Fun'.
CONCATENATE t1 t2 INTO t3 SEPARATED BY space.
WRITE t3.
you can find the help from ABAP Key word Documentation. just place you cursor on concatenate and press F1.
Regards
Rai

Similar Messages

  • Merge two string fields

    I have two fields that ContactType & ContactName and each record will have at least one contact type (primary or secondary), or it can have also two of the contact types.  So I am trying to concatenate the contactName if the record has two contacts or if there is only one, then display that. 
    This is what I have so far:
    //variables are:  TotalContact, PrimaryVariable, SecondaryVariable, SingleVar.
    totalContact :=  count (contact.contactName, PrimRecord.RecordID);
    if (totalContact > 1) then
    {  contact type = primary then
        PrimaryVariable := contact.contactName
    else
    SecondaryVariable: = contact.ContactName
    else
    singleVar := contact.contactName;

    Gotcha...
    Well the answer would depend on your data structure.
    I'll assume it's something along these lines:
    CustomerID-|-ContactID-|-ContactType-|-ContactName-|-...
    1--10001P--
    John Smith
    1--10002S--
    Bill Cramer
    1--10003T--
    Mary Jones
    2--10004P--
    Hank Aaron
    2--10005S--
    Pete Rose
    3--10006P--
    Jerry Rice
    3--10007S--
    Kenny Anderson
    3--10008T--
    Ikky Woods
    You want results that look like this:
    Company Name 1: Primary Contact = John Smith, Secondary Contact = Bill Cramer
    Company Name 2: Primary Contact = Hank Aaron, Secondary Contact = Pete Rose
    Company Name 3: Primary Contact = Jerry Rice, Secondary Contact = Kenny Anderson
    Assuming I'm correct, follow these steps and create the following formulas.
    1) Primary
    IF {tbl.ContactType} = "P" THEN {tbl.ContactName}
    2) Secondary
    IF {tbl.ContactType} = "S" THEN {tbl.ContactName}
    3) ConCat
    {tbl.CompanyName} &": Primary Contact = " & {@Primary} & ", Secondary Contact = " & NEXT ( {@Secondary} )
    4) Now you need to order the report by: #1. CompanyID then #2. ContactType
    5) Here's where it all comes together... While in the Design View, right click in the gray part of the Details section off to the left.
    Choose Selection Expert...
    Click the "X-2" button next to "Suppress (No Drill Down)"
    Enter the following formula:
    IF {tbl.ContactType} != "P" THEN TRUE ELSE FALSE
    ( Just be sure to use the "not equal to" angle brackets in place of "!=")
    Anyway, if you made it this far, you should have what you are looking for.
    Hope this helps,
    Jason

  • Merging two or more unique strings

    Hi,
    Problem: I want to be able to merge two or more completely different strings into a single string. These strings can contains any letter or number; I don't want to merge the entire string all the time I want to be able to merge certain parts of it for example: String A contains: "Have A" String B contains: "Nice Day" String C contains: "#1" I want to be able to combine these strings in any form such as: "1 Have Nice A Day #".
    I did a quite a bit of searching on Lab view I have found "Merge Query Expressions" but I don't think it will do what I am looking for I am still trying to get an output with it but I am unable to get at currently. I don't expect anyone to give me a flat out answer but if you could point me in the right direction I would be grateful. Any example I will happily accept thank you.
    Message Edited by MrSafe on 08-11-2008 12:32 PM
    Message Edited by MrSafe on 08-11-2008 12:32 PM

    You still haven't explained the logic of what you want to do (meaning how the program will know how to combine the strings), but you can probably do everything you want with these functions:
    Shift registers
    Concatenate Strings
    String Subset
    Searching for them should provide more data.
    If you want to learn more about LabVIEW, I suggest you try looking at some of these tutorials.
    Try to take over the world!

  • User defined func: Unavble to merge two arrays in result list

    Hi
    I am trying to merge two arrays on the basis of "FEE" element in the input file;
    Actually there is an Attribute Name and Value pair array coming in the input file which has 5 pairs already(Notification + 100 , oversize + 8 etc.) see example below;
    <m0:Fees>ZB9</m0:Fees>
    <m:Attribute>
      <m0:Attributename>NOTIFICATION</m0:Attributename>
      <m0:Attributevalue>100</m0:Attributevalue>
      </m:Attribute>
    <m:Attribute>
      <m0:Attributename>OVERSIZE</m0:Attributename>
      <m0:Attributevalue>8</m0:Attributevalue>
      </m:Attribute>
    <m:Attribute>
      <m0:Attributename>OVERWEIGHT</m0:Attributename>
      <m0:Attributevalue>108</m0:Attributevalue>
      </m:Attribute>
    <m:Attribute>
      <m0:Attributename>SIGNATURE</m0:Attributename>
      <m0:Attributevalue>294</m0:Attributevalue>
      </m:Attribute>
    <m:Attribute>
      <m0:Attributename>RTS</m0:Attributename>
      <m0:Attributevalue>8</m0:Attributevalue>
      </m:Attribute>
    The condition is:
    CASE 1. If the FEE doesn't exist in the file then only the Atrribute Name and Value in added to the Array
    CASE 2 If FEE exist then add all the Atrribute Name and Value pairs as well as in the last index of Array add String "Fee" in Attributename and String "ZB9" in  Attributevalue.
    CASE 1 is working fine.
    but in CASE 2 even if i m taking an output array of length Attributename +1 and Attributevalue +1 and trying to add "Fee" and "ZB9" respectively, it never happens.
    Please have a look at the code below;
       //write your code here
    public void ud_Attributename(String[] Fees,String[] Attributename,ResultList result,Container container){
              String attribute_copy[]=new String[Attributename.length+1];
              String attribute_name[]=new String[Attributename.length];
              String array_copy1[]=new String[Attributename.length+1];
              //int len =Attributename.length;
              if(Fees[0]!=null)
                   if(Fees[0].equals("ZB0"))
                   Fees[0]="01";
                   else if(Fees[0].equals("ZB5"))
                   Fees[0]="02";
                   else if(Fees[0].equals("ZB6"))
                   Fees[0]="03";
                   else if(Fees[0].equals("ZB9"))
                   Fees[0]="04";
              try{
                   if((Fees[0]=="01")||(Fees[0]=="02")||(Fees[0]=="03")||(Fees[0]=="04"))
                        for(int x=0;x<=Attributename.length;x++)
                             if(x==Attributename.length)
                             array_copy1[x]="Fee";
                             else{
                             array_copy1[x]=Attributename[x];
                             result.addValue(array_copy1[x]);
                   else
                        for(int i=0;i<=len;i++)
                             attribute_name<i>=Attributename[i+1];
                             result.addValue(attribute_name<i>);
              }catch(Exception e)
              {e.printStackTrace();}
    Same way i've used for Attributevalue.
    But the result is
    <ATTRIBUTEPAIR>
    <PAIR>
    <NAME>NOTIFICATION</NAME>
    <VALUE>04</VALUE>
    </PAIR>
    <PAIR>
    <NAME>OVERSIZE</NAME>
    <VALUE>8</VALUE>
    </PAIR>
    <PAIR>
    <NAME>OVERWEIGHT</NAME>
    <VALUE>108</VALUE>
    </PAIR>
    <PAIR>
    <NAME>SIGNATURE</NAME>
    <VALUE>294</VALUE>
    </PAIR>
    <PAIR>
    <NAME>RTS</NAME>
    <VALUE>8</VALUE>
    </PAIR>
    </ATTRIBUTEPAIR>
    Please suggest where i am wrong. ur help is very much appreciated.
    Thnks in advance

    this is i am doing now
       //write your code here
              String attribute_copy[]=new String[Attributename.length+1];
              String attribute_name[]=new String[Attributename.length];
              String attribute_name1[]={"Fee"};
              //String[] Attributename.copyTo(attribute_name1,0);
              //String[] attribute_name1 = (String[]) Attributename.Clone();
              //String fees;
              String array_copy1[]=new String[Attributename.length];
              int len =Attributename.length;
              for(int y=0;y<len;y++){
              array_copy1[y]=Attributename[y];
              if(Fees[0]!=null)
                   if(Fees[0].equals("ZB0"))
                   Fees[0]="01";
                   else if(Fees[0].equals("ZB5"))
                   Fees[0]="02";
                   else if(Fees[0].equals("ZB6"))
                   Fees[0]="03";
                   else if(Fees[0].equals("ZB9"))
                   Fees[0]="04";
                   else if(Fees[0].equals("ZA1"))
                   Fees[0]="05";
                   else if(Fees[0].equals("ZA2"))
                   Fees[0]="06";
              try{
                   if((Fees[0]=="01")||(Fees[0]=="02")||(Fees[0]=="03")||(Fees[0]=="04")||(Fees[0]=="05")||(Fees[0]=="06"))
                        int j=0;
                        for(int a=0;a<=len;a++)
                             if(j==0&&attribute_copy[j]==null)                                   
                                  attribute_copy[j]="Fee";
                             else
                                  //int b=-1;
                                  for(int i=0;i<=len;i++)
                                       if(i==j)
                                       //i=i-1;
                                       attribute_copy[j]=array_copy1[i-1];
                                       break;
                                       else{
                                       continue;}
                        result.addValue(attribute_copy[j]);
                        j+=1;
                   else
                        for(int i=0;i<=len;i++)
                             attribute_name<i>=Attributename[i+1];
                             result.addValue(attribute_name<i>);
              }catch(Exception e)
              {e.printStackTrace();}
    and the result in queue is
    SUPPRESS
    [FEE]
    [NOTIFICATION]
    [NOTIFICATION]
    [OVERSIZE]
    [OVERSIZE]
    [OVERWEIGHT]
    [OVERWEIGHT]
    [SIGNATURE]
    [SIGNATURE]
    [RTS]
    [RTS]
    but in the output i m getting
    <ATTRIBUTEPAIR>
    <REF_HANDLE>0001</REF_HANDLE>
    <PAIR>
    <NAME>Fee</NAME>
    <VALUE>04</VALUE>
    </PAIR>
    <PAIR>
    <NAME>OVERSIZE</NAME>
    <VALUE>8</VALUE>
    </PAIR>
    <PAIR>
    <NAME>OVERWEIGHT</NAME>
    <VALUE>108</VALUE>
    </PAIR>
    <PAIR>
    <NAME>SIGNATURE</NAME>
    <VALUE>294</VALUE>
    </PAIR>
    <PAIR>
    <NAME>RTS</NAME>
    <VALUE>8</VALUE>
    </PAIR>
    </ATTRIBUTEPAIR>
    Notification is missing.

  • GUI - How do i merge two diffrent layout managers into one tab?

    Hello
    I want to create a cellphone, and when you click a button it will be displayed in a textfield
    the buttons are in a grid layout (4,3) and the textfield is in a border layout (NORTH)
    I have the layouts in two seperate tabs, but how do i merge two diffrent layouts in to one tab ?
    textfield:
    package guitelefon;
    import java.awt.*;
    import javax.swing.*;
    public class BorderPanel extends JPanel
       public BorderPanel()
          setLayout (new BorderLayout());
          setBackground (Color.green);
          JTextField output = new JTextField(5);
          add (output, BorderLayout.NORTH);
    }Buttons:
    package guitelefon;
    import java.awt.*;
    import javax.swing.*;
    public class GridPanel extends JPanel
        public GridPanel()
          setLayout (new GridLayout (4, 3));
          setBackground (Color.green);
          JButton b1 = new JButton ("1");
          JButton b2 = new JButton ("2");
          JButton b3 = new JButton ("3");
          JButton b4 = new JButton ("4");
          JButton b5 = new JButton ("5");
          JButton b6 = new JButton ("6");
          JButton b7 = new JButton ("7");
          JButton b8 = new JButton ("8");
          JButton b9 = new JButton ("9");
          JButton bs = new JButton ("*");
          JButton b0 = new JButton ("0");
          JButton bf = new JButton ("#");
          add (b1);
          add (b2);
          add (b3);
          add (b4);
          add (b5);
          add (b6);
          add (b7);
          add (b8);
          add (b9);
          add (bs);
          add (b0);
          add (bf);
    }driver:
    package guitelefon;
    //  LayoutDemo.java       Java Foundations
    //  Demonstrates the use of flow, border, grid, and box layouts.
    import javax.swing.*;
    public class LayoutDemo
         public static void main (String[] args)
          JFrame frame = new JFrame ("Cellhpone");
          frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
          JTabbedPane tp = new JTabbedPane();
          tp.addTab ("Grid", new GridPanel());
          tp.addTab ("Border", new BorderPanel());
          frame.getContentPane().add(tp);
          frame.pack();
          frame.setVisible(true);
    }

    a simple example with compilable code:
    import java.awt.BorderLayout;
    import java.awt.GridLayout;
    import javax.swing.*;
    public class Main {
      public static void main(String[] args) {
        JFrame frame = new JFrame("Cellhpone");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel panel = new JPanel(new BorderLayout());
        panel.add(new FooPanel(), BorderLayout.CENTER);
        panel.add(new BarPanel(), BorderLayout.NORTH);
        frame.getContentPane().add(panel);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    class FooPanel extends JPanel {
      private static final String[][] BTN_STRINGS = {
        {"1", "2", "3"},
        {"4", "5", "6"},
        {"7", "8", "9"},
        {"*", "0", "#"}};
      public FooPanel() {
        setLayout(new GridLayout(BTN_STRINGS.length, BTN_STRINGS[0].length, 5, 5));
        for (int row = 0; row < BTN_STRINGS.length; row++) {
          for (int col = 0; col < BTN_STRINGS[row].length; col++) {
            JButton btn = new JButton(BTN_STRINGS[row][col]);
            add(btn);
    class BarPanel extends JPanel {
      private JTextField field = new JTextField();
      public BarPanel() {
        setLayout(new BorderLayout());
        add(field, BorderLayout.CENTER);
    }Edited by: Encephalopathic on Oct 29, 2009 7:56 AM

  • How to merge two xmls.

    Hi All,
    I want to merge two xmls in my output. My scenario is I am getting two sets of outputs and I want to merge them to get my final output. I my output I have a header and a Lineitem. I my final output I want to keep header only once and all the LineItems one by one.Can anyone suggest something.
    First outout:-
    <outputVariable>
    -<part name="payload" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    -<SiebelOrderQueryByExample_Output xmlns="http://siebel.com/asi/">
    -<ns:SiebelOrderQueryByExample_Output xmlns:ns="http://siebel.com/asi/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    -<ListOfOrderInterface xmlns="http://www.siebel.com/xml/Siebel%20Order">
    <Orders>
    <Id>1-15IXJ</Id>
    <OrderNumber>1012-1234</OrderNumber>
    <ListOfLineItems>
    <LineItems>
    <Id>1-15IY3</Id>
    <OrderNumber>1012-1234</OrderNumber>
    <LineNumber>301</LineNumber>
    </LineItems>
    </ListOfLineItems>
    </Orders>
    </ListOfOrderInterface>
    Second output:-
    <outputVariable>
    -<part name="payload" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    -<SiebelOrderQueryByExample_Output xmlns="http://siebel.com/asi/">
    -<ns:SiebelOrderQueryByExample_Output xmlns:ns="http://siebel.com/asi/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    -<ListOfOrderInterface xmlns="http://www.siebel.com/xml/Siebel%20Order">
    -<Orders>
    <Id>1-15IXJ</Id>
    <OrderNumber>1012-1234</OrderNumber>
    <ListOfLineItems>
    <LineItems>
    <Id>1-15IW2</Id>
    <OrderNumber>1012-1234</OrderNumber>
    <LineNumber>302</LineNumber>
    </LineItems>
    </ListOfLineItems>
    </Orders>
    </ListOfOrderInterface>
    The required output which I want after merging.
    <outputVariable>
    -<part name="payload" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    -<SiebelOrderQueryByExample_Output xmlns="http://siebel.com/asi/">
    -<ns:SiebelOrderQueryByExample_Output xmlns:ns="http://siebel.com/asi/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    -<ListOfOrderInterface xmlns="http://www.siebel.com/xml/Siebel%20Order">
    -<Orders>
    <Id>1-15IXJ</Id>
    <OrderNumber>1012-1234</OrderNumber>
    <ListOfLineItems>
    <LineItems>
    <Id>1-15IW2</Id>
    <OrderNumber>1012-1234</OrderNumber>
    <LineNumber>302</LineNumber>
    </LineItems>
    <LineItems>
    <Id>1-15IY3</Id>
    <OrderNumber>1012-1234</OrderNumber>
    <LineNumber>301</LineNumber>
    </LineItems>
    </ListOfLineItems>
    </Orders>
    </ListOfOrderInterface>
    Thanks

    I am not using file adapter. I am taking inputs from the BPEL client and displaying output to the client. My input xsd is:-
    <?xml version="1.0" encoding="UTF-8" ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://www.example.org/ns/intorder"
    targetNamespace="http://www.example.org/ns/intorder"
    elementFormDefault="qualified">
    <xsd:element name="order" type="orderType">
    <xsd:annotation>
    <xsd:documentation>
    A sample element
    </xsd:documentation>
    </xsd:annotation>
    </xsd:element>
    <xsd:complexType name="orderType">
    <xsd:sequence>
    <xsd:element name="Order_Number" type="xsd:string"/>
    <xsd:element name="Line_item" type="LineType" maxOccurs="unbounded" minOccurs="0"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="LineType">
    <xsd:sequence>
    <xsd:element name="Line_Number" type="xsd:string" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>

  • Merging two lists?

    I need to know if it is possible to merge two lists using coldfusion.  I have one list uploaded to the site then they want the ability to upload a second list with may have additional fields and/or different number of records.  Need to know if this is possible, how to do it if it is, and how the two list will match up.  Thanks in advance for the help.

    Right, well in that case this isn't really anything to do with merging lists per se, hence the confusion I believe. Technically, you'd do this:
    <cfset newData = fileOpen("c:\newlist.csv","read") />
    <!--- Loop through your file, one line at a time --->
    <cfloop condition="NOT fileIsEof(newData)">
      <!--- Create a string of the line, this is a true list --->
      <cfset thisLine = fileReadLine(newData) />
      <!--- Get the elements of the list we want for the query --->
      <cfset thisForename = listGetAt(thisLine,1) />
      <cfset thisSurname = listGetAt(thisLine,2) />
      <!--- Check if this person exists --->
      <cfquery datasource/username/password name="qCheckExists">
        SELECT    id
        FROM      mytable
        WHERE     firstname = <cfqueryparam cfsqltype="cf_sql_varchar" value="#thisForename#" />
        AND       surname = <cfqueryparam cfsqltype="cf_sql_varchar" value="#thisSurname"#" />
      </cfquery>
      <!--- If we found rows, update --->
      <cfif qCheckExists.RECORDCOUNT eq 1 >
        <cfquery datasource/username/password>
            UPDATE   mytable
            SET      forename = <listGetAt,thisLine, FIELD>,
                     surname = <listGetAt,thisLine, FIELD>,
                     address = <listGetAt,thisLine, FIELD>,
                         etc etc etc
            WHERE    id = qCheckExists.id
        </cfquery>
      <cfelseif qCheckExists.RECORDCOUNT >
        <!--- here you found more than one matching row, up to you what to do --->
      <cfelse>
        <!--- here you didn't find a match, so do an insert --->
      </cfif>
    </cfloop>
    <cfset fileClose(newData) />
    That's how you'd do it on a technical level, the Business decisions are yours. What if it's John not Jon? What if it's Jonathan? That's not a programming problem, that's up to you to decide - I'm not sure we can help you there.
    O.

  • I want to merge two msword files

    hi all,
    I am in the problem of merging two word docuements as one .I have to do it in java b'ce our tool is developed only java.I am in pressure to give a solution for this ....
    If any one know the solution for this........
    Send it to me imme................................
    Expecting ur replies.............
    babu.B
    [email protected]

    Thanks for ur reply.but the code i was trying is giving me some problem as it is merging only one file while i am trying to do with two files.the code i have written i am just sending it.u just go thru it.
    import java.io.*;
    public class test1{
    public static void main(String[] args) throws FileNotFoundException,IOException {
    try {
    FileInputStream fis = new FileInputStream("b.txt");
    FileInputStream fis1 = new FileInputStream("a.doc");
    FileOutputStream fos = new FileOutputStream("pq.doc",true);
    int i;
    while ((i=fis.read()) != -1) {
    fos.write(i);
    fis.close();
    int j;
    while ((j=fis1.read()) !=-1) {
    fos.write(j);
    fis1.close();
    fos.close();
    catch(Exception e){
    e.printStackTrace();
    Kindly let me know where the i missing or going wrong.
    as i know word documets will contain some information like header and footer with some stuff its not merging.how to over come this situation.
    plz help me out

  • How to merge two XML's with JDOM?

    How to merge two xmls's using jdom? like:
    is there a way to add the complete content one xml into the parent node of another xml?
    //in.xml
    <?xml version="1.0"?>
    <people>
    <person>
      <name>ABC</name>
      <email>[email protected]</email>
    </person>
    </people>
    //out.xml
    <?xml version="1.0"?>
    <address>
    <city> abccounty</city>
    <state> abcstate</state>
    </address>
    Merged XML:
    <?xml version="1.0"?>
    <people>
    <person>
      <name>xyz</name>
      <email>[email protected]</email>
    </person>
    <address>
    <city> abccounty</city>
    <state> abcstate</state>
    </address>
    </people>
    import java.util.List;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.input.SAXBuilder;
    import org.jdom.output.Format;
    import org.jdom.output.XMLOutputter;
    public class MergeXMLS {
         public static void main(String[] args) {
              try{
                  SAXBuilder builder = new SAXBuilder();
                  Document books = builder.build("D:/in.xml");
                  Document onebook = builder.build("D:/out.xml");
                  Element root = books.getRootElement();
                  List rows = root.getChildren();
                  for (int i = 0; i < rows.size(); i++) {
                      Element row = (Element) rows.get(i);
                      onebook.getRootElement().addContent(row.detach());
                      System.out.println(row.getName());
                  new XMLOutputter(Format.getPrettyFormat()).output(onebook, System.out);
              }catch(Exception e){
                   e.printStackTrace();
    }

    The above code only add's the first node.
    I changed the code little differently to
                  SAXBuilder builder = new SAXBuilder();
                  Document books = builder.build("D:/in.xml");
                  Document onebook = builder.build("D:/out.xml");
                 //trying to add second xml into the first
                  books.getRootElement().addContent(onebook.getRootElement().getContent()); 
                  new XMLOutputter(Format.getPrettyFormat()).output(books, System.out);
    here is the exception from the above code:
    org.jdom.IllegalAddException: The Content already has an existing parent "address"
         at org.jdom.ContentList.add(ContentList.java:218)
         at org.jdom.ContentList.add(ContentList.java:140)

  • Ok, my problem....merging two unique files batch Process

    Ok, my problem....I have been deconstructing films, so I have thousands of picture files for batch processing in Photoshop (Resizing etc) What I would like to do is batch merge two or maybe three lots of deconstructed film footage image files from different sources, one as a background film image file and one as the forground film image file layer, thousands of images all at once, after they have been processed first in photoshop, so I have seperate folders with the image files in each folder, they need to be combined in sequence as I want the image/frame numbers to match up in each folder, then combined to non merged layers and saved into another folder, I want non merged layers, so I can use an action later to balance the overlay. I know premiere and After Effects could maybe do this, but I am looking for a different kind of effect.....thanks 

    This might help, but very probably one of the more experienced Scripters has a Script (possibly with a more comfortable interface or more features) for that, too:
    #target photoshop
    // dialog for folder-selection;
    var theFolderOne = Folder.selectDialog ("select a folder containing the backgoround images");
    var theFolderTwo = Folder.selectDialog ("select a folder containing the foreground images");
    var theFolderThree = Folder.selectDialog ("select a folder to save the combined images to");
    if (theFolderOne && theFolderTwo && theFolderThree) {
    var theFilesOne = theFolderOne.getFiles(checkFor);
    var theFilesTwo = theFolderTwo.getFiles(checkFor);
    // check if both folders contain the same number of files;
    if (theFilesOne.length != theFilesTwo.length) {
    alert ("the folders don’t contain the same number of images")
    // else do the stuff;
    else {
    // create the psd-options;
    psdOpts = new PhotoshopSaveOptions();
    psdOpts.embedColorProfile = true;
    psdOpts.alphaChannels = false;
    psdOpts.layers = true;
    psdOpts.spotColors = true;
    // run through the files;
    for (var a  = 0; a < theFilesOne.length; a++) {
    // open background-image;
    var theFile = app.open(File(theFilesOne[a]));
    theFile.activeLayer = theFile.layers[0];
    // place foreground-image;
    var idPlc = charIDToTypeID( "Plc " );
    var desc6 = new ActionDescriptor();
    var idAs = charIDToTypeID( "As  " );
    var desc7 = new ActionDescriptor();
    var idfsel = charIDToTypeID( "fsel" );
    var idpdfSelection = stringIDToTypeID( "pdfSelection" );
    var idpage = stringIDToTypeID( "page" );
    desc7.putEnumerated( idfsel, idpdfSelection, idpage );
    var idPgNm = charIDToTypeID( "PgNm" );
    desc7.putInteger( idPgNm, 1 );
    var idCrop = charIDToTypeID( "Crop" );
    var idcropTo = stringIDToTypeID( "cropTo" );
    var idboundingBox = stringIDToTypeID( "boundingBox" );
    desc7.putEnumerated( idCrop, idcropTo, idboundingBox );
    var idPDFG = charIDToTypeID( "PDFG" );
    desc6.putObject( idAs, idPDFG, desc7 );
    var idnull = charIDToTypeID( "null" );
    desc6.putPath( idnull, new File( theFilesTwo[a] ) );
    var idFTcs = charIDToTypeID( "FTcs" );
    var idQCSt = charIDToTypeID( "QCSt" );
    var idQcsa = charIDToTypeID( "Qcsa" );
    desc6.putEnumerated( idFTcs, idQCSt, idQcsa );
    var idOfst = charIDToTypeID( "Ofst" );
    var desc8 = new ActionDescriptor();
    var idHrzn = charIDToTypeID( "Hrzn" );
    var idRlt = charIDToTypeID( "#Rlt" );
    desc8.putUnitDouble( idHrzn, idRlt, 0.000000 );
    var idVrtc = charIDToTypeID( "Vrtc" );
    var idRlt = charIDToTypeID( "#Rlt" );
    desc8.putUnitDouble( idVrtc, idRlt, 0.000000 );
    var idOfst = charIDToTypeID( "Ofst" );
    desc6.putObject( idOfst, idOfst, desc8 );
    var idAntA = charIDToTypeID( "AntA" );
    desc6.putBoolean( idAntA, true );
    executeAction( idPlc, desc6, DialogModes.NO );
    // save the combined files;
    theFile.saveAs(new File (theFolderThree + "/file" + bufferNumberWithZeros((a + 1), 4) ), psdOpts)
    theFile.close(SaveOptions.DONOTSAVECHANGES)
    ////// check for psd, tif or jpg //////
    function checkFor (theFile) {
    if (theFile.name.slice(-4) == ".psd" || theFile.name.slice(-4) == ".tif" || theFile.name.slice(-4) == ".jpg") {return true}
    else {return false}
    ////// buffer number with zeros //////
    function bufferNumberWithZeros (number, places) {
    var theNumberString = String(number);
    for (var o = 0; o < (places - String(number).length); o++) {
    theNumberString = String("0" + theNumberString)
    return theNumberString

  • Merging two xmls

    Hi,
    Just for information..
    How to merge two xmls
    1. convert the xml documents to xml variables using setValue activity. Only equating will convert xmlDoc to xml Variable.
    2. serialize() each xml input variable. Each variable will get converted to string
    3. concatenate both serialized variable and assing it to xml output variable. deserialization is not require. after concatenationg add root nodes if require.
    Regards
    Sunil

    Thanks for the reply!
    Can you please tell me in steps how can i achieve this using JAXP and DOM
    In steps in the sense : first convert xml's to something then do something.
    Thanks in advance.

  • Unable to merge two byte arrays

    Hi there,
    I am trying to merge two byte arrays into one byte array
    and write into a new word document using OutputStream object.
    But in the new word document that is created only the contents
    of the first byte array are being shown and not that of the second one.
    I have pasted the code below.
    Any pointers will be of great help.
    Thanks and Regards,
    Partha.
    package com.cisco.asit.icn.common.servlets;
    import java.io.ByteArrayInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import org.apache.poi.hwpf.HWPFDocument;
    import org.apache.poi.poifs.filesystem.POIFSFileSystem;
    public class TestPOC {
         public static void main(String[] args) {
              try
                   System.out.println("I am here...");
                   System.out.println("I am in example 4...");
                   byte[] byteAr1 = getBytesFromFile(new File("c:\\Testing_POC\\Not_blank.doc"));
                   System.out.println(byteAr1.toString());
                   System.out.println();
                   byte[] byteAr2 = getBytesFromFile(new File("c:\\Testing_POC\\Quest.doc"));
                   byte[] finalOne = concatenate(byteAr1, byteAr2);
                   System.out.println("byte array 1..."+ byteAr1.length);
                   System.out.println("byte array 2..."+ byteAr2.length);
                   System.out.println("Final byte array ..."+ finalOne.length);
                   InputStream is = new ByteArrayInputStream(finalOne);
                   POIFSFileSystem fss = new POIFSFileSystem(is);
                   OutputStream out1 = new FileOutputStream("c:\\Testing_POC\\Result.doc");
                   fss.writeFilesystem(out1);
                   System.out.println("Stored to file system...");
                   try {
                        Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL \"" + "c:\\Testing_POC\\Result.doc");
                   catch (IOException e1){
                        e1.printStackTrace();
                   System.out.println("I am fine till here...");
         out1.flush();
         out1.close();
         catch (Throwable t) {
         t.printStackTrace();
         byte[] res = new byte[l.length + r.length];
         System.arraycopy(l, 0, res, 0, l.length);
         System.arraycopy(r, 0, res, l.length ,r.length);
    return res;
         public static byte[] getBytesFromFile(File file) throws IOException {
    InputStream is = new FileInputStream(file);
    // Get the size of the file
    long length = file.length();
    // You cannot create an array using a long type.
    // It needs to be an int type.
    // Before converting to an int type, check
    // to ensure that file is not larger than Integer.MAX_VALUE.
    if (length > Integer.MAX_VALUE) {
    // File is too large
    // Create the byte array to hold the data
    byte[] bytes = new byte[(int)length];
    // Read in the bytes
    int offset = 0;
    int numRead = 0;
    while (offset < bytes.length
    && (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
    offset += numRead;
    // Close the input stream and return bytes
    is.close();
    return bytes;
    }

    parthInfy wrote:
    Hi there,
    I am trying to merge two byte arrays into one byte array
    and write into a new word document using OutputStream object.
    But in the new word document that is created only the contents
    of the first byte array are being shown and not that of the second one.
    Because the end of the first byte array contains a "document ending" tag and anything after that is just flotsam. And, even if you could remove that "document ending" tag, there is for the second a "document begin" tag. (Among many other tags and flags in both documents.) Word (ar just about any) documents are not simple text files to be concatented, truncated, twisted, inverted, or whatever else, at your pleasure. You actually, God forbid, have to kinow what you're doing, to manipulate them at this level. And, surprise, surprise, you don't.
    Edit: Google "POI"

  • Looking for simple algor. for merging two arrays

    Do anyone have a simple algorithm for merging two arrays where both arrays can be null or length=0

    class Merger
         private int[] arr;
         public Merger(int[] pa, int[] pb) {
              arr = new int[pa.length + pb.length];
              for (int x=0; x < pa.length; x++) {
                   arr[x] = pa[x];
              for (int x=0; x < pb.length; x++) {
                   arr[x+pa.length] = pb[x];
         public int[] getArray() {
              return arr;
    public class MergeMaker
         public static void main(String[] args) {
              int[] a = { 1, 2, 3 };
              int[] b = { 7, 8, 9 };
              Merger m = new Merger(a, b);
              int[] c = m.getArray();
              for (int x=0; x < c.length; x++) {
                   System.out.println(c[x]);
    }Mark

  • Two strings and a numeric value to write to a measurement file

    Hi all, I need to write two string values and a number value to file. I made a basic VI showing what is needed. I figured to cheat a little by sending my time stamp to the comment node. I then converted the id string to a decimal number and merged it to my numeric value. All is great with the output in Excel, accept my ID string dropped the last two digits and replaced them with a zero. Even if I used a numeric constant with this same value, it replaces the last to with zero's. The problem seems to reside with the write to measurement file VI. If I open it directly with wordpad it saves it as 2.602189E+8. Any ideas to save these three values?   Thanks
    Gerald

    When you use one of the Express VIs, you are limited to what you can do. The Write to Measurement File expects to writing measurements (numerics) and not string constants so eveything gets converted to floating point. You could probably modify it but using the lower level file I/O functions is just as simple. Here's a modification. I put the file write inside the loop because I would assume you want every value written. With your example, you would only save the very last iteration. If you do only want to save the last result, then it can be suitably modified.
    Attachments:
    time_insert_mod.vi ‏15 KB

  • Please help me to merge two places.sqlite to get my old and New history at the same time, every time i rename my two places.sqlite to see my old and new history

    every time i rename my new places.sqlite to see my old history and come back rename old places.sqlite to see my new history, i tired and i found No Way to merge two places.sqlite :( but it's must be found this way for The PPL to see their old and new history :(
    Thank You all in Advance

    You can't merge history otherwise then using Sync to store the history and bookmarks of one places.sqlite on the Sync server and then disconnect.<br />
    Copy the second places.sqlite file to your Firefox profile folder with Firefox closed.
    Then setup Sync once again using that account and merge the content on the Sync server with your computer.
    * Merge this device's data with my Sync data

Maybe you are looking for

  • Drop Zone will not play video - only still frame

    I have a generator template with drop zone, in and out. When I select the video clip to use in the drop zone it shows as a still freeze frame - video does not play. Only the first frame displays. This was a bug that Apple said is fixed in the last ve

  • Send path control or reference to path control to sub vi

    Hello! I have a question of how to build correct labview structure. I have a path control in my main vi and want to check if it is correct in a sub vi. If not correct, ask the user for a correct one in the sub vi. I see two different options of how t

  • New MBP - What to do first?

    Hi All, Not sure if there is already a thread on this, if there is please let me know... I am new to the MAC system and have just ordered the MBP 15' 2.16, 2gig RAM, 7200HDD. I have been reading this forum fo rthe last week and trying to keep track o

  • Incomplete book message won't let me order 2nd copy of iPhoto book

    I have been trying to BUY a 2nd copy of a 90 pg photo book but message says it is INCOMPLETE & I must "drag a photo to place in background" which I already completed perfectly for the 1st book (and received it).  I have redone the pages in question o

  • Parallels doesn't see Airport wireless conection

    I'm not sure I'm n the right place for this but here goes... I connect to high speed cable internet service thru my Linksys router using airport. Works great on Mac OS (10.4.11). It used to work whenever I would run Windows XP thru Parallels Desktop