ABOUT SAP MODULES
HI
CAN ANYBODY EXPLAIN ME IN DETAIL WHAT IS SAP FI/CO MODULE?HOW SAP ABAPER HELPS SAP FI/CO?
SHAMIT
Hi Shamit,
following describtion is from http://help.sap.com :
FI
The Financial Accounting (FI) application component fulfills all the international requirements that must be met by the financial accounting department of an organization. It provides the following features:
Management and representation of all accounting data
All business transactions are recorded according to the document principle, which provides an unbroken audit trail from the financial statements to the individual documents.
Open and integrated data flow
Data flow between Financial Accounting and the other components of the SAP System is ensured by automatic updates.
Data is available in real time within Financial Accounting. Postings made in the subledgers always generate a corresponding posting in the general ledger.
Preparation of operational information to assist strategic decision-making within the organization
Integration
Integration of Financial Accounting with other components
All accounting-relevant transactions made in Logistics (LO) or Human Resources (HR) components are posted real-time to Financial Accounting by means of automatic account determination. This data can also be passed on to Controlling (CO).
This ensures that logistical goods movements (such as goods receipts and goods issues) are exactly reflected in the value-based updates in accounting.
Integration within Financial Accounting
Every posting that is made in the subledgers generates a corresponding posting to the assigned G/L accounts. This ensures that the subledgers are always reconciled with the general ledger.
Features
The Financial Accounting application component comprises the following sub-components:
General Ledger (FI-GL)
Accounts Payable (FI-AP)
Accounts Receivable (FI-AR)
Bank Accounting (FI-BL)
Asset Accounting (FI-AA)
Funds Management (FI-FM)
Travel Management (FI-TV)
Special Purpose Ledger (FI-SL)
CO
Controlling provides you with information for management decision-making. It facilitates coordination, monitoring and optimization of all processes in an organization. This involves recording both the consumption of production factors and the services provided by an organization.
As well as documenting actual events, the main task of controlling is planning. You can determine variances by comparing actual data with plan data. These variance calculations enable you to control business flows.
Income statements such as, contribution margin accounting, are used to control the cost efficiency of individual areas of an organization, as well as the entire organization.
Integration
Controlling (CO) and Financial Accounting (FI) are independent components in the SAP system. The data flow between the two components takes place on a regular basis.
Therefore, all data relevant to cost flows automatically to Controlling from Financial Accounting. At the same time, the system assigns the costs and revenues to different CO account assignment objects, such as cost centers, business processes, projects or orders. The relevant accounts in Financial Accounting are managed in Controlling as cost elements or revenue elements. This enables you to compare and reconcile the values from Controlling and Financial Accounting.
Features
Cost Element Accounting (CO-OM-CEL)
Cost and Revenue Element Accounting provides you with an overview of the costs and revenues that occur in an organization. Most of the values are moved automatically from Financial Accounting to Controlling. Cost and Revenue Element Accounting only calculates costs which either do not have another expense or only one expense in Financial Accounting.
If needed, reconciliation of the values in Financial Accounting and Controlling takes place in Cost and Revenue Element Accounting.
For more information, see the SAP Library under Financials ® Controlling ® Cost Element Accounting.
Cost Center Accounting (CO-OM-CCA)
You use Cost Center Accounting for controlling purposes within your organization. It is useful for a source-related assignment of overhead costs to the location in which they occurred.
For more information, see the SAP Library under Financials ® Controlling ® Cost Center Accounting.
Activity-Based-Accounting (CO-OM-ABC)
Activity-Based Costing analyzes cross-departmental business processes. The goals of the whole organization and the optimization of business flows are prioritized.
For more information, see the SAP Library under Financials ® Controlling ® Activity-Based Costing.
Internal Orders (CO-OM-OPA)
You use internal orders to collect and control according to the job that incurred them. You can assign budgets for these jobs, which the system monitors, to ensure that they are not exceeded.
For more information, see the SAP Library under Financials ® Controlling ® Internal Orders.
Product Cost Controlling (CO-PC)
Product Cost Controlling calculates the costs that occur during manufacture of a product, or provision of a service. It enables you to calculate the minimum price at which a product can be profitably marketed.
For more information, see the SAP Library under Financials ® Controlling ® Product Cost Controlling.
Profitability Analysis (CO-PA)
Profitability Analysis analyzes the profit or loss of an organization by individual market segments. The system allocates the corresponding costs to the revenues for each market segment.
Profitability Analysis provides a basis for decision-making, for example, for price determination, customer selection, conditioning, and for choosing the distribution channel.
For more information, see the SAP Library under Financials ® Controlling ® Profitability Analysis.
Profit Center Accounting (EC-PCA)
Profit Center Accounting evaluates the profit or loss of individual, independent areas within an organization. These areas are responsible for their costs and revenues.
Profit Center Accounting is a statistical accounting component in the SAP system. This means that it takes place on a statistical basis at the same time as true accounting. In addition to costs and revenues, you can display key figures, such as, Return on investment, working capital or cash flow on a profit center.
Regards
Berdn
Similar Messages
-
HI
CAN ANYBODY EXPLAIN ME IN DETAIL WHAT IS SAP QM MODULE?HOW SAP ABAPER HELPS SAP QM?
SHAMITHi
Please use following link
about sap -mmand abap
http://help.sap.com/saphelp_46c/helpdata/en/9c/df293581dc1f79e10000009b38f889/frameset.htm
ABAP person required to develop new forms and report , or any Z-development like program and transaction
as per business requirement
Hope ths helps
please reward points
Sunil -
Sir,
Can u explain the what is difference between SAP EPM & BPC, or Both are same...
Is it good career growth is there for SAP EPM ???????
I am planning to do sap EPM module...
Kindly give valuble suggestions....Sir,
Yesterday I attended interview at delhi india one small company they are offering for me as a sap EPM consultant (fresher) job position,.
So i have to join above for the postion as a sap epm Consultant (fresher job), I don't know excactly what is the EPM & BPC.
i was discussed to my frnd on yersterday night he said SAP EPM is different tool & SAP BPC is the different tool still i am confusing what i have to do the nextstep.
i know only about sap fico tool. my education (MBA Finance). Is it suitable for the above job postion and as well as sap epm tool career growth is good ?????? not.....
Kindly give your suggestions. -
Want to know about SAP course and SAP modules
I am Sandeep, done BBM and have 3 years experience as Medical Representative(Pharma sales), and i'm perusing MBA in Sikkim Manipal University Distance Education, i came to know that SAP course has lot of scope in major industries, so that want to know about SAP course and SAP modules available and which module is suitable for me and details about the cost, duration of course please guide me
Message was edited by: Colleen Lee - moving from Careers space to Training and Education.Also removing the bold text formatingAshok,
Hi! Excellent that you are take the next steps in your education and applying them to work experiences.
The best approach in taking SAP-related courses is to contact the university and confirm their approach. View SAP UA member schools here - http://uaaroundtheworld.informatik.tu-muenchen.de/overview(bD1lbiZjPTEwMQ==)/start.htm
...and assess the ones in the UK which does include Brunel.
Ask if they provide SAP-related curricula (or supplements) and hands on SAP software in this course or others that you can take in your program.
Best regards,
Richard -
Hello Everybody....I want to about SAP Basis Module
I want to know about SAP Basis Module....Please tell me about SAP Basis Module..
Edited by: Yogeshmtech on Dec 28, 2011 5:13 PMif you want to know something about SAP basis module, then you should post your question in the basis forum but not in the MM forum.
Further is your question so generic that you actually should start with FAQs on top of eacvh forum and with SAP documentation in help.sap.com
Please read the forum rules before posting.
Toppic locked. -
Where can i find clear information about sap function modules?
where can i find clear information about sap function modules?
for example,
if i want to know whats the use of function module "SAPGUI_PROGRESS_INDICATOR" .
where i can find all the detail info..
is there any sap transaction code for knowing about all function modules and there use?
Regards
SmithaHi:
For documentation, you have to find it out in se37 but it is not neccessary every Fm would have.
Now question is about its used (if you know th e function module)-> go in se37-> put function module -> select where used list -> select used in like - program, class, BSP application etc -> click on ok; it would give the list of its used and just go in that find how it is being used.
if you have to find the function module for table - > go in se11 -> select table name -> click on where used list -> select function module interface and click on ok, it would give the list of its used.
Otherwise go in g o o g l e dot c o m.
Regards
Shashi -
What about the modules of SAP B1?
Hi ,
I am kiran. I am going to join as a SAP B1 consultant.
I had found as SAB B1 has 15 modules and One works on SAP B1 will work on 15 modules. I don't know it is true or not .
Are these 15 modules nothing but SAP modules or differ from SAP.
I am interested to work on programming side. so which part of the SAP B1 is suitable ?
Thanks
kiranHi Kiran,
Unlike R/3, B1 is an integrated package to include all modules. There 13 modules in total.
If you are interested in programming, you just need to master SDK. That is not another module but a tool to access any modules.
You can go through this first: http://wiki.sdn.sap.com/wiki/display/B1/SAPBusinessOne
Thanks,
Gordon -
Please help me in selecting the right SAP Module
Hello All,
I want to change my module; Currently I am in SAP BASIS.And I am willing to change in SRM.
Can any one suggest me should I go for SRM or not,wheather it has a scope (Future Opportunities) / is it easier than BASIS or should I continue with BASIS only.
Or should I go for the SAP security module.
Kindly suggest.
Thanks In Advacne.Hi Sonal,
Before I say what is appropriate for you we need to know the following:
What is your educational background
What is your sap background and experience duration and which module you have worked
What is your domain experience other than SAP
What is your interest
Which subject you are passionate about
Are you looking for learning some other sap module instaead of basis
Do you want to get a job in your interested module instead of just SAP Basis
What you want to achieve within few years from now
Thanks & Regards
Subhasish -
Please assist me which SAP module is better for me..
Hi Evry1,
I completed B.Com in 2012. After Completion, my B.Com teacher forcefully admitted me and also my friends in Costing (I.C.W.A), and he had guided us. But due to wrong guidence and lots of pressure my friends and we cant completed any of them after 2 years. Another reason is we are Bengali medium students and theoretical part of ICWAI is English.
So due to frustration, We couldn't decide which course is better for us. Mom dad say MBA have huge placement. But due to get less than 50% marks in graduation, we couldn't get chance in A grade MBA colleges. So our choice is 1 & only MAT. But my another lots of friend, whose completed MBA applying MAT, they couldn't get jobs as their qualification. That's why at this moment we are very much confused which course is better for our future.
Meanwhile my neighbour uncle tell me about SAP, but failure to tell of its information or description. we don't know what is this but I heard its have huge demand in market. Besides its have a lots of module. I couldn't get help anyone who assist me or our friend about this, and which module will help me in future. I have Commerce background and learn Tally from ICWAI (Institute of Cost & Works Accountant of India). I have no guidance and my father is an Ex- Serviceman.
Please assist me, I & my friends will thankful to u.Hi Srinivasa,
Thanks for replying.
Presently im working as a subject matter expert from a Billing side in our project which involves intergration of Billing(Infranet Billing Engine),Siebel and SAP for financial reporting and related stuff.
Im working on System design for Billing and how its different interfaces will interact with Siebel,Order Mangement and provisioning systems.
I hope that helps..else i can go into more details.
Thanks,
Vikas Dabas -
Which is the best SAP module?
Hi,
my name is vamsi and i have just completed my graduation and i am looking forward do SAP course but, as there are a lot of modules im confused what to select. Can you please suggest me which module is good and has a good demand in the industry which can help me grow up in my career?
Thank you.Hi Vamsi,
As you are a fresher just out of colleage you can select any module in sap as you like but before doing that please consider the following point:
First: Think in which subject you were most interested and always tried to learn more in your academics. Off course it has to do something with your stream of your education as well like for example: if your subject is Bachelor of Commerce then its natural that you would like to go for SAP Financials & Controlling. However if are a Bsc Graduate then think if you like coding, if the answer is yes, think about SAP ABAP option. If you are a Arts Graduate then think which functional skill you want to adopt, is it Sales, Logistics etc. If you have studied Industrial engineering like stuff you may want to go for Plant Maintenance related module etc. So Stream and subject plays a role for you to decide.
Second: No matter which SAP module you select to pursue its always good to read and know some basics of that module what it does, which way it is applicable in the industry, how is the job position,
etc. this will basically give you an idea about which module you want to learn.
Let me know if you need more information or career guidance.
You can join me in linkedin as well if you need.
Thanks & Regards
Subhasish -
Hi Gurus,
I have an object in SAP-HR module. so i want to know about HR module. what is the flow? what are the T-Codes? what are the Tables used?Hi
HR:
HR deals with the INFOTYPES which are similar to Tables in General ABAP.
There are different ways of fetching data from these infotypes.
There are different areas in HR LIKE Personal Admn, Orgn Management, Benefits, Time amangement, Event Management, Payroll etc
Infotypes for these areas are different from one another area.
storing of records data in each type of area is different
LDBS like PNP are used in HR programing.
Instead of Select.. we use some ROUTINES and PROVIDE..ENDPROVIDE.. etc
and in the case of Pay roll we use Clusters and we Import and Export them for data fetching.
On the whole Normal ABAP is different from HR abap.
For Personal Admn the Infotypes start with PA0000 to PA1999
Time Related Infotypes start with PA2000 to PA2999.
Orgn related Infotypes start with HRP1000 to HRP1999.
All custom developed infotypes stsrat with PA9000 onwards.
In payroll processing we use Clusters like PCL1,2,3 and 4.
Instead of Select query we use PROVIDE and ENDPROVIDE..
You have to assign a Logical Database in the attributes PNP.
Go through the SAp doc for HR programming and start doing.
http://www.sapdevelopment.co.uk/hr/hrhome.htm
See:
http://help.sap.com/saphelp_46c/helpdata/en/4f/d5268a575e11d189270000e8322f96/content.htm
see the sample HR report:
report zporgr0030
line-size 193
line-count 60(1)
no standard page heading
message-id zndc.
Database Tables
tables: pernr, " Logical PNP
t001p, " Personnel Subarea
t005t, " Country Descriptions
t500p, " Personnel Area
t501, " Employee Group
t503k, " Employee Subgroup
csks, " Cost Centers
cskt, " Cost Center Texts
t513c, " Job (Previous) Texts
t513s, " Job Titles
t517t, " Edn Est.Text
t518b, " Discipline Text
t519t, " Certificate Text
t528t, " Positions Texts
t538t, " Unit Text
pa0003. " Payroll Status
infotypes:
0000, " Actions
0001, " Organizational Assignment
0002, " Personal Data
0007, " Planned working time
0008, " Payroll Data
0022, " Education Data
0023, " Previous Employer data
0025, " Performance Appraisal Data
0041, " Date Spcifications
2001. " Absences
Declaration of Internal Tables
Internal Table for Personal Data
data: begin of pers_tab occurs 0,
pernr like pa0001-pernr, " Personal Number
ename like pa0001-ename, " Employee Name
trfgr like pa0008-trfgr, " Grade
natio like pa0002-natio, " Nationality
hdate like pa0041-dat01, " Hire Date
gbdat like pa0002-gbdat, " Birth Date
plans like pa0001-plans, " Position
werks like pa0001-werks, " Pers.Area
kostl like pa0001-kostl, " Cost Center
ctext(40), " Cost Center Text
ptext(25), " Position Text
ntext(15), " Nation Text
name1(23), " Location
end of pers_tab.
Internal Table for Payroll Data
data: begin of pay_tab occurs 0,
pernr like pa0008-pernr, " Personal Number
waers like pbwla-waers, " Grade
basic like pa0008-bet01, " Basic Pay
hra_allow like pa0008-bet01, " Housing Allowance
sup_allow like pa0008-bet01, " Supp. Allowance
soc_allow like pa0008-bet01, " Social Allowance
chl_allow like pa0008-bet01, " Child Allowance
fix_allow like pa0008-bet01, " Fixed Overtime
ra_allow like pa0008-bet01, " RA Allowance
per_allow like pa0008-bet01, " Perform. Allowance
pen_allow like pa0008-bet01, " Pension Allowance
oth_allow like pa0008-bet01, " Other Allowances
tot_allow like pa0008-bet01, " Total Allowances
end of pay_tab.
Internal Table for Educational Data
data: begin of edn_tab occurs 0,
pernr like pa0022-pernr, " Personal Number
ausbi like pa0022-ausbi, " Discipline Name
slart like pa0022-slart, " Edn Establishment
insti like pa0022-insti, " Institute
sland like pa0022-sland, " Country
slabs like pa0022-slabs, " Certificate
anzkl like pa0022-anzkl, " Duration
anzeh like pa0022-anzeh, " Unit for Duration
atext like t518b-atext, " Discipline Text
stext like t517t-stext, " Edn Est.Text
landx like t005t-landx, " Country Text
ctext like t519t-stext, " Certificate Text
etext like t538t-etext, " Unit Text
end of edn_tab.
Internal Table for Previous Employment Data
data: begin of pemp_tab occurs 0,
pernr like pa0023-pernr, " Personal Number
arbgb like pa0023-arbgb, " Previous Employer
begda like pa0023-begda, " Start Date
endda like pa0023-endda, " End Date
taete like pa0023-taete, " Last Position
land1 like pa0023-land1, " Country
stltx like t513s-stltx, " Position Text
landx like t005t-landx, " Country Text
end of pemp_tab.
Internal Table for Job History Data
data: begin of job_tab occurs 0,
pernr like pa0001-pernr, " Personal Number
begda like pa0001-begda, " Promotion Date
plans like pa0001-plans, " Position
stell like pa0001-stell, " Job Key
stltx like t513s-stltx, " Job Text
ptext like t528t-plstx, " Position Text
end of job_tab.
Internal Table for Performance Appraisal Data
data: begin of app_tab occurs 0,
pernr like pa0001-pernr, " Personal Number
year(4) type c, " Current Year
appr(35) type c, " C Y Appraisal
year1(4) type c, " Last Year
appr1(35) type c, " Last Year Appraisal
year2(4) type c,
appr2(35) type c,
year3(4) type c,
appr3(35) type c,
year4(4) type c,
appr4(35) type c,
end of app_tab.
Internal Table for Performance Appraisal Data
data: begin of app1_tab occurs 0,
year(4) type c, " Year
appr(35) type c, " Appraisal
end of app1_tab.
Internal Table to get the Payroll Amounts
data wage_tab like pbwla occurs 0 with header line.
Internal table for retreiving Employee Appraisals
data app_in_tab like hrsobid occurs 0 with header line .
data app_out_tab like hrpe_profa occurs 0 with header line .
Declaration of Variables
data : v_year(4) type c,
v_ayear(4) type c,
v_cyear(4) type c,
v_year1(4) type c,
v_year2(4) type c,
v_year3(4) type c,
v_year4(4) type c,
v_year5(4) type c,
v_year6(4) type c,
v_mon(2) type c,
v_date2 like sy-datum,
v_date3 like sy-datum,
v_date like sy-datum,
v_date1 like sy-datum.
Declaration of Constants
constants : c_x type c value 'X', " Sign
c_pernr(8) type n value '00000000', " Pernr
c_p like hrp1007-otype value 'P', " Object Type
c_01 like hrp1001-plvar value '01', " Version
c_val1(2) type c value '31', " Date Type
c_val2(2) type c value '12', " Date Type
c_val like p0041-dar01 value '01', " Date Type
c_1 like pernr-persg value '1', " Emp Group
c_type like hrp1001-otype value 'S', " Object Type
c_date1 like sy-datum value '18000101', " Date
c_date2 like sy-datum value '99991231', " Date
c_lga01 like pa0008-lga01 value '0101', " Wage Type
c_lga02 like pa0008-lga01 value '0102', " Wage Type
c_lga03 like pa0008-lga01 value '0103', " Wage Type
c_lga04 like pa0008-lga01 value '0105', " Wage Type
c_lga05 like pa0008-lga01 value '0109', " Wage Type
c_lga06 like pa0008-lga01 value '0110', " Wage Type
c_lga07 like pa0008-lga01 value '0114', " Wage Type
c_lga08 like pa0008-lga01 value '0116', " Wage Type
c_lga09 like pa0008-lga01 value '0267', " Wage Type
c_kokrs like cskt-kokrs value '1000'. " Controlling Area
Selection Screen
selection-screen begin of block b1 with frame title text-003.
selection-screen begin of line.
selection-screen comment 1(33) text-060.
parameters: r_all radiobutton group rb1.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(33) text-020.
parameters: r_per radiobutton group rb1.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(33) text-021.
parameters: r_pay radiobutton group rb1.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(33) text-022.
parameters: r_edn radiobutton group rb1.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(33) text-023.
parameters: r_pemp radiobutton group rb1.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(33) text-024.
parameters: r_job radiobutton group rb1.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(33) text-025.
parameters: r_app radiobutton group rb1.
selection-screen end of line.
selection-screen end of block b1.
At selection-screen
at selection-screen.
Validate the Selection Screen fields
perform validate_screen.
Start-of-Selection
start-of-selection.
Selection of Period
perform get_period.
Get PERNR from LDB
get pernr.
if pernr-persg eq c_1 or pernr-pernr ne c_pernr.
if r_all eq c_x.
Get the Personal data from PA0001,PA0002, PA0008, PA0041
perform get_pers_data.
Get the Payroll data from PA0008
perform get_pay_data.
Get the Education data from PA0022
perform get_edn_data.
Get the Previous Employment data from PA0023
perform get_pemp_data.
Get the Job History data
perform get_job_data.
Get the Performance Appraisal data
perform get_app_data.
elseif r_per eq c_x.
Get the Personal data from PA0001,PA0002, PA0008, PA0041
perform get_pers_data.
elseif r_pay eq c_x.
Get the Payroll data from PA0008
perform get_pay_data.
elseif r_edn eq c_x.
Get the Education data from PA0022
perform get_edn_data.
elseif r_pemp eq c_x.
Get the Previous Employment data from PA0023
perform get_pemp_data.
elseif r_job eq c_x.
Get the Job History data
perform get_job_data.
elseif r_app eq c_x.
Get the Performance Appraisal data
perform get_app_data.
endif.
endif.
Top-of-page
top-of-page.
Write the Report and Column Headings
perform top_of_page.
End-of-Page
end-of-page.
perform end_of_page.
End-of-Selection
end-of-selection.
Display the Output Report.
perform display_report.
Form-Routines
*& Form validate_screen
Validation of selection Screen fields
form validate_screen.
Validation of Personnel Number
clear pa0003.
if not pnppernr[] is initial.
select pernr
from pa0003 up to 1 rows
into pa0003-pernr
where pernr in pnppernr.
endselect.
if sy-subrc <> 0.
message e999 with 'Incorrect Personnel Number Entered'(001).
endif.
endif.
Validation of Cost Center
clear csks.
if not pnpkostl[] is initial.
select single kostl
into csks-kostl
from csks
where kostl in pnpkostl.
if sy-subrc <> 0.
message e999 with 'Invalid Cost Center'(002).
endif.
endif.
Validation of Personnel Area
clear t500p.
if not pnpwerks[] is initial.
select persa
from t500p up to 1 rows
into t500p-persa
where persa in pnpwerks.
endselect.
if sy-subrc <> 0.
message e999 with 'Incorrect Personnel Area Entered'(004).
endif.
endif.
Validation of Personnel Sub Area
clear t001p.
if not pnpbtrtl[] is initial.
select btrtl
from t001p up to 1 rows
into t001p-btrtl
where btrtl in pnpbtrtl.
endselect.
if sy-subrc <> 0.
message e999 with 'Incorrect Personnel Sub Area Entered'(005).
endif.
endif.
Validation of Employee Group
clear t501.
if not pnppersg[] is initial.
select persg
from t501 up to 1 rows
into t501-persg
where persg in pnppersg.
endselect.
if sy-subrc <> 0.
message e999 with 'Incorrect Employee Group Entered'(006).
endif.
endif.
Validation of Employee Sub Group
clear t503k.
if not pnppersk[] is initial.
select persk
from t503k up to 1 rows
into t503k-persk
where persk in pnppersk.
endselect.
if sy-subrc <> 0.
message e999 with 'Incorrect Employee Sub Group Entered'(007).
endif.
endif.
endform. "validate_screen
*& Form get_period
Get the Correct Period based on Selection screen selection
form get_period.
clear: v_year,v_mon, v_date, v_date1.
v_year = sy-datum+0(4).
v_mon = sy-datum+4(2).
if pnptimr1 = c_x. " Current Date
pnpbegda = sy-datum.
pnpendda = sy-datum.
elseif pnptimr2 = c_x. " Current Month
concatenate v_year v_mon c_val into v_date.
concatenate v_year v_mon c_val1 into v_date1.
pnpbegda = v_date.
pnpendda = v_date1.
elseif pnptimr3 = c_x. " Current Year
concatenate v_year c_val c_val into v_date.
concatenate v_year c_val2 c_val1 into v_date1.
pnpbegda = v_date.
pnpendda = v_date1.
elseif pnptimr4 = c_x. " Upto Today
pnpbegda = c_date1.
pnpendda = sy-datum.
elseif pnptimr5 = c_x. " From Today
pnpbegda = sy-datum.
pnpendda = c_date2.
else.
if ( pnpbegda is initial and pnpendda is initial ).
pnpbegda = c_date1.
pnpendda = c_date2.
elseif pnpbegda is initial and not pnpendda is initial.
pnpbegda = c_date1.
pnpendda = pnpendda.
elseif not ( pnpbegda is initial and pnpendda is initial ).
pnpbegda = pnpbegda.
pnpendda = pnpendda.
endif.
endif.
endform. "get_period
*& Form get_pers_data
Get the Personal Data from PA0001,PA0002,PA0008, PA0041
form get_pers_data.
Get data from Respective Infotypes
rp_provide_from_last p0001 space pnpbegda pnpendda.
rp_provide_from_last p0002 space pnpbegda pnpendda.
rp_provide_from_last p0008 space pnpbegda pnpendda.
rp_provide_from_last p0041 space pnpbegda pnpendda.
pers_tab-pernr = p0001-pernr.
pers_tab-ename = p0001-ename.
pers_tab-werks = p0001-werks.
pers_tab-plans = p0001-plans.
pers_tab-kostl = p0001-kostl.
pers_tab-gbdat = p0002-gbdat.
pers_tab-trfgr = p0008-trfgr.
Get the Engaged Date
read table p0041 with key dar01 = c_val.
if sy-subrc = 0.
pers_tab-hdate = p0041-dat01.
endif.
Get the Cost Center Text
clear cskt-ltext.
select single ltext into cskt-ltext from cskt
where spras = sy-langu and
kokrs = c_kokrs and
kostl = p0001-kostl.
if sy-subrc = 0.
pers_tab-ctext = cskt-ltext.
endif.
Get the Position Text
clear t528t-plstx.
select single plstx into t528t-plstx from t528t
where plans = p0001-plans and
otype = c_type and
sprsl = sy-langu.
if sy-subrc = 0.
pers_tab-ptext = t528t-plstx.
endif.
Get the Nationality
clear t005t-natio.
select single natio into t005t-natio from t005t
where spras = sy-langu and
land1 = p0002-natio.
if sy-subrc = 0.
pers_tab-ntext = t005t-natio.
endif.
Get the Location (Personal Area) Text
clear t500p-name1.
select single name1 into t500p-name1 from t500p
where persa = p0001-werks.
if sy-subrc = 0.
pers_tab-name1 = t500p-name1.
endif.
append pers_tab.
clear pers_tab.
sort pers_tab by pernr.
endform. "get_pers_data
*& Form get_pay_data
Get the Payroll Data from Infotype 0008
form get_pay_data.
Get the Payroll data from Respective Infotypes
rp_provide_from_last p0008 space pnpbegda pnpendda.
pay_tab-pernr = pernr-pernr.
call function 'RP_FILL_WAGE_TYPE_TABLE_EXT'
exporting
appli = 'E'
begda = p0008-begda
endda = p0008-endda
infty = '0008'
objps = ' '
tclas = 'A'
pernr = pernr-pernr
seqnr = ' '
subty = '0 '
dlspl = 'X'
msgflg = ''
nordct = ''
tables
pp0001 = p0001
pp0007 = p0007
pp0008 = p0008
ppbwla = wage_tab
PP0230 =
PP0014 =
PP0015 =
PP0052 =
EXCEPTIONS
ERROR_AT_INDIRECT_EVALUATION = 1
OTHERS = 2
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
loop at wage_tab.
pay_tab-waers = wage_tab-waers.
case wage_tab-lgart.
when c_lga01.
pay_tab-basic = wage_tab-betrg.
when c_lga02.
pay_tab-sup_allow = wage_tab-betrg.
when c_lga03.
pay_tab-hra_allow = wage_tab-betrg.
when c_lga04.
pay_tab-chl_allow = wage_tab-betrg.
when c_lga05.
pay_tab-soc_allow = wage_tab-betrg.
when c_lga06.
pay_tab-fix_allow = wage_tab-betrg.
when c_lga07.
pay_tab-ra_allow = wage_tab-betrg.
when c_lga08.
pay_tab-per_allow = wage_tab-betrg.
when c_lga09.
pay_tab-pen_allow = wage_tab-betrg.
when others.
pay_tab-oth_allow = pay_tab-oth_allow + wage_tab-betrg.
endcase.
pay_tab-tot_allow = pay_tab-basic + pay_tab-sup_allow +
pay_tab-hra_allow + pay_tab-chl_allow +
pay_tab-soc_allow + pay_tab-fix_allow +
pay_tab-ra_allow + pay_tab-per_allow +
pay_tab-oth_allow - pay_tab-pen_allow.
endloop.
append pay_tab.
clear pay_tab.
endform. "get_pay_data
*& Form get_edn_data
Get the Education Data from Infotype 0022
form get_edn_data.
Get the Education data from Respective Infotypes
loop at p0022 where pernr = pernr-pernr.
edn_tab-pernr = pernr-pernr.
edn_tab-ausbi = p0022-ausbi.
edn_tab-slart = p0022-slart.
edn_tab-insti = p0022-insti.
edn_tab-sland = p0022-sland.
edn_tab-slabs = p0022-slabs.
edn_tab-anzkl = p0022-anzkl.
edn_tab-anzeh = p0022-anzeh.
Get the Discipline Text
clear t518b-atext.
select single atext into t518b-atext from t518b
where langu = sy-langu and
ausbi = p0022-ausbi.
if sy-subrc = 0.
edn_tab-atext = t518b-atext.
endif.
Get the Edn Establishment Text
clear t517t-stext.
select single stext into t517t-stext from t517t
where slart = p0022-slart and
sprsl = sy-langu.
if sy-subrc = 0.
edn_tab-stext = t517t-stext.
endif.
Get the Certificate Text
clear t519t-stext.
select single stext into t519t-stext from t519t
where slabs = p0022-slabs and
sprsl = sy-langu.
if sy-subrc = 0.
edn_tab-ctext = t519t-stext.
endif.
Get the Unit Text
clear t538t-etext.
select single etext into t538t-etext from t538t
where zeinh = p0022-anzeh and
sprsl = sy-langu.
if sy-subrc = 0.
edn_tab-etext = t538t-etext.
endif.
Get the Country Description
clear t005t-landx.
select single landx into t005t-landx from t005t
where spras = sy-langu and
land1 = p0022-sland.
if sy-subrc = 0.
edn_tab-landx = t005t-landx.
endif.
append edn_tab.
clear edn_tab.
endloop.
endform. "edn_data
*& Form get_pemp_data
Get the Previous Employment Data from Infotype 0023
form get_pemp_data.
Get the Previous Employment data from Respective Infotypes
loop at p0023 where pernr = pernr-pernr.
pemp_tab-pernr = pernr-pernr.
pemp_tab-arbgb = p0023-arbgb.
pemp_tab-begda = p0023-begda.
pemp_tab-endda = p0023-endda.
pemp_tab-taete = p0023-taete.
pemp_tab-land1 = p0023-land1.
Get the Last Job Text
clear t513c-ltext.
select single ltext into t513c-ltext from t513c
where taete = pemp_tab-taete and
spras = sy-langu.
if sy-subrc = 0.
pemp_tab-stltx = t513c-ltext.
endif.
Get the Country Description
clear t005t-landx.
select single landx into t005t-landx from t005t
where spras = sy-langu and
land1 = pemp_tab-land1.
if sy-subrc = 0.
pemp_tab-landx = t005t-landx.
endif.
append pemp_tab.
clear pemp_tab.
endloop.
sort pemp_tab by pernr.
endform. "pemp_data
*& Form get_job_data
Get the Job History Data from Infotype
form get_job_data.
Get the Job History data from Respective Infotypes
loop at p0001 where pernr = pernr-pernr.
job_tab-pernr = pernr-pernr.
job_tab-begda = p0001-begda.
job_tab-plans = p0001-plans.
job_tab-stell = p0001-stell.
Get the Last Job Text
clear t513s-stltx.
select single stltx into t513s-stltx from t513s
where stell = job_tab-stell and
sprsl = sy-langu.
if sy-subrc = 0.
job_tab-stltx = t513s-stltx.
endif.
Get the Position Text
clear t528t-plstx.
select single plstx into t528t-plstx from t528t
where plans = job_tab-plans and
otype = c_type and
sprsl = sy-langu.
if sy-subrc = 0.
job_tab-ptext = t528t-plstx.
endif.
append job_tab.
clear job_tab.
endloop.
sort job_tab by pernr.
endform. "get_job_data
*& Form get_app_data
Get the Performance Appraisal Data from Infotype
form get_app_data.
clear: v_cyear, v_year1, v_year2, v_year3, v_year4,
v_year5, v_year6, v_ayear, v_date2, v_date3.
v_cyear = sy-datum+0(4) - 1.
v_year1 = v_cyear - 1.
v_year2 = v_cyear - 2.
v_year3 = v_cyear - 3.
v_year4 = v_cyear - 4.
v_year5 = v_cyear - 5.
v_year6 = v_cyear - 6.
concatenate v_cyear c_date2+4(4) into v_date2.
concatenate v_year6 c_date1+4(4) into v_date3.
clear: app_in_tab, app_out_tab.
refresh: app_in_tab, app_out_tab.
app_in_tab-plvar = c_01.
app_in_tab-otype = c_p.
app_in_tab-sobid = pernr-pernr.
append app_in_tab.
Get Appraisals data from Respective Infotypes
call function 'RHPA_APPRAISEES_APP_READ'
exporting
begda = v_date3
endda = v_date2
WITH_STEXT = 'X'
WITH_ADD_INFO = 'X'
tables
appraisees = app_in_tab
appraisals = app_out_tab
exceptions
no_authority = 1
undefined = 2
others = 3
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
sort app_out_tab by sobid vbegd vendd appraisal_adate descending .
delete adjacent duplicates from app_out_tab
comparing sobid vbegd vendd.
loop at app_out_tab where appraisal_histo = 'X' .
condense app_out_tab-appraisal_result.
app1_tab-year = app_out_tab-vendd+0(4).
app1_tab-appr = app_out_tab-appraisal_result_text.
append app1_tab.
clear app1_tab.
endloop.
sort app1_tab by year descending.
loop at app1_tab.
app_tab-pernr = pernr-pernr.
move-corresponding app1_tab to app_tab.
append app_tab.
clear: app1_tab, app_tab.
endloop.
refresh app1_tab.
sort app_tab by pernr.
delete app_tab where year = ' ' and appr = ' ' .
endform. "get_app_data
*& Form top_of_page
Write the Report and Column Headings
form top_of_page.
skip.
format color col_heading on.
if r_all eq c_x.
write: /1(193) 'NATIONAL DRILLING COMPANY'(009) centered,
/1(193) 'Employee Details Report'(066) centered.
elseif r_per eq c_x.
write: /1(193) 'NATIONAL DRILLING COMPANY'(009) centered,
/1(193) 'Employee Details - Personal Data'(010)
centered.
elseif r_pay eq c_x.
write: /1(172) 'NATIONAL DRILLING COMPANY'(009) centered,
/1(172) 'Employee Details - Payroll Data'(027)
centered.
elseif r_edn eq c_x.
write: /1(172) 'NATIONAL DRILLING COMPANY'(009) centered,
/1(172) 'Employee Details - Education Data'(028)
centered.
elseif r_pemp eq c_x.
write: /1(97) 'NATIONAL DRILLING COMPANY'(009) centered,
/1(97) 'Employee Details - Previous Employment Data'(029)
centered.
elseif r_job eq c_x.
write: /1(75) 'NATIONAL DRILLING COMPANY'(009) centered,
/1(75) 'Employee Details - Job History Data'(030)
centered.
elseif r_app eq c_x.
write: /1(192) 'NATIONAL DRILLING COMPANY'(009) centered,
/1(192) 'Employee Details - Performance Appraisal Data'(031)
centered.
endif.
format color off.
if pnptimr1 = c_x. " Current Date
write: /2 'Period From :'(008), sy-datum,
'To:'(019), sy-datum.
elseif pnptimr2 = c_x. " Current Month
write: /2 'Period From :'(008), v_date, 'To:'(019), v_date1.
elseif pnptimr3 = c_x. " Current Year
write: /2 'Period From :'(008), v_date, 'To:'(019), v_date1.
elseif pnptimr4 = c_x. " Upto Today
write: /2 'Period From :'(008), c_date1, 'To:'(019), sy-datum.
elseif pnptimr5 = c_x. " From Today
write: /2 'Period From :'(008), sy-datum, 'To:'(019), c_date2.
else.
if ( pnpbegda is initial and pnpendda is initial ).
write: /2 'Period From :'(008), c_date1, 'To:'(019), c_date2.
elseif pnpbegda is initial and not pnpendda is initial.
write: /2 'Period From :'(008), c_date1, 'To:'(019), pnpendda.
elseif not ( pnpbegda is initial and pnpendda is initial ).
write: /2 'Period From :'(008), pnpbegda,
'To:'(019), pnpendda.
endif.
endif.
if not ( r_pemp eq c_x or r_job eq c_x ).
write: 140 'Report Run Date:'(073), sy-datum.
if not pnpkostl[] is initial.
if pnpkostl-high is initial.
write: /2 'Cost Center :'(074), pnpkostl-low,
125 'Time :'(075), sy-uzeit.
else.
write: /2 'Cost Center From:'(076), pnpkostl-low+7(3),
'To:'(019), pnpkostl-high,
140 'Time :'(075), sy-uzeit.
endif.
else.
write: /140 'Time :'(075), sy-uzeit.
endif.
if not pnppernr[] is initial.
if pnppernr-high is initial.
write: /2 'Personal Number :'(077), pnppernr-low,
140 'User :'(078), sy-uname.
else.
write: /2 'Personal No.From:'(079), pnppernr-low,
'To:'(019), pnppernr-high,
140 'User :'(078), sy-uname.
endif.
else.
write: /140 'User :'(078), sy-uname.
endif.
write: /140 'Page No :'(080), sy-pagno.
else.
write: 48 'Report Run Date:'(073), sy-datum.
if not pnpkostl[] is initial.
if pnpkostl-high is initial.
write: /2 'Cost Center :'(074), pnpkostl-low,
48 'Time :'(075), sy-uzeit.
else.
write: /2 'Cost Center From:'(076), pnpkostl-low+7(3),
'To:'(019), pnpkostl-high,
48 'Time :'(075), sy-uzeit.
endif.
else.
write: /48 'Time :'(075), sy-uzeit.
endif.
if not pnppernr[] is initial.
if pnppernr-high is initial.
write: /2 'Personal Number :'(077), pnppernr-low,
48 'User :'(078), sy-uname.
else.
write: /2 'Personal No.From:'(079), pnppernr-low,
'To:'(019), pnppernr-high,
48 'User :'(078), sy-uname.
endif.
else.
write: /48 'User :'(078), sy-uname.
endif.
write: /48 'Page No :'(080), sy-pagno.
endif.
skip.
if r_per eq c_x.
write /1(193) sy-uline.
format color col_heading on.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(40) 'Name'(012) centered,
53 sy-vline, 54(8) 'Grade'(013) centered,
62 sy-vline, 63(15) 'Nationality'(017) centered,
78 sy-vline, 79(10) 'Eng.Date'(014) centered,
89 sy-vline, 90(10) 'Birth Date'(016) centered,
100 sy-vline,101(25) 'Location'(026) centered,
126 sy-vline,127(25) 'Position'(015) centered,
152 sy-vline,153(40) 'Division'(018) centered,
193 sy-vline.
format color off.
write /1(193) sy-uline.
elseif r_pay eq c_x.
write /1(188) sy-uline.
format color col_heading on.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(15) 'Basic'(033) centered,
28 sy-vline, 29(15) 'Housing Allow.'(034) centered,
44 sy-vline, 45(15) 'Sup.Allow.'(035) centered,
60 sy-vline, 61(15) 'Social Allow.'(036) centered,
76 sy-vline, 77(15) 'Child Allow.'(037) centered,
92 sy-vline, 93(15) 'Fixed Overtime'(038) centered,
108 sy-vline,109(15) 'R.A.Allow.'(041) centered,
124 sy-vline,125(15) 'Perform.Allow.'(039) centered,
140 sy-vline,141(15) 'Pension.Allow.'(059) centered,
156 sy-vline,157(15) 'Others'(040) centered,
172 sy-vline,173(15) 'Total'(042) centered,
188 sy-vline.
format color off.
write /1(188) sy-uline.
elseif r_edn eq c_x.
write /1(172) sy-uline.
format color col_heading on.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(25) 'Discipline'(043) centered,
38 sy-vline, 39(20) 'Edu.Establishment'(044) centered,
59 sy-vline, 60(45) 'Institute'(045) centered,
105 sy-vline,106(15) 'Country'(046) centered,
121 sy-vline,122(30) 'Certificate'(047) centered,
152 sy-vline,153(19) 'Duration of Course'(048) centered,
172 sy-vline.
format color off.
write /1(172) sy-uline.
elseif r_pemp eq c_x.
write /1(97) sy-uline.
format color col_heading on.
write:/1 sy-vline, 12 sy-vline,
33 sy-vline, 34(21) 'Employment Period'(055) centered,
55 sy-vline, 81 sy-vline,
97 sy-vline.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(20) 'Employer'(049) centered,
33 sy-vline, 34(10) 'From'(050) centered,
44 sy-vline, 45(10) 'To'(051) centered,
55 sy-vline, 56(25) 'Last Position'(052) centered,
81 sy-vline, 82(15) 'Country'(053) centered,
97 sy-vline.
format color off.
write /1(97) sy-uline.
elseif r_job eq c_x.
write /1(75) sy-uline.
format color col_heading on.
write:/1 sy-vline,
12 sy-vline,13(10) 'Date of'(054) centered,
23 sy-vline,49 sy-vline,
75 sy-vline.
write:/1 sy-vline,2(10) 'Employee #'(011),
12 sy-vline,13(10) 'Upgrading/'(058) centered,
23 sy-vline,24(25) 'Position'(015) centered,
49 sy-vline,50(25) 'Job'(056) centered,
75 sy-vline.
write:/1 sy-vline, 12 sy-vline,
13(10) 'Promotion'(057) centered,
23 sy-vline, 49 sy-vline,
75 sy-vline.
format color off.
write /1(75) sy-uline.
elseif r_app eq c_x.
format color col_heading on.
write: /1 sy-vline,2(56) sy-uline, 58 sy-vline,
/1 sy-vline, 2(56) text-025 centered color 3, 58 sy-vline.
write /1(58) sy-uline.
format color col_heading on.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(4) 'Year'(067),
17 sy-vline, 18(40) 'Appraisal Text'(068) centered,
58 sy-vline.
format color off.
write /1(58) sy-uline.
endif.
endform. "top_of_page
*& Form end_of_page
Write the Page footers
form end_of_page.
if r_per eq c_x.
write : /(193) sy-uline.
elseif r_pay eq c_x.
write : /(188) sy-uline.
elseif r_edn eq c_x.
write : /(172) sy-uline.
elseif r_pemp eq c_x.
write /1(97) sy-uline.
elseif r_job eq c_x.
write /1(75) sy-uline.
elseif r_app eq c_x.
write /1(217) sy-uline.
endif.
endform. "end_of_page
*& Form Display_report
Write the Report Output
form display_report.
if r_all eq c_x.
if pers_tab[] is initial.
message i999 with
'No Personal Data found'(061).
else.
write: /1 sy-vline,2(51) sy-uline, 53 sy-vline,
/1 sy-vline, 2(50) text-020 centered color 3, 53 sy-vline.
write /1(193) sy-uline.
format color col_heading on.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(40) 'Name'(012) centered,
53 sy-vline, 54(8) 'Grade'(013) centered,
62 sy-vline, 63(15) 'Nationality'(017) centered,
78 sy-vline, 79(10) 'Eng.Date'(014) centered,
89 sy-vline, 90(10) 'Birth Date'(016) centered,
100 sy-vline,101(25) 'Location'(026) centered,
126 sy-vline,127(25) 'Position'(015) centered,
152 sy-vline,153(40) 'Division'(018) centered,
193 sy-vline.
format color off.
write /1(193) sy-uline.
sort pers_tab by pernr.
loop at pers_tab.
format color col_normal.
write:/1 sy-vline, 2(10) pers_tab-pernr,
12 sy-vline, 13(40) pers_tab-ename,
53 sy-vline, 56(6) pers_tab-trfgr,
62 sy-vline, 63(15) pers_tab-ntext,
78 sy-vline, 79(10) pers_tab-hdate,
89 sy-vline, 90(10) pers_tab-gbdat,
100 sy-vline,101(25) pers_tab-name1,
126 sy-vline,127(25) pers_tab-ptext,
152 sy-vline,153(40) pers_tab-ctext,
193 sy-vline.
endloop.
write /1(193) sy-uline.
endif.
skip 3.
if pay_tab[] is initial.
message i999 with
'No Standard Pay Data found'(062).
else.
write: /1 sy-vline,2(42) sy-uline, 44 sy-vline,
/1 sy-vline, 2(42) text-021 centered color 3, 44 sy-vline.
format color col_heading on.
write /1(188) sy-uline.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(15) 'Basic'(033) centered,
28 sy-vline, 29(15) 'Housing Allow.'(034) centered,
44 sy-vline, 45(15) 'Sup.Allow.'(035) centered,
60 sy-vline, 61(15) 'Social Allow.'(036) centered,
76 sy-vline, 77(15) 'Child Allow.'(037) centered,
92 sy-vline, 93(15) 'Fixed Overtime'(038) centered,
108 sy-vline,109(15) 'R.A.Allow.'(041) centered,
124 sy-vline,125(15) 'Perform.Allow.'(039) centered,
140 sy-vline,141(15) 'Pension.Allow.'(059) centered,
156 sy-vline,157(15) 'Others'(040) centered,
172 sy-vline,173(15) 'Total'(042) centered,
188 sy-vline.
format color off.
write /1(188) sy-uline.
sort pay_tab by pernr.
loop at pay_tab.
format color col_normal.
write:/1 sy-vline, 2(10) pay_tab-pernr,
12 sy-vline,
13(15) pay_tab-basic currency pay_tab-waers no-zero,
28 sy-vline,
29(15) pay_tab-hra_allow currency pay_tab-waers no-zero,
44 sy-vline,
45(15) pay_tab-sup_allow currency pay_tab-waers no-zero,
60 sy-vline,
61(15) pay_tab-soc_allow currency pay_tab-waers no-zero,
76 sy-vline,
77(15) pay_tab-chl_allow currency pay_tab-waers no-zero,
92 sy-vline,
93(15) pay_tab-fix_allow currency pay_tab-waers no-zero,
108 sy-vline,
109(15) pay_tab-ra_allow currency pay_tab-waers no-zero,
124 sy-vline,
125(15) pay_tab-per_allow currency pay_tab-waers no-zero,
140 sy-vline.
pay_tab-pen_allow = pay_tab-pen_allow * -1.
write: 141(15) pay_tab-pen_allow currency pay_tab-waers no-zero,
156 sy-vline,
157(15) pay_tab-oth_allow currency pay_tab-waers no-zero,
172 sy-vline,
173(15) pay_tab-tot_allow currency pay_tab-waers no-zero,
188 sy-vline.
endloop.
write /1(188) sy-uline.
endif.
skip 3.
if edn_tab[] is initial.
message i999 with
'No Educational Data found'(063).
else.
write: /1 sy-vline,2(36) sy-uline, 38 sy-vline,
/1 sy-vline, 2(36) text-022 centered color 3, 38 sy-vline.
format color col_heading on.
write /1(172) sy-uline.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(25) 'Discipline'(043) centered,
38 sy-vline, 39(20) 'Edu.Establishment'(044) centered,
59 sy-vline, 60(45) 'Institute'(045) centered,
105 sy-vline,106(15) 'Country'(046) centered,
121 sy-vline,122(30) 'Certificate'(047) centered,
152 sy-vline,153(19) 'Duration of Course'(048) centered,
172 sy-vline.
format color off.
write /1(172) sy-uline.
sort edn_tab by pernr.
loop at edn_tab.
format color col_normal.
write:/1 sy-vline, 2(10) edn_tab-pernr,
12 sy-vline, 13(25) edn_tab-atext,
38 sy-vline, 39(20) edn_tab-stext,
59 sy-vline, 60(45) edn_tab-insti,
105 sy-vline,106(15) edn_tab-landx,
121 sy-vline,122(30) edn_tab-ctext,
152 sy-vline,153(4) edn_tab-anzkl,
157(10) edn_tab-etext,
172 sy-vline.
endloop.
write /1(172) sy-uline.
endif.
skip 3.
if pemp_tab[] is initial.
message i999 with
'No Previous Employment Data found'(064).
else.
write: /1 sy-vline,2(53) sy-uline, 55 sy-vline,
/1 sy-vline, 2(53) text-023 centered color 3, 55 sy-vline.
write /1(97) sy-uline.
format color col_heading on.
write:/1 sy-vline, 12 sy-vline,
33 sy-vline, 34(21) 'Employment Period'(055) centered,
55 sy-vline, 81 sy-vline,
97 sy-vline.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(20) 'Employer'(049) centered,
33 sy-vline, 34(10) 'From'(050) centered,
44 sy-vline, 45(10) 'To'(051) centered,
55 sy-vline, 56(25) 'Last Position'(052) centered,
81 sy-vline, 82(15) 'Country'(053) centered,
97 sy-vline.
format color off.
write /1(97) sy-uline.
sort pemp_tab by pernr.
loop at pemp_tab.
format color col_normal.
write:/1 sy-vline, 2(10) pemp_tab-pernr,
12 sy-vline, 13(20) pemp_tab-arbgb,
33 sy-vline, 34(10) pemp_tab-begda,
44 sy-vline, 45(10) pemp_tab-endda,
55 sy-vline, 56(25) pemp_tab-stltx,
81 sy-vline, 82(15) pemp_tab-landx,
97 sy-vline.
endloop.
write /1(97) sy-uline.
endif.
skip 2.
new-page.
if job_tab[] is initial.
message i999 with
'No Job History Data found'(065).
else.
write: /1 sy-vline,2(47) sy-uline, 49 sy-vline,
/1 sy-vline, 2(47) text-024 centered color 3, 49 sy-vline.
format color col_heading on.
write /1(75) sy-uline.
write:/1 sy-vline,
12 sy-vline,13(10) 'Date of'(054) centered,
23 sy-vline,49 sy-vline,
75 sy-vline.
write:/1 sy-vline,2(10) 'Employee #'(011),
12 sy-vline,13(10) 'Upgrading/'(058) centered,
23 sy-vline,24(25) 'Position'(015) centered,
49 sy-vline,50(25) 'Job'(056) centered,
75 sy-vline.
write:/1 sy-vline, 12 sy-vline,
13(10) 'Promotion'(057) centered,
23 sy-vline, 49 sy-vline,
75 sy-vline.
format color off.
write /1(75) sy-uline.
sort job_tab by pernr.
loop at job_tab.
format color col_normal.
at new pernr.
write:/1 sy-vline, 2(10) job_tab-pernr.
endat.
write: 1 sy-vline, 12 sy-vline,
13(10) job_tab-begda,
23 sy-vline,24(25) job_tab-ptext,
49 sy-vline,50(25) job_tab-stltx,
75 sy-vline.
new-line.
endloop.
write /1(75) sy-uline.
endif.
skip 3.
if app_tab[] is initial.
message i999 with
'No Performance Appraisal Data found'(072).
else.
write: /1 sy-vline,2(56) sy-uline, 58 sy-vline,
/1 sy-vline, 2(56) text-025 centered color 3, 58 sy-vline.
write /1(58) sy-uline.
format color col_heading on.
write:/1 sy-vline, 2(10) 'Employee #'(011),
12 sy-vline, 13(4) 'Year'(067),
17 sy-vline, 18(40) 'Appraisal Text'(068) centered,
58 sy-vline.
format color off.
write /1(58) sy-uline.
sort app_tab by pernr.
loop at app_tab.
format color col_normal.
write:/1 sy-vline, 2(10) app_tab-pernr,
12 sy-vline, 13(4) app_tab-year,
17 sy-vline, 18(40) app_tab-appr,
58 sy-vline.
endloop.
write /1(58) sy-uline.
endif.
skip 2.
elseif r_per eq c_x.
if pers_tab[] is initial.
message i999 with
'No Data found for the entered Selection'(032).
else.
sort pers_tab by pernr.
loop at pers_tab.
format color col_normal.
write:/1 sy-vline, 2(10) pers_tab-pernr,
12 sy-vline, 13(40) pers_tab-ename,
53 sy-vline, 56(6) pers_tab-trfgr,
62 sy-vline, 63(15) pers_tab-ntext,
78 sy-vline, 79(10) pers_tab-hdate,
89 sy-vline, 90(10) pers_tab-gbdat,
100 sy-vline,101(25) pers_tab-name1,
126 sy-vline,127(25) pers_tab-ptext,
152 sy-vline,153(40) pers_tab-ctext,
193 sy-vline.
endloop.
write /1(193) sy-uline.
endif.
elseif r_pay eq c_x.
if pay_tab[] is initial.
message i999 with
'No Data found for the entered Selection'(032).
else.
sort pay_tab by pernr.
loop at pay_tab.
format color col_normal.
write:/1 sy-vline, 2(10) pay_tab-pernr,
12 sy-vline,
13(15) pay_tab-basic currency pay_tab-waers no-zero,
28 sy-vline,
29(15) pay_tab-hra_allow currency pay_tab-waers no-zero,
44 sy-vline,
45(15) pay_tab-sup_allow currency pay_tab-waers no-zero,
60 sy-vline,
61(15) pay_tab-soc_allow currency pay_tab-waers no-zero,
76 sy-vline,
77(15) pay_tab-chl_allow currency pay_tab-waers no-zero,
92 sy-vline,
93(15) pay_tab-fix_allow currency pay_tab-waers no-zero,
108 sy-vline,
109(15) pay_tab-ra_allow currency pay_tab-waers no-zero,
124 sy-vline,
125(15) pay_tab-per_allow currency pay_tab-waers no-zero,
140 sy-vline.
pay_tab-pen_allow = pay_tab-pen_allow * -1.
write: 141(15) pay_tab-pen_allow currency pay_tab-waers no-zero,
156 sy-vline,
157(15) pay_tab-oth_allow currency pay_tab-waers no-zero,
172 sy-vline,
173(15) pay_tab-tot_allow currency pay_tab-waers no-zero,
188 sy-vline.
endloop.
write /1(188) sy-uline.
endif.
elseif r_edn eq c_x.
if edn_tab[] is initial.
message i999 with
'No Data found for the entered Selection'(032).
else.
sort edn_tab by pernr.
loop at edn_tab.
format color col_normal.
write:/1 sy-vline, 2(10) edn_tab-pernr,
12 sy-vline, 13(25) edn_tab-atext,
38 sy-vline, 39(20) edn_tab-stext,
59 sy-vline, 60(45) edn_tab-insti,
105 sy-vline,106(15) edn_tab-landx,
121 sy-vline,122(30) edn_tab-ctext,
152 sy-vline,153(4) edn_tab-anzkl,
157(10) edn_tab-etext,
172 sy-vline.
endloop.
write /1(172) sy-uline.
endif.
elseif r_pemp eq c_x.
if pemp_tab[] is initial.
message i999 with
'No Data found for the entered Selection'(032).
else.
sort pemp_tab by pernr.
loop at pemp_tab.
format color col_normal.
write:/1 sy-vline, 2(10) pemp_tab-pernr,
12 sy-vline, 13(20) pemp_tab-arbgb,
33 sy-vline, 34(10) pemp_tab-begda,
44 sy-vline, 45(10) pemp_tab-endda,
55 sy-vline, 56(25) pemp_tab-stltx,
81 sy-vline, 82(15) pemp_tab-landx,
97 sy-vline.
endloop.
write /1(97) sy-uline.
endif.
elseif r_job eq c_x.
if job_tab[] is initial.
message i999 with
'No Data found for the entered Selection'(032).
else.
sort job_tab by pernr.
loop at job_tab.
format color col_normal.
at new pernr.
write:/1 sy-vline, 2(10) job_tab-pernr.
endat.
write: 1 sy-vline, 12 sy-vline,
13(10) job_tab-begda,
23 sy-vline,24(25) job_tab-ptext,
49 sy-vline,50(25) job_tab-stltx,
75 sy-vline.
new-line.
endloop.
write /1(75) sy-uline.
endif.
elseif r_app eq c_x.
if app_tab[] is initial.
message i999 with
'No Data found for the entered Selection'(032).
else.
sort app_tab by pernr.
loop at app_tab.
format color col_normal.
write:/1 sy-vline, 2(10) app_tab-pernr,
12 sy-vline, 13(4) app_tab-year,
17 sy-vline, 18(40) app_tab-appr,
58 sy-vline.
endloop.
write /1(58) sy-uline.
endif.
endif.
endform. " Display_report
<b>Reward points if useful</b>
Regards
Ashu -
SAP Module sapnwrfc: Retrieving data from SAP using RFC
I'm sorry, if I'm asking about something that's obvious in SAP. I need to develop a perl application in a remote server that will receive a requisition from an abap application.
I'm using the SAP Module sapnwrfc. I connect to SAP Gateway with no errors and execute the function sapnwrfc::installFunction (no errors returned) but I can't find the transaction in SAP. Anybody has some document about configurations that I need to do in sap ? Or anybody could see the code above and tell me what is wrong?
[code]
#!/usr/bin/perl
use sapnwrfc;
use Data::Dumper;
use utf8;
SAPNW::Rfc->load_config;
my $conn = SAPNW::Rfc->rfc_connect;
# print "Testing SAPNW::Rfc-$SAPNW::Rfc::VERSION\n";
my $func = new SAPNW::RFC::FunctionDescriptor("ZRFCDAZEL") ;
my $pipedata = new SAPNW::RFC::Type(name => 'DATA',
type => RFCTYPE_TABLE,
fields => [{name => 'OBJTY',
type => RFCTYPE_CHAR,
len => 4},
{name => 'OBJKY',
type => RFCTYPE_CHAR,
len => 10},
{name => 'ATTRIBUTES',
type => RFCTYPE_CHAR,
len => 255},
$func->addParameter(new SAPNW::RFC::Export(name => "COMMAND",
len => 255,
type => $pipedata));
$func->addParameter(new SAPNW::RFC::Import(name => "COMMAND1",
len => 255,
type => $pipedata));
$funcao->callback(\&do_remote_pipe);
$conn->disconnect();
exit;
sub do_remote_pipe {
my $param = shift;
print "\nPARM : " . $param->{'ZDUS'} . "\n";
$param->COMMAND1([{'LOG'=>'Execute ZDUS PARAMETER '}]);
$param->COMMAND1([{'STATUS'=>'S'}]);
return 1;
sub do_global_callback {
warn "Running global callback ...\n";
return 1;Timo,
I included the code in the VO and in my bean, I was able to generate this code snippet:
public String GetParamterSetup() {
BindingContainer bindings = getBindings();
OperationBinding operationBinding = bindings.getOperationBinding("applyParamVOCriteria");
operationBinding.getParamsMap().put("vcodetype", codeType);
Object result = operationBinding.execute();
System.out.println(result);
if (!operationBinding.getErrors().isEmpty()) {
return null;
return null;
I was able to get the result from the System.out.println. It returns null when there is no match. However, I want to return the entire row or have access to that attribute. For instance if I have 'GB011' what the system will display for me is 'viewrow [oracle.jbo.Key[GB011 ]]'
Pls, how can I have access to individual attributes like ParamSetup.codeType, ParamSetuo.MainCode etc... -
How can I learn about SAP BW?
Hello,
I need to work with it and will have access to it soon, what is the best wey to go about learning about it?Hi
You can learn through SAP Academy training centres. otherwise if you go through this SDN site, you will find more valuable information not only about this module, you will get different experts expiriences and problem solving methods will gives you a great idea about this module.
Kind Regards,
Babu -
What should i know about MM module for a BW interview any docs?
what should i know about MM module for my BW interview any docs?
SDN experts are very helpfull to me. i will assign points. Thank you.Hi,
If this is inventory management that you want to handle, you can use infocube 0IC_C03.
Here a HowToguide:
<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f83be790-0201-0010-4fb0-98bd7c01e328">https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f83be790-0201-0010-4fb0-98bd7c01e328</a>
Jacques -
hi experts.
i am subhasis total 2.4 years experience as a sap abap programmer.
now i got offer from ibm & work is assigned in sap plm projects.
can u guide me about sap plm . please send some documents if possible.
mainly the role of sap abap programmer in sap plm.
yours
subhasis.Hi Sahoo,
As ABAP guy in SAP-PLM project you be working mostly on Enhancements, Field exist, user Exists and Reports.
There is nothing worry about SAP-PLM, the work you may get is based on customer requirement & scenarios but you will receive the Detail Funcitonal Specification from the PLM Functional Consultant.
As i mentioned the ABAP work is mostly on Field Exists to make some fields mandatories, User Exists, Functional Modules, Enhancements & Reports.
For details queries you can write in SDN, you will get the replies.
Best of Luck for your new assignment.
Regards
Rehman
Mark Useful Answers
Maybe you are looking for
-
My ipad and my ipod were both stolen during a robbery at our home. How can I deauthorize both of these without having them in my possession? I did delete the ipad from my itunes account.
-
Someone is using Photoshop CC on Windows 8.1 tablet (Atom Cpu)?
Hi, I would buy a little 8 inch Tablet with Atom quadcore and 2gb of ram (Windows 8.1). It's similar to a toy, I know, but I need a little and economic thing when I'm travelling out of my country. In practice I'll use this device with Camera Raw or L
-
How to convert UIView object to NSData and vise-versa for saving it in database using sqlite
I am using sqlite for my project which stores all the data including text fields , id , and one UIVIew object in a column having BLOB datatype . Now while retriving the data i use const char *raw = sqlite3_column_blob(selectstmt, 3); int rawLen = sql
-
Random skipping of iTunes tracks
My music has been playing fine for months, and now, several tracks now skip at certain points. :22 seconds in, the next :10 seconds. Sometimes it skips to a new song all together, sometimes it just skips ahead in the song, almost like a scratched CD
-
AD group membership details during request
My requirement is for an AD User to become a member of several AD groups during request, i.e. the Group membership details is pre-populated. I tried to implement using Access Policy but it did not work. Hope you could give me other options.