질문 1.
alv리스트의 해당 행을 선택한 후 삭제시 아래와 같이 하면 삭제 되는데요..
alv에 뿌려지는 인터널테이블을 먼저 조건에 맞게 삭제후
alv리스트의 내용을 담은 db를 조건에 맞게 삭제 해도 상관없나요?
FORM call_row_del .
CLEAR : itab01, itab01[],
r_flag.
LOOP AT gt_rows INTO gs_rows.
READ TABLE it_list INDEX gs_rows-index.
MOVE-CORRESPONDING it_list TO itab01.
APPEND itab01.
ENDLOOP.
if sy-subrc = 0.
delete it_list where remseq = itab01-remseq. <==alv에 뿌려지는 인터널테이블
delete from Z~ where remseq = itab01-remseq. <==alv리스트의 내용을 담은 db
r_flag = 'X'. <==delete된뒤 리프레쉬 시킴
MESSAGE s000 WITH '삭제 되었습니다.'.
endif.
ENDFORM.
질문 2.
아래와 같이 하면 MESSAGE가 '금액은 150000입니다!'
이라고 뜹니다.
150000을 세자리마다 ,를 줄수는 없나요?
DATA : BEGIN OF itab01 OCCURS 0,
netwr TYPE p DECIMALS 0,
remamt TYPE p DECIMALS 0,
b_remamt TYPE p DECIMALS 0,
END OF itab01.
data : b_amt(15).
CLEAR : b_amt.
itab01-b_remamt = itab01-netwr - c_itab1-remamt.
b_amt = itab01-b_remamt.
IF it_inpt-remamt GT itab01-b_remamt.
CONCATENATE '금액은' b_amt '입니다!' INTO LV_MSG1.
MESSAGE I003(ZSD) WITH LV_MSG1.
질문1 인터널테이블의 내용을 먼저 삭제하지 마시고..db부터 삭제하는게 맞을 것 같습니다.
인터널테이블 부터 삭제하고 난뒤에 db 삭제시 에러가 나면 난감하겠지요...
db삭제부터 먼저하고 인터널 테이블 삭제를 하시기 바랍니다.
질문2 현업분이 까칠하신(?)분이시군요...ㅎㅎ
금액의 필드에 컴마를 표시하는 함수가 있었던것 같기도 하고 ..아리까리 합니다..
요거는 제가 한번 찾아 보고 연락드리겠습니다..
안그럼..숫자를 꺼꾸로 해서 앞에서 부터 세자리씩 끊어서 컴마를 넣어 주는 방법도 고려해 봄직 합니다..
아시다 시피 오늘은 바빠서 ....
즐밥하세요..