SAP ABAP에서 매개변수(Parameter) ID 활용 방법

SAP ABAP 프로그램을 개발하면서 다른 ABAP 프로그램으로 데이터를 넘겨주거나 CALL TRANSACTON으로 직접 트랜잭션코드를 실행할 때 매개변수 값을 넘겨주어야 할 때가 있습니다.

예를 들어 ABAP 프로그램에서 CALL TRANSACTION으로 다른 T-code를 실행하면서 매개변수 ID에 값을 넘겨주어 해당 트랜잭션 화면의 입력 받는 첫 화면을 Skip하고 바로 실행 결과 화면으로 넘어 가도록 개발하는 경우가 많습니다.

또는 다른 프로그램에서 자신을 Call Transaction으로 호출 했을 때 매개변수 ID 값을 받아 바로 실행 결과 화면을 띄운다 든지 할 때 매개변수 ID는 꼭 필요하게 됩니다. (Export / Import로 값을 주고 받는 것은 우선 무시하도록 하겠습니다.)

이번 글에서는 SAP ABAP에서 매개변수(Parameter) ID 활용 방법에 대해 알아보겠습니다.

SET PARAMETER ID : 매개변수 ID에 값을 지정해서 사용하는 예제

DATA : BELNR LIKE BKPF-BELNR VALUE ‘5000001602’,
         BUKRS LIKE BKPF-BUKRS VALUE ‘A001’,
         GJAHR LIKE BKPF-GJAHR VALUE ‘2023’.

*  매개변수 ID에 값을 넣어줌
SET PARAMETER ID: ‘BLN‘ FIELD BELNR,
                                ‘BUK‘ FIELD BUKRS,
                                ‘GJR‘ FIELD GJAHR.
* FB03(전표조회)이 실행되면서 바로 조회 실행된 화면으로 넘어감
CALL TRANSACTION ‘FB03’ AND SKIP FIRST SCREEN.

▼ 예제에 대한 실행 결과 화면입니다.

SAP ABAP에서 매개변수(Parameter) ID 활용 방법 - SET PARAMETER ID

▼ 트랜잭션코드 FB03의 초기 화면입니다.

SAP ABAP에서 매개변수(Parameter) ID 활용 방법 - FB03
  • 전표 번호의 매개변수 ID는 ‘BLN’ 입니다.
  • 회사 코드의 매개변수 ID는 ‘BUK’ 입니다.
  • 회계연도의 매개변수 ID는 ‘GJR’ 입니다.

각 입력 필드의 매개변수 ID에 SET PARAMETER로 값을 지정하고 CALL TRANSACTION 하면서 AND SKIP FIRST SCREEN. 옵션을 추가해 줌으로써 곧바로 ‘FB03’의 실행 결과(전표 개요-조회) 화면으로 넘어가게 됩니다.

GET PARAMETER ID : 매개변수 ID의 값을 가져와서 사용하는 예제

PARAMETERS PA_BELNR LIKE BKPF-BELNR.

*— Initialization 이벤트
INITIALIZATION.
  GET PARAMETER ID ‘BLN‘ FIELD PA_BELNR.

* Initialization 이벤트에서 GET PARAMETER ID를 사용하지 않고 바로 MEMORY ID로 가져올 수도 있다.
PARAMETERS PA_BELNR LIKE BKPF-BELNR MEMORY ID BLN.

▼ 예제에 대한 실행 결과 화면입니다.

SAP ABAP에서 매개변수(Parameter) ID 활용 방법 - GET PARAMETER ID
  • 프로그램을 실행을 하면 곧바로 매개변수 ID ‘BLN’에 저장된 값을 가져와서 PARAMETER 입력 필드 PA_BELNR에 전표 번호가 입력되게 됩니다.

스크린 프로그램(Screen Program) 에서 SET/GET 매개변수 사용

▼ 아래 화면은 스크린(온라인) 프로그램을 개발할 때 스크린 페인터의 화면입니다.

SAP ABAP에서 매개변수(Parameter) ID 활용 방법 - 스크린페인터

스크린 프로그램(온라인 프로그램)에서 입력 필드의 SET/GET 매개변수 정의는 스크린페인터의 필드 속성에서 할 수 있습니다.

입력 필드에 맞는 매개변수 ID를 지정하고, SET 매개변수 / GET 매개변수를 체크하면 됩니다.

SET 매개변수가 체크되어 있으면 이 화면에서 입력한 값이 지정한 매개변수 ID로 저장되고,
GET 매개변수가 체크되어 있으면 이 화면이 Display 될 때 매개변수 ID의 저장된 값이 입력 필드에 자동으로 들어오게 됩니다.

스크린 프로그램의 프로그램 내에서도 PBO, PAI 모듈에 SET / GET PARAMETER ID를 선언하여 필드 속성의 체크와 동일한 효과를 낼 수도 있습니다.

테이블(Table) USR05(사용자 마스터 매개변수 ID)를 활용하는 방

▼ 사용자 별 마스터 매개변수 ID를 저장하는 USR05 테이블을 활용하는 방법입니다.

SELECT PARID, PARCA 
    FROM USR05
    WHERE BNAME = ‘USER01’      ” 사용자 USER01의 매개변수 ID와 매개변수 값을 가져온다.

▶ 사용자 별로 다르게 지정된 특정 매개변수ID의 매개변수 값에 따라 서로 다른 프로세스를 타도록 프로그래밍 할 수 있습니다.





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기