2025년 4월 25일 금요일

[SAP]_SMARTFORMS에 QR 바코드 추가하기

 [출처 : SAP COMMUNITY ]

 

Tcode SE73에서 System Bar Code 신규 설치 진행

만약  바코드 QR Code 2005가 나오지 않는다면 SAP Note 2029824를 먼저 설치하세요.


















설정이 완료되면 해당 폰트에서 실행시켜 테스트가 가능함.

정상 표시될 경우 Smartforms에서 폰트로 등록하여 사용하면 됨.


 




[SAP]_QR 바코드 설정

 

Tcode : SPAD 

1. 새 디바이스를 추가







디바이스명과 Parameters 파일을 다운받아 지정 후 실행














2. 동일 Tcode에서 신규 출력 Device를 생성


 






















테스트 프로그램으로 실행 후 출력 디바이스를 신규 추가한 디바이스로 진행

*&---------------------------------------------------------------------*
*& Report  ZJQR
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
*Robert Russell
*BWIPP in SAP
*created 2009 updated 2010
*contact me at rob.roosky@yahoo.com for more info
REPORT  ZQR_PRINT.

DATA: PARAMS LIKE PRI_PARAMS,
      VALID    TYPE C,
       iloop type string.

new-page print on.



skip 2.

WRITE:/ 'Testing BWIPP: QR codes in SAP'.

skip 2.

write:  'Normal position:  qr code for http://bit.ly/robrscn'.
*leave gap for qr code
skip 6.
PRINT-CONTROL FUNCTION 'ZBW01'.
WRITE: 'http://bit.ly/robrscn' NO-GAP.
PRINT-CONTROL FUNCTION 'ZBW02'.


skip 2.

write:  'Shift Left:      qr code for http://bit.ly/robrscn'.
*leave gap for qr code
skip 6.
PRINT-CONTROL FUNCTION 'ZBW01'.
PRINT-CONTROL FUNCTION 'ZLT50'.
PRINT-CONTROL FUNCTION 'ZLT10'.
PRINT-CONTROL FUNCTION 'ZLT01'.
WRITE: 'http://bit.ly/robrscn' NO-GAP.
PRINT-CONTROL FUNCTION 'ZBW02'.

skip 2.
write:  'Shift Right:     qr code for http://bit.ly/robrscn'.
*leave gap for qr code
skip 6.
PRINT-CONTROL FUNCTION 'ZBW01'.
PRINT-CONTROL FUNCTION 'ZRT50'.
PRINT-CONTROL FUNCTION 'ZRT10'.
PRINT-CONTROL FUNCTION 'ZRT01'.
WRITE: 'http://bit.ly/robrscn' NO-GAP.
PRINT-CONTROL FUNCTION 'ZBW02'.


skip 2.
write:  'Scale X axis:     qr code for http://bit.ly/robrscn'.
*leave gap for qr code
skip 6.
PRINT-CONTROL FUNCTION 'ZBW01'.
PRINT-CONTROL FUNCTION 'ZSX01'.
PRINT-CONTROL FUNCTION 'ZSX01'.
PRINT-CONTROL FUNCTION 'ZSX01'.
PRINT-CONTROL FUNCTION 'ZSX01'.
WRITE: 'http://bit.ly/robrscn' NO-GAP.
PRINT-CONTROL FUNCTION 'ZBW02'.


skip 2.
write:  'Scale y axis:     qr code for http://bit.ly/robrscn'.
*leave gap for qr code - y axis so the gap is bigger
skip 8.
PRINT-CONTROL FUNCTION 'ZBW01'.
PRINT-CONTROL FUNCTION 'ZSY01'.
PRINT-CONTROL FUNCTION 'ZSY01'.
PRINT-CONTROL FUNCTION 'ZSY01'.
PRINT-CONTROL FUNCTION 'ZSY01'.
WRITE: 'http://bit.ly/robrscn' NO-GAP.
PRINT-CONTROL FUNCTION 'ZBW02'.

*page breaks need to be controlled.
   NEW-PAGE.


skip 2.
write:  'Scale x/y axis:   qr code for http://bit.ly/robrscn'.
*leave gap for qr code - y axis so the gap is bigger
skip 8.
PRINT-CONTROL FUNCTION 'ZBW01'.
PRINT-CONTROL FUNCTION 'ZSY01'.
PRINT-CONTROL FUNCTION 'ZSY01'.
PRINT-CONTROL FUNCTION 'ZSY01'.
PRINT-CONTROL FUNCTION 'ZSY01'.
PRINT-CONTROL FUNCTION 'ZSX01'.
PRINT-CONTROL FUNCTION 'ZSX01'.
PRINT-CONTROL FUNCTION 'ZSX01'.
PRINT-CONTROL FUNCTION 'ZSX01'.
WRITE: 'http://bit.ly/robrscn' NO-GAP.
PRINT-CONTROL FUNCTION 'ZBW02'.

skip 6.

skip 2.
write:  'Use option parse -ascii value for "g":   qr code for http://www.^103oogle.com'.
*leave gap for qr code -
skip 6.
PRINT-CONTROL FUNCTION 'ZBW01'.
PRINT-CONTROL FUNCTION 'ZOP01'.
WRITE: 'http://www.^103oogle.com' NO-GAP.
PRINT-CONTROL FUNCTION 'ZBW02'.

skip 6.

skip 2.
write:  'Rotate 45 degress:   qr code for http://bit.ly/robrscn'.
*leave gap for qr code - rotating the qr code so the gap is bigger
skip 8.
PRINT-CONTROL FUNCTION 'ZBW01'.
PRINT-CONTROL FUNCTION 'ZRO01'.
WRITE: 'http://bit.ly/robrscn' NO-GAP.
PRINT-CONTROL FUNCTION 'ZBW02'.

skip 6.

*page breaks added for testing
   NEW-PAGE.
   WRITE: 'skip page' NO-GAP.

   NEW-PAGE.
   WRITE: 'skip page' NO-GAP.


   NEW-PAGE.
   WRITE: 'skip page' NO-GAP.


   NEW-PAGE.
   WRITE: 'skip page' NO-GAP.


   NEW-PAGE.

   WRITE: 'skip page' NO-GAP.

NEW-PAGE.

write:  'Back to normal:  qr code for http://bit.ly/robrscn'.
*leave gap for qr code
skip 6.
PRINT-CONTROL FUNCTION 'ZBW01'.
WRITE: 'http://bit.ly/robrscn' NO-GAP.
PRINT-CONTROL FUNCTION 'ZBW02'.
write: /'123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'.

write: /'end'.

WRITE:/.