Include 와 Function Module / Perform 문의 차이는 뭔가요?
각각 따로 실행해볼 수 있는 방법은 또 뭔가요?
Function Mudule 은 아래 질문해서 답은 얻었거든요 SE37에서...
근데 각각의 차이점과 각각 따로 실행 해 볼 수 있는 방법 좀 갈켜주세요..
댓글 5
-
지크
2011.01.11 00:10
-
imgood
2011.01.11 00:37
아직 이해가 잘 가지 않아서 그러는데요.
Perform 문과의 차이를 정확히 이해할 수가 없어서요.
가독성을 위한것이라면 Perform 문을 이용하는게 더 낫지 않을까요?
include 단독 실행할 수 없다면.. 개인 취향에 따라 다른건가요??
-
지크
2011.01.11 01:22
perform문들을 하나로 묶어서 구성한 것을 include라고 생각하시면 됩니다.
만약 공통 perform per_1이 있고 이 perform을 사용하는 A,B라는 프로그램이 있다고 가정해 보겠습니다.
A, B 두 프로그램에서 include iclu_1. 이라고 코딩해 놓으면, perform per_1을 사용할 수 있습니다.
두 프로그램에서 form per_1에 구현된 똑같은 코딩을 할 필요가 없이 perform per_1만 하면 된다는 거죠.
-
redlemon14
2011.01.11 02:10
Perform 문은 자주 사용하는 구문들을 주로 서브루틴문인 perform문으로 만들어서 사용합니다.
Include 는 perform들을 묶어놓은 것이죠. 예를 들자면 include문은 perform문은 담고 있는 일종의 상자라고나 할까요..
상자안에 있는 여러 perform들중...어느 특정 perform을 쓰기위해서는 프로그램에서는 그 include를 선언해줘야 합니다.
'SE80'에서 왼쪽 화면에서 해당 프로그램찍고 그 아래에 레벨을 보시면 해당 프로그램에서 사용되고 있는 Include문을 확인하실수 있습니다.
Function module은 일종의 서브프로그램의 한 형태로 program에서 어떠한 문제를 해결하기 위해 수행하는 절차라고 생각하셔도 되는데요. 값을 입력받아서 원하는 결과값으로 반환해주는 그런 역할로 쓰입니다.
Function module에서도 Perform문을 사용하실수 있는데요. 그때도 마찬가지로 perform문을 사용하시려면 Include에 perform문을 넣어주시면 되구요. Function module에서도 사용되고 있는 include를 확인하실수 있습니다.
단, Function module에서는 include 중에 L~TOP, L~UXX가 자동으로 생성이 되어지는데요. L~TOP는 function group내에 있는 function moudle에서 사용되는 전역변수들을 선언해주시면 되구요. L~UXX는 function group내에 function module을 생성할때마다 include문으로 생성이 되어집니다.
설명이 도움이 되었는지 모르겠네요.
모든건 하나씩 생성해보고 비교해보면서 이해하심이 빠르실겁니다.
-
열공합시다
2011.01.11 22:29
제 생각인데요.
인클루드문은 다른 프로그램에서 사용가능하고
퍼폼문은 다른 프로그램에서 사용가능하지 않습니다.
인클루드 문은 또 다른 인클루드 문과 퍼폼문을 포함할 수 있습니다.
퍼폼문 안에도 인클루드를 사용 할 수 있습니다.
인클루드문은 다른 프로그램에서도 사용할 수 있으므로 한쪽에서 무작정 변경하면
다른 프로그램에서 오류가 발생할 수 있습니다.
Perform 문은 반복되는 구문 사용을 피하고 가독성을 높히기 위하여 사용하는 것입니다.
Include는 단독 실행을 할 수 없으며, 반드시 메인 프로그램을 통해서 실행이 가능합니다.
하나의 include는 여러 프로그램에서 사용할 수 있으므로 여러 프로그램에서 공통으로 사용하는 perform들로 묶어서 구성하셔도 됩니다.
(물론 공통 사용 perform 구문만 include로 묶을 수 있는 것은 아니며, 가독성을 위하여 한 프로그램에서 사용하는 구문들을 include로 처리하기도 합니다.)