*$*$----------------------------------------------------------------$*$*
*$ Correction Inst. 0120024545 0000018827 $*
*$--------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_APPL SAP Application $*
*$ Release 30A w/o Support Packages $*
*$ Release 30B w/o Support Packages $*
*$ Release 30C To SAPKH30C14 $*
*$ Release 30D All Support Package Levels $*
*$ Release 30F Fm SAPKH30F98 $*
*$ Release 300 w/o Support Packages $*
*$--------------------------------------------------------------------$*
*$ Changes/Objects Not Contained in Standard SAP System $*
*$*$----------------------------------------------------------------$*$*
*&--------------------------------------------------------------------*
*& Object REPS ZQEVAC40
*& Object Header PROG ZQEVAC40
*&--------------------------------------------------------------------*
*& This object has been generated from an advance correction *
*& attached to a R/3 note. *
*&--------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Title: Taking back usage decision for single lots *
*&---------------------------------------------------------------------*
REPORT ZQEVAC40.
*----------------------------------------------------------------------*
* Datendefinitionen
*----------------------------------------------------------------------*
* Tabellen
*----------------------------------------------------------------------*
TABLES SSCRFIELDS.
TABLES QALS.
TABLES QAVE.
*----------------------------------------------------------------------*
* Konstanten
CONSTANTS:
C_RC_0 LIKE SY-SUBRC VALUE 0,
C_RC_4 LIKE SY-SUBRC VALUE 4,
C_RC_20 LIKE SY-SUBRC VALUE 20,
*
C_KREUZ LIKE QM00-QKZ VALUE 'X'.
*
*----------------------------------------------------------------------*
* Eingabebildschirm
SELECTION-SCREEN SKIP 2.
PARAMETERS PRUEFLOS LIKE QALS-PRUEFLOS MATCHCODE OBJECT QALS
MEMORY ID QLS .
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK SEARCH WITH FRAME.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN PUSHBUTTON 3(20) TEXT-S01 USER-COMMAND SEAR.
SELECTION-SCREEN PUSHBUTTON 40(20) TEXT-S02 USER-COMMAND SHOW.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK SEARCH.
*----------------------------------------------------------------------*
AT SELECTION-SCREEN.
IF SSCRFIELDS-UCOMM EQ 'SEAR'
OR PRUEFLOS IS INITIAL.
CALL FUNCTION 'QELA_START_SELECTION_OF_LOTS'
EXPORTING
I_SELID = ' '
I_STAT_AENDERUNG = 'X'
I_STAT_ERO = 'X'
I_STAT_FREI = 'X'
I_STAT_VE = ' '
IMPORTING
E_PRUEFLOS = PRUEFLOS
EXCEPTIONS
NO_ENTRY = 1
NO_SELECTED = 2
OTHERS = 3.
ENDIF.
IF SSCRFIELDS-UCOMM EQ 'SHOW'.
CALL FUNCTION 'QSS1_LOT_SHOW'
EXPORTING
I_PRUEFLOS = PRUEFLOS.
ENDIF.
CHECK SSCRFIELDS-UCOMM EQ 'ONLI'.
* ab hier mu? Prüflosnummer gefüllt sein.
IF PRUEFLOS IS INITIAL.
MESSAGE E164(QA).
ENDIF.
* Lesen Los
CALL FUNCTION 'ENQUEUE_EQQALS1'
EXPORTING
PRUEFLOS = PRUEFLOS.
CALL FUNCTION 'QPSE_LOT_READ'
EXPORTING
I_PRUEFLOS = PRUEFLOS
IMPORTING
E_QALS = QALS
EXCEPTIONS
NO_LOT = 1.
IF NOT SY-SUBRC IS INITIAL.
MESSAGE E102(QA).
ENDIF.
*-----------------
* Prüfen Status
CALL FUNCTION 'QAST_STATUS_CHECK'
EXPORTING
I_OBJNR = QALS-OBJNR
I_STATUS = 'I0218' "Status VE getroffen
EXCEPTIONS
STATUS_NOT_ACTIV = 1.
IF NOT SY-SUBRC IS INITIAL.
MESSAGE E102(QV) WITH QALS-PRUEFLOS.
ENDIF.
*
CALL FUNCTION 'QEVA_UD_READ'
EXPORTING
I_PRUEFLOS = QALS-PRUEFLOS
IMPORTING
E_QAVE = QAVE.
*---------------------------------------------------------------------*
START-OF-SELECTION.
* Vorgaben sind ok. 1. Material Umlagern und Los ?ndern
PERFORM QALS_AENDERN.
************************************************************************
*----------------------------------------------------------------------*
* FORM QALS_aendern
*----------------------------------------------------------------------*
FORM QALS_AENDERN.
*
PERFORM STATUS_FIX_SETZEN USING 'I0002' C_KREUZ.
PERFORM STATUS_FIX_SETZEN USING 'I0216' SPACE.
PERFORM STATUS_FIX_SETZEN USING 'I0217' SPACE.
PERFORM STATUS_FIX_SETZEN USING 'I0218' SPACE.
CLEAR: QALS-STAT14.
CLEAR: QALS-STAT35.
CLEAR: QAVE-VAUSWAHLMG,
QAVE-VWERKS,
QAVE-VERSIONAM,
QAVE-VCODEGRP,
QAVE-VCODE,
QAVE-VBEWERTUNG,
QAVE-VERSIONCD,
QAVE-VFOLGEAKTI,
QAVE-QKENNZAHL.
*--... verbuchen
CALL FUNCTION 'QEVA_UD_UPDATE' IN UPDATE TASK
EXPORTING
QALS_NEW = QALS
QAVE_NEW = QAVE.
COMMIT WORK.
MESSAGE S101(QA) WITH QALS-PRUEFLOS.
ENDFORM.
*----------------------------------------------------------------------*
* Form STATUS_FIX_SETZEN
*----------------------------------------------------------------------*
* Setzen eines Status aufgrund von Voreinstellungen wie QMAT etc. *
*----------------------------------------------------------------------*
* --> STATUS Status der gesetzt werden soll
* --> AKTIV Status wird aktiviert sonst deaktiviert
*----------------------------------------------------------------------*
FORM STATUS_FIX_SETZEN USING
VALUE(STATUS) LIKE TJ02-ISTAT
VALUE(AKTIV) LIKE C_KREUZ.
* lokale Tabelle fuer Statusfortschreibung
DATA: BEGIN OF L_STATTAB OCCURS 0.
INCLUDE STRUCTURE JSTAT.
DATA END OF L_STATTAB.
*
* Falls Objektnr. nicht gefüllt. --> Fehlermeldung !!!
IF QALS-OBJNR EQ SPACE.
MESSAGE E013(QV).
* Fehlende Objektnr.: Problem fü
ENDIF.
MOVE STATUS TO L_STATTAB-STAT.
IF AKTIV EQ SPACE.
MOVE C_KREUZ TO L_STATTAB-INACT.
ENDIF.
*
APPEND L_STATTAB.
*
CALL FUNCTION 'STATUS_CHANGE_INTERN'
EXPORTING
CHECK_ONLY = SPACE
OBJNR = QALS-OBJNR
TABLES
STATUS = L_STATTAB.
ENDFORM. " STATUS_FIX_SETZEN
SAP-QM-UD决策取消
最新推荐文章于 2024-06-28 00:43:03 发布
本文档描述了一个与SAPR/3系统相关的程序,用于处理单个批次的决策回滚和状态更新。它涉及选择屏幕操作、对象修改、状态检查和数据维护函数的调用,以实现特定业务流程的管理。
摘要由CSDN通过智能技术生成