FlatFile

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

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

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.

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

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.

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

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!

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.

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

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

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

I think it is expected :

Hi Senthil,

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

Thanks,
Capri_lak.

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.

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.

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

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.

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?

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.

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.