Integration Unit in E-Rec
Hi,
Can anybody tell me what is the importance of Integration unit in E-Recruiting for extractor classes? The integration unit with corresponding object types and classes are maintained in table T77RCF_OIUNIT.
Thanks
Naresh
Hi Buddy,
OM integarated in E-rec is one of most important
The OM integration was developped just to enable the search on orgunits, positions, jobs with a few search criteria. These kind of objectes can be attached to a requisition. The goal is to provide additional information to the requisition, such as what position should be staffed using the requisition. In addition each object (orgunit, position, job) is represented by a smartform within the system. On the UI you will find a link for each object to call the smartform. Now, when the smartform is called, the system extracts additional data from the connected HR system, such as accounting information (using extractor class CL_HRRCF_OIX_ACCOUNTIN
The recruiter uses these links to gather this information. The
extractor CL_HRRCF_OIX_ACCOUNTING provides the following information.
Hope above information can give you help.
Regards,
Jun
Similar Messages
-
B1 to B1 Business Integration Unit
This code sample is used to exchange a Purchase Order in one B1 and transform it into a Sales Order in another B1(Attached file in this tread). More information about this sample can be found in the Business Integration Units article (https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/0bf4978f-0e01-0010-2d89-c140ac1177da)
Have fun!
Felipe OrtegaHi Melvin,
Here some links you can check:
Document that explains BIUs:
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/0bf4978f-0e01-0010-2d89-c140ac1177da
Recorded session in which I set up an Scenario:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/904c187d-dba6-2910-4784-8037a52bf2f9
Landing page that contains all you need to know about B1iSN:
SAP Business One Integration for SAP NetWeaver (B1iSN) [original link is broken]
Can you be a bit more especific in your question? Do you mean the filter in the Control Center? Which version are you using? 2005, 2007?
Normaly the filtering is used to send information just to the subsidiaries that match that filter. You can expand the filtering if you want by adding your own fields. I also explained that in another document you can find in the links above.
HTH,
Felipe -
IPod Classic + Mazda 3 integration unit + Random
I recently got an iPod Classic (120Gb). When I plug it into my Mazda 3 iPod integration unit and set it to random, the song that it plays doesn't match the song information that it displays. What the eff?
If anyone is looking to buy a kit for a mazda 3 I bought a P.I.E adapter and was looking to sell it because i bought something else instead.
I bought:
http://www.discountcarstereo.com/detail.aspx?ID=445
and
http://www.discountcarstereo.com/detail.aspx?ID=1140.
It works wit iPods via the dock connector and iPhones and other mp3 players with the headphone connector. The only problem is that you will have to get an adapter for the iPhone headphone jack, seeing that it is not a standard size. If your interested in buying it or have more questions you can email me at j03613 at gmail dot com. -
Unit testing or integration testing?
Here it says that this example is more of an explanation of framework than best practice because of the conflation of integration/unit testing concepts: http://docs.flexunit.org/index.php?title=Using_Asynchronous_Startup
My question is, how do you define a line here between unit testing and integration testing? What kind of UI components asynchronous tests are then considered to be unit tests and not yet integration tests? Many books recommend having 100% code coverage with unit tests. How would this example look like, to be considered only a unit test and not integration test?The question about which levels of testing to do are really dependent upon you. Let me explain a bit more.
If you are building an application, and only an application, then functional testing probably covers most of your needs. In an application environment, you have a relatively narrow pathway of options and interactions that a user might follow. So long as you test those options well, your app will probably work as well.
Where I see the real value of unit testing is testing for the unknowns. If you have a class that will be used in multiple applications in multiple ways, or perhaps it is intended to be a reusable class where others in your organization will use it in the future, then you want lower level testing. You want to have the best coverage you can because you want to know that, regardless of the way someone chooses to use the code, it will likely function or at least fail gracefully.
The same is true for integration. If I am creating a Flex component, then I can unit test part of it, but not all. So, I want to use integration tests to ensure that it works in as many circumstance as possible. Further, Flex components have a life cycle, so testing them when they are not on the display list isn't really a valid test..
So, to summarize, I see unit and integration w/Flex about testing possibilities and trying to achieve realistic code coverage for known and possible use cases. I see functional testing as testing those components in very specific use cases.
Which do you need? Depends. Are you developing reusable components across (n) projects, likely the first 2 and maybe the last. Are you an application developer testing that an application works in documented business cases? Just functional will likely work.
Hope that helps,
Mike -
I'm very interested in buying an iPhone but have concerns about accumulating multiple pieces of computer equipment. It would be really nice if Apple would develop a sort of docking system for the iPhone where the iPhone could be plugged into a notebook shell like a card. The iPhone would be the master processor and notebook would be an auxiliary where processors would augment as parallel processors (more power). The shell would hold a larger hard drive (store music, data, applications, etc.). You could have internet access and telephone capability through the iPhone while you're working on a document as your riding on a train or a bus. You can leave the shell in your office/home if all you need is the finished product. You'd have the portability of the iPhone with the utility of a notebook all in one integrated unit instead of having a bunch of pieces floating around. Sell it as one unit (basically take the new "Air" notebook and put a slot in it for the iPhone). Away you go.
perki02w,
You can submit a feature request here:
http://www.apple.com/feedback/
Hope this helps,
Jennifer B. -
Playlist use on mopar vehicle integration system
I have been using my ipod through my jeep base factory radio through the mopar/ipod integration system. No issues the first 3 weeks. I had 3-4 playlists created on my ipod and was able to search them through the radio. However, I recently created a new playlist from my library and dragged it to my ipod. I seem to be able to manually play the playlist on the ipod and the ipod seems to recognize it. However, my mopar system does not seem to recognize ANY of my playlists now (no search ability). I've tried many most of the suggestions from the Mopar user booklet. Not sure where to turn.
Well I am not sure what I did but the iPod is operating correclty with my Mopar Integration Kit again.?
I had given up and was going to take it back to the dealer the other day, but I decided to try it one more time before removing it from the Jeep, and voila, it was working.
It did spend about 30 seconds "updating", but after that I was able to control the iPod and browse all the various categories (i.e. Playlists, Artists, Albums...).
There are a few changes that I can think of that may have caused it to start working again. I had recently changed some of the playlists on the iPod. I also turned off the "skip when shuffling" setting on all my podcasts. In addition to those two changes, I did remove a movie that I had on the iPod (however there are still other movies on it).
I also attempted to re-create the prior (non responsive) condition, but with no success. I am not exactly sure what caused the integration unit to start responding again, but it is working now.
30G Video Windows XP
30G Video Windows XP -
NEO and other car integration for Honda Pilot
Has anyone tried to use the factory music adapter or aftermarket integration units on the 2004 Honda Pilot? I see alot of them available for the 2005-2007 but not the 2004. Also, my main concern is that these units charge the Ipod every time that car starts which will reduce battery life. Can the charging portion of these systems be disabled?
Thanks for any help.
NathanI would strongly advise waiting a bit for the dust to settle before investing in a car solution for the 3G iPhone. There have been a lot of incompatibility complaints from customers with systems that should work with the 3G, let alone the firewire pin issue.
FWIW, I place my iPhone 3G in the dock in my vehicle. I run the audio from the line out to my stereo, and a charger to the dock. Works great, and with my vehicle I have a great place to put the dock. However, I have no controls from my steering wheel or car audio other than volume. -
Apple's Video Specifications are WRONG!
Well, it seems apple has screwed 3rd party developers with their API used to access the video features on the iPhone. Either that, or they don't want to own up to the fact that the 3G iPhone can't play video files up to the specs on their website (through 3rd party apps).
Check it out - Here are the "supported" video settings for the 3G iPhone:
Video formats supported: H.264 video, up to 1.5 Mbps, 640 by 480 pixels, 30 frames per second, Low-Complexity version of the H.264 Baseline Profile with AAC-LC audio up to 160 Kbps, 48kHz, stereo audio in .m4v, .mp4, and .mov file formats; H.264 video, up to 2.5 Mbps, 640 by 480 pixels, 30 frames per second, Baseline Profile up to Level 3.0 with AAC-LC audio up to 160 Kbps, 48kHz, stereo audio in .m4v, .mp4, and .mov file formats; MPEG-4 video, up to 2.5 Mbps, 640 by 480 pixels, 30 frames per second, Simple Profile with AAC-LC audio up to 160 Kbps, 48kHz, stereo audio in .m4v, .mp4, and .mov file formats
So, if you render an mp4 file to these EXACT specs, you can play it on your 3G iPhone when imported through iTunes. However, if you try to play this EXACT file through the dropbox app, you get an error message.
THE 3G IPHONE CAN'T PLAY IT BUT THE 3GS IPHONE CAN!!!
Anyone else run into this or am I the only one?
I feel like apple should address this and list out supported video rendering specs for the 3G when played back through a 3rd pary app that has to get pwnd by using the API.The Samsung integrated unit in 3GS is actually capable of doing much more than officially allowed. The reason Apple limited its performance is to conserve battery, i.e. while it's capable of playing 1080p, it wouldn't make any sense on such a small display and would just waste battery life. It can even do HD capture, but iPhone's camera is not good enough for that.
Now, I'm not sure if I exactly get what you mean. Does third party video playback API not support same formats as Apple's own playback?
Was this limited to Dropbox? Dropbox does some little things to your files, for example it drops the EXIF data from images to save space.
You also drop a line about 3G and 3GS, how is that related? -
I've never had a problem with any of the keys on my keyboard up until now. The 'l' key has become like hard and I have to press down harder and more deliberately then I normally do. Otherwise an 'l' doesn't show up on the screen. It's not a settings or technical problem. I feel like just needs to be cleaned or something like that but I don't know. It's really frustrating whenever I'm typing especially since 'l' is a pretty common letter. Please help!
You can try this but I'm not sure if it will work http://m.wikihow.com/Temporarily-Remove-a-Key-from-a-Macbook
ALso found this video on YouTube https://www.youtube.com/watch?v=kh88cn_rtLo
The keyboard, trackpad and top case are an integral unit, you'll probably have to replace the top case https://www.ifixit.com/Guide/MacBook+Core+2+Duo+Upper+Case+Replacement/515 -
Hi,
I have a solution that used to contain one SharePoint 2010 project. The project is named along the following lines:
<Company>.<Product>.SharePoint - let's call it Project1 for future reference. It contains a number of features which have been named according
to their purpose, some are reasonably long and the paths fairly deep. As far as I am concerned we are using sensible namespaces and these reflect our company policy of "doing things properly".
I first encountered the following error message when packaging the aforementioned SharePoint project into a wsp:
"The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters."
I went through a great deal of pain in trying to rename the project, shorten feature names and namespaces etc... until I got it working. I then went about gradually
renaming everything until eventually I had what I started with, and it all worked. So I was none the wiser...not ideal, but I needed to get on and had tight delivery timelines.
Recently we wanted to add another SharePoint project so that we could move some of our core functinality out into a separate SharePoint solution - e.g. custom workflow
error logging. So we created another project in Visual Studio called:
<Company>.<Product>.SharePoint.<Subsystem> - let's call it Project2 for future reference
And this is when the error has come back and bitten me! The scenario is now as follows:
1. project1 packages and deploys successfully with long feature names and deep paths.
2. project2 does not package and has no features in it at all. The project2 name is 13 characters longer than project1
I am convinced this is a bug with Visual Studio and/or the Package MSBuild target. Why? Let me explain my findings so far:
1. By doing the following I can get project2 to package
In Visual Studio 2010 show all files of project2, delete the obj, bin, pkg, pkgobj folders.
Clean the solution
Shut down Visual Studio 2010
Open Visual Studio 2010
Rebuild the solution
Package the project2
et voila the package is generated!
This demonstrates that the package error message is in fact inaccurate and that it can create the package, it just needs a little help, since Visual Studio seems to
no longer be hanging onto something.
Clearly this is fine for a small time project, but try doing this in an environment where we use Continuous Integration, Unit Testing and automatic deployment of SharePoint
solutions on a Build Server using automated builds.
2. I have created another project3 which has a ludicrously long name, this packages fine and also has no features contained within it.
3. I have looked at the length of the path under the pkg folder for project1 and it is large in comparison to the one that is generated for project2, that is when it
does successfully package using the method outlined in 1. above. This is strange since project1 packages and project2 does not.
4. If I attempt to add project2 to my command line build using MSBuild then it fails to package and when I then open up Visual Studio and attempt to package project2
from the Visual Studio UI then it fails with the path too long error message, until I go through the steps outlined in 1. above to get it to package.
5. DebugView shows nothing useful during the build and packaging of the project.
6. The error seems to occur in
CreateSharePointProjectService target called at line 365 of
Microsoft.VisualStudio.SharePoint.targetsCurrently I am at a loss to work out why this is happening? My next task is to delete
project2 completely and recreate it and introduce it into my Visual Studio solution.
Microsoft, can you confirm whether this is a known issue and whether others have encountered this issue? Is it resolved in a hotfix?
Anybody else, can you confirm whether you have come up with a solution to this issue? When I mean a solution I mean one that does not mean that I have to rename my namespaces,
project etc... and is actually workable in a meaningful Visual Studio solution.Hi
Yes, I thought I had fixed this my moving my solution from the usual documents to
c:\v2010\projectsOverflow\DetailedProjectTimeline
This builds ok, but when I come to package I get the lovely error:
Error 2 The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. C:\VS2010\ProjectsOverflow\DetailedProjectTimeline\VisualDetailedProjectTimelineWebPart\Features\Feature1\Feature1.feature VisualDetailedProjectTimeline
Now, the error seems to be related to
Can anyone suggest what might be causing this. Probably some path in an XML file somewhere. Here is my prime suspect!
<metaData>
<type name="VisualDetailedProjectTimelineWebPart.VisualProjectTimelineWebPart.VisualProjectTimeline, $SharePoint.Project.AssemblyFullName$" />
<importErrorMessage>$Resources:core,ImportErrorMessage;</importErrorMessage>
</metaData>
<data>
<properties>
<property name="Title" type="string">VisualProjectTimelineWebPart</property>
<property name="Description" type="string">My Visual WebPart</property>
</properties>
</data>
</webPart>
</webParts>
.... Unless I can solve this I will have to remove the project and recreate but with simple paths. Tho I will be none the wiser if I come across this again.
Daniel -
T60 and maximum external resolution?
Hi,
I have a T60 (Intel 945GM chipset) at work and considering a large widescreen monitor (Dell U2410, 24", 1920x1200, 16:10 format). Does this laptop support an "external" resolution of 1920 x 1200 (using a port replicator with DVI throughput)?
Thanks in advance
Brian Madsen
Solved!
Go to Solution.brisen wrote:
I'm using the ThinkPad Advanced Mini-Dock, and it seems like this dock and the T60 actually supports an external digital resolution of up to 2560 x 1600 with the discrete Intel GFX.
Found the facts on these links.
http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-61297
http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-72148
Regards
Brian Madsen
T60 only had the X1300 or X1400 ATI GPU, the intel gpu is an integrated unit.
The intel gpu doesn't support dual link dvi output, so which means you are limited to a maximum of WUXGA from the dvi port. T60p can support the WQXGA resolution through the dock.
Regards,
Jin Li
May this year, be the year of 'DO'!
I am a volunteer, and not a paid staff of Lenovo or Microsoft -
Slightly different vertical line issue
Hey guys,
I think I might be having the 'vertical line' problem. The screen suddenly goes to vertical lines and the computer is then unresponsive to inputs (actually there'd be no way to tell...), and the only solution being to restart it via the power button.
The questions I have are:
1). Is this the 'vertical line' problem
2). Is it the video card at fault? (Certainly seems like it)
3). Can the video card on these computers be replaced or is it an integrated unit?
4). I gather that the Apple extended Repair offer on this model has expired (****), what do I have to do to get this repaired, or is it something I can do myself with the right parts?
ThanksExcellent ideas, x! Our "IT" is one guy in another building across campus, and while he's extremely capable he's also overloaded and prefers to lock people from poking around their computers so he'll have fewer things to undo. I'll get on his list. Meantime, maybe I'll start my project over at home where I have Premiere Pro running flawlessly on an XP system I've tweaked to perfection, but what do I know? Thanks for the link. Now I can finally join the British Lard Marketing Board!
Greg -
Calling PL/SQL Procedure In Another Schema Gives Unexpected Result
I have a SQL Script that does this:
conn pnr/<password for user pnr>;
set serveroutput on;
exec vms.disable_all_fk_constraints;
SELECT owner, constraint_name, status FROM user_constraints WHERE constraint_type = 'R';
and the disable_all_fk_constraints procedure that is owned by user 'vms' is defined as:
create or replace
procedure disable_all_fk_constraints is
v_sql VARCHAR2(4000);
begin
dbms_output.put_line('Disabling all referential integrity constraints.');
for rec in (SELECT table_name, constraint_name FROM user_constraints WHERE constraint_type='R') loop
dbms_output.put_line('Disabling constraint ' || rec.constraint_name || ' from ' || rec.table_name || '.');
v_sql := 'ALTER TABLE ' || rec.table_name || ' DISABLE CONSTRAINT ' || rec.constraint_name;
execute immediate(v_sql);
end loop;
end;
When I run the SQL script, the call to vms.disable_all_fk_constraints disables the FK constrains in the 'vms' schema, whereas I wanted it to disable the FK constraints in the 'pnr' schema (the invoker of the procedure). I know that I could make this work by copying the disable_all_fk_constraints procedure to the 'pnr' schema and calling it as "+exec disable_all_fk_constraints;+" from within the SQL script but I want to avoid having to duplicate the PL/SQL procedure in each schema that uses it.
What can I do?
Thank youYou have two issues to solve.
First you need to write a packaged procedure that works with INVOKER rights. The default is DEFINER rights.
The difference is excatly what you need. Usually the package has the rights from the schema where it is defined (=Definer rights). In your case schema VMS. Whereas you need the privileges from the user that calls the package (PNR).
=> Check out the documentation for INVOKER rights
The second problem is that the view "user_constraints" will not give the results you expect when called from inside a procedure in another schema. An alternative could be to use the view DBA_CONSTRAINTS with a filter on the owner (where owner = 'PNR'). Not sure if there are other working possibilities. Well you could create a list of constraint names that you want to disable, instead of creating the list dynamically.
And you could have another potential disaster creeping up upon you. If you run this thing, then at this moment you don't have any referential integrity anymore. You can't be sure that you can create the FKs again after this action. This is EXTREMLY DANGEROUS. I would never ever do this in any kind of production or test database. I would be very careful when I do it on a development database. -
Hi
I have this ALV Report when I run and change the layout (add/remove column and add column for sorting) it works fine but when i come back i get the change columns but it doesn't save the sorting options that i made.
Here is my Code
*& Report ZAKTIME *
*& AKABIR 02/06/2007 New Report for Cluster B2 *
REPORT ZAKTIME no standard page heading message-id zw line-size 255.
* Dictionary tables/structures
tables: pa0007, PA0002.
DATA: IT_T549Q TYPE T549Q OCCURS 0 WITH HEADER LINE,
IT_ZL TYPE PC2BF OCCURS 0 WITH HEADER LINE,
IT_PT TYPE PDCPT OCCURS 0 WITH HEADER LINE,
IT_ALP TYPE PC20E OCCURS 0 WITH HEADER LINE,
IT_C1 TYPE PC25X OCCURS 0 WITH HEADER LINE,
IT_PSP TYPE PC2BA OCCURS 0 WITH HEADER LINE.
* Global ALV Data Declarations
type-pools slis.
DATA: BEGIN OF tgetbuff occurs 0,
x(10),
END OF tgetbuff.
include rpcxB200.
INCLUDE RPTBAL01.
* infotypes: 0001. "Org. Zuordnung
Data: TempHours LIKE PC2BF-BEGUZ,
even type i value 0.
data: begin of hd,
struc like dd03l-tabname,
end of hd.
DATA: BEGIN OF REC OCCURS 0,
PERNR LIKE PERNR-PERNR,
SSN Like pa0002-perid,
NAME(25),
TYPE(1),
WRKS LIKE PC2BA-TPROG,
DATE(10),
STIME(8),
ETIME(8),
HOURS LIKE PC2BF-BEGUZ,
PNUMB LIKE PC20E-PRAKN,
PID LIKE PC20E-PRAKZ,
UNIT LIKE PC20E-ANZHL,
VALU LIKE PC20E-BWGRL,
AMOUNT LIKE PC20E-BETRG,
XPAYID LIKE PC20E-AUFKZ,
CCNTR LIKE PC25X-KOSTL,
CCODE LIKE PC25X-BUKRS,
AUFNR LIKE PC25X-AUFNR,
KTEXT LIKE CAUFV-KTEXT,
LGART LIKE PC2BF-LGART,
LGTXT LIKE T512T-LGTXT,
STER LIKE PDCPT-BTERM,
ETER LIKE PDCPT-ETERM.
DATA: END OF REC.
data:
begin of x_sortinfo_alv occurs 0,
spos like alvdynp-sortpos,
fieldname type slis_fieldname,
tabname type slis_fieldname,
up like alvdynp-sortup,
down like alvdynp-sortdown,
group like alvdynp-grouplevel,
subtot like alvdynp-subtotals,
comp(1) type c,
expa(1) type c,
obligatory(1) type c,
end of x_sortinfo_alv,
v_variant like disvariant,
v_repid like sy-repid,
v_save(1) type c,
lv_sortseq type i,
s_title(20), "Maximum selection field description 20 bytes.
fieldcat type slis_t_fieldcat_alv,
ls_line type slis_listheader,
gd_layout type slis_layout_alv,
gt_sort type slis_t_sortinfo_alv,
ls_sort type slis_sortinfo_alv,
events type slis_t_event,
list_top_of_page type slis_t_listheader,
top_of_page type slis_formname value 'TOP_OF_PAGE',
v_exit(1) type c.
constants:
alv_slis_formname type slis_formname value 'ALV_USER_COMMAND',
c_yes like space value 'X',
c_no like space value space.
DATA: BEGIN OF E_NAME,
NACHN LIKE PA0002-NACHN,
VORNA LIKE PA0002-VORNA.
DATA: END OF E_NAME.
* define selection screen
selection-screen begin of block elmo with frame title text-001.
selection-screen begin of line.
selection-screen comment 1(22) text-005.
select-options opt4 for pa0007-schkz.
selection-screen end of line.
parameters: debg_lst as checkbox default 'X'.
selection-screen end of block elmo.
selection-screen begin of block blk2 with frame title text-002.
PARAMETERS: p_vari like disvariant-variant.
selection-screen end of block blk2.
* Form Initialization
initialization.
clear: REC.
refresh: REC.
v_repid = sy-repid.
v_save = 'A'.
clear v_variant.
v_variant-report = v_repid.
* Get default variant
alv_variant = v_variant.
call function 'REUSE_ALV_VARIANT_DEFAULT_GET'
exporting
i_save = v_save
changing
cs_variant = alv_variant
exceptions
not_found = 2.
if sy-subrc = 0.
p_vari = alv_variant-variant.
endif.
* At Selection-Screen event (value help)
at selection-screen on value-request for p_vari.
perform f4_for_variant.
* At Selection-Screen event (check input data)
at selection-screen on p_vari.
if p_vari <> space.
v_variant-report = v_repid.
v_variant-variant = p_vari.
call function 'REUSE_ALV_VARIANT_SELECT'
EXPORTING
i_dialog = c_no
it_default_fieldcat = field_tab[]
i_layout = gs_layout
CHANGING
cs_variant = v_variant.
if sy-subrc <> 0.
call function 'REUSE_ALV_VARIANT_SELECT'
EXPORTING
i_dialog = c_yes
it_default_fieldcat = field_tab[]
i_layout = gs_layout
CHANGING
cs_variant = v_variant.
endif.
endif.
* main logic
TOP-OF-PAGE.
START-OF-SELECTION.
GET PERNR.
RP-PROVIDE-FROM-LAST P0001 SPACE PNPBEGDA PNPENDDA.
* process the data according to the payroll area
IF PERNR-WERKS EQ P0001-WERKS AND PERNR-BTRTL EQ P0001-BTRTL
AND PERNR-KOSTL EQ P0001-KOSTL AND PERNR-BUKRS EQ P0001-BUKRS
AND PERNR-ABKRS EQ P0001-ABKRS AND PERNR-KOKRS EQ P0001-KOKRS.
PERFORM RETRIEVE_Time.
ENDIF.
END-OF-SELECTION.
Perform call_alv.
*======================================================================*
* forms *
*======================================================================*
FORM RETRIEVE_Time.
DATA: date_modified(10), V_STIME(8), V_ETIME(8).
DATA: Flag(1),
v_lgtxt like T512T-LGTXT,
v_ktext like caufv-ktext,
v_WRKS LIKE PC2BA-TPROG.
CALL FUNCTION 'HR_PAYROLL_PERIODS_GET'
EXPORTING
get_begda = PNPBEGDA
get_endda = PNPENDDA
TABLES
get_periods = it_t549q
EXCEPTIONS
no_period_found = 1
no_valid_permo = 2.
CHECK sy-subrc = 0.
LOOP AT it_t549q.
FLAG = 0.
CALL FUNCTION 'HR_TIME_RESULTS_GET'
EXPORTING
get_pernr = PERNR-PERNR
get_pabrj = it_t549q-pabrj
get_pabrp = it_t549q-pabrp
TABLES
GET_TBUFF = TGETBUFF
get_zl = it_zl
get_pt = it_PT
get_alp = it_ALP
get_c1 = it_C1
get_psp = it_psp
EXCEPTIONS
no_period_specified = 1
wrong_cluster_version = 2
no_read_authority = 3
cluster_archived = 4
technical_error = 5.
LOOP AT it_zl.
IF it_ZL-DATUM >= PNPBEGDA AND it_ZL-DATUM <= PNPENDDA.
* Include PSP Data if Exists.
LOOP AT IT_PSP.
IF it_psp-ZMODN IN OPT4 AND it_zl-DATUM EQ it_psp-DATUM.
MOVE it_psp-ZMODN TO REC-WRKS.
FLAG = 1.
Move:
Pernr-Pernr To REC-PERNR,
'Z' To REC-TYPE,
it_ZL-LGART TO REC-LGART,
it_ZL-ANZHL TO REC-HOURS.
perform get_ssn.
perform get_wage_type_text using REC-LGART v_lgtxt.
move v_lgtxt to REC-LGTXT.
CONCATENATE it_zl-DATUM+4(2) '/' it_zl-DATUM+6(2) '/' it_zl-DATUM(4) INTO date_modified.
IF it_ZL-BEGUZ <> ''.
CONCATENATE it_ZL-BEGUZ(2) ':' it_ZL-BEGUZ+2(2) ':' it_ZL-BEGUZ+4(2) INTO V_STIME.
ELSE.
V_STIME = ''.
ENDIF.
IF it_ZL-ENDUZ <> ''.
CONCATENATE it_ZL-ENDUZ(2) ':' it_ZL-ENDUZ+2(2) ':' it_ZL-ENDUZ+4(2) INTO V_ETIME.
ELSE.
V_ETIME = ''.
ENDIF.
Move:
date_modified To REC-DATE,
V_STIME To REC-STIME,
V_ETIME To REC-ETIME.
* Include ALP Data if Exists else include Blanks.
MOVE:
'' TO REC-UNIT,
'' TO REC-PNUMB,
'' TO REC-PID,
'' TO REC-VALU,
'' TO REC-AMOUNT,
'' TO REC-XPAYID.
IF it_ZL-ALZNR GT 0.
LOOP AT IT_ALP.
IF it_zl-ALZNR EQ it_ALP-ALZNR.
MOVE:
it_ALP-ANZHL TO REC-UNIT,
it_ALP-PRAKN TO REC-PNUMB,
it_ALP-PRAKZ TO REC-PID,
it_ALP-BWGRL TO REC-VALU,
it_ALP-BETRG TO REC-AMOUNT,
it_ALP-AUFKZ TO REC-XPAYID.
ENDIF.
ENDLOOP.
ENDIF.
* Include C1 Data if Exists Else Include Blanks.
MOVE:
'' TO REC-CCODE,
'' TO REC-CCNTR,
'' To REC-AUFNR,
'' TO REC-KTEXT.
IF it_ZL-C1ZNR GT 0.
LOOP AT IT_C1.
IF it_zl-C1ZNR EQ it_c1-C1ZNR.
MOVE:
it_C1-BUKRS TO REC-CCODE,
it_C1-KOSTL TO REC-CCNTR,
it_C1-AUFNR To REC-AUFNR.
perform get_service_order_text using REC-AUFNR v_ktext.
move v_ktext to rec-ktext.
ENDIF.
ENDLOOP.
ENDIF.
APPEND REC.
* ENDIF FOR the IF on IT_PSP
ENDIF.
ENDLOOP.
* ENDIF FOR the IF on Date Check
ENDIF.
* ENDLOOP ON IT_ZL
ENDLOOP.
LOOP AT it_pt.
IF it_PT-LDATE >= PNPBEGDA AND it_PT-LDATE <= PNPENDDA.
* Include PSP Data if Exists.
LOOP AT IT_PSP.
IF IT_PSP-ZMODN IN OPT4 AND it_pt-LDATE EQ it_psp-DATUM.
MOVE it_psp-ZMODN TO REC-WRKS.
FLAG = 1.
Move:
Pernr-Pernr To REC-PERNR,
'P' to REC-TYPE,
it_pt-BTERM TO REC-STER,
it_pt-ETERM TO REC-ETER.
perform get_ssn.
CONCATENATE it_pt-LDATE+4(2) '/' it_pt-LDATE+6(2) '/' it_pt-LDATE(4) INTO date_modified.
IF it_pt-BEGTM NE ''.
CONCATENATE it_pt-BEGTM(2) ':' it_pt-BEGTM+2(2) ':' it_pt-BEGTM+4(2) INTO V_STIME.
ELSE.
V_STIME = ''.
ENDIF.
IF it_pt-ENDTM NE ''.
CONCATENATE it_pt-ENDTM(2) ':' it_pt-ENDTM+2(2) ':' it_pt-ENDTM+4(2) INTO V_ETIME.
ELSE.
V_ETIME = ''.
ENDIF.
Move:
date_modified To REC-DATE,
V_STIME To REC-STIME,
V_ETIME To REC-ETIME.
TempHours = ''.
IF it_pt-BEGTM LT it_pt-ENDTM.
TempHours = it_pt-ENDTM(4) - it_pt-BEGTM(4).
TempHours = TempHours / 100.
ENDIF.
MOVE:
TempHours TO REC-HOURS,
'' TO REC-LGART,
'' TO REC-LGTXT,
'' TO REC-UNIT,
'' TO REC-PNUMB,
'' TO REC-PID,
'' TO REC-VALU,
'' TO REC-AMOUNT,
'' TO REC-XPAYID,
'' TO REC-CCODE,
'' TO REC-CCNTR,
'' TO REC-AUFNR,
'' TO REC-KTEXT.
APPEND REC.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
IF FLAG = 0 AND debg_lst = 'X'.
Move:
Pernr-Pernr To REC-PERNR,
'' To REC-TYPE,
'' TO REC-DATE,
'' TO REC-STIME,
'' TO REC-ETIME,
'' TO REC-LGART,
'' TO REC-LGTXT,
'' TO REC-HOURS,
'' TO REC-UNIT,
'' TO REC-PNUMB,
'' TO REC-PID,
'' TO REC-VALU,
'' TO REC-AMOUNT,
'' TO REC-XPAYID,
'' TO REC-CCODE,
'' TO REC-CCNTR,
'' To REC-AUFNR,
'' To REC-KTEXT,
'' TO REC-STER,
'' TO REC-ETER.
perform get_ssn.
PERFORM LOAD_SHIFT using v_WRKS.
Move v_WRKS TO REC-WRKS.
IF REC-WRKS IN OPT4.
APPEND REC.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " RETRIEVE_PAYROLL
* CALL_ALV
form call_alv.
* v_repid = sy-repid.
perform build_field_catalog using field_tab[].
perform build_eventtab using events[].
perform comment_build using header_alv[].
perform build_sorttab using gt_sort[].
perform build_layout.
* v_variant-variant = '/TEST3'.
* Call ABAP List Viewer
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
it_fieldcat = field_tab[]
i_structure_name = 'REC'
i_callback_program = v_repid
is_variant = v_variant
it_events = events[]
it_sort = gt_sort[]
i_save = v_save
is_layout = gd_layout
tables
t_outtab = REC
exceptions
program_error = 1
others = 2.
endform.
* BUILD_FIELD_CATALOG
form build_field_catalog USING pt_fieldcat type
slis_t_fieldcat_alv.
clear: fieldcat, pt_fieldcat[]. refresh: fieldcat.
data: ls_fieldcat type slis_fieldcat_alv.
ls_fieldcat-tabname = 'REC'.
ls_fieldcat-edit = ' '.
ls_fieldcat-fieldname = 'PERNR'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'PERNR'.
ls_fieldcat-seltext_l = 'Employee #'.
ls_fieldcat-outputlen = 15.
ls_fieldcat-no_sum = 'X'. "Don't use field for totals
ls_fieldcat-datatype = 'NUMC'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'NAME'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'NAME'.
ls_fieldcat-seltext_l = 'Employee Name'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'TYPE'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'TYPE'.
ls_fieldcat-seltext_m = 'Type'.
ls_fieldcat-outputlen = 4.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'DATE'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'DATE'.
ls_fieldcat-seltext_l = 'Date'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'WRKS'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'WRKS'.
ls_fieldcat-seltext_m = 'Daily Sch'.
ls_fieldcat-outputlen = 10.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'STIME'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'STIME'.
ls_fieldcat-seltext_l = 'Start Time'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'ETIME'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'ETIME'.
ls_fieldcat-seltext_l = 'End Time'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'HOURS'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'HOURS'.
ls_fieldcat-seltext_s = 'Hours'.
ls_fieldcat-datatype = 'NUMC'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'PNUMB'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'PNUMB'.
ls_fieldcat-seltext_l = 'Premium #'.
ls_fieldcat-datatype = 'NUMC'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'PID'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'PID'.
ls_fieldcat-seltext_l = 'Premium Id'.
ls_fieldcat-datatype = 'NUMC'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'UNIT'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'UNIT'.
ls_fieldcat-seltext_s = 'Unit'.
ls_fieldcat-datatype = 'NUMC'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'VALU'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'VALU'.
ls_fieldcat-seltext_s = 'Valuation Basis'.
ls_fieldcat-datatype = 'NUMC'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'AMOUNT'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'AMOUNT'.
ls_fieldcat-seltext_s = 'Amount'.
ls_fieldcat-datatype = 'NUMC'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'XPAYID'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'XPAYID'.
ls_fieldcat-seltext_s = 'Extra Pay ID'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'CCNTR'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'CCNTR'.
ls_fieldcat-seltext_l = 'Cost Center'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'CCODE'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'CCODE'.
ls_fieldcat-seltext_l = 'Company Code'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'AUFNR'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'AUFNR'.
ls_fieldcat-seltext_l = 'Service Number'.
ls_fieldcat-datatype = 'NUMC'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'KTEXT'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'KTEXT'.
ls_fieldcat-seltext_l = 'Service Number Text'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'LGART'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'LGART'.
ls_fieldcat-seltext_l = 'Wage Type'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'LGTXT'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'LGTXT'.
ls_fieldcat-seltext_l = 'Wage Type Text'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'STER'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'STER'.
ls_fieldcat-seltext_l = 'Starting Terminal'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'ETER'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'ETER'.
ls_fieldcat-seltext_l = 'Ending Terminal'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
ls_fieldcat-edit = ' '.
endform.
* BUILD_EVENTTAB
form build_eventtab using events type slis_t_event.
* Registration of events to happen during list display
data: tmp_event type slis_alv_event.
call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 0
importing
et_events = events.
read table events with key name = slis_ev_top_of_page into tmp_event.
if sy-subrc = 0.
move top_of_page to tmp_event-form.
append tmp_event to events.
endif.
endform.
* COMMENT_BUILD
form comment_build using pt_top_of_page type slis_t_listheader.
data: v_head_string(255) value space, d1(2), m1(2), y1(2), d2(2), m2(2), y2(2).
clear: ls_line, pt_top_of_page.
ls_line-typ = 'H'.
data pnpfrom(10).
data pnpto(10).
data: print_date(10).
data: print_time(10).
d1 = PNPBEGDA+6(2). d2 = PNPENDDA+6(2).
m1 = PNPBEGDA+4(2). m2 = PNPENDDA+4(2).
y1 = PNPBEGDA+2(2). y2 = PNPENDDA+2(2).
concatenate m1 '/' d1 '/' y1 into pnpfrom.
concatenate m2 '/' d2 '/' y2 into pnpto.
d1 = sy-datum+6(2). d2 = sy-uzeit+2(2).
m1 = sy-datum+4(2). m2 = sy-uzeit+0(2).
y1 = sy-datum+2(2). y2 = sy-uzeit+4(2).
concatenate m1 '/' d1 '/' y1 into print_date.
concatenate m2 ':' d2 ':' y2 into print_time.
ls_line-info = sy-repid.
append ls_line to pt_top_of_page.
concatenate 'Printed by:' sy-uname 'on' print_date 'at' print_time
into ls_line-info separated by space.
append ls_line to pt_top_of_page.
ls_line-info = 'BGM INDUSTRIES, INC.'.
append ls_line to pt_top_of_page.
concatenate 'Supply Period:' pnpfrom 'to' pnpto
into ls_line-info separated by space.
append ls_line to pt_top_of_page.
endform.
* Build layout for ALV grid report
form build_layout.
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(201).
gd_layout-info_fieldname = 'LINE_COLOR'.
endform. " BUILD_LAYOUT
* TOP_OF_PAGE
form top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
i_logo = 'Z_BGLOGO'
it_list_commentary = header_alv.
endform.
*& Form build_sorttab
* Set up the sorting for the report.
form build_sorttab using pt_sort type slis_t_sortinfo_alv.
clear lv_sortseq.
perform build_sort tables pt_sort changing ls_sort.
ls_sort-fieldname = 'PERNR'.
ls_sort-subtot = 'X'.
append ls_sort to pt_sort.
ls_sort-subtot = ' '.
perform build_sort tables pt_sort changing ls_sort.
ls_sort-fieldname = 'NAME'.
ls_sort-subtot = 'X'.
append ls_sort to pt_sort.
ls_sort-subtot = ' '.
endform. " build_sorttab
* Use to add another sort field.
form build_sort
tables pt_sort
changing ls_sort structure x_sortinfo_alv.
clear ls_sort.
add 1 to lv_sortseq.
ls_sort-spos = lv_sortseq.
ls_sort-up = 'X'.
ls_sort-tabname = 'REC'.
endform. "build_sort
*} INSERT
*& Form GET_SSN & EMP Name
* text
FORM GET_SSN.
SELECT SINGLE * FROM PA0002 WHERE PERNR = PERNR-PERNR.
IF SY-SUBRC EQ 0.
MOVE: PA0002-PERNR TO REC-SSN,
PA0002-VORNA TO E_NAME-VORNA,
PA0002-NACHN TO E_NAME-NACHN.
CONDENSE E_NAME.
MOVE: E_NAME TO REC-NAME.
ENDIF.
ENDFORM. " GET_SSN
* Form GET_WAGE_TYPE_TEXT
form get_wage_type_text using rec-LGART p_v_lgtxt.
select single LGTXT from T512T into p_v_lgtxt
where LGART = rec-LGART.
endform. " GET_WAGE_TYPE_TEXT
* Form GET_SERVICE_ORDER_TEXT
form get_service_order_text using rec-AUFNR p_v_ktext.
select single ktext from caufv into p_v_ktext
where aufnr = rec-aufnr.
endform. " GET_SERVICE_ORDER_TEXT
*& Form LOAD_SHIFT
* text
FORM LOAD_SHIFT USING V_WRKS.
SELECT SINGLE * FROM PA0007 WHERE PERNR = REC-PERNR.
IF SY-SUBRC EQ 0.
MOVE: PA0007-SCHKZ TO V_WRKS.
ENDIF.
ENDFORM.
*& Form f4_for_variant
form f4_for_variant.
call function 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = v_variant
i_save = v_save
IMPORTING
e_exit = v_exit
es_variant = alv_variant
EXCEPTIONS
not_found = 2.
if sy-subrc = 2.
message id sy-msgid type 'S' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
else.
if v_exit = space.
p_vari = alv_variant-variant.
endif.
endif.
endform. " f4_for_variant
Please help. I will reward Points for the right answers.
ThanksOk found the problem at last
ls_fieldcat-fieldname = 'PERNR'.
ls_fieldcat-ref_tabname = 'REC'.
ls_fieldcat-ref_fieldname = 'PERNR'.
ls_fieldcat-seltext_l = 'Employee #'.
ls_fieldcat-outputlen = 15.
ls_fieldcat-no_sum = 'X'. "Don't use field for totals
ls_fieldcat-datatype = 'NUMC'.
append ls_fieldcat to pt_fieldcat.
clear ls_fieldcat.
In my build catalog i was clearing every field using the
clear ls_fieldcat.
which was some how clearing the sortings...
SO commented them out and it works. -
Steps & Activities of EP Consultant in SAP EhP5 Upgrade
Hi Experts
My client is upgrading to Ehp5, he also has Nwdi.
I am starter to Portal, can anyone give me detail steps of activities of EP Consultant in up gradation to Ehp5. and what issues I should take care of. Thanks inadvance
Regards
SivaHi,
In an upgrade project, all functional people you need to check/test all possible scenarios that you are currently using or you can say you need to perform integration/unit testing. Also, you can check what new functionality's are available in new release and you can plan accordingly to roll-out those new functionality.
Thanks
Sunny
Maybe you are looking for
-
Itunes on external drive will not open - error message 13014
I have never posted a question here before - just kind of been stumbling my way around the forums looking for answers, which has usually worked for me - until today. About a year ago, I moved my itunes (music and movies) to an external drive to free
-
Setting a pricing Condition through a BAPI
Hi, I have the following problem - I am trying to set a condition on an item in a quotation using the BAPI_CUSTOMERQUOTATION_CHANGE. The error that I get back is "Requirements are not fulfilled for condition PN00". When I try to set the condition man
-
How to transfer folders from I-pad to mini I-pad
HHow to transfer folders from I-pad to I-pad mini?
-
How can i change fpga clock for whole code
Hi i'm new at labview and using 8.6 demo(real time and fpga modules). i developed some codes for practise and want to change clock freq to 200MHz from 40M for all codes. i mean how can i use derived clock for all my vi. LabVIEW 2009, Windows 7 Solved
-
Hi, I have an environment with ICM 8.0(2) integrated with UCM 8.0.2.40000 and IPIVR 8.02.11005. The system are working properly but sometimes all the agents are forced to disconnect on the CTI OS Toolkit and all the functions are disabled then the ag