안녕하세요 요즘 날씨가 쌀쌀한데 건강 챙기시구요^^
다름이 아니라 'HR_INFOTYPE_OPERATION' 펑션을 이용해서 기존의 데이타가 있다면 삭제하고 새로운 데이타를 넣는 로지을 하려구 하는데 날짜는 들어 간거 같은데 기간에 저장된 데이타가 없다고 나오더라구요.. 혹시 저 펑션을 이용해서 기존데이타를 삭제는 어떻게 하나요?
기존의 데이타가 있으면 가지고 오는 로직
<style type="text/css">
SPAN {
font-family: "Courier New";
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}
.L1S52 {
color: #0000FF;
}
</style>
SELECT * FROM PA0812
INTO CORRESPONDING FIELDS OF TABLE LT_RESULT_1
WHERE PERNR = I_PERNR
AND BEGDA <= GV_ENDDA
AND ENDDA >= GV_BEGDA
AND SUBTY = I_SUBTY.
데이타가 있다면 지우도록 하는 로직.
<style type="text/css">
SPAN {
font-family: "Courier New";
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}
.L1S31 {
font-style: italic;
color: #808080;
}
.L1S33 {
color: #4DA619;
}
.L1S52 {
color: #0000FF;
}
</style>
IF LT_RESULT_1[] IS NOT INITIAL.
LOOP AT LT_RESULT_1.
LT_RESULT_1-INFTY = '0812'.
LT_RESULT_1-UNAME = SY-UNAME.
LT_RESULT_1-AEDTM = SY-DATUM.
lt_result_1-subty = i_subty.
GV_OPER = 'DEL'.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
INFTY = LT_RESULT_1-INFTY
NUMBER = LT_RESULT_1-PERNR
SUBTYPE = LT_RESULT_1-SUBTY
VALIDITYEND = LT_RESULT_1-ENDDA
VALIDITYBEGIN = LT_RESULT_1-BEGDA
RECORD = LT_RESULT_1
OPERATION = GV_OPER
* DIALOG_MODE = '2'
NOCOMMIT = 'X'
IMPORTING
RETURN = RETURN1.
에러메세지는 009지정된 기간에 0812에 대해 저장된 데이타가 없습니다.
이렇게 나오구요 lt_result_1에는 데이터가 들어 있구요..
초보자라 많이 서툴지만 혹시 아신다면 부탁좀 드리겠습니다.^^