SAP生产报工字段增强出口

增强表AFRU:

CMOD ZPP01实施USER EXIT: CONFPP07  实施屏幕900, 输出相关字段

PROCESS BEFORE OUTPUT.
  MODULE STATUS_0900.
*
PROCESS AFTER INPUT.
* MODULE USER_COMMAND_0900.

PROCESS ON VALUE-REQUEST.
  FIELD AFRUD-ZZEQU MODULE F4_ZZEQU_900.

ZXCOFTOP: 订单,工序

DATAZZ_AUFNR TYPE AUFNRZZ_VORNR TYPE VORNR.

DATAZZ_EQKTX LIKE EQKT-EQKTX.

MODULE STATUS_0900 OUTPUT.
*  SET PF-STATUS 'xxxxxxxx'.
*  SET TITLEBAR 'xxx'.
  SELECT SINGLE EQKTX
  
INTO ZZ_EQKTX
  
FROM EQKT
  
WHERE EQUNR AFRUD-ZZEQU
    
AND SPRAS '1'.
ENDMODULE.       

PVO: 根据报工的订单工序, F4输出对应的PRT

MODULE F4_ZZEQU_900 INPUT.
  DATABEGIN OF ITAB OCCURS 0,
        EQUNR LIKE EQKT-EQUNR,
        EQKTX LIKE EQKT-EQKTX,
        END OF ITAB.
  DATAOBJ TYPE BAPI_PP_ORDER_OBJECTS.
  DATAOPE LIKE TABLE OF BAPI_ORDER_OPERATION1 WITH HEADER LINE.
  DATAPRT LIKE TABLE OF BAPI_ORDER_PROD_REL_TOOLS WITH HEADER LINE.

  IF ZZ_AUFNR NE ''.

    OBJ-OPERATIONS 'X'.
    OBJ-PROD_REL_TOOLS 'X'.

    CALL FUNCTION 'BAPI_PRODORD_GET_DETAIL'
      EXPORTING
        NUMBER                 ZZ_AUFNR
*     COLLECTIVE_ORDER       =
        ORDER_OBJECTS          OBJ
*   IMPORTING
*     RETURN                 =
      TABLES
*     HEADER                 =
*     POSITION               =
*     SEQUENCE               =
        OPERATION              OPE
*     TRIGGER_POINT          =
*     COMPONENT              =
        PROD_REL_TOOL          PRT.

    LOOP AT OPE WHERE OPERATION_NUMBER ZZ_VORNR.
      LOOP AT PRT WHERE COUNTER OPE-COUNTER.
        ITAB-EQUNR PRT-EQUIPMENT.
        ITAB-EQKTX PRT-DESCRIPTION.
        COLLECT ITAB.
      ENDLOOP.
    ENDLOOP.

  ENDIF.

根据ITAB的内容出F4
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
*      DDIC_STRUCTURE         = ' '
      RETFIELD               'EQUNR' "起作用的字段
*     PVALKEY                = ' '
      DYNPPROG               SY-REPID "接下来连续的三个字段决定
      DYNPNR                 SY-DYNNR "了返回值放在哪个程序的哪个屏幕
      DYNPROFIELD            'AFRUD-ZZEQU'"的哪个字段中
*     STEPL                  = 0
*     WINDOW_TITLE           =
*      VALUE                  = ' '
      VALUE_ORG              'S'
*     MULTIPLE_CHOICE        = ' '
*     DISPLAY                = ' '
*     CALLBACK_PROGRAM       = ' '
*     CALLBACK_FORM          = ' '
*     MARK_TAB               =
*   IMPORTING
*     USER_RESET             =
    TABLES
      VALUE_TAB              ITAB
*     FIELD_TAB              =
*     RETURN_TAB             = "双击返回值
*     DYNPFLD_MAPPING        =
   EXCEPTIONS
     PARAMETER_ERROR        1
     NO_VALUES_FOUND        2
     OTHERS                 3.

  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDMODULE.

EXIT FUNCTION: EXIT_SAPLCORU_S_100  将数据传输到屏幕

AFRUD-ZZSCP IS_AFRUD-ZZSCP.
AFRUD-ZZBZU IS_AFRUD-ZZBZU.
AFRUD-ZZEQU IS_AFRUD-ZZEQU.
AFRUD-ZZRTJ IS_AFRUD-ZZRTJ.

ZZ_AUFNR IS_AFRUD-AUFNR.
ZZ_VORNR IS_AFRUD-VORNR.

EXIT FUNCTION: EXIT_SAPLCORU_S_101 将数据回写到程序

ES_AFRUD-ZZSCP AFRUD-ZZSCP.
ES_AFRUD-ZZBZU AFRUD-ZZBZU.
ES_AFRUD-ZZEQU AFRUD-ZZEQU.
ES_AFRUD-ZZRTJ AFRUD-ZZRTJ.

1. 在后台配置中(路径:生产>车间作业控制>工序>确认>单个屏幕输入项>定义单一屏幕输入项TCODEOPK0)发现可以定义自由细节定义屏幕。更改后保存。

  • 23
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小啊曼

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值