CO11N工单报工增强

在AFRU表中找到增强结构CI_AFRU,双击创建,增强相应的字段。

增强完CI_AFRU结构后,AFRUD结构也有了增强的字段

 事务码:CMOD点击创建

 输入相应的增强点:CONFPP07

这个增强点有三个可增强屏幕,我们使用900屏幕创建一个子屏幕

选择要增强的字段

 双击

创建包含程序ZXCOFU24

注意EXIT_SAPLCORU_S_101中的参数ES_AFRUD,将屏幕中的字段值赋到相应的参数字段中,程序会自动将内容保存到表AFRU中,

写入代码

创建包含程序ZXCOFTOP

 写入代码

 配置机:SPRO配置屏幕

增强屏幕出现

CO11N屏幕增强的应用 - 百度文库

 如果要改变CO11N界面上的值还要用到另一个增强点

CONFPP04——》EXIT_SAPLCORF_104

 代码仅供参考

*&---------------------------------------------------------------------*
*& 包含               ZXCOFU14
*&---------------------------------------------------------------------*

CHECK sy-dynnr EQ '0300'.

CLEAR afrud_exp.

MOVE-CORRESPONDING afrud_imp TO afrud_exp.

IF afrud_exp-ile07 IS NOT INITIAL AND ( afrud_exp-ile07 NE afrud_exp-ile03 ).

  CALL FUNCTION 'CO_RU_UNIT_CONVERSION'
    EXPORTING
      meinh   = afrud_exp-ile07
      meins   = afrud_exp-ile03
      mgame   = afrud_exp-ism07
      krund   = 'X'
    IMPORTING
      o_mglme = afrud_exp-ism07
    EXCEPTIONS
      OTHERS  = 01.

  IF sy-subrc EQ 0.
    afrud_exp-ile07 = afrud_exp-ile03.
  ENDIF.

ENDIF.

IF afrud_exp-ile08 IS NOT INITIAL AND ( afrud_exp-ile08 NE afrud_exp-ile03 ).

  CALL FUNCTION 'CO_RU_UNIT_CONVERSION'
    EXPORTING
      meinh   = afrud_exp-ile08
      meins   = afrud_exp-ile03
      mgame   = afrud_exp-ism08
      krund   = 'X'
    IMPORTING
      o_mglme = afrud_exp-ism08
    EXCEPTIONS
      OTHERS  = 01.

  IF sy-subrc EQ 0.
    afrud_exp-ile08 = afrud_exp-ile03.
  ENDIF.

ENDIF.

IF afrud_exp-ile09 IS NOT INITIAL AND ( afrud_exp-ile09 NE afrud_exp-ile03 ).

  CALL FUNCTION 'CO_RU_UNIT_CONVERSION'
    EXPORTING
      meinh   = afrud_exp-ile09
      meins   = afrud_exp-ile03
      mgame   = afrud_exp-ism09
      krund   = 'X'
    IMPORTING
      o_mglme = afrud_exp-ism09
    EXCEPTIONS
      OTHERS  = 01.

  IF sy-subrc EQ 0.
    afrud_exp-ile09 = afrud_exp-ile03.
  ENDIF.

ENDIF.

IF afrud_exp-ile10 IS NOT INITIAL AND ( afrud_exp-ile10 NE afrud_exp-ile03 ).

  CALL FUNCTION 'CO_RU_UNIT_CONVERSION'
    EXPORTING
      meinh   = afrud_exp-ile10
      meins   = afrud_exp-ile03
      mgame   = afrud_exp-ism10
      krund   = 'X'
    IMPORTING
      o_mglme = afrud_exp-ism10
    EXCEPTIONS
      OTHERS  = 01.

  IF sy-subrc EQ 0.
    afrud_exp-ile10 = afrud_exp-ile03.
  ENDIF.

ENDIF.

IF afrud_exp-ism07 IS NOT INITIAL.

  IF afrud_exp-ism08 IS INITIAL AND afrud_exp-ism09 IS INITIAL AND afrud_exp-ism10 IS INITIAL .

    afrud_exp-ism03 = afrud_exp-ism07.

  ELSE.

    afrud_exp-ism03 = afrud_exp-ism07.

    ADD afrud_exp-ism08 TO afrud_exp-ism03.

    ADD afrud_exp-ism09 TO afrud_exp-ism03.

    ADD afrud_exp-ism10 TO afrud_exp-ism03.

  ENDIF.

ELSEIF afrud_exp-ism07 IS INITIAL.

  IF afrud_exp-ism08 IS INITIAL AND afrud_exp-ism09 IS INITIAL AND afrud_exp-ism10 IS INITIAL .

    "afrud_exp-ism03 = afrud_exp-ism01.

  ELSE.

    ADD afrud_exp-ism08 TO afrud_exp-ism03.

    ADD afrud_exp-ism09 TO afrud_exp-ism03.

    ADD afrud_exp-ism10 TO afrud_exp-ism03.

  ENDIF.

ENDIF.

*SELECT SINGLE COUNT(*) FROM zppt_sprdorderh WHERE aufnr EQ @afrud_imp-aufnr AND vornr EQ @afrud_imp-vornr.
*
*IF sy-subrc EQ 0.
*
*  IF afrud_imp-numbe IS INITIAL AND sy-tcode NE 'CO13'.
*
*    MESSAGE '子订单不能为空'(002) TYPE 'S' DISPLAY LIKE 'E'.
*    RETURN.
*
*  ENDIF.
*
*ENDIF.

 

posted @ 2025-06-30 15:34  艾靑  阅读(124)  评论(0)    收藏  举报