是否可以将参数传递给NATURAL子例程?

问题描述 投票:1回答:2

NATURAL programming language我是新手。我试图找到一种方法,可以像在C ++或Java中那样将一个参数传递给子例程。现在,我必须将所有内容移至另一个变量并调用该方法。因此很麻烦,并且要编写很多代码。

[[问题:自然程序子例程能否具有C ++或Java中的参数列表?

D = passVariable1 PERFORM FLIP-DATE A = D END-SUBROUTINE newVariable = A
代码:

DEFINE SUBROUTINE FLIP-DATE #A = #D #B = #E #C = #F RESET #NMM #NDD #NCCYY END-SUBROUTINE

我想做什么。

代码:

DEFINE SUBROUTINE FLIP-DATE(A,B,C,D,E,F) <-- is this possible somehow? #A = #D #B = #E #C = #F RESET #NMM #NDD #NCCYY END-SUBROUTINE

mainframe adabas-natural
2个回答
2
投票
参数数据区(PDA)是本地数据区(LDA)的特殊版本,用于函数,外部子例程或帮助例程对象中。您可以内联定义参数,例如

DEFINE DATA PARAMETER 1 #A(N2) 1 #B(N2) 1 #C(N2) 1 #D(N2) 1 #E(N2) 1 #F(N2) LOCAL your local variables END-DEFINE …

或者,您也可以创建一个单独的源对象,类似于外部LDA。

DEFINE DATA PARAMETER USING pda LOCAL your local variables END-DEFINE …

注意,不能在内部子例程中使用参数。

[如果您以前从未使用过这种功能强大的语言,我建议您开始阅读Software AG网站上的Natural documentation,尤其是“第一步”手册。


1
投票
parameter-data-area可用于将数据传递给子程序和例程。
© www.soinside.com 2019 - 2024. All rights reserved.