WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

EHLLAPI

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Ehllapi extender 207 error


Question:

I am connecting to a RUMBA Terminal with the Ehllapi extender. I can send keys to the window without issue but I cannot do a copytofield because I get a "Error 207: outside of the presentation screen". The Terminal Window is set to 24x80 but when I query the session I get 17000 rows and 6500 cols. I have no idea what is happening. The cursor query also returns 1 and 1111 eventhough it is on the right side of the screen half way down. Please help.

The extender seems to thing the entire screen is one row.

Snippets of the code include:

initvar = ehllapiInit("c:\PROGRAM FILES\WallData\SYSTEM\ehlapi32.dll");
connvar = ehllapiConnectPS("A");
When I do a status after connecting I get a large number of rows and columns. Currently I am using RUMBA 3270 terminal window. Let me know if anybody needs any more inforamtion

I am using ehllapi extender version 38001. I'm testing with RUMBA Mainframe v7.1.0.

Answer:

When you call ehllapiInit(), are you specifying the proper personality flag value [either zero or one] that matches how your Rumba session is configured [standard or enhanced HLLAPI transport]?

What does your call to ehllapiCopyTextToField() look like?

OK, according to the ehllapiInit line, you're specifying that the standard HLLAPI interface is being used because you've omitted the personality flag parameter. Make sure that you have your RUMBA 3270 emulator configured to use the standard HLLAPI interface.

In RUMBA, click on the menu Options -> API... and then on the "Configuration" tab, look at the last check box labeled "Classic HLLAPI data structure" and report back here as to whether it is checked or unchecked.

User reply:

When I did what you asked it worked fine. Thank you. What would be the call to use the exteneded functionality?

Response:

I'm glad to hear that you have it working now. I like it when the problems are this easy to fix.

Background for [E]HLLAPI:

HLLAPI was developed by IBM back in the 16-bit DOS environment. Later on, IBM ported HLLAPI to first the 16-bit Windows 3.1 platform and later on to the Win32 platform. At the time that HLLAPI was implemented on 32-bit systems, IBM introduced the "Enhanced HLLAPI", or EHLLAPI interface specification. Basically, it removed a lot of older 16-bit environment left-overs from the HLLAPI interface specs, like replacing 16-bit WORD values with 32-bit LONG integer values.

Now, when IBM did publish the specs for EHLLAPI, not all terminal emulator vendors rushed in and implemented them immediately. The end result is that some terminal emulators only do EHLLAPI, while some do only standard HLLAPI, and still others are configurable to do either EHLLAPI or standard HLLAPI.

In the case of RUMBA, the emulator can do both. You simply configure your session in the emulator to *NOT* use the "Classic HLLAPI data structures" and then call ehllapiInit() with a personality flag value of 1 [one] to signify that the terminal emulator is using the EHLLAPI interface specs.


Article ID:   W15835
File Created: 2017:07:28:12:58:28
Last Updated: 2004:03:30:14:41:03