[code3of9] [EAN-8] [industrial2of5] [interleaved2of5] [デバッグ出力]
A R TOKMSR
A TKBANG 5A COLHDG('得意先 番号')
A TKNAKN 20A COLHDG('得意先 仮名')
A TKNAKJ 20O COLHDG('得意先 漢字')
A TKADR1 20O COLHDG('住所1 ')
A TKADR2 20O COLHDG('住所2 ')
A TKTIKU 2A COLHDG('地区 コード')
A TKPOST 6A COLHDG('郵便番号 ')
A TKTELE 13A COLHDG('電話番号 ')
A TKGURI 9P 0 COLHDG('当月 売上高')
A TKNURI 9P 0 COLHDG('当年 売上高')
A TKZURI 9P 0 COLHDG('前年 売上高')
A TKUZAN 9P 0 COLHDG('売掛金 残高')
A TKGEND 9P 0 COLHDG('信用 限度額')
A TKNYUK L COLHDG('最終 入金日')
A TKSIME 1A COLHDG('締め日 コード')
A K TKBANG
|
*
A R BAR01
A EAN8 7S 0 BARCODE(EAN8 2 *HRI)
A POSITION(&BY &BX)
A BY 5S 3P
A BX 5S 3P
*
A R D_BAR01
A 1'BAR1(ENA8) Y='
A BY 5S 3 +0EDTCDE(J)
A +2'X='
A BX 5S 3 +0EDTCDE(J)
A +2'DATA='
A EAN8 7S 0 +2
A SPACEA(1)
*
A R BAR02
A CODE3OF9 5 BARCODE(CODE3OF9 *AST *HRI)
A POSITION(&BY &BX)
A BY 5S 3P
A BX 5S 3P
*
A R D_BAR02
A 1'BAR2(CODE3OF9) Y='
A BY 5S 3 +0EDTCDE(J)
A +2'X='
A BX 5S 3 +0EDTCDE(J)
A +2'DATA='
A CODE3OF9 5 +2
A SPACEA(1)
*
A R BAR03
A INTERL2OF5 5S 0 BARCODE(INTERL2OF5 *HRI)
A POSITION(&BY &BX)
A BY 5S 3P
A BX 5S 3P
*
A R D_BAR03
A 1'BAR3(INTERL2OF5) Y='
A BY 5S 3 +0EDTCDE(J)
A +2'X='
A BX 5S 3 +0EDTCDE(J)
A +2'DATA='
A INTERL2OF5 5S 0 +2
A SPACEA(1)
*
A R BAR04
A INDUST2OF5 5S 0 BARCODE(INDUST2OF5 *HRI)
A POSITION(&BY &BX)
A BY 5S 3P
A BX 5S 3P
*
A R D_BAR04
A 1'BAR4(INDUST2OF5) Y='
A BY 5S 3 +0EDTCDE(J)
A +2'X='
A BX 5S 3 +0EDTCDE(J)
A +2'DATA='
A INDUST2OF5 5S 0 +2
A SPACEA(1)
*
A R BAR05
A JPBC 10 BARCODE(JPBC *HRI)
A POSITION(&BY &BX)
A BY 5S 3P
A BX 5S 3P
*
A R D_BAR05
A 1'BAR5(JPBC) Y='
A BY 5S 3 +0EDTCDE(J)
A +2'X='
A BX 5S 3 +0EDTCDE(J)
A +2'DATA='
A JPBC 10 +2
A SPACEA(1)
*
A R STR01
A
A S01 80 FNTCHRSET(C0D0GT10 T1V10500)
A POSITION(&SY &SX)
A SY 5S 3P
A SX 5S 3P
*
A R D_STR01
A 1'STR01 Y='
A SY 5S 3 +0EDTCDE(J)
A +2'X='
A SX 5S 3 +0EDTCDE(J)
A +2'DATA='
A S01 80 +2
A SPACEA(1)
*
A R STR02
A S02 80 FNTCHRSET(C0S0PR10 T1V10500)
A POSITION(&SY &SX)
A SY 5S 3P
A SX 5S 3P
*
A R D_STR02
A 1'STR02 Y='
A SY 5S 3 +0EDTCDE(J)
A +2'X='
A SX 5S 3 +0EDTCDE(J)
A +2'DATA='
A S02 80 +2
A SPACEA(1)
*
A R STR24
A
A S24 80O CDEFNT(QFNT61/X0N12N)
A IGCCDEFNT(QFNT61/X0M24F)
A POSITION(&SY &SX)
A SY 5S 3P
A SX 5S 3P
*
A R D_STR24
A 1'STR24 Y='
A SY 5S 3 +0EDTCDE(J)
A +2'X='
A SX 5S 3 +0EDTCDE(J)
A +2'DATA='
A S24 80O +2
A SPACEA(1)
*
A R STR32
A S32 80O CDEFNT(QFNT61/X0N16N)
A IGCCDEFNT(QFNT61/X0M32F)
A POSITION(&SY &SX)
A SY 5S 3P
A SX 5S 3P
*
A R D_STR32
A 1'STR32 Y='
A SY 5S 3 +0EDTCDE(J)
A +2'X='
A SX 5S 3 +0EDTCDE(J)
A +2'DATA='
A S32 80O +2
A SPACEA(1)
*
A R STR40
A S40 80O CDEFNT(QFNT61/X0H20N)
A IGCCDEFNT(QFNT61/X0G40F)
A POSITION(&SY &SX)
A SY 5S 3P
A SX 5S 3P
*
A R D_STR40
A 1'STR40 Y='
A SY 5S 3 +0EDTCDE(J)
A +2'X='
A SX 5S 3 +0EDTCDE(J)
A +2'DATA='
A S40 80O +2
A SPACEA(1)
*
A R STR64
A S64 80O CDEFNT(QFNT61/X0H32N)
A IGCCDEFNT(QFNT61/X0G64F)
A POSITION(&SY &SX)
A SY 5S 3P
A SX 5S 3P
*
A R D_STR64
A 1'STR64 Y='
A SY 5S 3 +0EDTCDE(J)
A +2'X='
A SX 5S 3 +0EDTCDE(J)
A +2'DATA='
A S64 80O +2
A SPACEA(1)
*
A R BOX
A BOX(&BY1 &BX1 &BY2 &BX2 &BLW)
A BY1 5S 3P
A BX1 5S 3P
A BY2 5S 3P
A BX2 5S 3P
A BLW 5S 3P
*
A R D_BOX
A 1'BOX Y1='
A BY1 5S 3 +0EDTCDE(J)
A +2'X1='
A BX1 5S 3 +0EDTCDE(J)
A +2'Y2='
A BY2 5S 3 +0EDTCDE(J)
A +2'X2='
A BX2 5S 3 +0EDTCDE(J)
A +2'WIDTH='
A BLW 5S 3 +0EDTCDE(J)
A SPACEA(1)
*
A R HLINE
A LINE(&HLY &HLX &HLL *HRZ &HLW)
A HLY 5S 3P
A HLX 5S 3P
A HLL 5S 3P
A HLW 5S 3P
*
A R D_HLINE
A 1'HLINE Y='
A HLY 5S 3 +0EDTCDE(J)
A +2'X='
A HLX 5S 3 +0EDTCDE(J)
A +2'LENGTH='
A HLL 5S 3 +0EDTCDE(J)
A +2'WIDTH='
A HLW 5S 3 +0EDTCDE(J)
A SPACEA(1)
*
A R VLINE
A LINE(&VLY &VLX &VLL *VRT &VLW)
A VLY 5S 3P
A VLX 5S 3P
A VLL 5S 3P
A VLW 5S 3P
*
A R D_VLINE
A 1'VLINE Y='
A VLY 5S 3 +0EDTCDE(J)
A +2'X='
A VLX 5S 3 +0EDTCDE(J)
A +2'LENGTH='
A VLL 5S 3 +0EDTCDE(J)
A +2'WIDTH='
A VLW 5S 3 +0EDTCDE(J)
A SPACEA(1)
*
A R EOP ENDPAGE
*
A R D_EOP
A 1'EOP'
A SPACEA(1)
|
FTOKMSP IF E DISK
FAFPPRTF O E PRINTER
*
DIPOS PR 5S 3
D POS 3 0 VALUE
D CLPI 3 1 VALUE
*
DWBAR PR
D ROW 3 0 VALUE
D COL 3 0 VALUE
D CPI 3 1 VALUE
D LPI 3 1 VALUE
D STR 50 VALUE
D BAR 10 VALUE
*
DWSTR PR
D ROW 3 0 VALUE
D COL 3 0 VALUE
D CPI 3 1 VALUE
D LPI 3 1 VALUE
D FONT 3 0 VALUE
D STR 80 VALUE
*
DIPOSL PR 5S 3
D POS 3 0 VALUE
D CLPI 3 1 VALUE
*
DWBOX PR
D ROW1 3 0 VALUE
D COL1 3 0 VALUE
D ROW2 3 0 VALUE
D COL2 3 0 VALUE
D CPI 3 1 VALUE
D LPI 3 1 VALUE
D WIDTH 5S 3 VALUE
*
DWHLINE PR
D ROW1 3 0 VALUE
D COL1 3 0 VALUE
D COL2 3 0 VALUE
D CPI 3 1 VALUE
D LPI 3 1 VALUE
D WIDTH 5S 3 VALUE
*
DWVLINE PR
D ROW1 3 0 VALUE
D COL1 3 0 VALUE
D ROW2 3 0 VALUE
D CPI 3 1 VALUE
D LPI 3 1 VALUE
D WIDTH 5S 3 VALUE
*
DD_LC PR
*
DCPI C 10
DLPI C 6
DYD C 3
DEL C 9
DYP S 3 0
DLC S 3 0
DITEMS C 6
*
C *ENTRY PLIST
C PARM bar 10
*
C DO *HIVAL
C READ TOKMSR 90
C 90 LEAVE
C ADD 1 RECNO 7 0
C RECNO DIV ITEMS QUOTIENT 7 0
C MVR REM 7 0
C IF REM = 1
C EXSR #HEADER
C ENDIF
C EXSR #DETAIL
C IF REM = 0
C EXSR #TRAILER
C ENDIF
C ENDDO
C IF (REM <> 0) AND (RECNO > 0)
C EXSR #TRAILER
C ENDIF
C SETON LR
*
C #HEADER BEGSR
C CALLP WSTR(2:22:CPI:LPI:64:
C '得意先一覧(バーコード付)')
C CALLP WSTR(1:68:CPI:LPI:0:%EDITC(*DATE:'Y'))
C TIME HHMMSS 6 0
C CALLP WSTR(1:74:CPI:LPI:0:
C %EDITW(HHMMSS:'0 : : '))
C ENDSR
*
C #DETAIL BEGSR
C IF REM = 0
C EVAL YP = YD+(ITEMS-1)*EL
C ELSE
C EVAL YP = YD+(REM-1)*EL
C ENDIF
C CALLP WBOX(1+YP:2:10+YP:78:CPI:LPI:0.025)
C CALLP WHLINE(4+YP:2:78:CPI:LPI:0.01)
C CALLP WHLINE(6+YP:2:78:CPI:LPI:0.02)
C CALLP WHLINE(8+YP:2:78:CPI:LPI:0.01)
C CALLP WVLINE(1+YP:40:4+YP:CPI:LPI:0.01)
C CALLP WVLINE(1+YP:50:4+YP:CPI:LPI:0.01)
C CALLP WVLINE(1+YP:15:6+YP:CPI:LPI:0.01)
C CALLP WVLINE(6+YP:21:10+YP:CPI:LPI:0.01)
C CALLP WVLINE(6+YP:40:10+YP:CPI:LPI:0.01)
C CALLP WVLINE(6+YP:59:10+YP:CPI:LPI:0.01)
*
C CALLP WSTR(2+YP:3:CPI:LPI:40:'得意先コード')
C CALLP WSTR(2+YP:42:CPI:LPI:32:'得意先名')
C CALLP WSTR(2+YP:53:CPI:LPI:32:TKNAKN)
C CALLP WSTR(3+YP:52:CPI:LPI:32:TKNAKJ)
C CALLP WSTR(5+YP:4:CPI:LPI:32:'住所')
C CALLP WSTR(5+YP:17:CPI:LPI:32:TKADR1+TKADR2)
C CALLP WSTR(7+YP:9:CPI:LPI:32:'当月売上高')
C CALLP WSTR(9+YP:7:CPI:LPI:1:%EDITC(TKGURI:'J'))
C CALLP WSTR(7+YP:27:CPI:LPI:32:'売掛金残高')
C CALLP WSTR(9+YP:25:CPI:LPI:1:%EDITC(TKUZAN:'J'))
C CALLP WSTR(7+YP:46:CPI:LPI:32:'信用限度額')
C CALLP WSTR(9+YP:44:CPI:LPI:1:%EDITC(TKGEND:'J'))
C CALLP WSTR(7+YP:65:CPI:LPI:32:'最終入金日')
C MOVE TKNYUK TKNYUKC 10
C CALLP WSTR(9+YP:65:CPI:LPI:1:TKNYUKC)
*
C CALLP WBAR(2+YP:18:CPI:LPI:TKBANG:BAR)
*
C ENDSR
*
C #TRAILER BEGSR
C CALLP WSTR(60:42:CPI:LPI:2:
C 'This output was produced by AS/400.')
C CALLP WSTR(61:50:CPI:LPI:2:
C 'BARCODE type is ' + BAR)
C NU1 WRITE EOP
C U1 WRITE D_EOP
C ENDSR
*
PIPOS B
DIPOS PI 5S 3
D POS 3 0 VALUE
D CLPI 3 1 VALUE
C RETURN (POS-1)*(1/CLPI)
PIPOS E
*
PWBAR B
DWBAR PI
D ROW 3 0 VALUE
D COL 3 0 VALUE
D CPI 3 1 VALUE
D LPI 3 1 VALUE
D STR 50 VALUE
D BAR 10 VALUE
*
D ZONE S 5S 0
*
C EVAL BY = IPOS(ROW:LPI)
C EVAL BX = IPOS(COL:CPI)
C MOVEL STR ZONE
C SELECT
C WHEN BAR = 'EAN8'
C Z-ADD ZONE EAN8
C NU1 WRITE BAR01
C U1 WRITE D_BAR01
C WHEN BAR = 'CODE3OF9'
C MOVEL STR CODE3OF9
C NU1 WRITE BAR02
C U1 WRITE D_BAR02
C WHEN BAR = 'INTERL2OF5'
C Z-ADD ZONE INTERL2OF5
C NU1 WRITE BAR03
C U1 WRITE D_BAR03
C WHEN BAR = 'INDUST2OF5'
C Z-ADD ZONE INDUST2OF5
C NU1 WRITE BAR04
C U1 WRITE D_BAR04
C WHEN BAR = 'JPBC'
C MOVEL STR JPBC
C NU1 WRITE BAR05
C U1 WRITE D_BAR05
C ENDSL
*
C U1 CALLP D_LC
PWBAR E
*
PWSTR B
DWSTR PI
D ROW 3 0 VALUE
D COL 3 0 VALUE
D CPI 3 1 VALUE
D LPI 3 1 VALUE
D FONT 3 0 VALUE
D STR 80 VALUE
*
C EVAL SY = IPOS(ROW+1:LPI)
C EVAL SX = IPOS(COL:CPI)
C SELECT
C WHEN FONT = 1
C EVAL S01 = STR
C NU1 WRITE STR01
C U1 WRITE D_STR01
C WHEN FONT = 2
C EVAL S02 = STR
C NU1 WRITE STR02
C U1 WRITE D_STR02
C WHEN FONT = 32
C EVAL S32 = STR
C NU1 WRITE STR32
C U1 WRITE D_STR32
C WHEN FONT = 40
C EVAL S40 = STR
C NU1 WRITE STR40
C U1 WRITE D_STR40
C WHEN FONT = 64
C EVAL S64 = STR
C NU1 WRITE STR64
C U1 WRITE D_STR64
C OTHER
C EVAL S24 = STR
C NU1 WRITE STR24
C U1 WRITE D_STR24
C ENDSL
C U1 CALLP D_LC
PWSTR E
*
PIPOSL B
DIPOSL PI 5S 3
D POS 3 0 VALUE
D CLPI 3 1 VALUE
C RETURN (POS-1)*(1/CLPI) + (1/(CLPI*2))
PIPOSL E
*
PWBOX B
DWBOX PI
D ROW1 3 0 VALUE
D COL1 3 0 VALUE
D ROW2 3 0 VALUE
D COL2 3 0 VALUE
D CPI 3 1 VALUE
D LPI 3 1 VALUE
D WIDTH 5S 3 VALUE
*
C EVAL BY1 = IPOSL(ROW1:LPI)-WIDTH/2
C EVAL BX1 = IPOSL(COL1:CPI)-WIDTH/2
C EVAL BY2 = IPOSL(ROW2:LPI)+WIDTH/2
C EVAL BX2 = IPOSL(COL2:CPI)+WIDTH/2
C EVAL BLW = WIDTH
C NU1 WRITE BOX
C U1 WRITE D_BOX
C U1 CALLP D_LC
PWBOX E
*
PWHLINE B
DWHLINE PI
D ROW1 3 0 VALUE
D COL1 3 0 VALUE
D COL2 3 0 VALUE
D CPI 3 1 VALUE
D LPI 3 1 VALUE
D WIDTH 5S 3 VALUE
C EVAL HLY = IPOSL(ROW1:LPI)-WIDTH/2
C EVAL HLX = IPOSL(COL1:CPI)
C EVAL HLL = (COL2-COL1)*(1/CPI)
C EVAL HLW = WIDTH
C NU1 WRITE HLINE
C U1 WRITE D_HLINE
C U1 CALLP D_LC
PWHLINE E
*
PWVLINE B
DWVLINE PI
D ROW1 3 0 VALUE
D COL1 3 0 VALUE
D ROW2 3 0 VALUE
D CPI 3 1 VALUE
D LPI 3 1 VALUE
D WIDTH 5S 3 VALUE
C EVAL VLY = IPOSL(ROW1:LPI)
C EVAL VLX = IPOSL(COL1:CPI)-WIDTH/2
C EVAL VLL = (ROW2-ROW1)*(1/LPI)
C EVAL VLW = WIDTH
C NU1 WRITE VLINE
C U1 WRITE D_VLINE
C U1 CALLP D_LC
PWVLINE E
*
PD_LC B
DD_LC PI
C ADD 1 LC
C IF LC > 56
C WRITE EOP
C Z-ADD 0 LC
C ENDIF
PD_LC E
|
CRTPRTF FILE(your_library/AFPPRTF) SRCFILE(your_sourcefile) DEVTYPE(*AFPDS) +
PAGESIZE(11 8 *UOM) UOM(*INCH) +
CDEFNT(QFNT61/X0N13N) IGCCDEFNT(QFNT61/X0M26F)
CRTBNDRPG PGM(your_library/AFPPRT) SRCFILE(your_sourcefile) DBGVIEW(*ALL)
DFTACTGRP(*NO)
|
[Home]