SAP_ABAP_面试篇_关于Function Module函数的三种处理类型

关于 Function Module 这个技术点,在面试过程中一般会考察以下几个问题:

1  函数处理类型的更新模式

        一般会问到异步和事务(逻辑单元 LUW),异步函数的调试方式、SM13监控更新函数的执行过程(V1 与 V2 模式 )。

2  函数的参数

         传入对象参数时,方法体中不可以改,传入值时,方法体中可以改,远程和更新模式只能传输值。

3  RFC常用的种类 ,使用场景

同步RFC  ,  异步RFC ,  事物RFC ,  队列RFC ,  并行RFC 

同步RFC  , synchronous RFC

异步RFC , asynchronous RFC , 多并发调用

事物RFC,transactional RFC,多并发调用,多个调用进行LUW分组处理

队列RFC,queue(d) RFC    ,  多并发调用,多个调用进行LUW分组处理,保证了所传输数据的处理次序

并行RFC ,Parallel RFC        ,  多并发调用,可以同事处理多个异步RFC

4 RFC函数对大数据的处理

        有些面试官会问,有没有处理大数据的经验,也就时说一次性从第三方系统中抛2W个订单,SAP RFC函数将如何处理?

使用并行RFC + 异步RFC ,  所谓面试造火箭,入职后搬砖,不需要太纠结与实现细节,点到为止!

扫描二维码关注公众号,回复: 17350404 查看本文章

5 SAP Function Module,介绍

5.1  SAP Function Module ,有三种 处理类型 ,分别是:常规、远程和更新模式,常规更新模式最常使用,方法体中的代码逻辑一般是写查询逻辑,第二种是‘远程模式’,远程更新模式它的使用场景一般是给外部系统调用,通过 jco 包进行联接( 如:和WMS、MES系统的联接 );第三种是 ‘更新模式’ 。

5.2  SAP Function Module ,三种 处理类型的调试模式也是不一样的,‘ 常规模式 ’调试时,设置内部断点、‘远程模式’设置 远程断点,但需要指定调式账号,即第三系统对SAP系统连接池中的账号,更新模式调试时,要开启更新调试模式,利用SM13监控更新过程,如果更新失败在SM13中会留下记录,进去看日志排查问题。

5.3 通过一个真实案例说明Update Module模式的重要性,笔者当年在某电池厂搬砖时,他们用ABAP语言研发了一套WMS系统,当中设计了一些自定表,有主从关系、联接关系等等,在更新时很少使用更新模式的 事务来提交更新,而是用普通函数来处理更新,最后导致的问题是,有几张自定义表的数据被脏读了,时不时出错。做为新人这种锅理所应当被顶了上去,通过分析,在50多处的自定义表前、后打上Log,用json String 的方式存储下来,通过分析相近时间的日志排查可能发生脏读数据的位置,然后进行修改.


5.4 更新模式实验

5.4.1 Modify 1 ,Modify 2 执行完后,提交 LUW .

5.4.2 提交数据更新,底表产生数据

5.4.3 TEST函数 ,同步更新案例

 

5. 4.5  TEST函数,异步更新 添加 IN UPDATE TASK ,异步函数调试

 

5.4.6 SM13 监控 V1模式的执行过程

 

 


5.4.7 实验结论:在一个事务中提交 的异步方式处理案例:

猜你喜欢

转载自blog.csdn.net/java_zhong1990/article/details/134546016
今日推荐