Smartform으로 출력하게 되면,
아래와 같이 출력장치를 선택할 수 있는 팝업창이 뜬다.
하지만 위 팝업창 출력 없이,
사용자 디폴트 프린터로 곧바로 출력(인쇄)될 수 있도록 하려면 아래 소스를 적용한다.
LS_OUTPUT_OPTIONS-TDDEST와 LS_OUTPUT_OPTIONS-TDPRINTER 값은 예시이고, 각 사용자의 프린터 세팅에 따라 값을 넣어주면 된다.
DATA: LS_CONTROL_PARAMETERS TYPE SSFCTRLOP,
LS_OUTPUT_OPTIONS TYPE SSFCOMPOP.
LS_CONTROL_PARAMETERS-PREVIEW = ABAP_FALSE.
LS_CONTROL_PARAMETERS-NO_DIALOG = ABAP_TRUE.
LS_CONTROL_PARAMETERS-NO_OPEN = ABAP_TRUE.
LS_CONTROL_PARAMETERS-NO_CLOSE = ABAP_TRUE.
LS_CONTROL_PARAMETERS-DEVICE = 'PRINTER'.
LS_OUTPUT_OPTIONS-TDARMOD = 1.
LS_OUTPUT_OPTIONS-TDCOPIES = 1.
LS_OUTPUT_OPTIONS-TDDEST = 'ZLOCL'. //"T-Code SPAD - Output devices
LS_OUTPUT_OPTIONS-TDPRINTER = 'KPSAPWIN'. //"T-Code SPAD - Output devices - Device type
LS_OUTPUT_OPTIONS-TDIMMED = ABAP_TRUE.
LS_OUTPUT_OPTIONS-TDDELETE = ABAP_TRUE.
LS_OUTPUT_OPTIONS-TDNEWID = 'X'.
LS_OUTPUT_OPTIONS-TDLIFETIME = 8.
CALL FUNCTION 'SSF_OPEN'
EXPORTING
OUTPUT_OPTIONS = LS_OUTPUT_OPTIONS
CONTROL_PARAMETERS = LS_CONTROL_PARAMETERS
USER_SETTINGS = SPACE
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
CALL FUNCTION LV_FM_NAME //"Smartform 이름
EXPORTING
CONTROL_PARAMETERS = LS_CONTROL_PARAMETERS
OUTPUT_OPTIONS = LS_OUTPUT_OPTIONS
IV_BUKRS = P_BUKRS
IMPORTING
JOB_OUTPUT_INFO = LS_JOB_OUPUT_INFO
TABLES
GT_HEADER = LT_HEADER
GT_ITEM = LT_ITEM
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
CALL FUNCTION 'SSF_CLOSE'
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
OTHERS = 4.
-끝-
728x90
'★ SAP 이야기 > ABAP' 카테고리의 다른 글
[ABAP] DB Link(오라클<->SAP Native SQL 예제) (0) | 2025.04.29 |
---|---|
[ABAP] 덤프 방지 구문 (0) | 2025.04.29 |
[ABAP] 화면 이동 구문 정리(call screen, leave to screen, set screen 차이) (0) | 2025.04.14 |
[ABAP] 유저 파라미터 User Parameter(=사용자 파라미터=사용자 매개변수) (0) | 2025.04.11 |
[ABAP] SELECT WHERE절 동적 세팅하기 (0) | 2025.04.04 |