책봐도 잘 모르겠구... 웹 뒤져도 잘 모르겠어요.
call transaction 't-code'.하면 t-code 화면으로 넘어가는 것까지는 알겠는데(실제로 넘어가더군요.)
거기에 조건 넣어서 결과물이 나오게하는 것은 어떻게 하는거에요?
SET PARAMETER ID 'PLS' FIELD P_PLSCN.
SET PARAMETER ID 'SPM' FIELD P_SPMON.
SET PARAMETER ID 'ARB' FIELD IT_01-ARBPL. <--- 이것도 왜 이렇게 하는지 이해가 될듯 말듯함.
CALL TRANSACTION 'Z10PP220' AND SKIP FIRST SCREEN.
이렇게 조건을 넣었는데 화면만 넘어가고 조건값이 안들어가더라구요.
그리고 조건값이 들어가면 실행이 되야 결과물이 나오잖아요.
자세히 좀 가르쳐주세요~
어떤 분이 "submit"을 사용하라는데 이거는 저에게 생소하네요.
책에도 없는 내용이고...
댓글 8
-
bd
2007.11.22 21:56
-
행복한외계인
2007.11.22 23:57
자료 찾아보니까 set parameter id도 있고 get parameter id도 있더라구요
set parameter id가 데이터를 넘겨주는 필드 선언(?)하는 거고 get parameter id가 입력받는 필드를 선언(?)해 주는 건가요?
SET PARAMETER ID 'PLS' FIELD P_PLSCN.
SET PARAMETER ID 'SPM' FIELD P_SPMON.
SET PARAMETER ID 'ARB' FIELD IT_01-ARBPL.
CALL TRANSACTION 'Z10PP220' AND SKIP FIRST SCREEN.
GET PARAMETER ID 'PLS' FIELD P_PLSCN. <--- 여기는 받는 쪽 필드명 선언하면 되는 거죠???
GET PARAMETER ID 'SPM' FIELD P_SPMON.
GET PARAMETER ID 'ARB' FIELD IT_01-ARBPL.
이렇게 해야 SET에서 값을 받아서 Transaction 일으키고 GET으로 넣어준 다음에 결과물을 출력해 주게 되는 건가요?
-
bd
2007.11.23 00:06
냉~ 받는 트랜젝션이 일어난후에 기존에 SET 했던 아이디 값과 필드를 지정해주시면 되용~
-
행복한외계인
2007.11.23 00:14
혹시 PARAMETERS 선언할 때 P_PLSCN LIKE PLAF-PLSCN OBLIGATORY 라고 했는데 "OBLIGATORY " 이것 때문에 그런건가요?
Transaction 일으킨 다음에 "Fill in all required entry fields"라는 에러 메시지가 나타나요.
필드에 값을 넣으라는 것 같은데... 왜 안 먹는 건지... 혹시 실행하는 프로그램이 만든 거라서 그래요?
첫번째 프로그램이랑 실행하는 프로그램이랑 필드명이 똑같은데... 그래서 안되는 건가요? ㅠㅠ
-
디카촐
2007.11.23 05:51
첫번째 화면은 Skip 하도록 되어있어 "Fill in all required entry fields"라는 에러 메시지를 피하시려면
호출되는 프로그램의 Initialization 부분에 Get prameter 어쩌구 저쩌구 를 쓰셔야 합니다.
아니면 Parameter 선언부에 P_PLSCN LIKE PLAF-PLSCN OBLIGATORY MEMORY ID PLS 라고 해주시면 됩니다.
두번째 것이 좋겠네요
-
행복한외계인
2007.11.23 21:29
bd님 디카촐님 답변 감사드립니다.
호출되는 프로그램 PARAMETER 선언부에 "MEMORY ID"를 해주니까 결과값이 출력되네요.
며칠을 고민해서 글 올렸는데 하루만에 해결이 되니까 감격스럽습니다.
왜 이렇게 되는지 머리로는 이해는 안되지만 그 부분은 저의 레벨이 낮아서 그런 것 같고
아무튼 제 질문에 관심 가져주셔서 고맙습니다.
-
디카촐
2007.11.23 23:26
고민이 해결되었다니 답글을 단 저도 겁나 기쁩니다. ^^
-
GG
2007.11.24 06:17
대체로 CALL TRANSACTION을 사용하는 경우과 SUBMIT RETURN 을 사용하는 경우 차이를 알고 쓰셔야 할듯..
1. CALL TRANSACTION SKIP FIRST SCREEN 의 경우
스탠다드 T-CODE로의 이동/라디오 버튼이 없는 CBO 화면으로의 호출이 필요한 경우이며 앞에서 언급한대로 호출되는 프로그램의 SELECTION-SCREEN의 해당 파라미터에 MEMORY ID 를 사용하여 연동이 되도록 코딩함.
2. SUMMIT RETURN의 경우
주로 CBO 라디오 버튼이 달린 SELECTION-SCREEN 의 화면으로 이동하는 경우이며 주의할 점은 호출된 프로그램의 결과화면상에
BACK 버튼 클릭시 처리만 주의하심 됨.
까다로운 경우 BACK 버튼 클릭시 확인을 묻고 나가는 경우 호출전 프로그램에서 메모리 변수에 프로그램ID 를 세팅해서 EXPORT 시키고 호출된 프로그램에서는 BACK 버튼 클릭시 해당 메모리 변수를 IMPORT 받고 확인해서 해당 호출프로그램에서 호출될 경우와 로직분리하여 구성하면 됨.
set 으로 잡으신 parameter id 값을 get 으로 가져 오는 로직을 추가 하셨나용???
저도 이제 걸음마 단계라... 정확한 설명은 할 수 없지만 적어 놓으신 로직상으로는 set 으로 id 값만 잡으신 로직만 보이내용.
= > p_plscn 필드에서 받은 값을 pls 라는 memoey id 값에 올리신후
GET PARAMETER ID 'PLS FIELD (값이 사용될필드) 이렇게 사용을 하셔야 할꺼 같내요.
TRANSACTION 실행후에 SET 한 값을 사용 하셔야 하는거 같은니 CALL TRANSACTION 후에 GET 로직을 넣으시면 되겠네여..
아는 대로 적은거라 답이 아닐수도 있으니........ 선배님들 테클 부탁 드림니다.