CJIC - Creating settlement rule

Hello,
When creating a settlement rule (CJIC), I used function module K_SRULE_SAVE_UTASK in ECC 5.0 . for this I created an internal table of the similar structure as of COBRB table and fill all the desired fields in that and pass this table with BAPI.
In this case, Data is inserted to the table COBRB through BAPI . but Record is not populated with T Code (CJIC).
Can anyone please help me.
Thanks,
Rehan

Hi
Try to enter "Either" % "OR" Equiv no. "OR" amount only & check.
regards

Similar Messages

  • Warning while creating settlement rule

    Hi,
    I have a scenario where user is creating distribution rule using CJIC ( Final settlement rule). Here user is getting a warning message Enter %, equivalence No, or amount.
    Please note that here even after the % = 100 to FXA, the user is getting this warning everytime.
    Can someone please help me wht could be the reason for same ?
    BR
    Anjali

    Hi
    Try to enter "Either" % "OR" Equiv no. "OR" amount only & check.
    regards

  • How to create Settlement Rule

    Hello Experts,
    I need to create settlement rule for work order.
    Got one FM K_ORDER_SRULE_ADD but don't know how to use it.
    Is this FM correct one to create settlement rule?
    Can anyone please send sample code for FM?
    Thanks in Advance,
    Ripal.

    Hi everybody,
    I found in a Rusian foruma way to create a settlement rule using the functions of the FM KOBS.  I changed a bit the code because my requirement was just to update the field URZUO of the settlement rule. The original post (in Russian) can be found here.
    My implementation is more simple because the requirement was different:
    types: begin of ty_objnr,
      objnr    like prps-objnr,
    end of ty_objnr.
    *.COBRA-Buffer (see FM KOBS)
    types: begin of ty_cobra_buf.
            include structure cobra.
    types:   uflag like dkobr-upd_flag,
           end of ty_cobra_buf.
    types: ty_t_cobra_buf type ty_cobra_buf occurs 10.
    *.COBRB-Puffer mit Änderungsflag (see FM KOBS)
    types: begin of ty_cobrb_buf.
            include structure cobrb.
    types:   uflag like dkobr-upd_flag,
           end of ty_cobrb_buf.
    types: ty_t_cobrb_buf type ty_cobrb_buf occurs 10.
    * Internal tables                                                    *
    data: it_abrechnug      type standard table of ty_abrechnung,
          it_objnr          type standard table of ty_objnr,
          it_cobra          like table of cobra with header line,
          it_cobrb          like table of cobrb with header line.
    * Data                                                                *
    data: wa_cobra_buf      type ty_t_cobra_buf,
          wa_cobrb_buf        type ty_t_cobrb_buf,
          wa_objnr            like line of it_objnr,
          wa_urzuo            like cobrb-urzuo,
          l_mem_cobrb         like wa_cobrb_buf[],
          l_mem_cobra         like wa_cobra_buf[],
          l_mem_cobrb_zeile   like line of l_mem_cobrb,
          l_mem_cobra_zeile   like line of l_mem_cobra.
    form urzuo_aendern  using    p_objnr p_pspnr p_urzuo.
      data: c_objnr like prps-objnr,
            c_pspnr like prps-pspnr,
            c_urzuo like cobrb-urzuo.
      c_objnr = p_objnr.
      c_pspnr = p_pspnr.
      c_urzuo = p_urzuo.
      refresh: it_objnr,
               it_cobra,
               it_cobrb,
               l_mem_cobra,
               l_mem_cobrb.
      wa_objnr = c_objnr.
      append wa_objnr to it_objnr.
    * Reas settlement rule from the DM
      call function 'K_SRULE_PRE_READ'
      exporting
        i_pflege               = ' '
      tables
        t_sender_objnr         = it_objnr
    *         T_COBRA                =
      exceptions
        wrong_parameters       = 1
        others                 = 2.
      if sy-subrc <> 0.
        perform error using c_pspnr sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        exit.
      endif.
    * Fill internal buffer with settlement rules
      call function 'K_SETTLEMENT_RULE_GET'
        exporting
          objnr     = c_objnr
          x_all     = ' '
        tables
          e_cobra   = it_cobra
          e_cobrb   = it_cobrb
        exceptions
          not_found = 1
          others    = 2.
      if sy-subrc <> 0.
        perform error using c_pspnr sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        exit.
      endif.
    * Save settlement rule in ABAP-Memory
      call function 'K_SRULE_EXPORT_IMPORT'
        exporting
          i_mode     = 'EX'
        exceptions
          wrong_mode = 1
          others     = 2.
      if sy-subrc <> 0.
        perform error using c_pspnr sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        exit.
      endif.
    * Read ABAP-Memory
      import l_mem_cobra l_mem_cobrb from memory id 'K_SRULE'.
    * Change field URZUO and set Update-Flag
      loop at l_mem_cobrb into l_mem_cobrb_zeile where urzuo is initial.
        l_mem_cobrb_zeile-urzuo = p_urzuo.
        l_mem_cobrb_zeile-uflag = 'U'. "Update Kennzeichen
        modify l_mem_cobrb from l_mem_cobrb_zeile transporting urzuo uflag.
      endloop.
    * Clear internal buffer
      call function 'K_SETTLEMENT_RULE_REFRESH'
        exporting
          objnr = c_objnr.
    * Fill ABAP-Memory with new rules
      export l_mem_cobra l_mem_cobrb to memory id 'K_SRULE'.
    * Fill internal buffer with new rules
      call function 'K_SRULE_EXPORT_IMPORT'
        exporting
          i_mode     = 'IM'
        exceptions
          wrong_mode = 1
          others     = 2.
      if sy-subrc <> 0.
        perform error using c_pspnr sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        exit.
      endif.
    * SAve new rules
      call function 'K_SETTLEMENT_RULE_SAVE'
        exporting
          dialog            = 'X'
          objnr             = c_objnr
          i_status_update   = ' '
        exceptions
          no_rule_for_objnr = 1
          others            = 2.
      if sy-subrc <> 0.
        perform error using c_pspnr sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        exit.
      endif.
      commit work.
      perform erfolg using c_pspnr.
    endform.                    " URZUO_AENDERN
    Hope it helps,
    Jaime

  • CJB1/CJB2 will Create Settlement Rule only on Last level of WBS

    In Investment projects the client want to settle last level WBS to top level WBS and from top level WBS to AUC and capitalise it. Since we have so many WBS in structure hence we want to use CJB1/CJB2 for settlement rule creation. But CJB1 and CJB2 is createing WBS on all level of WBS. Can any body tell me, what configuration/settings i need to do so that CJB1/CJB2 will create Settlement Rule only on Last level of WBS.
    Edited by: Vipul Mehta on Aug 28, 2011 3:19 PM

    Hi Sreekant,
    I checked in SPRO; PS > Costs > Automatic & Periodic Allocations > Settlement > Sett Rule for WBS > BADI for CJB1 / CJB2, there is so many BADI is available. Please let me know BADI name, which is help me to create settlement rule create at WBS last level through CJB1 / CJB2.
    Regards
    Vipul Mehta

  • Possibility of creating Settlement Rule in Background?

    Hi Gurus,
               When I am doing TECO of the Maintenance Order everytime I have to create Settlement Rule.
               My settlement receiver Category (Cost Center) and Cost Center are fixed for  Order Type.
               Is it possible to create Settlement rule in the background while doing TECO of the Order.
               Please suggest if any User Exit is there.
    With best regards,
    Narendra

    Narendra,
    We are looking at exactly the same issue.
    As you are aware, you can only default one cost centre via the equip/floc...
    The only way we can see to have a pre-defined cost centre by order type/plant is to use user-exit [IWO10027|http://pjatkin.users.btopenworld.com/documents/PMCSUserExits.pdf] (default settlement rules).
    PeteA

  • BAPI/ Function Modules for creating Settlement rules for Project in CJ01 .

    Hi Experts ,
    I need to create Settlement rules for WBS elements in Projects . Please let me know if there are any BAPI or Function Modules for the same . The Function Modules "k_settlement_rules_update" , "IBAPI_ALM_ORDERSRULE_CREATE" & 'K_SRULE_CREATE'
    are in "Not Released" status . so our practices does not allow us to use them .. please suggest any other BAPI or FM for creating Settlement rules .
    Thanks in advance ...
    Anil

    Hi ,
    Thanx for ur prompt reply , This function module is used for creating WBS elements . I didnot find any parameters or process to create settlement rule .. Please let me know how to use this or if there are any other BAPI available .
    Thanks
    Anil

  • Error while creating settlement rule

    We are trying to create a Settlement Rule for a Production Order for material 900010001 with following details:
    Cat:MAT
    Settlement Receiver:900010001
    % :100
    Settlement Type:FUL
    System is giving an error msg. no.KD063 'Distribution rule for an Article can only be created automatically'.
    Can anyone help us in analysing the same.
    We want that while creating a Production Order Settlement Rule shall be created by default for Cat:MAT & Settlement Receiver:900010001 (Material of Production Order).Can anyone guide us how the same can be achieved.
    With Rgds.,
    Rakesh Kumar

    Hi..
    please try this....Goto KSR2_VBP.
    THere are two strategies.. 01 and 02.
    01 for manual creation of settlement rules
    02 for auto creation..
    first check whether 01 and 02 are in your plant.
    Sales and distrib....basic functions......auto gen. of settlement rules.......
    here you ll find two activities.
    (1)maintaining the settlement strategies and
    (2)activating one among them.
    If you activate 02, your problem will be solved..
    Also check this..
    http://help.sap.com/erp2005_ehp_03/helpdata/EN/a9/ab777d414111d182b10000e829fbfe/frameset.htm
    The settlement profile is to be defined for thee particular Order Type to generate automatically.
    Define Production Order Type in OPJH
    Under Cost controlling check the settlement profile .
    If not create the same in OPJH.
    Settlement Profile: Create settlement profile - SPRO > Controlling > Product Cost Controlling > Product cost by Order > Period End Closing > Settlement > Create Settlement Profile
    Enter Settlement profile from OPJH or Choose one for production order
    and configure Settlement profile. Indicators
    with wishes
    karthick.

  • Create settlement rule for Maintenance plan

    We have a requirement to create a maintenance plan and assign a settlement rule to the same. I was able to create the maintenance plan using MPLAN_CREATE. I created the settlement rule using the function module K_SRULE_SAVE_UTASK. My problem is when I go to IP03 to check if the settlement rule has been created for the maintenance item, it is not found. When I go to IP02 and click on create and go into the settlement rule maintenance screen, I'm able to see the settlement rule created using the function module.but in the MPOS table, I don't see the indicator IND_ABRVO ( settlement rule indicator ) being maintained.
    Can you please help in finding out what I'm missing.
    Edited by: Sujay Venkateswaran Krishnakumar on Dec 31, 2009 11:34 AM

    Sri Vas,
       Is this specific to a particular WBS element or does it happen for ANY WBS element? The WBS element may not have been setup properly.Check the same WBS element directly by going to the WBS element change transaction.Also check the account assignment and status of the WBS element that Ramesh had suggested. If the WBS element has been defined properly,Try changing the settlement rule to a cost center  and see if you still get this error.
    Regards
    Narasimhan

  • Creating Settlement Rule

    Is there any BAPI to create/change Settlement Rule?(Transaction code: KO01/KO02)
    Regards,
    Savitha

    Hi
    try with this BAPI
    BAPI_INTERNALORDER_CREATE      Create Internal Order From Transferred Data                         
    BAPI_INTERNALORDER_GETDETAIL   Display master data, status, and allowed business trans.for internal
    BAPI_INTERNALORDER_GETLIST     Display list of internal orders according to various criteria       
    Thanka manju

  • Exit/BADI for creating settlement rules in IW32 upon release of order

    I need settlement rules to be populated in IW32 when an order is released.
    The data for the settlement rules population will be obtained from a Z table based on Order type and Maintenance Activity Type.
    I am not able to find out a suitable BADI/EXIT to fulfill this requirement. Has anybody worked on this kind of requirement earlier? Please suggest an EXIT/BADI/BTE for this.
    Thanks in Advance!!

    Hi Harveen,
    How did you populate the fields in K_ORDER_SRULE_ADD. Which ones did you populate. I keep getting an error message.
    Receiver categ. is not allowed by settlement prof. PM0001 for this sender
    Message no. KD031 Diagnosis The settlement profile specifies which receiver
    categories you can settle a sender to. Receiver category is not allowed by
    settlement profile PM0001 for this sender.
    Procedure
    You can do the following:
       Assign a settlement profile to the sender, that implements the
    required receiver category .
        Choose "Goto -> Settlement Parameters".
       Specify another receiver for distribution rule 009. If you already
    used this rule for a previous settlement, enter a valid-to period. Then
    enter a new rule for the next settlement with a receiver category. This
    category must be one that is allowed by settlement profile PM0001.
    Procedure for System Administration
    If necessary, maintain a suitable settlement profile.
    Would very much appreciate your help.
    Cheers
    Eunice

  • Create Settlement rule for L2 WBS via CJB1/2

    Hi Everyone
    In the past we have settled WBS elements to either PSG/CCtr/AUC. We now want to have WBS hierarchies where the lower level WBS element will settle up to the superior (Level 1) WBS element.
    I have configured the following items in EEC 6.0:
    Created new Allocation Structure (Z4), this is a copy of WBS settlement to PSG, changed the reciever catergory to WBS element
    Created new settlement profile (Z00005) with allocation Structure Z4
    In the settlement strategy have added the new settlement profile with the following settings:
    Account assignment element - Active
    Settlement Profile - Z00005
    AAt Assugn Cat.- 5 (Superior WBS element)
    N:1 SD-PS - Active
    I also have the existing setting to the PSG with RA key populated.
    When I execute CJB2, it states that three two records processed, no errors. However when I look at the master data, only rule is created on Level 1 WBS and not lower level.
    Can anyone help?
    Gurprit

    Hi Abdul
    Created a new one - only the L1 was updated with a SETC. Log from CJB1 shows the following:
    Project                      Object                 Strategy   Bill Acct Org.c SProf. AcctAsgnCt      N:1 RA Key  Recipient              AA fld
    E0108003040000     E0108003040001         Z6     X                   Z00003 Profitability s    X   Z00006   PrfSeg assigned   Old
    E0108003040000     E0108003040002         Z6          X              Z00005                         X                                                0
    E0108003040000     E0108003040003         Z6           X             Z00005                         X                                                0
    Any thoughts?

  • Object Currency is Required in settlement rule creation in CJIC

    Hi,
      I am trying to create settlement rule to settle the cost of wbse to Final Asset in CJIC.I want to settle by amount in Object currency.There is no field where I can change it to Object currency,it is in Controlling Area Currency.
    Any help on this will be appreciated,
    Regards,
    B P Singh

    Hi,
    Go to CJ20N, and go the WBS element. Now go to the settlement rule and give the final asset there. Now in CJ88, after settlemet run, the currency will be taken accordingly
    Regards,
    Uddhab

  • Automatic creation of  settlement rule while creating sales order

    Hi Friends,
    Can any one help me how to create settlement rule automatically while creating sales order i.e saving sales order. Is there any function module or any badi which can be used.. please suggest.
    thanks
    bobby

    Hi,
    Here is the solution , First Create a sustitution by going into OPSN Transaction , only user exit say 'U902'
    and write the form routine in Program named 'ZRGGBS000'
    The code is below ,
    *&      Form  U902
       Automatic Generation of Settlement Rule For WBS and Company 4180
    FORM u902.
    Exit For Automatic Settlement Rule Creation for WBS Billing elements
      IF sy-tcode = 'CJ20N' or sy-tcode = 'CJ01' or sy-tcode = 'CJ02'.
        DATA   lv_proj TYPE ps_pspid.
        lv_proj = proj-pspid.
        EXPORT lv_proj TO MEMORY ID 'PSPID'.
    Calling YGPS_CJB1EXEC Program For Creating Settlement Rule
        SUBMIT ygps_cjb1exec AND RETURN.
      ENDIF.
    ENDFORM.                                                    "u902
    *& Program  YGPS_CJB1EXEC
    PROGRAM  ygps_cjb1exec.
       Automatic Generation of Settlement Rule For WBS and Company 4180
    Called From Exit For Automatic Settlement Rule Creation for WBS Billing elements
    DATA: bdcdata_wa  TYPE bdcdata,
          bdcdata_tab TYPE TABLE OF bdcdata,
          itab TYPE TABLE OF bdcmsgcoll.
    DATA :lv_currm LIKE bkpf-monat,
          lv_curry LIKE bkpf-gjahr,
          lv_prevm LIKE bkpf-monat,
          lv_prevy LIKE bkpf-gjahr,
          lv_proj TYPE ps_pspid,
          lv_mode TYPE c,
          lv_time TYPE sy-uzeit.
    DATA :g_datfm            LIKE usr01-datfm,
          g_dd(2)            TYPE c,                         " Day
          g_mm(2)            TYPE c,                         " Month
          g_yyyy(4)          TYPE c,                         " Year
          g_sydatum(10)      TYPE c.
    IMPORT lv_proj FROM MEMORY ID 'PSPID'.
    lv_mode = 'N'.
    CLEAR bdcdata_wa.
    bdcdata_wa-program  = 'SAPLKAZB'.
    bdcdata_wa-dynpro   = '1000'.
    bdcdata_wa-dynbegin = 'X'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'BDC_CURSOR'.
    bdcdata_wa-fval = 'PRZB-VARIANT'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'PRZB-VARIANT'.
    bdcdata_wa-fval = 'ZGPS0001'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CALL FUNCTION 'GET_CURRENT_YEAR'
      EXPORTING
        bukrs = '4180'
      IMPORTING
        currm = lv_currm
        curry = lv_curry
        prevm = lv_prevm
        prevy = lv_prevy.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'RKAUF-FROM'.
    bdcdata_wa-fval = lv_currm.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'RKAUF-GJAHR'.
    bdcdata_wa-fval = lv_curry.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'BDC_OKCODE'.
    bdcdata_wa-fval = '=VARC'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-program  = 'RKPSEL00'.
    bdcdata_wa-dynpro   = '1000'.
    bdcdata_wa-dynbegin = 'X'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'BDC_CURSOR'.
    bdcdata_wa-fval = 'CN_PROJN-LOW'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'CN_PROJN-LOW'.
    bdcdata_wa-fval = lv_proj.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'CN_PSPNR-LOW'.
    bdcdata_wa-fval = space.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'CN_NETNR-LOW'.
    bdcdata_wa-fval = space.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'CN_ACTVT-LOW'.
    bdcdata_wa-fval = space.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'CN_MATNR-LOW'.
    bdcdata_wa-fval = space.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'BDC_OKCODE'.
    bdcdata_wa-fval = '/00'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'BDC_OKCODE'.
    bdcdata_wa-fval = '=SAVE'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'BDC_OKCODE'.
    bdcdata_wa-fval = '=VBAC'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-program  = 'SAPLSPO1'.
    bdcdata_wa-dynpro   = '0100'.
    bdcdata_wa-dynbegin = 'X'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'BDC_OKCODE'.
    bdcdata_wa-fval = '=YES'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-program  = 'SAPLKAZB'.
    bdcdata_wa-dynpro   = '1000'.
    bdcdata_wa-dynbegin = 'X'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'RKAUF-BATCH'.
    bdcdata_wa-fval = 'X'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'RKAUF-TEST'.
    bdcdata_wa-fval = space.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'BDC_OKCODE'.
    bdcdata_wa-fval = '=RUN'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-program  = 'SAPLKABA'.
    bdcdata_wa-dynpro   = '0210'.
    bdcdata_wa-dynbegin = 'X'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'KABA01-JNAME'.
    bdcdata_wa-fval = 'CJB1_EXEC'.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'BDC_SUBSCR'.
    bdcdata_wa-fval = 'SAPLKABA'.
    APPEND bdcdata_wa TO bdcdata_tab.
    Extract the date format from the user settings
    PERFORM f_get_dateformat CHANGING g_datfm.
    Changing the current date format to User Profile Date Settings
    PERFORM f_format_date USING   g_datfm
                                  sy-datum+4(2)
                                  sy-datum+6(2)
                                  sy-datum+0(4)
                         CHANGING g_sydatum.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'KABA01-STDAY'.
    bdcdata_wa-fval = g_sydatum.
    APPEND bdcdata_wa TO bdcdata_tab.
    lv_time = sy-uzeit  + 30.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'KABA01-STTME'.
    bdcdata_wa-fval = lv_time.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'KABA01-PRIKZ'.
    bdcdata_wa-fval = space.
    APPEND bdcdata_wa TO bdcdata_tab.
    CLEAR bdcdata_wa.
    bdcdata_wa-fnam = 'BDC_OKCODE'.
    bdcdata_wa-fval = '=TAKE'.
    APPEND bdcdata_wa TO bdcdata_tab.
    Calling Transaction 'CJB1' for creating settlement rule
    CALL TRANSACTION 'CJB1'  USING bdcdata_tab MODE lv_mode .
    IF sy-subrc = 0.
    ENDIF.
    *&      Form  F_GET_DATEFORMAT
          This subroutine returns the date format in the user setttigs
         <--P_G_DATFM  Date Format
    FORM f_get_dateformat CHANGING p_g_datfm.                   "#EC *
      SELECT SINGLE datfm FROM usr01 INTO p_g_datfm
      WHERE bname = sy-uname.
    ENDFORM.                    " F_GET_DATEFORMAT
    *&      Form  F_FORMAT_DATE
          This subroutine returns the date as per the user settings
         -->P_G_DATFM  Date Format
         -->P_G_MM  Month
         -->P_G_DD  Day
         -->P_G_YYYY  Year
         <--P_G_DATE  Date
    FORM f_format_date USING    p_g_datfm
                                p_g_mm
                                p_g_dd
                                p_g_yyyy
                       CHANGING p_g_date.                       "#EC *
      CONSTANTS: c_dot VALUE '.',
                 c_slash VALUE '/',
                 c_dash VALUE '-',
                 c_1 VALUE '1',
                 c_2 VALUE '2',
                 c_3 VALUE '3',
                 c_4 VALUE '4',
                 c_5 VALUE '5',
                 c_6 VALUE '6'.
      DATA: l_day(2),
            l_month(2).
      l_day = p_g_dd.
      l_month = p_g_mm.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = l_month
        IMPORTING
          output = l_month.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = l_day
        IMPORTING
          output = l_day.
      CASE p_g_datfm.
        WHEN c_1.
          CONCATENATE l_day l_month p_g_yyyy INTO p_g_date
              SEPARATED BY c_dot.
        WHEN c_2.
          CONCATENATE l_month l_day p_g_yyyy INTO p_g_date
           SEPARATED BY c_slash.
        WHEN c_3.
          CONCATENATE l_month l_day p_g_yyyy INTO p_g_date
              SEPARATED BY c_dash.
        WHEN c_4.
          CONCATENATE p_g_yyyy l_month l_day INTO p_g_date
              SEPARATED BY c_dot.
        WHEN c_5.
          CONCATENATE p_g_yyyy l_month l_day INTO p_g_date
              SEPARATED BY c_slash.
        WHEN c_6.
          CONCATENATE p_g_yyyy l_month l_day INTO p_g_date
              SEPARATED BY c_dash.
      ENDCASE.
    ENDFORM.                    " F_FORMAT_DATE
    thanks
    bobby

  • How settlement rule will be created for Sales order with cost object

    Dear Experts,
    We are using product cost by sales order with valuated stock. In addition we are not using COPA
    We also consume some materials at sales order level and at the end of month we want to do the result analysis and settlement for the same amount. In this case can any on explain how system will behave regarding settlement of sales order cost and what entries will get pass in the system.
    In our case we have done below activities...
    we have created sales order,
    All production order activities completed till final GRN including month end activities
    Material consumption against sales order
    Result analysis executed
    At the time of sales order settlement, system throwing error (Sender doesn't have valid receiver, please create settlement rule for sender object)
    Then i checked in sales order there sales order settlement rule not defined.
    I guess this settlement rule need be generated by system automatically. If not, please let me know the process of it.

    HI kishore
          the reason is that sale order always carry the revenue  and production order and production period carry the cost .
       cost you can settle to the Material and even management want  to be settle the cost to material only in production order OR period
    but in sales order  when u sell the product it carry the revenue not the cost and management want see and analysis based on profitability segment are profit center level .
    Prerequisites
    If CO-PA is active, the system generates a settlement rule when you create the sales order. The settlement rule determines whether data is settled to other objects or other areas in Controlling. In accordance with this settlement rule, the relevant data is settled to CO-PA.
    If CO-PA is not active, create a settlement rule. This settlement rule that you create manually normally contains a G/L account as a receiver (such as 399999). You can also settle costs and revenues or results analysis data to objects with revenue.
    You can also settle the cost of sales calculated in results analysis to a fixed asset or a cost center. To do this, you must add to the allocation structure the results analysis cost elements under which the cost of sales is updated to the order.
    The settlement rule includes a distribution rule for the sales order item. The distribution rule is made up of a settlement receiver, a settlement share, and a settlement type:
    The settlement receiver (such as profitability segment or G/L account) specifies the object to which the actual costs and revenue of the sales order item are settled. The settlement receiver can be proposed through the settlement profile.
    The settlement share defines the percentage or the equivalence numbers used to distribute the costs to the individual settlement receivers. The settlement share for sales order items is usually 100%. A settlement share of 100% is preset in the system.
    The settlement type specifies full settlement of the sales order item. This ensures that all the data on the sales order is available for results analysis.
    Settlement still takes place in each period. The revenues and the cost of sales are transferred to CO-PA by period, and the work in process and the reserves are transferred to FI.

  • Settlement rule not created automatically

    HI All,
    Every time when i create a maintenance order , system did not create settlement rule automatically ,  when i click on settlement rule it ask with default or without default and cancel , when i click on with default the only settlement rule generated , please tell  where is the gap , it should come automatically
    Thanks in advance
    Armaan

    Hi You can not create automatically at creation, Please check the following IMG setting to make it mandatory at some point so that system will generate it automatically.
    Plant Maintenance and Customer Service>Maintenance and Service Processing>Maintenance and Service Orders> Functions and Settings for Order Types> Settlement Rule: Define Time and Creation of Distribution Rule
    Other wise try User Exit IWO10027
    Thanks,
    SS

Maybe you are looking for