Usage Decision : Mov 102

Hello.
When i do an usage decision in inspection lot,  can i do movement 102 to return goods. ?
I have a problem: when i receive goods from vendor, and i do migo to enter goods.. In QM will generate inspection lot.
But after, the employes review goods, and sometimes some handle units are wrong, and we have to reject this HU.
Is it possible to do mov. 102 in usage decision?
How can i do this, without affect statistics in QM.
Regards.
Antonio

Hi,
You can do 102 i.e. GR cancellation till the Inspection lots has not been processed by QM inspector.
If this has been done and stock has been posted to unrestricted stock. You can not take it back to Quality Stock as standard SAP.
You need to apply a OSS note for the same. There are many such posting for this scenario.
To cancel the Inspection lot and GR posting after results recording
Also if you want to go standard way, Just visit SAP help
http://help.sap.com/saphelp_47x200/helpdata/en/af/b9b3341a933f50e10000009b38f83b/frameset.htm
Inspection Lot Completion ---> Stock Postings -
> Stock posting reversals.
Nitin

Similar Messages

  • BAPI to post stock movement in QM's Usage Decision

    I'm looking for a bapi or standard program to register stock movements in QM as a result of a usage decision.
    We've tried using BAPI_GOODSMVT_CREATE with no success as it returns error QA 495 "Change the inspection stock of material in QM only"
    Thanks
    André

    Hello!
    You do not need to create TO manually. Set up RLAUTA11 report as a job.
    To run RLAUTA11 you have to maitain:
    creation indicator:
    Logistic Execution->Warehouse Managment->Activities->Transfers->Set Up Autom. TO Creation for TRs / Posting Change Notices->Automatic TO creation/control data: for warehouse level: any character
    Logistic Execution->Warehouse Managment->Activities->Transfers->Set Up Autom. TO Creation for TRs / Posting Change Notices->Movements assign: set up your indicator in field "Automatic TO" Background processing (MvT type and warehouse, probably your e.g. MvT is 321 - realese from Quality Inspection stock)
    Next You must create variant for job with your warehouse and creation indicator.
    Best Regards,
    Marcin

  • PP - QM: Reversal of the usage decision

    Hi Gurus,
    We have completed Result Recording using QE51N transaction and Usage decision using QA11. It has posted a stock from QI to Unrestricted use. Now I want to take it back from Unrestricted use to QI. This needs reversal of usage decision (What I think).
    Can you suggest me the proper way of performing the said transaction?
    I will really appreciate your concern.
    Thanks
    Shiv

    R/3 note no.   175842                        14.12.2001           Page 1
         Number              0175842
         Version             0021 from 29.11.2001
         Status              Released for customer
         Set by              SAP AG on 03.12.2001
         Language            EN
         Short text          Inspection lot: Reversal of goods movements from UD
         Administrator       SAP AG
         Component           QM-IM-UD Inspection Lot Completion
         Long text
         Symptom
         Goods movements, which were created from the transactions of the usage
         decision, can no longer be reversed.
         Additional key words
         QA11, QA12, QA14, MBST, MF41
         Inspection lot, usage decision, goods movements, reversal, material
         document
         Cause and preconditions
         Presently, the function is not provided in the standard system.
         Solution
         The function is not provided in the standard system up to and including
         Release 4.6C.
         When you do this bear the following in mind:
         1. Using the attached program corrections, stock transfer postings can
            be reset for the usage decision.If it is possible to post this
            document in the stock management, the inspection lot is also
            corrected and the Quality Management Information System is if
            necessary updated.After the reset has been successfully carried out,
            the inspection lot, related to the stocks, has the status before the
            first stock credit entry.The usage decision is not reset.If, after
            the usage decision, further transfer postings are carried out in the
            stock management which lead to the usage decision transfer postings
            not being able to be reset due to missing availability, these
            postings must be reversed first.
         2. The goods movement is carried out in each case with the reversal
            movement type (document neutral reversal).The original documents are
            not reversed related to the document.This may lead to deviations in
            the accounting caused by valuation.
         3. Resetting postings for materials requiring serial numbers is not
            supported.
         4. With this correction program, you cannot reverse goods movements for
            inpection lots for handling units (HU).
         5. Batch status changes which have possibly been carried out are not
            cancelled.
         6. Batches which have been created in the usage decision during a
            transfer posting are not deleted.The classification of these batches
            is not changed either.
                                                                           Page 2
         7. Within the adjustment posting, in Release 4.x, the reference records
            are also adjusted between the material document and inspection
            lot.This can possibly lead to an incorrect description of the
            reference type when displaying material documents for the inspection
            lot.In Release 3.x, the reference records are deleted in order to
            make sure that individual documents cannot be cancelled several
            times.
         8. The program does not contain any own authorization checks and should
            be used with utmost care and ONLY after a successful test. The
            program should ONLY be applied in exceptions and should not be part
            of the standard procedure.
         9. The logic implemented in the program for the generation of material
            documents or for the update of inspection lot quantities and
            inspection lot status should under no circumstances be be changed as
            this might lead to inconsistent data. Since this is a program that is
            not contained in the standard system, problems that are created as a
            result of the program application can be dealt with as problems that
            have arisen as a result of a customer modification.
         To implement the program, proceed as follows:
         1. Create an executable program and copy the attached source code.Then
            maintain the text for selection parameter PRUEFLOS by transferring
            the Dictionary text.
         2. If you a use a Release < 4.6, you must create the function group
            ZQMB. In this function group, you must create function module
            'ZQMB_QAMB_CANCEL'. Flag the function module as an update function
            module (Start immediately) and include table interface parameter
            'I_QAMB_TAB' (type specification LIKE, reference structure QAMB).
            Afterwards you must include exception 'ERROR_DURING_UPDATE' and
            implement the attached source code.
         3. Use Transaction OMJJ to enter further entries in level 'Allowed
            transactions' (table T158B) for transaction code 'QA11' (Record Usage
            Decision).The movement types for which these entries must be created
            are derived from the system settings for the goods movements for the
            usage decision (table TQ07M):The reversal movement type must be
            determined for every movement type that is entered in table TQ07M
            with the key VMENGE01 - VMENGE09 and the corresponding entry must be
            included in the above-mentioned table.You can use table T156N for
            determining the reversal movement type:You can determine the reversal
            movement type by entering the movement type (BWART) and function code
            (FCODE) ST (BWART_NEXT).For missing entries, the system generates
            error M7096 'Goods movement not possible with mvmt type &'.
         Source code corrections
                                                                           Page 3
         Valid releases
         R/3 Standard        46C - 46D
                             46A - 46B
                             45A - 45B
                             40A - 40B
                             30F - 31I
         Other components
         QM-IM               Quality Inspection
         Reference to related notes
         Number    Short text
         0033924   Cancelling usage decisions
         0048815   Checking possible inconsistencies between MM and QM
                                                                           Page 4
         Assigned correction instructions
    $$----
    $$
    $ Correction Instr.        : 0120024545 0000111772                   $
    $ Software Component       : SAP_APPL   SAP Application              $
    *$----
    $*
    $ Validity    : 40A          SAPKH40A01 - SAPKH40A25                 $
    $             : 40B          All Patches                             $
    $             : 45A          All Patches                             $
    $             : 45B          All Patches                             $
    *$----
    $*
    $ Changes/Objects Not Contained in Standard SAP System               $
    $$----
    $$
         *& Object          FUNC ZQMB_QAMB_CANCEL
         *& Object Header   FUGR ZQMB
         *& FUNCTION ZQMB_QAMB_CANCEL
         *>>>> START OF INSERTION <<<<
           UPDATE QAMB FROM TABLE I_QAMB_TAB.
           IF NOT SY-SUBRC IS INITIAL.
             RAISE ERROR_DURING_UPDATE.
           ENDIF.
         *>>>> END OF INSERTION <<<<<<
         *& Object          REPS RQEVAC50
         *& Object Header   PROG RQEVAC50
         *& REPORT RQEVAC50
         *>>>> START OF INSERTION <<<<
         REPORT RQEVAC50 MESSAGE-ID QA.
         TYPES:
           T_QAMB_TAB  LIKE QAMB  OCCURS 0,
           T_MKPF_TAB  LIKE MKPF  OCCURS 0,
           T_MSEG_TAB  LIKE MSEG  OCCURS 0.
         PARAMETERS:
           PRUEFLOS LIKE QALS-PRUEFLOS OBLIGATORY MEMORY ID QLS.
         DATA:
           G_MSGV1       LIKE SY-MSGV1,
           G_QALS        LIKE QALS,
           G_QALS_LEISTE LIKE QALS,
           G_QAMB_TAB    TYPE T_QAMB_TAB,
           G_QAMB_VB_TAB TYPE T_QAMB_TAB,
           G_MKPF_TAB    TYPE T_MKPF_TAB,
           G_MSEG_TAB    TYPE T_MSEG_TAB,
           G_SUBRC       LIKE SY-SUBRC.
         START-OF-SELECTION.
                                                                           Page 5
           PERFORM ENQUEUE_QALS USING PRUEFLOS
                                      G_SUBRC.
           IF NOT G_SUBRC IS INITIAL.
             MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO
                     WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
             SUBMIT (SY-REPID) VIA SELECTION-SCREEN.
           ENDIF.
           PERFORM READ_QALS USING PRUEFLOS
                                   G_QALS
                                   G_QALS_LEISTE
                                   G_SUBRC.
           IF NOT G_SUBRC IS INITIAL.
             MESSAGE ID 'QA' TYPE 'S' NUMBER '102'
                     WITH PRUEFLOS.
             SUBMIT (SY-REPID) VIA SELECTION-SCREEN.
           ENDIF.
           PERFORM CHECK_LOT USING G_QALS
                                   G_SUBRC.
           IF NOT G_SUBRC IS INITIAL.
             CASE G_SUBRC.
               WHEN 128.
                 G_MSGV1 = 'Material & is serialized'.
                 REPLACE '&' WITH G_QALS-MATNR INTO G_MSGV1.
               WHEN  64.
                 G_MSGV1 = 'Lot & is not stock relevant'.
               WHEN  32.
                 G_MSGV1 = 'Lot &: No stock transferred'.
               WHEN  16.
                 G_MSGV1 = 'Lot & is cancelled'.
               WHEN   8.
                 G_MSGV1 = 'Lot & is archived'.
               WHEN   4.
                 G_MSGV1 = 'Lot & is blocked'.
               WHEN   2.
                 G_MSGV1 = 'Lot & is HU managed'.
             ENDCASE.
             REPLACE '&' WITH PRUEFLOS INTO G_MSGV1.
             MESSAGE ID '00' TYPE 'S' NUMBER '208'
                     WITH G_MSGV1.
             SUBMIT (SY-REPID) VIA SELECTION-SCREEN.
           ENDIF.
           PERFORM READ_QAMB USING G_QALS
                                   G_QAMB_TAB
                                   G_SUBRC.
           IF NOT G_SUBRC IS INITIAL.
             MESSAGE ID 'QA' TYPE 'S' NUMBER '068'
                     WITH PRUEFLOS.
             SUBMIT (SY-REPID) VIA SELECTION-SCREEN.
           ENDIF.
           PERFORM READ_MKPF USING G_QAMB_TAB
                                   G_MKPF_TAB
                                   G_SUBRC.
           IF NOT G_SUBRC IS INITIAL.
                                                                           Page 6
             MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO
                     WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
             SUBMIT (SY-REPID) VIA SELECTION-SCREEN.
           ENDIF.
           PERFORM CHECK_MKPF USING G_MKPF_TAB
                                    G_SUBRC.
           IF NOT G_SUBRC IS INITIAL.
             MESSAGE ID 'QA' TYPE 'S' NUMBER '068'
                     WITH PRUEFLOS.
             SUBMIT (SY-REPID) VIA SELECTION-SCREEN.
           ENDIF.
           PERFORM READ_MSEG USING G_MKPF_TAB
                                   G_MSEG_TAB
                                   G_SUBRC.
           IF NOT G_SUBRC IS INITIAL.
             MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO
                     WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
             SUBMIT (SY-REPID) VIA SELECTION-SCREEN.
           ENDIF.
           PERFORM CHECK_MSEG USING G_MSEG_TAB
                                    G_QAMB_TAB
                                    G_SUBRC.
           IF NOT G_SUBRC IS INITIAL.
             MESSAGE ID 'QA' TYPE 'S' NUMBER '068'
                     WITH PRUEFLOS.
             SUBMIT (SY-REPID) VIA SELECTION-SCREEN.
           ENDIF.
           PERFORM CREATE_GOODS_MOVEMENT USING G_QALS
                                               G_MSEG_TAB
                                               G_SUBRC.
           IF NOT G_SUBRC IS INITIAL.
             MESSAGE ID 'QA' TYPE 'S' NUMBER '068'
                     WITH PRUEFLOS.
             SUBMIT (SY-REPID) VIA SELECTION-SCREEN.
           ENDIF.
           PERFORM POST_GOODS_MOVEMENT.
           PERFORM POST_DATA USING G_QALS
                                   G_QALS_LEISTE
                                   G_QAMB_TAB
                                   G_QAMB_VB_TAB
                                   G_SUBRC.
           IF NOT G_SUBRC IS INITIAL.
             MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO
                     WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
             SUBMIT (SY-REPID) VIA SELECTION-SCREEN.
           ELSE.
             COMMIT WORK AND WAIT.
             G_MSGV1 = 'inspection lot &'.
             REPLACE '&' WITH PRUEFLOS INTO G_MSGV1.
             MESSAGE ID '00' TYPE 'S' NUMBER '368'
                                                                           Page 7
                     WITH 'Stock posting reversed for ' G_MSGV1.
             SUBMIT (SY-REPID) VIA SELECTION-SCREEN.
           ENDIF.
          Form  ENQUEUE_QALS                                             *
          Los sperren                                                    *
         FORM ENQUEUE_QALS USING P_PRUEFLOS LIKE QALS-PRUEFLOS
                                 P_SUBRC    LIKE SY-SUBRC.
           CLEAR: P_SUBRC.
           CALL FUNCTION 'ENQUEUE_EQQALS1'
                EXPORTING
                     PRUEFLOS       = P_PRUEFLOS
                EXCEPTIONS
                     FOREIGN_LOCK   = 1
                     SYSTEM_FAILURE = 2
                     OTHERS         = 3.
           P_SUBRC = SY-SUBRC.
         ENDFORM.                               " ENQUEUE_QALS
          Form  READ_QALS                                                *
          Prüflos lesen                                                  *
         FORM READ_QALS USING P_PRUEFLOS    LIKE QALS-PRUEFLOS
                              P_QALS        LIKE QALS
                              P_QALS_LEISTE LIKE QALS
                              P_SUBRC       LIKE SY-SUBRC.
           CLEAR: P_SUBRC.
           CALL FUNCTION 'QPSE_LOT_READ'
                EXPORTING
                     I_PRUEFLOS  = P_PRUEFLOS
                     I_RESET_LOT = 'X'
                IMPORTING
                     E_QALS      = P_QALS
                EXCEPTIONS
                     NO_LOT      = 1.
           P_SUBRC = SY-SUBRC.
           IF P_SUBRC IS INITIAL.
             P_QALS_LEISTE = P_QALS.
           ELSE.
             CLEAR: P_QALS,
                    P_QALS_LEISTE.
           ENDIF.
         ENDFORM.                               " READ_QALS
          Form  CHECK_LOT                                                *
                                                                           Page 8
          Prüflos prüfen                                                 *
         FORM CHECK_LOT USING P_QALS  LIKE QALS
                              P_SUBRC LIKE SY-SUBRC.
           DATA:
             L_STAT      LIKE JSTAT,
             L_STAT_TAB  LIKE JSTAT OCCURS 0 WITH HEADER LINE.
           P_SUBRC = 128.
         */Serialized Material
           IF NOT P_QALS-SERNP IS INITIAL.
             EXIT.
           ELSE.
             P_SUBRC = 64.
           ENDIF.
         */BERF
           CALL FUNCTION 'STATUS_CHECK'
                EXPORTING
                     OBJNR             = P_QALS-OBJNR
                     STATUS            = 'I0203'
                EXCEPTIONS
                     STATUS_NOT_ACTIVE = 2.
           IF NOT SY-SUBRC IS INITIAL.
             EXIT.
           ELSE.
             P_SUBRC = 32.
           ENDIF.
         */BTEI & BEND
           CLEAR L_STAT. CLEAR L_STAT_TAB. REFRESH L_STAT_TAB.
           L_STAT-STAT = 'I0219'. APPEND L_STAT TO L_STAT_TAB. "BTEI
           L_STAT-STAT = 'I0220'. APPEND L_STAT TO L_STAT_TAB. "BEND
           CALL FUNCTION 'STATUS_OBJECT_CHECK_MULTI'
                EXPORTING
                     OBJNR        = P_QALS-OBJNR
                TABLES
                     STATUS_CHECK = L_STAT_TAB.
           IF L_STAT_TAB[] IS INITIAL.
             EXIT.
           ELSE.
             P_SUBRC = 16.
           ENDIF.
         */LSTO & LSTV
           CLEAR L_STAT. CLEAR L_STAT_TAB. REFRESH L_STAT_TAB.
           L_STAT-STAT = 'I0224'. APPEND L_STAT TO L_STAT_TAB. "LSTO
           L_STAT-STAT = 'I0232'. APPEND L_STAT TO L_STAT_TAB. "LSTV
           CALL FUNCTION 'STATUS_OBJECT_CHECK_MULTI'
                EXPORTING
                                                                           Page 9
                     OBJNR        = P_QALS-OBJNR
                TABLES
                     STATUS_CHECK = L_STAT_TAB.
           IF NOT L_STAT_TAB[] IS INITIAL.
             EXIT.
           ELSE.
             P_SUBRC = 8.
           ENDIF.
         */ARSP & ARCH & REO1 & REO2 & REO3
           CLEAR L_STAT. CLEAR L_STAT_TAB. REFRESH L_STAT_TAB.
           L_STAT-STAT = 'I0225'. APPEND L_STAT TO L_STAT_TAB. "ARSP
           L_STAT-STAT = 'I0226'. APPEND L_STAT TO L_STAT_TAB. "ARCH
           L_STAT-STAT = 'I0227'. APPEND L_STAT TO L_STAT_TAB. "REO3
           L_STAT-STAT = 'I0228'. APPEND L_STAT TO L_STAT_TAB. "REO2
           L_STAT-STAT = 'I0229'. APPEND L_STAT TO L_STAT_TAB. "REO1
           CALL FUNCTION 'STATUS_OBJECT_CHECK_MULTI'
                EXPORTING
                     OBJNR        = P_QALS-OBJNR
                TABLES
                     STATUS_CHECK = L_STAT_TAB.
           IF NOT L_STAT_TAB[] IS INITIAL.
             EXIT.
           ELSE.
             P_SUBRC = 4.
           ENDIF.
         */SPER
           CALL FUNCTION 'STATUS_CHECK'
                EXPORTING
                     OBJNR             = P_QALS-OBJNR
                     STATUS            = 'I0043'
                EXCEPTIONS
                     STATUS_NOT_ACTIVE = 2.
           IF SY-SUBRC IS INITIAL.
             EXIT.
           ELSE.
             P_SUBRC = 2.
           ENDIF.
         */HUM
           CALL FUNCTION 'STATUS_CHECK'
                EXPORTING
                     OBJNR             = P_QALS-OBJNR
                     STATUS            = 'I0443'
                EXCEPTIONS
                     STATUS_NOT_ACTIVE = 2.
           IF SY-SUBRC IS INITIAL.
             EXIT.
           ELSE.
             P_SUBRC = 0.
           ENDIF.
                                                                          Page 10
         ENDFORM.                               " CHECK_LOT
          Form  READ_QAMB                                                *
          QAMBs lesen                                                    *
         FORM READ_QAMB USING P_QALS     LIKE QALS
                              P_QAMB_TAB TYPE T_QAMB_TAB
                              P_SUBRC    LIKE SY-SUBRC.
           CLEAR: P_SUBRC.
           SELECT * FROM QAMB INTO TABLE P_QAMB_TAB
             WHERE PRUEFLOS =  P_QALS-PRUEFLOS
               AND TYP   = '3'.
           P_SUBRC = SY-SUBRC.
         ENDFORM.                               " READ_QAMB
          Form  READ_MKPF                                                *
          Read material document header                                  *
         FORM READ_MKPF USING P_QAMB_TAB TYPE T_QAMB_TAB
                              P_MKPF_TAB TYPE T_MKPF_TAB
                              P_SUBRC    LIKE SY-SUBRC.
           DATA:
             BEGIN OF L_MKPF_KEY_TAB OCCURS 0,
               MBLNR LIKE MKPF-MBLNR,
               MJAHR LIKE MKPF-MJAHR,
             END   OF L_MKPF_KEY_TAB.
           DATA:
             L_QAMB   LIKE QAMB,
             L_MKPF   LIKE MKPF,
             L_TRTYP  LIKE T158-TRTYP VALUE 'A',
             L_VGART  LIKE T158-VGART VALUE 'WQ',
             L_XEXIT  LIKE QM00-QKZ.
           P_SUBRC = 4.
           LOOP AT P_QAMB_TAB INTO L_QAMB.
             L_MKPF_KEY_TAB-MBLNR = L_QAMB-MBLNR.
             L_MKPF_KEY_TAB-MJAHR = L_QAMB-MJAHR.
             COLLECT L_MKPF_KEY_TAB.
           ENDLOOP.
           LOOP AT L_MKPF_KEY_TAB.
             CALL FUNCTION 'ENQUEUE_EMMKPF'
                  EXPORTING
                       MBLNR          = L_MKPF_KEY_TAB-MBLNR
                       MJAHR          = L_MKPF_KEY_TAB-MJAHR
                  EXCEPTIONS
                       FOREIGN_LOCK   = 1
                                                                          Page 11
                       SYSTEM_FAILURE = 2
                       OTHERS         = 3.
             IF NOT SY-SUBRC IS INITIAL.
               L_XEXIT = 'X'.
               EXIT.
             ENDIF.
             CLEAR: L_MKPF.
             CALL FUNCTION 'MB_READ_MATERIAL_HEADER'
                  EXPORTING
                       MBLNR         = L_MKPF_KEY_TAB-MBLNR
                       MJAHR         = L_MKPF_KEY_TAB-MJAHR
                       TRTYP         = L_TRTYP
                       VGART         = L_VGART
                  IMPORTING
                       KOPF          = L_MKPF
                  EXCEPTIONS
                       ERROR_MESSAGE = 1.
             IF NOT SY-SUBRC IS INITIAL.
               L_XEXIT = 'X'.
               EXIT.
             ELSE.
               APPEND L_MKPF TO P_MKPF_TAB.
             ENDIF.
           ENDLOOP.
           IF NOT L_XEXIT IS INITIAL.
             EXIT.
           ELSE.
             P_SUBRC = 0.
           ENDIF.
         ENDFORM.                               " READ_MKPF
          Form  READ_MSEG                                                *
          MSEGs lesen                                                    *
         FORM READ_MSEG USING P_MKPF_TAB TYPE T_MKPF_TAB
                              P_MSEG_TAB TYPE T_MSEG_TAB
                              P_SUBRC    LIKE SY-SUBRC.
           DATA:
             L_MKPF     LIKE MKPF,
             L_MSEG_TAB LIKE MSEG OCCURS 0 WITH HEADER LINE,
             L_TRTYP    LIKE T158-TRTYP VALUE 'A',
             L_XEXIT    LIKE QM00-QKZ.
           P_SUBRC = 4.
           LOOP AT P_MKPF_TAB INTO L_MKPF.
             CLEAR: L_MSEG_TAB. REFRESH: L_MSEG_TAB.
             CALL FUNCTION 'MB_READ_MATERIAL_POSITION'
                  EXPORTING
                                                                          Page 12
                       MBLNR  = L_MKPF-MBLNR
                       MJAHR  = L_MKPF-MJAHR
                       TRTYP  = L_TRTYP
         */            ZEILB  = P_ZEILE
         */            ZEILE  = P_ZEILE
                  TABLES
                     SEQTAB = L_MSEG_TAB
                EXCEPTIONS
                     ERROR_MESSAGE = 1.
             IF NOT SY-SUBRC IS INITIAL.
               L_XEXIT = 'X'.
               EXIT.
             ELSE.
               APPEND LINES OF L_MSEG_TAB TO P_MSEG_TAB.
             ENDIF.
           ENDLOOP.
           IF NOT L_XEXIT IS INITIAL.
             EXIT.
           ELSE.
         */  XAuto-Zeilen und Chargenzustandsänderung werden gelöscht
             DELETE P_MSEG_TAB WHERE XAUTO NE SPACE
                                  OR BWART EQ '341'
                                  OR BWART EQ '342'.
             P_SUBRC = 0.
           ENDIF.
         ENDFORM.                               " READ_MSEG
          Form  CREATE_GOODS_MOVEMENT                                    *
          Warenbewegung anlegen                                          *
         FORM CREATE_GOODS_MOVEMENT USING P_QALS     LIKE QALS
                                          P_MSEG_TAB TYPE T_MSEG_TAB
                                          P_SUBRC    LIKE SY-SUBRC.
           DATA:
             L_LMENGEZUB LIKE QALS-LMENGEZUB,
             L_LMENGEGEB LIKE QALS-LMENGEZUB,
             L_MBQSS     LIKE MBQSS,
             L_IMKPF     LIKE IMKPF,
             L_IMSEG     LIKE IMSEG,
             L_IMSEG_TAB LIKE IMSEG OCCURS 1,
             L_EMKPF     LIKE EMKPF,
             L_EMSEG     LIKE EMSEG,
             L_EMSEG_TAB LIKE EMSEG OCCURS 1,
             L_MSEG      LIKE MSEG,
             L_MSEG_TAB  LIKE MSEG  OCCURS 1,
             L_TCODE     LIKE SY-TCODE VALUE 'QA11',
             L_TABIX     LIKE SY-TABIX VALUE 1,
             L_XSTBW     LIKE T156-XSTBW.
           CLEAR: P_SUBRC.
                                                                          Page 13
         */QAMB initialisieren
           CALL FUNCTION 'QAMB_REFRESH_DATA'.
         */Kopf füllen
           L_IMKPF-BLDAT = SY-DATLO.
           L_IMKPF-BUDAT = SY-DATLO.
           L_IMKPF-BKTXT = 'Cancellation of QM UD postings'.
         */Ursprüngliche zu buchende Menge merken + inkrementieren
           L_LMENGEZUB = P_QALS-LMENGEZUB.
           L_LMENGEGEB =   P_QALS-LMENGE01
                         + P_QALS-LMENGE02
                         + P_QALS-LMENGE03
                         + P_QALS-LMENGE04
                         + P_QALS-LMENGE05
                         + P_QALS-LMENGE06
                         + P_QALS-LMENGE07
                         + P_QALS-LMENGE08
                         + P_QALS-LMENGE09.
         */Zeilen aufbauen
           L_MSEG_TAB[] = P_MSEG_TAB[].
           LOOP AT L_MSEG_TAB INTO L_MSEG.
             MOVE-CORRESPONDING L_MSEG  TO L_MBQSS.
             MOVE-CORRESPONDING L_MBQSS TO L_IMSEG.
         */  Referenzbeleg übergeben, falls Bestellnummer gefüllt
             IF NOT L_MSEG-EBELN IS INITIAL.
               MOVE: L_MSEG-LFBNR TO L_IMSEG-LFBNR,
                     L_MSEG-LFBJA TO L_IMSEG-LFBJA,
                     L_MSEG-LFPOS TO L_IMSEG-LFPOS.
             ENDIF.
             MOVE L_MSEG-KDAUF          TO L_IMSEG-KDAUF.
             MOVE L_MSEG-KDPOS          TO L_IMSEG-KDPOS.
             MOVE L_MSEG-PS_PSP_PNR     TO L_IMSEG-PS_PSP_PNR.
         */  Umlagerungsfelder setzen
             MOVE:
                 L_MSEG-UMMAT  TO L_IMSEG-UMMAT,
                 L_MSEG-UMWRK  TO L_IMSEG-UMWRK,
                 L_MSEG-UMLGO  TO L_IMSEG-UMLGO,
                 L_MSEG-UMCHA  TO L_IMSEG-UMCHA.
         */  Storno-Beleg setzen
             MOVE: L_MSEG-MJAHR  TO L_IMSEG-SJAHR,
                   L_MSEG-MBLNR  TO L_IMSEG-SMBLN,
                   L_MSEG-ZEILE  TO L_IMSEG-SMBLP.
         */  Falsch gefüllte Felder initialisieren
             CLEAR: L_IMSEG-MBLNR,
                    L_IMSEG-MENGE,
                    L_IMSEG-MEINS.
         */  Bewegungsart lesen
             SELECT SINGLE XSTBW FROM T156 INTO L_XSTBW
               WHERE BWART = L_IMSEG-BWART.
                                                                          Page 14
             IF NOT SY-SUBRC IS INITIAL.
               P_SUBRC = 4.
               EXIT.
             ENDIF.
         */  Werk/Lagerort füllen
             IF P_QALS-STAT11 IS INITIAL.
               IF L_XSTBW IS INITIAL.
                 MOVE P_QALS-LAGORTVORG TO L_IMSEG-LGORT.
               ELSE.
                 MOVE P_QALS-LAGORTVORG TO L_IMSEG-UMLGO.
               ENDIF.
             ENDIF.
             IF L_XSTBW IS INITIAL.
               MOVE P_QALS-WERKVORG TO L_IMSEG-WERKS.
             ELSE.
               MOVE P_QALS-WERKVORG TO L_IMSEG-UMWRK.
             ENDIF.
         */  Zusätzliche Felder
             MOVE P_QALS-MENGENEINH TO L_IMSEG-ERFME.
             "MOVE P_GRUND           TO L_IMSEG-GRUND.
             "MOVE P_ELIKZ           TO L_IMSEG-ELIKZ.
         */  Kennzeichen Storno-Buchung setzen
             MOVE 'X'               TO L_IMSEG-XSTOB.
             MOVE P_QALS-PRUEFLOS   TO L_IMSEG-QPLOS.
             APPEND L_IMSEG TO L_IMSEG_TAB.
             IF P_QALS-STAT11 IS INITIAL.
               ADD      L_IMSEG-ERFMG TO   L_LMENGEZUB.
               SUBTRACT L_IMSEG-ERFMG FROM L_LMENGEGEB.
             ELSE.
               IF     L_IMSEG-KZBEW EQ SPACE
                  AND L_IMSEG-WERKS NE SPACE
                  AND L_IMSEG-LGORT NE SPACE
                  AND L_IMSEG-UMWRK NE SPACE
                  AND L_IMSEG-UMLGO NE SPACE
                  AND L_IMSEG-WERKS EQ L_IMSEG-UMWRK
                  AND L_IMSEG-UMLGO EQ L_IMSEG-UMLGO.
         */      Dummy Buchung bei WE-Sperrbestand & Stichprobe
               ELSE.
                 ADD      L_IMSEG-ERFMG TO   L_LMENGEZUB.
                 SUBTRACT L_IMSEG-ERFMG FROM L_LMENGEGEB.
               ENDIF.
             ENDIF.
           ENDLOOP.
           IF NOT P_QALS-STAT11 IS INITIAL.
         */  Bei WE-Sperrbestand und Stichprobenbuchung Zeilen tauschen
             DO.
               READ TABLE L_IMSEG_TAB INDEX SY-INDEX INTO L_IMSEG.
               IF     SY-SUBRC      IS INITIAL
                  AND L_IMSEG-KZBEW EQ SPACE
                  AND L_IMSEG-WERKS NE SPACE
                  AND L_IMSEG-LGORT NE SPACE
                  AND L_IMSEG-UMWRK NE SPACE
                  AND L_IMSEG-UMLGO NE SPACE
                                                                          Page 15
                  AND L_IMSEG-WERKS EQ L_IMSEG-UMWRK
                  AND L_IMSEG-UMLGO EQ L_IMSEG-UMLGO.
                 IF SY-TABIX NE L_TABIX.
                   DELETE L_IMSEG_TAB INDEX SY-TABIX.
                   INSERT L_IMSEG     INTO  L_IMSEG_TAB INDEX L_TABIX.
                   L_TABIX = L_TABIX + 1.
                 ELSE.
                   L_TABIX = L_TABIX + 1.
                   CONTINUE.
                 ENDIF.
               ELSEIF SY-SUBRC IS INITIAL.
                 CONTINUE.
               ELSE.
                 EXIT.                          "from do
               ENDIF.
             ENDDO.
           ENDIF.
         */QM deaktivieren
           CALL FUNCTION 'QAAT_QM_ACTIVE_INACTIVE'
                EXPORTING
                     AKTIV = SPACE.
         */Buchen
           CALL FUNCTION 'MB_CREATE_GOODS_MOVEMENT'
                EXPORTING
                     IMKPF = L_IMKPF
                     XALLP = 'X'
                     XALLR = 'X'
                     CTCOD = L_TCODE
                     XQMCL = ' '
                IMPORTING
                     EMKPF = L_EMKPF
                TABLES
                     IMSEG = L_IMSEG_TAB
                     EMSEG = L_EMSEG_TAB.
         */QM wieder aktivieren
           CALL FUNCTION 'QAAT_QM_ACTIVE_INACTIVE'
                EXPORTING
                     AKTIV = 'X'.
         */Buchung auswerten
           IF L_EMKPF-SUBRC GT 1.
             IF L_EMKPF-MSGID NE SPACE.
         */    Fehler auf Kopfebene
               MESSAGE ID L_EMKPF-MSGID TYPE 'S'
                       NUMBER L_EMKPF-MSGNO
                       WITH L_EMKPF-MSGV1 L_EMKPF-MSGV2
                            L_EMKPF-MSGV3 L_EMKPF-MSGV4.
               SUBMIT (SY-REPID) VIA SELECTION-SCREEN.
             ELSE.
         */    Fehler auf Zeilenebene (Ausgabe des ersten Fehlers)
               LOOP AT L_EMSEG_TAB INTO L_EMSEG.
                 IF L_EMSEG-MSGID NE SPACE.
                   MESSAGE ID L_EMSEG-MSGID TYPE 'S'
                         NUMBER L_EMSEG-MSGNO
                         WITH L_EMSEG-MSGV1 L_EMSEG-MSGV2
                              L_EMSEG-MSGV3 L_EMSEG-MSGV4.
                                                                          Page 16
                   SUBMIT (SY-REPID) VIA SELECTION-SCREEN.
                 ENDIF.
               ENDLOOP.
             ENDIF.
           ENDIF.
           LOOP AT L_EMSEG_TAB INTO L_EMSEG.
             CALL FUNCTION 'QAMB_COLLECT_RECORD'
                  EXPORTING
                       LOTNUMBER   = P_QALS-PRUEFLOS
                       DOCYEAR     = L_EMKPF-MJAHR
                       DOCNUMBER   = L_EMKPF-MBLNR
                       DOCPOSITION = L_EMSEG-MBLPO
                       TYPE        = '7'.
           ENDLOOP.
         */Sonderkorrektur für Frei-An-Frei & WE-Sperr-An-We-Sperr
           IF NOT P_QALS-STAT11 IS INITIAL.
             IF P_QALS-LMENGE04 EQ L_LMENGEGEB.
               ADD      P_QALS-LMENGE04 TO   L_LMENGEZUB.
               SUBTRACT P_QALS-LMENGE04 FROM L_LMENGEGEB.
             ENDIF.
           ELSEIF P_QALS-INSMK IS INITIAL.
             IF         P_QALS-LMENGE01 GE L_LMENGEGEB
                AND NOT P_QALS-LMENGE01 IS INITIAL.
               ADD      L_LMENGEGEB     TO   L_LMENGEZUB.
               SUBTRACT L_LMENGEGEB     FROM L_LMENGEGEB.
             ENDIF.
           ENDIF.
           CLEAR: P_QALS-STAT34,
                  P_QALS-MATNRNEU,
                  P_QALS-CHARGNEU,
                  P_QALS-LMENGE01,
                  P_QALS-LMENGE02,
                  P_QALS-LMENGE03,
                  P_QALS-LMENGE04,
                  P_QALS-LMENGE05,
                  P_QALS-LMENGE06,
                  P_QALS-LMENGE07,
                  P_QALS-LMENGE08,
                  P_QALS-LMENGE09.
           P_QALS-LMENGEZUB = L_LMENGEZUB.
           IF NOT L_LMENGEGEB IS INITIAL.
             P_SUBRC = 4.
           ENDIF.
         ENDFORM.                               " CREATE_GOODS_MOVEMENT
          Form  POST_GOODS_MOVEMENT                                      *
          Warenbewegung buchen                                           *
         FORM POST_GOODS_MOVEMENT.
           CALL FUNCTION 'MB_POST_GOODS_MOVEMENT'.
                                                                          Page 17
         ENDFORM.                               " POST_GOODS_MOVEMENT
          Form  POST_DATA                                                *
          QM-Daten verbuchen                                             *
         FORM POST_DATA USING P_QALS        LIKE QALS
                              P_QALS_LEISTE LIKE QALS
                              P_QAMB_TAB    TYPE T_QAMB_TAB
                              P_QAMB_VB_TAB TYPE T_QAMB_TAB
                              P_SUBRC       LIKE SY-SUBRC.
           DATA:
             L_STAT        LIKE JSTAT,
             L_STAT_TAB    LIKE JSTAT OCCURS 0,
             L_QAMB        LIKE QAMB,
             L_UPDKZ       LIKE QALSVB-UPSL VALUE 'U'.
         */QAMBs umsetzen (7 = VE-Buchung storniert)
           LOOP AT P_QAMB_TAB INTO L_QAMB.
             L_QAMB-TYP = '7'.
             APPEND L_QAMB TO P_QAMB_VB_TAB.
           ENDLOOP.
         */BERF & BTEI zurücknehmen
           CLEAR L_STAT. CLEAR L_STAT_TAB.
           L_STAT-INACT = 'X'.
           L_STAT-STAT = 'I0219'. APPEND L_STAT TO L_STAT_TAB. "BTEI
           L_STAT-STAT = 'I0220'. APPEND L_STAT TO L_STAT_TAB. "BEND
           CALL FUNCTION 'STATUS_CHANGE_INTERN'
                EXPORTING
                     OBJNR         = P_QALS-OBJNR
                TABLES
                     STATUS        = L_STAT_TAB
                EXCEPTIONS
                     ERROR_MESSAGE = 1.
           IF SY-SUBRC <> 0.
             MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO
                     WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
             SUBMIT (SY-REPID) VIA SELECTION-SCREEN.
           ENDIF.
         */Prüflos aktualisieren
           CALL FUNCTION 'QPL1_UPDATE_MEMORY'
                EXPORTING
                     I_QALS  = P_QALS
                     I_UPDKZ = L_UPDKZ.
           CALL FUNCTION 'QPL1_INSPECTION_LOTS_POSTING'.
           CALL FUNCTION 'STATUS_UPDATE_ON_COMMIT'.
         */QAMB initialisieren
           CALL FUNCTION 'QAMB_REFRESH_DATA'.
                                                                          Page 18
           PERFORM UPDATE_QAMB ON COMMIT.
           P_SUBRC = 0.
         ENDFORM.                               " POST_DATA
          Form  UPDATE_QAMB                                              *

  • Reverse Production Confirmation After Usage Decision (UD)

    Hi All ,
                 We are using Quality Inspection Type 04 ("Good Recipt production Inspection ") . We have Done some wrong Entry in Production Confirmation after that quality person also did Usage Decision for the inspection Lot. now we want to cancel this confirmation . will some one help me how we can reverse UD (Usasge Decision) and Cancel the production confirmation .
    Thanks In Advance .
    Regards

    Dear Jaideep,
    Check out this,
    Do you mean to say you want to cancel the document for which 321 movement has been made where the stock has been
    cleared from quality to un-restricted?
    This is not possible,unless if you have used SAP notes,
    Note 1108313 - Cancelling usage decision and lot
    Note 175842 - Inspection lot: Reversal of goods movements from UD.
    Otherwise cancel the confirmation and the error movement 102 will be going to COGI.
    Do 102 through MB31 against that order and delete the 102 error from COGI.
    Check and revert back.
    Regards
    Mangalraj.S

  • [HELP] - QM cancel usage decision

    Hello SAP gurus,
    I need dome help with a QM scenario.
    How can I cancel a UD and move the stock again to Quality Inspection?
    Thanks in advance,
    Adelmo

    Hi
    here is some more help,
    Follow the link (page 27) http://help.sap.com/printdocu/core/Print46c/EN/data/pdf/QMIMUD/QMIMUD.pdf
    Reversing Stock Postings
    1. Choose Logistics > Materials Management > Inventory Management > Goods Movement>  Goods receipt > For purchase order> PO number known.
    The initial screen for creating a goods receipt for a purchase order appears.
    2. In the field for the movement type, enter 102 (goods receipt for a purchase order into
    warehouse - reversal).
    3. In the field for the purchase order, enter the purchase order number for the original goods
    receipt.
    You can copy the purchase order number from the inspection lot.
    4. Choose Enter to display the selection screen for the purchase order items.
    5. Select the purchase order item for which you want to create the goods receipt and set the
    Stock type indicator to the stock to which the goods were originally posted with the
    usage decision (for example, F for unrestricted-use stock or S for blocked stock).
    6. Save the goods receipt and exit the Materials Management component.
    7. Choose Logistics > Quality management > Quality inspection > Inspection lot> Usage
    decision > Change with history.
    The initial screen for changing a usage decision appears.
    8. Enter the number of the inspection lot for which you previously made the usage decision and
    choose Usage decision (UD).
    9. To cancel the inspection lot, choose Usage decision > Functions . Cancel lot in the usage
    decision screen.
    Regards
    Suhas

  • Solution to Non-Reversal of Usage Decision

    Hi Experts,
    I have facing an Issue over Goods movement .
    Issue is User has done GR against PO using Transaction MIGO with mvmt Type - 101 and GR is posted to Quality stock for inspection , there user has accepted the usage Decision using QA32 and posted the Stock to Unrestricted using movement type -321. But Now they want to cancel the GR earlier done because they have posted wrong Quantity.
    Now since reversal of UD is not a standard solution and also is not a immediate solution to this problem, so what solution i should suggest to client to have his requirement fulfilled for this Issue without doing reversal of UD. We can think of Developing Zprogram of reversal of UD later.
    your response will be appreciated.
    Thanks in Advance
    Regards
    kaushik Ghosh

    It is time to correct something.
    first of all the initial question was already a frequently discussed question.
    The question " will any accounting entries get effected" is again a basic and frequently discussed question.
    You have to search before posting - this is a rule in SCN
    Unfortunately I was not present to reject this question right away, as this would have been a better solution, as it had forced you to search. But rejecting it now will only create damage since you got wrong advice.
    Not sure where all these myths come from and why they are spread.
    A return is something quite different from a cancellation, even that both lead to zero stock at the end, a return is used in external processing, it is about sending materials back to your vendor, a cancellation of a receipt is pure internal processing to correct a wrong entered value (no physical movement). It is statistically not the same, receiving and cancelling it again is just as good as not received anything as it nullifies. Receiving and doing a return are different processes , an inbound and an outbound process, it is visible separately. It is taken into account in vendor evaluation.
    To cancel the receipt movement after the usage decision you can use MIGO, but do not choose cancel material document, because the material document only knows that the stock is in quality status, which is not the case anymore after a usage decision.
    just do again goods receipt - reference to PO - but change then the movement type to the cancellation movement type (102).
    Then goto the detail into WHERE tab and change status to the stock status your stock has right now.
    Do you really think that "Developing Zprogram of reversal of UD" would do any good (or just create inconsistencies) if the processes and basic handling of MIGO are not even understood?

  • Automatic TO Creation for QM Usage Decision

    Dear Gurus
    We all know WM TO to releasing stock from QI to UU or return goods to vendor can be created automatically,
    My question is, when the usage decision is split into two, some material going into stock, and some returned to vendor. for return to vendor, SAP will do automatic transfer, but for material go into stock, SAP is not release Q status in WMS to unrestricted (blank), I have set the movement 321 to create TO automatically and post into same bin.
    FYI, if the transaction is separated, SAP perform well (transfer Q to unrestricted done automatically and return to vendor also done automatically)
    Is there any solution for this problem?
    Thanks and Regards
    CJ Lee

    Hi,
    In case of a usage decision for a partial quantity, it is not possible to create the TO for the generated posting change notice automatically. This is only possible when the full quantity is released. The same happens if you release a partial quantity and post the rest using a different stock posting. The reason is, there needs to be a user decision, which part of the quantity has to be posted, this is necessary for example when the quantity is distributed in the warehouse over many storage bins. But even if the full quantity is on one storage bin, there is no automatic TO creation. You can see this also in the online processing LT05), in case of partial quantities you have to enter the selected quantity in the quant list, for a full posting this is not necessary.
    Hope this helps.
    Regards,
    Sinéad Curran

  • AFS-QM Error in stock posting performed by taking Usage decision

    Hi all,
    during stock posting with 105 mov type performed by taking Usage Decision (QA11), I faced with a strange system behavior, described beneath.
    Previuos steps:
    Purchase order creation
    Partial Good receipt performed by MIGO, mov type 103 (Blocked stock from PO)
    Automatic Creation of Inspection Lot
    Error encountered:
    If I take usage decision (QA11) for the inspection lot created, putting the stock checked in Unrestricted Use (correspondant mov type = 105), in the following good receipt (related to the same purchase order), the incoming stock available is less of the real quantity, previously accepted..
    After some checks we understood that with 105 mov type the system doubles the real quantity previoulsy accepted, acting in the following manner:
    Initial PO: 100 PZ
    1° Good receipt: 30 PZ
    (automatic creation of inspection lot)
    If we take a usage decision, posting stock to unrestricted use (mov type 105), in the 2° Good receipt, the quantity available from the same PO is not 70 PZ (100 - 30), but only 40 PZ ! !  (100 - (30 * 2)) = 40
    Please note that it does not occur if we post stock (always 105 mov type) with a MIGO transaction, so we are forced to think that the problem is strictly related to AFS-QM inventory posting, and not to 105 mov type or inbounding process.
    Thanks for your collaboration,
    Regards,
    Ale

    I'm not familiar with the specific apparel and footwear solution but with regards to QM, if you are using the standard SAP delivered stock postings, it should use 105 to accept the material to unrestricted for the GR blocked. 
    I would first use MB51 for the material and batch and review all the material movement documents.  Look at the trail of movements and try to see where the changes happen.
    In your example, what did the unrestricted inventory and GR blocked inventory show as stock levels?
    I'd also check OSS for issues related to AFS/QM.  This is not new functionality in SAP so I would be surprised if this was an actual bug or problem in the system that hasn't been seen before.
    FF

  • Return process for the PO which has done the usage decision with QM

    Hi Guru,
    We are running below process right now, and stop there, don't know how to return to vendor:
    PO for external vendor -> Goods purchased physically arrive -> Create a inbound delivery for this PO -> Post the GR with the inbound delivery created -> QA team performed the usage decision and rejected.
    At this moment, how can we reverse the good receipt? We canu2019t use VL09 to reverse the inbound delivery, and we can not use MBST to reverse the material doucment which created during Post good receipt.
    What's the correct process to return it to vendor?
    Thanks,

    Hi Rick,
    Can use t.code MIGO and select return delivery for material document or delivery note.
    Then select the respective document, it will display the details, now you can select the material which you want return and unselect the materials which you dont want to return and the quantities accordingly.
    Save the document.
    This will use movement type 122.
    Regards
    vk

  • Usage Decision Results to any stock update?

    Dear SAP Experts,
    I want to know , when usage Decision is taken in QM, stock will be updated or not?
    After usage decision say few quantity is scrapped and given usage decision code for the same. I want to know this decision will update to stock or not? if it doesnot update the satock automatically, then what standard movement types are used to post this scrapped quantity.
    Please help, and its urgent.
    Thanks & Regards,
    Mohd Ismail.

    Hi,
    I want to know , when usage Decision is taken in QM, stock will be updated or not?
    May or may not be! 
    Stock posting through QM and UD are 2 separate events although executed through same TCode.
    If you want that stock should be posted automatically in to unrestricted or into block with UD at the same time, you can do that setting in QS51 against appropriate UD code.
    If the system status of inspection lot contains UD ICCO SPCO, that means stock posting and UD both have been done
    After usage decision say few quantity is scrapped and given usage decision code for the same. I want to know this decision will update to stock or not? if it doesnot update the satock automatically, then what standard movement types are used to post this scrapped quantity
    I could not interpret this correctly.
    Seems that you are narrating a case where UD and stock posting are done and later you want to scrap the material
    You can simply do it through MIGO using 551 movement. (Scrapping against cost center from unrestricted use)
    But changing once given UD, will not perform any movement again.

  • Usage decision rejection

    Hi Gurus,
    What will be the procedure after rejecting the usage decision. Stock from quality moves from quality to Blocked. So i tried moving the stock from blocked to quality through the inventory movement transaction, for which it giving an error "Managed by QM view".
    So what is the transaction should i use to get the stock back to quality.
    What would i recommend to my User if he asked what should i do if the inspection lot is rejected.
    Please suggest.
    Thanks in advance,
    Quantum.

    Hi
    What will be the procedure after rejecting the usage decision. Stock from quality moves from quality to Blocked. So i tried moving the stock from blocked to quality through the inventory movement transaction, for which it giving an error "Managed by QM view".
    A)When a lot is rejected means you have done RD :122 Mvt.
    1.You can do 123 by activating 08 inspection type.
    2.Go to MB1B and do 123 Mvt type
    3.08 inspection type lot will be generated and Material will appear in quality can be seen thro' QA32.
    4.Then UD can be taken.
    B)When you move it to Block stock:
    1. Then You can activate 08 inspection type.
    2.Go to MB1B and do 349 Mvt type.
    3.08 inspection type lot will be generated and Material will appear in quality can be seen thro' QA32.
    4.Then UD can be taken.
    I hope this will help you
    Regards
    Sujit

  • QM Usage Decision Error : Deficit Batch restricted

    I am unable to reject two batches..it shows 'no inventory exsists for this material'
    Usage Decision TCode gives me the following error:
    Deficit Batch restricted
    Can you please tell me, what might be the probable reason?
    Thanks

    Well.. it's basically telling you it can't find the material in the stock category it is looking for it in.
    So, to resolve this, first find out where the batches really are.
    Get the actual batch numbers from the inspection lots and run MMBE to see where the material is and what the status of the batch is, restricted or unrestricted.
    You must then figure out where is the UD transaction looking for the material?  You can check this by looking in config and the looking at the settings for the inventory posting.  You should see 3 movement types for the reject posting line.  One for QI, one for unrestricted and one for blocked. 
    What you need to do, is a) get the batch inventory into the proper inventory bucket.  This might be as simple as unrestricting the batch. b) if you can't get the material where it needs to be, you might be able to temporarily change the movement type used for the reject postings.  Then change it back to what it should be once you rejected the material.
    Hope this helps.
    Craig

  • Production Order Receipt Block before Usage Decision is Made

    Dear all,
    I have a requirement to block production order receipt through MIGO into any storage location before the usage decision has been made for that production order.
    This should be the rule for all non serial items, meaning that it should only apply to batch controlled and neither batch nor serial controlled materials.
    Could someone please help me on this?
    Thanks,
    Sergiy

    Hi,
    Is it possible through by maintaining the inspection type for the material master. Then the material will be moved to quality stock after usage decision then you can move that material to unrestricted material.
    For Batch managed or serial number profile defined material don't activate the inspection type.
    Hope this might help you.
    Regards
    Ravi shankar.

  • Issue  in usage decision

    Hi,
    During usage decision, i have moved the stock to scrap by mistake , can you please tell me how to reverse the UD.
    I tried through MB1B. The problem is we dont know in which storage location it is posted
    Can you please suggest me , how to proceed.
    One more issue.
    I want to bring down the scrap field in inspection lot stock screen, how to do it.
    Thanks in advance.
    Regards
    Karthik

    Hi
    To find material document no. :
    1. if you know the lot number, you can use QA03 (Display lot) Tcode and click on the item mat doc. The doc no with type 3 assigned is your required material doc.
    2. Goto MB51, and use movement type 553, material and plant and execute to get the material no.
    To reverse from scrap to QI:
    1. Activate insp. type 05 in QM view of material master.
    2. Goto MB1A, use movement type 554 to transfet the quantity. Lot will be generated in QI, do UD and transfer the lot to unrestricted usage.

  • (Usage Decision )Stock Post To Unrestricted Use.

    Dear QM Expert,
    I create a inspection lot of Finished Good and inspection type is 04 used when take a decision in QA11 then the Inspection lot is not open and the message has shown.
    <b>The function you selected
    cannot be
    carried out:
    Access usage decision</b>
    When i use QA12 then message show is this,
    <b>You cannot perform this task because the usage decision has not been made yet.</b>
    But the stock is not posted To unrestricted use.
    I want to stock post or cancel the document but i cant cancel or reverse the document.
    Please suggest me the urgent bases what i do for stock post to unrestricted use.
    Once problem has been mentioned here that the logistic period has been closed and FI/CO period will be close after six days.
    thanks
    ufarooq
    Message was edited by:
            Shahzad Sami

    Hi,
    Follow these steps for the qm inspn procurement.
    1.Create Material Master Record with QM View.
    2.Activate QM Proc/ Specify Control Key 0001.
    3. choose Inspn set up and inspn type to be entered as 01 and set the active indicator.
    4. Create Q-info record with material / vendor.(qi01)
    5. Enter the release by date as 31.12.9999
    7.Create inspn plan(qp01) with usage 5 and status 4and enter the control key as PPQM.
    8.Choose the operation and assign the inspn characteristic / sampling procedure
    9.MD61/MD02/MD04
    10 Convert the Purchase requisition as Purchase Order.
    11. Receive the Material against the PO.
    12. In MIGO against PO receive the material.
    13.QM lot will be created
    14.qa02 check inspn plan / sample.
    15.qe51n results recording
        lot origin 01 mat no and execute results
    16.qa11 ud code select accept and chooseinspn tab page and type the qty to be proposed and save.
    17.stock will move to unrestricted use .
    Regards,
    nandha

Maybe you are looking for