abap的面向对象还没有掌握,但是面向对象肯定涉及interface 和 class
我们还是先做到,可以有能力读懂代码吧:使用事务码SE24打开class CL_COIS_DISP_LIST(Display 它)
看到
你的第一个想法是,WC,代码呢?
定义一个class最起码你得写一句: class class-name DEFINITION.之类的语句吧
where?
“abap中全局类是通过abap工作台中的类创建工具class builder开发的,保存系统类库程序(class pool)中,可供所有程序使用。而在程序内部定义的类一般只应用于本程序,但是二者定义的格式一致”
如上图,其实SE24看不到类的全景
我们推荐使用SE80看class
看到了把,还是SE80看到的更加清晰
下面给大家划重点
看见了吧,SB们
IO_CONTAINER就是输入参数,就是这么来的,知道代码的来龙去脉了吧
为了防止你眼瞎或者老年痴呆,我再上个图,让你回忆下
上面看到的是class的内容,下面看看它对应的interface是什么样的:
下面看看这个interface的方法的参数是如何定义的:
你可能问,哦,看见方法的参数了,那代码呢?
接口,就是没有代码,想看代码请切换到interface的实现类class中
那么 这个参数,在代码中,怎么使用呢?
呆逼,睁开你的钛合金狗眼看看下面:
让我们从被执行的方法的定义,返回方法的调用
从上图可以看出来,<ls_detail_list>的数据来自于gt_detail_list
那么list究竟是什么呢?
那么gt_detail_list在哪里初始化或者赋值的呢?
现在我们去调试LCOISOUTPUTF08的代码,下面两个图,一个是静态SE80中的代码,另一个是debug时候的代码 竟然在enhancement部分很不一样
调试过程中 看到上图中的局部代码: 内表数据来自于IOMAMO_TAB[]
调试的时候发现上图所示function运行后,数据保存入iomamo_tab[]中
我们先来看看之前自己写的abap代码,有关于如何创建alv
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/20162.html