Is it possible to declare a GDA for an external subroutine?

Answers were Sorted based on User's Feedback



Is it possible to declare a GDA for an external subroutine?..

Answer / jamil ahmad

YES. A GDA can be used in an external subroutine. Thats
where a GDA comes in real handy. I personally rather use a
subprogram but developers use subroutine and like it. You
dont have to pass any parameter but you must use the GDA.
Upon returning from the subroutine you can interrogate the
glbal fields for your edits. Here is an example of an
external subroutine (chopped off to fit here): (I didnt
write this but use it all the time, works perfect)
DEFINE DATA
GLOBAL USING DSLGLOB
LOCAL
1 #NAME (A15) INIT <' '>
1 REDEFINE #NAME
2 #ARRAY (A1/15)
1 #X (N2)
1 #LENGTH (N2)
1 #BLANK (A1) INIT <'N'>
END-DEFINE
***********************************************
DEFINE SUBROUTINE NAME-EDIT
***********************************************
ETC ETC

END-SUBROUTINE

Is This Answer Correct ?    3 Yes 1 No

Is it possible to declare a GDA for an external subroutine?..

Answer / dd

One can not declare/create GDA in an external subroutine,
instaed it can use the GDA that is present in main calling
program.

Subprograms even don't have access to GDA. As they only need
the parameter data area to communicate with the calling program.

If a module of type program(P1) is calling another module of
Program(P2) using Fetch return then P2(the called program
module) can't have GDA defined in it.
But with fetch both can have GDA variables.

Is This Answer Correct ?    4 Yes 4 No

Is it possible to declare a GDA for an external subroutine?..

Answer / ganesh.b.s

An external subroutine can access the global data area used
by the invoking object(Program, Subprogram)
Moreover, parameters can be passed with the PERFORM
statement from the invoking object to the external
subroutine. These parameters must be defined either in the
DEFINE DATA PARAMETER statement of the subroutine, or in a
parameter data area used by the subroutine. Programs,
Subprograms and Subroutines Programming Guide
In addition, an external subroutine can have its local data
area, in which the fields that are to be used only within
the subroutine are defined.
However, an external subroutine cannot have its own global
data area.

Is This Answer Correct ?    4 Yes 5 No

Is it possible to declare a GDA for an external subroutine?..

Answer / niki

No its not possible to declare gda for external subroutine,
because external routine contains only logic not the data
variables. the external subroutine will lookmlike this

define subroutine-1.
........
.......
end-subroutine.

there is no define data bolck as such

please correct me if i am wrong.

Is This Answer Correct ?    0 Yes 17 No

Post New Answer

More Natural Interview Questions

What is data trace system 2.0 used for?

0 Answers  


A field declared as P8 needs to be redefined as Alphanumeric. What would be its new size?

9 Answers  


Suppose you are processing an input file in a natural program and you want the program to fail if the file is empty. What command you use in natural to force it to fail?

0 Answers  


What is the difference between escape(top or bottom) and escape immediate(top or bottom?

0 Answers  


How can I create 1 DDM that fetches 3 ADABAS files simultaneously?

5 Answers  






COuld you please let me know along with a sample on how are you going to remove duplicates from the file that is being read. Thanks Sam

2 Answers   TCS,


Explain difference between read work file 1 and read work file once? Why we are using work file once?

0 Answers  


What is the difference between READ BY ISN and FIND

2 Answers  


What is the difference between read work file 1 and read work file once? Why we are using work file once?

0 Answers  


differnce between read work file 1 and read work file once? why we are using work file once?

4 Answers  


what type of files we can process thru file-aid

1 Answers   Tech Mahindra,


Explain what happens when you issue a escape routine in a program? Will there be any compilation /run time erro?

0 Answers  


Categories