Надеюсь, вы сможете помочь.Формат SAS Данные из «плоского» источника данных
Im пытается прочитать данные из плоских мэйнфреймов с моей программой в SAS с этим кодом:
INFILE DG121 TRUNCOVER
Missover FIRSTOBS=2 ;
INPUT
@ 1 LAENGDE IB2.
@ 3 TOTANM IB2.
@ 5 REXHTYP IB2.
@ 7 RMODTAFD PD3.
@ 10 RANVDATO PD5.
@ 15 RKUNDENR PD6.
@ 21 RBRKODE PD2.
@ 23 RRAADGIV ÅCHAR1.
@ 24 RKUNDKAT ÅCHAR3.
@ 27 RMAXOPR PD8.2
@ 35 RLOBTIDO PD2.
@ 37 RPRODBET ÅCHAR6.
@ 43 RMEDIE ÅCHAR5.
@ 48 ROPSIG ZD3.
@ 69 BRUGER IB4.
I get the Note in my log:
NOTE: Invalid data for RMODTAFD in line 47291 7-9.
NOTE: Invalid data for RANVDATO in line 47291 10-14.
NOTE: Invalid data for RKUNDENR in line 47291 15-20.
NOTE: Invalid data for RBRKODE in line 47291 21-22.
NOTE: Invalid data for RMAXOPR in line 47291 27-34.
NOTE: Invalid data for RLOBTIDO in line 47291 35-36.
NOTE: Invalid data for ROPSIG in line 47291 48-50.
ERROR: Limit set by ERRORS= option reached. Further errors of this type will not be printed.
RULE: ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0
47291 .ü.......................................................^.......................5\.................
ZONE 0A00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0500FFFFFFFFFFFFFFFFFFFF0FEFFFFFFFFFFFFFFFFF
NUMR 0100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F0AFFFFFFFFFFFFFFFFFFFF550FFFFFFFFFFFFFFFFF
101 .......................rrrr{.r{.rr{...........¸...èhÇ..{..}.{ 161
ZONE FFFFFFFFFFFFFFFFFFFFFF0999990990999FFF00001120900058632900429
NUMR FFFFFFFFFFFFFFFFFFFFFF99999C99C999CFFF00691462D00548862C0078C
LAENGDE=161 TOTANM=0 REXHTYP=-1 RMODTAFD=. RANVDATO=. RKUNDENR=. RBRKODE=. RRAADGIV=¤ RKUNDKAT=¤¤¤ RMAXOPR=. RLOBTIDO=.
RPRODBET=¤¤¤¤¤¤ RMEDIE=¤¤¤¤¤ ROPSIG=. BRUGER=-1 _ERROR_=1 _N_=47290
NOTE: EOV macro was not able to obtain an additional extent for library data set SYS15133.T093707.RA000.G46973.R0566335, volume
number 1. System rc = 00000B37; Reason code = 00000004.
ERROR: Write to WORK.WAB.DATA failed. File is full and may be damaged.
Моим вопрос. Я знаю, что мой формат PD не может читать символ. Но может я каким-то образом сделать SAS пропустить те данные, которые не могут читать, так что я не получаю записку: ПРИМЕЧАНИЕ: Неверные данные для ROPSIG в строке 47291 48-50
Спасибо суши. Это было именно то, что я искал! Об ошибке в пространстве. Могу ли я увеличить рабочую область в своем SAS или мне как-то нужно сделать это на мэйнфрейме? –
SAS будет использовать мэйнфрейм в качестве пути WORK. Проверьте работу DDNAME WORK в расширенном журнале, и вы сможете увидеть набор данных мэйнфрейма. Либо это будет постоянная информация, либо временный набор данных, несмотря на то, что вам нужно будет увеличить значение параметра SPACE =, чтобы избежать ошибки B37. – sushil
я могу видеть мои мэйнфреймы набора данных: ПРИМЕЧАНИЯ: входной_файл DG121 является: Dsname = G41066.PUREX.HK000.WAB.HTB.DG121, единицы = 3390, Volume = A0243C, Disp = SHR, BLKSIZE = 27998, Lrecl = 23472, Recfm = VB Но могу ли я просто написать в моей программе SPACE = X номеров, которые я хочу в моем наборе данных? –