F-44 未清项目过账界面,增加自定义字段
需求:F-44 未清项目过账界面,增加 合同编号 ZHTBH
实现表RFOPS、RFOPS_S中,增加 合同编号 ZHTBH
新增BTE,事件00000900,对 ZHTBH 赋值
产品:ZPRODUCT 可以自己创建Functin: Z_INTERFACE_00000900 是根据 SAMPLE_INTERFACE_00000900 复制而来的
SPRO设置变式SPRO中,增加字段的显示,财务会计(新)-总账会计(新)-业务交易-未清项目结算-未结清项目处理-定义行格式:行格式A1,增加“合同编号” (TCode: O7Z4S);同时需要将A1设置为默认的行格式变式
测试增加代码如下, ls_postabsub-tabix 表示对应的行号, ls_postabsub-zhtbh 为我们需要的值
执行Tcode:F-44
ABAP转java时间戳
时间戳生成cl_pco_utility=>convert_abap_timestamp_to_java
时间戳解析cl_pco_utility=>convert_java_timestamp_to_abap
JDBG
用来调试已经执行过的JOB。 SM37,查询出已执行的JOB,选中后输入 “JDBG”, 回车即可进入调试
Job基础
Job基础SAP后台JOB相关系统表TBTC*
主要的有 :
TBTCO - 作业状态概述表
TBTCP - 批作业步骤概述
JOB的状态可以使用系统函数查看 BDL_READ_JOB_STATUS 或者是自己去表 TBTCO 中查找(根据STATUS 字段判断是否完成)。
R 活动的(运行中)Y 就绪的P 已调度的S 已释放A 已取消(出错终止)F 已完成(结束)Z Released/Susp.(无中文)
JOB运行时间TBTCO中有开始日期开始时间和结束日期结束时间,两者直接相减就得出JOB运行的时间。
JOB日志查看系统中的日志好像是没有存放在系统表而是文件中,可以通过函数 BP_JOBLOG_READ 获取,传入JOB名和JOB编号就可以获得日志信息。例如:获取失败日志 DATA:lt_log TYPE TABLE OF tbtc5 WITH HEADER LINE.
CALL FUNCTION 'BP_JOBLOG_READ'
EXPORTING
client = sy-mandt
...
性能优化
性能优化SQL Interface基本目标就是减少与数据库交互
需要对数据库某列求最大,最小,和,平均值或者记录数量时,请使用聚集函数来代替Select … Where + Check的方法
取数时请使用Select + 指定的列名称 into,而不要使用Select * into。显示的指定列名称只取出需要的列,不会像Select *会取出相应表的所有的列
尽可能的使用字段(column updates)更新来代替行记录(single-row updates)更新数据库表,这样可以减少网络负载
Select语句在Where条件中尽量使用索引字段
Select with buffer support:对于最常用的只读的数据读取,使用SAP Buffering,不要使用_BYPASSING BUFFER,例如:
SELECT SINGLE * FROM T100 INTO T100_WA
BYPASSING BUFFER
WHERE SPRSL = 'D'
AND ARBGB = '00'
...
ABAP语言常用的系统字段及函数
常用系统变量
SY-PAGNO: 当前页号
SY-DATUM:当前时间
SY-LINSZ:当前报表宽度
SY-LINCT:当前报表长度
SY-SPACE:空字符
SY-SUBRC:执行状态为0,表示成功.
SY-UNAME: 用户名
SY-UZEIT:当前时间
SY-TCODE:当前的事务代码
SY-LSIND:列表索引页
SY-LISTI:上一个列表的索引
SY-LILLI:绝对列表中选定行的行号
SY-CUROW:屏幕上的行
SY-CUCOL:光标列
SY-CPAGE:列表的当前显示页
SY-STARO:真实行号
SY-LISEL:选择行的内容,长度为255
SY-LINNO:当前行
SY-INDEX:做无条件循环是的次数值.
SY-FDPOS:子字符串在源串中的位置。
SY-INDEX: 当前LOOP执行的次数
SY-TABIX: 当前内表的行数
SY-TMAXL: 内表的总行数
SY-SROWS: 屏幕的总行数
SY-SCOLS: 屏幕的总列数
SY-MANDT: CLIENT NUMBER
SY-VLINE: 竖线
SY-ULINE: 横 ...
配置系统别名
配置路径:1、在事务SPRO 中,打开SAP 参考 IMG并导航到:导航路径的起点 ABAP平台 > SAP Gateway > OData Channel > Configurations > Connextion Settings > SAP Gateway to SAP System > Manage SAP System Aliases 。2、创建新条目。3、创建本地LOCAL别名
Segw 常用技巧
/iwbep/cx_mgw_busi_exception DATA: BEGIN OF business_error,
msgid TYPE symsgid VALUE 'ZRRE_DMCP',
msgno TYPE symsgno VALUE '005',
attr1 TYPE scx_attrname VALUE '',
attr2 TYPE scx_attrname VALUE '',
attr3 TYPE scx_attrname VALUE '',
attr4 TYPE scx_attrname VALUE '',
END OF business_error .
*1. Instatiate the Message Container
DATA: lo_message_contai ...
/IWBEP/IF_MGW_APPL_SRV_RUNTIME
CHANGESET_PROCESS/IWBEP/IF_MGW_APPL_SRV_RUNTIME~# CHANGESET_PROCESS
DATA:
lv_entity_type TYPE string,
ls_changeset_request TYPE /iwbep/if_mgw_appl_types=>ty_s_changeset_request,
lo_request_context TYPE REF TO /iwbep/if_mgw_req_entity_c,
ls_changeset_response TYPE /iwbep/if_mgw_appl_types=>ty_s_changeset_response,
ls_afvc_modify TYPE zcl_zps_jmyh_mpc=>ts_afvc,
ls_eban TYPE z ...
标准常用方法总结
标准常用方法总结Convert
CONVERSION_EXIT_ALPHA_INPUTconverts any number into a string fill with zeroes, with the number at the extreme rightExample:input = 123output = 0000000000000…000000000000123
CONVERSION_EXIT_ALPHA_OUTPUTconverts any number with zeroes right into a simple integerExample:input = 00000000000123output = 123
CONVERT_ABAPSPOOLJOB_2_PDFconvert abap spool output to PDF
CONVERT_OTFConvert SAP documents (SAPScript) to other types.Example:
CALL FUNCTION “CONVERT_O ...