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,
DanielUse 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,
RibhuHi 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,
RibhuHi 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) -
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. -
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 -
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,
Amithi 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? -
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 Rajamyou 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
-
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
-
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
-
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?