BSRTSUM構造体は、レコード集約機能を使用する場合に、集約フィールドを定義するための構造体です。
レコード集約機能は、指定したキーフィールドの値が同一のとき、集約フィールドの値を加算して1つのレコードにする機能です。レコード集約機能の対象となったレコードの中から、どのレコードが出力されるかは不定です。テキストファイルの場合は、ASCIIコード、Unicode UCS-2形式、またはUnicode UTF-8形式で記述された半角の数字だけを処理の対象とします。
BSRTSUM構造体の領域を確保する際の領域の大きさは、BS_SUMTABSIZE(n)を使って求められます。BS_SUMTABSIZE(n)は、n個のBSRTSUM構造体の大きさを求めるマクロです。
参考
レコード集約処理実行中にオーバフローが発生した場合、集約フィールドを含まない短いレコードが入力された場合、またはテキストレコードの集約処理実行中に集約フィールド内に不適切なコードが発見された場合、bsrtopen関数の復帰値は0、BSRTREC構造体のerrdetailには、それぞれBSERR_OVERFLOW、BSERR_SUMSHRTREC、BSERR_SUMFIELDが設定されます。
typedef struct { unsigned __int64 entry_no; BSSUM sum_entry[1]; } BSRTSUM;
BSRTSUM構造体メンバー
以下では、BSRTSUM構造体のメンバーについて説明します。
unsigned __int64 entry_no
集約フィールドのエントリー数を指定します。
0を指定すると集約フィールドの指定を省略したものとみなします。
BSSUM sum_entry[n]
集約フィールドを指定します。
詳細は7.5.15 BSSUM構造体を参照してください。