FORM <subform> [USING <f1> <f2>...] [CHANGING <fr1> <fr2>...] PERFORM <subform>[USING <f1> <f2>...] [CHANGING <fr1> <fr2>...] USING 之后跟随着不会发生变化的子程序参数,CHANGING后面的参数按引用传递,值会随着子程序内的变化而变化。 [FOR EXAMPLE]
FORM <subform> [USING <f1> <f2>...] [CHANGING <fr1> <fr2>...] PERFORM <subform>[USING <f1> <f2>...] [CHANGING <fr1> <fr2>...] USING 之后跟随着不会发生变化的子程序参数,CHANGING后面的参数按引用传递,值会随着子程序内的变化而变化。 [FOR EXAMPLE] DATA: i_num1TYPEIVALUE10, i_...
FORM <subform> [USING <f1> <f2>...] [CHANGING <fr1> <fr2>...] PERFORM <subform>[USING <f1> <f2>...] [CHANGING <fr1> <fr2>...] USING 之后跟随着不会发生变化的子程序参数,CHANGING后面的参数按引用传递,值会随着子程序内的变化而变化。 [FOR EXAMPLE] DATA: i_num1TYPEIVALUE10, i_...
简单来说,form你可以理解为一个子函数,perform是对这个子函数的调用,然后using和changing相当于参数,using是光使用不变化的参数,changing是使用的同时值会根据函数的具体实现变化的参数。我觉的使用PERFORM语句,主要是为了模块化程序,简化代码量,比如第1,5,10,15都要使用某种运算,与其每次都写一...
PERFORM <frm_name>. “调用子程序 FORM <frm_name> . “定义子程序 <statement block> ENDFORM. 三种传参方式: 引用传递USING :传递地址给子程序(改变实参),一般不允许子程序修改值 值传递USING VALUE( ): 值传递,不改变实参 值传并返回结果:CHANGING:允许子程序修改值,是引用传递改变值 ...
PERFORM <subform>[USING <f1> <f2>...] [CHANGING <fr1> <fr2>...] USING 之后跟随着不会发生变化的子程序参数,CHANGING后面的参数按引用传递,值会随着子程序内的变化而变化。 [FOR EXAMPLE] DATA: i_num1TYPEIVALUE10, i_num2TYPEIVALUE20, ...
perform call_byvalue using gv_val. "执行子程序,带参数gv_val form call_byvalue using value(p_val). "p_val是形参,是局部变量 write p_val. "打印形参,就是打印实参内容 endform. 1. 2. 3. 4. 5. 6. Call by reference, 具有相同的物理内存并且互相传递内存地址, 使用changing关键字传参, 改变...
1. PERFORM form. 2. PERFORM form(prog). 3. PERFORM form IN PROGRAM prog. 4. PERFORM n OF form1 form2 form3 … . 5. PERFORM n ON COMMIT. Variant 1 PERFORM form. Additions 1. … USING p1 p2 p3 … 2. … CHANGING p1 p2 p3 … ...
1.Changingtable|V 在form定义中和perfom执行中是地址引用,在形参处不用定义类型,如下:FORMMODIFY_FREE_SUBTABLE_KNBKUSINGVALUE(T_TABLE_FIELDS_V)CHANGINGI_KNBK.IFT_TABLE_FIELDS_VNE'X'.FREEI_KNBK.ENDIF.ENDFORM.在调用此FORM时如下:PERFORMI_KNVK.I_KNVK的类型不用定义,changing会将数据类型传过来(...
perform fibonacci using n changing f. when v2\. perform fibonacci_2 using n changing f. endcase. write: / 'Fibonacci(', n, ') =', f. get run time field t. write: / 'Runtime', t, 'microseconds'. *&---* *& Form fibonacci *&---* form fibonacci using in type ...