0

コンパイルしていない RPG プログラムがあります。奇妙なことに、出力に示されているように、いくつかのフィールドが欠落しています。7030. しかし、それが存在するはずのファイルにこれらのフィールドが表示されません。実動マシンでプログラムをコンパイルできるので、これを知っています。これらのフィールドの 1 つが CAMPAIGN です。私は出力を示しています: では、この CAMPAiGN フィールドはどこから来たのでしょうか? CAMP_CODE のエイリアス名だと思いますが、これはどこに表示されますか?

 Find  . . . . . .   CAMPAIGN                                                   
 *...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+... 
   1443=O                       PROC_CODE          322A CHAR        8           
   1444=O                       CAMPAIGN           330A CHAR        8           
   1445=O                       IRPTCAT01          333A CHAR        3           
   1446=O                       IRPTCAT02          336A CHAR        3           
   1447=O                       IRPTCAT03          339A CHAR        3           
   1448=O                       IRPTCAT04          342A CHAR        3           

But it's not in the source:

CUSTOMER# CHAR ( 8),                      
NAME CHAR (40 ),                          
CITY CHAR (30 ),                          
STATE CHAR (3 ),                          
COUNTRY CHAR (3 ),                        
ZIP_CODE char (10 ),                      
ITEM# CHAR (15 ),                         
ITEM_TEXT CHAR (40 ),                     
ORDER# CHAR (8 ),                         
ORD_STATUS CHAR (2 ),                     
INVOICE# CHAR (8 ),                       
ORD_DATE NUMERIC (8 , 0),                 
INV_DATE numeric (8 , 0),                 
ORD_TYPE CHAR (3 ),                       
CUST_TYPE CHAR (3 ),                      
PROD_LINE CHAR (3 ),                      
SALES_REP CHAR (3 ),                      
WAREHOUSE CHAR (3 ),                        
SHIP_VIA CHAR (3 ),                         
TERRITORY CHAR (3 ),                        
HOLD_CODE CHAR (3 ),                        
HNDL_CODE CHAR (3 ),                        
EXTENDED$ numeric (11 , 4),                 
QUANTITY NUMERIC (7 , 0),                   
ZONE CHAR (1 ),                             
ITEM_PRC$ NUMERIC (11 , 4),                 
ITEM_COST$ NUMERIC (11 , 4),                
ORD_SHIP$ NUMERIC (7 , 2),                  
ORD_WT NUMERIC (7 , 4),                     
TRANS_DAYS CHAR (1 ),                       
KEYCODE CHAR (8 ),                          
PROC_CODE CHAR (8 ),                        
CAMP_CODE CHAR (8 ),                        
ORD_HLDC CHAR (3 ),                         
Irptcat01 char (3 ),                                                 
Irptcat02 char (3 ),                                                 
Irptcat03 char (3 ),                                                 
Irptcat04 char (3 ),                                                 
Irptcat05 char (3 ),                                                 
Irptcat06 char (3 ),                                                 
Irptcat07 char (3 ),                                                 
Irptcat08 char (3 ),                                                 
Irptcat09 char (3 ),                                                 
Irptcat10 char (3 ),                                                 
Irptcat11 char (3 ),                                                 
Irptcat12 char (3 ),                                                 
Irptcat13 char (3 ),                                                 
Irptcat14 char (3 ),                                                 
Irptcat15 char (3 )                                                  
NOT NULL WITH DEFAULT)                                               
Table DTAWHS in PROJ_N1 created but was not journaled.            
4

2 に答える 2

4

テーブルは作成後に変更されている可能性があるため、テーブル (ファイル) のソース コードを調べても役に立ちません。実際のテーブル/ファイル オブジェクトを調べる必要があります。

CL コマンド:

DSPFFD : 現在テーブル/ファイルにあるフィールドに関する情報。Dev で CAMPAIGN は定義されていますか?

DSPFD : 「ライブ」テーブルの構造が「Dev」と同じであることを確認するには、テーブルのファイル レベル識別子 (レベル ID) が同じである必要があります。

于 2014-05-13T11:56:14.720 に答える
3

これらのエラーのもう 1 つの非常に一般的な原因は、ライブラリ リストです。コンパイルで製品ライブラリ リストとは異なるライブラリ リストを使用している場合は、間違ったファイルを参照している可能性があります。コンパイラのリストをチェックして、ファイル定義に使用されたライブラリを正確に確認してください。

于 2014-05-13T13:43:30.630 に答える