Generating multiple files based on recordsets

Hi everyone,
I have a requirement in PI where i need to collect few records in one file and remaining in one more file.How can i do that?
For eg. if the source generates 10 records , at the target i need to have 2 files each having 5 records.
At the target side, if am getting 10 recordsets, 5 must generate 0ne file, and other 5 as a new file.
Thanks in advance

Hi,
Change the occurrence of target message to 0..unbounded in your message mapping, and follow the below logic to map the target message you'll get 5 records in each file.
divide>ceil>SplitByValueChange>collapseContext>TargetMessageType
Divide:
input1:sourceRecordset>removeContext>index(1,1)
input2:constant5
Regards,
Priyanka.

Similar Messages

  • How to generate XML file based on XSD in SSIS

    please provide step by step process to create xml based on XSD in SSIS  

    Hi hemasankar,
    In SQL Server Integrated Services, we can generate XML Schema (XSD) file based on a XML file with XML Source Editor. If we want to generate XML file based on a XSD file, we can use Generate Sample XML feature in Visual Studio. For more details, please refer
    to the following steps:
    Click on "XML Schema Explorer" or 'Use the XML Schema Explorer...' to open XML Schema Explorer in Visual Studio. 
    If your Schema file is valid and you are having elements, right-click on element and click on "Generate Sample XML", this functionality generates XML file in temp folder and open ups in the XML Editor.
    The following two document about how to generate XML file based on a XSD file are for your reference:
    http://msdn.microsoft.com/en-us/library/dd489258.aspx
    http://www.codeproject.com/Articles/400016/Generate-Sample-XML-from-XSD
    If there are any other questions, please feel free to ask.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Split text file in multiple files based on a string

    Hey all,
    I want to split a text file into multiple files. I already found some examples where there is a split based on a number of files.
    http://forum.java.sun.com/thread.jspa?forumID=256&threadID=260930
    But I want to make a split based on a string (word) that I find in the file.
    Anyone that can help me ?
    Regards,
    Atmoz

    This is my testing code like it is now. Maybe there is a bug in there which causes a memory leak or so.
    public class test {
         public static void main(String args[]) {
              File sSourceDir = new File("D:\\Test\\");
              File sDestinationDir = new File("D:\\Test\\");
              File[] files = sSourceDir.listFiles(new Filter());
              for (int i=0; i<files.length; i++) {
                   File file = files;
                   if (file.isFile()) {
                        System.out.println("Splitting file: "+files[i]);
                        splitFile(file,sDestinationDir);
                   else {
                        System.out.println("Not a file: "+files[i]);
         public static File splitFile(File fSourceFile, File sDestinationDir) {
              int counter = 1;
              File fDestinationFile=new File(sDestinationDir,"NEW_"+counter+"_"+fSourceFile.getName());
              fDestinationFile.delete();
              String sLineOfData=null;
              boolean firstfile = true;
              try {
                   BufferedReader DataFileReader = new BufferedReader(new FileReader(fSourceFile));
                   PrintWriter outputStream = new PrintWriter(new FileWriter(fDestinationFile));
                   while ((sLineOfData = DataFileReader.readLine()) != null){
                        System.out.println(sLineOfData);
                        if (sLineOfData.indexOf("UNA:+") != -1) {
                             if (!firstfile) {
                                  counter++;
                                  fDestinationFile=new File(sDestinationDir,"NEW_"+counter+"_"+fSourceFile.getName());
                                  outputStream.close();
                                  outputStream = new PrintWriter(new FileWriter(fDestinationFile));
                                  outputStream.println(sLineOfData);     
                             else {
                                  firstfile = false;
                                  outputStream.println(sLineOfData);     
                        else {
                             outputStream.println(sLineOfData);
                   outputStream.close();
                   DataFileReader.close();
              } catch (FileNotFoundException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (IOException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              return fSourceFile;
    And this is an example of a file:
    PS: I cut out each long line (that line from 4000 chars)
    UNA:+,? '
    UNB+UNOC:3d+5499757493404:14+3014331700208:14+050114:1200+ACC302++STS.GZ++1++1'
    UNH+I15185477+UTILTS:D:03B:UN:E5BE03'BGM+E32::260+I15185477+9+NA'
    DTM+137:200501141151:203'DTM+735:?+0100:406'MKS+23'NAD+MR+3014331700208::9'
    UNA:+,? '
    UNB+UNOC:3+549975f7493404:14+3014331700208:14+050114:1200+ACC302++STS.GZ++1++1'
    UNH+I15185477+UTILTS:D:03B:UN:E5BE03'BGM+E32::260+I15185477+9+NA'
    DTM+137:200501141151:203'DTM+735:?+0100:406'MKS+23'NAD+MR+3014331700208::9'
    DTM+137:200501141151:203'DTM+735:?+0100:406'MKS+23'NAD+MR+3014331700208::8'
    UNA:+,? '
    UNB+UNOC:3g+5499757g493404:14+3014331700208:14+050114:1200+ACC302++STS.GZ++1++1'
    UNH+I15185477+UTILTS:D:03B:UN:E5BE03'BGM+E32::260+I15185477+9+NA'
    DTM+137:200501141151:203'DTM+735:?+0100:406'MKS+23'NAD+MR+3014331700208::9'Message was edited by:
    Atmozzz

  • Generate Java file based on a C++ header file

    Hi,
    I want to know if it is possible to generate a java file and JNI-based C++ file based on the header file of C++ code which I want to call.

    go to www.swig.org... swig is an exe that generates wrapper code & java JNI code. You'll need to compile & link to an so / dll yourself, but it should work

  • How to generat multiple invoices based on per employee/contractor/services?

    Hello Experts / Dina,
    I am in situation where customer is in business of body shopping and charges to his final customer based on individual invoice / per employee /contracor & customer services. This was happening in legacy system but after the implementation of Oracle Project costing and Oracle Project billing, customer is not able to generate invoices per employee services. Rather consolidated invoices are getting generated.
    How to achieve this functionality in oracle project billing?
    Lets take example - On Project P1 for customer ABC, 3 below employees are working on different task for 3 months.
    Now after one month employees have been billed as shown below.
    Emp 1 - 1000 USD - for 100 Hrs
    Emp 2 - 2000 USD - for 200 Hrs
    Emp 3 - 1000 USD - for 50 hrs
    Now @ end of the month when invoice is getting generated is 1 invoice including 3 lines of amount total 4000 USD. There is problem; customer wants that there should be 3 different invoices per employee shoud generated based on above mentiond 3 diff lines for customer ABC.
    I guess with oracle projects billing - You can split the invoice based on Accrue through date ( which is not possible in this case ) and agreement ( which is also not possible in this case ) and different currency ( which is again not possible in this case) - I may be wrong when saying it is not possible. plz correct me if I am wrong.
    even I guess billing extension wont work. So is there any way to achive this?
    Right now only option i am thinking is let single invoice of 4000 USD with 3 different lines should pass to AR and while priniting the invoice customer can create 3 diff prints which includes individual lines. and while applying receipts on the single invoice in the system, customer can apply the receipts to indivual lines.
    but I am not sure about AUDIT issues.. Can some one think about any AUDIT issues comes to this approch or issues with TAX rounding amount issues ?
    Infact I would like to solve this issue with the help of Oracle Projects billing and not with custom invoice print program. I guess someone from you experts can figure it out to generate muiltple invoice based on employees / suppliers / contractors / materials etc.
    A suggestion on Extension / customization / seeded functionality of Oracle Project billing on thi issue would be gr8 help.
    Please help.
    Thanks
    Edited by: oracle_samba on Jan 7, 2013 1:06 AM
    Edited by: oracle_samba on Jan 7, 2013 1:07 AM

    Hi Dina,
    First of all thanks for your update :-) Your solution looks much promising.
    I thought of using billing extension but rejected on the ground that I would end up in generating events based on employee for their corsponding billig amounts so finally generating a consolidated invoice only in One GDI run. But what i was missing was pre-processing extension and running the extention in loop based on employee count.
    I am fully sure business would not have any issues of auto approving and releasing invoice upon generation. But my question is "is it possible to just approve the invoice & not release it using auto approve and release extension?" The reason is I think when GDI runs it only deletes Unapproved invoice & spare Approve invoices. - So please suggest.
    Also please validate my understanding about your solution with an existing example -
    As with the current example, there are 3 EMP presents so need to run GDI 3 times and develop pre-processing ext in a such a way that at each time it will put on hold on all the billable items except EMP1, and EMP2 and EMP3 on each consecutive run respectivly. And ensure that Auto Approve and release extension should be used in order to avoid overriding previously generated invoice? Am I right ?
    Many Many thanks for solution !!!
    Regards,
    :-)

  • Single iDOc to multiple files based on a condition

    Hi Friends
    need your help in one scenario which is something like this:
    there is one iDOC as the sender and this iDOC has to be mapped to files based on a condition means let us say if there is a particular field "R" in iDOC(WPDBBYY01) than it should go and create the file "ABC"
    and if the particlar field is P or G or M than it should create another 2 files named "XYZ" and "WUV" .
    Please guide me how can i put this condition ?
    Any help would be rewarded with points
    Thanks

    Have a single receiver and 2 inbound interfaces.
    So you will have 2 different mappings. In the first mappng source is IDOC and the target is file ABC.
    In the second mappping the source is IDOC and the target is 2 files XYZ and WUV.
    In Interface determination, add both the inbound interfaces and put the condition for each interface.
    Regards,
    Jaishankar

  • How to read multiple files and generate multiple files

    Dear all, I would like to process some LTE measurement files. Currently I can only load a single file and process the data and save it to a single binary file. Since I would like to run the code continously, could someone show me how I can modify the code to load multiple files and specify multiple files to save the process the data please? I have attached the code to the question. Many thanks for your help.
    Attachments:
    RF Analyze IQ File.vi ‏46 KB

    There is no official "bin" format and I am confused by some of your statements:
    Kiwibunny wrote:
    Currently I can only load a single file and process the data and save it to a single binary file. Since I would like to run the code continously, could someone show me how I can modify the code to load multiple files and specify multiple files to save the process the data please? I have attached the code to the question. Many thanks for your help.
    What you could do is use "list folder" with *.bin as pattern, and use a FOR loop and iterate over all *.bin files found in a selected folder.
    In any case, your code uses some weird constructs and you seem to do way to much. Are you using "continuous run" mode? Don't!
    Use a proper state machine instead ot these stalling loops. Why do you need to query the queue after each enqueue? Why do you need a queue at all?
    LabVIEW Champion . Do more with less code and in less time .

  • How to generate multiple files for each segment in the IDOC

    Hi,
    I have a IDOC with multiple segments, for each segment, a file needs to be generated,
    There is only one target structure. Please let me know as to how do we handle this requirement in XI.
    Regards,
    Younus

    Use multimapping in message mapping. Then map the Idoc node to the Message Type of File.
    Illustration of Multi-Mapping and Message Split using BPM in SAP Exchange Infrastructure
    Regards,
    Prateek

  • How to create multiple files with Receiver File Adapter in SAP PI 7.31 Java Stack

    Dear Friends,
    I am using Sender JDBC Adapter and Receiver File Adapter in Integration Flow in SAP PI 7.3 EHP 1 SP08 Java Stack environment. The requirement is that we need to create multiple files based on the row count in jdbc resultset. If there are 5 rows in resultset, we need to create 5 XML files with one row elements in one file. Similarly if there are 10 rows, we need to create 10 XML files.
    So how can we create multiple files in this scenario. I tried placing a for loop in the Java Mapping as below in the transform method:
    DynamicConfiguration conf = arg0.getDynamicConfiguration();
    StringBuffer sbFileData = new StringBuffer();
    for (int i =0; i < record.size(); i++ {
         . // Create XML for each row and Marshal the object into to the String Buffer
         String strFileName = "DC_" + new SimpleDateFormat("ddMMyyyyHHmm").format(new java.util.Date())+"_"+i+".xml";
         conf.put(KEY_FILENAME, strFileName);
         arg1.getOutputPayload().getOutputStream().write(sbFileData.toString().getBytes("UTF-8"));
         arg1.getOutputPayload().getOutputStream().flush();
    So here I'm flushing the OutputStream for each record. But it's not creating the multiple file, instead it creates only one file will all record XMLs appended to each other.
    Please let me know if I missing something or need to do some thing else.
    Regards,
    Shreyansh Shah

    Hi
    You can easily achieve this using graphical mapping.  Create your target message type like below
    MT_Target
      Details  0 to 1
          Data  0 to 1
    Source sample structure
    <resultset>
    <row>
    <column-name>column-value</ column-name>
    </row>
    Then do the message mapping like below
    map <row> with  MT_Target
    contant ----> Deatils
    column-name ------>Data
    In the signature tab of message mapping, choose the occurrence of your target message type as
    0 to unbounded.
    This will generate multiple files from multiple rows.
    Let me know if you have any doubt.

  • Multiple Idocs to Multiple files

    Hi,
    I have a Idoc to File Scenario, where I get multiple Idocs and I need to generate multiple files with different file names
    Assume I am using file XML port at SAP to collect the Idocs.
    Target files are generated based on two field values (Delivery Type and Shipping Point)from Idoc.
    Eg:
    I have three Idocs at a time.
    Idoc1 has Delivery Type = EL & Shipping Point = 2550 --> Target file name is test1.bpr
    Idoc2 has Delivery Type = LF & Shipping Point = 2551 --> Target file name is test2.bps
    Idoc3 has Delivery Type = NL & Shipping Point = 2552 --> Target file name is test3.bpr and test3.bps
    1) Does Mult-mapping support in the case... ?
    2) Do I need to change the Idoc Occurrence 0 to unbounded ?
    3) What will be the Occurrences in the interface Mapping
    4) Can i generate Multiple fileswith different names at one time as specified above using Dynamic Configuration?
    5) What will be the Target Structure Occurrence ?
    Thanks,
    Varun

    Hi,
    Though I am using Multi - Mapping only 1 file is being created. I tested with two Idocs, where 2 files should be created.
    In Moni, under Payload,  I can see 2 sets of Main Document and SubMainDocument been created.
    How to generate 2 files/multiple files ?
    If Dynamic Configuration is not supported in case of Multi Mapping, If I want to use Variable Substitution, then What will be the Target path to be defined in the comm channel since Multi mapping is there. I am trying to define for Action field. Does Variable Substitution support Attributes in the aml payload ?
    My target structure
    <?xml version="1.0" encoding="utf-8" ?>
    - <ns1:Root xmlns:ns1="urn:ap:xi:dwn:Logi:100">
    - <Shipment Company="XX" Warehouse="01" ErpOrder="0830001212">
      <Action>0830001212_2551.bpr</Action>
      <Customer Customer="DEMO" Company="DEMO" />
      </Shipment>
      </ns1:Root>
    <?xml version="1.0" encoding="UTF-8" ?>
    <root>
    <Shipment>
    <Action>0830001212_2551.bpr</Action>
    </Shipment>
    </root>
    Shipment Occurrence is 0 to unbounded and above root I have Messages and message1 node (since Multi mapping)..
    so How do I specify Path for variable substitution in this case, i tried all possibilities, but i am getting error as
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: var2: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: var2
    I am working on PI 7.0 SP 21
    Thanks
    Edited by: Varun Reddy on May 9, 2011 4:38 PM

  • Spool to multiple files

    Hello,
    I have a table containing order information for all our customers.
    I need to generate a file that lists all orders, for each one of our customers. Each file will be named like so, Account1.txt, Account2.txt, etc.
    I can do this individually by carrying out the following:-
    SPOOL account1.txt
    select * from orders where account_no = 1;
    SPOOL OFF
    However, we have over a thousand customers, so I don't want to have to do the above script a thousand times.
    Is there a way that I can loop through the different accounts and spool to different file names?
    Thanks

    Here is a little 'awk' script I threw together after eating lamb chops, but before eating ice cream.
    Lets say you ran this from SQL*Plus -
    set pagesize 200 feedback off trimspool on
    spool data.txt
    select deptno, mgr, empno, ename, job, hiredate, sal, comm
    from emp
    order by 1,2,3
    spool off
    exitYou would have a single file called 'data.txt'. To split this into multiple files (one for each deptno), you'd save the following script to a file 'split_file.awk', and run it on the command line like this :-
    awk -f split_file.awk data.txtIf you are not running on unix/linux, you can get a GNU version of awk from http://sources.redhat.cygwin/ (just need the base utils); or download the MSYS package from http://www.mingw.org/. I'm sure there are lots of other gnu distros. And then there is 'mawk', which I havent tried yet. http://gnuwin32.sourceforge.net/packages/mawk.htm
    # NAME
    #   split_file.awk
    # DESCRIPTION
    #   Splits a single file into multiple files, based on the values
    #   in a 'key' column.
    #   To change the key, modify the 'key_start' and 'key_length' values.
    #   To change the filenames, modify the 'fname=' line below.
    # USAGE
    #   awk -f split_file.awk INPUT_FILE
    BEGIN {
      key_start=1
      key_length=10
      fname="emp4dept_%s.txt"
      ofile=""
      last_key=""
      getline      # fetch first line of the header
      header1 = $0
      getline      # fetch second line of the header
      header2 = $0
      new_key = substr( $0, key_start, key_length ); # extract key
      sub( /^  */, "", new_key ); # remove leading spaces
      sub( /  *$/, "", new_key ); # remove trailing spaces
      if ( new_key != last_key )  # is it a new key?
        if ( last_key != "" ) close( ofile );  # close previous output file
        last_key = new_key
        ofile = sprintf( fname, new_key );     # generate filename
        print header1 >ofile
        print header2 >ofile
      print >ofile
    # End of file

  • Can I Save a Single .AI Document As Multiple Files, Seperated by the Page Tiling?

    There must be a way to save or output a single Adobe Illustrator file  into multiple files based on the "pages" I have created in the  document?
    For example, if I have tiled 10 tabloid-sized  pages onto a single Illustrator CS3 .AI file, is it possible to save  the file in a manner that will allow all of those tiled pages to be  saved as a seperated or individual files?
    I guess it  would be a similar concept to how in newer versions (like CS4) you can  export multiple jpegs of an illustrator file that contains several  artboards and it automatically assigns a number suffix to the filename  since multiple files were outputted from the single ai file.
    Any  help is MUCH appreciated. Thanks!

    Please post your question in the Illustrator forum. This forum is for suite specific issues only.
    Bob

  • Creation of multiple files as per  segment repeating multple times  in IDOC

    Hi SapAll.
    i have got a  requirement where in an IDOC to File Interface pi need to create 3 different files with same content but with different names based on single Idoc-Segment.
    its an IDOC to 3 File Inteface.
    the file names will be determined by the IDOC-SEGMENT(Zregion)-Field (where Zregion Which will repeate for 3 times )
    for achiving this
    i just created 3 message (Service )Interfaces and one message mapping,3 Interface(Operation) mappings in the design and In the configuration i created three reciever communication channels with one reciever detarmination ,one Interface determination and 3 reciever agreements (with 3 communication channels 1 for each)
    in the Interface Determination i just defined 3 operation mappings,3 reciever Service Interfaces with one condition each.
    the condition is like below
    (/ZARTMAS05/IDOC/Z1EDRMDFRH_REGION01/REGION = JNB) then Rec Interface1
    (/ZARTMAS05/IDOC/Z1EDRMDFRH_REGION01/REGION = DBN) then Rec Interfacde2
    (/ZARTMAS05/IDOC/Z1EDRMDFRH_REGION01/REGION = CPT) then Rec Interface 3 where (/ZARTMAS05 is the sender idoc.
    but iam getting only one file in the reciever side instead of 3 files.
    can any body help me in providing me the differnt solutions for this without use of any script executions.
    will be waiitng for response.
    regards.
    Varma

    what ever you designed if you want to create always three files then your approach is correct.
    if you want create multiple files based on all the condition you you have to change the logic as like below.
    your message mapping sould me - one source target message type -> three traget message type all are occurance is 0..1
    and check the message type level contion if the region=ABCD create the first message type..
    same thing in your interface determination one source interface -> target three interface occrance is 0..1
    ID Steps - 1 RD, 1 ID, 3 Receiver coom channesl and 3 receiver aggreee...
    after develope this scenario it will split different message types in SXMb_MONI under the Technical Routing...payload level.
    hope it will help you to solve your requirement...
    Regards,
    Venu.

  • How to zip all the files generated using file adapter

    Hello Everyone,
    I have a scenario in place where i split a message into multiple messages. I used to generate multiple file using the file name present in the payload of the splitted message using variable substitution.
    This is working fine.
    Now the requirement has changed and i want to zip all these file and create a single zip file.
    I think it could be done using run OS command option in file adapter, but have no clue how to do it.
    Please help me.
    Regards
    Rahul Nawale

    Hi,
    you can use on of the command line ZIP utilities:
    http://www.winzip.com/prodpagecl.htm
    http://www.7-zip.org/
    then when your file adapter puts the file
    you can use commnad line to zip the files
    Regards,
    michal

  • Creating Multiple Files with different name at Receiver side

    Gurus -
    Can anybd tell me how to generate multiple files at the Receiver side in the given target directory with different file names?
    One source message will contain number "N" using which we have to generate files "N" number of times at the Receiver side.
    Kindly help.

    hi,
    are you following this blog?
    provided you have SP>14 and no IDOC/HTTP involved.
    and have you got the error you mentioned when testing with sample payload?
    from where did you take the payload? if is from SXMB_MONI make sure you dont have <MESSAGE> tags in the payload,generally systems adds <MESSAGE> tags when you do multi mapping.
    get the payload from SXMB_MONI right click ->view source payload(this is raw data) and test it.
    it should be ok now.
    and refer my discussion in the thread ,as I got he same error.
    Split mapping created no messages -Mluti Mapping

Maybe you are looking for

  • Failor, can't open Adobe .pdf file - Please Help

    Hello, when I save a .pdf document to SAP, as you can see in the picture below, and try to open it, I get the failor that SAP is not able to open this .pdf in the "DEFAULT" Network. I'm really new in SAP and don't know how I can change the network or

  • Bapis in SAP BI

    Please give me some scenarios for BI - BAPIS thanks

  • Unknown fault -42032

    After opgrade several months ago

  • Super drive rejects CDs/DVDs

    The Super drive on my mac is not accepting any CDs or DVDs.  It ejects the CD/DVD after about 15 seconds.  I have hardly used the CD drive (infact used it only once about 3-4 months back).  My MBP is 13" mid-2012 running OS X 10.8.4.  Appreciate any

  • Send mail daily

    pleze help can anybody help me in sending mail from a servlet daily and every time the order was delivered from a customer for my site