まず、私は私のコメントで述べたようにSASで期待改行チャンスがあるのならば、私はこのような何かを試してみた適切なタイプではありません(これも良いですトムの勧告@追加) :結果を望んでいたものではありません
data want;
infile 'myfile.txt' lrecl=500 truncover TERMSTR=LF;
input
PRODUCT_ID $ 1-47
PRODUCT_NDC $ 48-56
NDC_PACKAGE_CODE $ 58-69
PACKAGE_DESCRIPTION $ 71-325
;
run;
LF
場合(これは珍しいですが)、そしてCR
、その後、CRLF
でみてください、と。あなたはinfile
ステートメントに追加することができます
その他のオプションは以下のとおりです。
ENCODING=
通常lat1
、utf8
またはansi
の一つ。これを確認するには、まずNotepad ++、EmEditor、CoolEditなどの高度なテキストエディタでファイルを開きます。通常は下のステータスバーにどのエンコーディングが使用されているかが表示されます。同時に、どの種類の改行が使用されているかを判断することができ、TERMSTR=
オプション付きの適切な改行を使用することができます。
RECFM=F
あなたの入力ファイルには固定長の変数があります(読み方にどのような影響があるかはわかりませんが、試してみる価値があるかもしれません)。
PS:私が驚いているのは、それらのすべてが失敗した場合ですが、もしそうであれば、過去に私が使っていたハックがありました。私は残念ながら正確な状況を思い出すことはできませんが、 "ハック"は最後の文字変数の後にダミーの数値列を入力テキストファイルに追加することでした。
PPS:PACKAGE_DESCRIPTION列の長さ自体に問題はありません。
SASログの注釈は何を表していますか?入力行の長さを表示します。 – Tom