궁금한 점이 있으면 해결해야 하는 성격이라 ..^^
1.어플리케이션 툴바를 만들때
FUNCTION 택스트입력이라 팝업창이 나오는데
FUNCTION과 택스트유형에 정적택스트와 동적택스트의 의미는 무엇인가요?
그리고 FUNCTION 속성의 빠른 경로는 뭔가요?
2.IF SY-SUBRC EQ 0.
COMMIT WORK.
MESSAGE S001 WITH...
ELSE.
ROLLBACK WORK.
MESSAGE S002 WITH
ENDIF.
여기서 COMMIT WORK과 ROLLBACK WORK 무엇이면 어떤 역활을 하는가요?
3.
CASE PYR+4(2).
WHEN '12'.
P_OUT(4) = P_IN(4) + '1'.
P_OUT+4(2) = '01'.
WHEN OTHERS.
P_OUT(4) = P_IN(4).
P_OUT+4(2) = P_IN+4(2) + '1'.
ENDCASE.
PYR+4(2)와 P_OUT(4)의 숫자의 의미는 뭔가요?
댓글 5
-
Gerrard
2008.11.22 01:08
-
Gerrard
2008.11.22 01:11
방금 알아봤는데 정적텍스트는 그냥 바로 적용되는거고 동적텍스트경우는
FIELD-SYMBOLS을 사용하여 제어가 가능하다네요 ....
-
보나
2008.11.22 01:39
....
MODIFY dbtab.
IF SY-SUBRC = 0.
commit work.
ELSE.
message e000 with '데이터저장중 에러가 발생하였습니다'.
rollback work.
ENDIF.
DB 의 insert / modify / delete / update 등의 처리 후에
위와 비슷한 로직이 들어있는 경우는,
데이터를 잘 넣었으면 commit work 시키고, 그렇지 않은 경우에는 rollback work 을 시키는 경우를 말씀하시는건가요?
(하나의) DB 작업시에는 commit work 전에 작업한 내용에 대해서는 rollbank work 시에 수행작업에 대한 취소(?)를 합니다만;
음 예를 들어 설명을 하자면,
실제 DBTABLE 'A' 가 있고
'A' 테이블에는 키필드가1개(CHAR1자리)이고 이 필드이름이 'AA' 라고 했을 경우.
A 테이블에 데이터를 조회해 보니 '1' 이라는 데이터가 들어있다고 가정했을 경우.
프로그램에서
internal 테이블에 데이터를 담아 이 데이터들을 A 테이블에 insert (modify/delete/update) 하려고 할 경우.
internal 테이블 (itab) 은 A 테이블과 같은 구조를 가지고 있고,
담겨진 데이터가 순서대로 2,3,1 이라고 할 경우
insert 시에 마지막 '1' 값은 이미 DB 에 key 로 존재하므로 insert 되지 못합니다.
commit work 만 사용하거나, 아니면 commit work/rollback work 구문을 둘다 사용하지 않은 경우에는
테이블 A 에는 itab 의 2,3 값은 넣어지나 마지막 1 값은 중복되므로 DB에 들어가지 않게 됩니다.
rollbank work 만 사용한 경우에는 itab 에서 넣으려는 2,3,1 값이 전부 DB에 들어가지 않게 됩니다.
rollbank work / commit work 을 같이 사용한 경우에는 commit work 을 수행한 이후 부터의 데이터가 DB 에 저장되지 않게됩니다....
테스트 프로그램을 하나 수행시켜 보시면,
그 차이점을 보다 쉽게 아실 수 있으리라 생각되네요 ^^
-
보나
2008.11.22 01:44
예전에 달았던 답변입니다.
COMMIT , COMMIT WORK, ROLLBACK, ROLLBACK 등으로 검색해 보시면,
보다 상세하고 많은 정보를 얻으실 수 있습니다.
-
로미오
2008.11.23 01:05
답변 감사합니다.
3번문제는 제가 알기론 p_out 의 값이 123456 이면 +4는 4번째자리부터 (2) 두개의 자리를 가져온다는...
56을 가져오겟죠 그리고 P_OUT(4) 라면 만약 20081010 이 값이면 2008 을 가져오는거죠....
ROLLBACK WORK. 은 데이터 복구라고 알고있는데 자료가 있긴한데 찾지를 못하겟네요 정리를 안해놔서..
열심히 공부해야겠네...