E-Recruiting- PA40 getting skipped after IT0000
Hi
When I perform transaction PA48 , system is coming out of the transaction after saving IT000. The user parameters are working alright for PA40. I am i missing anything for PA48
I am able to transfer hired candidate data from e-Recruiting system to table T725F of SAP Payroll system.
Thank you
Resolved the issue
Similar Messages
-
Some songs in my Ipod classic get get off after a few seconds of playing, but they work fine in ITunes and other Ipods. I have reset the classic several times and same issue happens, any ideas?
I have that exact same problem! It plays albums fine. But individual songs including ones downloaded from iTunes either skip or play the music of another totally different song. All play fine on iTunes and my iPhone... Got this one to replace my dying 5th gen classic.
I hope there is a fix for this, cause it *****!!!! -
Requirement: Insp lot of self Certified material should not get skipped
Hi Gurus following is req pls suggest me
Requirement: Insp lot of self Certified material should not get skipped
if there is a change in Material Revision. As of now Auto Usage Decision
takes place on Self certified material Lots. This happens even after
there is a material revision. This is undesirable as QC is Not able to
ensure the implementation of design changes.
Appsi have understood the following from ur reply
new revision created by design- purchaser creates po- materials comes in quality - auto skip
quality don't come into picture in ur scenario
solution :
new revision created by design - while creating po they will get error q info record for new revision not present- intimation to quality for creating q info record - decide whether to insp or skip it - normal process
use of q info record
in material master maintain control key for q info record.
create q info record for material, rev, plant , vendor
keep rest evertthing as it is - as a normal procedure material will be skipped
when any new rev is created - while creating po they will get error q info record for new revision not present- QC will get intimation regarding this new rev. -after all approval u can create q info record for this new rev. and then only purchaser will be allowed to create po.
make necesary chages in plan after every new revision -
ODS and Transformations get inactive after i transport it in PD.
i have transported my ETL model in production , Now Everything what we have transported has come into production system but transformation and ODS in our ETL model get inactivated . Also while i want to display the transformation it give massege that " 'the infosource that we have created before the transformation in not active and can not be used . '
Our ETL model is like
Cube(now Active) --- tranformation(Now is in not active state) -- ODS(Now is in not active state) -- transformaion(Now is in not active state) -- infosource(Now in active state) -- transformation(Now in active state) -- PSA .
the part ": tranformation -- ODS -- transformaion " gets inactivated after transportation also DTP which pull data from ODS to cube also get inactive .
Please suggest me to how i can activate these inactive object or i have to transport these object again to PD
Thanks .Hi Bryan ,
Yes data was their inside the ODS while transporting , Now i have successfully transported the request , nd now activating ODS transformation nd DTP . Actually i got a prog to activate transformation and DTP and want to share with all ... . i juz activate mt DTP and transformation though these prog .
Program for DTP ACTIVATION
*& Report ZDTP_ACTIVATE
*Coded by NBS BI team
*Date: 15-JAN-2010
*Function: For DTPs activation
REPORT ZDTP_ACTIVATE.
TYPES: BEGIN OF t_dtp,
dtp LIKE rsbkdtpstat-dtp,
objstat LIKE rsbkdtpstat-objstat,
src LIKE rsbkdtp-src,
tgt LIKE rsbkdtp-tgt,
END OF t_dtp.
TYPES: i_dtp TYPE STANDARD TABLE OF t_dtp.
DATA: lv_output(255) TYPE c,
lv_subrc TYPE sysubrc,
tab_dtp TYPE i_dtp,
r_dtp TYPE REF TO cl_rsbk_dtp.
SELECTION-SCREEN BEGIN OF BLOCK b1.
SELECTION-SCREEN SKIP 1.
PARAMETERS: p_id TYPE char35.
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
FIELD-SYMBOLS: <fs_dtp> TYPE t_dtp.
REFRESH tab_dtp.
SELECT * FROM rsbkdtp AS a JOIN rsbkdtpstat
AS b ON adtp = bdtp INTO
CORRESPONDING FIELDS OF TABLE tab_dtp
WHERE a~dtp = p_id AND
a~objvers = 'A' AND
b~objstat = 'INA'.
IF tab_dtp IS NOT INITIAL.
LOOP AT tab_dtp ASSIGNING <fs_dtp>.
CALL METHOD cl_rsbk_dtp=>factory
EXPORTING
i_dtp = <fs_dtp>-dtp
RECEIVING
r_r_dtp = r_dtp.
IF sy-subrc = 0.
CALL METHOD r_dtp->activate
EXPORTING
i_objvers = rs_c_objvers-modified
i_force_activation = rs_c_true
i_show_check_protocol = rs_c_false
i_with_cto = rs_c_true
IMPORTING
e_subrc = lv_subrc.
IF lv_subrc = 0.
CONCATENATE 'Activated DTP : ' <fs_dtp>-dtp ' : ' <fs_dtp>-src '->' <fs_dtp>-tgt INTO lv_output.
ELSE.
CONCATENATE 'DTP : ' <fs_dtp>-dtp ' : ' <fs_dtp>-src '->' <fs_dtp>-tgt ' Could Not be Activated' INTO lv_output.
ENDIF.
ENDIF.
WRITE:/ lv_output.
ENDLOOP.
ELSE.
WRITE:/ 'DTP is not Inactive'.
ENDIF.
Program for TRANSFORMATION ACTIVATION
**& Report ZTRFN_ACTIVATE
*Coded by NBS BI team.
*Date: 15-Jan-2010
*Function: Activates in-active transformation only.
REPORT ZTRFN_ACTIVATE.
TYPES: t_tran TYPE rstran,
i_tran TYPE STANDARD TABLE OF t_tran.
DATA: r_tran_maintain TYPE REF TO cl_rstran_maintain,
lv_subrc TYPE sy-subrc,
lv_output(255) TYPE c,
tab_tran TYPE i_tran,
i_s_source TYPE rstran_s_tlogo,
i_s_target TYPE rstran_s_tlogo.
SELECTION-SCREEN BEGIN OF BLOCK b1.
SELECTION-SCREEN SKIP 1.
PARAMETERS: p_id TYPE char35.
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
FIELD-SYMBOLS: <fs_trans> TYPE t_tran.
REFRESH tab_tran.
SELECT * FROM rstran
INTO TABLE tab_tran
WHERE tranid = p_id AND objvers = 'A' AND objstat = 'INA'.
SORT tab_tran.
IF tab_tran IS NOT INITIAL.
LOOP AT tab_tran ASSIGNING <fs_trans>.
TRY.
CREATE OBJECT r_tran_maintain
EXPORTING
i_tranid = <fs_trans>-tranid
i_s_source = i_s_source
i_s_target = i_s_target
i_expert = rs_c_false
i_mode = rsawc_c_tfc-display
i_with_message = rs_c_true.
CATCH cx_rstran_not_found .
CATCH cx_rstran_input_invalid .
CATCH cx_rstran_cancelled .
CATCH cx_rstran_not_authorized .
CATCH cx_rstran_display_only .
CATCH cx_rstran_already_exist .
CATCH cx_rstran_error_with_message .
ENDTRY.
CALL METHOD r_tran_maintain->check
EXPORTING
i_with_display = rs_c_true
IMPORTING
e_subrc = lv_subrc.
IF lv_subrc = 0.
CONCATENATE 'Activated Transformation : ' <fs_trans>-tranid ' : ' <fs_trans>-sourcename '->' <fs_trans>-targetname INTO lv_output.
ELSE.
CONCATENATE 'Transformation : ' <fs_trans>-tranid ' : ' <fs_trans>-sourcename '->' <fs_trans>-targetname 'Could Not be Activated' INTO lv_output.
ENDIF.
IF lv_subrc = 0.
TRY.
CALL METHOD r_tran_maintain->execute
EXPORTING
i_wrkmode = cl_rstran_stat=>wrkmode_activate
IMPORTING
e_subrc = lv_subrc.
CATCH cx_rstran_cancelled .
CATCH cx_rstran_error_with_message .
CATCH cx_rstran_display_only .
ENDTRY.
ENDIF.
WRITE:/ lv_output.
ENDLOOP.
ELSE.
WRITE:/ 'Transformation is not Inactive'.
ENDIF. -
Struts 2 Client side validation getting skipped.
I am doing a simple program using struts 2. Usually in struts2 bean class will be combined with action class unlike in struts 1.2. But for enhancing readability I made a seperate bean class and I reference it in my action class. But after seperating bean from action class Client side validation using xml is not happening. It is getting skipped. But server side validation inside execute() is happening. Will anyone please help me to find a solution to make client side validation run.
here are the different files.
1) JSP File - SEmail.jsp
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<s:head theme="ajax" />
<title>SEmail </title>
<body>
<center><font color="blue" size="5" face="bold">
<s:label value="Secure Email - Non Registered User" /> </font></center>
<br>
<font color="red" size="3"> <s:label
value="Want to contact us?."></s:label>
</font>
<center><s:form action="/Semail.action" method="POST"
validate="true">
<s:actionerror />
<s:select label="Topic" name="user.topic" headerKey="-1" required="true"
list="#{'Plan Coverage':'Plan Coverage','Sales':'Sales','Others':'Others'}">
</s:select>
<s:textarea name="user.message" label="Message" rows="4" cols="50"
required="true" />
<br>
<s:label value="Contact Information" />
<br>
<table align="center" width="500">
<tr align="left">
<td align="left"><s:select label="Title" name="user.title"
headerKey="-1" required="true"
list="#{'-- Select One --':'-- Select One --','Mr.':'Mr.','Ms.':'Ms.','Mrs.':'Mrs.'}">
</s:select></td>
</tr>
<tr align="left">
<td align="left"><s:textfield label="First Name"
name="user.firstname" size="20" maxlength="35" required="true" /></td>
</tr>
<tr align="left">
<td align="left"><s:textfield label="Family Name"
name="user.familyname" size="20" maxlength="35" required="true" /></td>
</tr>
<tr align="left">
<td align="left"><s:textfield label="Profession"
name="user.profession" size="20" maxlength="20" /></td>
</tr>
<tr align="left">
<td align="left"><s:textfield label="Address" name="user.address"
size="20" maxlength="100" /></td>
</tr>
<tr align="left">
<td align="left"><s:textfield label="Telephone Number"
name="user.telnumber" size="20" maxlength="20" /></td>
</tr>
<tr align="left">
<td align="left"><s:textfield label="P.O. Box" name="user.pobox"
size="20" maxlength="8" /></td>
</tr>
<tr align="left">
<td align="left"><s:textfield label="City"
name="user.emirate" size="20" maxlength="35" required="true" /></td>
</tr align="left">
<tr>
<td align="left"><s:textfield label="Region and Country"
name="user.country" size="20" maxlength="35" /></td>
</tr>
<tr align="left">
<td align="left"><s:textfield label="E-mail Address"
name="user.email" size="20" maxlength="70" required="true" /></td>
</tr>
</table>
<br>
<s:file name="user.uploadFile" label="Upload Document" />
<br>
<br>
<s:submit value="Submit" align="center"></s:submit>
</s:form></center>
<font color="red" size="3"> <s:label
value="All fields marked (*) are mandatory."></s:label>
</body>
</html>
2) struts.xml
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="semail" extends="struts-default">
<action name="Semail" class="semail.NonregUser">
<result name="input">/SEmail.jsp</result>
<result name="error">/SEmail.jsp</result>
<result>/SEmail.jsp</result>
</action>
</package>
</struts>
3) Bean Class - User.java
package semail;
public class User {
private String topic;
private String message;
private String title;
private String firstname;
private String familyname;
private String profession;
private String address;
private int telnumber;
private String pobox;
private String city;
private String country;
private String email;
private String uploadFile;
private String testing;
public String getTopic() {
return topic;
public void setTopic(String topic) {
this.topic = topic;
public String getMessage() {
return message;
public void setMessage(String message) {
this.message = message;
public String getTitle() {
return title;
public void setTitle(String title) {
this.title = title;
public String getFirstname() {
return firstname;
public void setFirstname(String firstname) {
this.firstname = firstname;
public String getFamilyname() {
return familyname;
public void setFamilyname(String familyname) {
this.familyname = familyname;
public String getProfession() {
return profession;
public void setProfession(String profession) {
this.profession = profession;
public String getAddress() {
return address;
public void setAddress(String address) {
this.address = address;
public int getTelnumber() {
return telnumber;
public void setTelnumber(int telnumber) {
this.telnumber = telnumber;
public String getPobox() {
return pobox;
public void setPobox(String pobox) {
this.pobox = pobox;
public String getCity() {
return city;
public void setCity(String city) {
this.city= city;
public String getCountry() {
return country;
public void setCountry(String country) {
this.country = country;
public String getEmail() {
return email;
public void setEmail(String email) {
this.email = email;
public String getUploadFile() {
return uploadFile;
public void setUploadFile(String uploadFile) {
this.uploadFile = uploadFile;
public String getTesting() {
return testing;
public void setTesting(String testing) {
this.testing = testing;
This is my bean class. Instead of putting it with action class NonregUser.java , I have seperated it out for readability. And I am referencing it in the action class.
4) Action Class - NonregUser.java
package semail;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import com.opensymphony.xwork2.ActionSupport;
public class NonregUser extends ActionSupport implements ServletRequestAware,
ServletResponseAware {
private static final long serialVersionUID = 2451855813074437309L;
HttpServletRequest request = null;
HttpServletResponse response = null;
private User user = null;
/* I am referencing my bean class here instead of writing all the getters and setters here.*/
public User getUser() {
return user;
public void setUser(User user) {
this.user = user;
public String execute() throws Exception {
System.out.println("Validating login");
if(user!=null){
System.out.println(user.getFirstname());
System.out.println(user.getEmail());
System.out.println(user.getTopic());
System.out.println(user.getTitle());
// this server side validation is happening
if (user.getTitle().trim().equals("-- Select One --")) {
addActionError("Please select Title");
return ERROR;
} else {
return SUCCESS;
}else{
return SUCCESS;
public void setServletRequest(HttpServletRequest arg0) {
System.out
.println("HttpServletRequest : " + NonregUser.this.getClass());
request = arg0;
public void setServletResponse(HttpServletResponse arg0) {
System.out.println("HttpServletResponse : "
+ NonregUser.this.getClass());
response = arg0;
This is my acation class. Here I am referencing my bean class User.java.
5) xml validation file - NonregUser-validation.xml
/*This client validatin is not working*/
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="topic">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Please select the Topic</message>
</field-validator>
</field>
<field name="message">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Please enter Message</message>
</field-validator>
<field-validator type="stringlength">
<param name="maxLength">8000</param>
<message>Message cannot contain more than 8000 characters</message>
</field-validator>
</field>
<field name="title">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Please select the Title</message>
</field-validator>
</field>
<field name="firstname">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Please enter First name</message>
</field-validator>
<field-validator type="stringlength">
<param name="maxLength">35</param>
<message>First Name cannot contain more than 35 characters</message>
</field-validator>
</field>
<field name="familyname">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Please enter Family name</message>
</field-validator>
<field-validator type="stringlength">
<param name="maxLength">35</param>
<message>Family Name cannot contain more than 35 characters</message>
</field-validator>
</field>
<field name="emirate">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Please enter Emirate/City</message>
</field-validator>
</field>
<field name="email">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Please enter Email address</message>
</field-validator>
<field-validator type="email">
<message>Please enter a valid Email address</message>
</field-validator>
</field>
</validators>
6) web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>/SEmail.jsp</welcome-file>
</welcome-file-list>
<error-page>
<error-code>404</error-code>
<location>/pagenotfound.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
</web-app>
Edited by: L-J-K on Jul 22, 2008 5:22 AMI was trying to do it through creating a new validators.xml where I would redefine all struts built in validations and add de definition for my custom Validation (<validator name="checkUser" class="com.custom.CustomUserValidator"/>). Then I define the ActionClassName-action-validation.xml refering to my custom validator (checkUser). The com.custom.CustomUserValidator Class has to extend FieldValidatorSupport or ValidatorSupoort (depending on what kind of validation).
Ok that's it, this is the theory, now the custom validator (checkUser) is executed before my action but I don't know how to do it so that if the validation fails i return to the same page showing the error message to the user without having to execute the target action. Does anyone know how to do this???? -
Does anyone know how to correct audio that skips after rendering? The video is fine and the audio matches up to the video but the audio skips as though it is going in and out. The movie is about 2 hours long and the first few clips were fine but now it is becoming a problem. I rendered both the video and audio at the same time then I went back and rendered only.....mixdown to see if I could get it to work......no luck. Any help would be greatly appreciated.
Tammy,
If we've dropped a bit of time for this part of the edit, you now have time for more fun aspects of it.
While I will casually monitor my Meters, I spend much more time with a good set of noise-canceling headphones, listening critically. The Meters are basically to point up potential issues. With Audio, if you have not invested in a really good set of headphones, do yourself a big favor, and sneak 'em into the budget.
Glad that you got things toned down.
Now, let's go on to Lesson 02 - The Audio Mixer. Unlike adding Keyframes to a Clip, when your cutting is done, you can apply Track Keyframes to attenuate (also Pan, etc.) you Audio Tracks to suit. One would just change the Send in that Track to Write, or Touch, and "ride the gain" with the slider, as is required. I probably do most of my Audio editing there, than addressing the individual Clips. First thing that I have done is cut back a bit on the frequency of the Track Keyframes in Edit>Preferences, as I find the default to add too many (and you can go in and adjust these by hand, if you need to "smooth" things out a bit.). One caution: do this when you are satisfied with the cuts, Clip placement, etc., as these Keyframes are applied to the Track. If you were to remove a Clip, and replace it, those Keyframes would apply to that new Clip, whether you want them to, or not. This trips some folk up, if they do the Audio Mixer thing too soon in the editing. Wait until you are "in love" with your Timeline otherwise. It's like scoring a Project. One does that as about the very last step, or much work will be repeated, and that is not fun.
Good luck,
Hunt -
Selection Screen getting refreshed after execution..
Hello All,
I have a strange problem..
My selection-screen values are getting refreshed after execution and come back to selection screen. I am using normal ALV Fm to display the values. Can some suggest a possible reason?
Many thanks,
V NairNo .. I have checked it..Selection variables are not getting refreshed.
My Code Below
REPORT yhr_icm_exception_report.
Type Pool declarations
TYPE-POOLS: slis, "For AlV
sdydo, "Dynamic Documents
icon. "For ICON
Table declarations
TABLES : yhr_icm_exp_log, "ICM Exceptions Log
yhr_icm_exp_hist. "ICM Exception History
Include Constants
INCLUDE yhr_icm_constants . "Program to hold constants
Types declarations
*-To hold return field
TYPES: BEGIN OF ty_returntab.
INCLUDE STRUCTURE ddshretval. "Interface Structure
TYPES: END OF ty_returntab.
*-To hold deletion records
TYPES : BEGIN OF ty_icm_del,
tab_name TYPE yhr_tabname, "Internal table name
objid TYPE hrobjid, "Object ID
begda TYPE begda, "Begin Date
otype TYPE otype, "Object Type
END OF ty_icm_del.
*-Message details to be displayed
TYPES : BEGIN OF ty_message,
msgnr TYPE msgno, "System message number
text TYPE yhr_icm_exp_log-msgxx, "Message Text
END OF ty_message.
*-To hold exception log
TYPES : BEGIN OF ty_icm_exp_log,
msgno TYPE msgnr, "Message number
run_id TYPE yhr_icm_erun_id, "Exception Run ID
delta_id TYPE yhr_icm_run_id, "Run ID
record_type TYPE yhr_icm_exp_type, "Record Type
otype TYPE yhr_otype, "Object Type
objid TYPE hrobjid, "Object ID
begda TYPE begda, "Begin Date
msgxx TYPE msgxx, "Message
status TYPE yhr_icm_icon, "Status
delta_relevance TYPE yhr_delta_rel, "Delta Relevance
END OF ty_icm_exp_log.
*-To hold email attachment
TYPES: BEGIN OF ty_attach,
text(500) TYPE c, "Text
END OF ty_attach.
*To hold object type & text
TYPES :BEGIN OF ty_objid_text,
objid TYPE objid, "Object ID
text TYPE emnam, "Object Text
END OF ty_objid_text.
*-To hold counter values - Exp , Del & historical
TYPES :BEGIN OF ty_count,
exp(10) TYPE c, "Exceptions
del(10) TYPE c, "Deletions
hist(10) TYPE c, "Historical Deletions
END OF ty_count.
*- To hold lock details
TYPES : BEGIN OF ty_lock,
live TYPE c, "Live Callidus Program
genr TYPE c, "Generation Program
exp TYPE c, "Exception Program
END OF ty_lock.
Range Declarations
RANGES :
gr_objid FOR hrp1001-objid, "Range for Object ID
gr_pernr FOR pa0000-pernr. "Range for Employee number
Internal Table Declarations
DATA : gt_records TYPE STANDARD TABLE OF yhr_icm_exp_report,
gt_objid_text TYPE STANDARD TABLE OF ty_objid_text,
gt_icm_exp_log TYPE STANDARD TABLE OF ty_icm_exp_log,
gt_returntab TYPE STANDARD TABLE OF ty_returntab,
gt_t777o TYPE STANDARD TABLE OF t777o,
gt_diff_tab TYPE STANDARD TABLE OF yhr_icm_diff,
gt_del_tab TYPE STANDARD TABLE OF ty_icm_del, "#EC *
gt_iattach TYPE STANDARD TABLE OF ty_attach,
gt_message TYPE STANDARD TABLE OF ty_message,
gt_fieldcat TYPE slis_t_fieldcat_alv,
gt_heading TYPE slis_t_listheader,
gt_exceptions TYPE yhr_icm_exp_list_t,
gt_events TYPE slis_t_event.
Structure Declarations
DATA : gs_objid_text TYPE ty_objid_text,
gs_icm_exp_log TYPE ty_icm_exp_log,
gs_records TYPE yhr_icm_exp_report,
gs_exceptions TYPE yhr_icm_exp_list,
gs_count TYPE ty_count,
gs_fieldcat TYPE slis_fieldcat_alv, "#EC *
gs_returntab TYPE ty_returntab,
gs_icm_exp_hist TYPE yhr_icm_exp_hist,
gs_iattach TYPE ty_attach,
gs_message TYPE ty_message, "#EC *
gs_layout TYPE slis_layout_alv,
gs_t777o TYPE t777o,
gs_lock TYPE ty_lock.
Constant declarations
CONSTANTS:
c_yes TYPE string VALUE 'YES',
c_no TYPE string VALUE 'NO',
c_true TYPE c VALUE 'X',
c_deletions TYPE c VALUE 'D',
c_delta_no TYPE c VALUE 'N',
c_delta_yes TYPE c VALUE 'Y',
c_historical TYPE c VALUE 'H',
c_a TYPE c VALUE 'A',
c_error TYPE c VALUE 'E',
c_equal(2) TYPE c VALUE 'EQ',
c_participants TYPE c VALUE 'P',
c_include TYPE c VALUE 'I',
c_position TYPE c VALUE 'S',
c_organization TYPE c VALUE 'O',
c_runlock TYPE string VALUE 'RUN_LOCK',
c_parameter TYPE string VALUE 'P',
c_selfield TYPE string VALUE 'SEL_FIELD' ,
c_type TYPE string VALUE 'TYPE',
c_topofpage TYPE string VALUE 'TOP_OF_PAGE',
c_rectype TYPE string VALUE ' S_RECTYPE',
c_objectkey TYPE string VALUE 'OBJECTKEY1',
c_icon_green TYPE string VALUE '@08@',
c_icon_red TYPE string VALUE '@0A@',
c_icon_amber TYPE string VALUE '@09@',
c_green TYPE string VALUE 'GREEN',
c_amber TYPE string VALUE 'AMBER',
c_red TYPE string VALUE 'RED',
c_tabname TYPE slis_tabname VALUE 'GT_RECORDS',
c_structname TYPE dd02l-tabname VALUE 'YHR_ICM_EXP_REPORT' ,
c_siwb_wallpaper TYPE sdydo_key VALUE 'SIWB_WALLPAPER',
c_user_command TYPE slis_formname VALUE 'F01_ALV_EVENT_USER_COMMAND',
c_genname TYPE trdir-name VALUE 'YHR_ICM_GENERATE_EXCEPTIONS',
c_expname TYPE trdir-name VALUE 'YHR_ICM_EXCEPTION_REPORT',
c_pf_status TYPE slis_formname VALUE 'SET_PF_STATUS',
c_msg_class TYPE string VALUE 'YHR_ICM'.
Global Variable Declarations
DATA: gv_email_error TYPE c,
gv_email_sent TYPE c,
gv_exit TYPE c.
Selection Screen - Block I
SELECTION-SCREEN: BEGIN OF BLOCK b3 WITH FRAME TITLE text-s07.
SELECT-OPTIONS:
*- Run ID
s_run_id FOR yhr_icm_exp_hist-run_id,
*- Exception Type
s_rectyp FOR yhr_icm_exp_log-record_type NO INTERVALS,
*- Object Type
s_otype FOR yhr_icm_exp_log-otype NO INTERVALS,
*- Object ID
s_objid FOR yhr_icm_exp_log-objid NO INTERVALS,
*- Start Date
s_begda FOR yhr_icm_exp_log-begda,
*- Message number
s_msgno FOR yhr_icm_exp_log-msgno,
*- Message Text
s_msgxx FOR yhr_icm_exp_log-msgxx.
SELECT-OPTIONS:
*- Delta Relevance
s_relv FOR yhr_icm_exp_log-delta_relevance NO INTERVALS.
PARAMETERS:
*- Long Text
p_ltext AS CHECKBOX DEFAULT ' '.
SELECTION-SCREEN: END OF BLOCK b3.
Selection Screen - Block II
SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME TITLE text-s08.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(14) text-033.
*-Sucess
PARAMETERS:
p_stat_s AS CHECKBOX. "D11K917251
SELECTION-SCREEN COMMENT 24(14) text-034.
*-Warning
PARAMETERS:
p_stat_w AS CHECKBOX. "D11K917251
SELECTION-SCREEN COMMENT 48(15) text-035.
PARAMETERS:
*-Error
p_stat_e AS CHECKBOX . "D11K917251
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN: END OF BLOCK b2.
Selection Screen - Block III
SELECTION-SCREEN: BEGIN OF BLOCK b4 WITH FRAME TITLE text-s09.
*-Email Details
PARAMETERS:
p_email(128) TYPE c.
SELECTION-SCREEN: END OF BLOCK b4.
Selection Screen on value request.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_msgno-low.
PERFORM f4_message.
Selection Screen Output.
AT SELECTION-SCREEN OUTPUT.
CHECK gt_returntab[] IS NOT INITIAL.
REFRESH s_msgno.
s_msgno-option = c_equal.
s_msgno-sign = c_include.
LOOP AT gt_returntab INTO gs_returntab.
s_msgno-low = gs_returntab-fieldval.
s_msgno-high = space.
APPEND s_msgno.
ENDLOOP.
At Selection Screen for Validation
AT SELECTION-SCREEN.
CLEAR gv_email_error.
*-Validate Object Type
PERFORM validate_objecttype.
*-Validate Exception ID
PERFORM fetch_exp_header.
*-Validate Exception Type
PERFORM validate_exptype.
*-Validate Message Number
PERFORM validate_msgno.
*-Validate Message Type
PERFORM validate_msgtype.
*-Validate Delta
PERFORM validate_delta.
*-Validate Email ID
PERFORM validate_email USING p_email
CHANGING gv_email_error.
IF gv_email_error IS NOT INITIAL.
MESSAGE e000(yhr_icm) WITH text-027.
ENDIF.
Initialization
INITIALIZATION.
Initialization
PERFORM initialization.
Start Of Selection
START-OF-SELECTION.
CLEAR : gv_email_error,
gv_email_sent,
gv_exit,
gs_lock.
Try locking the main program
PERFORM lock_generation_program.
CHECK gs_lock IS INITIAL.
*-Fetch the messages stored in table
PERFORM fetch_item_records.
Read object type text.
PERFORM read_text.
Get Object Text
PERFORM get_object_text.
*-Fetch the current SAP messages
PERFORM fetch_records.
*-Update Delta Flag
PERFORM update_delta_flag.
*-Compare messages in table & in SAP
PERFORM compare_message.
If receiver is not blank, try sending out mail
PERFORM send_mail USING p_email.
End Of Selection
END-OF-SELECTION.
IF gv_exit IS NOT INITIAL.
EXIT.
ENDIF.
*-Display ALV
PERFORM display_alv.
*-Build the event table for ALV display
PERFORM build_eventtab CHANGING gt_events[].
*-Fill the layout details
PERFORM layout_build .
Release all locks
PERFORM release_locks.
*-Finally call the grid display
PERFORM display_data.
*& Form set_pf_status
text
-->RT_EXTAB text
FORM set_pf_status USING rt_extab TYPE slis_t_extab. "#EC *
Set PF Status
SET PF-STATUS 'STANDARD'.
ENDFORM. "Set_pf_status
*& Form DISPLAY_ALV
text
--> p1 text
<-- p2 text
FORM display_alv .
*- Use FM to create field catalog
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = c_tabname
i_structure_name = c_structname
CHANGING
ct_fieldcat = gt_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 1
OTHERS = 1.
IF sy-subrc = 1.
MESSAGE i000(yhr_icm) WITH text-001.
EXIT.
ENDIF.
*- Remove SEL Field Column as it is not required
DELETE gt_fieldcat WHERE fieldname = c_selfield.
*-If user chooses long text, activate icon
IF p_ltext IS INITIAL.
LOOP AT gt_fieldcat INTO gs_fieldcat WHERE fieldname = c_type.
gs_fieldcat-icon = c_true.
ENDLOOP.
ENDIF.
ENDFORM. " DISPLAY_ALV
*& Form BUILD_EVENTTAB
text
<--P_GT_EVENTS[] text
FORM build_eventtab CHANGING p_events TYPE slis_t_event.
DATA: ls_event TYPE slis_alv_event.
*-Get the list of event for alv
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = p_events.
*-Add top of page event to event list
READ TABLE p_events
WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE c_topofpage TO ls_event-form.
APPEND ls_event TO p_events.
ENDIF.
ENDFORM. " BUILD_EVENTTAB
*& Form LAYOUT_BUILD
text
--> p1 text
<-- p2 text
FORM layout_build .
gs_layout-zebra = c_true.
gs_layout-colwidth_optimize = c_true.
gs_layout-detail_popup = c_true.
gs_layout-detail_initial_lines = c_true.
gs_layout-detail_titlebar = text-044.
gs_layout-box_fieldname = c_selfield.
ENDFORM. " LAYOUT_BUILD
*& Form DISPLAY_DATA
text
--> p1 text
<-- p2 text
FORM display_data .
*-Display ALV display
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_user_command = c_user_command
i_background_id = c_siwb_wallpaper
i_callback_program = sy-repid
i_callback_pf_status_set = c_pf_status
i_default = c_true
i_save = c_a
is_layout = gs_layout
it_fieldcat = gt_fieldcat
it_events = gt_events
TABLES
t_outtab = gt_records.
ENDFORM. " DISPLAY_DATA
*& Form FETCH_RECORDS
text
--> p1 text
<-- p2 text
FORM fetch_records .
REFRESH : gt_diff_tab,
gt_del_tab,
gr_pernr,
gt_exceptions.
CLEAR: gs_icm_exp_log.
*-Get Employee details
PERFORM get_person_data.
*-Get Position Details
PERFORM get_position_data.
*-Get Organization Details
PERFORM get_org_data.
*-Get Exception current SAP exception list.
PERFORM get_exception_list.
*-Add deletion records
PERFORM filter_deletions.
ENDFORM. " FETCH_RECORDS
*& Form top_of_page
text
FORM top_of_page. "#EC *
PERFORM build_comment USING gt_heading.
*-Display Use FM to display Top Of Page
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = gt_heading[].
CLEAR gt_heading.
ENDFORM. "TOP_OF_PAGE
*& Form build_comment
text
-->P_HEADING text
FORM build_comment USING p_heading TYPE slis_t_listheader.
DATA: ls_hline TYPE slis_listheader,
lv_text(120) TYPE c.
*-Display report title
ls_hline-typ = c_historical.
WRITE text-006 TO lv_text.
ls_hline-info = lv_text.
APPEND ls_hline TO p_heading.
CLEAR ls_hline.
ls_hline-typ = c_s.
*-Remove leading & trailing spaces
CONDENSE : gs_count-del, gs_count-exp, gs_count-hist.
*-If the count is space then pass 0
IF gs_count-del = space.
gs_count-del = 0.
ENDIF.
IF gs_count-exp = space.
gs_count-exp = 0.
ENDIF.
IF gs_count-hist = space.
gs_count-hist = 0.
ENDIF.
IF gs_lock IS INITIAL.
*-Display Deletion, Exception, Historical Count
CONCATENATE text-037 gs_count-del
text-032 gs_count-exp
text-039 gs_count-hist
INTO ls_hline-info SEPARATED BY space.
ELSEIF gs_lock-live IS NOT INITIAL.
ls_hline-info = text-007.
ELSEIF gs_lock-genr IS NOT INITIAL.
ls_hline-info = text-008.
ELSEIF gs_lock-exp IS NOT INITIAL.
ls_hline-info = text-009.
ENDIF.
APPEND ls_hline TO p_heading.
CLEAR ls_hline.
ENDFORM. "BUILD_COMMENT
*& Form INITIALIZATION
text
--> p1 text
<-- p2 text
FORM initialization .
Read Previous run
SELECT MAX( run_id )
INTO s_run_id-low
FROM yhr_icm_exp_hist. "#EC *
s_run_id-option = c_equal.
s_run_id-sign = c_include.
APPEND s_run_id.
s_rectyp-option = c_equal.
s_rectyp-sign = c_include.
s_rectyp-low = c_error.
APPEND s_rectyp.
s_rectyp-low = c_deletions.
APPEND s_rectyp.
PERFORM restrict_selections.
*Get the message from Message Class YHR_ICM
SELECT msgnr
text
FROM t100
INTO TABLE gt_message
WHERE arbgb = c_msg_class AND
msgnr GT '000'. "#EC *
ENDFORM. " INITIALIZATION
*& Form F4_MESSAGE
text
<--P_P_MSGNO text
FORM f4_message.
F4 Help - Display all messages
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'MSGNR'
dynpprog = sy-cprog
dynpnr = sy-dynnr
dynprofield = 'S_MSGNR'
window_title = text-045
value_org = c_s
multiple_choice = c_true
TABLES
value_tab = gt_message
return_tab = gt_returntab
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 1.
IF sy-subrc = 1.
MESSAGE i000(yhr_icm) WITH text-002.
EXIT.
ELSEIF sy-subrc = 2.
MESSAGE i000(yhr_icm) WITH text-003.
EXIT.
ENDIF.
ENDFORM. " F4_MESSAGE
*& Form VALIDATE_OBJECTTYPE
text
--> p1 text
<-- p2 text
FORM validate_objecttype .
CHECK s_otype-low IS NOT INITIAL.
CONDENSE s_otype-low.
Validate object type to check whether user has entered only S, P or O
IF s_otype-low NE c_organization AND
s_otype-low NE c_position AND
s_otype-low NE c_participants .
MESSAGE e000(yhr_icm) WITH 'Enter either S(Position), P(Person) or O(Org Unit)'(021).
ENDIF.
ENDFORM. " VALIDATE_OBJECTTYPE
*& Form VALIDATE_OBJECTTYPE
FORM f01_alv_event_user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield."#EC *
DATA : lv_answer TYPE c,
lt_fields TYPE STANDARD TABLE OF sval,
ls_fields TYPE sval.
*-Get the row user has selected in ALV list
READ TABLE gt_records INTO gs_records INDEX rs_selfield-tabindex.
CASE r_ucomm.
WHEN 'DISP'.
CASE gs_records-otype.
WHEN 'S'.
SET PARAMETER ID 'POT' FIELD gs_records-otype.
SET PARAMETER ID 'PON' FIELD gs_records-objid.
CALL TRANSACTION 'PP01_DISP' AND SKIP FIRST SCREEN.
WHEN 'P'.
SET PARAMETER ID 'PER' FIELD gs_records-objid.
CALL TRANSACTION 'PA20' AND SKIP FIRST SCREEN.
WHEN 'O'.
SET PARAMETER ID 'POT' FIELD gs_records-otype.
SET PARAMETER ID 'PON' FIELD gs_records-objid.
CALL TRANSACTION 'PP01_DISP' AND SKIP FIRST SCREEN.
ENDCASE.
WHEN 'CHNG'.
CASE gs_records-otype.
WHEN 'S'.
SET PARAMETER ID 'POT' FIELD gs_records-otype.
SET PARAMETER ID 'PON' FIELD gs_records-objid.
CALL TRANSACTION 'PP01' AND SKIP FIRST SCREEN.
WHEN 'P'.
SET PARAMETER ID 'PER' FIELD gs_records-objid.
CALL TRANSACTION 'PA30' AND SKIP FIRST SCREEN.
WHEN 'O'.
SET PARAMETER ID 'POT' FIELD gs_records-otype.
SET PARAMETER ID 'PON' FIELD gs_records-objid.
CALL TRANSACTION 'PP01' AND SKIP FIRST SCREEN.
ENDCASE.
WHEN 'EMAIL'.
*- Check whether email has already been sent
IF gv_email_sent = c_true.
*- If yes, then display pop up to confirm for mailing again
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
text_question = text-041
text_button_1 = text-042
text_button_2 = text-043
IMPORTING
answer = lv_answer
EXCEPTIONS
text_not_found = 1
OTHERS = 1.
IF sy-subrc = 1.
MESSAGE i000(yhr_icm) WITH text-004.
EXIT.
ENDIF.
*- Continue only if user has selected Yes
CHECK lv_answer = '1'.
ENDIF.
*- Add Email Field & Table
ls_fields-tabname = 'SZA5_D0700'.
ls_fields-fieldname = 'SMTP_ADDR'.
APPEND ls_fields TO lt_fields.
*- Use FM to get new Email ID
CALL FUNCTION 'POPUP_GET_VALUES'
EXPORTING
popup_title = text-s09
start_column = '5'
start_row = '5'
TABLES
fields = lt_fields
EXCEPTIONS
error_in_fields = 1
OTHERS = 1.
IF sy-subrc = 1.
MESSAGE i000(yhr_icm) WITH text-004.
EXIT.
ENDIF.
*- Get the Email user has entered
READ TABLE lt_fields INTO ls_fields INDEX 1.
*- Validate Email ID
PERFORM validate_email USING ls_fields-value
CHANGING gv_email_error.
*- If the flag is not initial, indicates possible error
IF gv_email_error IS NOT INITIAL.
MESSAGE i000(yhr_icm) WITH text-027.
EXIT.
ELSE.
If no error, then try ending email
PERFORM send_mail USING ls_fields-value.
ENDIF.
WHEN 'REFRESH'.
*- Fetch the current SAP messages
PERFORM fetch_records.
*- Update Delta Flag
PERFORM update_delta_flag.
*- Compare messages in table & in SAP
PERFORM compare_message.
*- Refresh alv which is already displayed
rs_selfield-refresh = c_true.
ENDCASE.
ENDFORM. "F01_ALV_EVENT_USER_COMMAND
*& Form RESTRICT_SELECTIONS
text
--> p1 text
<-- p2 text
FORM restrict_selections .
TYPE-POOLS sscr.
STATICS: lt_restrict TYPE sscr_restrict,
lt_opt_list TYPE sscr_opt_list,
ls_*** TYPE sscr_***.
Restrict the wage type selection so the user can only enter
values with the 'EQ' clause.
CLEAR lt_opt_list.
MOVE c_objectkey TO lt_opt_list.
MOVE c_true TO: lt_opt_list-options-eq,
lt_opt_list-options-bt,
lt_opt_list-options-cp,
lt_opt_list-options-eq,
lt_opt_list-options-ge,
lt_opt_list-options-gt,
lt_opt_list-options-le,
lt_opt_list-options-lt.
APPEND lt_opt_list TO lt_restrict-opt_list_tab.
MOVE: c_s TO ls_***-kind,
c_rectype TO ls_***-name,
c_include TO ls_***-sg_main,
space TO ls_***-sg_addy,
c_objectkey TO ls_***-op_main.
APPEND ls_*** TO lt_restrict-***_tab.
*-Restrict the values OTYPE
MOVE 'S_OTYPE' TO ls_***-name.
APPEND ls_*** TO lt_restrict-***_tab.
*-Restrict the values OBJID
MOVE 'S_OBJID' TO ls_***-name.
APPEND ls_*** TO lt_restrict-***_tab.
*-Use FM to restrict the values
CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'
EXPORTING
restriction = lt_restrict.
ENDFORM. " RESTRICT_SELECTIONS
*& Form GET_PERSON_DATA
text
--> p1 text
<-- p2 text
FORM get_person_data .
DATA : lt_del_tab TYPE STANDARD TABLE OF yhr_icm_diff.
SORT gt_icm_exp_log BY msgno .
gr_pernr-sign = c_include.
gr_pernr-option = c_equal.
LOOP AT gt_icm_exp_log INTO gs_icm_exp_log WHERE otype = c_participants AND
record_type = c_error.
*- Sort the table based on msgno and collect pernr
gr_pernr-sign = c_include.
gr_pernr-option = c_equal.
gr_pernr-low = gs_icm_exp_log-objid.
APPEND gr_pernr.
CLEAR gr_pernr-low.
AT END OF msgno. "#EC *
*- For the list of Pernr having same PERNR get the current exp details
IF gs_icm_exp_log-msgno = c_msg_100.
*- Export the pernr list to memory id & import in the below FM
*- Selection of records should be based on values exported from here
EXPORT gr_pernr TO MEMORY ID 'PERNR_0001'.
Get Org Assignment 0001 Data
CALL FUNCTION 'Y_HR_DIFF_PERNR_0001_DATA'
EXPORTING
period_begda = gs_icm_exp_hist-begda
period_endda = gs_icm_exp_hist-endda
refresh = space
UPDATE = space
TABLES
diff_tab = gt_diff_tab
del_tab = lt_del_tab.
ELSEIF gs_icm_exp_log-msgno = c_msg_101. "Y_HR_DIFF_PERNR_0001_ORG_DATA
ELSEIF gs_icm_exp_log-msgno = c_msg_102 .
EXPORT gr_pernr TO MEMORY ID 'PERNR_0000'.
Get Actions 0000 Data
CALL FUNCTION 'Y_HR_DIFF_PERNR_0000_DATA'
EXPORTING
period_begda = gs_icm_exp_hist-begda
period_endda = gs_icm_exp_hist-endda
refresh = space
UPDATE = space
TABLES
diff_tab = gt_diff_tab
del_tab = lt_del_tab.
ELSEIF gs_icm_exp_log-msgno = c_msg_103.
EXPORT gr_pernr TO MEMORY ID 'PERNR_0002'.
Get Personal Details 0002 Data
CALL FUNCTION 'Y_HR_DIFF_PERNR_0002_DATA'
EXPORTING
period_begda = gs_icm_exp_hist-begda
period_endda = gs_icm_exp_hist-endda
refresh = space
UPDATE = space
TABLES
diff_tab = gt_diff_tab
del_tab = lt_del_tab.
ELSEIF gs_icm_exp_log-msgno = c_msg_104.
EXPORT gr_pernr TO MEMORY ID 'PERNR_0004'.
Get Disability 0004 Data
CALL FUNCTION 'Y_HR_DIFF_PERNR_0004_DATA'
EXPORTING
period_begda = gs_icm_exp_hist-begda
period_endda = gs_icm_exp_hist-endda
refresh = space
UPDATE = space
TABLES
diff_tab = gt_diff_tab
del_tab = lt_del_tab.
ELSEIF gs_icm_exp_log-msgno = c_msg_105.
EXPORT gr_pernr TO MEMORY ID 'PERNR_0006'.
Get Addresses 0006 Data
CALL FUNCTION 'Y_HR_DIFF_PERNR_0006_DATA'
EXPORTING
period_begda = gs_icm_exp_hist-begda
period_endda = gs_icm_exp_hist-endda
refresh = space
UPDATE = space
TABLES
diff_tab = gt_diff_tab
del_tab = lt_del_tab.
ELSEIF gs_icm_exp_log-msgno = c_msg_106.
EXPORT gr_pernr TO MEMORY ID 'PERNR_0007'.
Get Planned Time 0007 Data
CALL FUNCTION 'Y_HR_DIFF_PERNR_0007_DATA'
EXPORTING
period_begda = gs_icm_exp_hist-begda
period_endda = gs_icm_exp_hist-endda
refresh = space
UPDATE = space
TABLES
diff_tab = gt_diff_tab
del_tab = lt_del_tab.
ELSEIF gs_icm_exp_log-msgno = c_msg_107.
EXPORT gr_pernr TO MEMORY ID 'PERNR_0016'.
Get Contract Element 0016 Data
CALL FUNCTION 'Y_HR_DIFF_PERNR_0016_DATA'
EXPORTING
period_begda = gs_icm_exp_hist-begda
period_endda = gs_icm_exp_hist-endda
refresh = space
UPDATE = space
TABLES
diff_tab = gt_diff_tab
del_tab = lt_del_tab.
ELSEIF gs_icm_exp_log-msgno = c_msg_108.
EXPORT gr_pernr TO MEMORY ID 'PERNR_0077'.
Get Additional Personal 0077 Data
CALL FUNCTION 'Y_HR_DIFF_PERNR_0077_DATA'
EXPORTING
period_begda = gs_icm_exp_hist-begda
period_endda = gs_icm_exp_hist-endda
refresh = space
UPDATE = space
TABLES
diff_tab = gt_diff_tab
del_tab = lt_del_tab.
ELSEIF gs_icm_exp_log-msgno = c_msg_109 .
EXPORT gr_pernr TO MEMORY ID 'PERNR_0105'.
Get Communications 0105 Data
CALL FUNCTION 'Y_HR_DIFF_PERNR_0105_DATA'
EXPORTING
period_begda = gs_icm_exp_hist-begda
period_endda = gs_icm_exp_hist-endda
refresh = space
UPDATE = space
TABLES
diff_tab = gt_diff_tab
del_tab = lt_del_tab.
ELSEIF gs_icm_exp_log-msgno = c_msg_110.
EXPORT gr_pernr TO MEMORY ID 'PERNR_2001'.
Get Absences 2001 Data
CALL FUNCTION 'Y_HR_DIFF_PERNR_2001_DATA'
EXPORTING
period_begda = gs_icm_exp_hist-begda
period_endda = gs_icm_exp_hist-endda -
Itunes store's songs skipping after a few seconds of playing
I just downloaded a bunch of songs from itunes store and it's skip after a few seconds of playing, some help please?
You will not get recharged if you download them from the Purchased section of the iTunes Store and you are signed in with the Apple ID they were originally purchased with.
iTunes Store > Purchased (in the Quick Links section on the right) > Music -
Why do some song on my ipod skip after a few seconds?
For some unknown reason every once and a while a song will not "encode" properly when being converted into digital format (.mp3). This is the cause of the glitches that make the song skip past. This can be fixed by re-encoding the song at a different speed (The standard is 128kbps but can also be done at 160kbps and 192kbps in iTunes).
Now to re-encoding the glitched songs:
First off check the original encoding speed. This can be done by selecting the glitched song, right clicking and choosing the "Get Info" option and the bit-rate (encoding speed) will be in the summary tab. After you check the current encoding speed the settings for importing music into iTunes may need to be changed. You can change these by going into the "Edit > Preferences ~ Advanced tab > Importing tab" once here simply change the box labeled "Import Using" from "AAC Encoder" to "MP3 Encoder". Now all that needs to be done is to change the bit-rate. Choose one of the bit-rates from the "Setting" box that is different from the current bit-rate of the skipping song. Once the setting is chosen click "Ok" and then go to the "Advanced" menu and there should be an option to "Convert Selection to MP3". Now it is as simple as selecting the affected song and then going into the advanced menu and choosing the "Convert Selection to MP3" option to fix your glitched tunes! Every song that is converted using this will be encoded with the bit-rate chosen in the earlier stages.
Hopefully this helps, good luck re-encoding =)
thebballman -
Unchecked tracks get skipped in iTunes playback!
Yeah so basically I have a lot of unchecked songs in my library that I don't want to get sync'd to my iPod. But when I'm just listening to music on my computer, the unchecked songs just don't get played automatically. The playback just proceeds to the next checked song. If I double-click the unchecked, then they play. But that gets annoying after a while. any tips? Thanks
That's normal behavior. The checkmark is used by iTunes to determine if you want to skip this song during playback.
If you want "Tiptoe Through The Tulips" to play in iTunes but not get synced to your iPod, make sure the song is checked, then make a playlist that excludes the song and sync that playlist to your iPod. You can either manually make a playlist or create a smart playlist that would exclude the song (i.e. "Artist is not Tiny Tim").
PowerMac Dual 1.42 GHz G4 Mac OS X (10.4.7) -
Screen fields not getting displayed after Line 16
Hi All,
There is a screen exit created in IW51, now the new requirment is to add 3 more fields. I added the fields below the exiting fields, in line number 15 , 16 &17. After executing the Tcode I could find that the field created in line 17 is not getting displayed in runtime. I have increased the screen length. The fields if moved to line numbers below 16 then they are getting displayed. Can anyone help me to find why it is not getting displayed after line 16.Hi,
Can you give me the Enhancement name?
I searched for the exits using package , but i did not find any screen exists for that IW51 Tcode? -
Production Reporting out put not getting deleted after 30mins what we set.
Hi,
This issue regarding Production Reporting. In the workspace the report output not getting deleted after 30minutes (while publishing the report settings were like delete after 30 mins). Any suggestions please .....
Thanks
VenkatHi Deepak,
Please chek the field / value which u have changed is relavant to printouts of the change.
You can check with following path
SPRO> MM > Purchasing > Message > Fields Relevant to Printouts of Changes.
Confirm tick is provided for PO ( P)
Vivek -
Hyperlinks from other placed indd documents or pdfs getting lost after export to PDF
after upgrade vom CS 5.5 to CS 6: hyperlinks from other placed indd documents or pdfs getting lost after export to PDF
I tried all options for the as well known and working export optionsafter upgrade vom CS 5.5 to CS 6: hyperlinks from other placed indd documents or pdfs getting lost after export to PDF
I tried all options for the as well known and working export options -
I have an I phone 3g and I downloaded the newest software and I can't get any music to play. I can't change my playlists and the songs I have on the phone just get skipped over. What can I do to correct this?
it recognizes the iPOD but I can't get any of the new songs to import to the iPOD
are you getting an error message, Odessa? if so, what does it say? include error message numbers if you're getting any.
if you're not getting an error message, describe what happens when you try to transfer songs to the ipod as best you can. -
my ipad is notb getting open after my baby had bang with the door no scratch has come but it is not switching on can u please advice.
i will be thankful if u provide sufficient information.Hi Naveen,
What you are doing is not supported by Oracle. From EM Database Console FAQ (863631.1):
What action needs to be taken if the hostname or SID of the database server is changed?
If there is a hostname or SID change for the database server then the database console needs to be recreated. There is no other solution if the hostname or SID is changed other that recreating the database console. All database console configuration files are created under the hostname_sid directory and the configuration files along with the repository keeps reference of the hostname, which is why dbconsole needs to be reconfigured if there is change in hostname/sid.
Refer : Note.293678.1 How To Reconfigure DB Control After a Hostname, Domain name or Listener Change Has Occurred On The Server
And take a look at note 278100.1: How To Drop, Create And Recreate DB Control In A 10g Database
Eric
Maybe you are looking for
-
hello there, i don't have windows operating system on my computer, i have a system called ubuntu,so there for i can't download itunes. i have a music app,called banshee on my computer,and have been using it successfully.i managed to put my music from
-
How to have multiple inputs for a Pic Ring?
Alright, I've got this program in which there is a pic ring with multiple pictures on a tab page on the Front Panel. And on the Block Diagram the Pic Ring receives a number through a numeric indicator. There are multiple boolean variables set up and
-
Please Help... Photoshop Misbehaving?
Hi guys, I've been a photoshop user for years and have never encountered anything like this in the past. I was running PS CS6 with no problems for months. Suddenly without any change to the computer that I am aware of, PS will not Open or Create New
-
Hi Gurus, My last thread is going long, so i m starting new one related to same problem.. Problem:-- My report is displaying Document Number, Base Amount & Tax Amount....which has correct values, but other related information is not coming... *Means
-
Cannot find movie in Imovie in any drive?
Movie plays well in Imovie but I can't find the specific file for it. I'm fairly certain that it's in a large folder on the external drive but when I copied it to the internal, and set the external folder in the trash, and tried to open it in Imovie