SAP  document or SAP help weblink for Periodic billing & Aperiodic bi

Hi Experts,
Please share the detail SAP  document or SAP help weblink  related following ISU billing process
1) Periodic billing
2) Aperiodic billing

Hi,
Please refer : [Contract billing|http://help.sap.com/saphelp_utilities472/helpdata/en/45/556a3591541f67e10000009b38f889/frameset.htm] and [Invoicing|http://help.sap.com/saphelp_utilities472/helpdata/en/c4/02693582f4db60e10000009b38f889/frameset.htm]

Similar Messages

  • SAP PS Module Report, Help needed for the Right Logic.

    Hi,
             I have to develop a  PS module Report . This spec of this  report is when you enter , project # , month , date , proj type it should  display all the projects  and only the billing levels  with  different  fiels  like ITD cost, ITD sales, ytd cost,  sales,  awards  etc etc.
    Right now  Iam getting the O/P : in the  following manner, There are many fields  I am just showing the desired ones which have to be changed.
    Proj,           Title,         award,    ITDsales,         ITD cost ,    ytd sales,   ytd costs,
    14148,       New prj       123        --                   ---                    -
    14148-B01,  bill1          -
                234           -
                       456                -
    14148-B02,  bill2          -
                789          -
                       123                -
    14148.001    wbs1        -
             123                     -
                     456
    14148.001    wbs2        -
              567                    -
                     890
    But   for me  the desired output must be only for  project  and the billing levels. It shouldn’t be for WBS elements  xxxx.001  and xxxx.002.
    Desired  output:
    Proj,           Title,         award,    ITDsales,   ITD cost ,       ytd sales,      ytd costs,
    14148,       New prj       123        --               690                 -
                   1346
    14148-B01,  bill1          -
             234                -
                       456             -
    14148-B02,  bill2          -
             789                -
                      123              -
    The ITD costs  and YTD costs must be added   123 + 567 = 690 and
                                                                                 456+890 = 1346.
    And these values must come   on the project level.
    P.S:  I can restrict the values  for wbs elements  , means I can filter them at PRPS table  by giving prps-stufe LE ‘2’.  Then I wont get the wbs level, But I want the values of these to be added up and then show it on the project level.
    Please  go through  this code and let me  know where exactly I need to put the right logic  to work in the desired manner.
    Thanks   in advance
    Dan
    Code Below************************
    [code]TABLES: PROJ,                "Project Definition
            PRPS,                "WBS Elements
            prhi,
            CEPC,                " Profit Center w/ Group Head info
            BPGE,                "Plans (12, 13, etc.)
            COSP,                "Primary   Cost Element (Bill Sales, DPC)
            COSS,                "Secondary Cost Element (Shrd Sls,Sal,etc)
            COSB,                "Results Analysis Cost Elements (Unbil Sls)
            COOI,                "Commitments management: Line items
            JEST,                "Project Status
            TCJ04,               "Person Responsible for Project
            zpclasses,           "Project classes.
    New Added
            CRCO,            " Assignment of Work Center to Cost Center
            CRHD.            " Work Center Header
    Record Layout of extracted data
    TYPES: BEGIN OF EXDEF,       "Data definition of extract data
           X_BU(2)     TYPE C,   "Business Unit
           X_CNTR(10)  TYPE C,   " Profit Center
           X_PROJ(24)  TYPE C,   "Project def (Prj)
           X_CREP(30)  TYPE C,   "Contract Rep.
           X_BDREP(25) TYPE C,   "BD Rep. name
           X_GRPH(15)  TYPE C,   "Tech Rep employee name
           X_ACTREP(15)  TYPE C,  "Acct Rep employee name
           X_PMGR(15)  TYPE C,   "PM employee name
           X_TTLE(35)  TYPE C,   "Title
           X_CLNT(20)  TYPE C,   "Client
           X_POCN(20)  TYPE C,   "Prime Contract Number
           X_TYPE(13)  TYPE C,   "Order Type Sarnoff
           X_OPEN(10)  TYPE C,   "Open Date
           X_CLOSE(10) TYPE C,   "Close Date
           X_CGT(4)    TYPE C,   "CO, GV, TC
           X_DISTR(2)  TYPE C,   "Distribution Channel
           X_CONTR(6)  TYPE C,   "Percentage contribution
           X_AWRD(14)  TYPE C,   "Award        (Plan 11)
           X_P12R(14)  TYPE C,   "Auth Revenue (Plan 12 @ Rev)
           X_P12C(14)  TYPE C,   "Auth Cost    (Plan 12 @ Cost)
           X_P13R(14)  TYPE C,   "Auth Revenue (Plan 13 @ Rev)
           X_P13C(14)  TYPE C,   "Auth Cost    (Plan 13 @ Cost)
           X_ITDS(14)  TYPE C,   "ITD Sales
           X_ITDC(14)  TYPE C,   "ITD Costs
           X_YTDS(14)  TYPE C,   "YTD Sales
           X_YTDC(14)  TYPE C,   "YTD Costs
           X_MTHS(14)  TYPE C,   "Current Month Sales
           X_MTHC(14)  TYPE C,   "Current Month Costs
           X_ITDB(14)  TYPE C,   "ITD Billed Sales
           X_YTDB(14)  TYPE C,   "YTD Billed Sales
           X_MTHB(14)  TYPE C,   "Current Month Billed Sales
           X_COMM(14)  TYPE C,   "Commitments
           X_STAT(6)   TYPE C,   "Active or Inactive (REL, TECO, or CLSD)
           X_ZPROJCLASS(12),
           X_MTHIC(14) TYPE C,   "Current Month Incremental Costs
           X_YTDIC(14) TYPE C,   "YTD Incremental Costs
           X_ITDIC(14) TYPE C,   "ITD Incremental Costs
           X_ZSCURVE(10) TYPE C, "S-CURVE  Status
    New Added
           X_CM_COST(20) TYPE C,
           X_AM_COST(20) TYPE C,
           X_TL_COST(20) TYPE C,
           X_KP_COST(20) TYPE C,
           X_PM_COST(20) TYPE C,
    END OF EXDEF.
    Data declarations
    FIELD-SYMBOLS <MNT> .
    DATA: ETAB  TYPE  EXDEF   OCCURS 100  WITH  HEADER LINE.
    DATA:  X1_PM_COST(20) TYPE C,
           X1_TL_COST(20) TYPE C,
           X1_AM_COST(20) TYPE C,
           X1_CM_COST(20) TYPE C,
           X1_KP_COST(20) TYPE C.
    DATA: KOKRS_FIXED      LIKE PROJ-VKOKR VALUE 'DSRC',  "Controlling Area
          TOTAL_AWARD      LIKE BPGE-WTGES,
          TOTAL_AUTHR12    LIKE BPGE-WTGES,
          TOTAL_AUTHC12    LIKE BPGE-WTGES,
          TOTAL_AUTHR13    LIKE BPGE-WTGES,
          TOTAL_AUTHC13    LIKE BPGE-WTGES,
          TOTAL_ITDSALES   LIKE BPGE-WTGES,
          TOTAL_ITDCOSTS   LIKE BPGE-WTGES,
          TOTAL_ITDICOSTS  LIKE BPGE-WTGES,
          TOTAL_YTDSALES   LIKE BPGE-WTGES,
          TOTAL_YTDCOSTS   LIKE BPGE-WTGES,
          TOTAL_YTDICOSTS  LIKE BPGE-WTGES,
          TOTAL_MTHSALES   LIKE BPGE-WTGES,
          TOTAL_MTHCOSTS   LIKE BPGE-WTGES,
          TOTAL_MTHICOSTS  LIKE BPGE-WTGES,
          TOTAL_ITDBILLED  LIKE BPGE-WTGES,
          TOTAL_YTDBILLED  LIKE BPGE-WTGES,
          TOTAL_MTHBILLED  LIKE BPGE-WTGES,
          TOTAL_COMMITMENT LIKE COOI-WTGBTR,
          HOLD_PRART       LIKE PRPS-PRART,
          COUNT_PROJECTS   TYPE I,
          MNT_INDX(20)     TYPE C,
          HLD_INDX(3)      TYPE N,
          YYYY_MM(10)      TYPE C,
          TEMP-DATE(8)     TYPE C.
    Selection Screen
    SELECTION-SCREEN SKIP 3.
    SELECTION-SCREEN BEGIN OF BLOCK XEXTRPM WITH FRAME TITLE TEXT-001.
    SELECTION-SCREEN SKIP 2.
    PARAMETERS MONTH(2)  TYPE  N   OBLIGATORY.
    PARAMETERS YEAR(4)   TYPE  N   OBLIGATORY.
    SELECT-OPTIONS: EXTRPRJ  FOR PROJ-PSPID.     " Range of Projects
    SELECT-OPTIONS: EXTRTYP  FOR PRPS-PRART.  "Project Types (CO,GV,etc.*)
    SELECT-OPTIONS: EXTRPCTR FOR PROJ-PRCTR.     " Range of Profit centers
    SELECTION-SCREEN SKIP 2.
    PARAMETERS: OPT1 RADIOBUTTON GROUP OPTN,
                OPT2 RADIOBUTTON GROUP OPTN DEFAULT 'X'.
    select-options : s_pc for proj-zprojclass.   "project class
    SELECTION-SCREEN END OF BLOCK XEXTRPM.
    Select Tables
    START-OF-SELECTION.
    write: / 'Sales data (Unshared) extracted on: ', sy-datum.
    uline.
      CLEAR:  COUNT_PROJECTS,
              TOTAL_AWARD,
              TOTAL_AUTHR12,
              TOTAL_AUTHC12,
              TOTAL_AUTHR13,
              TOTAL_AUTHC13,
              TOTAL_ITDSALES,
              TOTAL_ITDCOSTS,
              TOTAL_YTDSALES,
              TOTAL_YTDCOSTS,
              TOTAL_MTHSALES,
              TOTAL_MTHCOSTS,
              TOTAL_ITDBILLED,
              TOTAL_YTDBILLED,
              TOTAL_MTHBILLED,
              TOTAL_COMMITMENT,
              ETAB.
    PROJ Table                                          Project Definition
      SELECT  * FROM PROJ                   "Project Definition
           WHERE PSPID IN EXTRPRJ AND      " Range of Project Numbers
              PRCTR IN EXTRPCTR and        " Range of Profit center
                zprojclass in s_pc.     "project class
    SELECT * FROM PRPS WHERE           "WBS Elements
                  PRART IN EXTRTYP         " Range of Proj.Types (CO,GV,TC..
                 and PSPHI = PROJ-PSPNR.
        HOLD_PRART   = '  '.               "clears project type
        CLEAR ETAB.
        ETAB-X_PROJ  = PRPS-POSID.
        ETAB-X_BU    = PRPS-PRCTR(2).      "Business Unit
        ETAB-X_PMGR = PROJ-VERNA.          "Project Manager
        IF PRPS-PRCTR(2) = '01'.
         ETAB-X_CNTR  = PRPS-PRCTR.         " Profit Center
         CONCATENATE SPACE PRPS-PRCTR INTO ETAB-X_CNTR SEPARATED BY SPACE.
        ELSE.
          ETAB-X_CNTR  = PRPS-PRCTR.         " Profit Center
        ENDIF.
         ETAB-X_TTLE  = PRPS-POST1.         "Title
        CLEAR  TEMP-DATE.
        TEMP-DATE    = PROJ-PLFAZ.         "Project planned start date
        CONCATENATE  TEMP-DATE4(2)  '/' TEMP-DATE6(2) '/'
                     TEMP-DATE+0(4)  INTO  ETAB-X_OPEN.
        TEMP-DATE    = PROJ-PLSEZ.         "Project planned finish date
        CONCATENATE  TEMP-DATE4(2)  '/' TEMP-DATE6(2) '/'
                     TEMP-DATE+0(4)  INTO  ETAB-X_CLOSE.
    Tech Lead
    will comment below
        SELECT SINGLE VERNA FROM TCJ04     "Tech Lead name from TCJ04
               INTO  (ETAB-X_GRPH) WHERE  VERNR = PROJ-ZGRPHD.
    End Of Tech Lead
    Account Manager
        SELECT SINGLE VERNA FROM TCJ04  "Acct Manager from TCJ04
               INTO  (ETAB-X_BDREP) WHERE  VERNR = PROJ-ZBUSDEV.
    ******End Of Account Manager
    Key Personnel
        SELECT SINGLE VERNA FROM TCJ04     "Account Rep name from TCJ04
               INTO  (ETAB-X_ACTREP) WHERE  VERNR = PROJ-ZRESPDIR.
    ********End of Key Personnel
    **Contract Manager
        SELECT SINGLE VERNA FROM TCJ04     "Contract Rep name from TCJ04
               INTO  (ETAB-X_CREP) WHERE  VERNR = PROJ-ZCNTREP.
    End of Contract Manager
    PRPS Table                            WBS's attached to the Project
       SELECT * FROM PRPS WHERE           "WBS Elements
                 PRART IN EXTRTYP         "Range of Proj.Types (CO,GV,TC..
                 AND PSPHI = PROJ-PSPNR.
                order by posid stufe.    "Sort by WBS & Level (needed?)
    get info from level 1 of the WBS
         IF PRPS-STUFE EQ 1.              "top-level WBS element
            HOLD_PRART  = PRPS-PRART.      "save project type for later
            ETAB-X_STAT = '????'.          "set ? as the default status
    get Status for level 1
            SELECT * FROM JEST             "use JEST to determine Status
               WHERE OBJNR =  PRPS-OBJNR
                 AND INACT EQ SPACE.       "space denotes an active status
               CASE JEST-STAT.             "find the system status (Ixxx)
                    WHEN 'I0001'.
                         ETAB-X_STAT = 'CRTD'.    "Created
                    WHEN 'I0002'.
                         ETAB-X_STAT = 'REL'.     "Released
                    WHEN 'I0045'.
                         ETAB-X_STAT = 'TECO'.    "Technically Complete
                    WHEN 'I0046'.
                         ETAB-X_STAT = 'CLSD'.    "Closed
               ENDCASE.
            ENDSELECT.
    Select only active projects (ie; those not with TECO or CLSD)
            IF  OPT2 EQ 'X'
               AND  ( ETAB-X_STAT EQ  'TECO'
                  OR  ETAB-X_STAT EQ  'CLSD' ).
                   EXIT.
            ENDIF.
    *comment Contract Rep and Proj man because we get them from PROJ now
           etab-x_crep   = prps-zzcont.     "Contract Rep.
           etab-x_pmgr   = prps-verna.      "Program Manager Name
            ETAB-X_CLNT   = PRPS-ZZMANDT.    "Client Name
            ETAB-X_CGT    = PRPS-PRART.      "CO, GV, TC, etc
            ETAB-X_DISTR  = PRPS-ZZVTWEG.    "Distrib Channel (ie; GP, etc.)
            ETAB-X_CONTR  = PRPS-USR04.      "Contribution %
            ETAB-X_POCN   = PRPS-ZZPOCN.     "Contract Number
            ETAB-X_TYPE   = PRPS-ZZORDT.     "Order Type Sarnoff
    Award and Authorization (Revenue & Cost)
            SELECT * FROM BPGE
               WHERE OBJNR   = PRPS-OBJNR
                 AND LEDNR   = '0001'        "Budget / Planning Ledger
                 AND TRGKZ   = 'N'           "Object indicator
                 AND WRTTP   = '01'          "Value Type
                 AND ( VERSN = '011'         "011 = Award
                    OR VERSN = '012'         "012 = Billing Authorization
                    OR VERSN = '013' ).      "013 = RA Authorization
                                             "010 = Funding Authorization
    Award                                                        Plan 11
              IF BPGE-VERSN = '011'.         "Plan 11 = Award
                CASE BPGE-VORGA.
                  WHEN 'KSTP'.               "KSTP = Cost level
                    ETAB-X_AWRD = ETAB-X_AWRD + BPGE-WTGES.
                ENDCASE.
              ENDIF.
        IF prps-stufe eq '2'.
    Authorization (Revenue & Cost plan 12)                       Plan 12
              IF BPGE-VERSN = '012'.         "Plan 12 = RA Authorization
                CASE BPGE-VORGA.
                  WHEN 'KSTR'.               "KSTR = Revenue level
                    ETAB-X_P12R = ETAB-X_P12R - BPGE-WTGES.
                  WHEN 'KSTP'.               "KSTP = Cost level
                    ETAB-X_P12C = ETAB-X_P12C + BPGE-WTGES.
                ENDCASE.
              ENDIF.
    Authorization (Revenue & Cost plan 13)                       Plan 13
              IF BPGE-VERSN = '013'.         "Plan 13 = RA Authorization
                CASE BPGE-VORGA.
                  WHEN 'KSTR'.               "KSTR = Revenue level
                    ETAB-X_P13R = ETAB-X_P13R - BPGE-WTGES.
                  WHEN 'KSTP'.               "KSTP = Cost level
                    ETAB-X_P13C = ETAB-X_P13C + BPGE-WTGES.
                ENDCASE.
              ENDIF.
        endif.
            ENDSELECT.                     "BPGE
      ENDIF.      "end of if prps-stufe eq 1. top-level WBS element
    COSP Table (External Postings)                     Awards
    COSP Table (External Postings)                     Billed Sales
    COSP Table (External Postings)                     DPC's & Legacy Load
            SELECT * FROM COSP
               WHERE OBJNR = PRPS-OBJNR    AND
                     GJAHR LE YEAR
             AND (
                 ( kstar = '0000400999'   and        "old CE for Award $
                   ( KSTAR BETWEEN '0000400990' AND '0000400999' AND
                     VERSN = '011'              AND    "11 = Award
                     WRTTP = '01' )                    "01 = Planned
              OR ( ( KSTAR BETWEEN '0000400001' AND '0000400989' OR
                     KSTAR BETWEEN '0000999001' AND '0000999003' ) AND
                     WRTTP = '04' )                    "04 = Actuals
              OR ( ( KSTAR BETWEEN '0000998001' AND '0000998010' OR
                     KSTAR BETWEEN '0000600001' AND '0000601999' ) AND
                     WRTTP = '04' )                    "04 = Actuals
    *------- Awards
           if cosp-kstar = '0000400999' and          "old 400999 = Awards
             IF COSP-KSTAR BETWEEN '0000400990' AND '0000400999' AND
                COSP-VERSN = '011'              AND    "11 = Award
                COSP-WRTTP = '01'.                     "01 = Planned
               IF YEAR       = COSP-GJAHR.
                 DO.
                     IF SY-INDEX LE MONTH.
                        MOVE SY-INDEX TO HLD_INDX.
                        MNT_INDX =  'COSP-WKGXXX'.
                        REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                        ASSIGN  (MNT_INDX) TO <MNT>.
                        ETAB-X_AWRD = ETAB-X_AWRD + <MNT>.
                     ELSE.
                        EXIT.
                     ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSP-GJAHR.
                   ETAB-X_AWRD = ETAB-X_AWRD +
                                 COSP-WKG001 + COSP-WKG002 +
                                 COSP-WKG003 + COSP-WKG004 +
                                 COSP-WKG005 + COSP-WKG006 +
                                 COSP-WKG007 + COSP-WKG008 +
                                 COSP-WKG009 + COSP-WKG010 +
                                 COSP-WKG011 + COSP-WKG012 +
                                 COSP-WKG013 + COSP-WKG014 +
                                 COSP-WKG015 + COSP-WKG016.
               ELSE.
                 EXIT.
               ENDIF.
             ENDIF.
    *------- Billed Sales
             IF ( COSP-KSTAR BETWEEN '0000400001' AND '0000400989' OR
                  COSP-KSTAR BETWEEN '0000999001' AND '0000999003' ) AND
                  COSP-WRTTP = '04'.
                                     "0000999001 = ITD Sales
                                     "0000999003 = ITD Billed Revenue
                IF YEAR = COSP-GJAHR.
                  DO.
                   IF SY-INDEX LE MONTH.
                      MOVE SY-INDEX TO HLD_INDX.
                      MNT_INDX =  'COSP-WKGXXX'.
                      REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                      ASSIGN  (MNT_INDX) TO <MNT>.
                      ETAB-X_ITDB = ETAB-X_ITDB - <MNT>.
                      ETAB-X_YTDB = ETAB-X_YTDB - <MNT>.
                      IF SY-INDEX = MONTH.
                         ETAB-X_MTHB = ETAB-X_MTHB - <MNT>.
                      ENDIF.
                   ELSE.
                      EXIT.
                   ENDIF.
                  ENDDO.
                ELSEIF YEAR > COSP-GJAHR.
                  ETAB-X_ITDB = ETAB-X_ITDB -
                             COSP-WKG001 - COSP-WKG002 -
                             COSP-WKG003 - COSP-WKG004 -
                             COSP-WKG005 - COSP-WKG006 -
                             COSP-WKG007 - COSP-WKG008 -
                             COSP-WKG009 - COSP-WKG010 -
                             COSP-WKG011 - COSP-WKG012 -
                             COSP-WKG013 - COSP-WKG014 -
                             COSP-WKG015 - COSP-WKG016.
                ELSE.
                  EXIT.
                ENDIF.
             ENDIF.
    *------- DPC's & Legacy Load
             IF ( COSP-KSTAR BETWEEN '0000998001' AND '0000998010' OR
                  COSP-KSTAR BETWEEN '0000600001' AND '0000601999' ) AND
                  COSP-WRTTP = '04'.
               IF YEAR = COSP-GJAHR.
                 DO.
                     IF SY-INDEX LE MONTH.
                        MOVE SY-INDEX TO HLD_INDX.
                        MNT_INDX =  'COSP-WKGXXX'.
                        REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                        ASSIGN  (MNT_INDX) TO <MNT>.
                        ETAB-X_ITDC  = ETAB-X_ITDC  + <MNT>.
                        ETAB-X_YTDC  = ETAB-X_YTDC  + <MNT>.
                        IF SY-INDEX = MONTH.
                           ETAB-X_MTHC  = ETAB-X_MTHC  + <MNT>.
                        ENDIF.
                     ELSE.
                        EXIT.
                     ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSP-GJAHR.
                   ETAB-X_ITDC = ETAB-X_ITDC +
                                 COSP-WKG001 + COSP-WKG002 +
                                 COSP-WKG003 + COSP-WKG004 +
                                 COSP-WKG005 + COSP-WKG006 +
                                 COSP-WKG007 + COSP-WKG008 +
                                 COSP-WKG009 + COSP-WKG010 +
                                 COSP-WKG011 + COSP-WKG012 +
                                 COSP-WKG013 + COSP-WKG014 +
                                 COSP-WKG015 + COSP-WKG016.
               ELSE.
                  EXIT.
               ENDIF.
             ENDIF.
           ENDSELECT.
    COOI Table (Commitments)              commitments for the WBS elements
           SELECT  * FROM COOI
             WHERE OBJNR =  PRPS-OBJNR.
               ETAB-X_COMM = ETAB-X_COMM + COOI-WTGBTR.
           ENDSELECT.
    COSS Table (External Postings)                    G&A on Commitments
    COSS Table (External Postings)                    Shared Billed Sales
    COSS Table (External Postings)                    Shared DPC's
    COSS Table (External Postings)                    Salary,ESE,OH, & G&A
           SELECT  *   FROM  COSS
             WHERE
              ( OBJNR =  PRPS-OBJNR AND
                WRTTP =  '22' )                         "G&A on Commitments
                    OR
              ( OBJNR =  PRPS-OBJNR AND
                GJAHR LE YEAR       AND
                WRTTP = '04'        AND                 "04 = Actuals
                   (                                   "Shared Billed Sales
                     (   KSTAR BETWEEN '0000400001' AND '0000400989' OR
                         KSTAR BETWEEN '0000999001' AND '0000999003' )
                     OR                                "Shared DPC's
                     (   KSTAR BETWEEN '0000600001' AND '0000601999' )
                     OR                                "Salary,ESE,OH, & G&A
                     ( ( KSTAR BETWEEN '0000001000' AND '0000001999'  OR
                         KSTAR BETWEEN '0000002100' AND '0000002199'  OR
                         KSTAR BETWEEN '0000002500' AND '0000002599'  OR
                         KSTAR BETWEEN '0000002800' AND '0000002899' ) )
                  and  parob not like 'PR%' ) "commented out on 4/19/2000
    *------- G&A on Commitments    (NOTE: data is always as of the RUN date)
             IF  COSS-WRTTP = '22'.
                   ETAB-X_COMM = ETAB-X_COMM +
                                 COSS-WKG001 + COSS-WKG002 +
                                 COSS-WKG003 + COSS-WKG004 +
                                 COSS-WKG005 + COSS-WKG006 +
                                 COSS-WKG007 + COSS-WKG008 +
                                 COSS-WKG009 + COSS-WKG010 +
                                 COSS-WKG011 + COSS-WKG012 +
                                 COSS-WKG013 + COSS-WKG014 +
                                 COSS-WKG015 + COSS-WKG016.
             ENDIF.
    *------- Shared Billed Sales
             IF ( COSS-KSTAR BETWEEN '0000400001' AND '0000400989' OR
                  COSS-KSTAR BETWEEN '0000999001' AND '0000999003' ) AND
                  COSS-WRTTP = '04'.
               IF YEAR = COSS-GJAHR.
                 DO.
                     IF SY-INDEX LE MONTH.
                        MOVE SY-INDEX TO HLD_INDX.
                        MNT_INDX =  'COSS-WKGXXX'.
                        REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                        ASSIGN  (MNT_INDX) TO <MNT>.
                        ETAB-X_ITDB = ETAB-X_ITDB - <MNT>.
                        ETAB-X_YTDB = ETAB-X_YTDB - <MNT>.
                        IF SY-INDEX = MONTH.
                           ETAB-X_MTHB = ETAB-X_MTHB - <MNT>.
                        ENDIF.
                     ELSE.
                        EXIT.
                     ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSS-GJAHR.
                 ETAB-X_ITDB = ETAB-X_ITDB -
                               COSS-WKG001 - COSS-WKG002 -
                               COSS-WKG003 - COSS-WKG004 -
                               COSS-WKG005 - COSS-WKG006 -
                               COSS-WKG007 - COSS-WKG008 -
                               COSS-WKG009 - COSS-WKG010 -
                               COSS-WKG011 - COSS-WKG012 -
                               COSS-WKG013 - COSS-WKG014 -
                               COSS-WKG015 - COSS-WKG016.
               ELSE.
                  EXIT.
               ENDIF.
             ENDIF.
    *------- Shared DPC's
             IF COSS-KSTAR BETWEEN '0000600001' AND '0000601999' AND
                COSS-WRTTP = '04'.
               IF YEAR = COSS-GJAHR.
                 DO.
                     IF SY-INDEX LE MONTH.
                        MOVE SY-INDEX TO HLD_INDX.
                        MNT_INDX =  'COSS-WKGXXX'.
                        REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                        ASSIGN  (MNT_INDX) TO <MNT>.
                        ETAB-X_ITDC  = ETAB-X_ITDC  + <MNT>.
                        ETAB-X_YTDC  = ETAB-X_YTDC  + <MNT>.
                        IF SY-INDEX = MONTH.
                           ETAB-X_MTHC  = ETAB-X_MTHC  + <MNT>.
                       ENDIF.
                     ELSE.
                        EXIT.
                     ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSS-GJAHR.
                   ETAB-X_ITDC = ETAB-X_ITDC +
                                 COSS-WKG001 + COSS-WKG002 +
                                 COSS-WKG003 + COSS-WKG004 +
                                 COSS-WKG005 + COSS-WKG006 +
                                 COSS-WKG007 + COSS-WKG008 +
                                 COSS-WKG009 + COSS-WKG010 +
                                 COSS-WKG011 + COSS-WKG012 +
                                 COSS-WKG013 + COSS-WKG014 +
                                 COSS-WKG015 + COSS-WKG016.
               ELSE.
                  EXIT.
               ENDIF.
             ENDIF.
    *------- Salary,ESE,OH,& G&A
             IF ( COSS-KSTAR BETWEEN '0000001000' AND '0000001999'  OR
                  COSS-KSTAR BETWEEN '0000002100' AND '0000002199'  OR
                  COSS-KSTAR BETWEEN '0000002500' AND '0000002599'  OR
                  COSS-KSTAR BETWEEN '0000002800' AND '0000002899' ) AND
                  COSS-WRTTP = '04'.
               IF YEAR = COSS-GJAHR.
                 DO.
                   IF SY-INDEX LE MONTH.
                      MOVE SY-INDEX TO HLD_INDX.
                      MNT_INDX =  'COSS-WKGXXX'.
                      REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                      ASSIGN  (MNT_INDX) TO <MNT>.
                      ETAB-X_ITDC = ETAB-X_ITDC + <MNT>.
                      ETAB-X_YTDC = ETAB-X_YTDC + <MNT>.
                      IF SY-INDEX = MONTH.
                          ETAB-X_MTHC = ETAB-X_MTHC + <MNT>.
                      ENDIF.
                   ELSE.
                      EXIT.
                   ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSS-GJAHR.
                 ETAB-X_ITDC = ETAB-X_ITDC +
                               COSS-WKG001 + COSS-WKG002 +
                               COSS-WKG003 + COSS-WKG004 +
                               COSS-WKG005 + COSS-WKG006 +
                               COSS-WKG007 + COSS-WKG008 +
                               COSS-WKG009 + COSS-WKG010 +
                               COSS-WKG011 + COSS-WKG012 +
                               COSS-WKG013 + COSS-WKG014 +
                               COSS-WKG015 + COSS-WKG016.
               ELSE.
                 EXIT.
                ENDIF.
             ENDIF.
            ENDSELECT.
    COSB Table (Results from running RA)                    Unbilled Sales
            SELECT * FROM COSB
               WHERE OBJNR = PRPS-OBJNR
                 AND KSTAR BETWEEN '0000003004' AND '0000003005'
                                   "0000003004 = Unbilled Revenue
                                   "0000003005 = Unearned Revenue
                 AND GJAHR LE YEAR
                 AND WRTTP = '32'.                    "32 = Results Analysis
               IF YEAR = COSB-GJAHR.
                 DO.
                     IF SY-INDEX LE MONTH.
                        MOVE SY-INDEX TO HLD_INDX.
                        MNT_INDX =  'COSB-WKGXXX'.
                        REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
                        ASSIGN  (MNT_INDX) TO <MNT>.
                        ETAB-X_ITDS = ETAB-X_ITDS - <MNT>.
                        ETAB-X_YTDS = ETAB-X_YTDS - <MNT>.
                        IF SY-INDEX = MONTH.
                           ETAB-X_MTHS = ETAB-X_MTHS - <MNT>.
                        ENDIF.
                     ELSE.
                        EXIT.
                     ENDIF.
                 ENDDO.
               ELSEIF YEAR > COSB-GJAHR.
                 ETAB-X_ITDS = ETAB-X_ITDS -
                               COSB-WKG001 - COSB-WKG002 -
                               COSB-WKG003 - COSB-WKG004 -
                               COSB-WKG005 - COSB-WKG006 -
                               COSB-WKG007 - COSB-WKG008 -
                               COSB-WKG009 - COSB-WKG010 -
                               COSB-WKG011 - COSB-WKG012 -
                               COSB-WKG013 - COSB-WKG014 -
                               COSB-WKG015 - COSB-WKG016.
               ELSE.
                  EXIT.
               ENDIF.
            ENDSELECT.
      ENDSELECT.               "End of WBS records (from PRPS) for project
    Get Total Sales by adding Billed Sales to Unbilled Sales.
       ETAB-X_ITDS  =  ETAB-X_ITDS  +  ETAB-X_ITDB.
       ETAB-X_YTDS  =  ETAB-X_YTDS  +  ETAB-X_YTDB.
       ETAB-X_MTHS  =  ETAB-X_MTHS  +  ETAB-X_MTHB.
       IF  HOLD_PRART IN EXTRTYP.   "Matches the user requested project type
         IF  OPT1 EQ 'X' OR         "All projects
           ( OPT2 EQ 'X' AND        "Only active projects
             ETAB-X_STAT NE  'TECO' AND
             ETAB-X_STAT NE  'CLSD' ).
               TOTAL_AWARD      = TOTAL_AWARD      + ETAB-X_AWRD.
               TOTAL_AUTHR12    =   TOTAL_AUTHR12    + ETAB-X_P12R .
              TOTAL_AUTHC12    = TOTAL_AUTHC12    + ETAB-X_P12C.
               TOTAL_AUTHR13    = TOTAL_AUTHR13    + ETAB-X_P13R.
               TOTAL_AUTHC13    = TOTAL_AUTHC13    + ETAB-X_P13C.
               TOTAL_ITDSALES   = TOTAL_ITDSALES   + ETAB-X_ITDS.
               TOTAL_ITDCOSTS   = TOTAL_ITDCOSTS   + ETAB-X_ITDC.
               TOTAL_YTDSALES   = TOTAL_YTDSALES   + ETAB-X_YTDS.
               TOTAL_YTDCOSTS   = TOTAL_YTDCOSTS   + ETAB-X_YTDC.
               TOTAL_MTHSALES   = TOTAL_MTHSALES   + ETAB-X_MTHS.
               TOTAL_MTHCOSTS   = TOTAL_MTHCOSTS   + ETAB-X_MTHC.
               TOTAL_ITDBILLED  = TOTAL_ITDBILLED  + ETAB-X_ITDB.
               TOTAL_YTDBILLED  = TOTAL_YTDBILLED  + ETAB-X_YTDB.
               TOTAL_MTHBILLED  = TOTAL_MTHBILLED  + ETAB-X_MTHB.
               TOTAL_COMMITMENT = TOTAL_COMMITMENT + ETAB-X_COMM.
               PERFORM SHIFT_SIGN.
               APPEND  ETAB.              "Write data to internal table
               CLEAR   ETAB.
               COUNT_PROJECTS = COUNT_PROJECTS + 1. "Count # of Projects
         ENDIF.
       ENDIF.
       ENDSELECT.
    ENDSELECT.                          "End of Projects from PROJ table
      PERFORM GRAND_TOTALS.
      SORT  ETAB  BY  X_BU X_PROJ.
      ETAB-X_BU    = 'BU'.
      ETAB-X_CNTR  = 'PrftCntr'.
      ETAB-X_PROJ  = 'Proj'.
      ETAB-X_CREP  = 'Contract Mgr'.
      ETAB-X_BDREP = 'Account Mgr'.
      ETAB-X_GRPH  = 'Technical Lead'.
      ETAB-X_ACTREP = 'Key Person1'.
      ETAB-X_PMGR  = 'Program Mgr'.
      ETAB-X_TTLE  = 'Title'.
      ETAB-X_CLNT  = 'Client'.
      ETAB-X_POCN  = 'Contract #'.
      ETAB-X_TYPE  = 'Type'.
      ETAB-X_OPEN  = 'Open'.
      ETAB-X_CLOSE = 'Close'.
      ETAB-X_CGT   = 'CGT'.
      ETAB-X_DISTR = 'DC'.
      ETAB-X_CONTR = 'Contr%'.
      ETAB-X_AWRD  = 'Award'.
      ETAB-X_P12R  = 'Auth12 Sales'.
      ETAB-X_P12C  = 'Auth12 Cost'.
      ETAB-X_P13R  = 'Auth13 Sales'.
      ETAB-X_P13C  = 'Auth13 Cost'.
      ETAB-X_ITDS  = 'ITD Sales'.
      ETAB-X_ITDC  = 'ITD Costs'.
      ETAB-X_YTDS  = 'YTD Sales'.
      ETAB-X_YTDC  = 'YTD Costs'.
      ETAB-X_MTHS  = 'Mth Sales'.
      ETAB-X_MTHC  = 'Mth Costs'.
      ETAB-X_ITDB  = 'ITD Billed'.
      ETAB-X_YTDB  = 'YTD Billed'.
      ETAB-X_MTHB  = 'Mth Billed'.
      ETAB-X_COMM  = 'Commitments'.
      ETAB-X_STAT  = 'Status'.
      INSERT ETAB  INDEX 1.    "Write a report header line to internal table
      CLEAR  ETAB.
    CALL FUNCTION 'Z_RH_START_EXCEL_DATA_OLE'
        EXPORTING
           data_name = 'C:\WINNT\Profiles\cbraswell\Desktop\TestTemp.xlt'
             DATA_NAME          = 'ZSales.XLS'
             DATA_PATH_FLAG     = 'W'
             DATA_TYPE          = 'DAT'
             DATA_BIN_FILE_SIZE = 'ZSales'
             CHART_TITLE        = 'ZSales'
             CHART_TYPE         = 2
             CATEGORY_TITLE     = 'ZSales'
             VALUE_TITLE        = 'ZSales'
             DATA_XTOP_COR      = 0
             DATA_YTOP_COR      = 0
             DATA_XBOT_COR      = 0
             DATA_YBOT_COR      = 0
             CATEGORY_XTOP_COR  = 0
             CATEGORY_YTOP_COR  = 0
             CATEGORY_XBOT_COR  = 0
             CATEGORY_YBOT_COR  = 0
         TABLES
              DATA_TAB           =    ETAB
         EXCEPTIONS
              NO_BATCH           = 1
              DOWNLOAD_ERROR     = 2
              INVALID_TYPE       = 3
              INTERNAL_ERROR     = 4
              NO_OLE_SUPPORT     = 5
              OLE_FILE_ERROR     = 6
              OLE_ERROR          = 7
              NO_DATA            = 8
              COORDINATE_ERROR   = 9
              OTHERS             = 10.
    Negative # sign in the front of number for downloading to Excel
    FORM  SHIFT_SIGN.
      IF ETAB-X_AWRD CA '-'.    SHIFT ETAB-X_AWRD RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_P12R CA '-'.    SHIFT ETAB-X_P12R RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_P12C CA '-'.    SHIFT ETAB-X_P12C RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_P13R CA '-'.    SHIFT ETAB-X_P13R RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_P13C CA '-'.    SHIFT ETAB-X_P13C RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_ITDS CA '-'.    SHIFT ETAB-X_ITDS RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_ITDIC CA '-'.   SHIFT ETAB-X_ITDIC RIGHT CIRCULAR.    ENDIF.
      IF ETAB-X_ITDC CA '-'.    SHIFT ETAB-X_ITDC RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_YTDS CA '-'.    SHIFT ETAB-X_YTDS RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_YTDC CA '-'.    SHIFT ETAB-X_YTDC RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_YTDIC CA '-'.   SHIFT ETAB-X_YTDIC RIGHT CIRCULAR.    ENDIF.
      IF ETAB-X_MTHS CA '-'.    SHIFT ETAB-X_MTHS RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_MTHC CA '-'.    SHIFT ETAB-X_MTHC RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_MTHIC CA '-'.   SHIFT ETAB-X_MTHIC RIGHT CIRCULAR.    ENDIF.
      IF ETAB-X_ITDB CA '-'.    SHIFT ETAB-X_ITDB RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_YTDB CA '-'.    SHIFT ETAB-X_YTDB RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_MTHB CA '-'.    SHIFT ETAB-X_MTHB RIGHT CIRCULAR.     ENDIF.
      IF ETAB-X_COMM CA '-'.    SHIFT ETAB-X_COMM RIGHT CIRCULAR.     ENDIF.
    ENDFORM.
    FORM  GRAND_TOTALS.
    SKIP 1.    .
    WRITE: / '----
    WRITE: / 'System ID                  = ', SY-SYSID,
           / 'Client                     = ', SY-MANDT,
           / 'User                       = ', SY-UNAME,
           / 'Date of data extract       = ', SY-DATUM ,
           / 'Number of Projects          =           ',   COUNT_PROJECTS,
           / 'total Award      (Plan 11)  = ', TOTAL_AWARD,
           / 'total Auth Sales

    Hi all,
        Iam really waiting for someone to see and  get the logic right  for this code.Iam completely stuck up.  i need ur help
    Thanks

  • Accounting document in sap

    Hi all,
    I have created a proforma invoice (billing document), in the excise invoice, the excise transaction is Letter of undertaking.
    The accounting document should not create in this case, but a acccounting document (GL accounting document SA) is getting generated for the billing document as the reference.
    Please help me.
    Thanks

    Dear, thenmozhi
    please check the billing document type for that particular pro-forma invoice, accounting determination procedure might assigned there.
    I think, you are doing Excise invoice J1IIN with ref to Pfo-forma  invoice. and after posting to FI of commercial billing and excise invoice, you are watching in vf02 accounting documents get generated with pro-forma invoice document no. my client's scenario is also same,  it is normal, not any error. and there is no wrong in your process.
    Thanks.

  • How to Prepare FD for a Periodic Billing report

    Hello Gurus,
    I need to create a FD for  Periodic Billing report.
    could  anyone of you help me to prepare it?
    My Basic doubts are:
    how do i know what are the characteristics, KFs,Mp etc should i use in creating?
    While discussing regarding requirement what should i ask the user to give inputs.
    Please help me to do it.
    BR,
    Shyamala.

    hi
    why dont u use Prompt Display  to "Place label on side of prompt" ?? . it will align automatically.
    Regards
    Sher

  • Downpayment..milestone..periodic billing...WBS element...

    downpayment..milestone billing.....periodic billing...WBS element...billing plan..commission agent....rentals...extra work in construction...cancellation of flat..allotment of parking..sale of real estate unit..sale of TDR..sale of services...payment terms..
    these are the words making me MAD for the last few days can anyone have an idea on real estate business..how it actually works in SAP. i mean to say that how in SAP SD we work on the standard system with out using SAP RE-FX module...
    and as in a part of business process after the creation of order wat we actually do..whether delivery or billing process.. and how the collection part from the customer will come in to picture..
    the answer will send me from SUN to MOON...
    thanx

    Hi Nagendra Prasad,
    Please find good stuff on Billing Plans Below:
    1. Resource Related Billing
    Configuration at Broad level will be as under:
    1. Configuration of Project System to create Projects. (PS)
    2. Sales Order Type as Main Order (SD)
    3. Configuration for Hours maintainance (PS)
    4. Sales Order Type for Dependend Order (SD). This order should be having control as automatic. It will be taken automatically in Billing Request through DIP Profile.
    5. DIP Profile (PS / SD)
    6. Billing Type (SD)
    7. VKOA setting for G/L account Determination (SD / FI)
    2. Milestone Billing
    This can be configured using Milestone Billing.
    1. Create New Sales Order Type, say ZOR (Copy of OR) through T.Code: VOV8
    Maintain Delivery Type as LF & Billing Type As 'F1' - Order Related / 'F2' Delivery Related.
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Header > Define Sales Documents Types
    2. Assign New Sales Document Type to Sales Area, For Eg:
    1000 (S.Org) / 10 (D.Channel) / 10 (Division) / ZOR (S.O Type)
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Header > Assign Sales Area to Sales Document Type
    3. Create New Item Category, say ZTAN - Copy of TAN (For delivery Related) / ZTAD - Copy of TAD (For Order realted) / ZTAS - copy of TAS (For Third Party)
    Maintain as under (others remaining same)
    Billing Relevance: I
    Billing Plan Type: 01
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Item > Define Item Category
    4. Assign Item Category, for ex (assuming Usage & higher level item category as blank):
    Sales Document Type | Item Category Group | Default Item Category
    ZOR | NORM | ZTAN
    ZOR | DEIN | ZTAD
    ZOR | BANS | ZTAS
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Item > Assign Item Category
    Note: In the above Billing Type '01' plays the main controller for milestone billing. In Sales order, at item level, we require to maintain the billing plan.
    Follow the Sales cycle as normal sales cycle for particular Scenarios
    3. Periodic Billing
    This can be configured using Periodic Billing.
    1. Create New Sales Order Type, say ZOR (Copy of OR) through T.Code: VOV8
    Maintain Delivery Type as LF & Billing Type As 'F1' - Order Related / 'F2' Delivery Related.
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Header > Define Sales Documents Types
    2. Assign New Sales Document Type to Sales Area, For Eg:
    1000 (S.Org) / 10 (D.Channel) / 10 (Division) / ZOR (S.O Type)
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Header > Assign Sales Area to Sales Document Type
    3. Create New Item Category, say ZTAN - Copy of TAN (For delivery Related) / ZTAD - Copy of TAD (For Order realted) / ZTAS - copy of TAS (For Third Party)
    Maintain as under (others remaining same)
    Billing Relevance: I
    Billing Plan Type: 02
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Item > Define Item Category
    4. Assign Item Category, for ex (assuming Usage & higher level item category as blank):
    Sales Document Type | Item Category Group | Default Item Category
    ZOR | NORM | ZTAN
    ZOR | DEIN | ZTAD
    ZOR | BANS | ZTAS
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Item > Assign Item Category
    Note: In the above Billing Type '02' plays the main controller for periodic billing. In Sales order, at item level, we require to maintain the billing plan
    Have a look to these SAP documents: very useful they explain all.
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/MYSAP/SR_CS.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CS/PMSMASC.pdf
    http://help.sap.com/saphelp_47x200/helpdata/en/31/03953401024735e10000009b38f83b/frameset.htm
    Please Reward If Really Helpful,
    Thanks and Regards,
    Sateesh.Kandula

  • Periodic billing and Milestone billing

    Dear SD gurus,
    Can anybody explain what is Periodic billing and Milestone billing?
    If you have the configuration guide for the above, please send the same to my email id : [email protected]
    Thanks in advance
    Regards
    Manivannan R

    Hi,
    Milestone billing means distributing the total amount to be billed over multiple billing
    dates in the billing plan.
    As each milestone is successfully reached, the customer is billed either a percentage of
    the entire project cost or simply a pre-defined amount.
    During sales order processing, the system determines from the item category whether a
    billing plan is required and, if so, which type of plan
    The type of billing plan that is determined at this point is set up in Customizing and
    cannot be changed in the sales document.
    Billing plans for periodic billing and milestone billing plans for project-related milestone
    billing have different overview screens so that you can enter data relevant to your
    processing.
    For example, for milestone billing, you must be able to enter data to identify the
    individual milestones.
    IMG configuration requires :-
    1. Maintain billing plan types for milestone billing in OVBO.
    2. Define date description in SM30 - V_TVTB.
    3. Maintain Date Category for Billing Plan Type IN OVBJ.
    4. Allocate date category in SM30 - V_TFPLA_TY.
    5. Maintain date proposal for Billing Plan Type in OVBM.
    6. Assign Billing Plan Type to Sales Documents Type in OVBP.
    7. Assign Billing Plan Type to Item Categories in OVBR.
    8. Define rules for determining the date in OVBS.
    Milestone billing is typically used for billing projects, such as plant engineering and
    construction projects. Such projects often include a series of milestones that mark the
    completion of different stages of the work. In the SAP R/3 System, milestones are defined
    in a network along with planned and actual dates for the completion of work. The milestones
    are also assigned to the billing dates in the billing plan.
    Each milestone-related billing date is blocked for processing until the Project System
    confirms that the milestone is completed.
    Delivery-relevant order items for which a milestone billing plan applies are billed on the
    basis of the requested delivery quantity and not on the total of the confirmed quantities.
    The connection between the project and the sales document item is made in the individual
    schedule lines of the item. Each schedule item can be assigned to a network in a project.
    To display the project-related data for a schedule line, proceed as follows:
    In one of the overview screens of the sales document, select
    1. Item -> Schedule lines.
    2. Mark the schedule line and select Procurement details.
    The following figure shows an example of milestone billing where only the Contract have
    been billed :
    Order Item Turbine 100,000
    Billing Plan
    Billing date Description % Value Billing Block Milestone Billing Status
    01-10-94 Contract 10 10,000 - x x
    01-03-95 Assembly 30 30,000 x x
    01-04-95 Maintenance 30 30,000 x x
    01-05-95 Acceptance 30 30,000 x x
    01-06-95 Final invoice .. .. x
    Network/Activities
    Milestone Estimate Actual
    Assembly 01-03-95 01-03-95
    Maintenance 01-04-95
    Acceptance 01-05-95
    For each billing date in a milestone billing plan, you can specify whether the billing
    date is:
    1. fixed
    2. always updated with the actual date of the milestone
    3. updated with the actual date of the milestone, if the date is earlier than the
    planned billing date for the date
    reward points if it helps
    Regards
    Govind.

  • Configuration of Milestone billing / Periodic Billing

    Dear Gurus,
    I am now on the verge of completing study of SD module.
    Request to please explain the configuration of Milestone and Periodic billing.
    I am referring book (SAP - SCM 615). I think many topices are metioned with very limited / no explanation.
    Thank you very much in advance.
    Regards,
    Ashish

    Hi Ashish
    All the best for your certification exam
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/erplo/milestone+billing.
    Milestone Billing.
    1. Create New Sales Order Type, say ZOR (Copy of OR) through T.Code: VOV8
    Maintain Delivery Type as LF & Billing Type As 'F1' - Order Related / 'F2' Delivery Related.
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Header > Define Sales Documents Types
    2. Assign New Sales Document Type to Sales Area, For Eg:
    1000 (S.Org) / 10 (D.Channel) / 10 (Division) / ZOR (S.O Type)
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Header > Assign Sales Area to Sales Document Type
    3. Create New Item Category, say ZTAN - Copy of TAN (For delivery Related) / ZTAD - Copy of TAD (For Order realted) / ZTAS - copy of TAS (For Third Party)
    Maintain as under (others remaining same)
    Billing Relevance: I
    Billing Plan Type: 01
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Item > Define Item Category
    4. Assign Item Category, for ex (assuming Usage & higher level item category as blank):
    Sales Document Type | Item Category Group | Default Item Category
    ZOR | NORM | ZTAN
    ZOR | DEIN | ZTAD
    ZOR | BANS | ZTAS
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Item > Assign Item Category
    Note: In the above Billing Type '01' plays the main controller for milestone billing. In Sales order, at item level, we require to maintain the billing plan.
    Follow the Sales cycle as normal sales cycle for particular Scenarios
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/erplo/periodicBillingConfiguration
    Periodic Billing Configuration:
    1. Create New Sales Order Type, say ZOR (Copy of OR) through T.Code: VOV8
    Maintain Delivery Type as LF & Billing Type As 'F1' - Order Related / 'F2' Delivery Related.
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Header > Define Sales Documents Types
    2. Assign New Sales Document Type to Sales Area, For Eg:
    1000 (S.Org) / 10 (D.Channel) / 10 (Division) / ZOR (S.O Type)
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Header > Assign Sales Area to Sales Document Type
    3. Create New Item Category, say ZTAN - Copy of TAN (For delivery Related) / ZTAD - Copy of TAD (For Order realted) / ZTAS - copy of TAS (For Third Party)
    Maintain as under (others remaining same)
    Billing Relevance: I
    Billing Plan Type: 02
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Item > Define Item Category
    4. Assign Item Category, for ex (assuming Usage & higher level item category as blank):
    Sales Document Type | Item Category Group | Default Item Category
    ZOR | NORM | ZTAN
    ZOR | DEIN | ZTAD
    ZOR | BANS | ZTAS
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Item > Assign Item Category
    Note: In the above Billing Type '02' plays the main controller for periodic billing. In Sales order, at item level, we require to maintain the billing plan.
    Follow the Sales cycle as normal sales cycle for particular Scenarios
    Regards
    Raja

  • Hi all . how to configure periodic billing and mile stone billing ..

    hi gurus
    could someone please tell me the process of defining periodic billing and milestone billing for a customer or group of customers  and how do we show the deficit in the accounts .. how to do the config for the periodic and milestone billing ..
    thankyou very much in advance
    bj

    Hi,
    Billing Plan for Milestone Billing
    Milestone billing means distributing the total amount to be billed over multiple billing
    dates in the billing plan.
    As each milestone is successfully reached, the customer is billed either a percentage of
    the entire project cost or simply a pre-defined amount.
    During sales order processing, the system determines from the item category whether a
    billing plan is required and, if so, which type of plan
    The type of billing plan that is determined at this point is set up in Customizing and
    cannot be changed in the sales document.
    Billing plans for periodic billing and milestone billing plans for project-related milestone
    billing have different overview screens so that you can enter data relevant to your
    processing.
    For example, for milestone billing, you must be able to enter data to identify the
    individual milestones.
    IMG configuration requires :-
    1.  Maintain billing plan types for milestone billing in OVBO.
    2.  Define date description in SM30 - V_TVTB.
    3.  Maintain Date Category for Billing Plan Type IN OVBJ.
    4.  Allocate date category in SM30 - V_TFPLA_TY.
    5.  Maintain date proposal for Billing Plan Type in OVBM.
    6.  Assign Billing Plan Type to Sales Documents Type in OVBP.
    7.  Assign Billing Plan Type to Item Categories in OVBR.
    8.  Define rules for determining the date in OVBS.
    Milestone billing is typically used for billing projects, such as plant engineering and
    construction projects. Such projects often include a series of milestones that mark the
    completion of different stages of the work. In the SAP R/3 System, milestones are defined
    in a network along with planned and actual dates for the completion of work. The milestones
    are also assigned to the billing dates in the billing plan.
    Each milestone-related billing date is blocked for processing until the Project System
    confirms that the milestone is completed.
    Delivery-relevant order items for which a milestone billing plan applies are billed on the
    basis of the requested delivery quantity and not on the total of the confirmed quantities.
    The connection between the project and the sales document item is made in the individual
    schedule lines of the item. Each schedule item can be assigned to a network in a project.
    To display the project-related data for a schedule line, proceed as follows:
    In one of the overview screens of the sales document, select
    1.  Item -> Schedule lines.
    2.  Mark the schedule line and select Procurement details.
    The following figure shows an example of milestone billing where only the Contract have
    been billed :
    Order  Item  Turbine    100,000
    Billing Plan
    Billing date Description    %  Value  Billing Block   Milestone   Billing Status
    01-10-94     Contract      10  10,000      -             x           x 
    01-03-95     Assembly      30  30,000      x             x          
    01-04-95     Maintenance   30  30,000      x             x
    01-05-95     Acceptance    30  30,000      x             x
    01-06-95     Final invoice ..    ..        x
    Network/Activities
    Milestone    Estimate      Actual
    Assembly     01-03-95      01-03-95
    Maintenance  01-04-95     
    Acceptance   01-05-95
    For each billing date in a milestone billing plan, you can specify whether the billing
    date is:
    1.  fixed
    2.  always updated with the actual date of the milestone
    3.  updated with the actual date of the milestone, if the date is earlier than the
        planned billing date for the date
    Regards,
    Pankaj

  • Downpayment in Periodic billing.

    Are downpayments possible in periodic billing as well ? When I try to bill periodic billing with down payments, system says, SC (service contracts) WVN can not be billied with FAZ?

    Hi,
    Are you asking about whole process of periodic billing or you just want to know where we put billing block and where we remove it.
    I am considering you know how to set up periodic billing.
    Now go to OVBJ and select your date category which is used for period billing
    Over here you can set billing block for the periodic billing.
    In OVBI you can find out your periodic billing plan and date category assigned to it.
    For removing the billing block you have to go to VA02 and enter your document number.
    Now go to Goto u2013 Header Data u2013 Billing plan.
    Over here you have to remove your billing block one by one when your task is completed.
    Then try to carry out billing document for that.
    Hope so this will solve your query
    Regards
    Raj.

  • Billing block in periodic billing

    Hii all,
    Need a solution for the following project scenario.
    We have a scenario where periodic billing is involved through project.
    In the sales order we assign the WBS element in account assignment. After assigning the WBS element, billing is blocked.
    If we confirm the activity in project then the billing block in the sales order should be removed. But it is not removed. The same scenario works fine if the billing type is milestone billing.
    Please suggest.

    Hi,
    Are you asking about whole process of periodic billing or you just want to know where we put billing block and where we remove it.
    I am considering you know how to set up periodic billing.
    Now go to OVBJ and select your date category which is used for period billing
    Over here you can set billing block for the periodic billing.
    In OVBI you can find out your periodic billing plan and date category assigned to it.
    For removing the billing block you have to go to VA02 and enter your document number.
    Now go to Goto u2013 Header Data u2013 Billing plan.
    Over here you have to remove your billing block one by one when your task is completed.
    Then try to carry out billing document for that.
    Hope so this will solve your query
    Regards
    Raj.

  • Milestone billing & Periodic Billing

    Can anybody give me the complete configurationpart of Milestone billing & Periodic Billing.If with screen shots I will be highly obliged.

    Milestone Billing.
    1. Create New Sales Order Type, say ZOR (Copy of OR) through T.Code: VOV8
    Maintain Delivery Type as LF & Billing Type As 'F1' - Order Related / 'F2' Delivery Related.
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Header > Define Sales Documents Types
    2. Assign New Sales Document Type to Sales Area, For Eg:
    1000 (S.Org) / 10 (D.Channel) / 10 (Division) / ZOR (S.O Type)
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Header > Assign Sales Area to Sales Document Type
    3. Create New Item Category, say ZTAN - Copy of TAN (For delivery Related) / ZTAD - Copy of TAD (For Order realted) / ZTAS - copy of TAS (For Third Party)
    Maintain as under (others remaining same)
    Billing Relevance: I
    Billing Plan Type: 01
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Item > Define Item Category
    4. Assign Item Category, for ex (assuming Usage & higher level item category as blank):
    Sales Document Type | Item Category Group | Default Item Category
    ZOR | NORM | ZTAN
    ZOR | DEIN | ZTAD
    ZOR | BANS | ZTAS
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Item > Assign Item Category
    Note: In the above Billing Type '01' plays the main controller for milestone billing. In Sales order, at item level, we require to maintain the billing plan.
    Follow the Sales cycle as normal sales cycle for particular Scenarios
    Periodic Billing.
    1. Create New Sales Order Type, say ZOR (Copy of OR) through T.Code: VOV8
    Maintain Delivery Type as LF & Billing Type As 'F1' - Order Related / 'F2' Delivery Related.
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Header > Define Sales Documents Types
    2. Assign New Sales Document Type to Sales Area, For Eg:
    1000 (S.Org) / 10 (D.Channel) / 10 (Division) / ZOR (S.O Type)
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Header > Assign Sales Area to Sales Document Type
    3. Create New Item Category, say ZTAN - Copy of TAN (For delivery Related) / ZTAD - Copy of TAD (For Order realted) / ZTAS - copy of TAS (For Third Party)
    Maintain as under (others remaining same)
    Billing Relevance: I
    Billing Plan Type: 02
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Item > Define Item Category
    4. Assign Item Category, for ex (assuming Usage & higher level item category as blank):
    Sales Document Type | Item Category Group | Default Item Category
    ZOR | NORM | ZTAN
    ZOR | DEIN | ZTAD
    ZOR | BANS | ZTAS
    IMG > Sales and Distribution > Sales > Sales Documents > Sales Document Item > Assign Item Category
    Note: In the above Billing Type '02' plays the main controller for periodic billing. In Sales order, at item level, we require to maintain the billing plan.
    Follow the Sales cycle as normal sales cycle for particular Scenarios
    Regards,
    Rajesh Banka

  • Periodic billing or contract

    Hi Friends,
    we have contract where we give some equipment on lease to the customer and customer is using that for 28 days
    Billing plan is PERIODIC BILLING
    Now when we see billing plan for contract it shows settelment (01/01/2010) to (01/30/2010) now as customer is using that for say only for 28 days so we want (01/01/2010) to (01/28/2010).
    How to make billing periods to 28 days, the system automatically adjusts the monthly rate by prorating the 28 days. We need a billing plan template that a) sets up a billing periods on a 28 day cycle and b) should prorate the monthly fixed rate
    if we give condition value as 900 for month then it is calculating 900/30 = 30/ day
    but now client wants it should calculate as 900/28 = 32.14
    thanks
    Vishal
    Edited by: WISH on Mar 10, 2010 8:24 AM

    Dear Vishal,
    You can use Periodic Billing in this case.
    In your Contract Definition (VOV8) there is a field for BIlling Plan. Enter a Billing Plan here.
    To define the Billing Plan there go to IMG - SD - Billing - Billing Plan - Define Billing Plan Types - Maintain billing plan types for periodic billing.
    Here there are fields for Horizon & Dates.
    Difine Rules for Determining Dates (IMG - SD - Billing - Billing Plan - Define Rules For Determining Dates. Here there are fields for TIme Period & Time Unit, which is what you can set for BIlling 28 days in a month.
    Hope this helps.. .
    THanks,
    Jignesh Mehta

  • Automatic Billing Block removal in Periodic Billing

    Hi guys:
    Is there a way to have the billing block removed (not manually) when we use periodic billing?  We do not want to manually remove the block each month in order to do invoicing.
    Thanks for the input
    Aaon

    Aaon,
    You seem to be using a standard business scenario. In case you have done the customization for Periodic Billing, and set up a billing plan type 02 (periodic), then you must have also set up the 'Next Bill date' routine there. Here, you specify the day of the month (or the date) on which you want your periodic bill to be generated.
    Once these settings are in place, there is no need to put your orders on billing block. They will not bill until the date in the plan.
    Is this not working in your case?
    Ashutosh.

  • Periodic billing (rental contract)

    hi all
    This is regarding the billing plan .currently my client is running his business by using periodic billing i.e(rental contract) and the contract is fomed in years and the billing is done on the monthly basis .now the company wants  to the bill some of there customers on quarterly basis instead of billing on monthly basis .how can i achieve this ?what is that i need to configure for achieving the same
    Thanks®ards
    mohit

    Dear Gauravjit
    Thanks for your prompt reply
    let me summarize what i have done
    1)Taken the following path  spro->sales&dist->billing->billing plan->define rules for determining dates.(tcode ovbs)
    2)i was opposed with "rule table for determination" screen
    defined new rule "55" and given the following description.End of Current Quarter
    3)After defining the rule number "55" navigated to its details screen where in which i am able to see few fields as followed
    A).base line date---->07 (billing date /invoice date )
    B)Time period -
    >1
    C)Time unit  -
    >only four types of time units are available 1.day 2.weekly 3.monthly 4.year
    (Note there is no time unit for quarter .My question is do i  have  to define new time unit as quarter for quartely billing to take place and if i have to define where should i define it iam not finding it any provision given in spro for defining the same
    so i have assigned " 4 -year")
    D) last month -
    blank
    E) calender id----- blank
    the above two fieldsD&E are left blank
    section 2
    after doing the above config i went to the screen
    Define billing plan type for periodic billing (tcode ovbi)
    defined the billing plan type with the following settings
    A)CONTRACT START DATE--13(CONTRACT START HEADER)
    B)CONTRACT END DATE--14(CONTRACT END HEADER)
    C)HORIZON--52 (HORIZON 1YEAR)
    D)CONTRACT START DATE--   11-CONTRACT START DATE
    E)CONTRACT END DATE         09-CONTRACT END DATE
    F)<b>NEXT BILLING DATE</b>----ASSIGNED THE DATE RULE "55" WHICH IS DEFINED PREVIUOSLY
    NOW IF I TRY CREATIN A RENTAL CONTRACT THE SYSTEM IS BILLING YEAR WISE .my comprehesion is that since i have assigned time unit as year so it is billing year wise if i change the time unit to 1)week 2)day 3)month  the billing is getting executed accordingly  but i dont have option for defining quarter here as time unit .so that the billing can be exeuted quarterly
    please correct  me if i have done wrong or if there is any deviation in my configuration
    Thanks&regards
    mohite

  • HELP! Random errors creating SAP documents via Add-On.

    Hi,
    We have a very odd situation.  Our add-on has been running for 4 years.  During this time, we've made several enhancements.  In the last couple of weeks, users are getting random errors during the code that posts SAP documents.  The error doesn't occur creating the same documents everytime but the error message is always the same.  I cannot get the add-on to crash in the development environment.  Furthermore, once a crash occurs, the users can immediately try again and the document will then be created successfully so it's baffling.  We thought we'd tracked it down to the fact that when restarting a users Windows session, we were retaining the user profile files that SAP creates to store the SQL Server settings.  We found that the problem went away once we started deleting these files upon logout, but, the problem just got less frequent, it didn't completely go away.  Here is the error information:
    Error: The server threw an exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))
    Source: Interop.SAPbobsCOM
    Stack Trace:    at SAPbobsCOM.FieldClass.set_Value(Object pVal)
    I should say we've also uninstalled and reinstalled the DI API but that didn't help either.  We are running SAP 2007A SP01 P05 with users logging into Windows Server 2003 via Citrix.  Also note, this error is only occuring with documents being created through the add-on, no crashes occur creating documents direclty through SAP front end.
    Thanks very much,
    David

    Hello David.
    I have the exatly the same situation at Customer, only in 2007A version.
    The Addon has been developed for 6.5 and was running perfect in last 4 years. After upgrade,  the users got the random messages. and the user try it again can sucessfully post the documents. Only at this company.
    There is no citrix, and virtual server, onyl W2003 (32bit:) behind a firewall. (MS SQL 2005 SP2)
    In my sample, and your error message is the common: YOu got the message when you are using User Defined Field in marketing documents.
    I have found a note about change "coding" of update of User Defined Fields, it was not helped.
    Note number: 1235603
    Major change:
    +
    This issue results from using the following code:
    SAPbobsCOM.Field f = oPOrders.Lines.UserFields.Fields.Item("U_test")
    Instead of the above syntax, you should use the following:
    SAPbobsCOM.ProductionOrders_Lines f1 = oPOrders.Lines
    SAPbobsCOM.Field  f =  f1.UserFields.Fields.Item("U_test")
    Using the suggested syntax lets you perform the operation correctly. The issue does not happen with a regular connection.
    +
    In Small DB-s i was unbale to reproduce this issue, but in that specific customer (>40GB) i always trouble with this.
    My experience,
    - that i have created some custom indexes over marketing documents, and the error message was not appears in frequently.
    - changed 32 SQL Server Memory Allocation to EWA, the error message was not appears in frequently.
    I think this is an SQL server issue.
    I am intrested in the solution, SAP Support Center was unable to find any solution for this issue.
    Regards,
    János Nagy

Maybe you are looking for