在"模块池"中为特定字段设置默认值。

2020-08-17 21:53发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, hgv.png ...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

hgv.png

我创建了一个模块池程序。 当用户输入卡车编号并单击"获取数据"时,以下信息来自Ztable(附加的SS)。 我想为成本中心设置默认的不可编辑值,该值不会在ztable中维护,单击保存后应保存在ztable中。 如何确定成本中心值?

 MODULE USER_COMMAND_0100输入。
   案例SY-UCOMM。
     当"获取"。
       选择单* *从ZDAILY,其中TRUCK_NO = ZDAILY-TRUCK_NO。
 *
     当"保存"时。
       如果ZDAILY不是初始的。
         更新ZDAILY。


 *插入zhgvt。
         执行清除。
       万一。

     当" DIS"时。
       呼叫交易" ZDAILY_HGV"。
     当"返回"或"退出"或"取消"时。
       离开屏幕0。
     当" HGV"时。
       呼叫交易'ZDAILY_HGV1'。
       清除HGV。
     当" LV"。
       呼叫交易" ZDAILY_LV"。
       清除LV。
   结束。
 *清除:sy-ucomm。
 ENDMODULE。
5条回答
落灬小鱼
2020-08-17 22:23

这是我所做更改的全部代码。

 PROGRAM ztrdetail。
 表格:zdaily,zvehicle1。

 数据:gv_truck_no类型zdaily-truck_no。  "必须将此变量分配给屏幕输入字段

 模组user_command_1000 INPUT。
   案例sy-ucomm。
     什么时候 ' '。
       执行read_zvehicle。
     当"保存"时。
       使用zdaily进行验证。
       执行更新。
       清除zdaily。
     当"新"。
       清除zdaily。
 *清除zvehicle1。
     当"显示"时。
       呼叫交易" ZDAILY_ALV"。
     当" TP"。
       呼叫交易" ZTOM"。
       保留交易" ZDMY"的权利。
     当"查看"时。
       呼叫交易" ZVIEW"。
       保留交易" ZDMY"的权利。
     当"返回"时。
       离开屏幕0。
     当"添加"时。
       呼叫交易" ZADATA"。
   结束。
 ENDMODULE。

 MODULE status_1000输出。
   执行read_zvehicle。

   将PF状态设置为"今天"。
   将标题栏设置为" DAILY"。

   使用" ZTRHGV"," ZDAILY-VEHICLE_CATEGORY"执行set_vrm_values。
   使用'ZTRSTATUS''ZDAILY-STATUS'执行set_vrm_values。
   使用'ZTRHIRE''ZDAILY-ON_OFF_HIRE'来执行set_vrm_values。
 ENDMODULE。  " STATUS_0100输出

 FORM read_zvehicle。
   清除zvehicle1。
   如果gv_truck_no不是INITIAL。  "该字段必须与屏幕输入字段相同
     选择单个*从zvehicle1到zvehicle1所在的truck_no = gv_truck_no。
   万一。

   zdaily-vehicle_category = zvehicle1-vehicle_cat。
   zdaily-type = zvehicle1-vehicle_type。

   如果zdaily-vehicle_category是INITIAL。
     zdaily-vehicle_category = lc_veh_cat。
   万一。
   如果zdaily型是INITIAL。
     zdaily-type = lc_veh_type。
   万一。
 ENDFORM。

 表格set_vrm_values
   使用方式
     iv_name LIKE setleaf-setname
     iv_id类型vrm_id。

   数据:lt_srcdest_dd vrm_value的类型表。
   数据:lt_srcdest_setleaf setleaf-valfrom的类型表,
          ls_srcdest_dd与lt_srcdest_dd类似。

   FIELD-SYMBOLS:与lt_srcdest_setleaf类似。

   从setleaf选择val到表lt_srcdest_setleaf
                  setname = iv_name。
   如果sy-subrc EQ 0。
     附加ls_srcdest_dd至lt_srcdest_dd。
     循环至lt_srcdest_setleaf分配。
       ls_srcdest_dd-key = 。
       附加ls_srcdest_dd至lt_srcdest_dd。
       清除ls_srcdest_dd。
     结局。
   万一。

   通话功能" VRM_SET_VALUES"
     出口
       id = iv_id
       值= lt_srcdest_dd
     例外情况
       id_illegal_name = 1
       其他= 2。
 ENDFORM。

 使用is_zdaily TYPE zdaily进行表单验证。
   如果is_zdaily-tripdat> sy-datum。
     "计划日期不能是过去的日期
     邮件e002(zdailymessages)。
   万一。

   如果is_zdaily-tripdat  

亲切的问候,
Mateusz

一周热门 更多>