二维码

CO01创建生产订单长文本成功,但是界面不显示内容

Twilight发表于 2018-06-28 14:04Twilight 最后回复于 2018-06-28 14:04 [复制链接] 5222 0

我们经常习惯了用CREATE_TEXT或SAVE_TEXT 函数创建长文本,一般场景都是OK的,但是创建某些订单的长文本就可能有BUG,比如创建生产订单的长文本,实际是创建成功,但是CO03前台界面不显示。

查阅了很多资料,最终发现是由于生产订单主数据表AUFK-LTEXT缺少值导致的,像这样的场景还有很多,详见NOTE:1982719

SAP推荐创建长文本首选在创建订单的BAPI里直接创建,如果没有对应的BAPI再选择CREATE_TEXT或SAVE_TEXT 函数,如PM订单就有对应的BAPI:BAPI_ALM_ORDER_MAINTAIN ,IT_TEXT对应的长文本。

暴力方式:直接更新标准表字段值
  1. DATA:lv_name  TYPE thead-tdname.

  2. lv_name = sy-mandt && ls_aufk-aufnr.
  3. PERFORM frm_create_text USING 'KOPF' lv_name 'AUFK'
  4.                       CHANGING git_head_print-text_l.

  5. FORM frm_create_text USING pi_id TYPE thead-tdid
  6.                            pi_name TYPE thead-tdname
  7.                            pi_object TYPE thead-tdobject
  8.                      CHANGING pc_text TYPE zdetext_l.

  9.   DATA:lt_line  TYPE TABLE OF tline.
  10.   DATA:ls_line  TYPE tline .
  11.   DATA:lv_aufnr TYPE aufk-aufnr.

  12.   WHILE pc_text <> '' .
  13.     CLEAR ls_line .
  14.     ls_line-tdformat = '*'.
  15.     ls_line-tdline = pc_text+0(132).
  16.     APPEND ls_line TO lt_line .
  17.     pc_text  = pc_text+132(255) .
  18.   ENDWHILE .

  19.   CALL FUNCTION 'CREATE_TEXT' "表抬头
  20.     EXPORTING
  21.       fid         = pi_id
  22.       flanguage   = sy-langu
  23.       fname       = pi_name
  24.       fobject     = pi_object
  25.       save_direct = 'X'
  26.     TABLES
  27.       flines      = lt_line
  28.     EXCEPTIONS
  29.       no_init     = 1
  30.       no_save     = 2
  31.       OTHERS      = 3.
  32.   IF sy-subrc = 0.
  33.     lv_aufnr = pi_name+3(12).
  34.     UPDATE aufk SET ltext = sy-langu WHERE aufnr EQ lv_aufnr. "CO03 显示长文本
  35.   ENDIF.

  36. ENDFORM.
复制代码

注意LTEXT的值不是X
或者使用函数:SAVE_TEXT,将SAVEMODE_DIRECT = ‘X’ 效果一样

除此之外,需要更新的标识汇总如下:
  • Orders : field AUFK-LTEXT
  • Operations : field AFVC-TXTSP
  • Confirmations : field AFRU-TXTSP
  • Notifications : field QMEL-INDTX
  • Notifications tasks : field QMFE-INDTX
  • Maintenance plan: MPLA-LTKNZ
  • Maintenance item : MPOS-LTKNZ
  • Equipment : EQKT-KZLTX
  • Functional locations : IFLO-KZLTX
  • Task list : PLKO-TXTSP
  • Operation task lists : PLPO-TXTSP
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表