ABAP之程序相互调用--SUBMIT 实例

目录

【一】调用程序和被调用程序

【二】跳转到被调用程序选择屏幕

【三】跳转到被调用程序执行结果页面

【四】将被调用程序设置为后台作业模式运行


【一】调用程序和被调用程序

调用程序:ZLXF001

被调用程序:ZLXF003

 

【二】跳转到被调用程序选择屏幕

  SUBMIT zlxf003 VIA SELECTION-SCREEN
                   WITH p_date = p_date
                   WITH s_bukrs IN s_bukrs
                   WITH s_hkont IN s_hkont
                   WITH p_rd1 = p_rd1
                   WITH p_rd2 = p_rd2
                   WITH p_rd3 = p_rd3
                   AND RETURN.

【三】跳转到被调用程序执行结果页面

  SUBMIT lxf003 "VIA SELECTION-SCREEN
                   WITH p_date = p_date
                   WITH s_bukrs IN s_bukrs
                   WITH s_hkont IN s_hkont
                   WITH p_rd1 = p_rd1
                   WITH p_rd2 = p_rd2
                   WITH p_rd3 = p_rd3
                   AND RETURN.

【四】将被调用程序设置为后台作业模式运行

FORM frm_bajob_data .

  DATA: lv_jobname  TYPE tbtcjob-jobname,
        lv_jobcount TYPE tbtcjob-jobcount.

  CONCATENATE 'ZLXF003_' sy-datum sy-uzeit INTO lv_jobname.

**********************************************************************
*   启动后台作业
  CALL FUNCTION 'JOB_OPEN'
    EXPORTING
      jobname          = lv_jobname
      sdlstrtdt        = sy-datum
      sdlstrttm        = sy-uzeit
    IMPORTING
      jobcount         = lv_jobcount
    EXCEPTIONS
      cant_create_job  = 1
      invalid_job_data = 2
      jobname_missing  = 3
      OTHERS           = 4.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 DISPLAY LIKE 'E'.
    RETURN.
  ENDIF.

**********************************************************************
*  submit 程序
  SUBMIT zlxf003 AND RETURN
                   WITH p_date = p_date
                   WITH s_bukrs IN s_bukrs
                   WITH s_hkont IN s_hkont
                   WITH p_rd1 = p_rd1
                   WITH p_rd2 = p_rd2
                   WITH p_rd3 = p_rd3
                   USER sy-uname
                   VIA JOB lv_jobname
                   NUMBER lv_jobcount.

**********************************************************************
*   关闭后台
  "参数cant_start_immediate设置后天作业启动优先级,如果不设置的话,可能导致作业挂起,不能实时执行
  CALL FUNCTION 'JOB_CLOSE'
    EXPORTING
      jobcount             = lv_jobcount
      jobname              = lv_jobname
      laststrtdt           = sy-datum
      laststrttm           = sy-uzeit
      strtimmed            = 'X'
    EXCEPTIONS
      cant_start_immediate = 1
      invalid_startdate    = 2
      jobname_missing      = 3
      job_close_failed     = 4
      job_nosteps          = 5
      job_notex            = 6
      lock_failed          = 7
      invalid_target       = 8
      invalid_time_zone    = 9
      OTHERS               = 10.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 DISPLAY LIKE 'E'.
    RETURN.
  ENDIF.

ENDFORM.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ABAP是一种用于SAP系统开发的编程语言,其中pp模块是SAP系统中的生产计划模块,主要用于生产计划、生产过程控制和生产数据记录等。 ABAP开发在pp模块中的要点如下: 1. 熟悉pp模块的基础知识:了解pp模块的功能和流程,包括物料需求计划、生产订单、工作中心、生产版本等。这些知识对于正确理解和开发与pp模块相关的程序非常重要。 2. 掌握ABAP语言特性:ABAP作为SAP系统的开发语言,开发人员需要掌握其语法和特性,例如数据类型、变量声明、循环语句、条件语句等。这些知识将帮助开发人员编写高效且可靠的pp模块程序。 3. 理解生产计划数据结构:pp模块涉及的数据结构较为复杂,包括物料清单、工艺路线、生产订单等。开发人员需要了解这些数据结构的组成和关系,以便能够正确地读取和处理这些数据。 4. 开发报表和界面程序:PP模块通常需要输出各种类型的报表,如生产订单报表、工序报表等。开发人员需要根据用户需求设计和开发这些报表,并保证它们的准确性和易用性。 5. 数据验证和错误处理:在pp模块开发中,数据的准确性和可靠性非常重要。开发人员需要编写适当的代码来验证用户输入的数据,并能够处理各种可能的错误情况,以保证系统的稳定性和可靠性。 总之,ABAP开发在pp模块中需要掌握相关的知识和技术,包括pp模块的基础知识、ABAP语言特性、数据结构、报表和界面开发以及数据验证和错误处理等方面。只有掌握这些要点,才能够开发出高质量和高效率的pp模块程序

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

王小磊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值