SM13 에대한 제 질문입니다.

sm13에서 볼수있도록 update request 생성하려 합니다


현제 스크린을 4개 만든상태 이고;


각각에 스크린에는 첨부화일처럼 구성이 되어 있는 상태 입니다.


첫번째 필드는 이전 스크린에서 입력한 값을 가지고 오는부분이며


두번째 필드는 이전에 가지고  값을 변경하는 부분이며


update 버튼을 클릭시에 다음 스크린으로 넘어가면서 table 에 update 되는형식입니다.


여기서.


call fuction ‘xxxx’ in update task를 사용하면.


예제)


 

  CASE OK_CODE.
    WHEN ‘UP’.
      IF ZTEST2-NUM2 IS NOT INITIAL.
        SELECT * INTO ITAB1 FROM ZTEST2 WHERE NUM1 = ‘CC’.
        ENDSELECT.

        CALL FUNCTION ‘Z_UPDATE’ IN UPDATE TASK
          TABLES
            ITAB = ITAB1.
        VAL1 = ZTEST2-NUM2.

        CLEAR ZTEST2-NUM2.
        CALL SCREEN 2000.
      ENDIF.
  ENDCASE.


 


실제로 테이블에 업데이트를 하지 않고 값을 가지고 있다가


commit를 만나면. 한번에 업데이트가 된다고 알고 있습니다.


 


그런데 디버깅을 해보면


  CALL FUNCTION ‘Z_UPDATE’ IN UPDATE TASK
          TABLES
            ITAB = ITAB1.
        VAL1 = ZTEST2-NUM2.


여기를 아예 타지 않고 패스해 버리네요..


이렇게 되니깐..sm13에 update request 가 나타 나지 않는거 같내요…


4일째;;;;어찌보면 간단만 report 가지고 헤매고 있습니다…살려주세요 ㅜㅜ



 




1a.JPG


4 Comments

avatar

CALL FUNCTION 까지는 수행되나요?

별문제는 없는 거 같은데

 

간단하게 함수는 인터널 테이블 파라미터 없이, 하드 코딩으로 UPDATE SET 필드 = 1 WHERE 조건으로 먼저 테스트 해보고 해보세요~

avatar

디버깅을 해보면 Call function 까진 실행이 타다가 call function 에서 function 안으로 들어 가지 않고 다음으로 넘어가 버림니다. ( 뒤에 in update task )

말씀대로 set 값을 1 로 해서 테스트 했더니 마지막에 commit 을 만나면 값이 들어가긴하는대요. 그렇게 되면 중간에 commit work를 만나기 전에 업데이트 되어야하는

값들(db luw 라고 표현해도 될까요?) 은 어디로 가는건지..sm13 에서도 안나오고… 에거루 ㅡㅜ

 

avatar

perform ~ on commit으로 해보세요~

avatar

ㅜㅜ 안나와용 ;;;; sm13실행 하면 update request 가 바루 뜨는건가용???.. 먼가 한번 보이긴했는데…

Leave a Reply