注意事项

一、删除采购申请

1、BAPI_REQUISITION_DELETE 删除/关闭采购申请,可以按照行项目部分删除,只是标记删除标识。
2、BAPI_REQUISITION_DELETE只能删除普通的采购申请,如果删除L委外类型(EBAN-PSTYP = 3(外协加工)),需要使用BAPI_PR_CHANGE来删除

二、VA01/VA02/VA03的增强

  MV45AFZZ的FORM userexit_save_document_prepare,需使用vbak。XVBAK和YVBAK在VA01新建一行的销售订单会没有值。

三、MIGO的MB_MIGO_BADI增强(SE19)

  POST_DOCUMENT或CHECK_ITEM,有一个不断点过账,会跳过报错。具体忘记哪个地方了。

四、服务器时间

  GET_SYSTEM_TIME_REMOTE

  使用sy-uzeit之前需要用get time.更新下时间,不然会定格在第一次获取的时间。

五、多层展BOM函数

  和乐这里的有BUG,其它公司的可以直接使用多层展BOM,

  和乐这里的问题:第二层数量,是用这个,但是第三层的时候,是需要用MNGLG再展开,才行,直接'X'多层展开,数量不是想要的

六、CEIL向上取整时的问题

  I是整型,会先四舍五入,再向上取整,P为浮点数,直接向上取整。直接看实例

 七、SMARTFORMS显示或编辑的时候,中文乱码

  1、安装SMARTFORMS补丁,未解决。

  2、SE38运行RSCPSETEDITOR,勾选前两项并激活,可以临时编辑和显示,但是跳转来,跳转去,非常麻烦,双击不能显示,还要再点次编辑。

  3、选项->多语种设置,图形 选择语言,其他 最后两项都勾选。

  4、计算机语言,右键,设置。这里的中文都是繁体,所以安装'中文(繁体,台湾)'。过了大概几十分钟,重新登录后,中文乱码显示已解决。

 八、调用BAPI报E类型停止

  有的时候不想停止,当前给出报错信息,继续下一个。可以尝试在EXCEPTIONS 后面加上 error_message = X.

例如:

  call function 'XXXX'

  EXPORTING

      I_MATNR = 'XXX'

  EXCEPTIONS

    ERROR_MESSAGE = 1

              OTHERS                   = 2.

九.图片必须满足以下条件:

1.BMP格式

2.色位图 为: 256 (画图工具)

十.增强涉及乘法等运算时,注意浮点数算法,可以新建RFC接口(接口使用固定点算法,SE80设置)计算。

十一.LIKP~WADAT_IST NE '00000000'作为交货单已出货条件。

  SELECT LIPS~VGBEL AS SO
         LIPS~VGPOS AS SO_POSNR
         SUM( LIPS~LFIMG AS LFIMG
*         lips~vbeln AS dn
*         lips~posnr AS dn_posnr
    INTO CORRESPONDING FIELDS OF TABLE LT_LIPS"已出货数量
    FROM LIPS JOIN LIKP ON LIPS~VBELN EQ LIKP~VBELN
   WHERE LIPS~VGBEL EQ IM_VBELN "销售订单
     AND LIKP~WADAT_IST NE '00000000' "排除已冲销或者未交货的情况

十二、SNRO的参考区域,需要使用域,不能用char6之类的元素。例如

SNRO

 SE11

 十三、聚合函数记得加AS

这是不加AS的情况:

 这是加AS的情况:

 十四、从MSKA取销售库存时,需要除了"销售订单"+"销售订单行项目",还需要增加"物料号"。

有些公司的生管会把半成品放挂到销售库存上。

例如SO1的10行项目,对应的物料是A,在把物料B(从非限制仓)通过413(移动类型)调拨到SO1的10行项目(销售库存)上,是不会报错的。

十五、替换'在选择中'是灰色的,不选中替换,把'向上查找'的勾去掉就好了

 十六、在FBL5N(客户明细)中,贷项的凭证,“净额到期日”也就是逾期日,会等于付款基准日,没有加上天数。

 十七、物料在某工厂的第一条货源清单(ME03查看),固定供应商需要打勾(值为'X'),否则核发成本的时候会报错。(该条未验证)

 十八、SE19实施增强实例

  新BADI实施 FI_INVOICE_RECEIPT_SPLIT

 

 十九、当工单不存在超领的情况时,可以从RESB取领料数量,否则汇总AUFM的261 - 262。

resb是预留表,也就是领料需求。

二十、READ_TEXT太慢,使用读取STXL数据并解压,提升效率。

注意,如果在STXH中的参考物件不为空,需要线找到STXH中的(TDREF、TDREFOBJ、TDREFNAME、TDREFID),

再根据这些关联STXL的主键并读取数据,再解压。

示例代码如下:

    DATA: LT_LINES TYPE TABLE OF TLINE,
          LS_LINES TYPE TLINE.
    TYPESBEGIN OF TY_STXL_RAW"压缩的文本
         CLUSTR TYPE STXL-CLUSTR,
         CLUSTD TYPE STXL-CLUSTD,
       END OF TY_STXL_RAW.
    TYPES:BEGIN OF TY_TEXT"解压的文本
            TDOBJECT TYPE STXL-TDOBJECT,
            TDID     TYPE STXL-TDID,
            TDNAME   TYPE STXL-TDNAME,
            TDLINE   TYPE STRING,
          END OF TY_TEXT.
    TYPESBEGIN OF ST_STXL,
              TDOBJECT TYPE STXL-TDOBJECT ,
              TDID     TYPE STXL-TDID ,
              TDNAME   TYPE STXL-TDNAME ,
              CLUSTR   TYPE STXL-CLUSTR ,
              CLUSTD   TYPE STXL-CLUSTD ,
           END OF ST_STXL.
    DATA: LT_STXL TYPE TABLE OF ST_STXL,
          LS_STXL TYPE ST_STXL.
    DATA LT_STXL_RAW    TYPE TABLE OF TY_STXL_RAW.
    DATA LS_STXL_RAW    TYPE TY_STXL_RAW.

    DATA LT_TLINE       TYPE TABLE OF TLINE.
    DATA LS_TLINE       TYPE TLINE.

    DATA LT_TEXT        TYPE TABLE OF TY_TEXT .
    DATA LS_TEXT        TYPE TY_TEXT.

   CLEAR: LT_TEXT[],LT_TLINE[],LT_STXL_RAW[],LT_STXL[].
 " 获取销售订单文本
    IF IM_EKPO-BANFN IS NOT INITIAL.
       SELECT STXL~TDOBJECT STXL~TDID STXL~TDNAME STXL~CLUSTR STXL~CLUSTD
         INTO TABLE LT_STXL
         FROM STXL
        WHERE STXL~TDOBJECT 'EBANH'
         AND  STXL~TDNAME EQ IM_EKPO-BANFN
         AND  STXL~TDID 'B01'
         AND  STXL~TDSPRAS = SY-LANGU.
    ENDIF.
      " 解压长文本
    LOOP AT LT_STXL INTO LS_STXL.
      CLEAR:LS_TEXT,LS_STXL_RAW,LT_STXL_RAW[],LS_TLINE,LT_TLINE[].
      LS_STXL_RAW-CLUSTR = LS_STXL-CLUSTR.
      LS_STXL_RAW-CLUSTD = LS_STXL-CLUSTD.
      APPEND LS_STXL_RAW TO LT_STXL_RAW.
      IMPORT TLINE = LT_TLINE FROM INTERNAL TABLE LT_STXL_RAW.
      LOOP AT LT_TLINE INTO LS_TLINE.
*        LS_TEXT-TDLINE = LS_TEXT-TDLINE && LS_TLINE-TDLINE.
        CONCATENATE LS_TEXT-TDLINE LS_TLINE-TDLINE INTO LS_TEXT-TDLINE.
      ENDLOOP.
      LS_TEXT-TDOBJECT = LS_STXL-TDOBJECT.
      LS_TEXT-TDID     = LS_STXL-TDID.
      LS_TEXT-TDNAME   = LS_STXL-TDNAME.
      IF LS_TEXT-TDLINE NE SPACE.
        INSERT LS_TEXT INTO TABLE LT_TEXT.
      ENDIF.
    ENDLOOP.
    SORT LT_TEXT BY TDOBJECT TDID TDNAME   ."排序为二分法做准备
    DELETE ADJACENT DUPLICATES FROM LT_TEXT COMPARING TDOBJECT TDID TDNAME.

    READ TABLE LT_TEXT INTO LS_TEXT WITH KEY TDOBJECT 'EBANH' TDID 'B01' TDNAME = IM_EKPO-BANFN BINARY SEARCH.
    IF SY-SUBRC 0.
      RE_OUTTAB_PURCHDOC-ZTTBJ = LS_TEXT-TDLINE."PR的抬头标记(长文本)
    ENDIF.

二十一、激活ZXBS1U01后,QA03/QA32/等系统状态不显示,且工单抬头的增强字段也没有带出来(CO01时,从途程带的)

 

  有同事在激活了上述增强后,系统状态不显示,在我增加下列代码(红框里的)之后,解决。

查看引用

 

posted @   蛀牙首领  阅读(343)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示