SpoolライターVer5.0

17. 売掛元帳

オーバーレイ印刷とは専用用紙イメージとの重ね打ち印刷のことです。

今までは5577系のドット・インパクト・プリンターで
専用用紙の上に印刷していた業務がフォーム・オーバーレイ印刷として
オーバーレイ印刷された用紙がPDFとして作成されます。
次はそのイメージです。

[売掛元帳PRTF]

ソースはこちらから

0001.00      A****************************************************************        
0002.00      A**  TESTPRTF2 :  売掛元帳                                     **        
0003.00      A**                                                            **        
0004.00      A**  見出し 1                                                  **        
0005.00      A****************************************************************        
0006.00      A          R #HED1                                                       
0007.00      A                                      OVERLAY('/SPOOLWTR/URIKAKE.JPG' - 
0008.00      A                                       0.02 0.5)                        
0009.00      A            WLPAGE         4  0     73TEXT(' ページ ')                  
0010.00      A                                      EDTCDE(3)                         
0011.00      A                                     4' 大阪市天王寺区通天閣上る '      
0012.00      A                                      SKIPB(5)                          
0013.00      A** LINE 9                                                               
0014.00      A            WLHD02         2         4TEXT(' 店コード ')                
0015.00      A                                      SKIPB(8)                          
0016.00      A                                     6'-'                               
0017.00      A            WLHD03         2         7TEXT(' 地区コード ')              
0018.00      A                                     9'-'                               
0019.00      A            WLHD04         5         8TEXT(' 得意先コード ')            
0020.00      A            WLHD05        32        15TEXT(' 得意先名 ')                
0021.00      A****************************************************************        
0022.00      A**  明細行 1                                                  **        
0023.00      A****************************************************************        
0024.00      A          R #DTL1                                                 
0025.00      A                                    13' 前 残 '                  
0026.00      A                                      SKIPB(13)                   
0027.00      A            WLD101        10  0     56TEXT(' 前残 ')              
0028.00      A                                      EDTCDE(P)                   
0029.00      A****************************************************************  
0030.00      A**  明細行 2                                                  **  
0031.00      A****************************************************************  
0032.00      A          R #DTL2                                                 
0033.00      A                                     3' '                         
0034.00      A                                      SPACEB(1)                   
0035.00      A  12        WLD201         6  0      4TEXT(' 伝票日付 ')          
0036.00      A                                      EDTWRD('0  /  /  ')         
0037.00      A            WLD202         9  0     12TEXT(' 伝票№ ')            
0038.00      A                                      EDTCDE(Z)                   
0039.00      A            WLD203         2        22TEXT(' 区分 ')              
0040.00      A N21        WLD204         9  0     25TEXT(' 売上/仕入 ')        
0041.00      A                                      EDTCDE(P)                   
0042.00      A N22        WLD205         9  0     36TEXT(' 入金/支払 ')        
0043.00      A                                      EDTCDE(P)                   
0044.00      A N23        WLD206         8  0     46TEXT(' 消費税 ')            
0045.00      A                                      EDTCDE(P)                   
0046.00      A N24        WLD207        10  0     56TEXT(' 残高 ')              
0047.00      A                                      EDTCDE(P)                   
0048.00      A N13        WLD208        11        64TEXT(' 備考 ')                
0049.00      A  13        WLD209        10  0     64TEXT(' 備考 ')                
0050.00      A                                      EDTCDE(P)                     
0051.00      A****************************************************************    
0052.00      A**  合計行                                                    **    
0053.00      A****************************************************************    
0054.00      A          R #TTL                                                    
0055.00      A                                    14'*********'                   
0056.00      A                                      SPACEB(2)                     
0057.00      A            WLT104         9  0     25TEXT(' 売上/仕入 ')          
0058.00      A                                      EDTCDE(P)                     
0059.00      A            WLT105         9  0     36TEXT(' 入金/支払 ')          
0060.00      A                                      EDTCDE(P)                     
0061.00      A            WLT106         8  0     46TEXT(' 消費税 ')              
0062.00      A                                      EDTCDE(P)                     
0063.00      A            WLT107        10  0     56TEXT(' 残高 ')                
0064.00      A                                      EDTCDE(P)                     
0065.00      A****************************************************************    
0066.00      A**  ダミー                                                    **    
0067.00      A****************************************************************    
0068.00      A          R #DMY                                                    
0069.00      A**                                                                  
0070.00      A                                      ' '                           
0071.00      A                                      SPACEB(1) 


                  

[解説]

オーバーレイを指示しているのは

0007.00      A                                      OVERLAY('/SPOOLWTR/URIKAKE.JPG' -
0008.00      A                                       0.02 0.5)  

のたった2行だけです。
今、印刷済みの専用用紙をお持ちであれば複合機でその用紙をコピーすれば
簡単に画像ファイルに変換することができます。
後は画像ファイル(JPGなど)をIBM i のIFSにアップロードすればよいだけです。
これだけの作業で簡単にオーバーレイ印刷が実現することができます。
RPGやCOBOLの修正は全く必要ありません。
この場合は一部だけの印刷ですが複写印刷もできますし印刷の各部によって
画像イメージや色を変えることもできます。

[売掛元帳PRTF]

ソースはこちらから

0001.00 H DFTNAME(TESTPRT2) DATEDIT(*YMD/) BNDDIR('QC2LE')                
0002.00 F**********  売掛元帳の印刷 **************************************
0003.00 FTESTPRTF2 O    E             PRINTER                             
0004.00 F*****************************************************************
0005.00 D KENSU           S              4S 0 INZ(10)                     
0006.00 D N               S              4S 0                             
0007.00 D DENNO           S              9S 0 INZ(900001)                 
0008.00                                                                   
0009.00 D DATEDS          DS                                              
0010.00 D  CENTRY                 1      2S 0                             
0011.00 D  DATE6                  2      8S 0                             
0012.00 D  YY4                    1      4A                               
0013.00 D  MM                     5      6A                               
0014.00 D  DD                     7      8A                               
0015.00 D  YYMM                   3      6A                               
0016.00                                                                   
0017.00 D TIMEDS          DS                                              
0018.00 D  CURTIME                1      6S 0                             
0019.00 D  HOUR                   1      2A                               
0020.00 D  MINUTE                 3      4A                               
0021.00 D  SECOND                 5      6A                               
0022.00                                                                   
0023.00 D* LIB名付きPGM名                                           
0024.00 D TITLE           C                   CONST(' 得意先別売掛元帳 '
0025.00 D TKNAME          C                   CONST(' ごまアザラシ商会 '
0026.00  *( 前月残 )                                                    
0027.00 C     1             DO        KENSU         N                   
0028.00 C                   MOVE      DENNO         WLD202              
0029.00  *( 売上 )                                                      
0030.00 C                   EVAL      WLD204 = N * 10000                
0031.00  *( 消費税 )                                                    
0032.00 C                   EVAL      WLD206 = WLD204 * 0.05            
0033.00  *( 入金 )                                                      
0034.00 C     N             IFEQ      3                                 
0035.00 C     N             OREQ      6                                 
0036.00 C     N             OREQ      9                                 
0037.00 C     N             MULT      10000         WLD205              
0038.00 C                   ADD       100000        WLD205              
0039.00 C                   ELSE                                        
0040.00 C                   Z-ADD     0             WLD205              
0041.00 C                   ENDIF                                       
0042.00  *( 残高 )                                                      
0043.00 C     N             IFEQ      1                                 
0044.00  /FREE                                                          
0045.00    WLD207 = WLD101 + WLD204 - WLD205 + WLD206;                  
0046.00  /END-FREE                                                      
0047.00 C                   ELSE                                        
0048.00  /FREE                                                                   
0049.00    WLD207 = WLD207 + WLD204 - WLD205 + WLD206;                           
0050.00  /END-FREE                                                               
0051.00 C                   ENDIF                                                
0052.00 C*( 明細印刷 )                                                           
0053.00 C                   Z-ADD     UDATE         WLD201                       
0054.00 C                   SETON                                        12      
0055.00 C*----------------------------------------------------+                  
0056.00 C                   SETON                                        42      
0057.00 C                   EXSR      OUTPUT                                     
0058.00 C*----------------------------------------------------+                  
0059.00 C                   SETOFF                                       12      
0060.00  *( 累計 )                                                               
0061.00 C                   ADD       WLD204        WLT104                       
0062.00 C                   ADD       WLD205        WLT105                       
0063.00 C                   ADD       WLD206        WLT106                       
0064.00 C                   ADD       WLD207        WLT107                       
0065.00  *                                                                       
0066.00 C                   ADD       1             WLPAGE                       
0067.00 C                   ADD       1             DENNO                        
0068.00 C                   ENDDO                                                
0069.00 C*( T-LR 最終合計 )                                                      
0070.00 C*----------------------------------------------------+                  
0071.00 C                   SETON                                        49      
0072.00 C                   EXSR      OUTPUT                                
0073.00 C*----------------------------------------------------+             
0074.00 C                   SETON                                        LR 
0075.00 C******************************************************             
0076.00 C     *INZSR        BEGSR                                           
0077.00 C******************************************************             
0078.00 C                   Z-ADD     UDATE         DATE6                   
0079.00 C                   TIME                    CURTIME                 
0080.00  *( #HED1 )                                                         
0081.00 C*                  MOVE      YYMM          WLHD01                  
0082.00  *( #DTL1 )                                                         
0083.00 C                   Z-ADD     1             WLPAGE                  
0084.00 C*                  MOVEL(P)  TITLE         WLTITL                  
0085.00 C                   MOVE      '01'          WLHD02                  
0086.00 C                   MOVE      '11'          WLHD03                  
0087.00 C                   MOVE      '21'          WLHD04                  
0088.00 C                   MOVEL(P)  TKNAME        WLHD05                  
0089.00  *( #DTL1 )                                                         
0090.00 C                   Z-ADD     123000        WLD101                  
0091.00  *( #DTL2 )                                                         
0092.00 C                   Z-ADD     180813        WLD201                  
0093.00 C                   MOVE      '01'          WLD203                  
0094.00  *( #TTL  )                                                         
0095.00 C                   ENDSR                                           
0096.00 C******************************************************                
0097.00 C     OUTPUT        BEGSR                                              
0098.00 C******************************************************                
0099.00 C  N40              SETON                                        4041  
0100.00 C   41              WRITE     #HED1                                    
0101.00 C   41              WRITE     #DTL1                                    
0102.00 C   42              WRITE     #DTL2                                    
0103.00 C   49              WRITE     #TTL                                     
0104.00 C   OF              SETOFF                                       40OF  
0105.00 C                   SETOFF                                       414243
0106.00 C                   SETOFF                                       444546
0107.00 C                   SETOFF                                       474849
0108.00 C                   ENDSR     


                                         

[解説]

サンプルとして印刷出力しているだけでオーバーレイ印刷に移行したとしてもRPGやCOBOLの修正は全く必要ありません。