report程序小结

2 篇文章 0 订阅

一:把本地文件上传到server,使用CG3Z

二:把server文件下载到本地,使用CG3Y

        读取服务器文件时,open dataset 的subrc返回值是0以外时,需要考虑是不是逻辑路径出现问题,或者文件出现问题。

三:back ground执行后,去sm37查看log内容,然后可以根据消息番号和class去程序里定位error位置

四:background执行时想要debug的话,需要先在程序外部打上一个断点,去sm37执行,然后在左上角输入栏执行jdbg,进入debug画面,然后f8即可跑到断点处。

五:al11查看server文件路径,file查看既存的variant

六:下图中有几个点需要注意:首先可以append内表,这样就和endselect成了一个闭合,直到把bseg的所有数据抽完。然后package size可以分段从数据表抽数据,就可以避免一个进程占用内存过多导致宕机。第三个要注意的是尽量不要使用corresponding fields这个语法,因为他也很耗内存,做个退避用的内表,然后再move-corresponding最好。

select * 
appending corresponding fields of table t_tbl_bseg 
  from bseg package size 25000
   for all entries in t_tbl_bkpf 
 where bukrs = t_tbl_bkpf-bukrs 
   and belnr = t_tbl_bkpf-belnr 
   and gjahr = t_tbl_bkpf-gjahr.
endselect.

七:bdc录屏程序,如果不好使,有时可能是因为最后那个画面缺少一个确定的button。

八:有的程序online执行时,可以正常的将w型消息显示到alv画面,但background执行时w型消息会自动变成e型消息出力到sm37joblog里。这有可能需要去spro→財務会計→財務会計共通設定→ツル→変更:メッセージ管理里设置。将sm37joblog里的message class号码输入到appl.エリア里面去,然后点击新规,即可设置此消息的online和background类型。需要注意的是这个设置也需要移送。

九:BACKGROUND执行时,警告类型的消息会变成错误消息。这时可以根据需要转换消息类型(type S or I)。

十:动态内表技术获取,cl_abap_typedescr=>describe_by_name(’要获取的表或构造的ID‘)

                                        lt_idetails[] = lr_ref_table_des->components[].

十一:循环处理和select抽出处理联合使用时一般有两种情况。1是select和packsize等联用去抽数据量比较大的数据库表。2是select 和wait up to 1 seconds联用做等待处理。比如说抽取未転記伝票的数据时,如果有人在做更改处理,这个时候是抽取不到的,需要做等待处理,在select外面写一个do处理,然后read内表,如果subrc等于0就exit。不等于0就wait up to 1 seconds。

do p_times times.

  select *
    ......
    into table tab_vbsegs.

  read tab_vbsegs index 1 transporting no fields.

  if sy-subrc <> 0.
    wait up to 1 seconds.
  else.
    exit.
  endif.

enddo.

十二:使用CL_MD_BP_MAINTAIN=>MAINTAIN这个方法去更新bp的银行明细时,银行详细id0001没有被更新,而是变成了0002,本来的银行更新内容变成了0001被登录进去,有效开始日也自动采番变成了今天的日期,有效终了日也不是9999/12/31。
原因是TIME_DEPENDENT这个项目值为空。只要按照下面的代码设置好就可以了。
 

I_DATA-PARTNER-CENTRAL_DATA-BANKDETAIL-TIME_DEPENNDENT = ABAP_ON.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值