Unable to place the cursor position dynamically in cics - cursor-position

I have a map which has only one input field where the user will choose the option from 3 given options. I haven't used IC in the attribute definition of the field in map. What i've done is before sending the map, I used this statement: MOVE -1 TO OPTIONL which I thought is used to place the cursor in this option field. But this isn't working. What might be the problem

Did you specify CURSOR without a position value? Even though you set the length attribute to -1, the CURSOR positioning option on SEND MAP must be specified - but without a value. Something like
MOVE -1 TO OPTIONL
EXEC CICS SEND
MAP('MYMAP'),
MAPSET('MYMAPSET')
CURSOR
ERASE
END-EXEC

Related

FAST Element's Repeat Directive - Indexing

Hello FAST team/community members!
I am currently building out a project using FAST Element, web components, and Fluent-UI. I am trying to render something based on where two items are in an array.
I noticed that under the repeat directive there is an index property which will give the index of the current item inside a repeat block.
Is it possible to use the index property of repeat to also look ahead in the array?
Ex. if the current item is null, would it be possible to check index + 1 to see if the next item is null as well? Or would this have to be done outside of the repeat block with a check?
Thank you!
Yes, you can do that. However, bear in mind that the index lookup will not be "observed" because the observation system can't see when you access an array directly by index. e.g. myArray[index]. It will return the value just fine, but if what is at that index changes, the rendering engine won't know that and won't be able to trigger an update to the UI. However, if the index itself changes or any other observable changes, updates will work. Array index gets/sets are the one edge case that cannot be detected at present.

Accessing distinguished fileds in assign shape (Biztalk)

I am constructing a multipart message in construct shape. That message has a body part with distinguished field, which i want to assign in assignment shape:
As you can see, intellisense is suggesting me to select a node with my distinguished field. But when i select it, i get an error!
I've faced this before, and restarting VS always helped. But not this time :(
Message is a reserved word in XLang. Can you change the name of the element/attribute that backs this distinguished field to something else? If that does not work, you could always XPath to the element to read it and use it. Last if those two don't work, you could make this a promoted property where you are able to specify the name yourself.
Here is the list of reserved words.
http://msdn.microsoft.com/en-us/library/aa547020.aspx

Firebase: .priority value

How do I check the .priority values are in my "Forge"?
According to docs, smaller .priority value comes before larger .priority value. If I use seconds since epoch for priority, and I want the latest children to show up on top, should I set .priority to be 1/seconds?
Children with a number as their priority come next. They are sorted numerically by priority (small to large) and then lexicographically by name (a to z).
From experimentation, I've determined that if I set .priority to java.util.Date#getTime, oldest children show up on top in my Forge, but latest children show up on top in my Javascript on() when ranking using prevChildName. Why is this?
You can see .priority in a json by "Export JSON" from the Forge.
use
snapshot.getPriority();
more at
https://www.firebase.com/docs/javascript/firebase/setwithpriority.html
It's not available from Forge but you can see it from the JSON format:
https://YOURAPP.firebaseio.com/.json?print=pretty&format=export
There's no way in Forge right now to see the actual priority values, but the children will be sorted correctly.
If what you want is to sort items in reverse-chronological-order, I'd suggest simply setting the priority to a normal timestamp (or using push -- it orders them automatically). You can then simply render them backwards to achieve the reverse order you want. For example, rather than appending new messages to the bottom of a list in your app, you could insert them before the first element.
snapshot.exportVal()
Exports the entire contents of the DataSnapshot as a Javascript
object. This is similar to val(), except priority information is
included (if available), making it suitable for backing up your data.
The export format is a Javascript object with ".priority" entries
added to any object with a priority. In the case of primitive values
(a string, number, or boolean) with a priority, the value is wrapped
in an object with ".value" and ".priority" properties. In the case of
primitive values without a priority, a primitive value is returned.
Source: https://www.firebase.com/docs/web/api/datasnapshot/exportval.html

Cannot enable viewstate?

I have a web apllication with wizard control with 4 step index. Each having a dynamically editable grid which need to put only valid data & goto next.
In one step which have 2 columns which are not require to be editable because it has set its value from previous field by calculation, done with javascript.
But problem is that when we decalre these field as a enable false or read only mode then it works but can not able maintain state means its value goes off when we change the step index changed. (If that field are editable then it works ok.)
Also I tried it by use of label field but the same thing happen when the step changes label can not maintan its state (its value clears when step changes).
Please give me idea how to resolve this problem. Also each step has a dynamically created editable grid.
Thanks & Regards,
Girish
Well, if your javascript is doing the calculation from another field that is set by the user, then why couldn't you just redo that calculation on the server side when switching to the next step. I am assuming that the "value from previous field" is getting passed back to the server.
Another solution would be to have your javascript populate a hidden field too (in addition to the one viewable by the user). Then you just read that hidden field.

How to set a default value to an destination schema element in BizTalk Map

I have a requirement in BizTalk map, where
I will map some elements from source schema to destination schema,where the values will be assigned to destination schema elements based on some condition.
If those values are not assigned, i need to send some default value (N/A).
My map is not One-to-One so that i can use a scripting functoid and send a default value, on top of that the destination schema is a flat file and in source schema i have to loop a lot.
So can any body give me some suggestion about "How to set a Default value to a Element in Destination schema if nothing is mapped" using BizTalk Map/some setting in schema.
What I have already tried is, I Opened the destination schema for all the elements I have set the value 'N/A' to a property -> "DefaultValue" which was there in the property tab but when nothing is mapped the default value is not coming. Instead the node itself is not created in the Output file.
Please see the Map below for a good understanding
alt text http://www.biztalkgurus.com/cfs-filesystemfile.ashx/__key/CommunityServer.Discussions.Components.Files/13/0131.problem.JPG
Source Schema is a XML schema.
Destination Schema is a Flat file schema.
Now in the above map, in my source schema I am having a node called F4706 which will loop.
When the element "TypeAddressNumber" within the F4706 is "1", then I am mapping the remaining fields of that F4706 instance to "ship to" details in my destination schema
When the element "TypeAddressNumber" within the F4706 is "2",then I am mapping the remaining fields of that F4706 instance to "Reseller" details in my destination schema
When the element "TypeAddressNumber" within the F4706 is "3",then I am mapping the remaining fields of that F4706 instance to "EndUser" details in my destination schema
Now if I connect a Logical NOT functoid to the Logical Equal functoid and assign some default value, then the my destination node occurs Three times as one time the "=" functiod returns true one time and false other two times. But what I want is, if anything is there to map then map from "F4706" instance or assign the default value.
Find the INPUT File below
alt text http://www.biztalkgurus.com/cfs-filesystemfile.ashx/__key/CommunityServer.Discussions.Components.Files/13/5430.ip.JPG
The output I'm expecting and getting is :
alt text http://www.biztalkgurus.com/cfs-filesystemfile.ashx/__key/CommunityServer.Discussions.Components.Files/13/0724.curOP.JPG
Now if the Input file is like below :
alt text http://www.biztalkgurus.com/cfs-filesystemfile.ashx/__key/CommunityServer.Discussions.Components.Files/13/6403.otherIP.JPG
That is when I don't have a "F4706" node with TypeAddressNumber=2, I need to fill "N/A" in Reseller related nodes in my destination schema, which should look like below :
alt text http://www.biztalkgurus.com/cfs-filesystemfile.ashx/__key/CommunityServer.Discussions.Components.Files/13/0435.nextOP.JPG
If you go and check the XLST which is getting generated, it is writing a xsl:foreach so if you use xsl:choose/otherwise conditions gets checked multiple times and my output nodes gets duplicated.
I also tried to use some global variable in XLST in First Loop and and second loop to access that and write the default value, unfortunately it doesn't work too. Because a VARIABLE in XLST is not a TRUE variable. I think its a CONSTANT.
How to accomplish this ANY help is highly appreciated.
Put two "Value mapping" (Label them "Incoming" and "Default") on the map and drag the output from both to your destination (you will get a warning at compile time).
Put a "Logical NOT" on the map (Label it "NoValue").
Put a logical evaluation (Existence, IsNil, Length) that suits your need, to evaluate if you have an incoming value, and drag your source field to it. (Label it "HasValue")
Drag the result to the "Incoming" and the "Logical NOT".
Drag your source field to the "Incoming".
Drag the output from "NoValue" to "Default".
Add a constant parameter to "Default", by double clicking and insert new parameter, that is your default value.
Hope you understand this mess :)
I believe you are essentially trying to control the creation of an output node based on some condition.
I have tried this for records (you are trying to do this for elements, so I believe this should work for that as well).
I had connected the output of the Logical functoid to the record and the record was created only if the logical functoid returned true.
For default values, you are doing it the right way by putting the default value in the property grid for Schema element. So if nothing is mapped to this element, you will see in the xsl file that the element with the default value is generated.

Resources