Problem: Merging same Files into 1 File using BPM, Receiver File empty.

Hi All,
I am trying a scenario where I need to merge two similar files into one single file (Append) using BPM
I am following the same structure as defined in the predifined BASIS Namespace i.e.  http://sap.com/xi/XI/System/Patterns for Integration Process BpmPatternCollectPayloads. The only thing I changed is that inside my loop I am having a container dat counts till 2.
Now when m testing d interface, the file @ reciver directory is generating, but without any data i.e an empty xml is generating. PI is also not showing any error anywhere.
My Message mapping structure is as follows:
Sender Side:
<Message>    (1..1)
   <Message1>  (1..1)
       <MT_myMessageType>  (0..unbounded)
                <Records>  (1..1)
                        <Id(Used for correlation)> (1..1)
                        <Name>   (1..1)
                        <Address>  (1..1)
Receiver Side:
<Message>    (1..1)
   <Message1>  (1..1)
       <MT_myMessageType>  (1..1)
                <Records>  (0..Unsbounded)
                        <Id(Used for correlation)> (1..1)
                        <Name>   (1..1)
                        <Address>  (1..1)
Can anyone plz help me.

Inbound Message after PE, is empty, so the Request Message Mapping (Technical routing) step is also showing a Empty XML without any structure.
So you mean to say The inbound Message for BPM -
> File is empty?.....this clearly means that
1) the transformation step in BPM is not producing the required XML
2) some validation is imposed in the mapping...which if not satisfied is not creating the target structure.....
Can you ensure that the transformation step outside the block is working properly....and that your BPM design is exactly same as in BpmPatternCollectPayload (except the number of times the loop is executed)......
just few days back even i was stuck in a similar situation....the transformation step outside a Block was not producing a particular element in the target......i made some dummy changes in the mapping and then again included in the transformation step and then my BPM worked fine.......so the conclusion is either the data from block is not going into the transformation step or the transformation step is not creating the target.....
Regards,
Abhishek.
Edited by: abhishek salvi on Jun 30, 2009 12:10 PM

Similar Messages

  • Problem with File RFC File scenario without using BPM

    Hi all,
      I am trying a File RFC File scenario without using BPM with the help of the following thread:
    File - RFC - File without a BPM - Possible from SP 19.
      The XI system is PI 7.0 sp 12. When I am trying to acheive the above scenario, I am getting wierd results i.e., when I observe in SXI_MONITOR, the message is showing as processed successfully, but when I watch the message status in communication channel monitoring, I am getting the following error:
    "Attempt to process file failed with com.sap.aii.af.service.cpa.CPAException: Couldn't retrieve inbound binding for the given P/S/A values: FP=;TP=;FS=DEV120;TS=Test_Service;AN=MI_Invoice;ANS=urn:sap.com:test;"
    I am not able to understand what the problem is. By the way, one more thing, is, I have kept the File processing mode as "Delete" in the sender file adapter. But the file is not getting deleted. I think the reason could be because of the above error.
    Can any body help me out in getting my problem resolved?
    Thanks,
    Adithya K

    CPA Cache Refresh from the Adapter Engine To trigger a cache refresh from the individual Adapter Framework, open a browser window and enter the following
    URL: http://<host>:<port>/CPACache/refresh?mode=<b>delta|full</b>
    The Monitoring url is like this: http://<host>:<port>/CPACache
    Thanks & Regards,
    Farooq.

  • I'm running logic pro 8.0.2 on Leopard 10.5.8. I've recorded an evening of live music, the cut the recording into songs using one audio file folder. When working on an individual song, I can't access the sampler.  I get the message "nothing to display"

    I'm running logic pro 8.0.2 on Leopard 10.5.8. I've recorded an evening of live music, then cut the recording into songs using one audio file folder ad multiple song files. When working on an individual song, I can't access the sampler.  I get the message "nothing to display" or "no region or audio file selected"  After much research on the web, I believe this is a permanent bug.  Does anyone have a good work-around for this type of work.  We record live 16T band rehearsals constantly and would love to be able to break individual songs out of the large file and be able to use the sampler.  Thanks in advance for your ideas!  Cheers.

    Another thing - if I copy one of the tracks to another track, then the sample editor works on the copied track.  I don't want to have to copy 16 tracks to new tracks to be able to use the sample editor on a project.  Thanks again.

  • Setting Font for converting multiple text files into PDF using VB 6.0

    Dear All,
    Am converting multiple text files into PDF using VB6.0. Currently, am unable to control the font face and size for the generated files. Below is the procedure am using for each file;
    Public Sub proc_convert_to_PDF(srcFilename As String, destFilename As String)
    Dim p_AcroApp As CAcroApp
    Dim p_VDoc As CAcroAVDoc
    Dim p_DDoc As CAcroPDDoc
    Dim IsOk As Boolean
    Set p_AcroApp = CreateObject("AcroExch.App")
    Set p_VDoc = CreateObject("AcroExch.AVDoc")
    Call p_VDoc.Open(srcFilename, "")
    Set p_VDoc = p_AcroApp.GetActiveDoc
    If p_VDoc.IsValid Then
    Set p_DDoc = p_VDoc.GetPDDoc
    ' Fill in pdf properties.
    p_DDoc.SetInfo "Title", Format(Date, "dd-mm-yyy")
    p_DDoc.SetInfo "Subject", srcFilename
    If p_DDoc.Save(1 Or 4 Or 32, destFilename) <> True Then
    MsgBox "Failed to save " & srcFilename
    End If
    p_DDoc.Close
    End If
    'Close the PDF
    p_VDoc.Close True
    p_AcroApp.Exit
    'Clear Variables
    Set p_DDoc = Nothing
    Set p_VDoc = Nothing
    Set p_AcroApp = Nothing
    End Sub
    What I need;
    1) to be able to set the font face of the destination file ( destFilename)
    2) to be able to set the font size of the destination file ( destFilename)
    Am using Adobe Acrobat 7.0 Type Library
    Kindly Help.
    Thanks in advance

    We didn't say it doesn't work. We said it isn't supported.
    There are a number of other ways to make a PDF. The one which would
    give the most control is if your application directly printed to GDI,
    controlling the font directly. This could print to Adobe PDF.
    You could look for an application that gives control of font for
    printing.
    You could use a text-to-PostScript system and distill the result. You
    could even look for a non-Adobe text-to-PDF.
    Working in the unsupported and dangerous world you chose, the font
    size for text conversion is set (and this is very bad design from
    Adobe) in the settings for Create PDF > From Web Page. There is no API
    to this.
    Aandi Inston

  • Same file name from sender to receiver file adapter with out using UDF

    Hi All,
    I am working on FILE TO FILE. My requirement is same file name from sender to receiver file adapter. Is it possible to do using only Adapter Specific message properties?  i mean with out using UDF.
    Thanks
    Karthik

    Hi,
    >>>Is it possible to do using only Adapter Specific message properties?
    yes
    just enable Adapter Specific message properties in sender and receiver channel for file name
    and you're done
    Regards,
    Michal Krawczyk

  • How to upload a file into server using j2ee jsp and servlet with bean?

    How to upload a file into server using j2ee jsp and servlet with bean? Please give me the reference or url about how to do that. If related to struts is more suitable.
    Anyone help me please!

    u don't need j2ee and struts to do file uploading. An example is as such
    in JSP. u use the <input> file tag like
    <input type="file"....>You need a bean to capture the file contents like
    class FileUploadObj {
        private FormFile srcFile;
        private byte[] fileContent;
        // all the getter and setter methods
    }Then in the servlet, you process the file for uploading
        * The following loads the uploaded binary data into a byte Array.
        FileUploadObj form = new FileUploadObj();
        byte[] byteArr = null;
        if (form.signFile != null) {
            int filesize = form.srcFile.getFileSize();
            byteArr = new byte[filesize];
            ByteArrayInputStream bytein = new ByteArrayInputStream (form.srcFile.getFileData());
            bytein.read(byteArr);
            bytein.close();
            form.setFileContent(byteArr);
        // Write file content using Writer class into the destination file in the server.
        ...

  • File to Webservice Using BPM

    Dear Friends,
    Kindly give me some walkthrough doucment for File to Webservice Using BPM
    it is urgent. Kindly help.

    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    refer that to design your interface. Note that instead of RFC you will require to use a WSDL for the WS call.
    Fotr more about WSDL and its usage in a scenario ref:
    /people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1
    /people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2

  • Multiple files to single using bpm

    Hi,
    Scenarion : 6 files to 1 file using BPM
    ( 6 files are generated from the tool in a folder )
    Files
    abc1xyz_20101210.txt
    abc2xyz_20101210.txt
    abc3xyz_20101210.txt
    abc4xyz_20101210.txt
    abc5xyz_20101210.txt
    abc6xyz_20101210.txt
    Conditions
    1) Sender File Adapter needs to pick the files when all the files are generated .
    2) Should not pick the duplicate files
    (eg : abc1xyz_20101210.txt
             abc2xyz_20101210.txt
             abc1xyz_20101211.txt
    abc1xyz was repeated 2 times , ignore the file before file is picked.
    ponints will be awarded
    Thanks

    Hi,
    I prefer these kind of check can be easily done by the sender system or tool while generating those files itself..
    that is during the generation of file if the file already exists then overwrite the content or delete the existing file and create new file...
    other option can be..using OS scripts to validate the file name till 4 characters..read the file name and take first four chars and compare it with the all other files...
    I cannot provide the exact code but check with some scripting guys..I think the above logic can be achievable..
    HTH
    Rajesh

  • Convert XML file into DTD using Java

    Hi All,
    I want to do convert the xml file into DTD using Java.
    I read the DOM package but didnt get clear idea.
    Anyone of you have an idea please share the coding with me.
    Any suggestions greatly appreciated.
    Thanks
    Veera

    Hi All,
    I want to do convert the xml file into DTD using Java.
    I read the DOM package but didnt get clear idea.
    Anyone of you have an idea please share the coding with me.
    Any suggestions greatly appreciated.
    Thanks
    Veera

  • File to Database Using BPM

    Hi All,
    I am trying to do one of the End-To-End scenarios which are described in the following document published by Mukeshlal Parida https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5474f19e-0701-0010-4eaa-97c4f78dbf9b
    I followed the steps described for the File to Database Using BPM. 
    I created a software component File Workshop and DB Workshop and created the respective products.  I created the appropriate namespaces under the specified products.  However, when I go to create the container elements in the Integration Process, I am only able to view and add the Abstract interfaces created in the specific software component where I am creating the integration process. 
    The instructions are not clear.  I am on XI 3.0 (SP16).  Any help would be appreciated.
    Thanks
    Sandeep

    Hi,
      U can use the abstract interfaces in BPM.
      U have to define all the Interfaces as Abstract and use in BPM transformations. The Container elements are specific to the Software component.
    From...
    Yallabandi.

  • Moving files into directory using shell script

    Can someone tell me how I move files into directory using *nix/linux shell script?
    I have files which created from stored procedures using utl_file. The files name for example:
    DKH_104_12345
    DKE_101_42324242
    DKH_102_32432
    DKE_101_34553
    Then I create directories automatically for example:
    /oradata/apps/dmp/output/101
    /oradata/apps/dmp/output/102
    /oradata/apps/dmp/output/103
    /oradata/apps/dmp/output/104
    Using this procedure :
    CREATE OR REPLACE PROCEDURE Xorganize AS
    v_item VARCHAR2(5);
    v_DirName VARCHAR2(50);
    v_FileName VARCHAR2(50):='xorganize';
    v_FileExt VARCHAR2(5):='.sh';
    v_ID UTL_FILE.file_type;
    CURSOR res IS
    --find the directory name from table
    SELECT brn_cde FROM vcr_brn_cde ORDER BY 1;
    BEGIN
    --used by utl.file funtion
    SELECT PRD_DIR INTO v_DirName
    FROM CR_SYS_PRM
    WHERE CLT_CDE ='FIF';
    SELECT v_FileName||v_FileExt INTO v_FileName FROM dual;
    v_ID:=UTL_FILE.FOPEN(v_DirName,v_FileName, 'w');
    utl_file.PUTF(v_ID,'%s\n','@@echo OFF');
    utl_file.PUTF(v_ID,'%s\n','cls');
    utl_file.PUTF(v_ID,'%s\n','echo Reorganizing ...');
    OPEN res;
         LOOP
              FETCH res INTO v_item;
              EXIT WHEN res%NOTFOUND;
              utl_file.PUTF(v_ID,'%s\n','mkdir '||v_item);
         END LOOP;
    CLOSE res;
    OPEN res;
         LOOP
              FETCH res INTO v_item;
              EXIT WHEN res%NOTFOUND;
              utl_file.PUTF(v_ID,'%s\n','move _'||v_item||'_.* '||v_item||'\');
         END LOOP;
    CLOSE res;
    utl_file.PUTF(v_ID,'%s\n','FOR /F "usebackq delims=" %%1 IN (`dir /b *.`) DO @rd/q %%1');
    utl_file.PUTF(v_ID,'%s\n','cls');
    utl_file.PUTF(v_ID,'%s\n','echo Reorganizing ...Done');
    utl_file.fclose(v_ID);
    END;
    Everything works fine, BUT, the script is generated in dos/windows scripting.
    Now I need to run the script in *nix/linux shell, which I still can’t do it (because of my knowledge :p).
    And also I don’t know if the script already generated in *nix/linux shell version, how do I chmod +x the script from stored procedure, I can’t use ‘host’ command in my tools
    Thanks a lot
    -firman

    If you're using 9i then UTL_FILE.FRENAME() will execute something like a Unix mv command.
    If you want to do a chmod then you'll need to check out how to use a Java Stored Procedure to execute OS calls.
    Cheers, APC

  • Convert a jpeg file into a 1-bit bmp file (2 colors image).

    Hi. I�m having serious problems to convert a jpeg file into a 1-bit bmp file (2 colors image).
    First, i,ve tried to get a 1-bit jpeg. But i think this is not possible, so what i have to do is to get a 1-bit bpm file.
    I�m using FileSaver.saveAsBmp(String destination) and what i get is a bmp image, but with 16M colors, but what i want is a 2 colors bmp file. A black and white image.
    Does anybody know how to do this? I�m really getting crazy with ths problem.
    Thanks in advance

    You better read this at
    http://forum.java.sun.com/thread.jspa?forumID=57&threadID=733738

  • How to convert a jpeg file into a 1-bit bmp file (2 colors image)

    Hi. I�m having serious problems to convert a jpeg file into a 1-bit bmp file (2 colors image).
    I�m using FileSaver.saveAsBmp(String t) but what i get is a bmp image, but with 16M colors, but what i want is a 2 colors bmp file. A black and white image.
    Does anybody know how to do this? I�m really getting crazy with ths problem.
    Thanks in advance

    Hi opalo,
    this code may help you...
    import java.awt.*;
    import java.io.*;
    import java.awt.image.*;
    import javax.imageio.ImageIO;
    class Write1 extends Component {
    //--- Private constants
    private final static int BITMAPFILEHEADER_SIZE = 14;
    private final static int BITMAPINFOHEADER_SIZE = 40;
    //--- Private variable declaration
    //--- Bitmap file header
    private byte bitmapFileHeader [] = new byte [14];
    private byte bfType [] = {'B', 'M'};
    private int bfSize = 0;
    private int bfReserved1 = 0;
    private int bfReserved2 = 0;
    private int bfOffBits = BITMAPFILEHEADER_SIZE + BITMAPINFOHEADER_SIZE;
    //--- Bitmap info header
    private byte bitmapInfoHeader [] = new byte [40];
    private int biSize = BITMAPINFOHEADER_SIZE;
    private int biWidth = 50;
    private int biHeight = 70;
    private int biPlanes = 1;
    //private int biBitCount = 24;
    private int biBitCount = 1;
    private int biCompression = 0;
    private int biSizeImage = 0x030000;
    private int biXPelsPerMeter = 0x0;
    private int biYPelsPerMeter = 0x0;
    private int biClrUsed = 0;
    private int biClrImportant = 0;
    //--- Bitmap raw data
    private int bitmap [];
    //--- File section
    private FileOutputStream fo;
    //--- Default constructor
    public Write1() {
    public void saveBitmap (String parFilename, Image parImage, int
    parWidth, int parHeight) {
    try {
    fo = new FileOutputStream (parFilename);
    save (parImage, parWidth, parHeight);
    fo.close ();
    catch (Exception saveEx) {
    saveEx.printStackTrace ();
    * The saveMethod is the main method of the process. This method
    * will call the convertImage method to convert the memory image to
    * a byte array; method writeBitmapFileHeader creates and writes
    * the bitmap file header; writeBitmapInfoHeader creates the
    * information header; and writeBitmap writes the image.
    private void save (Image parImage, int parWidth, int parHeight) {
    try {
    convertImage (parImage, parWidth, parHeight);
    writeBitmapFileHeader ();
    writeBitmapInfoHeader ();
    writeBitmap ();
    catch (Exception saveEx) {
    saveEx.printStackTrace ();
    * convertImage converts the memory image to the bitmap format (BRG).
    * It also computes some information for the bitmap info header.
    private boolean convertImage (Image parImage, int parWidth, int parHeight) {
    int pad;
    bitmap = new int [parWidth * parHeight];
    PixelGrabber pg = new PixelGrabber (parImage, 0, 0, parWidth, parHeight,
    bitmap, 0, parWidth);
    try {
    pg.grabPixels ();
    catch (InterruptedException e) {
    e.printStackTrace ();
    return (false);
    pad = (4 - ((parWidth * 3) % 4)) * parHeight;
    biSizeImage = ((parWidth * parHeight) * 3) + pad;
    bfSize = biSizeImage + BITMAPFILEHEADER_SIZE +
    BITMAPINFOHEADER_SIZE;
    biWidth = parWidth;
    biHeight = parHeight;
    return (true);
    * writeBitmap converts the image returned from the pixel grabber to
    * the format required. Remember: scan lines are inverted in
    * a bitmap file!
    * Each scan line must be padded to an even 4-byte boundary.
    private void writeBitmap () {
    int size;
    int value;
    int j;
    int i;
    int rowCount;
    int rowIndex;
    int lastRowIndex;
    int pad;
    int padCount;
    byte rgb [] = new byte [3];
    size = (biWidth * biHeight) - 1;
    pad = 4 - ((biWidth * 3) % 4);
    if (pad == 4) // <==== Bug correction
    pad = 0; // <==== Bug correction
    rowCount = 1;
    padCount = 0;
    rowIndex = size - biWidth;
    lastRowIndex = rowIndex;
    try {
    for (j = 0; j < size; j++) {
    value = bitmap [rowIndex];
    rgb [0] = (byte) (value & 0xFF);
    rgb [1] = (byte) ((value >> 8) & 0xFF);
    rgb [2] = (byte) ((value >> 16) & 0xFF);
    fo.write (rgb);
    if (rowCount == biWidth) {
    padCount += pad;
    for (i = 1; i <= pad; i++) {
    fo.write (0x00);
    int b = 1200;
    fo.write(b);
    rowCount = 1;
    rowIndex = lastRowIndex - biWidth;
    lastRowIndex = rowIndex;
    else
    rowCount++;
    rowIndex++;
    //--- Update the size of the file
    bfSize += padCount - pad;
    biSizeImage += padCount - pad;
    catch (Exception wb) {
    wb.printStackTrace ();
    * writeBitmapFileHeader writes the bitmap file header to the file.
    private void writeBitmapFileHeader () {
    try {
    fo.write (bfType);
    fo.write (intToDWord (bfSize));
    fo.write (intToWord (bfReserved1));
    fo.write (intToWord (bfReserved2));
    fo.write (intToDWord (bfOffBits));
    catch (Exception wbfh) {
    wbfh.printStackTrace ();
    * writeBitmapInfoHeader writes the bitmap information header
    * to the file.
    private void writeBitmapInfoHeader () {
    try {
    fo.write (intToDWord (biSize));
    fo.write (intToDWord (biWidth));
    fo.write (intToDWord (biHeight));
    fo.write (intToWord (biPlanes));
    fo.write (intToWord (biBitCount));
    fo.write (intToDWord (biCompression));
    fo.write (intToDWord (biSizeImage));
    fo.write (intToDWord (biXPelsPerMeter));
    fo.write (intToDWord (biYPelsPerMeter));
    fo.write (intToDWord (biClrUsed));
    fo.write (intToDWord (biClrImportant));
    // DataOutputStream temp = new DataOutputStream(fo);
    // int m = 32;
    // temp.writeInt(m);
    catch (Exception wbih) {
    wbih.printStackTrace ();
    * intToWord converts an int to a word, where the return
    * value is stored in a 2-byte array.
    private byte [] intToWord (int parValue) {
    byte retValue [] = new byte [2];
    retValue [0] = (byte) (parValue & 0x00FF);
    retValue [1] = (byte) ((parValue >> 8) & 0x00FF);
    return (retValue);
    * intToDWord converts an int to a double word, where the return
    * value is stored in a 4-byte array.
    private byte [] intToDWord (int parValue) {
    byte retValue [] = new byte [4];
    retValue [0] = (byte) (parValue & 0x00FF);
    retValue [1] = (byte) ((parValue >> 8) & 0x000000FF);
    retValue [2] = (byte) ((parValue >> 16) & 0x000000FF);
    retValue [3] = (byte) ((parValue >> 24) & 0x000000FF);
    return (retValue);
    class Writebmp
         public static void main(String args[])
              //Image img = Toolkit.getDefaultToolkit().getImage("jatin.bmp");
              try
              File filename = new File("jatin_test.bmp");
              BufferedImage image = ImageIO.read(filename);
              Graphics graphics = image.getGraphics();
              graphics.drawString("&#2313;&#2332;&#2327;&#2352;",10,30);
              Write1 w = new Write1();
              Image img = Toolkit.getDefaultToolkit().getImage("jatin_test.bmp");
              w.saveBitmap("jatin_test.bmp",img,200,200);
              catch (IOException e)
    System.err.println ("Unable to write to file");
    System.exit(-1);
    }

  • Can External Definition be used or Receiver File content conversion (CSV)?

    Hi Experts,
    I'm a newbie to SAP PI and I started working on file to File(FCC) scenario in which I am provided with the receiver structure as an External definition. The structure is like
    Name
    Place
    Designation
    Salary
    hike
    Can I use the same structure (External Definition) for the receiver file content conversion or do I need to create another specific structure?
    Can I convert the target CSV file to UTF-8 encoding?
    Please help.
    Regards,
    Taro

    Hi,
    Can the above specified structure be used for receiver FCC? Does this work? Can this be converted to UTF-8?
    If it can be used, how do we specify the parameters for FCC then as there's no root element?
    Regards,
    Taro

  • How to convert a .flv file into a Youtube sharing .mov file via Compressor?

    I'm trying to convert a .flv file into a Youtube sharing .mov file via Compressor but every time I submit it, it fails due to error code -50. It worked two hours ago (albeit, very slowly) with another .flv file but now it refuses to even try. Please help!

    Sorry you're having problems, but it's not surprising. The error code is invalid media.
    The easy way is to forget about Compressor and upload the Flash file directly to You Tube with their uploader.
    You'll also save a generation of compression loss.
    Good luck.
    Russ

Maybe you are looking for

  • Macbook Connected To Playstation 3

    Is there any way to set my Macbook and my Playstation 3 upp threw bluetooth or anyhting. Want I want it to do is share music and such. Please help if you can in anyway. I try to pair them together and they never find eachother

  • Upgrade to SQL Server 2014

    Should there/Would there be any issue/s I might run into with upgrading from SQL Server 2008 to 2014 ? Or any known issue/s? Yes, I understand this is project server; however the SQL software was acquired (about time) and we're planning the migration

  • DVD Burner not working with 10.5.1

    This is REALLY bad.... will not burn DVD's with 10.5.1. Can I go back to 10.5?

  • Doctoral research on Oracle community

    Hi every body, If my post is not in its place, all my apologies for that. I 'm a PHD student in Paris Dauphine University. My doctoral thesis is about virtual communities (discussion board, newsgroups, usersgroups…) and in this context; I[b] need you

  • Oracle 10g Locator installation

    I have an Oracle 10g Database, only the plain db, no other component. Right now I need Locator to be installed, here are two questions -- 1. Do I need to re-install the whole database in order to add one more component (interMedia) to 10g? 2. I know