IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

FlatFile

  • 1.  FlatFile

    Posted Thu August 18, 2011 05:56 PM

    Hi,

    I am creating a Flat File Dictionary and related Flat file Schema
    and assigning the SET value in the properties tab of the Flat File
    Schema to the Dictionary and when I am trying to generate the
    ISDocumentType I am getting the recordWithNoID Lists inside the
    Document. I am not getting them if I remove the Dictionary value
    from the propeerties tab.I am just wondering Do I need to have to have the dictionary in this case? As standard approach i created the dictionary.
    Could any one please advise.

    Thanks,
    Capri_lak


    #Integration-Server-and-ESB
    #webMethods
    #Flow-and-Java-services


  • 2.  RE: FlatFile

    Posted Thu August 18, 2011 07:48 PM

    What is your flatfile structure? It will be either flat file data with record identifier or without record identifier…

    If your data doesn’t have record identifier, after setting the dict through the properties tab in schema, the DT will have the rootnode generated with the name ‘recordWithNoID’… This is expected…

    In case if you have record identifier, you have to create record reference by pointing the dict in the main window, provide the record identifier name… while generating the DT, you can see the node created with the record identifier name that you have provided…

    HTH
    Senthil


    #Integration-Server-and-ESB
    #webMethods
    #Flow-and-Java-services


  • 3.  RE: FlatFile

    Posted Thu August 18, 2011 11:14 PM

    Hi Senthil,

    Thank you for your response. Actually the flat file structure is tab delimited and new line as record separator.

    Header
    detail(list/Multiple records)
    footer.

    As of now it is coming with record identifier which I am defining when I am creating the dictionary. But when I am defining the SET property in the properties tab it is asking me the dictionary and it is asking me which record definition to select and creating the recordwithNoID with that accordingly( in this case could be Header/detail/Footer). I am just wondering am I doing it wrong or am I missing anything?

    Could you please advise,
    Capri_lak.


    #Integration-Server-and-ESB
    #webMethods
    #Flow-and-Java-services


  • 4.  RE: FlatFile

    Posted Fri August 19, 2011 11:47 AM

    Hi Capri,
    When you have Record Identifier in the flat file data, you should not use SET option in the Properties tab…

    In the schema you can find two tabs as below…

    Flat file definition tab

    • Choose Record delimiter as ‘New Line’ and Field Separator as ‘Tab’.
    • Provide the value of ‘Record Identifier’ starts at position below

    Flat file Structure tab

    • Create Record Reference (Not thru’ properties tab but in the flat file structure tab) by choosing the record from dictionary. When you choose so, you would be prompted to provide a value which is nothing but Record Identifier value.

    In the below example, D is the identifier which should be provided as the Record ID value. If you have identifiers for Header and Footer record, you have to create another Record Reference in the same tab and provide the Record ID value respectively.

    HFIRSTLINE
    DFIRSTNAME LASTNAME ADDRESS
    DFIRSTNAME LASTNAME ADDRESS
    FLASTLINE

    Senthil


    #webMethods
    #Flow-and-Java-services
    #Integration-Server-and-ESB


  • 5.  RE: FlatFile

    Posted Fri August 19, 2011 02:37 PM

    Hi Senthil,

    Thank you very much for your detailed description.As of now we are still in the design stage and I am in the process of trying out of various options with Flat File schema. LikeI said, we do have a recrd identifier now(I mean the files that are coming into the webMethods) but there could be a chance of getting the records with undefined ones considering the one example as follows:

    HFIRSTLINE
    DFIRSTNAME LASTNAME ADDRESS
    DFIRSTNAME LASTNAME ADDRESS
    FIRSTNAME LASTNAME ADDRESS(No record Identifier)
    FIRSTNAME LASTNAME ADDRESS(No record Identifier)
    FLASTLINE

    When the business analyst asked me about that scenario,I was under the impression to use the SET property option so that it will take care of it under recordWithNoID option and when I saw the recordwithNoID in the DT it generates from Flat File,Eventually it created a confusion how the whole thing works.I am just wondering is it the way it is supposed to do or Do I need to handle it in different manner? Could you please advise.By the way, your explanations did provide me clear understanding.

    Thanks,
    Capri_lak.


    #webMethods
    #Integration-Server-and-ESB
    #Flow-and-Java-services


  • 6.  RE: FlatFile

    Posted Sat August 20, 2011 05:52 AM

    Hi Capri,
    You can parse the below format as well… In the schema that you have created, you will end up creating 3 record references for parsing the record with identifiers (‘H’, ‘D’, & ‘F’)… Along with that in the same schema, use the SET property to parse the data that has no record identifier…

    HFIRSTLINE
    DFIRSTNAME LASTNAME ADDRESS
    DFIRSTNAME LASTNAME ADDRESS
    FIRSTNAME LASTNAME ADDRESS(No record Identifier)
    FIRSTNAME LASTNAME ADDRESS(No record Identifier)
    FLASTLINE

    In a single schema, you can parse data with multiple record identifier (H, D, F, etc.,) but only one type of record with no identifier (bcoz using SET option u can choose only one node)…

    Regards
    Senthil


    #Integration-Server-and-ESB
    #Flow-and-Java-services
    #webMethods


  • 7.  RE: FlatFile

    Posted Wed August 31, 2011 06:11 AM

    Hey Senthil,

    Following ur process but isnt really giving the desired results.

    HFIRSTLINE
    FIRSTNAME LASTNAME ADDRESS(No record Identifier)
    FIRSTNAME LASTNAME ADDRESS(No record Identifier)
    FLASTLINE

    created a schema with 2 record identifiers for H and F and one recordIDwithNoIDs record is set to the schema.Now when i create the doc from schema my doc looks like below.

    recordwithNoIDList
    H
    recordwithNoIDList
    F
    recordwithNoIDList

    when I try to parse (convertToValues) the ffvalues looks like below

    ffvalues
    recordWithNoIDList
    ( it has H aswell as part of first doc in the list but it doesn’t make sense as the structure is diff but from the second doc of the list its fine)
    L

    What I am doing wrong.

    Help is greatly appreciated

    Thanks!


    #Integration-Server-and-ESB
    #Flow-and-Java-services
    #webMethods


  • 8.  RE: FlatFile

    Posted Tue October 04, 2011 11:17 PM

    Hi,

    In one of my integrations I am dealing with flat files as apart of i need to validate a CSV file which doesn’t have any record identifier to begin with. So i am trying use recordWithNoID concept from documentation. I created Falt FIle dictionary in the first place with recordDefinition being as recordWithNoID and defined all the required fileds in the field definition.I am creating a Schema followed by referring the dictionary and also defined the value for SET field in the properties tab of the schema to pointing to the Flat file dictionary I created.when I am trying to create the DT document from Flat File Schema it is being created as in the attachment it is coming as 3 recordWithNoID document lists where as I was under the impression it should be only 1 recordIWithNoID document list which is causing me confusion.I am just wondering am I proceeding in the right direction or missing something.Could any one please advise.

    Thanks in advance,
    Capri_lak.


    #Integration-Server-and-ESB
    #webMethods
    #Flow-and-Java-services


  • 9.  RE: FlatFile

    Posted Wed October 05, 2011 04:57 AM

    You shouldn’t do both - referring the dictionary and defining value for SET field. Your flatfile doesn’t have record identifier. So, use only the set option in the properties tab and create the Document Type.

    HTH
    Senthil


    #webMethods
    #Integration-Server-and-ESB
    #Flow-and-Java-services


  • 10.  RE: FlatFile

    Posted Wed October 05, 2011 08:02 AM

    Hi Vkram,
    I tried this in 8.2v (no fixes installed) and found the same behavior what you mentioned. I remember this was working fine in 7.x version. May be a bug?

    I noticed two problems here…

    1. After creating ff schema, while generating the ff document type, recordWithNoID appears 1 + ‘n’ times (‘n’ refers to number of record identifiers defined in this structure). In our case, we have two record identifiers, so the recordWithNoID document appears 3 times in DT… This is a bug… When you parse using convertToValues service, it can be seen appearing only once. Hence, we can go ahead and delete the other 2 documents… (attached DocType.jpg)

    2. While parsing using convertToValues service, the recordWithNoID document appears under the first document which is also not expected. (attached result_shot.jpg)

    Regards
    Senthil


    #Integration-Server-and-ESB
    #webMethods
    #Flow-and-Java-services


  • 11.  RE: FlatFile

    Posted Wed October 05, 2011 05:31 PM

    Keep the first recordWithNoID and shift left all the others recordWithNoId (in order to be inside the “record”)

    I think it is expected :


    #webMethods
    #Integration-Server-and-ESB
    #Flow-and-Java-services


  • 12.  RE: FlatFile

    Posted Wed October 05, 2011 10:12 PM

    Hi Senthil,

    Thank you very much. It worked. I really appreciate all your help.

    Thanks,
    Capri_lak.


    #Integration-Server-and-ESB
    #Flow-and-Java-services
    #webMethods


  • 13.  RE: FlatFile

    Posted Wed October 05, 2011 10:30 PM

    Hi Senthil,

    I am just wondering while defining the flat file dictionary do we supposed to define the field names in the FIELD DEFINITION and refer them in the RECORD DEFINITION or can we directly define the field names under RECDORD DEFINITION? because right now I am doing as defining them under record definition and I wondering do they supposed to go under field definition rather? Is there any advantage doing like this.Could you please advise.

    Thanks,
    Capri_lak.


    #Flow-and-Java-services
    #Integration-Server-and-ESB
    #webMethods


  • 14.  RE: FlatFile

    Posted Tue November 20, 2012 10:24 PM

    Hi All,

    I am wondering, How can I invoke a flow service with a string list input from a browser.Could any one please advise.

    Thanks,
    Capri.


    #Integration-Server-and-ESB
    #Flow-and-Java-services
    #webMethods


  • 15.  RE: FlatFile

    Posted Tue November 20, 2012 10:39 PM

    What makes you invoking via browser?..Did you try as an argument with ? and inputs with the URL?


    #webMethods
    #Integration-Server-and-ESB
    #Flow-and-Java-services


  • 16.  RE: FlatFile

    Posted Tue November 20, 2012 10:46 PM

    Hi RMG,

    Thank you very much for your response.
    Actually, this is a service which we want our support(non-webMethods group) to handle when something goes wrong so instead of running it in developer we wanted to give them access to run it from browser.
    I did try the argument with ? and inputs it is ok with 1 or 2 inputs but sometimes there is a chance that there will be more inputs like 50 or so just in case, that is the reason we defined stringlist as input.
    I am wondering if that is the case, do we need to enter the 50 inputs or is there any other way to do it? Could you please advise

    Thanks,
    Capri.


    #webMethods
    #Flow-and-Java-services
    #Integration-Server-and-ESB


  • 17.  RE: FlatFile

    Posted Wed November 21, 2012 04:17 AM

    Sorry no other easier way from the browser at least as far I know:

    Are the inputs are run-time specific or constant values always to run the service each time?


    #Flow-and-Java-services
    #webMethods
    #Integration-Server-and-ESB


  • 18.  RE: FlatFile

    Posted Wed November 21, 2012 04:14 PM

    Hi Rmg,

    Once again thanks a lot. Actually they are constant values(failed ones) to run the service each time. I am wondering if have to run say for e.g 15 values Do I need to seperate them with & in the browser? I was thinking is there a way or method available to handle that scenario to take input list how we give if we run it from webemthods developer.Because, the way i run in developer is i have string list as input and i enter them accordingly.Similiary looking for something when i run it from browser.
    Thanks,
    Capri.


    #Flow-and-Java-services
    #Integration-Server-and-ESB
    #webMethods


  • 19.  RE: FlatFile

    Posted Tue November 27, 2012 11:17 PM

    Hi All,

    I have created a HTML form to invoke the flow service from the browser. I am wondering, how to declare the inputs in the form as my service is having a document structure with strings in the input? As of now the values i enter in the form are coming as strings to the service which I looking them to appear as strings inside the document instead of strings. Could any one please advise?

    Capri.


    #Flow-and-Java-services
    #Integration-Server-and-ESB
    #webMethods