SAP-QM-UD取消程序


REPORT  ZQMRTEST.
***********************************************************************
* Tables Definitions
************************************************************************
*TABLES:.
************************************************************************
* Data Definitions
************************************************************************
CONSTANTS: g_flag TYPE c VALUE 'X'.

DATA: gs_qals LIKE qals,
      gs_qave LIKE qave.
************************************************************************
* Includes Module
************************************************************************

************************************************************************
* Selection Screen
************************************************************************
PARAMETERS: p_qplos LIKE qals-prueflos OBLIGATORY.

************************************************************************
* Initialization
************************************************************************
INITIALIZATION.

************************************************************************
* At Selection Screen
************************************************************************
AT SELECTION-SCREEN.
  PERFORM check_data.
************************************************************************
* At Selection Screen Output
************************************************************************
AT SELECTION-SCREEN OUTPUT.

************************************************************************
* Report Format
************************************************************************
TOP-OF-PAGE.

END-OF-PAGE.
************************************************************************
* Main Process
************************************************************************
START-OF-SELECTION.

  PERFORM ud_to_rel.

END-OF-SELECTION.

*&---------------------------------------------------------------------*
*&      Form  CHECK_DATA
*&---------------------------------------------------------------------*
FORM check_data.

  "检查是否存在检验批
  CALL FUNCTION 'QPSE_LOT_READ'
    EXPORTING
      i_prueflos = p_qplos
    IMPORTING
      e_qals     = gs_qals
    EXCEPTIONS
      no_lot     = 1
      OTHERS     = 2.
  IF sy-subrc NE 0.
    MESSAGE e102(qa) WITH p_qplos.
  ENDIF.

  "检验批枷锁
  CALL FUNCTION 'ENQUEUE_EQQALS1'
    EXPORTING
      prueflos       = p_qplos
    EXCEPTIONS
      foreign_lock   = 1
      system_failure = 2
      OTHERS         = 3.

  IF sy-subrc NE 0.
    MESSAGE e007(qa) WITH '有人' p_qplos.
  ENDIF.

  "UD状态检查
  CALL FUNCTION 'QAST_STATUS_CHECK'
    EXPORTING
      i_objnr          = gs_qals-objnr
      i_status         = 'I0218'
    EXCEPTIONS
      status_not_activ = 1
      OTHERS           = 2.

  IF sy-subrc NE 0.
    MESSAGE e102(qv) WITH p_qplos.
  ENDIF.

  "检验批UD资料
  CALL FUNCTION 'QEVA_UD_READ'
    EXPORTING
      I_PRUEFLOS     = p_qplos
    IMPORTING
      E_QAVE         = gs_qave
    EXCEPTIONS
      qave_not_found = 1
      OTHERS         = 2.

ENDFORM.                "CHECK_DATA

*&---------------------------------------------------------------------*
*&      Form  UD_TO_REL
*&---------------------------------------------------------------------*
FORM ud_to_rel.
  "REL核发状态生效
  PERFORM status_change USING 'I0002' g_flag.
  "STIC检验完成状态失效
  PERFORM status_change USING 'I0216' space.
  "ICCO已完成所有检验状态失效
  PERFORM status_change USING 'I0217' space.
  "UD已做出检验结果判定状态失效
  PERFORM status_change USING 'I0218' space.

  "值更改
  CLEAR: gs_qals-stat14,gs_qals-stat35.
  CLEAR: gs_qave-vauswahlmg,
       gs_qave-vwerks,
       gs_qave-versionam,
       gs_qave-vcodegrp,
       gs_qave-vcode,
       gs_qave-vbewertung,
       gs_qave-versioncd,
       gs_qave-vfolgeakti,
       gs_qave-qkennzahl.

  CALL FUNCTION 'QEVA_UD_UPDATE' IN UPDATE TASK
    EXPORTING
      qals_new       = gs_qals
      qave_new       = gs_qave.

  IF sy-subrc = 0.
    COMMIT WORK.
    MESSAGE '检验批已取消UD判定' TYPE 'S'.
  ELSE.
    ROLLBACK WORK.
    MESSAGE '检验批未做任何修改' TYPE 'E'.
  ENDIF.

ENDFORM.                "UD_TO_REL

*&---------------------------------------------------------------------*
*&      Form  STATUS_CHANGE
*&---------------------------------------------------------------------*
FORM status_change USING in_status in_flag.
  DATA: lt_status LIKE TABLE OF jstat,
        ls_status LIKE LINE OF lt_status.

  IF gs_qals-objnr IS INITIAL.
    MESSAGE e013(qv).
  ENDIF.
  ls_status-stat = in_status.

  IF in_flag IS INITIAL.
    ls_status-inact = g_flag.
  ENDIF.
  APPEND ls_status TO lt_status.CLEAR ls_status.

  CALL FUNCTION 'STATUS_CHANGE_INTERN'
    EXPORTING
      objnr               = gs_qals-objnr
    TABLES
      status              = lt_status
    EXCEPTIONS
      object_not_found    = 1
      status_inconsistent = 2
      status_not_allowed  = 3
      OTHERS              = 4.


ENDFORM.                "STATUS_CHANGE
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
kettle-sap-plugin-core是一个针对Kettle(现在被称为Pentaho Data Integration)的插件核心库。Kettle是一种用于数据集成和转换的开源工具,拥有强大的ETL(Extract, Transform, Load)功能。而kettle-sap-plugin-core则是Kettle插件的核心库之一,专门用于与SAP系统进行集成。 SAP(Systems, Applications and Products in Data Processing)是一家全球领先的企业级软件公司,其产品广泛应用于各种业务领域,包括财务会计、供应链管理、人力资源管理等。kettle-sap-plugin-core提供了一系列用于连接和与SAP系统交互的功能组件,方便用户在Kettle中进行SAP数据的抽取、转换和加载。 这个插件核心库支持与SAP系统的各种模块进行集成,如SAP ERP(Enterprise Resource Planning)、SAP BW(Business Warehouse)、SAP HANA等。用户可以通过kettle-sap-plugin-core,使用Kettle的图形化界面来配置和管理与SAP系统之间的数据传输、转换和同步任务。 kettle-sap-plugin-core具有以下特点: 1. 支持SAP系统的多种连接方式,包括JCo(Java Connector)、BAPI(Business Application Programming Interface)等。 2. 提供了丰富的连接器,用于与SAP系统的不同模块进行交互,如SAP输入、SAP数据输出、SAP函数调用等。 3. 支持对SAP数据的抽取、转换和加载,提供了多种数据转换和处理操作,如数据映射、过滤、排序、聚合等。 4. 具有高度可扩展性,用户可以根据自己的需求进行插件的定制和扩展。 总之,kettle-sap-plugin-core是一个在Kettle中实现与SAP系统集成的重要插件核心库,方便用户进行ETL任务的开发和管理,实现SAP数据的快速、高效地处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SAP龙哥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值