Profit center Assignment and work flow

Hi,
Can anyone explain me how to Assign the Individual profit to the PC group which comes under PC hierarchy. And to Assign the Individual PCs when we post and revenue entry.
When i try to pull that while posting an revene account F-02 the error as below
"Position Cursor Correctly"
Thanks

Hi,
profit centre basically used for the collection of cost and revenue  which are incurred and generated in an organization , so if your organization has created any profit centre which are assigned to the cost centre of manufaturing or production , those cost cost centre u can assigned to the raw materials.
To assign  profit centre to raw materials - at the time of creation of Material master(mm01)  for raw materials you can choose  costing view at organizational level and can assign the cost PCTR which your assigning to cost centre.
To assign division- you can choose the division according to the finished good wise if your divisions are segregated according to finished goods wise.(assignment of division  to the material master -according to the raw materials or spare and parts used to produce particular finished goods).
Hopefully the above explanation clarify your doubt.
Regards
Binapani.

Similar Messages

  • Profit center assign in Copany code and controling Area

    where Profit center assign in Copany code and controling Area ?

    Hi,
    Company code, Controlling Area, Profit centre, Cost centres are created by FI/CO functionals.
    Pl. discuss with your FI/CO counterpart.
    My suggestion is that, don't create yourself, because it integrates to lot of other areas.
    Just for learning purpose, you can go to SPRO-Controlling-Profit centre accounting.
    Madhava

  • Materials management small differences - DIF - Profit Center assignment.

    Hi,
    We have created one G/L for posting the u201CMaterials management small differencesu201D at the time of generating MIRO document via transaction u201CDIFu201D in Tcode - OBYC.
    For e.g. if the GR amount is 90 and IR (Invoice received from party) is of Rs. 91/- or vice-versa then for posting the difference of Rs. 1/- we have made the above assignment.
    System is generating the line item for the u201CSmall Diff -Invoice Verificationu201D but posting automatically to a "Dummy Profit Center u201C in the absence of any other data.
    Our point is that we want to change the profit center to the related Business area, which is there in the line item of u201CSmall Diff -Invoice Verificationu201D account.
    We tried the FI substitution (Tcode u2013 GGB1/ OBBH) for the Profit Center derivation on the basis of Business Area but that is working with the FI documents (Manual FI entry) only and not with the automatic line generation like MIRO in the above case.
    Later on I tried Tcode u2013 OKB9, but in that case after giving business area wise cost center substitution, system is correctly showing the entry (in simulation mode of MIRO transaction) in the required Cost Center & on that basis in the Profit Center, but still system requires u201CCO-Objectu201D
    Initially we tried other way of creating a Cost Element under the category of u201C11 u2013 Revenueu201D to maintain Business Area u2013 Profit Center link but still in that case also it requires co-object hence turned to changing the Cost Element Category to u201C1 u2013 Primary Costu201D for capturing Profit center on the basis of Business Area u2013 Cost Center link since basically G/L u2013 u201Csmall Diff -Invoice Verificationu201D we have created under u201CExpense Groupu201D.
    Our requirement is to post the entry in related profit center per Business Area in the line item of "Small Diff -Invoice Verification" since there are 6 to 7 business areas, which are active in system.
    Regards,
    Shridhar

    Hi,
    Thanks for the reply. But I would like to correct you. I have mentioned in my subject line - "DIF" i.e the Transaction Key maintained in Transaction Code - OBYC for posting the small difference (Between GR and IR values) arriving at the time of MIRO transaction posting.
    Now meanwhile I have come across u201CSAP Note : 32654u201D which mentioned that "Account assignment for the transaction (KDR, DIF, UPF) on the highest level i.e. the 1st screen where we set the Cost Center or Profit Center assignment to Cost Element with Acct Assignment details (1 or 2 or 3) is possible.
    Same is not possible on details level means Acct Assignment details level per Valuation Area or Business Area for Cost Center or Profit Center linkage (2nd screen of OKB9).
    Please do correct me if I am making any wrong statement.
    Now would like to have an advise about the transaction Code - OKC9 with the scenario (MIRO document u2013 Dummy Profit center linkage) that I have mentioned above.
    Do I require to maintain OKB9 (At highest level) and then need to work out CO- Substitution via OKC9 ? Or OKC9 is enough to cover my scenario ?
    Do any body have a knowledge about that? Points will be assigned.
    Regards,
    Shridhar

  • Profit center field and internal order field in sales order

    Hello all,
    I am unable to find the settings for profit center field and internal order field in sales order account assignment tab screen. kindly let me know the path and configuration settings.
    Thanks in advance
    Regards
    srinivas

    Hi Srinivas
    If you want to assign the profit center then make sure that the Profit center is assigned in MMR->Sales orgn 1 view . 
    But to assign the Profit center in MMR also you need to configure the Profit center first for your Material in your company code with the help of FI/CO consultants and then assign then the profit center will flow from MMR to sales order  item data->account assignment tab
    Regards
    Srinath

  • Change profit center assignment in cost center

    Hi All,
    We have around 20 cost centers and assigned to 10 different profit centers.From 01/01/2011,we would like to change Profit center assignment in cost centers.
    all cost centers postings should post to old profit centers till 12/31/2010 and from 01/01/2011,postings should go to new profit centers.
    What is the best way to achieve this?any help is appreciated.
    Thanks,
    Anusha

    Hi Ajay,
    Thanks for your reply.profit center changes are working with analysis period changes.
    i have one more issue here,i can't change hierarchy in cost center and getting errors..
    Message no. KS042
    Diagnosis
    Field Hierarchy Area to be changed must be unique for the entire interval. You selected a change interval which does not include the entire period. Any change in the field would result in an inconsistency.
    I have try to change time depended field in configuration.system is not allowing for field "KHINR" in OKEG TC.
    any help is appreciated...
    Thanks,
    Anusha

  • How can we use TABLE CONTROL in BDC and WORK FLOW of ABAP.

    how can we use TABLE CONTROL in BDC and WORK FLOW of ABAP.?
    please explain the important questions.

    How to deal with table control / step loop in BDC
    Steploop and table contol is inevitable in certain transactions. When we run BDC for such transactions, we will face the situation: how many visible lines of steploop/tablecontrol are on the screen? Although we can always find certain method to deal with it, such as function code 'NP', 'POPO', considering some extreme situation: there is only one line visible one the screen, our BDC program should display an error message. (See transaction 'ME21', we you resize your screen to let only one row visible, you can not enter mutiple lines on this screen even you use 'NP')
    Now with the help of Poonam on sapfans.com developement forum, I find a method with which we can determine the number of visible lines on Transaction Screen from our Calling BDC program. Maybe it is useless to you, but I think it will give your some idea.
    Demo ABAP code has two purposes:
    1. how to determine number of visible lines and how to calculte page number;
    (the 'calpage' routine has been modify to meet general purpose usage)
    2. using field symbol in BDC program, please pay special attention to the difference in Static ASSIGN and Dynamic ASSIGN.
    Now I begin to describe the step to implement my method:
    (I use transaction 'ME21', screen 121 for sample,
    the method using is Call Transation Using..)
    Step1: go to screen painter to display the screen 121, then we can count the fixed line on this screen, there is 7 lines above the steploop and 2 lines below the steploop, so there are total 9 fixed lines on this screen. This means except these 9 lines, all the other line is for step loop. Then have a look at steploop itselp, one entry of it will occupy two lines.
    (Be careful, for table control, the head and the bottom scroll bar will possess another two fixed lines, and there is a maximum number for table line)
    Now we have : FixedLine = 9
                  LoopLine  = 2(for table control, LoopLine is always equal to 1)
    Step2: go to transaction itself(ME21) to see how it roll page, in ME21, the first line of new page is always occupied by the last line of last page, so it begin with index '02', but in some other case, fisrt line is empty and ready for input.
    Now we have: FirstLine = 0
              or FirstLine = 1 ( in our case, FirstLine is 1 because the first line of new page is fulfilled)
    Step3: write a subroutine calcalculating number of pages
    (here, the name of actual parameter is the same as formal parameter)
    global data:    FixedLine type i, " number of fixed line on a certain screen
                    LoopLine  type i, " the number of lines occupied by one steploop item
                    FirstLine type i, " possbile value 0 or 1, 0 stand for the first line of new                                                               " scrolling screen is empty, otherwise is 1
                    Dataline  type i, " number of items you will use in BDC, using DESCRIBE to get
                    pageno    type i, " you need to scroll screen how many times.
                    line      type i, " number of lines appears on the screen.
                    index(2)  type N, " the screen index for certain item
                    begin     type i, " from parameter of loop
                    end       type i. " to parameter of loop
    *in code sample, the DataTable-linindex stands for the table index number of this line
    form calpage using FixedLine type i (see step 1)
                       LoopLine  type i (see step 1)
                       FirstLine type i (see step 2)
                       DataLine  type i ( this is the item number you will enter in transaction)
              changing pageno    type i (return the number of page, depends on run-time visible                                                                             line in table control/ Step Loop)
              changing line      type i.(visible lines one the screen)
    data: midd type i,
          vline type i, "visible lines
    if DataLine eq 0.
       Message eXXX.
    endif.
    vline = ( sy-srows - FixedLine ) div LoopLine.
    *for table control, you should compare vline with maximum line of
    *table control, then take the small one that is min(vline, maximum)
    *here only illustrate step loop
    if FirstLine eq 0.
            pageno = DataLine div vline.
            if pageno eq 0.
               pageno = pageno + 1.
            endif.
    elseif FirstLine eq 1.
            pageno = ( DataLine - 1 ) div ( vline - 1 ) + 1.
            midd = ( DataLine - 1 ) mod ( vline - 1).
            if midd = 0 and DataLine gt 1.
                    pageno = pageno - 1.
            endif.
    endif.
    line = vline.
    endform.
    Step4 write a subroutine to calculate the line index for each item.
    form calindex using Line type i (visible lines on the screen)
                        FirstLine type i(see step 2)
                        LineIndex type i(item index)
              changing  Index type n.    (index on the screen)
      if  FirstLine = 0.
            index = LineIndex mod Line.
            if index = '00'.
                    index = Line.
            endif.
      elseif FirstLine = 1.
            index = LineIndex mod ( Line - 1 ).
            if ( index between 1 and 0 ) and LineIndex gt 1.
                    index = index + Line - 1.
            endif.
            if Line = 2.
                    index = index + Line - 1.
            endif.
    endif.
    endform.
    Step5 write a subroutine to calculate the loop range.
    form calrange using Line type i ( visible lines on the screen)
                        DataLine type i
                        FirstLine type i
                        loopindex like sy-index
            changing    begin type i
                        end type i.
    If FirstLine = 0.
       if loopindex = 1.
            begin = 1.
            if DataLine <= Line.
                    end = DataLine.
            else.
                    end = Line.
            endif.
       elseif loopindex gt 1.
            begin = Line * ( loopindex - 1 ) + 1.
            end   = Line * loopindex.
            if end gt DataLine.
               end = DataLine.
            endif.
       endif.
    elseif FirstLine = 1.
      if loopindex = 1.
            begin = 1.
            if DataLine <= Line.
                    end = DataLine.
            else.
                    end = Line.
            endif.
      elseif loop index gt 1.
            begin = ( Line - 1 ) * ( loopindex - 1 ) + 2.
            end =   ( Line - 1 ) * ( loopindex - 1 ) + Line.
            if end gt DataLine.
                    end = DataLine.
            endif.
      endif.
    endif.
    endform.
    Step6 using field sysbol in your BDC, for example: in ME21, but you should calculate each item will correponding to which index in steploop/Table Control
    form creat_bdc.
    field-symbols: <material>, <quan>, <indicator>.
    data: name1(14) value 'EKPO-EMATN(XX)',
          name2(14) value 'EKPO-MENGE(XX)',
          name3(15) value 'RM06E-SELKZ(XX)'.
    assign:         name1 to <material>,
                    name2 to <quan>,
                    name3 to <indicator>.
    do pageno times.
    if sy-index gt 1
    *insert scroll page ok_code"
    endif.
            perform calrange using Line DataLine FirstLine sy-index
                             changing begin end.
    loop at DataTable from begin to end.
            perform calindex using Line FirstLine DataTable-LineIndex changing Index.
            name1+11(2) = Index.
            name2+11(2) = Index.
            name3+12(2) = Index.
            perform bdcfield using <material> DataTable-matnr.
            perform bdcfield using <quan>     DataTable-menge.
            perform bdcfield using <indicator> DataTable-indicator.
    endloop.
    enddo.
    An example abap program of handling Table Control during bdc programming.
    REPORT zmm_bdcp_purchaseorderkb02
           NO STANDARD PAGE HEADING LINE-SIZE 255.
                    Declaring internal tables                            *
    *-----Declaring line structure
    DATA : BEGIN OF it_dummy OCCURS 0,
             dummy(255) TYPE c,
           END OF it_dummy.
    *-----Internal table for line items
    DATA :  BEGIN OF it_idata OCCURS 0,
              ematn(18),      "Material Number.
              menge(13),      "Qyantity.
              netpr(11),      "Net Price.
              werks(4),       "Plant.
              ebelp(5),       "Item Number.
            END OF it_idata.
    *-----Deep structure for header data and line items
    DATA  :  BEGIN OF it_me21 OCCURS 0,
               lifnr(10),      "Vendor A/c No.
               bsart(4),       "A/c Type.
               bedat(8),       "Date of creation of PO.
               ekorg(4),       "Purchasing Organisation.
               ekgrp(3),       "Purchasing Group.
               x_data LIKE TABLE OF it_idata,
             END OF it_me21.
    DATA  :  x_idata LIKE LINE OF it_idata.
    DATA  :  v_delimit VALUE ','.
    DATA  :  v_indx(3) TYPE n.
    DATA  :  v_fnam(30) TYPE c.
    DATA  :  v_count TYPE n.
    DATA  :  v_ne TYPE i.
    DATA  :  v_ns TYPE i.
    *include bdcrecx1.
    INCLUDE zmm_incl_purchaseorderkb01.
                    Search help for file                                 *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          program_name  = syst-cprog
          dynpro_number = syst-dynnr
        IMPORTING
          file_name     = p_file.
    START-OF-SELECTION.
           To upload the data into line structure                        *
      CALL FUNCTION 'WS_UPLOAD'
        EXPORTING
          filename = p_file
          filetype = 'DAT'
        TABLES
          data_tab = it_dummy.
        Processing the data from line structure to internal tables       *
      REFRESH:it_me21.
      CLEAR  :it_me21.
      LOOP AT it_dummy.
        IF it_dummy-dummy+0(01) = 'H'.
          v_indx = v_indx + 1.
          CLEAR   it_idata.
          REFRESH it_idata.
          CLEAR   it_me21-x_data.
          REFRESH it_me21-x_data.
          SHIFT it_dummy.
          SPLIT it_dummy AT v_delimit INTO it_me21-lifnr
                                           it_me21-bsart
                                           it_me21-bedat
                                           it_me21-ekorg
                                           it_me21-ekgrp.
          APPEND it_me21.
        ELSEIF it_dummy-dummy+0(01) = 'L'.
          SHIFT it_dummy.
          SPLIT it_dummy AT v_delimit INTO it_idata-ematn
                                           it_idata-menge
                                           it_idata-netpr
                                           it_idata-werks
                                           it_idata-ebelp.
          APPEND it_idata TO it_me21-x_data.
          MODIFY it_me21 INDEX v_indx.
        ENDIF.
      ENDLOOP.
                    To open the group                                    *
      PERFORM open_group.
            To populate the bdcdata table for header data                *
      LOOP AT it_me21.
        v_count = v_count + 1.
        REFRESH it_bdcdata.
        PERFORM subr_bdc_table USING:   'X' 'SAPMM06E'    '0100',
                                        ' ' 'BDC_CURSOR'  'EKKO-LIFNR',
                                        ' ' 'BDC_OKCODE'  '/00',
                                        ' ' 'EKKO-LIFNR'  it_me21-lifnr,
                                        ' ' 'RM06E-BSART' it_me21-bsart,
                                        ' ' 'RM06E-BEDAT' it_me21-bedat,
                                        ' ' 'EKKO-EKORG'  it_me21-ekorg,
                                        ' ' 'EKKO-EKGRP'  it_me21-ekgrp,
                                        ' ' 'RM06E-LPEIN' 'T'.
        PERFORM subr_bdc_table USING:   'X' 'SAPMM06E'    '0120',
                                        ' ' 'BDC_CURSOR'  'RM06E-EBELP',
                                        ' ' 'BDC_OKCODE'  '/00'.
        MOVE 1 TO v_indx.
    *-----To populate the bdcdata table for line item data
        LOOP AT it_me21-x_data INTO x_idata.
          CONCATENATE 'EKPO-EMATN(' v_indx ')'  INTO v_fnam.
          PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-ematn.
          CONCATENATE 'EKPO-MENGE(' v_indx ')'  INTO v_fnam.
          PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-menge.
          CONCATENATE 'EKPO-NETPR(' v_indx ')'  INTO v_fnam.
          PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-netpr.
          CONCATENATE 'EKPO-WERKS(' v_indx ')'  INTO v_fnam.
          PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-werks.
          v_indx = v_indx + 1.
          PERFORM subr_bdc_table USING:  'X' 'SAPMM06E'    '0120',
                                         ' ' 'BDC_CURSOR'  'RM06E-EBELP',
                                         ' ' 'BDC_OKCODE'  '/00'.
        ENDLOOP.
        PERFORM subr_bdc_table USING:    'X' 'SAPMM06E'    '0120',
                                         ' ' 'BDC_CURSOR'  'RM06E-EBELP',
                                         ' ' 'BDC_OKCODE'  '=BU'.
        PERFORM bdc_transaction USING 'ME21'.
      ENDLOOP.
      PERFORM close_group.
                      End of selection event                             *
    END-OF-SELECTION.
      IF session NE 'X'.
    *-----To display the successful records
        WRITE :/10  text-001.          "Sucess records
        WRITE :/10  SY-ULINE(20).
        SKIP.
        IF it_sucess IS INITIAL.
          WRITE :/  text-002.
        ELSE.
          WRITE :/   text-008,          "Total number of Succesful records
                  35 v_ns.
          SKIP.
          WRITE:/   text-003,          "Vendor Number
                 17 text-004,          "Record number
                 30 text-005.          "Message
        ENDIF.
        LOOP AT it_sucess.
          WRITE:/4  it_sucess-lifnr,
                 17 it_sucess-tabix CENTERED,
                 30 it_sucess-sucess_rec.
        ENDLOOP.
        SKIP.
    *-----To display the erroneous records
        WRITE:/10   text-006.          "Error Records
        WRITE:/10   SY-ULINE(17).
        SKIP.
        IF it_error IS INITIAL.
          WRITE:/   text-007.          "No error records
        ELSE.
          WRITE:/   text-009,          "Total number of erroneous records
                 35 v_ne.
          SKIP.
          WRITE:/   text-003,          "Vendor Number
                 17 text-004,          "Record number
                 30 text-005.          "Message
        ENDIF.
        LOOP AT it_error.
          WRITE:/4  it_error-lifnr,
                 17 it_error-tabix CENTERED,
                 30 it_error-error_rec.
        ENDLOOP.
        REFRESH it_sucess.
        REFRESH it_error.
      ENDIF.
    CODE IN INCLUDE.
    Include           ZMM_INCL_PURCHASEORDERKB01
    DATA:   it_BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.
    DATA:   it_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
    DATA:   E_GROUP_OPENED.
    *-----Internal table to store sucess records
    DATA:BEGIN OF it_sucess OCCURS 0,
           msgtyp(1)   TYPE c,
           lifnr  LIKE  ekko-lifnr,
           tabix  LIKE  sy-tabix,
           sucess_rec(125),
         END OF it_sucess.
    DATA: g_mess(125) type c.
    *-----Internal table to store error records
    DATA:BEGIN OF it_error OCCURS 0,
           msgtyp(1)   TYPE c,
           lifnr  LIKE  ekko-lifnr,
           tabix  LIKE  sy-tabix,
           error_rec(125),
         END OF it_error.
           Selection screen
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS session RADIOBUTTON GROUP ctu.  "create session
    SELECTION-SCREEN COMMENT 3(20) text-s07 FOR FIELD session.
    SELECTION-SCREEN POSITION 45.
    PARAMETERS ctu RADIOBUTTON GROUP ctu.     "call transaction
    SELECTION-SCREEN COMMENT 48(20) text-s08 FOR FIELD ctu.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 3(20) text-s01 FOR FIELD group.
    SELECTION-SCREEN POSITION 25.
    PARAMETERS group(12).                      "group name of session
    SELECTION-SCREEN COMMENT 48(20) text-s05 FOR FIELD ctumode.
    SELECTION-SCREEN POSITION 70.
    PARAMETERS ctumode LIKE ctu_params-dismode DEFAULT 'N'.
    "A: show all dynpros
    "E: show dynpro on error only
    "N: do not display dynpro
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 48(20) text-s06 FOR FIELD cupdate.
    SELECTION-SCREEN POSITION 70.
    PARAMETERS cupdate LIKE ctu_params-updmode DEFAULT 'L'.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 3(20) text-s03 FOR FIELD keep.
    SELECTION-SCREEN POSITION 25.
    PARAMETERS: keep AS CHECKBOX.       "' ' = delete session if finished
    "'X' = keep   session if finished
    SELECTION-SCREEN COMMENT 48(20) text-s09 FOR FIELD e_group.
    SELECTION-SCREEN POSITION 70.
    PARAMETERS e_group(12).             "group name of error-session
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 51(17) text-s03 FOR FIELD e_keep.
    SELECTION-SCREEN POSITION 70.
    PARAMETERS: e_keep AS CHECKBOX.     "' ' = delete session if finished
    "'X' = keep   session if finished
    SELECTION-SCREEN END OF LINE.
    PARAMETERS:p_file LIKE rlgrap-filename.
      at selection screen                                                *
    AT SELECTION-SCREEN.
    group and user must be filled for create session
      IF SESSION = 'X' AND
         GROUP = SPACE. "OR USER = SPACE.
        MESSAGE E613(MS).
      ENDIF.
      create batchinput session                                          *
    FORM OPEN_GROUP.
      IF SESSION = 'X'.
        SKIP.
        WRITE: /(20) 'Create group'(I01), GROUP.
        SKIP.
    *----open batchinput group
        CALL FUNCTION 'BDC_OPEN_GROUP'
          EXPORTING
            CLIENT = SY-MANDT
            GROUP  = GROUP
            USER   = sy-uname.
        WRITE:/(30) 'BDC_OPEN_GROUP'(I02),
                (12) 'returncode:'(I05),
                     SY-SUBRC.
      ENDIF.
    ENDFORM.                    "OPEN_GROUP
      end batchinput session                                             *
    FORM CLOSE_GROUP.
      IF SESSION = 'X'.
    *------close batchinput group
        CALL FUNCTION 'BDC_CLOSE_GROUP'.
        WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),
                (12) 'returncode:'(I05),
                     SY-SUBRC.
      ELSE.
        IF E_GROUP_OPENED = 'X'.
          CALL FUNCTION 'BDC_CLOSE_GROUP'.
          WRITE: /.
          WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).
        ENDIF.
      ENDIF.
    ENDFORM.                    "CLOSE_GROUP
           Start new transaction according to parameters                 *
    FORM BDC_TRANSACTION USING TCODE TYPE ANY.
      DATA: L_SUBRC LIKE SY-SUBRC.
    *------batch input session
      IF SESSION = 'X'.
        CALL FUNCTION 'BDC_INSERT'
          EXPORTING
            TCODE     = TCODE
          TABLES
            DYNPROTAB = it_BDCDATA.
        WRITE: / 'BDC_INSERT'(I03),
                 TCODE,
                 'returncode:'(I05),
                 SY-SUBRC,
                 'RECORD:',
                 SY-INDEX.
      ELSE.
        REFRESH it_MESSTAB.
        CALL TRANSACTION TCODE USING it_BDCDATA
                         MODE   CTUMODE
                         UPDATE CUPDATE
                         MESSAGES INTO it_MESSTAB.
        L_SUBRC = SY-SUBRC.
        WRITE: / 'CALL_TRANSACTION',
                 TCODE,
                 'returncode:'(I05),
                 L_SUBRC,
                 'RECORD:',
                 SY-INDEX.
      ENDIF.
      Message handling for Call Transaction                              *
      perform subr_mess_hand using g_mess.
    *-----Erzeugen fehlermappe
      IF L_SUBRC <> 0 AND E_GROUP <> SPACE.
        IF E_GROUP_OPENED = ' '.
          CALL FUNCTION 'BDC_OPEN_GROUP'
            EXPORTING
              CLIENT = SY-MANDT
              GROUP  = E_GROUP
              USER   = sy-uname
              KEEP   = E_KEEP.
          E_GROUP_OPENED = 'X'.
        ENDIF.
        CALL FUNCTION 'BDC_INSERT'
          EXPORTING
            TCODE     = TCODE
          TABLES
            DYNPROTAB = it_BDCDATA.
      ENDIF.
      REFRESH it_BDCDATA.
    ENDFORM.                    "BDC_TRANSACTION
         Form  subr_bdc_table                                            *
          text
         -->P_0220   text                                                *
         -->P_0221   text                                                *
         -->P_0222   text                                                *
    FORM subr_bdc_table  USING      VALUE(P_0220) TYPE ANY
                                    VALUE(P_0221) TYPE ANY
                                    VALUE(P_0222) TYPE ANY.
      CLEAR it_bdcdata.
      IF P_0220 = ' '.
        CLEAR it_bdcdata.
        it_bdcdata-fnam     = P_0221.
        it_bdcdata-fval     = P_0222.
        APPEND it_bdcdata.
      ELSE.
        it_bdcdata-dynbegin = P_0220.
        it_bdcdata-program  = P_0221.
        it_bdcdata-dynpro   = P_0222.
        APPEND it_bdcdata.
      ENDIF.
    ENDFORM.                    " subr_bdc_table
         Form  subr_mess_hand                                            *
          text                                                           *
         -->P_G_MESS  text                                               *
    FORM subr_mess_hand USING  P_G_MESS TYPE ANY.
      LOOP AT IT_MESSTAB.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            ID     = it_messtab-msgid
            LANG   = it_messtab-msgspra
            NO     = it_messtab-msgnr
            v1     = it_messtab-msgv1
            v2     = it_messtab-msgv2
          IMPORTING
            MSG    = P_G_MESS
          EXCEPTIONS
            OTHERS = 0.
        CASE it_messtab-msgtyp.
          when 'E'.
            it_error-error_rec   =  P_G_MESS.
            it_error-lifnr       =  it_me21-lifnr.
            it_error-tabix       =  v_count.
            APPEND IT_ERROR.
          when 'S'.
            it_sucess-sucess_rec =  P_G_MESS.
            it_sucess-lifnr      =  it_me21-lifnr.
            it_sucess-tabix      =  v_count.
            APPEND IT_SUCESS.
        endcase.
      ENDLOOP.
      Describe table it_sucess lines v_ns.
      Describe table it_error  lines v_ne.
    ENDFORM.                    " subr_mess_hand
    Also refer
    http://sap.ittoolbox.com/groups/technical-functional/sap-dev/bdc-table-control-668404
    and
    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
    Regards,
    srinivas
    <b>*reward for useful answers*</b>

  • Manual Bank Subaccount Clearing 1:N – Profit Center Assignment within NEW GL

    Hello guys,
    What is the common practice to do Manual Bank Subaccount Clearing for Vendors outgoing payments? My main concern is Profit Center Assignment within New GL.
    The business process is:
    Payment Program (F110) creates multiple JEs to Bank Subaccount with different Profit Centers inherited from Vendor’s Invoices
    JE #1 (GL View)
    Debit:   Vendor_1               Profit_Center_1    $400
    Credit:  Bank Clearing GL   Profit_Center_1     $400
    JE #2 (GL View)
    Debit:   Vendor_2               Profit_Center_2     $600
    Credit:  Bank Clearing GL   Profit_Center_2      $600
    When the payment is showing on Bank Statement in a lump amount, a posting with clearing should be done to make an entry on the Main Bank Account and to clear Bank Subaccount (F-04).
    Credit: Main Bank GL   Profit_Center_?????  $1,000
    Debit:  Bank Clearing GL   Profit_Center_1      $ 400 (PC assigned automatically by the system within the clearing)
    Debit:  Bank Clearing GL   Profit_Center_2      $ 600  (PC assigned automatically by the system within the clearing)
    If Profit Center is not filled manually in Main Bank GL account line -> the system issues “Balancing field “Profit Center” in line item 001 not field”
    Please share your experience whether a user makes multiple entries to Main Bank GL as a number of Profit Centers in ACH Clearing GL, or a Dummy Profit Center is used….
    Thank you in advance 

    Hi
    In most of my projects, a common profit center is defaulted to the Bank Account through FAGL3KEH in a new gl environment. This is because the payment function had been centralized and so it was booked to the corporate profit center which was also a common profit center.
    However, it would again depend on your business requirements as to how they would like to see the profit center reporting. You may look at a substitution through an exit to default the profit center for the main bank gl.
    Regards
    Sanil

  • Profit Center Planning and CO-PA

    Dear All,
    We are using Both Profit Center Planning and CO-PA ,it is possible to lead over the planned data, turnover and mat. costs, from CO-PA to the profit center accounting. Therefore it is necessary to maintain a transfer scheme in the customization of COPCA and to assign value fields of CO-PA to the relevant accounts of COPCA.
    So can anyone guide me how to do this..
    Thanks.

    Hi
    Yes you can transfer the planning data from COPA to ECPCA. You can do the configuration at
    SPRO->Controlling->Profitability Analysys->Planning->Integrated Planning->Set up transfer of planning data to ECPCA/FIGL
    Then you can use TCode KE1V to transfer the planning data.
    Regards,
    Suraj
    Edited by: Suraj Ramamurthy on Nov 13, 2008 1:59 PM

  • Changes to Profit center assigned to cost center

    Hi
    We have a scnario in which the profit center assigned to the cost center master has to be changed. We have been advised also to  change the validity period of the same from the date of change of the profit center .However, the cost center has been used to for some data postings with the old profit center maintained in the cost center master. Now my query is:
    1. What is the impact of changing the profit center in cost center master? In our case, some data has been posted to the cost center when the old profit center was maintained.
    2. Why should we change the validity period of the cost center after changing the profit center assigned to the cost center?
    3. Also, what is the way to transfer the entries which have been posted to the old profit center to the new profit center?
    Regards
    Sanil Bhandari

    hi,
    1) The impact of profit center is more in the cost center. when ever we assign profit center to cost center. the cost will be updated automatically. so there is no direct posting in profit center only statstical posting are generated.
    2) second one when we want to create profit center first chek it out profit center valid and upto. if same is not maintained in creation of cost center . so u must have to change the validity periods
    3) i am not sure this one i thing 7KEH OR 1KEF TC is there any way tommorow i will give the answer this questions.
          if my answers are wrong plz correct and replay to my id [email protected]
    thank you

  • Subcontract PO - profit center assignment

    Hi,
    Does anyone know how to check on profit center assignment for a subcontract PO ?
    We're currently have the FI posting on the Goods Receipt but it is assigned to the wrong profit center.

    Hi,
    Check OKB9 Settings as well as FAGL3KEH settings in the system to identify cost centers and profit centers attached to cost elements, GL Accounts.
    Thanks,
    padmaja

  • Profit center hierarchy and cost center hierarchy

    Hi
    What are the things we have to consider to create Profit center hierarchy and cost center hierarchy  and what is the need to assign profit center hierarchy to profit center and cost center hierarchy to cost center. What levels does this fall into? Can some one please guide me.
    Thanks.

    As you would for any other infoobject
    Activate the business content hierarchy datasources on R3 for cost centre and profit centre
    Go into BW - replicate the metadata
    Then just connect via transformations or transfer rules the datasources to yoru infosources or master data objects
    Create an infopackage per hierarchy!!!!! - press the button available hirachies from OLTP - click the one you want on the left - fire it off
    Then repeat new infopackages for all hierachies

  • Profit center assignment to company code

    Hi,
    We have 1 controlling area & 3 company codes A, B & C. We are restructuring Cost Centers & Profit Centers for company code A.  Out of the 3 company codes, B has no separate profit center standard hierarchy. The cost centers of B are currently assigned to profit centers of A.
    Now that we are changing all the cost centers & profit centers of A, how do we deal with the cost centers of B which are assigned to the old profit centers of A?
    If I try to change the master data of Profit centers of A to exclude the company code assignment of A & only have company code assignment of B so that the cost centers of B are the only ones assigned to old profit centers of A, system throws an error saying that :
    Cost centers assigned to the profit center are contained in the company code in question.
    Procedure:
        Remove the existing assignment between Cost center **** and profit
        center ***. Note that other assignments might exist, which you will
        also have to remove before you can delete the profit center. For an overview of all existing assignments, use the assignment monitor.
    Is there any other solution to this? Can the Profit center assignment to company code be time-dependant?
    Or will we have to keep the old profit centers of A unlocked for cost centers of B & use some validations to prevent posting of Compnay code A transactions to old cost/ profit centers.
    Regards,
    Sangeeta

    Hello,
    We are having the same issue.  Would you please advise what solution you used to correct this.
    Thanks,
    Jordan

  • Profit center dummy and company code XX01 are not consistent

    Hi Gurus ,
    can you please tell what i should do when the system gives the message that Profit center dummy and company code XX01 are not consistent . this is happening when i post document in FB50.

    Owing to program or transport errors, the company code assignment of profit centers may not be stored correctly.
    This inconsistent data then causes program terminations or short dumps in further processing.
    This note contains the report ZPCA40B_CHECK_CEPC_BUKRS, which checks the consistency of the company code assignment and corrects possible errors.
    REfer to OSS <a href="https://websmp207.sap-ag.de/~form/handler?_APP=01100107900000000342&_EVENT=REDIR&_NNUM=388178&_NLANG=E">388178</a>

  • Where we can find out customer related profit center assignment.

    Hi gurus
    where we can find out customer related profit center assignment.
    Thank you
    i will assign points.

    Hi,
    Sure you can find that, but before that you need to run F.5D and 1KEK for transferring customer detail to profit center.
    After that you can this report S_ALR_87013343 - Profit Center: Receivables.
    SJ

  • Difference in Profit Center Document and CO-PA Document

    Hi,
    We are getting difference in Profit Center Document and CO-PA Document Cancelled Sales Invoice.
    Sales Accounts GL:
    Profit Center Document amount in Sales Accounts GL: 558095.04
    CO-PA amount in Sales Accounts GL: 558095.15
    In Sales Invoice, Exchange Rate is maintained as 7.75132
    Invoice Amount is 72000 USD. So the Amount calculated should be 558095.04.
    In Accounting Document the Amount posted as 558095.15 for the GL Sales Account.
    But in Cancelled Sales Invoice, Amount posted is  558095.04 in GL Sales Account.
    So Profit Center Document is picking the Amount 558095.04, but CO-PA document is picking wrong amount i.e from Sales Invoice and not from Cancelled Invoice.
    Please help me to understand why Co-PA Document is fetching amount from Sales Invoice and not Cancelled Invoice.
    Also why there is difference in Sales Order Invoice and Cancelled Sales Oder invoice Amount.
    Regards,
    Debashri Dutta

    Hi
    Yes you can transfer the planning data from COPA to ECPCA. You can do the configuration at
    SPRO->Controlling->Profitability Analysys->Planning->Integrated Planning->Set up transfer of planning data to ECPCA/FIGL
    Then you can use TCode KE1V to transfer the planning data.
    Regards,
    Suraj
    Edited by: Suraj Ramamurthy on Nov 13, 2008 1:59 PM

Maybe you are looking for

  • Sending email using UTL_SMTP

    Dear experts, I am trying to send an email using UTL_SMTP (i switched from UTL_MAIL to UTL_SMTP since i need to send mails with large attachments - BLOB). I am using the demo_mail package given here: http://www.oracle.com/technology/sample_code/tech/

  • Intel mac mini wont boot after system restore

    Hi, I ran the system restore on my intel mac mini using the genuine leopard cd that came with it. Now it wont boot. When you press power the light comes on but it does not chime and there is not video output to any monitor. Anyone know what could be

  • Cannot see data or enter data in pdf forms

    I am an elementary school teacher, and use an application to maintain student information.  I am able to navigate thru the app to select various student data, but when I click to display a students information, a blank PDF form is displayed.  Borders

  • Blackberry Desktop Software shuts down when running Sprint Smart View Internet Service (Air Card)

    Just installed Blackberry Desktop Software and it runs ok when I am not running Sprint Smart View (This is my program for my internet service / sprint air card).  As soon as I start Sprint Smart View the desktop software no longer works and just shut

  • Insert data by plsql

    hi, we have the table dep. SQL> select * from dep; DEPTNO DNAME LOC 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON create sequence se_dep start with 1 increment by 1; I would like to insert the data into that table th