Infotype 0008 reecord creation in a BAdI - Issue

I am implementing the method 'CALC_SAL_ADJUSTMENT' of the BAdI definition 'HRECM00_ACTIVATION'. As per the requirement, I have to copy the record in the importing parameter IT0008_OLD, make some modifications to the record and then pass it on to the exporting parameter IT0008. Simultaneously, a new infotype 0008 record has also to be created based on the data in the new record IT0008. I tried using the FM 'BAPI_BASICPAY_CREATESUCCESSOR', since this will also delimit the previous record.
**Create a new Infotype 0008 record, delimiting the previous record
CALL FUNCTION 'BAPI_BASICPAY_CREATESUCCESSOR'
EXPORTING
employeenumber = pernr
subtype = it0008_old-subty
validitybegin = effdt
validityend = c_endda
payscaletype = it0008_old-trfar
payscalearea = it0008_old-trfgb
payscalegroup = it0008_old-trfgr
payscalelevel = it0008_old-trfst
nextincrease = it0008_old-stvor
localallowlevel = it0008_old-orzst
partnership = it0008_old-partn
currency = it0008_old-waers
comparisonpayscltype = it0008_old-vglta
comparisonpaysclarea = it0008_old-vglgb
comparisonpaysclgrp = it0008_old-vglgr
comparisonpayscllvl = it0008_old-vglst
compnextincrease = it0008_old-vglsv
capacityutillevel = it0008_old-bsgrd
hoursworkedperperiod = it0008_old-divgv
annualsalary = v_annsal
casegroupcatalog = it0008_old-falgk
casegroup = it0008_old-falgr
currencyannualsalary = it0008_old-ancur
reason = it0008_old-preas
nocommit = space
IMPORTING
return = wa_return
employeenumber = v_empno
subtype = v_subty
objectid = v_objectid
lockindicator = v_lockind
validitybegin = v_valbegin
validityend = v_valend
recordnumber = v_recordno
TABLES
wagetypes = it_bwagetype.
However, it is raising an exception 'cx_hrpa_violated_precondition', which is not caught and hence a run-time error.
I tried using the above function module in a report program and it worked fine.
Can anybody please let me know, whether it is possible to create an infotype 0008 record inside the above BAdI implementation? and if yes, where am I going wrong?
Thanks in advance.
Sujit.

put the BAPI call as a BACKGROUND TASK & try it..
~Suresh

Similar Messages

  • Modify Infotype 0008 using BADI or EXIT - How to?

    Hi,
    How to modify the values for infotype '0008' in save moment, using a EXIT or BADI????
    What EXIT or BADI to use for this?
    Thanks,
    Daniel

    Use Exit FM: EXIT_SAPFP50M_001 for setting default values and Exit FM: EXIT_SAPFP50M_002 validations for various infotypes(including IT0008) by enhancing PBO and PAI includes respectively.
    for Example.
    When copying an infotype 0008 record, the reason code *should be cleared.
    INCLUDE y_zxpadu01_08. 
    Data declaration.
    DATA: BEGIN OF wa_am7912_0008.
            INCLUDE STRUCTURE p0008.
    DATA:   filler(1500) TYPE c,
          END OF wa_am7912_0008.
    Only perform for 0008 infotypes....
      IF innnn-infty = '0008'.
      ...that are being copied only....
        IF ipsyst-ioper = 'COP'.
        .....and that are being called manually.
          IF ipsyst-inpst = '0'.
          Parse the data.
            CLEAR wa_am7912_0008.
            wa_am7912_0008 = innnn.
          Clear the reason code.
            clear wa_am7912_0008-preas.
            clear innnn.
            innnn = wa_am7912_0008.
          endif.
        endif.
      endif.
    Regards,
    MM

  • Infotype 0008 Wage type Issue(Urgent)

    Hi all,
    An hiring action was run for a new employee and subsequent information was input in PA30.Along with other information wage-type was filled in Infotype 0008.
    Problem: When we check the corresponding transparent table PA0008 we are unable to find wage type or amount entry there. But when we retrieve the same in PA30 we get all the information along with wage-type and amount.
    Can someone please tell as to where the data is getting retrieved from if it is not saved in PA0008.
    Thanks and Regards,
    Ribhu

    Hi ALL
    Thanks for your response.
    but the problem isn't solved. The client says that this WT is not a proportionate value instead amount   should be payed for the hours the employees works.
    In table T510 i find the amount as 2.00 DKK which appears in the infotype 0008 amount field.
    Kindly advice

  • Infotype 0008 wage-type issue.

    Hi all,
    An hiring action was run for a new employee and subsequent information was input in PA30.Along with other information wage-type was filled in Infotype 0008.
    Problem: When we check the corresponding transparent table PA0008 we are unable to find wage type or amount entry there. But when we retrieve the same in PA30 we get all the information along with wage-type and amount.
    Can someone please tell as to where the data is getting retrieved from if it is not saved in PA0008.
    Thanks and Regards,
    Ribhu

    Hi Ribhu,
    You have to retrieve data through the Reports only because data of IT8 is stored in the infotype only and we cannot check the data from the database table .
    It is suggested to get the Report or use standard report.
    Manoj Shakya.
    Technical-Fuctional Consultant
    SAP-HR
    ******(Useful answers should be rewarded)

  • Infotype 0008-End date issue

    Hi
    Whenever my client wants to delete  a wage type in infotype 0008 ( Basic pay ), they are not getting the end date 31/12/9999 , they are getting the current month as the end date ( For example if we delete a wage type on 01/06/2009 , the end date should be 31/12/9999 ,but here we are getting 30/06/2009 )
    Thanks in Advance .

    IT008  is haveing TC  1
    say
    if the salary of an employee is  10,000
    he joined in the month of jan 2009 
    It0008
    Begda  01.01.2009  endda  31.12.9999  because his salary will not changed on monthly basis right unles and untill if he has any increment or promotion for this we have to run the Actions
    so kidnly check if thee is any master data problem or  TC problem for IT008  in V_T582A
    if it gets changed in the march
    the record shd be  delimited for the month of FEB 
    01.03.2009  31.12.9999
    0101.2009  28.02.2009

  • Authorization for Infotype 0008

    Dear Experts,
    I am new for SAP HR module, and I am facing one authorization issue.
    It is about the PA30 authorization for Infotype 0008, I want to restrict user ( ext_test) who can change Infotype 0008 for person ID 44000156, Employee group 1, Employee subgroup EP(ETXAT).
    And I create the role for T-code PA30.
    In the P_ORGINCON object, I configure the activity as following :
    Authorization level            E, R, S                                                                      AUTHC
    Infotype                           0008                                                                          INFTY
    Personnel Area                *                                                                               PERSA
    Employee Group              1                                                                               PERSG
    Employee Subgroup         EP                                                                            PERSK
    Authorization Profile         *                                                                               PROFL
    Subtype                          ' ', 0                                                                          SUBTY
    Organizational Key          *                                                                               VDSK1
    But when I execute PA30 with person ID 44000156, and want to change Infotype 0008, It shows that I miss the authorization.
    The result of SU53 are
    Authorization level            E
    Infotype                           0008   
    Personnel Area                *
    Employee Group              *
    Employee Subgroup         *
    Authorization Profile         *
    Subtype                          0
    Organizational Key          *
    I don't know why it asks the * authorization for Employee group and subgroup even I want to chagne the data which are fit my created authorizations.
    Could anyone give me some advice?

    Dear Amamath,
    Employee group is 1 (Direct), and subgroup is EP ( Expat).
    I don't know if it is possible if I want to restrict the authority as following:
    I have two person ID, one is 44000156, the other is 44000246.
    44000156 has Employee group 1(Direct) and subgroup EP(Expat)
    44000246 has Employee group 2(Indirect) and subgroup 3(Management)
    I want to restrict the authority that end user can only change Infotype 0008 for the person which subgroup is EP ( No matter the Employee group is 1,2, or 3).That is , in this case, I can only change 44000156 basic pay but not 44000246.
    So in the P_ORGINCON object, I restrict the Authorization level as "E,M,and R); Infotype as "0008"; and subgroup as "EP".
    After that , I did the test with end user's accout. then SU53 shows that it need to have Employee subgroup = "*".
    I don't know why it need the * authority for Employee subgroup. I should be able to change 44000156 since I granted the subgroup "EP" to end user account.

  • Create, but no changes in Infotype 0008

    Hi all,
    We have the following issue in HR authorization
    There's one role with some transactions of HR, some of them is PA30 and PA40.
    One of the rules at the company is, in transaction PA40, the person who made the admission of an employee, can register the salary data (IT 0008);
    And later, the same person can consult this register of employee by transaction PA30, but cannot change the salary in Infotype 0008, only the manager could do this.
    But, both transactions uses the same object (P_ORGIN).
    The question is, this type of restriction (register salary in PA40, and only consult in PA30) can be made only in authorization profile (PFCG)?
    How can we do this?
    Thank you all!

    Hi,
    When you add both PA40 and PA30 tcodes into the same role. You can actually restrict the Infotype 0008 and its Subtype in the same role.
    You can give restrict authorizations to only register salary and only consult via the field values in P_ORIGIN.
    Regards,
    Kiran Kandepalli.

  • Infotype 0008 in Recruitment

    Hi Experts,
    I have a problem with the Infotype 0008 in Recruitment.
    When I try to create a new record through transactions PB30 or PB40, I meet the following error:
    No entry in table T510 for the key 99    2B3
        Message no. RP100
    I tried to customize the table t510, but I don't know how to customize it for applicants.
    May you suggest me, please, the customizing step I have to perform?
    Thank you very much!

    Dear Ema,
                         I have such type of requirement in my client place. So to store data in infotype-8 I have made such type configuration.I think this will help you to solve the problem.
    1. Maintain the payscale type & Area
    2. Maintain the feature for PS Typae & Area In TARIF Feature as per your requirement
    3.Maintain the table revise pay scle group & Level (t510) wher you have to insert the wage type which need to be auto defaulted in Infotype -8
    5.Then create the wage type model in  Revise  Default  Wage types.
    6. Then maintain the feature LGMST as per the below instructions-
    Under the specified country grouping go for creation of structure select the field for decision operation & select the node-TCLAS Transaction Class for Data Retention. Under this go for again creation  & select- A -Master Data and Time Data &
    B- Applicant Data., Then under Applicant data maintain the Wage type models as per your requirement.
    Bleo is the configration I have made in my client Place.
    40 India                                                                               
    TCLAS Transaction Class for Data Retention                                                                               
    A Master Data and Time Data                       
            B Applicant Data                                                                               
    WERKS Personnel Area                                                                               
    1000 Corporate                                                                               
    PERSG Employee Group                                                                               
    B Manager                                                                               
    PERSK Employee Subgroup                                                                               
    M1 Official               
                                      M2 Monthly wage earner    
                                      M3 14-day wage earner     
                                      M4 Weekly wage earner                                                                               
    D Executive                                                                               
    8000 Novodigm Limited                                                                               
    otherwise    
    7. Then go to PB 30 & maintain Applicants Contract element -Infotype-16 wher you have to specify the EG & ESG.
    8. Then select infotype -8 and go for creation & now you can able to create the infotype for the applicant.
    I think this will solve the problem.If any query pl. contact me in this no-9702519630.
    Snita.

  • MSS approval application without infotype 0008 ?

    The MSS webdynpro application, which is calling functionmodule HRMSS_CAT_WD_APPROVAL, crashed with error "IT0008_NOT_FOUND".
    I added the infotype in PA30 to the manager, and now the application is working fine.
    However, we are not using SAP as payroll system, and really do not want infotype 0008, Basic pay, in our master data, since we have to put a value 1, into basic pay for all employees.
    It does not make sense to store garbage data in the system.
    How to solve this issue ?

    Hi Henrik,
    We are facing similar error message in the MSS team calendar. Wonder if you can let me know how the issue got resolved.
    Many thanks,
    Terence
    P.S: issue resolved by applying SAP note 1131910 hence, no response requested
    Edited by: Terence Bosco on Sep 9, 2009 5:54 PM

  • Not able to modify the data for infotype 0008 using FM

    Hi All ,
    I have got a requirement for updating the infotype 0008 data  using FM : HR_MAINTAIN_MASTER_DATA.
    While trying to modify the wagetypes data which is of blank ..unable to upload the amount for that partcular field ..
    For this am herewith the link  of o/p :
    http://i55.tinypic.com/28jfw2c.jpg for this am also posting the code...
    Please suggest me furthur in what way i can upload..
          SELECT * FROM pa0008 INTO TABLE itab_pa0008
    FOR ALL ENTRIES IN itab
        WHERE pernr = wa_data-pernr
        AND begda = wa_data-begda_out
        AND endda = wa_data-endda_out.
        DESCRIBE TABLE itab_pa0008 LINES lin.
        IF lin EQ  0.
          c_action = 'INS'.
        ELSE.
          c_action = 'MOD'.
        ENDIF.
        LOOP AT itab INTO wa_itab WHERE pernr = wa_data-pernr.
          CLEAR: wa_bapireturn, wa_bapireturn1, wa_hr_return.
          REFRESH: it_pprop[],it_modified_keys[].
          it_pprop-infty = '0008'.
          it_pprop-fname  = 'P0008-TRFAR'.                 "1
          it_pprop-fval = wa_itab-trfar.
          APPEND it_pprop.
          CLEAR it_pprop.
          it_pprop-infty = '0008'.
          it_pprop-fname  = 'P0008-TRFGB'.                 "2
          it_pprop-fval = wa_itab-trfgb.
          APPEND it_pprop.
          CLEAR it_pprop.
          it_pprop-infty = '0008'.
          it_pprop-fname  = 'P0008-TRFGR'.                  "3
          it_pprop-fval = wa_itab-trfgr.
          APPEND it_pprop.
          CLEAR it_pprop.
          it_pprop-infty = '0008'.
          it_pprop-fname  = 'P0008-TRFST'.                  "4
          it_pprop-fval = wa_itab-trfst.
          APPEND it_pprop.
          CLEAR it_pprop.
          flag = flag + 1.
    *****************************************************************************************************5
          BREAK-POINT.
          IF NOT wa_itab-lga1 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-LGA01'.
            it_pprop-fval = wa_itab-lga1.
            APPEND it_pprop.
            CLEAR it_pprop.
            bet1 = wa_itab-bet1.
          ENDIF.
          IF NOT wa_itab-bet1 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-BET01'.
            it_pprop-fval = wa_itab-bet1.
            APPEND it_pprop.
            CLEAR it_pprop.
          ENDIF.
    *******************************************************************************************************6
         IF NOT wa_itab-lga2 IS INITIAL.
           it_pprop-infty = '0008'.
           it_pprop-fname  = 'P0008-LGA02'.
           it_pprop-fval = wa_itab-lga2.
           APPEND it_pprop.
           CLEAR it_pprop.
           bet1 = wa_itab-bet2.
         ENDIF.
          IF NOT wa_itab-bet2 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-BET02'.
            it_pprop-fval = wa_itab-bet2.
            APPEND it_pprop.
            CLEAR it_pprop.
          ENDIF.
    *******************************************************************************************************7
          IF NOT wa_itab-lga3 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-LGA03'.
            it_pprop-fval = wa_itab-lga3.
            APPEND it_pprop.
            CLEAR it_pprop.
            bet1 = wa_itab-bet2.
          ENDIF.
          IF NOT wa_itab-bet3 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-BET03'.
            it_pprop-fval = wa_itab-bet3.
            APPEND it_pprop.
            CLEAR it_pprop.
          ENDIF.
    *******************************************************************************************************8
          IF NOT wa_itab-lga4 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-LGA04'.
            it_pprop-fval = wa_itab-lga4.
            APPEND it_pprop.
            CLEAR it_pprop.
            bet1 = wa_itab-bet2.
          ENDIF.
          IF NOT wa_itab-bet4 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-BET04'.
            it_pprop-fval = wa_itab-bet4.
            APPEND it_pprop.
            CLEAR it_pprop.
          ENDIF.
    *******************************************************************************************************9
          IF NOT wa_itab-lga5 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-LGA05'.
            it_pprop-fval = wa_itab-lga5.
            APPEND it_pprop.
            CLEAR it_pprop.
            bet1 = wa_itab-bet2.
          ENDIF.
          IF NOT wa_itab-bet5 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-BET05'.
            it_pprop-fval = wa_itab-bet5.
            APPEND it_pprop.
            CLEAR it_pprop.
          ENDIF.
    *******************************************************************************************************10
          IF NOT wa_itab-lga6 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-LGA06'.
            it_pprop-fval = wa_itab-lga6.
            APPEND it_pprop.
            CLEAR it_pprop.
            bet1 = wa_itab-bet2.
          ENDIF.
          IF NOT wa_itab-bet6 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-BET06'.
            it_pprop-fval = wa_itab-bet6.
            APPEND it_pprop.
            CLEAR it_pprop.
          ENDIF.
    *******************************************************************************************************11
          IF NOT wa_itab-lga7 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-LGA07'.
            it_pprop-fval = wa_itab-lga7.
            APPEND it_pprop.
            CLEAR it_pprop.
            bet1 = wa_itab-bet2.
          ENDIF.
          IF NOT wa_itab-bet7 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-BET07'.
            it_pprop-fval = wa_itab-bet7.
            APPEND it_pprop.
            CLEAR it_pprop.
          ENDIF.
    *******************************************************************************************************12
          IF NOT wa_itab-lga8 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-LGA08'.
            it_pprop-fval = wa_itab-lga8.
            APPEND it_pprop.
            CLEAR it_pprop.
            bet1 = wa_itab-bet2.
          ENDIF.
          IF NOT wa_itab-bet8 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-BET08'.
            it_pprop-fval = wa_itab-bet8.
            APPEND it_pprop.
            CLEAR it_pprop.
          ENDIF.
    *******************************************************************************************************13
          IF NOT wa_itab-lga9 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-LGA09'.
            it_pprop-fval = wa_itab-lga9.
            APPEND it_pprop.
            CLEAR it_pprop.
            bet1 = wa_itab-bet2.
          ENDIF.
          IF NOT wa_itab-bet9 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-BET09'.
            it_pprop-fval = wa_itab-bet9.
            APPEND it_pprop.
            CLEAR it_pprop.
          ENDIF.
    *******************************************************************************************************14
          IF NOT wa_itab-lga10 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-LGA010'.
            it_pprop-fval = wa_itab-lga10.
            APPEND it_pprop.
            CLEAR it_pprop.
            bet1 = wa_itab-bet2.
          ENDIF.
          IF NOT wa_itab-bet10 IS INITIAL.
            it_pprop-infty = '0008'.
            it_pprop-fname  = 'P0008-BET010'.
            it_pprop-fval = wa_itab-bet10.
            APPEND it_pprop.
            CLEAR it_pprop.
          ENDIF.
    *******************************************************************************************************15
       it_pprop-infty = '0008'.
       it_pprop-fname  = 'P0008-LGA11'.
       it_pprop-fval = wa_itab-lga11.
       APPEND it_pprop.
       CLEAR it_pprop.
       bet1 = wa_itab-bet2.
       it_pprop-infty = '0008'.
       it_pprop-fname  = 'P0008-BET11'.
       it_pprop-fval = wa_itab-bet11.
       APPEND it_pprop.
       CLEAR it_pprop.
    ********************************************************************************************************16
       it_pprop-infty = '0008'.
       it_pprop-fname  = 'P0008-LGA12'.
       it_pprop-fval = wa_itab-lga12.
       APPEND it_pprop.
       CLEAR it_pprop.
       bet1 = wa_itab-bet2.
       it_pprop-infty = '0008'.
       it_pprop-fname  = 'P0008-BET12'.
       it_pprop-fval = wa_itab-bet12.
       APPEND it_pprop.
       CLEAR it_pprop.
    ********************************************************************************************************17
       it_pprop-infty = '0008'.
       it_pprop-fname  = 'P0008-LGA13'.
       it_pprop-fval = wa_itab-lga13.
       APPEND it_pprop.
       CLEAR it_pprop.
       bet1 = wa_itab-bet2.
       it_pprop-infty = '0008'.
       it_pprop-fname  = 'P0008-BET13'.
       it_pprop-fval = wa_itab-bet13.
       APPEND it_pprop.
       CLEAR it_pprop.
    ********************************************************************************************************18
       it_pprop-infty = '0008'.
       it_pprop-fname  = 'P0008-LGA14'.
       it_pprop-fval = wa_itab-lga14.
       APPEND it_pprop.
       CLEAR it_pprop.
       bet1 = wa_itab-bet2.
       it_pprop-infty = '0008'.
       it_pprop-fname  = 'P0008-BET14'.
       it_pprop-fval = wa_itab-bet14.
       APPEND it_pprop.
       CLEAR it_pprop.
    BREAK-POINT.
          CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
            EXPORTING
              number = wa_itab-pernr
            IMPORTING
              return = wa_bapireturn1.
          BREAK-POINT.
         IF c_action = 'INS'.
           CALL FUNCTION 'HR_MAINTAIN_MASTERDATA'
             EXPORTING
               pernr           = wa_itab-pernr
               actio           = 'INS'
             tclas           = 'A'
               begda           = wa_data-begda_out             "'20110401'
               endda           = wa_data-endda_out             "'99991231'
               dialog_mode     = '2'
             luw_mode        = '1'
             IMPORTING
               return          = wa_bapireturn
               return1         = wa_bapireturn1
               hr_return       = wa_hr_return
             TABLES
               proposed_values = it_pprop
               modified_keys   = it_modified_keys.
           IF NOT wa_bapireturn IS INITIAL.
             WRITE : / wa_bapireturn.
             CLEAR : wa_itab , wa_bapireturn.
           ENDIF.
         ELSEIF c_action = 'MOD'.
            CALL FUNCTION 'HR_MAINTAIN_MASTERDATA'
              EXPORTING
             infty         = '0008'
                pernr           = wa_itab-pernr
                actio           = 'MOD'
                begda           = wa_data-begda_out             "'20110401'
                endda           = wa_data-endda_out             "'99991231'
          record        =  p_record
             recordnumber  = wa_itab-SEQNR
             operation     = change
             nocommit      = nocommit
                dialog_mode     = '0'
             IMPORTING
                return          = wa_bapireturn
                return1         = wa_bapireturn1
                hr_return       = wa_hr_return
              TABLES
                proposed_values = it_pprop
                modified_keys   = it_modified_keys.
            IF NOT wa_bapireturn IS INITIAL.
              WRITE : / wa_bapireturn.
              CLEAR : wa_itab , wa_bapireturn.
            ENDIF.
         ENDIF.
          CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
            EXPORTING
              number = wa_itab-pernr
            IMPORTING
              return = wa_bapireturn1.
        ENDLOOP.
      ENDLOOP.

    Here is a sampe, and the logic you are using for wages goes in the internal table for wages (you already have the enqueue & dequeue so you don't have to worry about that, so you only have to add the BAPI_TRANSACTION_COMMIT):
    CALL FUNCTION 'BAPI_BASICPAY_CHANGE'
      EXPORTING
        employeenumber             = pa0008-pernr
        subtype                    = pa0008-subty
        objectid                   = pa0008-objps
        lockindicator              = pa0008-sprps
        validitybegin              = pa0008-begda
        validityend                = pa0008-endda
        recordnumber               = pa0008-seqnr
        payscaletype               = pa0008-trfar
        payscalearea               = pa0008-trfgb
        payscalegroup              = pa0008-trfgr
        payscalelevel              = pa0008-trfst
    *   NEXTINCREASE               =
    *   LOCALALLOWLEVEL            =
    *   PARTNERSHIP                =
    *   CURRENCY                   =
    *   COMPARISONPAYSCLTYPE       =
    *   COMPARISONPAYSCLAREA       =
    *   COMPARISONPAYSCLGRP        =
    *   COMPARISONPAYSCLLVL        =
    *   COMPNEXTINCREASE           =
    *   CAPACITYUTILLEVEL          =
    *   HOURSWORKEDPERPERIOD       =
    *   ANNUALSALARY               =
    *   CASEGROUPCATALOG           =
    *   CASEGROUP                  =
    *   CURRENCYANNUALSALARY       =
    *   REASON                     =
    *   NOCOMMIT                   =
    * importing
    *   return                     =
    TABLES
       wagetypes                  = wages.
    Regards,
    Ryan Crosby

  • Creation of a BADI

    Hi SAP Guru's,
    Can someone provide me a detailed step by step procedure to create a BADI in CRM.
    You can also mail me at [email protected]
    Regards,
    Amit

    hi amit
    Go through the following Steps
    Goto Tcode SE18 for BADI Definition Creation.
    give definition Name : ZBADI_CUST--> Press F5 button for Creating the Definition.
    Give Description for the BADi Definition : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    In the Attributes tab you will find "TYPE" Tab
    there you will check the Check Box as "Multiple" because this badi definition is active for multiple BADI Implementations
    save & check the Badi Definition.
    Click on "Interface" tab
    Double Click on the Interface Name that is "ZIF_EX_BADI_CUST"
    here the screen is take you to tcode SE24
    here you will declare the methods
    give method name as "GET_MATERIAL" as INSTANCE Level.
    Click on Parameters Button just above your Method"GET_MATERIAL"
    and Give Parameters as
    P_MATNR IMPORT Type MATNR press enter
    X_MARA CHANGING MARA press enter
    save check and activate your badi Definition.
    Note : you just declare the method in BADI Definition Section you will write the Method Implementation
    in BADI IMPLEMENTATION Section.Because BADI's are pure Abstact class.
    Goto Tcode SE19:
    give Implementation name as : ZBADI_CUST_IMPL and press "F5" for Creation
    it asks BADI Definition name as "ZBADI_CUST" just you create .
    and press enter
    and you give the BADI Implementation Description : XXXXXXXXXXXXXXXXXXXX
    save this Implementation
    click on the Interface tab and double click on the Implementation Class as "ZCL_IM_BADI_CUST_IMPL".
    then you have the GET_MATERIAL Method . double click on the Method it opens the Code window for that method.
    as looks like bellow.
    method ZIF_EX_BADI_CUST~GET_METERIAL .
    Here you will write the coding part.
    if not p_matnr is initial.
    select single * from mara
    into x_mara
    where matnr = p_matnr.
    endif.
    endmethod.
    save,check & activate
    come back and activate again.
    then you need to use this badi in SE38 program.
    go through the following Code
    REPORT ZCUST_BADI1_IMPL_CALL.
    TABLES : MARA.
    *creatingthe BADI interface ref to following class
    DATA : OBJ TYPE REF TO ZIF_EX_CUST_BADI1.
    PARAMETERS : P_MATNR LIKE MARA-MATNR.
    START-OF-SELECTION.
    *passing the BADI interface ref var to following class method to get obj of BADI business add in class
    CALL METHOD CL_EXITHANDLER=>GET_INSTANCE
    EXPORTING
    EXIT_NAME =
    NULL_INSTANCE_ACCEPTED = SEEX_FALSE
    IMPORTING
    ACT_IMP_EXISTING =
    CHANGING
    INSTANCE = OBJ
    EXCEPTIONS
    NO_REFERENCE = 1
    NO_INTERFACE_REFERENCE = 2
    NO_EXIT_INTERFACE = 3
    CLASS_NOT_IMPLEMENT_INTERFACE = 4
    SINGLE_EXIT_MULTIPLY_ACTIVE = 5
    CAST_ERROR = 6
    EXIT_NOT_EXISTING = 7
    DATA_INCONS_IN_EXIT_MANAGEM = 8
    others = 9
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    *calling the implementation class method via business add in class object
    CALL METHOD OBJ->GET_MATERIAL
    EXPORTING
    P_MATNR = P_MATNR
    CHANGING
    X_MARA = MARA.
    WRITE :/ MARA-MATNR,MARA-MBRSH,MARA-MTART.
    If you find useful mark the points
    ~~Guduri

  • No Pre-commitment at PR creation time in ECC -issue at PO creation in SRM

    Hi all,
    We are on SRM 5.0 Extendec CLassic with ECC 6.0
    I have a couple of questions wrt budget check and commitment creation in SRM.
    1.When a PRis transferred from ECC to SRM,is the budget check possible?If yes,what are the settings in ECC/SRM?
    2. After a PR is transferred to SRM,SC gets created.When creating a SC,is the budget check done?If so,if the funds are available,is acommitment posted to ECC?
    3.IF the Budget check error was not encountered at the time of SC creation,while creating a PO,why does the system gives error that "Funds not available".Is this correct?
    We have somePR's(inventory) which get transferred to SRM,but after the SC is created and aPO is issued for that SC,systemchecks the budget and throws an error that funds not available.
    What we want is that at the time ofPR creation itself,system should check the funds and disallow PRcreation if funda are not available.
    Can anyone tell me whether we need to implement the controlin  ECC at the of PR creation or is this issue because of no commitment happening at SC level?
    Please clarify.

    Hi Muthu/Virendra and other xperts,
    Any suggestions?

  • HR ABAP infotype 0008

    Hi All,
    Please see my below requirement.
    i got  2 periods in infotype 0008(in the datailed view)
    1.03/31/2009-12/31/9999  and amount is 1500(Present period)
    2.01/01/2007-03/30/2009  and amount  1000.(Previous Period)
    I want to get the amount from the previous period.that is 1000.
    Can you please let me know how to achive this and how to capture previous period.
    Regards,
    Phani.

    Hi Phani,
    i got 2 periods in infotype 0008(in the datailed view)
    1.03/31/2009-12/31/9999 and amount is 1500(Present period)
    2.01/01/2007-03/30/2009 and amount 1000.(Previous Period)
    I want to get the amount from the previous period.that is 1000.
    You can code something like below:
    Select * from PA0008 INTO TABLE l_t_it0008 WHERE Pernr EQ l_pernr.
    SORT l_t_pernr DESCENDING BY ENDDA.
    READ TABLE l_t_it0008 sy-tabix EQ 2 INTO l_wa_it0008.
    Regards
    Shital

  • Infotype -0008 (Changes)

    Hi,
    The query was if any Change are made in Infotype 0008, by any users if he has authorization of PA30,  to change or delete etc.
    The client Wantu2019s an email should generate if any changes are made to Infotype 0008.and that mail has to go to the respective head
    Any standard report or any customization step pls tell
    Regards,

    Try Dynamic Actions. Go to SM30 --> t588z --> Maintain.
    Enter:
    Itype : 0008
    Fieldname : Any infotype field in IT0008 whose change has to trigget a mail
    FC: Choose function code 2 digits as required (press F1 on the field for further information)
    No: Enter a sequence number
    S: Choose M(Send Mail)
    Variable Function part : Trigger Feature name - Ex. M0001 (press F1 on the field for further information)

  • Automatic updation of amount of wage type in infotype 0008 for all live emp

    Hi,
    Please note that I want to upadate one wage type (9001 - bonus) amount from Rs.2000 to Rs.1950 in infotype 0008 for all the live employees.  
    If I do the following way -
    Payroll: India  -- > Reimbursements, Allowances and Perks  -->  Maintain Pay Scale Groups and Levels
    then the new value appears only for new entry in Infotype 0008.
    Please advice
    Warm Regards
    S J Rajam

    you can try through fast entry screen  and update the amount in infotype.

Maybe you are looking for

  • Installing photoshop cs2 onto macbook pro

    I had the old version of photoshop cs2. I want to put it on my new macbook pro. I was given the link http://www.adobe.com/downloads/cs2_downloads/index.html". I have downloaded it but when I try to install the message says 'Installation failed. The i

  • How to install the new BIOS for Satellite Pro M50 running Ubuntu

    I am running Ubuntu on my Pro M50. Could someone advise me what the latest BIOS is and how to install it? The BIOS upgrade site here seems to havean exe file but I couldn't see the BIOS file within? Thanks

  • Subvi is not executable

    labview 5.1 Once copied my vi's from sol 2.6 machine to sol 2.8, problem is: "This Code Interface has no code to execute. Popup on it and select Load Object Code ..., then select the object code file (lsb)" In fact, it concerns all the cin nodes incl

  • Ttf files not appearing

    Hi, I keep downloading zip files from sites like dafont to install some fonts, but when I download the zips and open them with archive manager I find nothing inside them. I even copied some over from my Ubuntu partition that did have them in and when

  • Oracle versions

    hi can somebody tell me what are the different versions of developer 2000 forms and reports till date beginning from year 1992 onwards? means forms with reports builder one to one ? its urgent?