936 format/length conflict

Hi,

After a long time I have got to post a crucial (for me) query in this forum.

The requirement first:
I have a map and for a specific field I need the NEW(replacing the older one) helproutine to work for me.
The problem:
I have an existing PDA defined for the MAP. This Data area is populated with data from a call to COBOL program.
Now my aim is to pull some more data(3 more variables) thru the COBOL program and pass these 3 varaibles to the Helproutine during invoking the Helproutine.

I am succeeding till the time I get these 3 variables populated from the COBOL call. But when the INPUT USING map is getting executed, it is giving me the error 936 (format/length conflict).

I have STOWed all the modules in proper sequence(I hope). But always the error is the same.

The variables I declared in PDA are
#CTX-ID A 40
#PROCESS A 8
#HDL-ACT N 3

I have passed these 3 variables to the Helproutine from the HE= in the MAP

But to my surprise, when I listed the MAP(Not in EDIT), I have seen that
DEFINE DATA PARAMETER
1 #BLOCKAGE (A005)
1#CTX-ID (N7.0)



1 #PROCESS (N7.0)----

1 #HDL-ACT-ID (N7,0)

I do not understand, from where this format/length is coming.

And finally when the INPUT statement is getting executed, the error comes as
Format/Length conflict in parameter (Map MVSMP01M).

I doc has been attached for reference of the error.
I hope I am clear with my problem. If not, I am here to clarify.

Thanks in Advance
MAP Error.doc (222 KB)

If you do not provide a field’s format and length, Natural’s default is to assume N7.

To provide the correct characteristics of the three new fields, edit the map and navigate to the Field and Variable Definitions screen (code D from the map editor menu).

 
13:50:41                ***** NATURAL MAP EDITOR *****               2007-08-07 
User SAG                         - Edit Map -                  Library SYSTEM   
                                                                                
                   Code    Function                                             
                   ----    ---------------------------------                    
                     D     Field and Variable Definitions    <---
                     E     Edit Map                                             
                     O     Outline Editor                                       
                     X     Migration of Maps created with KAPRI 
                     I     Initialize new Map                                   
                     H     Initialize a new Help Map                            
                     M     Maintenance of Profiles & Devices 
                     S     Save Map                                             
                     T     Test Map                                             
                     W     Stow Map                                             
                     ?     Help                                                 
                     .     Exit                                                 
                                                                                
             Code .. I     Name .. ________       Profile .. SYSPROF_          
16:10:49           Field and Variable Definitions - Summary          2007-12-14 
                                                                                
Cmd Name (truncated)                             Mod Format       Ar Ru Lin Col 
___ *DATX_______________________________________ S   D                    2   2 
___ *TIMX_______________________________________ S   T                    3   2 
___ #001________________________________________     A40              2   5  20 
___ #002________________________________________     A20                  6  20 
                                                                                
                                                                                
                                                                                
                                                                                                                                                 
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- 
      Help  Mset  Exit              --                Parm  Local       Let

If the field definitions are not found there, press PF9 to display the list of fields defined as parameters to the map.

Hey Ralph,
Thank you for your response to my query.
But I am not using these variables for Map fields, rather I am using these variables to parameterise to call teh help routine. I think, I have tried with the Variable definations menu options in the Map Editor and did not get any thing…

Still I will give another try to see how it will help me.

I do not understand, even after STOWing the PDA and MAP, why the format/length is not getting updated correctly?

Thanks,

Mishra;

Education, Education, Education. No substitute for it.

What you do not seem to understand is that both maps and helproutines are both special cases of a subprogram.

With that information, realize that you are not passing data from the program to the helproutine; you are passing data from the program to the map and from the map to the helproutine.

Consequently, all three (program, map, and helproutine) must have the same format/length. As Ralph pointed out, N7 is Natural’s old default format.

When you have a variable in a Helproutine “call”, (e.g. HE=“helper”, #A), and #A is NOT on the map (if it was, it would have a format), Natural uses N7 as the default format, producing what you see in your listing of the map. If you had the parameter FS turned on, you would not get the default format, but instead would get a compiler error.

Go into the Field and Variable definitions for the Map. Hit the PF key that says PARM. you should find your variables there. Change the formats as per what you have in the program and helproutine. re-stow the map.

steve

In the interest of education;

you should note that when you list a Map, variables in the parameter data area, that are not on the map (typically for use by processing rules or helproutines), are indented, making them easy to spot (e.g., all your control variables).

steve