SAP 直接修改程序不产生请求的代码

这个代码很危险,一定不要轻易使用。出现问题,后果自负。

代码如下:

types: abapline(255) type c. 
data: it_repsrc type standard table of abapline. 
DATA: ZBACK type standard table of abapline. 
DATA: wa_repsrc TYPE  abapline. 
data : fcode like sy-ucomm. 
DATA:changed like s38e-buf_varied. 

DATA:IT_MESSAGE TYPE TABLE OF ZTEXT_EDITOR_MESSAGE WITH HEADER LINE. 
DATA: BEGIN OF INCTABL OCCURS 10, 
   LINE(100), 
END OF INCTABL. 

PARAMETERS:Zname LIKE RS38M-PROGRAMM. 

start-of-selection. 
set pf-status 'PFSTA00'. 
write: /1 '你编辑好的程序:' color 2. 
read report Zname into it_repsrc. 
read report Zname into ZBACK. 

  LOOP AT it_repsrc INTO wa_repsrc. 
    WRITE :/ wa_repsrc. 
  ENDLOOP. 



at user-command. 


if sy-ucomm = 'ZWRITE'.     "写入 
  CLEAR :INCTABL[]. 
  LOOP AT it_repsrc INTO wa_repsrc. 
    INCTABL-LINE = wa_repsrc. 
    APPEND INCTABL. 
  ENDLOOP. 
  INSERT REPORT ZNAME FROM INCTABL. 
  if sy-subrc = 0. 
    MESSAGE '写入成功,将测试运行新的程序.如果有错误,请点"还原"恢复.'  TYPE 'I'. 
  ENDIF. 
  SUBMIT Zname  AND RETURN. 
  read report Zname into it_repsrc. 
  LOOP AT it_repsrc INTO wa_repsrc. 
    WRITE :/ wa_repsrc. 
  ENDLOOP. 
elseif sy-ucomm = 'EXEC'.   "还原 
  it_repsrc[] = ZBACK[]. 
  INSERT REPORT Zname FROM ZBACK. 
  LOOP AT ZBACK INTO wa_repsrc. 
    WRITE :/ wa_repsrc. 
  ENDLOOP. 
  SUBMIT Zname  AND RETURN. 
  MESSAGE '还原成功' TYPE 'I'. 
ELSEIF SY-ucomm = 'EDIT'.   "编辑 
  perform. editor_CHX. 
  LOOP AT it_repsrc INTO wa_repsrc. 
    WRITE :/ wa_repsrc. 
  ENDLOOP. 
elseif sy-ucomm = 'ZBACK' OR sy-ucomm = 'BACK'.    "退出 
     CLEAR: inctabl[],it_repsrc[],ZBACK[],Zname. 
     FREE :inctabl[],it_repsrc[],ZBACK[],Zname. 
     leave to screen 0. 
ELSE. 
endif. 

*&---------------------------------------------------------------------* 
*&      Form  editor_CHX 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*  -->  p1        text 
*  <--  p2        text 
*----------------------------------------------------------------------* 
FORM. editor_CHX . 
  call function 'EDITOR_APPLICATION' 
       exporting 
            application = 'BF' 
            display     = ' ' 
            name        = '[编辑你的程序:]' 
       importing 
            fcode       = fcode 
            changed     = changed 
       tables 
            content     = it_repsrc. 
ENDFORM.                    " editor_CHX

用上面这个程序,可以修改SAP的任何程序.不需要申请KEY,也不会产生序列号.建议有丰富ABAP编写经验的人才可以使用,如果你一定要使用,请记住"写入程序"后的提示.在测试正确前,不要退出本程序,这样,你还有机会还原!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SAP MRP是制造资源计划系统中的一种材料需求计划工具,它通过分析物料需求、库存情况和生产计划等信息,自动生成合理的采购建议。然而,有时候SAP MRP可能不会生成采购申请的原因可能有以下几种: 1.库存数量充足:如果库存数量已经足够满足当前和未来的需求,那么SAP MRP不会建议生成新的采购申请。这种情况下,MRP会根据物料需求计划表中设置的库存安全库存水平来判断是否需要采购。 2.已有待处理的采购订单:如果已经存在待处理的采购订单,SAP MRP会考虑这些订单的到货日期和数量,以及当前库存情况来进行计划。如果这些采购订单已经足够满足物料需求,那么就不会生成新的采购建议。 3.计划参数设置不当:MRP的计划参数设置对于采购申请的生成也有影响。如果计划参数中的某些设定不准确或不合理,可能导致MRP无法正确地生成采购建议。 针对以上情况,可以通过以下方法来解决没有采购申请生成的问题: 1.检查库存水平和安全库存设置:确认库存水平是否充足,是否需要调整安全库存水平。 2.审查已有的采购订单:检查已有的采购订单的到货日期和数量,以及是否满足物料需求。 3.检查计划参数设置:检查MRP的计划参数设置,确保其准确合理。 总之,虽然SAP MRP通常会根据物料需求计划自动产生采购申请,但有时由于各种因素,可能导致没有采购申请生成。在这种情况下,需要仔细审查库存情况、已有的采购订单和计划参数设置,以解决问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值