Extract CO-OM Time (qty) from PM ORDER

Hello guru
I want to extract Quantity (Time) from CO_OM from PM ORDER ?
I try 0CO_OM_OPA1 and 0CO_OM_OPA6 but quantity are empty.
Can you help me ?

OPA 6 extracts actuals line items.
If you wish budget, commitment you may have to look at OPA7 for commitment and OPA 8 for  budget.
Cube the ODS are fine, you can bring actual, budget and commitment into that cube.
Ravi Thothadri

Similar Messages

  • Rounding of qty from sale order to planned order

    Hi ,
    There is sale order for 'X' material with qty 94,861meters, but when a planned order is generated the qty is rounding to 94,870 meters.
    can any one give the reason, what are the things should be changed.
    Regards,
    somiraghu

    Hi,
    In IMG under
    Production -> Master Requirements Planning -> Planning -> Lot-Size Calculation -> Maintain Rounding Profile
    Regards,
    Srilatha.

  • Goods receipt with Zero Quantity from Purchase Order

    Dear Expert,
    Is this a policy or something in SAP system?
    Why I can MIGO with Zero Qty from Purchase order that still open quantity?
    Best regards,
    Dedy

    Dear all,
    Thanks a lot for all replies.
    Dear Thiru,
    First thing, all system message i have set error, M7 061 Document does not contain any items
    M7 264 Qty and / or "delivery completed" ind. or final issue ind. are missing.
    Scenario :
    PO not yet tick delivery completed (open quantity), when we doing MIGO w/ zero qty and set delivery completed indicator to --> 2 Set, a document GR is posted w/ zero quantity.
    Also when PO already tick delivery completed, but when MIGO and set delivery completed indicator to --> 3 Do not set, a document GR is posted w/ zero quantity.
    Is this a way that SAP provide to tick delivery completed after PO final release w/ status not changeable so we do not need to cancel release or something like a bug/backdoor?
    Best regards,
    Dedy

  • Min.order Qty from Info record in PR in MRP

    Hi,
    Is there any setting by which , while running MRP, system will take min.order quantity from info record (instead of material master) ?.
    If not , then is there any way to achieve the same?

    Hi Csaba Szommer
    You are right, If you try to convent PR in to PO, and  if you have maintained min.order qty in info record,  you get message ( error / warning ) as per your message setting.
    Your question is also valid that if the same material is being procured by many vendors, and each vendor might have  different min. order qty, Hence it has to be picked from info record only.
    But I have tried with all the possibilites. While converting PR into PO, based on system message you can correct the Quantity, but if MRP generates PR ,based on the min.order qty in info record, then no need to handle such messages.
    You can try also, maintain different min. order qty in Material master and info record, it will always take from Material master and never from info record.
    But Logically, it should take from info record.
    That is why I wanted to make the system take info record min.order.qty.
    So it would solve the problem if you know some setting that takes min.order.qty from info record.
    ( ref: I am aware of planned del. time , there is one checkbox in  plant parametes, if you select that , system will take planned del.time from info record , if you don't, system will take it from material master. So if you know any such setting for min.order.qty, pls let me know. I could not find any such possibilities)
    Thanks

  • Open Purchase Order Separation from item Order Qty

    Hi All,
    Kindly  suggest me how to separate open Purchase order from Item Order Qty.if i have 2 WH with different Order qty.in report it will be shown total order qty of both WH's.like
    Item            WH              Order Qty
    A                 01               100
    A                 02                 50
                      or
    A                 01                  0
    i need like this A--150   OR A--50(order qty).
    plz look into my query and suggest me how to do this.
    select distinct t3.CardName as SuplierName,t2.[ItemCode], t2.itemname,t2.[U_pperson]as PP,((SELECT sum(T4.[OnHand])FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = '01')
    +(SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = 'EWH')) as Stock,t2.MinLevel as 'Min Bin',(((SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = '01')
    +(SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = 'EWH'))-t2.MinLevel) as balance,
    sum(t1.openqty)
    as OrderQty,
    t2.MaxLevel as 'Max Bin',(((SELECT  sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = '01')
    +(SELECT sum( T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = 'EWH'))-t2.MaxLevel)as 'Balance II' from OPOR t0 inner join POR1 t1 on t0.DocEntry=t1.DocEntry inner join OITM t2 on t2.ItemCode=t1.ItemCode inner join ocrd t3 on t3.CardCode=t2.CardCode inner join OITW t4 on t4.ItemCode=t1.ItemCode and t4.WhsCode=t1.WhsCode   where t2.validFor='y' and  t2.[U_pperson]='p1' or t2.[U_pperson]='p2'  or t2.[U_pperson]='p3' group by t3.CardName,T4.[OnHand],t2.[ItemCode], t2.itemname,t2.[U_pperson],t2.MinLevel,t2.MaxLevel,t1.OpenQty
    Thanks&Regards,
    P.Pratap

    Hi,
    Try this:
    select distinct t3.CardName as SuplierName,t2.[ItemCode], t2.itemname,t2.[U_pperson]as PP,((SELECT sum(T4.[OnHand])FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = '01')
    +(SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = 'EWH')) as Stock,t2.MinLevel as 'Min Bin',(((SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = '01')
    +(SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = 'EWH'))-t2.MinLevel) as balance,
    sum(t1.openqty)
    as OrderQty,
    t2.MaxLevel as 'Max Bin',(((SELECT  sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = '01')
    +(SELECT sum( T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND  T4.[WhsCode] = 'EWH'))-t2.MaxLevel)as 'Balance II'
    from
    OPOR t0 inner join POR1 t1 on t0.DocEntry=t1.DocEntry inner join OITM t2 on t2.ItemCode=t1.ItemCode inner join ocrd t3 on t3.CardCode=t2.CardCode inner join OITW t4 on t4.ItemCode=t1.ItemCode and t4.WhsCode=t1.WhsCode   where t2.validFor='y' and  t2.[U_pperson]='p1' or t2.[U_pperson]='p2'  or t2.[U_pperson]='p3'
    group by t3.CardName,t2.[ItemCode], t2.itemname,t2.[U_pperson],t2.MinLevel,t2.MaxLevel
    Thanks & Regards,
    Nagarajan

  • I created an album in iPhoto and every time I click on slideshow it plays the pictures backwards from the order in the album. How do I change that?

    I created an album in iPhoto and every time I click on slideshow it plays the pictures backwards from the order in the album. How do I change that?

    When running a slideshow from an album it will not run properly if the photos are sorted manually.  Sort them by any of the other options, title, date, rating, etc. and it will play correctly.
    Send a report of the problem to Apple via http://www.apple.com/feedback/iphoto.html.
    If you must sort them manually create the slideshow in the slideshow mode in iPhoto, not from an album.
    OT

  • Extract of gr processing time in open purchase order

    to display gr processing time in open purchase order .give me query for extract the gr processing time which table and which field we have to take

    Hi
    Check the tables<b> MKPF and MSEG</b> tables for this
    these 2 tables only will store the data related to the GR and GI's
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • Example on extracting time data from clusters

    Hi Experts,
       Please send me a sample code for time data extraction from clusters. or steps to extract time data from clusters.
    Thank you.
    Regards,
    Admir.
    Points will be rewarded.

    Hi
    see the sample report for time data fetching
    But ime data is not fetched from Clusters, only payroll data is fetched from clusters
    Time related infotypes are 2000 to 2999.
    REPORT zh_absence_quota
           NO STANDARD PAGE HEADING
           MESSAGE-ID zh_msg
           LINE-SIZE 169
           LINE-COUNT 60(1).
                   T A B L E S  D E C L A R A T I O N S
    TABLES:    pernr,    " Logical PNP
               t001p,    " Personnel Subarea
               t529u,    " Employment Status
               t500p,    " Personnel Area
               t501,     " Employee Group
               t503k,    " Employee Subgroup
               t549a,    " Payroll Area
               t554s,    " Absence Type
               t554t,    " Absence Type Texts
               t556a,    " Quota Type
               t527x,    " Orgn. Unit
               t556b,    " Quota Type Text
               pa0003.   " Payroll Status
    INFOTYPES:
               0000,   " Actions
               0001,   " Organizational Assignment
               2006,   " Absence Quota
               2001.   " Absences
                   T Y P E S  D E C L A R A T I O N S
    Employee Absence Structure
    TYPES: BEGIN OF s_2001,
             pernr TYPE persno,       " Personal Number
             awart TYPE awart,        " Absence Type
             subty TYPE subty,        " Sub Type
             endda TYPE endda,        " End date
             begda TYPE begda,        " Begin date
             abrtg TYPE abrtg,        " Absence days
             ename TYPE emnam,        " employee Name
             atext TYPE abwtxt,       " Absence Type Text
           END OF s_2001.
    Employee Absence Quota Structure
    TYPES: BEGIN OF s_2006,
             pernr TYPE persno,       " Personal Number
             ktart TYPE abwko,        " Absence Quota Type
             year(4) TYPE n,          " Year
             subty TYPE subty,        " Sub Type
             endda TYPE endda,        " End date
             begda TYPE begda,        " Begin date
             anzhl TYPE ptm_quonum,   " Absence Entitlement days
             ename TYPE emnam,        " employee Name
             ktext TYPE kotxt,        " Absence Type Text
             kverb TYPE kverb,        " Deduction Quota days
             anzhb TYPE ptm_quonum,   " Balance days
           END OF s_2006.
    Combined Employee Absence and Quota Structure
    TYPES: BEGIN OF s_rep,
             pernr TYPE persno,       " Personal Number
             ktart TYPE abwko,        " Absence Quota Type
             year(4) TYPE n,          " Year
             anzhl TYPE ptm_quonum,   " Absence Entitlement days
             kverb TYPE kverb,        " Deduction Quota days
             anzhb TYPE ptm_quonum,   " Balance days
             ktext TYPE kotxt,        " Quota Type Text
             awart TYPE awart,        " Absence Type
             abrtg TYPE abrtg,        " Absence days
             ename TYPE emnam,        " employee Name
             atext TYPE abwtxt,       " Absence Type Text
             endda TYPE endda,        " End date
             begda TYPE begda,        " Begin date
           END OF s_rep.
    Declaration of Variables
    DATA : gv_atext TYPE abwtxt,              " Absence Type Text
           gv_ktext TYPE kotxt,               " Absence Type Text
           gv_title1   TYPE sylisel,          " Report title
           gv_year(4)  TYPE c,                " Year
           gv_mon(2)   TYPE c,                " Month
           gv_hrs    TYPE abwtg,              " Hours
           gv_date   TYPE sydatum,            " Date
           gv_date1  TYPE sydatum,            " Date
           gv_dial.                           " Color flag
    Declaration of Constants
    CONSTANTS :
      c_x      TYPE c VALUE 'X',               " Sign
      c_1      TYPE persg   VALUE '1',         " Emp Group
      c_pernr(8) TYPE n VALUE '00000000',      " Pernr
      c_moabw  TYPE moabw   VALUE '01',        " Per SA Grouping
      c_mozko  TYPE mozko   VALUE '01',        " Per SA Grouping
      c_mopgk  TYPE mopgk   VALUE '1',         " Emp SGrp Grouping
      c_endda  TYPE sydatum VALUE '99991231',  " End Date
      c_val1(2) TYPE c VALUE '31',             " Date Type
      c_val2(2) TYPE c VALUE '12',             " Date Type
      c_val    LIKE p0041-dar01 VALUE '01',    " Date Type
      c_date1  LIKE sy-datum VALUE '18000101'. " Date
         I N T E R N A L  T A B L E S  D E C L A R A T I O N S
    DATA: i_2001 TYPE STANDARD TABLE OF s_2001 WITH HEADER LINE,
          i_2006 TYPE STANDARD TABLE OF s_2006 WITH HEADER LINE,
          i_rep1 TYPE STANDARD TABLE OF s_2006 WITH HEADER LINE,
          i_rep  TYPE STANDARD TABLE OF s_rep WITH HEADER LINE.
                     S E L E C T I O N  S C R E E N
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_ktart FOR t556a-ktart,  " Absence Quota Type
                    s_awart FOR t554s-subty.  " Absence Type
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) text-003.   " Quota & Absence
    PARAMETERS: p_qa RADIOBUTTON GROUP rb1.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) text-004.   " Quota
    PARAMETERS: p_q RADIOBUTTON GROUP rb1.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) text-005.   " Absence
    PARAMETERS: p_a RADIOBUTTON GROUP rb1.
    SELECTION-SCREEN END OF LINE.SELECTION-SCREEN END OF BLOCK b2.
                      I N I T I A L I Z A T I O N                        *
    INITIALIZATION.
                  A T  S E L E C T I O N - S C R E E N                   *
    AT SELECTION-SCREEN.
    Validate the screen fields
      PERFORM validate_screen.
                   S T A R T - O F - S E L E C T I O N                   *
    START-OF-SELECTION.
    Selection of Period
      PERFORM get_period.
    Get PERNR from LDB
    GET pernr.
      IF p0000-stat2 <> '0'.
    Get the data from PA0001,PA2001, PA2006
        PERFORM get_pers_data.
      ENDIF.
                   T O P - O F - P A G E                                 *
    TOP-OF-PAGE.
    Header of the List
      PERFORM header.
                   E N D - O F - P A G E                                 *
    Footer
    END-OF-PAGE.
      IF p_qa = c_x.
    Display both Absence and Quota Data
        WRITE /1(188) sy-uline.
      ELSEIF p_q = c_x.
    Display only Quota Data
        WRITE /1(114) sy-uline.
      ELSEIF p_a = c_x.
    Display only Absence Data
        WRITE /1(125) sy-uline.
      ENDIF.
                   E N D - O F - S E L E C T I O N                       *
    END-OF-SELECTION.
    Combine the Absence and Quota Data
      PERFORM append_data.
      IF p_qa = c_x.
    Display both Absence and Quota Data
        PERFORM display_qa_data.
      ELSEIF p_q = c_x.
    Display only Quota Data
        PERFORM display_q_data.
      ELSEIF p_a = c_x.
    Display only Absence Data
        PERFORM display_a_data.
      ENDIF.
    *&      Form  validate_screen
    Validation of Selection Screen fields
    FORM validate_screen .
    Validation of Personnel Number
      CLEAR pa0003.
      IF NOT pnppernr[] IS INITIAL.
        SELECT pernr
        FROM pa0003 UP TO 1 ROWS
          INTO pa0003-pernr
          WHERE pernr IN pnppernr.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Incorrect Personnel Number'(006).
        ENDIF.
      ENDIF.
    Validation of Employee Status
      CLEAR t529u.
      IF NOT pnpstat2[] IS INITIAL.
        SELECT SINGLE statv
          INTO t529u-statv
          FROM t529u
          WHERE statv IN pnpstat2 AND
                statn = '2' AND
                sprsl = sy-langu.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Invalid Employee Status'(007).
        ENDIF.
      ENDIF.
    Validation of Personnel Area
      CLEAR t500p.
      IF NOT pnpwerks[] IS INITIAL.
        SELECT persa
        FROM t500p UP TO 1 ROWS
          INTO t500p-persa
          WHERE persa IN pnpwerks.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Incorrect Personnel Area'(008).
        ENDIF.
      ENDIF.
    Validation of Personnel Sub Area
      CLEAR t001p.
      IF NOT pnpbtrtl[] IS INITIAL.
        SELECT btrtl
        FROM t001p UP TO 1 ROWS
          INTO t001p-btrtl
          WHERE btrtl IN pnpbtrtl.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Incorrect Personnel Sub Area'(009).
        ENDIF.
      ENDIF.
    Validation of Employee Group
      CLEAR t501.
      IF NOT pnppersg[] IS INITIAL.
        SELECT persg
        FROM t501 UP TO 1 ROWS
          INTO t501-persg
          WHERE persg IN pnppersg.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Incorrect Employee Group'(010).
        ENDIF.
      ENDIF.
    Validation of Employee Sub Group
      CLEAR t503k.
      IF NOT pnppersk[] IS INITIAL.
        SELECT persk
        FROM t503k UP TO 1 ROWS
          INTO t503k-persk
          WHERE persk IN pnppersk.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Incorrect Employee Sub Group'(011).
        ENDIF.
      ENDIF.
    Validation of Payroll Area
      CLEAR t549a.
      IF NOT pnpabkrs[] IS INITIAL.
        SELECT abkrs
        FROM t549a UP TO 1 ROWS
          INTO t549a-abkrs
          WHERE abkrs IN pnpabkrs.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Incorrect Employee Payroll Area'(026).
        ENDIF.
      ENDIF.
    Validation of Absence Type
      CLEAR t554s.
      IF NOT s_awart[] IS INITIAL.
        SELECT subty
        FROM t554s UP TO 1 ROWS
          INTO t554s-subty
          WHERE subty IN s_awart AND
                moabw EQ c_moabw AND
                endda EQ c_endda.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Incorrect Employee Absence Type'(012).
        ENDIF.
      ENDIF.
    Validation of Absence Quota Type
      CLEAR t556a.
      IF NOT s_ktart[] IS INITIAL.
        SELECT ktart
        FROM t556a UP TO 1 ROWS
          INTO t556a-ktart
          WHERE ktart IN s_ktart AND
                mopgk EQ c_mopgk AND
                mozko EQ c_mozko AND
                endda EQ c_endda.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Incorrect Employee Quota Type'(013).
        ENDIF.
      ENDIF.
    ENDFORM.                  "validate_screen
    *&      Form  get_period
    Get the Correct Period based on Selection screen selection
    FORM get_period.
      CLEAR: gv_year,gv_mon, gv_date, gv_date1.
      gv_year = sy-datum+0(4).
      gv_mon  = sy-datum+4(2).
      IF pnptimr1 = c_x.      " Current Date
        pnpbegda = sy-datum.
        pnpendda = sy-datum.
      ELSEIF pnptimr2 = c_x.  " Current Month
        CONCATENATE gv_year gv_mon c_val INTO gv_date.
        CONCATENATE gv_year gv_mon c_val1 INTO gv_date1.
        pnpbegda = gv_date.
        pnpendda = gv_date1.
      ELSEIF pnptimr3 = c_x.  " Current Year
        CONCATENATE gv_year c_val c_val INTO gv_date.
        CONCATENATE gv_year c_val2 c_val1 INTO gv_date1.
        pnpbegda = gv_date.
        pnpendda = gv_date1.
      ELSEIF pnptimr4 = c_x.  " Upto Today
        pnpbegda = c_date1.
        pnpendda = sy-datum.
      ELSEIF pnptimr5 = c_x.  " From Today
        pnpbegda = sy-datum.
        pnpendda = c_endda.
      ELSE.
        IF ( pnpbegda IS INITIAL AND pnpendda IS INITIAL ).
          pnpbegda = c_date1.
          pnpendda = c_endda.
        ELSEIF pnpbegda IS INITIAL AND NOT pnpendda IS INITIAL.
          pnpbegda = c_date1.
          pnpendda = pnpendda.
        ELSEIF NOT ( pnpbegda IS INITIAL AND pnpendda IS INITIAL ).
          pnpbegda = pnpbegda.
          pnpendda = pnpendda.
        ENDIF.
      ENDIF.
    ENDFORM.              "get_period
    *&      Form  get_pers_data
    Get the Absence and Quota Data from PA0001,PA2001,PA2006
    FORM get_pers_data.
      DATA: lv_year1(4) TYPE n,
            lv_year2(4) TYPE n,
            lv_date1 TYPE sydatum,
            lv_date2 TYPE sydatum,
            lv_anzhb TYPE ptm_quonum.   " Last Year Balance days
    Get data from Respective Infotypes
      rp_provide_from_last p0001 space pnpbegda pnpendda.
    Absence Data
      LOOP AT p2001 WHERE pernr = pernr-pernr AND
                          begda GE pnpbegda   AND
                          endda LE pnpendda.
        IF p2001-awart IN s_awart.
          i_2001-pernr    = pernr-pernr.
          i_2001-subty    = p2001-subty.
          i_2001-awart    = p2001-awart.
          i_2001-abrtg    = p2001-abrtg.
          i_2001-begda    = p2001-begda.
          i_2001-endda    = p2001-endda.
          READ TABLE p0001 WITH KEY pernr = p2001-pernr.
          i_2001-ename    = p0001-ename.
    Get the Absence Type Text
          CLEAR gv_atext.
          SELECT SINGLE atext INTO gv_atext FROM t554t
                  WHERE sprsl = sy-langu AND
                        moabw = c_moabw  AND
                        awart = p2001-awart.
          IF sy-subrc = 0.
            i_2001-atext = gv_atext.
          ENDIF.
          APPEND i_2001.
          CLEAR i_2001.
        ENDIF.
      ENDLOOP.
    Quota Data
      LOOP AT p2006 WHERE pernr = pernr-pernr AND
                          begda GE pnpbegda   AND
                          endda LE pnpendda.
        IF p2006-ktart IN s_ktart.
          i_2006-pernr    = pernr-pernr.
          i_2006-subty    = p2006-subty.
          i_2006-begda    = p2006-begda.
          i_2006-endda    = p2006-endda.
          i_2006-year     = p2006-endda+0(4).
          i_2006-ktart    = p2006-ktart.
          i_2006-anzhl    = p2006-anzhl.
          i_2006-kverb    = p2006-kverb.
          i_2006-anzhb    = p2006-anzhl - p2006-kverb.
          READ TABLE p0001 WITH KEY pernr = p2001-pernr.
          i_2006-ename    = p0001-ename.
    Get the Quota Type Text
          CLEAR gv_ktext.
          SELECT SINGLE ktext INTO gv_ktext FROM t556b
                  WHERE sprsl = sy-langu AND
                        mopgk = c_mopgk  AND
                        mozko = c_mozko  AND
                        ktart = p2006-ktart.
          IF sy-subrc = 0.
            i_2006-ktext = gv_ktext.
          ENDIF.
          APPEND i_2006.
          CLEAR i_2006.
        ENDIF.
      ENDLOOP.
    For Vacation Quota (80) get the Balance of the Last Year and
    add to the Current Year Quota
      LOOP AT i_2006.
        IF i_2006-ktart = '80'.
          lv_year1 = i_2006-endda+0(4).
          lv_year2 = lv_year1 - 1.
          CONCATENATE lv_year2 '01' '01' INTO lv_date1.
          CONCATENATE lv_year2 '12' '31' INTO lv_date2.
          LOOP AT p2006 WHERE pernr = i_2006-pernr AND
                              begda GE lv_date1    AND
                              endda LE lv_date2    AND
                              ktart = '80'.
            lv_anzhb = p2006-anzhl - p2006-kverb.
            i_rep1-pernr = i_2006-pernr.
            i_rep1-ktext = i_2006-ktext.
            i_rep1-anzhl = p2006-anzhl.
            i_rep1-kverb = p2006-kverb.
            i_rep1-ename = i_2006-ename.
            i_rep1-begda = p2006-begda.
            i_rep1-endda = p2006-endda.
            i_rep1-anzhb = lv_anzhb.
            i_rep1-ktart = '80'.
            i_rep1-year = lv_year2.
            APPEND i_rep1.
            CLEAR: i_rep1.
          ENDLOOP.
        ENDIF.
        CLEAR: lv_year1, lv_year2,
               lv_date1, lv_date2,lv_anzhb.
      ENDLOOP.
      SORT i_rep1 BY pernr ktart.
    ENDFORM.          "get_pers_data
    *&      Form  append_data
    Put the Absence and Quota Data into one Report Int Table
    FORM append_data.
      CLEAR:   i_rep.
      REFRESH: i_rep.
      SORT i_2001 BY pernr awart.
      SORT i_2006 BY pernr ktart year.
    Move I_REP1 data into i_2006
      LOOP AT i_rep1.
        MOVE-CORRESPONDING i_rep1 TO i_2006.
        APPEND i_2006.
        CLEAR  i_2006.
      ENDLOOP.
    Move the Absence and Quota Data into a final Int Table
      LOOP AT i_2006.
        i_rep-pernr = i_2006-pernr.
        i_rep-ename = i_2006-ename.
        i_rep-ktart = i_2006-ktart.
        i_rep-anzhl = i_2006-anzhl.
        i_rep-kverb = i_2006-kverb.
        i_rep-ktext = i_2006-ktext.
        i_rep-anzhb = i_2006-anzhb.
        i_rep-year  = i_2006-year.
        CLEAR i_2001.
        CASE i_2006-ktart.
          WHEN '81'.
            PERFORM get_2001 USING i_2006-pernr '1000' i_2006-year.
          WHEN '50'.
            PERFORM get_2001 USING i_2006-pernr '1002' i_2006-year.
          WHEN '80'.
            PERFORM get_2001 USING i_2006-pernr '1001' i_2006-year.
          WHEN '56'.
            PERFORM get_2001 USING i_2006-pernr '1003' i_2006-year.
          WHEN '51'.
            PERFORM get_2001 USING i_2006-pernr '1004' i_2006-year.
          WHEN '52'.
            PERFORM get_2001 USING i_2006-pernr '1005' i_2006-year.
          WHEN '54'.
            PERFORM get_2001 USING i_2006-pernr '1006' i_2006-year.
          WHEN '53'.
            PERFORM get_2001 USING i_2006-pernr '1007' i_2006-year.
          WHEN '55'.
            PERFORM get_2001 USING i_2006-pernr '1008' i_2006-year.
          WHEN '57'.
            PERFORM get_2001 USING i_2006-pernr '1009' i_2006-year.
          WHEN '90'.
            PERFORM get_2001 USING i_2006-pernr '2000' i_2006-year.
          WHEN '58'.
            PERFORM get_2001 USING i_2006-pernr '2001' i_2006-year.
          WHEN '59'.
            PERFORM get_2001 USING i_2006-pernr '2002' i_2006-year.
          WHEN '91'.
            PERFORM get_2001 USING i_2006-pernr '2003' i_2006-year.
        ENDCASE.
        IF sy-subrc <> 0.
          APPEND i_rep.
        ENDIF.
        CLEAR i_rep.
      ENDLOOP.
      SORT i_rep BY pernr ktart year.
      DELETE i_rep WHERE pernr = ' '.
    ENDFORM.              " append_data
    *&      Form  display_qa_data
    Display the Absence and Quota Data
    FORM display_qa_data.
      DATA: lv_flag,                   " New Flag
            lv_tot2 TYPE ptm_quonum.   " Absence Balance days
      IF i_rep[] IS INITIAL.
        MESSAGE i000 WITH 'No Data found'(014).
      ELSE.
        LOOP AT i_rep.
    toggle color
          PERFORM toggle_color.
          IF lv_flag <> space.
            NEW-LINE.
          ENDIF.
          AT NEW pernr.
            READ TABLE i_rep INDEX sy-tabix.
            WRITE:/1 sy-vline,2(8) i_rep-pernr,
              10 sy-vline,11(40)   i_rep-ename.
          ENDAT.
          AT NEW ktart.
            READ TABLE i_rep INDEX sy-tabix.
            WRITE: 1 sy-vline, 10 sy-vline,
              51 sy-vline,52(25)   i_rep-ktext.
          ENDAT.
          AT NEW year.
            READ TABLE i_rep INDEX sy-tabix.
            WRITE: 1 sy-vline, 10 sy-vline,
                  51 sy-vline,
                  77 sy-vline, 78(4)  i_rep-year,
                  82 sy-vline, 83(11) i_rep-anzhl,
                  94 sy-vline, 95(25) i_rep-atext,
                 120 sy-vline,133 sy-vline,
                 144 sy-vline,
                 155 sy-vline,156(13)  i_rep-anzhb,
                 169 sy-vline.
          lv_tot2 = lv_tot2 + i_rep-anzhb.
          ENDAT.
          WRITE: 1 sy-vline,  10 sy-vline,
                51 sy-vline,  77 sy-vline,
                82 sy-vline,  94 sy-vline,
               120 sy-vline,121(12)  i_rep-abrtg NO-ZERO,
               133 sy-vline,134(10)  i_rep-begda NO-ZERO,
               144 sy-vline,145(10)  i_rep-endda NO-ZERO,
               155 sy-vline,169 sy-vline.
          NEW-LINE.
          AT END OF pernr.
            WRITE  : /1(169) sy-uline.
            SUM.
            FORMAT COLOR 3.
            WRITE:/1 sy-vline,   10 sy-vline,
                  51 sy-vline,   77 sy-vline,
                  82 sy-vline,   94 sy-vline,
                 120 sy-vline,121(12) i_rep-abrtg,
                 133 sy-vline,144 sy-vline,
                 155 sy-vline, 156(13) lv_tot2,
                 169 sy-vline.
            FORMAT COLOR OFF.
            WRITE  : /1(169) sy-uline.
            CLEAR lv_tot2.
          ENDAT.
        ENDLOOP.
      ENDIF.
    ENDFORM.              " display_qa_data
    *&      Form  display_q_data
    Display only the Quota Data
    FORM display_q_data.
      DATA: lv_flag.               " New Flag
      SORT i_2006 BY pernr ktart year.
      IF i_2006[] IS INITIAL.
        MESSAGE i000 WITH 'No Data found'(014).
      ELSE.
        LOOP AT i_2006.
    Toggle Color
          PERFORM toggle_color.
          IF lv_flag <> space.
            NEW-LINE.
          ENDIF.
          AT NEW pernr.
            READ TABLE i_2006 INDEX sy-tabix.
            WRITE: /1 sy-vline,  2(8)  i_2006-pernr,
                   10 sy-vline,11(40)  i_2006-ename.
          ENDAT.
          AT NEW ktart.
            READ TABLE i_2006 INDEX sy-tabix.
            WRITE: 1 sy-vline,10 sy-vline,
                  51 sy-vline,52(25)  i_2006-ktext.
          ENDAT.
          AT NEW year.
            READ TABLE i_2006 INDEX sy-tabix.
            WRITE: 1 sy-vline,  10 sy-vline,
                  51 sy-vline,
                  77 sy-vline,78(4)  i_2006-year,
                  82 sy-vline,83(11) i_2006-anzhl,
                  94 sy-vline,95(13) i_2006-anzhb,
                 108 sy-vline.
            NEW-LINE.
          ENDAT.
          AT END OF pernr.
            WRITE  : /1(108) sy-uline.
            SUM.
            FORMAT COLOR 3.
            WRITE: /1 sy-vline, 10 sy-vline,
                   51 sy-vline,
                   77 sy-vline, 82 sy-vline,
                   94 sy-vline, 95(13) i_2006-anzhb,
                  108 sy-vline.
            FORMAT COLOR OFF.
            WRITE  : /1(108) sy-uline.
          ENDAT.
        ENDLOOP.
      ENDIF.
    ENDFORM.              " display_q_data
    *&      Form  display_a_data
    Display Only the Absence Quota
    FORM display_a_data.
      DATA: lv_flag.               " New Flag
      SORT i_2001 BY pernr awart.
      IF i_2001[] IS INITIAL.
        MESSAGE i000 WITH 'No Data found'(014).
      ELSE.
        LOOP AT i_2001.
    Toggle Color
          PERFORM toggle_color.
          IF lv_flag <> space.
            NEW-LINE.
          ENDIF.
          AT NEW pernr.
            READ TABLE i_2001 INDEX sy-tabix.
            WRITE: /1 sy-vline, 2(10) i_2001-pernr,
                   10 sy-vline,11(40) i_2001-ename.
          ENDAT.
          WRITE:  1 sy-vline, 10 sy-vline,
                  51 sy-vline,52(25) i_2001-atext,
                  77 sy-vline,78(12) i_2001-abrtg,
                  90 sy-vline,91(10) i_2001-begda,
                 101 sy-vline,102(10) i_2001-endda,
                 112 sy-vline.
          NEW-LINE.
          AT END OF pernr.
            WRITE  : /1(112) sy-uline.
            SUM.
            FORMAT COLOR 3.
            WRITE: /1 sy-vline, 10 sy-vline,
                   51 sy-vline,
                   77 sy-vline,78(12) i_2001-abrtg,
                   90 sy-vline,101 sy-vline,
                  112 sy-vline.
            FORMAT COLOR OFF.
            WRITE  : /1(112) sy-uline.
          ENDAT.
        ENDLOOP.
      ENDIF.
    ENDFORM.              " display_a_data
    *&      Form  header
    Write the Report Header
    FORM header .
      data : lv_pers type pbtxt,
             lv_orgn type orgtx.
      gv_title1 = sy-title.              " Set List Header
      IF p_qa = c_x.
        NEW-PAGE LINE-SIZE 193.
      ELSEIF p_a = c_x.
        NEW-PAGE LINE-SIZE 125.
      ELSEIF p_q = c_x.
        NEW-PAGE LINE-SIZE 119.
      ENDIF.
    Standard header
      FORMAT RESET.
      CALL FUNCTION 'Z_STANDARD_HEADER'
        EXPORTING
          title1 = gv_title1.
    Get the Personal Area and Org.Unit Texts
      clear : lv_pers,lv_orgn.
      select single name1 into lv_pers
        from t500p where persa = pnpwerks-low.
      select single orgtx into lv_orgn
        from t527x where sprsl = sy-langu and
                         orgeh = pnporgeh-low and
                         endda = c_endda.
      if not lv_pers is initial.
        write : /2 'Personal Area:'(017), 17(25) lv_pers color 7.
      endif.
      if not lv_orgn is initial.
        write : /2 'Organization Unit:'(021), 20(25) lv_orgn color 3.
      endif.
      IF p_qa = c_x.
        FORMAT COLOR COL_HEADING.
        WRITE  : /1(169) sy-uline.
        WRITE:/1 sy-vline,2(8)    'Emp.No'(015) CENTERED,
              10 sy-vline,11(40)  'Employee Name'(016) CENTERED,
              51 sy-vline,52(25)  'Quota Description'(018) CENTERED,
              77 sy-vline,78(4)   'Year'(027),
              82 sy-vline,83(11)  'Entitlement'(019),
              94 sy-vline,95(25)  'Absence Description'(022) CENTERED,
             120 sy-vline,121(12) 'Absence days'(023),
             133 sy-vline,134(10) 'From Date'(024),
             144 sy-vline,145(10) 'To Date'(025),
             155 sy-vline,156(13) 'Quota Balance'(020),
             169 sy-vline.
        WRITE  : /1(169) sy-uline.
      ELSEIF p_q = c_x.
        FORMAT COLOR COL_HEADING.
        WRITE  : /1(108) sy-uline.
        WRITE:/1 sy-vline,2(8)   'Emp.No'(015) CENTERED,
              10 sy-vline,11(40) 'Employee Name'(016) CENTERED,
              51 sy-vline,52(25) 'Quota Description'(018) CENTERED,
              77 sy-vline,78(4)  'Year'(027),
              82 sy-vline,83(11) 'Entitlement'(019),
              94 sy-vline,95(13) 'Quota Balance'(020),
             108 sy-vline.
        WRITE  : /1(108) sy-uline.
      ELSEIF p_a = c_x.
        FORMAT COLOR COL_HEADING.
        WRITE  : /1(112) sy-uline.
        WRITE:/1 sy-vline,2(8)    'Emp.No'(015) CENTERED,
              10 sy-vline,11(40)  'Employee Name'(016) CENTERED,
              51 sy-vline,52(25)  'Absence Description'(022) CENTERED,
              77 sy-vline,78(12)  'Absence days'(023),
              90 sy-vline,91(10)  'From Date'(024),
             101 sy-vline,102(10) 'To Date'(025),
             112 sy-vline.
        WRITE  : /1(112) sy-uline.
      ENDIF.
    ENDFORM.                    " header
    *&      Form  toggle_color
    This routine alters the color of the records in the list
    FORM toggle_color.
      IF gv_dial = space.
        FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
        gv_dial = c_x.
      ELSE.
        FORMAT COLOR 1 INTENSIFIED OFF.
        CLEAR gv_dial.
      ENDIF.
    ENDFORM.                    " toggle_color
    *&      Form  get_2001
    Get the ABsence type for each Quota type
    FORM get_2001 USING p_pernr TYPE persno
                        p_value TYPE awart
                        p_year.
      LOOP AT i_2001 WHERE pernr = p_pernr AND
                           awart = p_value AND
                           endda+0(4) = p_year.
        i_rep-awart = i_2001-awart.
        i_rep-abrtg = i_2001-abrtg.
        i_rep-atext = i_2001-atext.
        i_rep-begda = i_2001-begda.
        i_rep-endda = i_2001-endda.
        APPEND i_rep.
      ENDLOOP.
    ENDFORM.                                                    " get_2001
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • Copying Qty from contract to order...facing problems...

    Hi,
    1. Im creating orders(O) wrt to Qty Contract(C).
    When I create C -> O1 & C-> O2. The cumulative qty of orders(O1, O2) exceeding that of C. But system is allowing it with just warning. I want to issue error so that users should not create orders(exceeding qty from same contract).
    I checked all settings of copy control from CQ ->OR, but nothing is working out!!! Pls help on how to do it?
    2. Same issue when creating contract from another contract (in another scenerio)
        C1 -> C2. Here also system is accepting when C2 qty exceeds C1 qty. Pls help.

    For this you have to take assistance of an ABAPer in your team.
    As per my knowledge, the message number for your case is V1 501.
    For changing the message status of the message.
    Message Status Change
    - Go to SE91, input V1 in Message Class and 501 in Number and execute
    - Block the said message and press CTRL + SHIFT + F3 form your keyboard
    - Select Programs and click on green tick
    - Place your mouse on white box of left side and again press CTRL + SHIFT + F3 form your keyboard
    - Do repeat the third and fourth points thrice
    - Double click on the Description
    - Finally, take the assistance of ABABer and check the code
    Or
    Kindly refer following SAP Notes:
    Note 122691 - Message when exceeding the release quantity
    Note 182782 - No messages when quantity changed
    Thanks & Regards
    JP

  • BAPI to get matrial /qty/ bin from production order

    hii All,
    which is the BAPI name to get the  Bin/Material/Qty from production order

    HI,
    try using BAPI_PO_GET_DETAIL(S)
    REWARD IF USEFUL
    vivekanand

  • Goods Issue from Production Order in SAP

    Dear experts,
    I faced one issue not yet solve is that my customer created the production order
    then already issue for production for all quantities of child item .
    Example:
    Production OrderItem A
    Item A1 = 2 Qty
    Item A2 = 2 Qty
    Item A3 = 2 Qty
    Issue for Production Item A
    Item A1 = 2 Qty
    Item A2 = 2 Qty
    Item A3 = 2 Qty
    But later on, my customer found out that 1 Qty of Item A1 already damaged.
    So they want to issue one more Qty of Item A1 instead of one that already damaged.
    How can I issue one more Qty for this item?
    Please your advices are necessary for me.
    Best regard,
    Borey

    Hello Borey,
    Solutions may depend upon the way you want to book the cost for the damaged part A1.
         (a) If you want to book the cost to the production order itself (production order is a cost object), manually book consumption for another quantity using MB1A, 261 movement (you will have to mention the production order during posting this consumption).
         (b) If you do not want to book higher cost to that production order, you can:
               1. Extract damaged quantity of A1 from that production order using MB1A 262 movement.
               2. Create a manual QM lot and after rejection, move that damaged quantity to blocked stock.
               3. You can scrap or rework from that blocked quantity later.
               4. Issue another quantity of A1 from unrestricted stock to that production order using MB1A                261 movement.
    Hope I could help you.
    Best Regards.
    Rajen        

  • Error at the time of saving sales order

    Hi Sapfans,
    at the time of saving the order i am getting the following error
    please help me how to solve it
    please help me fast
    thanks and regards
    srinivas
    Runtime Errors MESSAGE_TYPE_X
    Date and Time 19.11.2007 15:19:18
    Short dump has not been completely stored (too big)
    Short text
    The current application triggered a termination with a short dump.
    What happened?
    The current application program detected a situation which really
    should not occur. Therefore, a termination with a short dump was
    triggered on purpose by the key word MESSAGE (type X).
    Error analysis
    Short text of error message:
    Maintain the current CRM release (table CRMPAROLTP)
    Long text of error message:
    Diagnosis
    Various transfer errors occur when transferring SAP sales orders to
    CRM or there is no status update or the status update has errors
    when transferring from CRM to the SAP system. This is caused by an
    incorrect entry for the CRM release in the SAP table CRMPAROLTP, or
    no entry is maintained at all.
    System Response
    To avoid data inconsistencies, this message causes a short dump.
    Procedure
    Maintain table CRMPAROLTP in your SAP system as is described in SAP
    Note 691710 and then repeat the process again.
    Procedure for System Administration
    Technical information about the message:
    Message class....... "V3"
    Number.............. 302
    Variable 1.......... " "
    Variable 2.......... " "
    Variable 3.......... " "
    Variable 4.......... " "
    Trigger Location of Runtime Error
    Program SAPMV45A
    Include MV45AF0B_BAPIDATEN_ERMITTELN
    Row 338
    Module type (FORM)
    Module Name BAPIDATEN_ERMITTELN
    Source Code Extract
    Line SourceCde
    308 else.
    309 *-----Nicht unterstützt, Abbruch
    310 message a301(v3).
    311 endif.
    312 endif.
    313
    314 *-Szenario A prüfen
    315 if lv_scenario_a = 'A'.
    316 vbak-vbkla+2(1) = lv_scenario_a.
    317 endif.
    318
    319 *-ermitteln CRM-Release
    320 call function func_name
    321 exporting
    322 i_paraname = 'CRM_RELEASE'
    323 importing
    324 e_parval1 = lv_parval1.
    325 lv_release_crm = lv_parval1+0(3).
    326
    327 * If lv_release_crm empty => X-message (correct download not possible)
    328 if da_download_active = charx.
    329 CALL FUNCTION 'CRM_CONNECTED'
    330 IMPORTING
    331 CRM_CONNECTED = lv_crm_connected
    332 EXCEPTIONS
    333 NO_CRMRFCPAR = 1
    334 OTHERS = 2
    335 .
    336 IF sy-subrc = 0 and lv_release_crm = space and
    337 lv_crm_connected = charx.
    >>>>> message x302(v3).
    339 ENDIF.
    340 endif.
    341
    342 *-Füllen der View für das Ermitteln der Auftragstabellen
    343 da_sales_view-partner = charx.
    344 da_sales_view-sdcond = charx.
    345 da_sales_view-sdcond_add = charx.
    346 da_sales_view-contract = charx.
    347 da_sales_view-text = charx.
    348 *-bei mehr als 1000 Belegflusssätzen werden Daten nicht ermittelt
    349 if lv_tabix_vbfa < 1000.
    350 da_sales_view-flow = charx.
    351 endif.
    352 da_sales_view-billplan = charx.
    353 da_sales_view-configure = charx.
    354 da_sales_view-credcard = charx.
    355
    356 *-Im Standardszenario soll eine manuelle Änderung eines CRM Belegs
    357 * (ab CRM Release 30A) nicht zurück ins CRM gesendet werden. Das

    HI,
    This error is because of crm release patch.
    You can update this patch.
    Use Transaction code se16.
    Type the table name-CRMPAROLTP
    Go in New Entries
    Type 'CRM_RELEASE' In First Field(PARNAME)
    Type '40A' In Value 1 i.e. 5th Field
    Save.
    This will solve your problem.
    If this is useful please give reward points.
    Regards,
    Ashok

  • Invoice Qty from VBFA

    Hello folks!:
    I have made a query and created a new field related to the invoice qty. All at item level and referenced to the sales order.
    This new field is configured to pull the invoice qty from the document flow:
    FACPOS = ' '.
    select  RFMNG  into FACPOS
    from vbfa
    where vbelv = vbap-vbeln
      and posnn = vbap-posnr
      and vbtyp_n = 'M'.
    endselect.
    Then the report shows the sales order qty and the invoice qty per item. Everything looks perfect at this time. The problem starts when the invoice is partially created from partial deliveries (which is very often) and then a partially invoice is made. Due to the fact that the data is generated from the VBFA table, it will always going to bring the latest invoice qty and not the sum of all the invoices.
    Example:
    Order for 6 pcs of product A
    Delivery for 4 pcs and Invoice for 4 pcs
    Pending 2 pcs
    Report shows: Invoice qty 4 pcs
    Then another invoice is created for 2 pcs
    Nothing left from the sales order
    Report shows: Invoice qty 2 pcs <----
    PROBLEM
    PROBLEM: The report only shows as a total of the invoice qty just the 2 pcs from the last invoice. I actually want to add up all the invoice qty's generated per line item in the document flow.
    1. Any idea on how to configure the code so that I can have the sum of all the invoices in the document flow per item?
    2. Is there a special function that can do this?
    Pls let me know
    Regards

    Hi,
    Pass the sales order number in VBFA for the field "VBELV".
    Execute.
    Here there is a chance of two cases.
    1)If the billing document is created w.r.t. order:In this case,you will get the invoice number from VBELN field.
    Pass the same to VBRP table as VBELN and then fetch "FKIMG".
    This will give you the quantity.
    2)If the billing document is created w.r.t. a delivery:In this case,take VBELN and again pass it to VBELN into VBFA table as VBELV and then fetch VBELN
    Pass the same to VBRP table as VBELN and then fetch "FKIMG".
    Regards,
    Krishna.

  • One time service's service order

    Dear All,
    One time service order's service is giving error msg that " enter all mandatory fields and asking for service code"
    Actually we have configured that in 1 time service's service order , SO wont ask for service code and it will work without master data,
    Please hlp.
    Shreya

    Hi,
    The Service Procurement process for Services without Service Master Record is described below:
    FOR CREATION OF SERVICE PO:
    1. Enter the Transaction ME21N, with Standard Document Type.
    2. Choose Item category D and Account Assignment (say) K.
    3. Enter the Short Text describes the Service at Item level in the field Short Text
    4. Enter the Plant, Material Group, Organizational data etc.
    5. At Item Detail screen, go to SERVICES Tab and maintain there also Short Texts which give some description that describes the Services for the Item Service activity.. maintain Qty, Value, UoM. when you proceed furher, system prompts you to enter the Cost center and G/L Acct for each service item. Then save the PO.
    FOR SERVICE ENTRY:
    1. Go to Transaction ML81N, choose Other Purchase Order tab, enter your PO Number, select Create Tab.
    2.Under the PO No, in the Short Text field, maintain a short text Like "Fist part Entry"
    3. At the item level, at the bottom of the screen, click Service Sel. Tab. System prompts a sub screen and there you select "From Purchase order radio button". Automatically navigates into Service selection screen, there you select your required Services.and click on Copy Services Tab.
    4. With this action, your Services from the PO will be copied to the Service Entry Sheet. There you can change Quantities accordingly.
    5. After this, click Flag icon on the top of the screen for Acceptance of Services and save the Entry sheet. Ure traffic light turns to Green and you'll get a Matl Document No.
    After this you can proceed to MIRO for Invoice posting, just like normal PO.
    Regards,
    Kanth
    K

  • Consume PIR from Sales Order when PIR's are not in BOM Usage 1

    I need help determining which combinations of Strategy groups I need at the header level (Variant Config KMAT) and item level Phantoms (HALB)  The Phantoms are just used to drive forecast, I have no need to issue or stock these items... just need them to be reduced when I use them in a Sales Order.
    Please help me understand the planning strategy groups or the requirement type combinations on the header material and the item materials.
    Standard SAP will consume the PIR if they exist in the production BOM (Usage 1).   However, due to Usage 1 having the object dependencies placed at lower levels and parameter effective, I am not able to add the foretasted assemblies to the usage 1 BOM.  I have created the PIR's for these HALBu2019s using Simulative Long Term Planning.
    I need a way to consume/reserve the foretasted PIR's from the sales order... without the use of the Production Order or Planned Order.  I think it can be done at the time of the sales order PGI... but have not been able to figure out the configuration.  Below are the main steps if the PGI is the vehicle for consumption.
    Sales Order uses Configuration Profile SD01, KMAT and BOM Usage 5 items are in the found in the Sales Order.
    KMAT is inactive in Demand Management (MD62).
    BOM Usage 5 items have PIRu2019s, they are created from Simulative Long Term Planning.
    1.     During Sales Order creation, the BOM Items are selected from VC.
    2.     During Sales Order PGI, the BOM Items are consumed and show as withdrawn in MD623/MD73.
         Sales Order Reservation and/or Consumption of Item Level Planned Independent Requirements     
         ***PIR's are not found in the Production BOM, only the Sales BOM.               
         ***Production BOM and Sales BOM have same KMAT, and same Object Dependencies          
         Step 1:     Create Sales order for KMAT 10000008                    
              a. Sales Order will have KMAT at line item 10               
              b. Sales Order will have BOM Usage 5 materials as items (see BOM's Below)          
              VC will pick the specific materials that are relevant to order          
         Step 2.     Sales Order is Saved/Confirmed.                         
              a. A reservation will be created against the Planned Independent Requirements for Sale BOM Items.
              MD73 for the HALB will show the Planned Independent Requirement, and the Reservation.     
              b. A Planned Order is created using BOM Usage 1.               
              VC will pick the specific materials that are relevant to order          
         Step 3.     Production Order is completed and issued to Sales Order.               
         Step 4.     Sales Order Delivered with PGI                    
              a. The HALB PIRu2019s in the Sales Order will be withdrawn (reservation goes away, PIR qty reduced by 1 PC).
    Client 100     BOM Usage 5                              
         Material Type     BOM Item     Material Number     Planning Strategy Group     Planning Independent Requirements     VC ObjDep          
         KMAT     Header     10000008     25     00-Inactive     KMAT          
         HALB     01     10000023     70     00-Active     Yes, At this level          
         HALB     10     10000025     70     00-Active     Yes, At this level          
         HALB     20     10000024     70     00-Active     Yes, At this level          
         HALB     30     10000026     70     00-Active     Yes, At this level          
         HALB     40     10000027     70     00-Active     Yes, At this level          
    Client 100     BOM Usage 1                              
         Material Type     BOM Item     Material Number     Planning Strategy Group     Planning Independent Requirements     VC ObjDep          
         KMAT     Header     10000008     25     00-Inactive     KMAT          
         KMAT     10     KA_350_FA_P4
    (Parameter Effective)     Null     Null     Yes, but at lower levels          
         KMAT     20     KA_350_FA_P4 (Parameter Effective)     Null     Null     Yes, but at lower levels          
         KMAT     30     KA_350_INT
    (Parameter Effective)     Null     Null     Yes, but at lower levels          
         KMAT     40     KA_350_INT
    (Parameter Effective)     Null     Null     Yes, but at lower levels

    You can manage copying data from the sales order to the production order by some FMS.
    For data not in the production order you can define UDF-s on the production order.
    E.g.copying the item code you can use this FMS:
    SELECT T0.ItemCode
    FROM RDR1 T0  INNER JOIN ORDR T1 ON T0.DocEntry = T1.DocEntry
    WHERE T1.DocNum =$[$32.1]
          and T0.VisOrder=0
    connecting this to the Product No. field setting autorefresh when Production Order Origin Number changes.
    Or copying the Item details you can use this FMS
    SELECT T0.Text
    FROM RDR1 T0  INNER JOIN ORDR T1 ON T0.DocEntry = T1.DocEntry
    WHERE T1.DocNum =$[$32.1]
          and T0.VisOrder=0
    connected to an UDF setting autorefresh when Production Order Origin Number changes.
    (And similar other FMS-s can be connected to other fields you want to copy.)

Maybe you are looking for

  • Anybody else having Arch mail being marked as spam?

    i dont know who to tell this to - but i just received an email subject "AUR Comment for hydra" and it went into gmail's spam folder. Not only that, it gives me a warning, "Warning: This message may not be from whom it claims to be. Beware of followin

  • JspWriter cannot be resolved to a type

    The following is CheckAddress.jsp page which checks if the form has the name and phone fields filled in or not. If not then it must print the errors. But the problem I am having is that the Eclipse is showing me the error "JspWriter cannot be resolve

  • Problems with iPod mini in iTunes 7

    I recently installed iTunes 7.0.1.8 on my PC and have been having problems with my iPod mini (Windows format, software version 2.6.1). Initialy I could not see the iPod in iTunes but I followed the advice in a support article to change the Startup Ty

  • How can I replace column value with a particular value in SQL

    Hi All, Can anyone please tell me how can I format my output with replacing a column value with a specific value which actually depends on the present value of the column I am executing the following SQL statement select state,count(id) from <table_n

  • REP-56040: Server already exists in the network

    Hi, I use report server on a solaris 8. When I stop/start it I get the error message: REP-56040: Server already exists in the network even when I properly shutdown it. I tried stopping the application server, killing all the process, the only solutio