SAP 散装笔记 第 20230719 号 Q&A 问答摘选

SAP 散装笔记 第 20230719 号 Q&A 问答摘选

简介: 每隔一段时间,我会整理一份问答摘选的散装笔记,笔记来源于博客、公众号、知识星球、微信、 QQ 等地方。这是第 20230719 号 Q&A 问答摘选,希望这些问答对你有所帮助。

关键字:SAP ABAP 散装笔记 Q&A 问答摘选


1 问答摘选

1.1 完整一天的日期时间表达

  • 问:用日期时间区间格式表达完整的一天时间
  • 答:以 20230705 为例,[ 2023-07-05 00:00:00 , 2023-07-05 24:00:00 ] 。
    我发现有不少同学会搞错这个问题哦,小坑易踩。

1.2 对比不同环境系统间的 SPRO 配置差异

  • 问:SAP怎么对比两个系统的SPRO配置差异?
  • 答:事务码,SCU0 - 定制跨系统查看器。

1.3 二分法使用注意事项

1.4 动态 ALV

  • 问:动态 ALV 能控制单元格可编辑么?动态内表没有固定结构,但是编辑ALV单元格需要一个 LVC_T_STYL 类型的字段,这个怎么处理?
  • 答:当然可以,互不相干。编辑状态肯定是基于构建动态内表完成后的操作,这时肯定有字段了,见用于创建动态内表的 components[] 。

1.5 MIGO 过账

  • 问:在用 bapi_goodsmvt_create 过账移动类型 161 时,如果采购单没有 161 过账过,就会报 m7036 无收货可能,如果有过账过 161 ,就可以成功,为什么?
  • 答:采购类型配置没有勾选增强退货选项导致。

1.6 STRING_SIZE_TOO_LARGE

  • 问:一个 STRING 字段值的最大长度限制是多少?
  • 答:2145386496 。
    A string with a length 2145386870 (bytes) was about to be created.
    However, this length exceeds the maximum size possible for a string of
    2145386496.
    在这里插入图片描述

1.7 ABAP 和 XML

      data: lv_xml type string.
      call transformation id source b = <abap_data> result xml lv_xml.
      call transformation id source xml lv_xml result b = <abap_data>.

1.8 将 XML 解析为内表

  • 问:如何快速便捷的获取 XML 中某个值?
  • 答:根据字段名称查询值。
DATA:xml_string TYPE string.
DATA:xml_xstring TYPE xstring .
DATA:lt_xml_table TYPE STANDARD TABLE OF smum_xmltb with header line.
DATA:lt_return TYPE STANDARD TABLE OF bapiret2 .

CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
  EXPORTING
    text   = xml_string
  IMPORTING
    buffer = xml_xstring.

CALL FUNCTION 'SMUM_XML_PARSE'
  EXPORTING
    xml_input = xml_xstring
  TABLES
    xml_table = lt_xml_table
    return    = lt_return.

1.9 SAP 与 OA 业务集成

  • 问:SAP 怎么把采购申请和询报价和 OA 集成起来?
  • 答:这个很简单啊,常规集成就行,没有附件等特殊对象吧,有附件就不能走 rfc ,需要oa后端 java 二开,重要是业务流程怎么设计,决定了系统交互怎么进行。
  • 问:采购申请同步给 oa,oa 基于采购申请维度合并拆分询报价,最后把价格和货源确定更新到采购申请,还是采购申请在 sap 创建询报价,同步询报价给 oa,oa 回传结果,sap 自己确定货源和价格。
  • 答:这得看你期望 OA 只承载审批功能,还是承载更多业务功能。

1.10 满分回答

  • 问:给数值赋值时,纯数字可以不加引号,为啥小数要加?
  • 答1(满分):你要让弱智的 SAP 知道那不是个句号,是个小数点。
  • 答2(零分):点是预置关键字有语法含义。

1.11 Table Control 控件开发

  • 问:Table Control 输入数据后回车数据被清空,无数据。
  • 答:使用向导开发的 Table Control,不会初始新增空的内表行,此时内表是空的,无法通过索引更新。解决办法是初始化时新增一行或多行空的内表行。
"屏幕逻辑流
"tc_demo4 是 table control 名称
module tc_demo4_change_tc_attr.

module tc_demo4_change_tc_attr output.
  "----->BEGIN 设置初始输入行数
  if gt_demo4[] is initial.
    do 1 times.
      append initial line to gt_demo4.
    enddo.
  endif.
  "<-----end 设置初始输入行数
  describe table gt_demo4 lines tc_demo4-lines.
endmodule.

1.12 工单保存和状态

  • 问:工单保存前的增强点,能拿到工单保存后的状态吗?比如工单点击下达,状态会变成 rel,这个时候保存前的增强点能抓到吗??
  • 答:可以。BADI IF_EX_WORKORDER_UPDATE~BEFORE_UPDATE
    在这里插入图片描述

其他

我的微信群、QQ群和其他发布平台。

长期提供开发和运维服务。

猜你喜欢

转载自blog.csdn.net/libin961797440/article/details/131548490
Q&A