Monthly Archives: April 2010

sap abap–vl03n conditions data in konv table…….Outbound Delivery —

         

Posted in SAP ABAP | Leave a comment

delphi学习之形参实参值变化

    最近在学习delphi,学习到实参形参的时候想记录下 当您的程序代码在调用一个过程或函数时,通常用参数传递数据到被调用的过程或函数中。最常用的参数有数值参数、变量参数和常量参数三种。 由被调用过程或函数定义的参数为形参,而由调用过程或函数指明的参数叫实参。在NoValue函数中,说明函数体中的AnEditBox是形参,而调用时在if NoValue(Edit1)…中,Edit1是实参。 数值参数在运行过程中只改变其形参的值,不改变其实参的值,即参数的值不能传递到过程的外面。试看下面的例程:  procedure Calculate(CalNo:Integer); begin CalNo := CalNo*10; end;  用以下例程调用Calculate函数: … Number := StrToInt(Edit1.Text); Calculate(Number); Edit2.Text := IntToStr(Number); …  Number接受由编辑框1输入的数值,经Calculate过程运算。它是一个数值型实参。在进入Calculate函数后,会把Number实参拷贝给形参CalNo,在过程中CalNo增大十倍,但并未传递出来,因此Number值并未改变,在编辑框2中显示仍然是编辑框1中的输入值。形参和实参占用不同的内存地址,在过程或函数被调用时,将实参的值复制到形参占用的内存中。因此出了过程或函数后,形参和实参的数值是不同的,但实参的值并不发生变化。 如果您想改变传入的参数值,就需要使用变量参数,即在被调用程序的参数表中的形参前加上保留字var。例如:  procedure Calculate(var CalNo : Integer);  则CalNo并不在内存中占据一个位置,而是指向实参Number。当一个变参被传递时,任何对形参所作的改变会反映到实参中。这是因为两个参数指向同一个地址。将上一个例程中过程头的形参CalNo前面加上var,再以同样的程序调用它,则在第二个编辑框中会显示计算的结果,把第一个编辑框中的数值放大十倍。这时形参CalNo和实参Number的值都是Nnmber初始值的10倍。 如果当过程或函数执行是要求不改变形参的值,最保险的办法是使用常量参数。在参数表的参数名称前加上保留字const可以使一个形参成为常量参数。使用常量参数代替数值参数可以保护您的参数,使您在不想改变参数值时不会意外地将新的值赋给这个参数。

Posted in delphi | Leave a comment

sap abap–关于vl03n外向交货单的更改里的记录,取值不是太容易–特别是cdpos–

  聚集表真是没有什么好的。

Posted in SAP ABAP | Leave a comment