APO Order extractor: the usage of  0APO_UPLABL

Hi,
we need to load APO order data via data source 0APO_PPDS_ORDER_01 (SCM 4.0). there are two info objects in this data source, which are concerning (or related to) planning version: 0APO_UPLABL and 0APO_PLVERS.
I am not sure, what is the usage of 0APO_UPLABL.
Any information and hint is highly appreciated.
Thanks and regards,
Lilly

Hi Carlos,
Rightnow it must be taking set up times from PDS only.
Are you doing it differenciate setup and process activity then that can be done through graphical planning objects.
I have used setup groups without set up matrix but it is for multi resource and not for single and didnot face any problem.
If requirement is to display setup activity of different set up group (may be product group in your case) in different colours
you can achive it by defineing freely defineable attribute in product master. and capturing detail of set up group in this feild
Configuring decision table for graphical planning object accordingly.
Just a thought to meet the requirement.
Anyway if no problems are coming you can continue with same.
Regards,
Santosh

Similar Messages

  • Sending New Requirement date to APO before saving the sales order in ECC

    Hi Experts,
    i have a requirement where while creation of sales order, when user enters the requirement date,i have to calculate the new requirement date ( adding transit time and other time ) and send it to APO , to bring the ATP result based on this new calculated date.
    This new calculated date is getting saved in Z field in VBAP table and also this new requirement date which has to be pass to APO is getting calculated while saving the doucment i.e. at user exit - USEREXIT_SAVE_DOCUMENT_PREPARE.
    Now, i am not sure, how i should pass this new date to APO , which FM , Badi or BAPI would be used ?
    Please help and let me know if i am supposed to detailed it a little more.
    Thanks.

    Hi Bharat,
    Normally the new calculated requirement/delivery date will be updated in APO through the CIF.
    However you can influence the transfer with enhancement CIFSLS03 (influence sales-order-specific data directly before it is sent to SAP APO available on ECC side).
    Please see the below description.
    Thanks.
    Regards, Marius
    In this enhancement, you can transfer customer-order-specific data to SAP
    APO.
    The associated component EXIT_SAPLCSLS_002 provides you with tables that are
    required for the transfer. In particular, these are:
    Requirements table ET_SL_REQ
    Item table ET_SL_DOC
    Field catalog ET_ATPFIELD
    You can use this exit to create or change documents in the ERP system as well
    as for the initial data transfer.
    The data is transferred to SAP APO after this exit is called.
    Notes
    If you use program /SAPAPO/CIF_DELTAREPORT3, you have to add the
    corresponding logic to function module EXIT_SAPLCID3_001. For more information,
    see the documentation for
    enhancement CIFCID3.
    Programs /SAPAPO/CIF_DELTAREPORT and /SAPAPO/CIF_DELTAREPORT2 also run this
    exit.

  • Work Around for Order Extractor VDATU at the Line

    All -
    We have recently (July 2009) upgraded to BI 7.0 and have requirements for Request Del Date in BW reporting.  My understanding is there's a known bug with VDATU (request delivery date), also in previous versions.  This is found in R/3 com structure MCVBAK/VBAK; however there is also a VDATU (Date of update for statistics updating) in R/3 com structure MCVBAP/MCVBAPADD.  The actual object in the order extractor comes from MCVBAP which is the update for stat updating NOT the requested delivery date.
    We have added code to pull VDATU from MCVBAK through the extractor user exit; however this is only pulling the correct data part of the time.  It looks correct the first time through but if there are any changes to the order it resets it to an earlier date as if it never hits the code again.
    I'm thinking we need more code to pull the value at the line level but not sure if we should be pulling the vdatu from MCVBAP.  Is there a full proof work around in pulling requested delivery date correctly regardless of the number touches to the order?
    Thanks
    KLD

    Arun
    Thanks for your response.  Unfortunately it was decided back in 2000 we would not bring the order schedule line extractor in to BW.  No errors.
    Originally we had MCVBAP-VDATU (Date of update for statistics updating??) mapped in BW.  No one was really using the field so i added code to the user exit to populate the values coming from MCVBAK-VDATU.  I unmapped the object in the transfer rules from the date of update stat to a newly declared object in BW.  As i mentioned above the date in BW is not always matching the value in R/3.  It doesn't seem to be picking up the date if changes were made to the header or item level.  
    Brainstorming...
    Could you recommend another work around?  What is the name of the actual requested delivery date object on the 2lis_11_vascl extractor?  What are your thoughts on bringing that object into the line item extractor and adding logic in the user exit to capture the updates to the schedule line requested delivery date object?  It sounds messy.
    Currently we use the MCVBAP-VDATU in the extractor.  I was wondering if we could swap it for  MCVBAK-VDATU?
    Thanks again.
    KLD

  • Send BOM components to APO regardless of the key explosion date.

    Hi, SAP gurus, there is an issue I would like to share with you and ask for advice.
    A production plant can precisely plan material usage. A BOM is created in advance and the following components are  listed (it's just an example)
    item 0100 Material A q-ty 1000 EA valid form 01.03.2009 valid unitl 31.07.2009
    item 0100 Material B q-ty 1000 EA valid from 01.08.2009 valid until 31.20.2009
    Basically Material B replaces Material A. The BOM is maintained using change management.
    A Production Version (only 1 exists) using this BOM alternative.
    My question is how to CIF the data so that the PPM includes both components with their appropriate validities, so APO to plan orders till 31.07.2009 with material A and orders from 01.08.2009 with material B.
    In the IntModel for PPMs there is an option which allows me to select the explosion date. but as this date is only one, no matter what I select it will transfer only one component. The one that is valid as per that date.
    I have read a thread here and checked SAP note 453198, but the comments are not encouraging.
    I have tried with CPF3, but as the BOM is created in advance, the system provides a message that no master data changes exist - transfer has not taken place.
    Have anyone come to this issue? Is there a suitable Uexit to use and how?
    Your hel will be greatly appreciated.
    BR
    Ivan

    Hi Evan,
    If I understand your requirement, If you run the planning run at factory, you want the system to create planned orders until with 31.07.2009 based on BOM1 with material A and planned orders after 01.08.2009 with BOM2 based on material B. Is that right?
    I have a suggestion for you: You can create two BOMs with the material A valid from today till 31.07.2009 and material B valid from today till may be 31.12.9999 ( or any date in future you wish).
    Then create 2 different versions one with BOM1 and other with BOM2. CIF them to create 2 different PPMs.
    Now go to quota arrangements ( transaction /sapapo/scc_tq1), create two quota arrangements for the material with PPM1 valid from today till 31.07.2009 and PPM2 valid from 01.08.2009 till then end. This will create orders in the system with both BOMs.
    Please let me know if this proposal works for you.

  • BADI / User Exit for APO Order transaction /SAPAPO/SNPTLB

    Hi Experts,
    We have a proxy interface and currently we are using FUNCTION EXIT_SAPMSNPUSER_006 for the APO Order transaction: /SAPAPO/SNPTLB.
    This exist is triggering before the Order is being saved in APO and at times it is throwing an error 'Order key already exists in live cache' in the APO system.
    Is there any other BADI or User exit available to Save the order in APO before the interface gets processed?, if so, plese guide me.
    Thanks & Regards,
    Vijaya

    Hello Lakshmi,
    I am having the same issue with the message "Order key already exists in live cache" in our system. 
    We are using the user-exit EXIT_SAPMSNPUSER_005 for UoM conversion.  But we are not making any explicit proxy calls
    to /SAPAPO/SNPTLB.  Does the system automatically call this transaction with this user-exit?
    Did you get a resolution for the issue.  I would really appreciate if you can let me know how you have addressed this.
    Thanks,
    Ratnam

  • How do I get the data in the CSV file to be in the same order as the form?

    When I merge my data from multiple form submissions into a csv file, the data is completely out of order, which makes it pretty much useles. How can I make it export the data in the same order? Also, the headers of each column or garbled. For example:
    Depth (mm) shows in excel as Depth__mm__aqWhxx1nhpwx*3sgoBx9UQ
    Lesion Location with check boxes: Face, Scalp, Trunk shows as each individual: Lesion_Location_1_15w4B5z9Kg2FKrkCPa6Wvg or Lesion_Location_3_15w4B5z9Kg2FKrkCPa6Wvg.
    What I want is for the data produced to be in the same order as the form and with the same headers.
    Also, I created several help texts that don't appear in the form.
    I'd be happy to upload any of the files (form template, form pdf, csv file) if there is a way to.
    I used Adobe Forms Central to create the forms in Acrobat XI Pro. I'm on a windows 7 computer.
    Thank you for your help

    Some of this is just the way it is with a PDF form created with FormsCentral. The fields get those names to ensure that they are unique, since the FormsCentral designer app does not allow yo to specify the field names directly. A fixt would be to create the form in Acrobat and you can give the fields any name you want. You can also change the field names in Acrobat after first removing the usage rights from the PDF by selecting: File > Save a Copy
    and renaming the fields to what you want. Also remove the submit button it added. You can then upload the edited PDF to FormsCentral and Distribute it. It looks as though the order of the fields in the table are alphabetical, so it you rename your fields so they will be in the order you want when arranged alphabetically (e.g., A1_Patient_ID, A2_Biopsy_Age, etc.), that might be an approach to take. Also, if this is for human patient data, check for regulatory compliance of this system. FormsCentral is specifically not HIPAA compliant as stated in the license agreement.

  • Update purchase order history after usage decision from quality

    Hi guys,
    I'm working with active ingredients, after entering the % of the active ingredient in quality, then making the usage the decision, I need to update the history of the purchase order for the quantity posted.
    what I mean is that if I received 1000 KG of a raw material, then in the quality check I found that the % of the active ingredients is 90%, I update the purchase order quantity to 900 KG, I know that this is made by using transaction MWBQ, but what are the settings I have to make at the very beginning before using transaction MWBQ
    Regards,

    check the below forum link related to this.
    Re: use of Tcodes: MWBQ & MWBE

  • 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                                              *

  • In IS-Retail , what is the usage of ASSORTMENT ?

    Hi Gurus,
    I need clarification regarding the usage of ASSORTEMENTS in IS-RETAIL, currently i am dealing with a IS-Retail implementation project .
    kindly let me know the expert solutions for the same and also let me know in which areas it is used.
    points will awarded suitably - let me know ASAP.
    Advance Thanks in anticipation.
    Regards
    Madhu

    hi
    An assortment defines which materials a store, a distribution center or a customer can be supplied with at any given time and can therefore be used to check purchase orders and sales orders.
    Every retail site is assigned one (and only one) assortment. This assortment is created when the retail site is created, but is not assigned materials until the listing stage, where materials are assigned to assortments using the assortment modules to which these materials belong
    WB70 Create assortment class
    WB71 Change assortment class
    WB72 Display assortment class
    WB73 Delete assortment class
    WB74 Maintain assortments to classes
    WB75 Maintain classes to classes
    WB76 Maintain assortments in class
    WB77 Display assortments to classes
    WB78 Display Class for Classes
    WB79 Display assortments in class
    WSOA2 Change assortments
    WSOA3 Display assortments
    WSOA4 Delete assortment

  • Difference between SAP/APO/DP and the SAP/CRM solution for forecasting

    Hi,
    Can you please help me identifying the main differences between SAP/APO/DP and the SAP/CRM solution for forecasting? Advantages and disadvantages?
    Thanks a lot

    Hi LCD777,
    Forecasting at DP & CRM are altogether at different entities.  CRM involves webbased data transfer mechanism tool whereas DP is database/livecache driven tool.
    In CRM, you dont get optimised solution of forecasting out of it whereas in DP you can get as much as
    optimised solution & flexibility as per your requirements.
    DP is majorly a forecasting tool where in huge statistical method functionalities are embedded in
    whereas CRM is majorly a transactional tool wherein it involves gathering of forecast data and executing it.
    Typically, CRM will be integrated with DP containing GATP environment & ECC so that DP will plan for forecast data, ECC system drives sales order data & GATP calls for availability check and finally
    the forecast execution& transactions will be controlled by CRM
    Regards
    R. Senthil Mareeswaran.

  • User-exit on APO side for the deliveries that are coming from R/3

    Hi,
    When a delivery is created in ECC for a VMI customer, it creates an EI order in APO. We need to record some details of these orders on the APO side.   Can you please let me know the user exit/BADI that gets triggered when a delivery comes to APO through CIF which we can use for our requirement?
    Thanks in advance.

    Hi,
        You can use APOCF006(EXIT_/SAPAPO/SAPLCIF_PU_001) CIF User exit on APO side for CF_OBJECTTYPE = B(Delivery).
    I hope this will help you.
    Regards,
    Saurabh

  • To block the Purchase orders with the help of Quality info record.

    Dear All,
    I have one requirement and it is as follows.
    In Quality Info Record we have a tab called Release in that there are two sections one is Release quantity and the other is Block.
    Now my client requirement here is : consider an example suppose he enters 100 in the quantity field,upto 100 the system must allow him to do Purchase Order after the 100 system must show an error that quantity is blocked and Purchase order cannot be created.
    The purchase order should only create when he changes the quantity from 100 to the higher quantity.
    Is this possible?
    if so kindly tell me what are the  normal settings and configuration settings to be done.
    as the client doesnot want to change it manually.
    Kindly guide me in this regard.
    Regards,
    santosh.

    Dear Santosh,
    E.g. lets say Release Qty. = 100.
    now, if the material received from vendor is OK, you want to continue with that vendor, and if material is rejected,no further material will be rceived.
    as, your client do not wants to do it manually,
    in q-info record, above "release qty" there is "Release qty. active"tick. so, create Z function module which will only reset the "QINF FREI_MGKZ" field, and assign it into Follow-up action for Usage decision for acceptance. it will be better to create new UD code.
    at the end, if Material is Ok, after UD, it will remove "Release qty. active" tick and you can continue with that vendor.  and if UD is rejected, system is not going to allow for PO, as release qty was 100.
    regards,
    Amol

  • When Apple tracks your app usage for your battery is it able to track the usage of apps you've deleted off of your phone?

    Ive downloaded aops that I've ised but deleted. Is Apple able to track the usage of that apo that has been deleted?

    Usage data of individual apps is not regularly sent to Apple and you can simply opt out of sending any diagnostic or crash data.  And a deleted app certainly cannot send usage data as it is not available on the device to be used, nor can an absent app crash and generate a log report.

  • Please let me know the usage of def Backend systems?

    Hi friends
    Please let me know the usage of Def Backend systems with fields
    Thanks
    regards
    chinna
    Edited by: chinna krishna on Nov 25, 2008 5:53 AM

    Hi krishna
    In this Define Backend system . you can define all your backend system and EBp system, Catalog system, SUS ROS system. This configuration helps you to communicate with other system. and it helps to view howm many systems are connected with other systems.This configuration is mother of all configuration.
    Define Backend Systems
    In this activity, you specify
    u2022     Which backend system(s) you are working with
    u2022     Which local system you use to run your business scenario
    u2022     Whether purchase orders and their follow-on documents (confirmations, goods receipts/service entry sheets, and invoice) are to be created locally in Enterprise Buyer
    u2022     Whether contracts from the Sourcing application or from the Bidding Engine are to be created in the backend system (as of backend release 4.6B)
    u2022     Whether SAP Supplier Self-Services and SAP Enterprise Buyer are to run in the same client
    Requirements
    u2022     In the activity Define RFC Destination, you have defined the RFC destinations for your systems.
    u2022     In the activity ALE Settings (Logical System), you have defined the logical systems for your systems.
    Activities
    Define the following:
    u2022     Name and description of the system. If you have already defined the logical system in ALE Settings (Logical System) you should use the same description here.
    u2022     The RFC destination for the system
    u2022     Type and release level of the backend system
    In order to create a contract in the backend system, set up a logical system with RFC and system type CM.
    If you are using supplier registration with catalog integration, you must enter SUPPL_DIR here. A prerequisite is that you have have made a dummy entry under Logical System.
    If you are using SAP SUS and SAP EBP in the same client, you must enter EBP_SUS here.
    u2022     Select Local if the system is your local Enterprise Buyer system.
    As of SRM Release 4.0, this setting is required for all SRM scenarios. In previous releases, this entry was only required for standalone deployment.
    u2022     In the column SLD ID, enter the name of the associated system in the SAP System Landscape Directory (SLD). Prerequisite: The technical name of the local EBP system is entered in the SLD. Make this setting for
    o     The local Enterprise Buyer system if you exchange documents via the SAP Exchange Infrastructure (XI). The ID of the local EBP system is located in the SAP Landscape Directory (or LCR). Example: PJC_CLIENT_300
    o     An external system (for example, SAP PP-MRP or the system of an external provider) from which, you transfer requirements into Enterprise Buyer.
    o     The SUS System if you use this scenario
    o     For the SAP Content Integrator (CI). If you use the CI to map product IDs, the SLD-ID must be available for all systems whose product IDs are to be mapped.
    Hope this helps you
    regards
    Muthu

  • Service Order Extractor

    Using Service Order Data for customer report (Not using CRM).  I would like to enhance the extractor with VBELN and POSNR is this possible?
    Thanks!
    Caroline

    Hi Thomas,
    There is no standard delta capable DataSource to extract only actual costs of service orders.
    The following are options for extracting service order costs;
    1.  Use the standard DataSource 0CO_OM_OPA_6. It should be able to extract actual costs of service orders. 0CO_OM_OPA_6 is not only for service orders, but also for other order types.
    Or
    2. The standard DataSource 0PM_OM_OPA_2 extracts only PM order actual costs.
    You could modify the extractor (function module BWSM_PM_GET_ORDCST)
    of 0PM_OM_OPA_2 to select service orders too.
    Best Regards,
    Vincent

Maybe you are looking for

  • Ipad not recognized by usb windows

    Trying to get an iPad hooked to iTunes for a guy at work. I can't. His iPad is not recognized on his laptop, but ALL our iPods/iPads are recognized by it. This is an original iPad.

  • Empty folders in my trash that I can't get rid of...

    Hi, I know that there are and have been many posts in this discussion forum about undeletable items in Trash, but rest assured that I have tried everything I could come up with in the last few days and that I have no choice but to post this. First, t

  • Build and Go

    Cannot build and go my web browser, why is that so?

  • Java Error message with Webdeploy

    Hello It seems that the current Java version 7.0.45 produces a new error message when connecting to an ASA running 8.4(6) with Anyconnect 3.1.04059 through WebLaunch. The java error (information) states: This application will be blocked in a future J

  • Exchange 2003 - bulk create smtp contacts from user objects, bulk forward to smtp contacts, bulk turn off forwarding

    Exchange 2003 running on Windows server 2003.  ~50 Users all in same OU on same domain with primary email address [email protected]  objective is to create smtp contacts from each of the user objects imported back into the same domain in a different