conversion of acceleration of movement
Hi guys,.
I am primarily an experience that is to use 2 x Triaxial accelerometers to calculate the displacement of the center of rotation circular tool (whereby an accelerometer is attatched on each side) and I use labview 2009 to collect & analyze data. I know that there are limits to this because of the noise, but that's fine, I'll just compare it to some lasers...
However, in my view, there is a problem in the procedure/math my vi that causes a shift completely wrong. I have attatched a screenshot of the front panel in action so that his race and my vi. It would be great if someone could point out what goes wrong.
The vi is basically display the trip from lasers and accelerometers simultaneously. for moving the accels, I'm subtracting the acceleration of an axis to the corresponding axis on the contrary accel and halfing it to get acceleration due to traffic (approximately) from the center of the tool, and not due to the rotation. I've then double integrate him to give travel, find the amplitude between the 2 axes, I'm interested and he draw on a lot of polar with theta is observed angle regardless of an encoder. I don't know if it is a correct approach, any help will be welcome!
Concerning
Luke
OK, this will take a few steps.
I have first to change your structure a bit to implement a loop of consumer to the producer. You pass not valid values in the loop of the consumer. Your queue your analog vi samples until you click on stop and you removed only the first game. Then your second loop has started and had only the first data to work with. There was no relationship between the queue data and the data from the meter. Is not yet there and we will come back later.
See the examples in LV on usuing queues and we respond to the work of vi. Your basic approach seems reasonable. Just a matter of learning enough LabVIEW to perform your desires.
Tags: NI Software
Similar Questions
-
ESXi 3.5 to ESXi 5 - error UTF-8 conversion
Hi all
I'm going through some virtual machines from a server ESXi 3.5 in our new 5.1 ESXi. However, vCenter Converter (latest version) fails, with the usual ''file already has an encoding "UTF-8" error. ' " Tried to edit the .vmx, entry coding removed file. Still no luck. VMware documentation mentions that the issue should be fixed in the last converter, and it occurs when you try to turn on the converted virtual computer. This isn't the case for me, because the conversion at all ends. The error appears inside the converter, when you start the conversion.
Why move the virtual computer with converter? -cant just move the directory?
in any case - to post the vmx file so that we can reproduce the problem
also post the small vmdk files - they also Scripture can be bad/strange encoding
-
Hello
Following a change in hardware, photoshop automatically reactivated a feature I had disabled, the OpenGL acceleration.
I gave up on it 18 months because of one thing that irritated me incredibly, the crazy 'inertia' ago when we moved elements.
Let's say you have a document open. The image is too large for your photoshop window, you will see a part of it.
So, you keep the key space is, and you just drag and drop your left click of the mouse.
Without openGL acceleration: the movement ends as soon as you release your mouse button.
With the openGL acceleration: moving it gradually slows down until it comes to an end, which means that you have zero control over your working window.
And well, that's enough of an annoyance for me to renounce the OpenGL acceleration.
Please, do you know if there is a way to get rid of this feature? I've looked everywhere I could, I think I tried each of the options of photoshop, but without success, unfortunately
Thanks a lot if you can help
Kind regards
Clear the check box to activate panoramic Flick in preferences > General
-
Move the player to the position of the mouse.
I have a question about mobile Player symbol and animation to the location of the mouse on a MouseDown event. Now, I set it up to do a relaxation so that I can control the speed of the player to the location. Problem is that it's done with the relaxation. I don' t like appeasement because the speed of starts really fast and then slows down until it reaches the mouseX mouseY location. I like plain ol ' not the location of the reader to the location of the mouse on the MouseDown event. Here is my code:
package
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
SerializableAttribute public class PlayerToMouse extends MovieClip
{
Declare constants
private const ACCELERATION: Number = 0.1;Declaring variables
private var _targetX:Number;
private var _targetY:Number;
private var _vx:Number;
private var _vy:Number;public void PlayerToMouse()
{
player.gotoAndStop (1);
Initialize variables
_targetX = mouseX;
_targetY = mouseY;
_vx = 0;
_vy = 0;
Add event listeners
stage.addEventListener (MouseEvent.MOUSE_DOWN, onMouseDown);
}
private void onEnterFrame(event:Event):void
{
Player.Play ();
Calculate the distance between the player and the mouse
var dx:Number = _targetX - player.x;
var dy:Number = _targetY - player.y;
var distance = Math.sqrt (dx * dx + dy * dy);Move the object, if it is more than 1 pixel the mouse
If (distance > = 1).
{
move the player
_vx = (_targetX - player.x) * acceleration;
_vy = (_targetY - player.y) * acceleration;move the player
Player.x += _vx;
Player.y += _vy;
}
on the other
{
player.gotoAndStop (1);
trace ("player reaches the target");
removeEventListener (Event.ENTER_FRAME, onEnterFrame);
}
}
private void onMouseDown(event:Event):void
{
_targetX = mouseX;
_targetY = mouseY;
addEventListener (Event.ENTER_FRAME, onEnterFrame);
}
}
}Any input would be appretiated. I am a beginner and my state of mind for the best coding procedure is not yet there.
Shiim
It's a normal solution to do what you were doing as much as to stop when you get pretty close, but for accuracy, it is normal to force this last step to be the target values that were intended. Something like...
If (distance<=>=>
{
Player.x = targetX;Player.y = targetY;
player.gotoAndStop (4);
removeEventListener (Event.ENTER_FRAME, onEnterFrame);
} -
Toshiba 32L4333D mp4 subtitles issue
Hello everyone!
I just bought this TV and my major disappointment, I discovered there is a problem with the files mp4 video playing actually no subtitles at all of my USB. Avi & mkv files play fine although the conversion of all the movies in a different format or using embedded subtitles isn't really a sollution for me.
The question is like the one I found here: http://forums.computers.toshiba-europe.com/forums/thread.jspa?threadID=76798&tstart=0
Also note: the question has not to do with no any utf8 and notepad ++ record as the subtitle is not loaded at all.
Anyone have a proposal?
I got very frustrated with this problem and I even plan to return the tv back unless I found a way...Edit: Mentions Toshiba Greece in a facebook post that srt files are not taken in charge atm and "sub - .smi - .ssa." might work, but I also have tryied all of them using subtitle workshop without success... :(
Post edited by: Alexander_82
It is really strange. I have two Toshiba TV and there is no problem with reading the subtitles.
In my case, each film is saved in a folder with srt (subtitle) file. SRT file must have exactly the same name as the avi file.When I run the USB stick film began and subtitle will display correctly. the same thing happens when I do that on PC using VLC player.
-
Label update lifetime indicator
Hi all
This is the situation, I have an indicator to display acceleration, speed & movement. I use a local variable in the cases 2 structures.
Here's what I want to achieve:
I want to update the label indicator for the respective option button control. If the click on the button Acceration, the label must be updated to acceleration during the duration. Consequence for speed and shift key.
Can someone help me how to on this subject.
Excuse me if I missed anything.
Thanks in advance
In general, you should not change the label for a control, because it's often how the control called from elsewhere in the program and it causes confusion.
Instead, there is a Caption property. If you right-click on the control and select visible items-> legend, the label is hidden and the legend is displayed instead (with the same text).
In your block diagram, right-click on the graphic terminal and select Create-> property Node->-> text caption. This creates a property for the caption property node. You will need to click it to change to 'Write' rather than 'Read' - you can then wire any string of text you like and it will update on the front panel.
-
My windows games - freecell and hearts for example expand only to half of the screen. How can I make these full screen I have a wire led to trouble.
Hello
have a. you been able to play these games in mode full screen earlier?
b. any recent hardware/software changes made on your computer?
Method 1: Check if you have enabled hardware acceleration and I also suggest that you install the latest video card driver.
To adjust graphics hardware acceleration, follow these steps:
1. click onStart, type personalization in the Start Searchbox, and then click personalization in the list of programs .
2. click ondisplay settings.
3. click on Advanced settings.
4. click on the tabTroubleshooting , and then click change settings. Collapse this includes this image
If you are prompted for an administrator password or a confirmation, type the password, or clickallow.
5. move theHardware Acceleration slider. (move the cursor to the right and check)
6. clickOKand then click restart now.
7. once the computer has restarted, test the game.
Reference:http://windows.microsoft.com/en-us/windows7/Update-a-driver-for-hardware-that-isn ' t-work properly
Method 2: Switch from full screen to windowed mode:
You can pass the game in windowed mode. To switch to windowed mode, start the game and press ALT + ENTER (first, hold down the Alt key and press enter on the keyboard).
Method 3: You can also try to change the resolution of the screen and check if that helps.
Reference:http://windows.microsoft.com/en-US/windows7/Change-your-screen-resolution
Let us know if it works.
Thanks and greetings
Umesh P - Microsoft technical support.Visit our Microsoft answers feedback Forum and let us know what you think.
-
Windows Media Player incorrectly displays Photo DVD
Whenever I am watching a DVD on WMP the entire image doesn't appear on the screen. It's normal display size or full screen that I choose but its almost like if the image is enlarged. I also noticed that to click on the menu options of DVD rather than the buttons being where the words on the screen are they are an inch or so off the coast on the side.
Help, please
Hi Obecný,
This happens with any particular DVD?
1 reduce display settings:
a. Click Start, click Run and then type desk.cpl in the Open box. Or, right-click an empty area of the desktop and then click Properties.
b. on the settings tab, move the slider to 800 X 600 screen resolution.
c. Select 16-bit for the color quality, and then click OK.
d. some display drivers can support playback of DVD at higher resolutions and color depths. If this solution works, using a driver updated, you can read the DVD at higher color depths and resolutions.
2. try to reduce the video hardware acceleration in Windows Media Player:
In Windows Media Player, on the Tools menu, click Options.
In the performance, under video acceleration tab, move the slider more close votes to zero, and then click OK.
If this allows to read DVDs in fullscreen, it indicates that there is a problem with your graphics card or driver. It may be possible to obtain an updated driver from the manufacturer of the display adapter.
With regard to:
Samhrutha G S - Microsoft technical support.
Visit our Microsoft answers feedback Forum and let us know what you think.
-
Playback of the videos that I transferred from my digital camera
I transferred photos and short videos in the Windows my digital SLR Nikon. Now I can see my pictures when I open 'Images', but I can't view the videos I took - instead, there is only an icon that says "Film".
How can I view my videos in Windows?
Also how can I add a short video as an attachment to an e-mail?
I transferred photos and short videos in the Windows my digital SLR Nikon. Now I can see my pictures when I open 'Images', but I can't view the videos I took - instead, there is only an icon that says "Film".
How can I view my videos in Windows?
Also how can I add a short video as an attachment to an e-mail?
==================================
I'm guessing your videos from the Nikon are in the
. MOV format?Two ways to see. MOV files are as follows:
(1) since then. MOV is the Apple QuickTime format... it can
be worth trying to use the Apple QuickTime Player.(FWIW... it's always a good idea to create a system)
Restore point before installing software or updates)QuickTime for Win XP, Vista or 7
http://www.Apple.com/QuickTime/Download/Also... at the following freeware Media Player can be
worth a try:(FWIW... it's always a good idea to create a system)
Restore point before installing software or updates)Media Player Classic Home Cinema
http://www.videohelp.com/tools/Media-Player-Classic-home-cinema
(works on XP/Vista/7) (The name of the file to download is:)
"mplayerc_homecinema.1.6.4.6052.x86.exe).
(start with left click - Download (direct link)(2) convert the. MOV files to a different format
may be worth a try... WMV would be a good choice.There are to many converters available on the net...
some retailers and some freeware. What follows
Freeware is just an example:(FWIW... it's always a good idea to create a system)
Restore point before installing software or updates)(1) Freemake Free Video Converter (freeware)
http://www.Freemake.com/free_video_converter/
(Windows XP / Vista / 7)
(* Read * all * the installation screens... it)
may be a few items you want to unmark *)Freemake Video Converter - how to convert video between Formatshttp://www.Freemake.com/how_to/how_to_convert_video_between_formatsWith regard to the e-mail... If the size of the video file does not work
exceed the limits of your email provider, you can reach
the file as you join a photo. Conversion of
the. MOV files to the. WMV format before emailing
ensure that most of the beneficiaries could view the files. -
BlackBerry Smartphones content protection is enabled
Why have some of my contacts in BBM "Content protection is enabled" after their name? How can I get rid of it?
Thank you
Joe
joervoyles wrote:
I did as you asked. After the battery pull, I had a few cantacts in their group, but others were in "Confirmation of PIN update pending". After that, I have a conversation with them they move to their correct group, but some still have the "Content Protection is enabled" attached to their name.
Is there anything else I need to change?
Thanks for responding.
Joe C.
One with the active content Protection, select and delete and re-create the contact.
If it works, you know the rest!
Thank you
Bifocals
-
Organizing PSE10 won't open. Had an online chat that did not help
Hi all - very frustrated. I have aired PSE8 for awhile now and come PSE10 to keep me in the loop. The installation seemed to go OK, but when the Welcome screen appears, and I chose organizing, the program just closes. No error message, nothing - just closed. I choose Editor and loads very well. If I then choose the Organizer tab in the top right of the Editor screen I just get a white box in the Editor screen. I uninstalled and reinstalled several times, performed a restore of the system to a previous restore point but no luck.
I had 2 cats online, which appear to be very scripted, asks me to do a series of things like go to the directory and organizer of the opening from there, holding the key ctrl + shift, rename catalogs, creation of new user accounts with administrator privileges etc., but that doesn't work either.
I sometimes had problems with PSE8 opening the organizer with her just close, but always the 2nd time that I open it, it works without problems.
As it is I'm close resident myself of being stuck with PSE8, but I don't want to always place at this stage. Don't know if I can face another cat 2 hours online, called to perform the same operations.
If anyone can help me solve this problem, I would get them a beer!
Equipped with Vista 32 bit on a Dell XPS 420 with 3 GB of RAM
Mark
I never thought this day would come. MY ORGANIZER PSE10 ŒUVRES!
Right for all let you know how, in hopes of someone else, be able to solve their problem...
I installed PSE10 an update to PSE8. It installed fine. When you try to open it for the 1st time, it asks you if you want to convert the old catalog. Naturally, I said yes. Unfortunately, the conversion failed. Tried to open Organizer and he just closed. 4 cats online with them remotely access my computer and 5 hours later, it seems PSE10 tried to use my PSE8 catalog and have a hissy fit every time.
So to remedy this you must hold the SHIFT key when opening the Organizer. This opens the Catalog Manager. Then, I created a new catalog (with nothing in) and selected. Hey presto, the organizer opens... but of course with any of my pics in.
Then I try and convert my old PSE8 new catalogue - without success - failure at 34%. After some repairs (not the problem in the end), I realize that it is my C: / alone has 20 GB of free space fasting runs during the conversion. I then move a load of other files on my portable drive to free up space. Believe you that the conversion of catalogue now works and all this disk space conversion uses, get you most of it.
If at the end, I have the main guilty right from the word go was not being able to make the conversion from catalog, he tried to recon and using my old catalog and all out of control from there.
Thank you all for your patience and excellent assistance - if nothing else I learned a lot about the functioning of the background of this program because of your incredible knowledge. These forums with generous people willing to help make the internet a great place
-
Why my anchor handles keep disappearing?
It's literally driving me crazy. When I change something via convert tool anchor and then release the handles disappear and when I click on the anchor, they go back to where they were originally. I want them to stay selected. The path was created with the pen tool.
Another related question, is there a way to simply select one of the handles when you click on an anchor? Whenever I click on both are selected, so when I move the mouse, the other handle is too manipulated.
And another question, is possible to stop handles anchor back to its levels of position when you click to activate? I always have to click on, then cancel.
When I change something through the convert anchor tool and then release, the handles disappear
Look in the view menu. Is the command Show Edges it listed? If so, select it.
and when I click on the anchor, they go back to where they were originally.
This is why's called it an anchorPoint CONVERSION tool. Click here to convert the point to a corner point (retract its handles). ClickDrag to convert an inflection point, extending its handles symmetrically the anchorPoint.
is there a way to simply select one of the handles when you click on an anchor? Whenever I click on both are selected, so when I move the mouse, the other handle is too manipulated.
You select the handle with what tool? Drag a few extended with the conversion tool and it moves independently the anchorPoint s other handle. Drag an extended handle with white pointer and of the anchorPoint another handle to move if the point is a point of inflection, but won't if the point is a corner point.
is it possible to stop handles anchor back to its levels of position when you click to activate?
Yes. STOP by clicking on them with the CONVERSION tool. Select an anchorPoint with white pointer. The tool convert AnchorPoint is for CONVERSION anchorPoints, only not to select.
JET
-
Error in the overall Transaction
Hello
I installed 10R3 Tuxedo on AIX 5.3... I wrote a code example for global Transaction... When calling the service, Tpcall is a failure with a status of 0... So I couldnot understand where the error...
My client source code program is:
IDENTIFICATION DIVISION.
PROGRAM-ID. GLOBCL.
AUTHOR. DEVELOPMENT OF TUX.
ENVIRONMENTAL DIVISION.
SECTION OF CONFIGURATION.
DATA DIVISION.
STORAGE SECTION OF WORK.
*****************************************************
* Definitions of tuxedo
*****************************************************
TPTYPE 01 - REC.
COPY TPTYPE.
*
TPSTATUS 01 - REC.
COPY TPSTATUS.
*
TPSVCDEF 01 - REC.
COPY TPSVCDEF.
*
TPINFDEF 01 - REC.
COPY TPINFDEF.
*
TPTRXDEF 01 - REC.
COPY TPTRXDEF.
*****************************************************
* Definitions log messages
*****************************************************
01 LOGMSG.
VALUE OF FILL 05 PIC X (8) ' GLOBCL:
LOGMSG 05-TEXT PIC X (50).
01 LOGMSG-LEN PIC S9 (9) COMP-5.
*
PEAK USER-DATA-REC 01 X (75).
SEND-STRING PIC 01 X (100) VALUE SPACES.
RECV-STRING PIC 01 X (100) VALUE SPACES.
SECTION OF LIAISON.
01 BONES - LEN PIC S9 (9) COMP.
01 BONES-STRING.
PARMPTR 02-TABLE SE PRODUCT BASED ON 1 TO 100 TIMES
ON OS - LEN.
03 PARMPTR POINTER.
01 X (100) PIC PARM-STRING.
******************************************************
* Start the program with command line parameters
******************************************************
THE PROCEDURE DIVISION
USING VALUE OS - LEN BY OS-STRING REFERENCE.
MOVE DOWN-VALUES TO TPINFDEF-REC.
MOVE ALL THE LOGMSG TO LOGMSG-LEN.
ADDRESS OF PARM-STRING VALUE PARMPTR (2).
MOVE PARM-STRING TO SEND STRING.
START-GLOBCL.
DISPLAY ' SEND-STRING: "SEND-STRING.
LOGMSG-TEXT, MOVE "on the road".
PERFORM DES USERLOG.
PERFORM DES TPINIT.
PERFORM DES TPBEGIN.
PERFORM DES TPCALL.
PERFORM DES TPCOMMIT.
PERFORM DES TPTERM.
MAKE THE PROGRAM EXIT.
*****************************************************
* Now put the customer in the system.
*****************************************************
-TPINIT.
MOVING TO USRNAME SPACES.
MOVE TO CLTNAME BOXES.
MOVE TO BOXES TO PASSWD.
MOVE TO BOXES TO GRPNAME.
MOVE 0 TO DATALEN.
TPU - DIP SET TO TRUE.
*
CALL FOR ASSISTANCE "TPINITIALIZE" TPINFDEF-REC
USER-DATA-REC
TPSTATUS-REC.
IF NOT OK
MOVE "TPINITIALIZE failed" LOGMSG-text
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.
-TPBEGIN.
MOVE FROM 0 TO T-OUT.
CALL "TPBEGIN" WITH THE HELP OF REC-TPTRXDEF TPSTATUS-REC.
IF NOT OK
MOVE "TPBEGIN failed" LOGMSG-text
PERFORM DES USERLOG
DISPLAY "TPBEGIN:" TP-STATUS
MAKE THE PROGRAM EXIT
END-IF.
DISPLAY "COMM HANDLE:"COMM-HANDLE. "
*****************************************************
Issue of a TPCALL
*****************************************************
-TPCALL.
SPEND 100 TO LEN.
GO REC-TYPE "STRING".
GO "GLOBSRV" - NAME OF THE SERVICE.
TPBLOCK SET TO TRUE.
TPTRAN SET TO TRUE.
TPNOTIME SET TO TRUE.
TPSIGRSTRT SET TO TRUE.
TPCHANGE SET TO TRUE.
CALL FOR ASSISTANCE "TPCALL" TPSVCDEF-REC
TPTYPE-REC
SEND-STRING
TPTYPE-REC
SEND-STRING
TPSTATUS-REC.
IF NOT OK
MOVE "TPCALL failed" LOGMSG-text
PERFORM DES USERLOG
DISPLAY "TPCALL:" TP-STATUS
END-IF.
-TPCOMMIT.
CALL "TPCOMMIT" WITH THE HELP OF REC-TPTRXDEF TPSTATUS-REC.
IF NOT OK
MOVE "TPCOMMIT failed" LOGMSG-text
PERFORM DES USERLOG
DISPLAY "TPCOMMIT:" TP-STATUS
MAKE THE PROGRAM EXIT
END-IF.
DISPLAY "RECV-STRING:" SEND-STRING.
*****************************************************
* Let TUXEDO
*****************************************************
-TPTERM.
CALL FOR ASSISTANCE "TPTERM" TPSTATUS-REC.
IF NOT OK
MOVE "TPTERM failed" LOGMSG-text
PERFORM DES USERLOG
END-IF.
*****************************************************
* Saves messages in the userlog
*****************************************************
-USERLOG.
CALL FOR ASSISTANCE "USERLOG" LOGMSG
LOGMSG-LEN
TPSTATUS-REC.
*****************************************************
* Request for leave
*****************************************************
EXIT-PROGRAM.
MOVE 'done' LOGMSG-TEXT.
PERFORM DES USERLOG.
STOP EXECUTION.
and the server program source code is:
IDENTIFICATION DIVISION.
PROGRAM-ID. GLOBSRV.
AUTHOR. DEVELOPMENT OF TUX.
ENVIRONMENTAL DIVISION.
SECTION OF CONFIGURATION.
DATA DIVISION.
STORAGE SECTION OF WORK.
******************************************************
* Definitions of tuxedo
******************************************************
TPSVCRET 01 - REC.
COPY TPSVCRET.
*
TPTYPE 01 - REC.
COPY TPTYPE.
*
TPSTATUS 01 - REC.
COPY TPSTATUS.
*
TPSVCDEF 01 - REC.
COPY TPSVCDEF.
******************************************************
* Definitions of log messages
******************************************************
01 LOGMSG.
VALUE OF FILL 05 PIC X (10)
"GLOBSRV:
LOGMSG 05-TEXT PIC X (50).
01 LOGMSG-LEN PIC S9 (9) COMP-5.
******************************************************
* Data records user defined
******************************************************
01 X (100) PIC RECV-STRING.
01 X (100) OF PEAK SEND-STRING.
*
SECTION OF LIAISON.
*
THE PROCEDURE DIVISION.
*
START-FUNDUPSR.
MOVE ALL THE LOGMSG TO LOGMSG-LEN.
LOGMSG-TEXT, MOVE "on the road".
PERFORM DES USERLOG.
******************************************************
* Get the data that has been sent by the client
******************************************************
MOVE ALL THE STRING-SENT TO LEN.
CALL USING 'TPSVCSTART' TPSVCDEF-REC
TPTYPE-REC
SEND-STRING
TPSTATUS-REC.
IF NOT OK
MOVE 'TPSVCSTART failed' to LOGMSG-TEXT
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.
IF TPTRUNCATE
MOVE "Data has been truncated" LOGMSG-TEXT
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.
INSPECT THE SHIPMENT-STRING CONVERSION
"abcdefghijklmnopqrstuvwxyz" to
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
MOVE SEND LOGMSG-TEXT STRING.
PERFORM DES USERLOG.
MOVE 'Success' to LOGMSG-TEXT.
PERFORM DES USERLOG.
TPSUCCESS SET TO TRUE.
COPY TPRETURN REPLACEMENT
DATA-REC SEND-STRING.
******************************************************
* Write an err messages disconnect
******************************************************
-USERLOG.
CALL FOR ASSISTANCE "USERLOG" LOGMSG
LOGMSG-LEN
TPSTATUS-REC.
******************************************************
* EXIT PROGRAM
******************************************************
EXIT-PROGRAM.
LOGMSG-TEXT, MOVE "has failed."
PERFORM DES USERLOG.
TPFAIL SET TO TRUE.
COPY TPRETURN REPLACEMENT
DATA-REC SEND-STRING.
and the output is:
GLOBCL salvation
SEND-STRING: hiCOB = IBMCobolDB2INSTANCE = db2inst4FLDTBLDIR = / usr/Oracle/Tuxedo10g / udataobj:AUTHSTATE = compatVIEW
HANDFUL OF COMM: 0000000000
TPCALL:0000000000
RECV-STRING: hiCOB = IBMCobolDB2INSTANCE = db2inst4FLDTBLDIR = / usr/Oracle/Tuxedo10g / udataobj:AUTHSTATE = compatVIEW
in the ULOG:
223955.ibmsceai! proc.676012.1.-2: 10/08/2009: Version Tuxedo 10.3.0.0, 32-bit
223955.ibmsceai! proc.676012.1.-2: GLOBCL: started
223955.ibmsceai! proc.676012.1.0: gtrid x 0 x 1 x4a80e7fe: GLOBCL: TPCALL failed
223955.ibmsceai! proc.676012.1.-2: GLOBCL: completed
Any suggestion about this?
Thank you...Hello
Try changing the order to record the error message and DISPLAY the TPSTATUS in the sentence IF NOT OK after the TPCALL APPEAL. In my view, the call to USERLOG is overwhelming TPSTATUS for what you see is TPOK on the USERLOG call and not the original state of the TPCALL. I hope that this will allow you to see the error status of the TPCALL itself.
Kind regards
Todd little
Chief Architect of Oracle Tuxedo -
Values not passed to the service VIEW FML
Hello
Use Tuxedo10g R3 on AIX 5.3.
I wrote a Tuxedo application model that takes the customer data and transmit these data to the Service via FML VIEW dependent and the server converts the data passed in capital letters and return to the customer...
I created the table field and FML VIEW dependent file and set the required environment variables and I built the client and the server.
After running the object module is called the service, but the values are not passed to the service and the data is not converted to uppercase.
The table field file is as follows:
"sampfml" 4 lines, 159 characters# name number type flags comments
FML VIEW dependent:
Chain of FIRSTSTR1 110-
Chain of SECONDSTR1 111-
String of 112 THIRDSTR1 -VIEWS sampview
environment variables that I put are:
indicator of County # type cname fbna size null
String firststr FIRSTSTR1 1-10. \0
String secondstr SECONDSTR1 1-10. \0
String thirdstr THIRDSTR1 1-10. \0
END#FIELDTBLS
my customer code:
#
FIELDTBLS = sampfml, fields, Usysflds
#
#FLDTBLDIR
#
FLDTBLDIR = ${TUXDIR} / udataobj: ${APPDIR}
#
#VIEWDIR
#
VIEWDIR = ${APPDIR}
#
#VIEWFILES
#
VIEWFILES = sampview. V
IDENTIFICATION DIVISION.
PROGRAM-ID. SIMPCL.
AUTHOR. DEVELOPMENT OF TUX.
ENVIRONMENTAL DIVISION.
SECTION OF CONFIGURATION.
DATA DIVISION.
STORAGE SECTION OF WORK.
*****************************************************
* Definitions of tuxedo
*****************************************************
TPTYPE 01 - REC.
COPY TPTYPE.
*
TPSTATUS 01 - REC.
COPY TPSTATUS.
*
TPSVCDEF 01 - REC.
COPY TPSVCDEF.
*
TPINFDEF 01 - REC.
COPY TPINFDEF.
*
FML 01 - REC.
COPY FMLINFO.
*
01 MYFML.
F-05 DATA PIC X (10).
05 PIC S-DATA X (10).
T-05 DATA PIC X (10).
FILLER 05 PIC X (30).
*****************************************************
* Definitions log messages
*****************************************************
01 LOGMSG.
VALUE OF FILL 05 PIC X (8) ' SIMPCL:
LOGMSG 05-TEXT PIC X (50).
01 LOGMSG-LEN PIC S9 (9) COMP-5.
*
STRING 01 DATA.
COPY sampview.
ENTER 01-STRING.
05 S-FIRST PIC X (10).
05 S-SECOND PIC X (10).
05 S-THIRD PIC X (10).
PEAK USER-DATA-REC 01 X (75).
SECTION OF LIAISON.
******************************************************
* Start the program with command line parameters
******************************************************
THE PROCEDURE DIVISION.
MOVE DOWN-VALUES TO TPINFDEF-REC.
MOVE ALL THE LOGMSG TO LOGMSG-LEN.
START-SIMPCL.
LOGMSG-TEXT, MOVE "on the road".
PERFORM DES USERLOG.
PERFORM DES TPINIT.
ACCEPT S FIRST.
ACCEPT THE SECOND S.
ACCEPT S THIRD.
S-FIRST MOVEMENT FIRSTSTR.
SPEND S-SECOND TO SECONDSTR.
PASS S-THIRD AT THIRDSTR.
DISPLAY ' VALUES BEFORE: "-THE STRING DATA.".
DISPLAY "FML: ' MYFML.
PERFORM DES TPCALL.
DISPLAY "DATA AFTER CONVERSION:
DISPLAY FIRSTSTR.
DISPLAY SECONDSTR.
DISPLAY THIRDSTR.
PERFORM DES TPTERM.
MAKE THE PROGRAM EXIT.
*****************************************************
* Now put the customer in the system.
*****************************************************
-TPINIT.
MOVING TO USRNAME SPACES.
MOVE TO CLTNAME BOXES.
MOVE TO BOXES TO PASSWD.
MOVE TO BOXES TO GRPNAME.
MOVE 0 TO DATALEN.
TPU - DIP SET TO TRUE.
*
CALL FOR ASSISTANCE "TPINITIALIZE" TPINFDEF-REC
USER-DATA-REC
TPSTATUS-REC.
IF NOT OK
MOVE "TPINITIALIZE failed" LOGMSG-text
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.
*****************************************************
Issue of a TPCALL
*****************************************************
-TPCALL.
MOVE ALL MYFML FLM-LENGTH.
CALL "ENDS" WITH THE HELP OF MYFML FLM - REC.
OTHERWISE FOK
MOVE "FINALLY failed" LOGMSG-text
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT.
FUPDATE SET TO TRUE.
MOVE 'sampview' to VIEWNAME.
CALL "FVSTOF" WITH THE HELP OF STRING FML - REC MYFML-DATA.
OTHERWISE FOK
MOVE 'FVSTOF failed' to LOGMSG-TEXT
PERFORM DES USERLOG
FLM-DISPLAY STATUS
MAKE THE PROGRAM EXIT.
MOVE "FLM" REC-INDICATE THE TPTYPE-REC.
MOVE SPACES OF SUB-TYPE IN TPTYPE-REC.
MOVE ALL MYFML TO LEN.
GO "SIMPSRV" - NAME OF THE SERVICE.
TPBLOCK SET TO TRUE.
TPNOTRAN SET TO TRUE.
TPNOTIME SET TO TRUE.
TPSIGRSTRT SET TO TRUE.
TPCHANGE SET TO TRUE.
CALL FOR ASSISTANCE "TPCALL" TPSVCDEF-REC
TPTYPE-REC
MYFML
TPTYPE-REC
MYFML
TPSTATUS-REC.
IF NOT OK
MOVE "TPCALL failed" LOGMSG-text
PERFORM DES USERLOG
END-IF.
CALL "FVFTOS" WITH THE HELP OF STRING FML - REC MYFML-DATA.
OTHERWISE FOK
MOVE 'FVFTOS failed' to LOGMSG-TEXT
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT.
*****************************************************
* Let TUXEDO
*****************************************************
-TPTERM.
CALL FOR ASSISTANCE "TPTERM" TPSTATUS-REC.
IF NOT OK
MOVE "TPTERM failed" LOGMSG-text
PERFORM DES USERLOG
END-IF.
*****************************************************
* Saves messages in the userlog
*****************************************************
-USERLOG.
CALL FOR ASSISTANCE "USERLOG" LOGMSG
LOGMSG-LEN
TPSTATUS-REC.
*****************************************************
* Request for leave
*****************************************************
EXIT-PROGRAM.
MOVE 'done' LOGMSG-TEXT.
PERFORM DES USERLOG.
STOP EXECUTION.
My server code:
IDENTIFICATION DIVISION.
PROGRAM-ID. SIMPSRV.
AUTHOR. DEVELOPMENT OF TUX.
ENVIRONMENTAL DIVISION.
SECTION OF CONFIGURATION.
DATA DIVISION.
STORAGE SECTION OF WORK.
******************************************************
* Definitions of tuxedo
******************************************************
TPSVCRET 01 - REC.
COPY TPSVCRET.
*
TPTYPE 01 - REC.
COPY TPTYPE.
*
TPSTATUS 01 - REC.
COPY TPSTATUS.
*
TPSVCDEF 01 - REC.
COPY TPSVCDEF.
******************************************************
* Definitions of log messages
******************************************************
01 LOGMSG.
VALUE OF FILL 05 PIC X (10)
"SIMPSRV:
LOGMSG 05-TEXT PIC X (50).
01 LOGMSG-LEN PIC S9 (9) COMP-5.
******************************************************
* Data records user defined
******************************************************
STRING 01 DATA.
COPY sampview.
01 MYFML.
F-05 DATA PIC X (10).
05 PIC S-DATA X (10).
T-05 DATA PIC X (10).
FILLER 05 PIC X (30).
*
SECTION OF LIAISON.
*
THE PROCEDURE DIVISION.
*
START-FUNDUPSR.
MOVE ALL THE LOGMSG TO LOGMSG-LEN.
LOGMSG-TEXT, MOVE "on the road".
PERFORM DES USERLOG.
******************************************************
* Get the data that has been sent by the client
******************************************************
MOVE ALL MYFML TO LEN.
MOVING MYFML LOGMSG-TEXT.
PERFORM DES USERLOG.
CALL USING 'TPSVCSTART' TPSVCDEF-REC
TPTYPE-REC
MYFML
TPSTATUS-REC.
IF NOT OK
MOVE 'TPSVCSTART failed' to LOGMSG-TEXT
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.
IF TPTRUNCATE
MOVE "Data has been truncated" LOGMSG-TEXT
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.
MOVING FIRSTSTR LOGMSG-TEXT.
PERFORM DES USERLOG.
MOVING SECONDSTR LOGMSG-TEXT.
PERFORM DES USERLOG.
MOVING THIRDSTR LOGMSG-TEXT.
PERFORM DES USERLOG.
INSPECT THE FIRSTSTR CONVERSION
"abcdefghijklmnopqrstuvwxyz" to
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
INSPECT THE SECONDSTR CONVERSION
"abcdefghijklmnopqrstuvwxyz" to
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
INSPECT THE THIRDSTR CONVERSION
"abcdefghijklmnopqrstuvwxyz" to
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
MOVE FIRSTSTR TO S-FIRST.
MOVE SECONDSTR TO S-SECONDS.
MOVE THIRDSTR TO S THIRD.
MOVE 'Success' to LOGMSG-TEXT.
PERFORM DES USERLOG.
MOVE TO ENTER STRING LOGMSG-TEXT.
PERFORM DES USERLOG.
TPSUCCESS SET TO TRUE.
COPY TPRETURN REPLACEMENT
DATA-REC MYFML.
******************************************************
* Write an err messages disconnect
******************************************************
-USERLOG.
CALL FOR ASSISTANCE "USERLOG" LOGMSG
LOGMSG-LEN
TPSTATUS-REC.
******************************************************
* EXIT PROGRAM
******************************************************
EXIT-PROGRAM.
LOGMSG-TEXT, MOVE "has failed."
PERFORM DES USERLOG.
TPFAIL SET TO TRUE.
COPY TPRETURN REPLACEMENT
DATA-REC MYFML.
And when execution of the module of the object:SIMPCL
can anyone help me with this?
Hello
Hello
World
VALUES BEFORE: Hello Hello World
FML:
DATA AFTER CONVERSION:
Hello
Hello
World
Thank you...Hello
In the server program, you must call FVFTOS to convert the COBOL record FML buffer, then do the translation. After that, you must also call 'FVSTOF' to convert it back to FML. I can get the correct results with your program with these changes.
Customer
======================
IDENTIFICATION DIVISION.
PROGRAM-ID. CSIMPCL.
AUTHOR. DEVELOPMENT OF TUX.
ENVIRONMENTAL DIVISION.
SECTION OF CONFIGURATION.
STORAGE SECTION OF WORK.
*****************************************************
* Definitions of tuxedo
*****************************************************
TPTYPE 01 - REC.
COPY TPTYPE.
*
TPSTATUS 01 - REC.
COPY TPSTATUS.
*
TPSVCDEF 01 - REC.
COPY TPSVCDEF.
*
VALUES-01 TPINFDEF-REC VALUE LOW.
COPY TPINFDEF.
*
FML 01 - REC.
COPY FMLINFO.
*
01 MYFML.
F-05 DATA PIC X (10).
05 PIC S-DATA X (10).
T-05 DATA PIC X (10).
FILLER 05 PIC X (30).
*****************************************************
* Definitions log messages
*****************************************************
01 LOGMSG.
VALUE OF FILL 05 PIC X (8) ' CSIMPCL:
LOGMSG 05-TEXT PIC X (50).
01 LOGMSG-LEN PIC S9 (9) COMP-5.
*
STRING 01 DATA.
COPY sampview.
*
ENTER 01-STRING.
05 S-FIRST PIC X (10).
05 S-SECOND PIC X (10).
05 S-THIRD PIC X (10).
*
PEAK USER-DATA-REC 01 X (75).
SECTION OF LIAISON.
******************************************************
* Start the program with command line parameters
******************************************************
THE PROCEDURE DIVISION.
START-CSIMPCL.
LOGMSG-TEXT, MOVE "on the road".
PERFORM DES USERLOG.
PERFORM DES TPINIT.
MOVE 'Hi' to FIRSTSTR.
MOVE the 'Hello' to SECONDSTR.
MOVE the 'world' to THIRDSTR.
DISPLAY ' VALUES BEFORE: "-THE STRING DATA.
DISPLAY "FML: ' MYFML.
PERFORM DES TPCALL.
DISPLAY ' VALUES AFTER:
DISPLAY FIRSTSTR.
DISPLAY SECONDSTR.
DISPLAY THIRDSTR.
PERFORM DES TPTERM.
MAKE THE PROGRAM EXIT.
*****************************************************
* Now put the customer in the system.
*****************************************************
-TPINIT.
MOVING TO USRNAME SPACES.
MOVE TO CLTNAME BOXES.
MOVE TO BOXES TO PASSWD.
MOVE TO BOXES TO GRPNAME.
MOVE 0 TO DATALEN.
TPU - DIP SET TO TRUE.
*
CALL FOR ASSISTANCE "TPINITIALIZE" TPINFDEF-REC
USER-DATA-REC
TPSTATUS-REC.IF NOT OK
MOVE "TPINITIALIZE failed" LOGMSG-text
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.-TPCALL.
MOVE ALL MYFML FLM-LENGTH.
DISPLAY 'LENGTH OF MYFML.
FML-LENGTH DISPLAY.
CALL "ENDS" WITH THE HELP OF MYFML FLM - REC.
OTHERWISE FOK
MOVE "FINALLY failed" LOGMSG-text
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.
FUPDATE SET TO TRUE.
MOVE 'sampview' to VIEWNAME.
CALL "FVSTOF" WITH THE HELP OF STRING FML - REC MYFML-DATA.
OTHERWISE FOK
MOVE 'FVSTOF failed' to LOGMSG-TEXT
PERFORM DES USERLOG
FLM-DISPLAY STATUS
MAKE THE PROGRAM EXIT
END-IF.MOVE "FLM" REC-INDICATE THE TPTYPE-REC.
MOVE SPACES OF SUB-TYPE IN TPTYPE-REC.
MOVE ALL MYFML TO LEN.GO "SIMPSRV" - NAME OF THE SERVICE.
TPBLOCK SET TO TRUE.
TPNOTRAN SET TO TRUE.
TPNOTIME SET TO TRUE.
TPSIGRSTRT SET TO TRUE.
TPCHANGE SET TO TRUE.CALL FOR ASSISTANCE "TPCALL" TPSVCDEF-REC
TPTYPE-REC
MYFML
TPTYPE-REC
MYFML
TPSTATUS-REC.
IF NOT OK
MOVE "TPCALL failed" LOGMSG-text
PERFORM DES USERLOG
END-IF.CALL "FVFTOS" WITH THE HELP OF STRING FML - REC MYFML-DATA.
OTHERWISE FOK
MOVE 'FVFTOS failed' to LOGMSG-TEXT
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.*****************************************************
* Let TUXEDO
*****************************************************
-TPTERM.
CALL FOR ASSISTANCE "TPTERM" TPSTATUS-REC.
IF NOT OK
MOVE "TPTERM failed" LOGMSG-text
PERFORM DES USERLOG
END-IF.*****************************************************
* Saves messages in the userlog
*****************************************************
-USERLOG.
CALL FOR ASSISTANCE "USERLOG" LOGMSG
LOGMSG-LEN
TPSTATUS-REC.*****************************************************
* Request for leave
*****************************************************
EXIT-PROGRAM.
MOVE 'done' LOGMSG-TEXT.
PERFORM DES USERLOG.
STOP EXECUTION.Server
====================================
IDENTIFICATION DIVISION.
PROGRAM-ID. SIMPSRV.
AUTHOR. DEVELOPMENT OF TUX.
ENVIRONMENTAL DIVISION.
SECTION OF CONFIGURATION.DATA DIVISION.
STORAGE SECTION OF WORK.
******************************************************
* Definitions of tuxedo
******************************************************
TPSVCRET 01 - REC.
COPY TPSVCRET.
*
TPTYPE 01 - REC.
COPY TPTYPE.
*
TPSTATUS 01 - REC.
COPY TPSTATUS.
*
TPSVCDEF 01 - REC.
COPY TPSVCDEF.
*
FML 01 - REC.
COPY FMLINFO.
******************************************************
* Definitions of log messages
******************************************************
01 LOGMSG.
VALUE OF FILL 05 PIC X (10)
"SIMPSRV:
LOGMSG 05-TEXT PIC X (50).
01 LOGMSG-LEN PIC S9 (9) COMP-5.
******************************************************
* Data records user defined
******************************************************
STRING 01 DATA.
COPY sampview.
ENTER 01-STRING.
05 S-FIRST PIC X (10).
05 S-SECOND PIC X (10).
05 S-THIRD PIC X (10).
*
01 MYFML.
F-05 DATA PIC X (10).
05 PIC S-DATA X (10).
T-05 DATA PIC X (10).
FILLER 05 PIC X (30).*
SECTION OF LIAISON.
*
THE PROCEDURE DIVISION.
*
START-FUNDUPSR.
MOVE ALL THE LOGMSG TO LOGMSG-LEN.
LOGMSG-TEXT, MOVE "on the road".
PERFORM DES USERLOG.******************************************************
* Get the data that has been sent by the client
******************************************************
MOVE ALL MYFML TO LEN.
MOVING MYFML LOGMSG-TEXT.
PERFORM DES USERLOG.
CALL USING 'TPSVCSTART' TPSVCDEF-REC
TPTYPE-REC
MYFML
TPSTATUS-REC.IF NOT OK
MOVE 'TPSVCSTART failed' to LOGMSG-TEXT
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.IF TPTRUNCATE
MOVE "Data has been truncated" LOGMSG-TEXT
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.MOVE 'sampview' to VIEWNAME
CALL "FVFTOS" WITH THE HELP OF STRING FML - REC MYFML-DATA.
OTHERWISE FOK
MOVE "FVFTOS failed" LOGMSG-TEXT
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.
MOVE 'DOING OK FVFTOS' LOGMSG-TEXT.
PERFORM DES USERLOG.
MOVING FIRSTSTR LOGMSG-TEXT.
PERFORM DES USERLOG.
MOVING SECONDSTR LOGMSG-TEXT.
PERFORM DES USERLOG.
MOVING THIRDSTR LOGMSG-TEXT.
PERFORM DES USERLOG.
INSPECT THE FIRSTSTR CONVERSION
"abcdefghijklmnopqrstuvwxyz" to
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
INSPECT THE SECONDSTR CONVERSION
"abcdefghijklmnopqrstuvwxyz" to
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
INSPECT THE THIRDSTR CONVERSION
"abcdefghijklmnopqrstuvwxyz" to
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
MOVE FIRSTSTR TO S-FIRST.
MOVE SECONDSTR TO S-SECONDS.
MOVE THIRDSTR TO S THIRD.
MOVE 'Success' to LOGMSG-TEXT.
PERFORM DES USERLOG.
MOVE TO ENTER STRING LOGMSG-TEXT.
PERFORM DES USERLOG.
FUPDATE SET TO TRUE.
MOVE 'sampview' to VIEWNAME.
CALL "FVSTOF" WITH THE HELP OF STRING FML - REC MYFML-DATA.
OTHERWISE FOK
MOVE 'FVSTOF failed' to LOGMSG-TEXT
PERFORM DES USERLOG
FLM-DISPLAY STATUS
MAKE THE PROGRAM EXIT
END-IF.TPSUCCESS SET TO TRUE.
COPY TPRETURN REPLACEMENT
DATA-REC MYFML.******************************************************
* Write an err messages disconnect
******************************************************
-USERLOG.
CALL FOR ASSISTANCE "USERLOG" LOGMSG
LOGMSG-LEN
TPSTATUS-REC.
******************************************************
* EXIT PROGRAM
******************************************************
EXIT-PROGRAM.
LOGMSG-TEXT, MOVE "has failed."
PERFORM DES USERLOG.
TPFAIL SET TO TRUE.
COPY TPRETURN REPLACEMENT
DATA-REC MYFML.The result looks like,
The VALUES BEFORE: Hello Hello World
FML:
LENGTH MYFML
+ 0000000060
VALUES AFTER:
Hello
Hello
WORLDIn addition, in your client program FILLING only given size 10, not compatible with the side server, which is 30. I use the same size in the client and the server.
I also interested in why do you use style convert FML/VIEW? If both a pure COBOL, just with VIEW program is easier programming, just a suggestion.Kind regards
Wayne -
TMQFORWARD TPDEQUEUE work-so no is a failure
Hello
Use Tuxedo 10 g R3 on AIX 5.3...
I wrote a COBOL sample program using queues... I created Queuespace and queues for that...
I built the client and server programs and created the module object for this... when execution of the module enqueue object works fine without error and it is written in the queue... but given that TMQFORWARD didn't call the message service is not removed...
That's what I said in the UBBCONFIG file.
* GROUPS
TMQGRP LMID = "cicsapp" GRPNO = 4 TMSNAME = TMS_QM TMSCOUNT = 2 OPENINFO = "" TUXEDO/QM: / home/e160195/cfg/WHAT: TMQUEUE ""
* SERVERS
TMQUEUE SRVGRP = "TMQGRP" SRVID = RESTART 4 = GRACE MAXGEN = CONV = CLOPT 10 Y = 0 N = "s TMQUEUE:TMQUEUE"
TMQFORWARD SRVGRP = "TMQGRP" SRVID = REVIVE 5 = GRACE MAXGEN = CONV = CLOPT 10 Y = 0 N = '--i - 2 - q TOUPPER n'
where TMQUEUE is my name queuespace and TOUPPER is the name of the service and is one of the queues (to be delivered) and RPLYQ are the response queue name and ERRQ is the name of the queue of errors...
and my customer code:
IDENTIFICATION DIVISION.
PROGRAM-ID. QUECL.
AUTHOR. TUXEDO.
ENVIRONMENTAL DIVISION.
SECTION OF CONFIGURATION.
DATA DIVISION.
STORAGE SECTION OF WORK.
*****************************************************
* Definitions of tuxedo
*****************************************************
TPQUEDEF 01 - REC.
COPY TPQUEDEF.
*
TPTYPE 01 - REC.
COPY TPTYPE.
*
TPSTATUS 01 - REC.
COPY TPSTATUS.
*
TPSVCDEF 01 - REC.
COPY TPSVCDEF.
*
TPINFDEF 01 - REC.
COPY TPINFDEF.
*****************************************************
* Definitions log messages
*****************************************************
01 LOGMSG.
VALUE OF FILL 05 PIC X (8) ' QUECL:
LOGMSG 05-TEXT PIC X (50).
01 LOGMSG-ERR.
VALUE OF FILL 05 PIC X (14)
"QUECL ERR = > '.
05 JOURNAL-ERR-ROUTINE PIC X (10).
VALUE OF FILL 05 PIC X (21)
"FAILED: TP-STATUS =". "
05-ERR-TP-STATE OF THE NEWSPAPER PIC S9 (9).
01 LOGMSG-ERR-LEN PIC S9 (9) COMP-5.
01 LOGMSG-LEN PIC S9 (9) COMP-5.
*
PEAK USER-DATA-REC 01 X (75).
SEND-STRING PIC 01 X (100) VALUE SPACES.
SECTION OF LIAISON.
******************************************************
* Start the program with command line parameters
******************************************************
THE PROCEDURE DIVISION.
MOVE DOWN-VALUES TO TPINFDEF-REC.
MOVE ALL THE LOGMSG TO LOGMSG-LEN.
START-CSIMPCL.
MOVE 'Hello' to SEND STRING.
DISPLAY ' SEND-STRING: front: "SEND-STRING."
LOGMSG-TEXT, MOVE "on the road".
PERFORM DES USERLOG.
PERFORM DES TPINIT.
PERFORM DES TPENQUEUE.
PERFORM DES TPDEQUEUE.
DISPLAY ' SEND-STRING: after: "SEND-STRING."
PERFORM DES TPTERM.
MAKE THE PROGRAM EXIT.
*****************************************************
* Now put the customer in the system.
*****************************************************
-TPINIT.
MOVING TO USRNAME SPACES.
MOVE TO CLTNAME BOXES.
MOVE TO BOXES TO PASSWD.
MOVE TO BOXES TO GRPNAME.
MOVE 0 TO DATALEN.
TPU - DIP SET TO TRUE.
*
CALL FOR ASSISTANCE "TPINITIALIZE" TPINFDEF-REC
USER-DATA-REC
TPSTATUS-REC.
IF NOT OK
MOVE "TPINITIALIZE failed" LOGMSG-text
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.
*****************************************************
Issue of a TPENQUEUE
*****************************************************
-TPENQUEUE.
MOVE DOWN-VALUES TO TPQUEDEF-REC.
MOVE 'TMQUEUE' TO QSPACE-NAME IN TPQUEDEF-REC.
MOVING 'TOUPPER' TO QNAME IN TPQUEDEF-REC.
MOVE 'RPLYQ' TO REPLYQUEUE IN THE TPQUEDEF-REC.
TPTRAN SET TPQUEDEF-REC TO TRUE.
TPBLOCK SET TPQUEDEF-REC TO TRUE.
TPTIME SET TPQUEDEF-REC TO TRUE.
TPSIGRSTRT SET TPQUEDEF-REC TO TRUE.
TPQREPLYQ SET TPQUEDEF-REC TO TRUE.
TPQQOSDELIVERYNONPERSISTENT SET TPQUEDEF-REC TO TRUE.
TPQMSGID SET TPQUEDEF-REC TO TRUE.
MOVE DOWN-VALUES IN TPTYPE-REC.
MOVE 'STRING' IN TPTYPE-REC REC-TYPE.
LENGTH OF REMOVAL OF SEND-STRING TO LEN IN TPTYPE-REC.
CALL FOR ASSISTANCE "TPENQUEUE.
TPQUEDEF-REC
TPTYPE-REC
SEND-STRING
TPSTATUS-REC.
IF NOT OK
MOVE "TPENQUEUE failed" LOGMSG-TEXT
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT.
DISPLAY ' ENQUEUE ON. "
*****************************************************
Issue of a TPDEQUEUE
*****************************************************
-TPDEQUEUE.
MOVE DOWN-VALUES TO TPQUEDEF-REC.
MOVE 'TMQUEUE' TO QSPACE-NAME IN TPQUEDEF-REC.
MOVE 'RPLYQ' TO QNAME IN TPQUEDEF-REC.
TPTRAN SET TPQUEDEF-REC TO TRUE.
TPBLOCK SET TPQUEDEF-REC TO TRUE.
TPTIME SET TPQUEDEF-REC TO TRUE.
TPSIGRSTRT SET TPQUEDEF-REC TO TRUE.
* SET TPQWAIT IN TPQUEDEF-REC TO TRUE.
MOVE DOWN-VALUES IN TPTYPE-REC.
MOVE 'STRING' IN TPTYPE-REC REC-TYPE.
LENGTH OF REMOVAL OF SEND-STRING TO LEN IN TPTYPE-REC.
CALL FOR ASSISTANCE "TPDEQUEUE.
TPQUEDEF-REC
TPTYPE-REC
SEND-STRING
TPSTATUS-REC.
IF NOT OK
MOVE "TPDEQUEUE failed" LOGMSG-TEXT
PERFORM DES USERLOG
MOVE THE "TPDEQUEUE' LOG-ERR-ROUTINE
TP-STATUS OF DISPLACEMENT TO THE NEWSPAPER-ERR-TP-STATUS
PERFORM DES USERLOG ERR
MAKE THE PROGRAM EXIT.
DISPLAY ABOVE "DEQUEUE".
*****************************************************
* Let TUXEDO
*****************************************************
-TPTERM.
CALL FOR ASSISTANCE "TPTERM" TPSTATUS-REC.
IF NOT OK
MOVE "TPTERM failed" LOGMSG-text
PERFORM DES USERLOG
END-IF.
*****************************************************
* Saves messages in the userlog
*****************************************************
-USERLOG.
CALL FOR ASSISTANCE "USERLOG" LOGMSG
LOGMSG-LEN
TPSTATUS-REC.
USERLOG-ERR.
CALL "USERLOG" WITH THE HELP OF LOGMSG-ERR
LOGMSG-ERR-LEN
TPSTATUS-REC.
*****************************************************
* Request for leave
*****************************************************
EXIT-PROGRAM.
MOVE 'done' LOGMSG-TEXT.
PERFORM DES USERLOG.
STOP EXECUTION.
and here is the server code:
IDENTIFICATION DIVISION.
PROGRAM-ID. TOUPPER.
AUTHOR. TUXEDO.
ENVIRONMENTAL DIVISION.
SECTION OF CONFIGURATION.
DATA DIVISION.
STORAGE SECTION OF WORK.
******************************************************
* Definitions of tuxedo
******************************************************
TPQUEDEF 01 - REC.
COPY TPQUEDEF.
*
TPSVCRET 01 - REC.
COPY TPSVCRET.
*
TPTYPE 01 - REC.
COPY TPTYPE.
*
TPSTATUS 01 - REC.
COPY TPSTATUS.
*
TPSVCDEF 01 - REC.
COPY TPSVCDEF.
******************************************************
* Definitions of log messages
******************************************************
01 LOGMSG.
VALUE OF FILL 05 PIC X (10)
"QUESR:
LOGMSG 05-TEXT PIC X (50).
01 LOGMSG-LEN PIC S9 (9) COMP-5.
******************************************************
* Data records user defined
******************************************************
01 X (100) OF PEAK SEND-STRING.
*
SECTION OF LIAISON.
*
THE PROCEDURE DIVISION.
*
START-STRING.
MOVE ALL THE LOGMSG TO LOGMSG-LEN.
LOGMSG-TEXT, MOVE "on the road".
PERFORM DES USERLOG.
******************************************************
* Get the data that has been sent by the client
******************************************************
MOVE ALL THE STRING-SENT TO LEN.
CALL USING 'TPSVCSTART' TPSVCDEF-REC
TPTYPE-REC
SEND-STRING
TPSTATUS-REC.
IF NOT OK
MOVE 'TPSVCSTART failed' to LOGMSG-TEXT
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.
IF TPTRUNCATE
MOVE "Data has been truncated" LOGMSG-TEXT
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.
INSPECT THE SHIPMENT-STRING CONVERSION
"abcdefghijklmnopqrstuvwxyz" to
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
MOVE 'Success' to LOGMSG-TEXT.
PERFORM DES USERLOG.
TPSUCCESS SET TO TRUE.
COPY TPRETURN REPLACEMENT
DATA-REC SEND-STRING.
******************************************************
* Write an err messages disconnect
******************************************************
-USERLOG.
CALL FOR ASSISTANCE "USERLOG" LOGMSG
LOGMSG-LEN
TPSTATUS-REC.
******************************************************
* EXIT PROGRAM
******************************************************
EXIT-PROGRAM.
LOGMSG-TEXT, MOVE "has failed."
PERFORM DES USERLOG.
TPFAIL SET TO TRUE.
COPY TPRETURN REPLACEMENT
DATA-REC SEND-STRING.
In ULOG me do the same.
040915.ibmsceai! proc.303126.1.-2: QUECL: started
040915.ibmsceai! proc.303126.1.0: QUECL: TPDEQUEUE failed
040915.ibmsceai! proc.303126.1.0:
040915.ibmsceai! proc.303126.1.0: QUECL: completed
After running the program messages remain queued for request for a few seconds, then it moves to the queue of the error... Since dequeue fails there is no message in the queue to answer...
can someone tell me why this TMQFORWARD does not call the TOUPPER function? and the wait does not work?
Thank you...Hi Celine,.
First of all, you can consult qmadmin to consult the messages are there in the queue of TOUPPER. Second, it applies after the "n" option to TMQFORWARD, are reload you TUXCONFIG tmloadcf? Third, you can use the CSIMPCL original to call the function TOUPPER directly to see if you can call successfully or not.
This should not be a big problem, I spent all my test that follows, it works in my env,
UBBCONFIG
================================
#
# (c) 2003 BEA Systems, Inc. All rights reserved.
#
# THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE
# OF BEA Systems, Inc.
# Above copyright notice do not evidence
# any actual or planned such a publication
source code #.
#
#ident ' @(#) samples/atmi/CSIMPAPP/UBBCSIMPLE.nt $Revision: $1.5.#Skeleton the file UBBCONFIG for Simple TUXEDO COBOL Application.
#Replace theelements with appropriate values. * RESOURCES
IPCKEY 123456NETWORKID UBBCSIMPLE
Simple MASTER
MAXACCESSERS 100
MAXSERVERS 10
MAXSERVICES 20
MODEL SHM
LDBAL N* MACHINES
DEFAULT:
APPDIR = "d:\cobol\simpapp."
TUXCONFIG = "d:\cobol\simpapp\tuxconfig."
TUXDIR = "d:\work\source\phoenix."
ENVFILE = "d:\cobol\simpapp\envfile. NT.WCHEN02 LMID simple =
TLOGDEVICE = "d:\cobol\simpapp\TLOG".* GROUPS
GROUP1
LMID = simple = 1 OPENINFO = NONE GRPNOTMQGRP
LMID = simple GRPNO = 2
TMSNAME = TMS_QM TMSCOUNT = 2
OPENINFO = "TUXEDO / QM:d:\cobol\simpapp\QUE;» TMQUEUE ".TMQGRP1
LMID = simple GRPNO = 3
TMSNAME = TMS_QM TMSCOUNT = 2
OPENINFO = "TUXEDO / QM:d:\cobol\simpapp\QUE;» TMQUEUE ".
* SERVERS
DEFAULT:
CLOPT = "-A"CSIMPSRV SRVGRP = GROUP1 SRVID = 1
TMQUEUE
SRVGRP = TMQGRP = 1 SRVID
GRACE = REBOOT 0 = Y CONV = MAXGEN N = 10
CLOPT = "- s TMQUEUE:TMQUEUE"
TMQUEUE
SRVGRP = TMQGRP1 = 1 SRVID
GRACE = REBOOT 0 = Y CONV = MAXGEN N = 10
CLOPT = "- s TMQUEUE:TMQUEUE"TMQFORWARD
SRVGRP = TMQGRP SRVID = GRACE 5 = REBOOT 0 = Y CONV = MAXGEN N = 10
CLOPT = '--i - 2 - q TOUPPER n'TMQFORWARD
SRVGRP = TMQGRP1 SRVID = GRACE 5 = REBOOT 0 = Y CONV = MAXGEN N = 10
CLOPT = '--i - 2 - q TOUPPER n'
* SERVICES
CSIMPSRVServer
======================================
* (c) 2003 BEA Systems, Inc. All rights reserved.
*
* Copyright (c) 1992 USL
* All rights reserved
*
TIS NOT EXCLUSIVE PUBLISHED
* SOURCE CODE OF THE USL
* The copyright notice above does not work
* evidence any actual or planned
* publication of such source code.
*
* #ident ' @(#) samples/atmi/CSIMPAPP/CSIMPSRV.cbl $Revision: $1.5.
* public static char sccsid [] = ' @(#) samples/atmi/CSIMPAPP/CSIMPSRV.cbl $Revision: $1.5;
*
IDENTIFICATION DIVISION.
PROGRAM-ID. CSIMPSRV.
AUTHOR. DEVELOPMENT OF TUX.
ENVIRONMENTAL DIVISION.
SECTION OF CONFIGURATION.STORAGE SECTION OF WORK.
******************************************************
* Definitions of tuxedo
******************************************************
TPSVCRET 01 - REC.
COPY TPSVCRET.
*
TPTYPE 01 - REC.
COPY TPTYPE.
*
TPSTATUS 01 - REC.
COPY TPSTATUS.
*
TPSVCDEF 01 - REC.
COPY TPSVCDEF.
******************************************************
* Definitions of log messages
******************************************************
01 LOGMSG.
VALUE OF FILL 05 PIC X (10)
"CSIMPSRV:
LOGMSG 05-TEXT PIC X (50).
01 LOGMSG-LEN PIC S9 (9) COMP-5.
******************************************************
* Data records user defined
******************************************************
01 X (100) PIC RECV-STRING.
01 X (100) OF PEAK SEND-STRING.
*
SECTION OF LIAISON.
*
THE PROCEDURE DIVISION.
*
START-FUNDUPSR.
MOVE ALL THE LOGMSG TO LOGMSG-LEN.
LOGMSG-TEXT, MOVE "on the road".
PERFORM DES USERLOG.******************************************************
* Get the data that has been sent by the client
******************************************************
MOVE ALL THE RECV-STRING TO LEN.
CALL USING 'TPSVCSTART' TPSVCDEF-REC
TPTYPE-REC
RECV-STRING
TPSTATUS-REC.
IF NOT OK
MOVE 'TPSVCSTART failed' to LOGMSG-TEXT
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.IF TPTRUNCATE
MOVE "Data has been truncated" LOGMSG-TEXT
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.INSPECT RECV-STRING CONVERSION
"abcdefghijklmnopqrstuvwxyz" to
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
MOVE 'Success' to LOGMSG-TEXT.
PERFORM DES USERLOG.
TPSUCCESS SET TO TRUE.
COPY TPRETURN REPLACEMENT
DATA-REC RECV-STRING.******************************************************
* Write an err messages disconnect
******************************************************
-USERLOG.
CALL FOR ASSISTANCE "USERLOG" LOGMSG
LOGMSG-LEN
TPSTATUS-REC.
******************************************************
* EXIT PROGRAM
******************************************************
EXIT-PROGRAM.
LOGMSG-TEXT, MOVE "has failed."
PERFORM DES USERLOG.
TPFAIL SET TO TRUE.
COPY TPRETURN REPLACEMENT
DATA-REC RECV-STRING.Please note that the service is advertised as 'TOUPPER' instead of CSIMPSRV.
Customer
===========================================
*
* (c) 2003 BEA Systems, Inc. All rights reserved.
*
* Copyright (c) 1992 USL
* All rights reserved
*
TIS NOT EXCLUSIVE PUBLISHED
* SOURCE CODE OF THE USL
* The copyright notice above does not work
* evidence any actual or planned
* publication of such source code.
*
* #ident ' @(#) samples/atmi/CSIMPAPP/CSIMPCL.cbl $Revision: $1.5.
* public static char sccsid [] = ' @(#) samples/atmi/CSIMPAPP/CSIMPCL.cbl $Revision: $1.5;
*
IDENTIFICATION DIVISION.
PROGRAM-ID. CSIMPCL.
AUTHOR. DEVELOPMENT OF TUX.
ENVIRONMENTAL DIVISION.
SECTION OF CONFIGURATION.
STORAGE SECTION OF WORK.
*****************************************************
* Definitions of tuxedo
*****************************************************
TPTYPE 01 - REC.
COPY TPTYPE.
*
TPSTATUS 01 - REC.
COPY TPSTATUS.
*
TPSVCDEF 01 - REC.
COPY TPSVCDEF.
*
TPQUEDEF 01 - REC.
COPY TPQUEDEF.
*
VALUES-01 TPINFDEF-REC VALUE LOW.
COPY TPINFDEF.
*****************************************************
* Definitions log messages
*****************************************************
01 LOGMSG.
VALUE OF FILL 05 PIC X (8) ' CSIMPCL:
LOGMSG 05-TEXT PIC X (50).
01 LOGMSG-LEN PIC S9 (9) COMP-5.
*
PEAK USER-DATA-REC 01 X (75).
SEND-STRING PIC 01 X (100) VALUE SPACES.
RECV-STRING PIC 01 X (100) VALUE SPACES.
******************************************************
* Start the program with command line parameters
******************************************************
THE PROCEDURE DIVISION.
START-CSIMPCL.
MOVE ALL THE LOGMSG TO LOGMSG-LEN.
ACCEPT SEND-STRING COMMAND LINE.
DISPLAY ' SEND-STRING: "SEND-STRING.LOGMSG-TEXT, MOVE "on the road".
PERFORM DES USERLOG.PERFORM DES TPINIT.
PERFORM DES TPENQUEUE.
DISPLAY "RECV-STRING:" RECV-STRING.
PERFORM DES TPTERM.
MAKE THE PROGRAM EXIT.*****************************************************
* Now put the customer in the system.
*****************************************************
-TPINIT.
MOVING TO USRNAME SPACES.
MOVE TO CLTNAME BOXES.
MOVE TO BOXES TO PASSWD.
MOVE TO BOXES TO GRPNAME.
MOVE 0 TO DATALEN.
TPU - DIP SET TO TRUE.
*
CALL FOR ASSISTANCE "TPINITIALIZE" TPINFDEF-REC
USER-DATA-REC
TPSTATUS-REC.IF NOT OK
MOVE "TPINITIALIZE failed" LOGMSG-text
PERFORM DES USERLOG
MAKE THE PROGRAM EXIT
END-IF.-TPENQUEUE.
MOVE DOWN-VALUES TO TPQUEDEF-REC.
MOVE 'TMQUEUE' TO QSPACE-NAME IN TPQUEDEF-REC.
MOVING 'TOUPPER' TO QNAME IN TPQUEDEF-REC.
MOVE 'RPLYQ' TO REPLYQUEUE IN THE TPQUEDEF-REC.
TPTRAN SET TPQUEDEF-REC TO TRUE.
TPBLOCK SET TPQUEDEF-REC TO TRUE.
TPTIME SET TPQUEDEF-REC TO TRUE.
TPSIGRSTRT SET TPQUEDEF-REC TO TRUE.
TPQREPLYQ SET TPQUEDEF-REC TO TRUE.
TPQQOSDELIVERYNONPERSISTENT SET TPQUEDEF-REC TO TRUE.
TPQMSGID SET TPQUEDEF-REC TO TRUE.
MOVE DOWN-VALUES IN TPTYPE-REC.
MOVE 'STRING' IN TPTYPE-REC REC-TYPE.
LENGTH OF REMOVAL OF SEND-STRING TO LEN IN TPTYPE-REC.
CALL FOR ASSISTANCE "TPENQUEUE.
TPQUEDEF-REC
TPTYPE-REC
SEND-STRING
TPSTATUS-REC.
IF TPOK
MOVE 'OK TPQUEUE' LOGMSG-TEXT
PERFORM DES USERLOG
END-IF.
IF NOT OK
MOVE 'TPQUEUE failed' to LOGMSG-TEXT
PERFORM DES USERLOG
END-IF.*****************************************************
* Let TUXEDO
*****************************************************
-TPTERM.
CALL FOR ASSISTANCE "TPTERM" TPSTATUS-REC.
IF NOT OK
MOVE "TPTERM failed" LOGMSG-text
PERFORM DES USERLOG
END-IF.*****************************************************
* Saves messages in the userlog
*****************************************************
-USERLOG.
CALL FOR ASSISTANCE "USERLOG" LOGMSG
LOGMSG-LEN
TPSTATUS-REC.*****************************************************
* Request for leave
*****************************************************
EXIT-PROGRAM.
MOVE 'done' LOGMSG-TEXT.
PERFORM DES USERLOG.
STOP EXECUTION.Wayne
Maybe you are looking for
-
HP P 8470: JBL Flip 2 not to connect to HP 8470 P
I have an employee who bought a JBL Flip 2 Bluetooth speaker. I'm completely frustrated trying to connect this thing for her laptop. The laptop is running Windows 7 Pro 64 bit, is fully patched as of today and has the latest drivers from HP softwar
-
Hello When I sync my BB to my Mac, everything seems to work fine, but the next time I have sync, all my calendar events now have reminders. They do not have to start in this way, and I don't want they have reminders. Does anyone else have this prob
-
using flash action script 3 just won't work to create a link to a url
If I received a file that has a transparent background button you are looking for linking to url .com, and for the life of me (very probably just too tired) I do not see what to do so that the link to the full animated advertisingany help would be th
-
How to add video to a HTML5 canvas document?
It was something super simple onboard animate. I just moved a file .mp4 on the canvas and used the property inspector to allow loop playback control and scaling options.Now if I try to drag a file to .mp4 on canvas, nothing happens and if I try to im
-
The writable volumes - hang on logoff
Hellosometimes on logoff when an accessible writable volume is assigned to a user, the logoff process hangs, remaining in "Signing out" forever. I have to reset or power of the VM off the coast. Is this a known bug or I do something wrong?Kind regard