#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：前月課金終了契約抽出
#
# 機能          ：当月違約金請求の諸元となる、前月課金終了した契約情報を以下の条件にて抽出する。
#・バッチ運用日から料金計算日を基準とした請求年月の前月を取得し、サービス契約蓄積の請求年月に該当する契約。
#・上記かつ、サービス契約蓄積の課金終了日が上記請求年月の１日～月末日に該当する契約。
#※サービス契約情報のレイアウトにて抽出すること。
#
# コマンド形式  ：EO301012GJ0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v4.00           2013/05/23  FJ)早崎     【TG1-2013-0000431】新規作成
# v5.00           2013/07/03  FJ)後藤     【TG1-2013-0000655】「条件②:請求年月前月月末日＝課金終了日 かつ 解約理由≠強制解約」削除
# v5.01           2013/07/12  FJ)後藤     【TG1-2013-0000662】マスタ参照基準日変更対応
# v5.02           2013/08/27  FJ)後藤     【OM-2013-0001064】サービス契約蓄積の抽出方法を修正
# v5.03           2013/08/30  FJ)狭間     【OM-2013-0001271】waitでABENDする対応と残留ワークファイルを削除するよう修正
# v5.04           2013/09/06  FJ)小柴     【OM-2013-0001645】当月サービス契約蓄積の取得判定処理を修正
# v5.05           2013/10/29  FJ)柴田     【OM-2013-0003672】抽出対象外の条件(回復実績を残さない解約理由)を追加
# v9.00           2014/07/23  FJ)後藤     【ST4-2014-0000046】サービス契約蓄積レンジ化に伴い、入力をロード用ファイルへ変更
# v10.00          2014/08/18  FJ)岡田     【OM-2014-0002395】抽出対象外の条件(回復年月日が当月以降、または、回復実績を残さない解約理由)を削除
##############################################################

##############################################################
# 環境変数定義
##############################################################

#
#---ツール格納場所
#
G_TOOLSH=.

#
#---環境変数定義Shell呼び出し
#
. EOK010110J0.sh

#
#---ＪＯＢ名
#
JOBNAME=`basename $0 | sed -e "s/\.sh//g"`

#
#---サービス（業務プロセス）
#
SVC=$JOBNAME

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
#xxx=xxxxxxx

#---ワークファイル削除モード
WK_RM=true

#---運用日付取得
if [ "${OPD}" = "" ]; then
   . EOK010310J0.sh "BDATE"
else
   RSLT_OPEDATE="${OPD}"
fi

#---マッチング処理でLeftjoinがNULL時に"を付けなくする（マッチング使用時は必須）
export ZTLQUOTES=''
##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

#
#---パラメタ定義
#

P1="OPD=,"
P2="SVCCTL=,"
P3="JOB=EO301012GJ0,"
P4="IND1=,"
P5="INF1=,"
P6="IND2=,"
P7="INF2=,"
P8="OTD1=,"
P9="OTF1=,"
P10="OTD2=,"
P11="OTF2=,"
P12="TABLENAME=,"
P13="SQLKEY=,"
P14="SQLPARAM=,"
P15="ERRFILE=,"
P16="RECOVERY=,"
P17="BREAKPTN=,"
P18="FREE="
PARA="$P1$P2$P3$P4$P5$P6$P7$P8$P9$P10$P11$P12$P13$P14$P15$P16$P17$P18"

sh ${G_TOOLSH}/EOK010210J0.sh CS00027I $JOBNAME


#-------------------------------------------------------------
# ディレクトリ定義
#-------------------------------------------------------------
#
#--- SQLPARAM
#--- イベントコード（利用開始日）
EVENT_CD_USE_STAYMD="01"
#--- イベントコード（利用終了日）
EVENT_CD_USE_ENDYMD="02"
#--- 料金計算日イベントコード
EVENT_CD_RYOKIN_KEISAN_YMD="03"
#--- 加算日数
ADD_DAY="-1"
#--- 業務パラメータID(強制解約)
WORK_PARAM="AC_KD_KSI_DSL"
# OM-2014-0002395 DEL START
#--- 業務パラメータID(回復実績を残さない解約理由)
#WORK_PARAM2="AC_KD_KJN_DSL"
# OM-2014-0002395 DEL END
#--- 料金サービス識別コード(割引/キャンペーン)
PRC_SVC_SKBT_CD="3"
#--- システムコード(AC)
SYS_CD="AC"

#-------------------------------------------------------------
#--- サブルーチン（UNLOAD）
#-------------------------------------------------------------
UNLOAD(){

#unload
sh ${G_TOOLSH}/EOKULD03.sh $1 $2

rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " unload error($2:rc=$rc) "
      echo $JOBNAME " unload error($2:rc=$rc) "
      exit ${G_RTN_ERROR}
fi
}
#-------------------------------------------------------------
#--- サブルーチン（SED）
#-------------------------------------------------------------
SED(){
    sed -i -e $1 $2
    rc=$?
    if [ $rc -ne 0 ]
    then
          sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sed error($1 $2:rc=$rc) "
          echo $JOBNAME " sed error($1 $2:rc=$rc) "
          exit ${G_RTN_ERROR}
    fi
}

#
#--- ファイル定義
#
#--- 共通ワーク
FILE_WRK1=${MID_DIR_AC}/${JOBNAME}_WK_01
FILE_WRK2=${MID_DIR_AC}/${JOBNAME}_WK_02

#--- 出力ファイル
#
#条件①:請求年月前月月末日-1＝課金終了日 かつ 解約理由＝強制解約

OUTFILE_WRK_01=${MID_DIR_AC}/ACIFI001016_${JOBNAME}_WK_01.csv
OUTFILE_WRK_02=${MID_DIR_AC}/ACIFI001016_${JOBNAME}_WK_02.csv

#出力ファイル(EO3010130J0マージ対象)
OUTFILE=${MID_DIR_AC}/ACIFI001016.csv
#出力ファイル(EO3011250J0マージ対象)
OUT_ACIFM050028=${MID_DIR_AC}/ACIFM050028.csv
#
#-------------------------------------------------------------
#--- 0.スケジュール定義
#-------------------------------------------------------------
#スケジュール定義から郡月初日、群月末日の取得
SQLFILE_CH0501_02=${SQL_DIR}/AC_U_CH0501_02.sql
#スケジュール定義から請求年月（MIN）の当月取得
SQLFILE_CH0501_03=${SQL_DIR}/AC_U_CH0501_03.sql
#スケジュール定義から指定した請求年月、イベントコードより取得したイベント年月日より指定した日数を加えた年月日を取得
SQLFILE_CH0501_05=${SQL_DIR}/AC_U_CH0501_05.sql

CSVFILE_CH0501=${MID_DIR_AC}/${JOBNAME}_AC_U_CH0501_WK_1.csv

#
#-------------------------------------------------------------
#--- 1.サービス契約蓄積
#-------------------------------------------------------------
INFILE_AC0461_TOGETU=${MID_DIR_AC}/ACIFM179001.csv
INFILE_AC0461_ZENGETU=${MID_DIR_AC}/ACIFM179002.csv

CSVFILE_AC0461_2=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0461_WK_2.csv
CSVFILE_AC0461_3=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0461_WK_3.csv
CSVFILE_AC0461_4=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0461_WK_4.csv
CSVFILE_AC0461_5=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0461_WK_5.csv
CSVFILE_AC0461_6=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0461_WK_6.csv
CSVFILE_AC0461_7=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0461_WK_7.csv


#
#-------------------------------------------------------------
#--- 2.業務パラメータ
#-------------------------------------------------------------
SQLFILE_ZM0321_01=${SQL_DIR}/AC_U_ZM0321_01.sql

CSVFILE_ZM0321_01=${MID_DIR_AC}/${JOBNAME}_AC_U_ZM0321_WK_1.csv
CSVFILE_ZM0321_02=${MID_DIR_AC}/${JOBNAME}_AC_U_ZM0321_WK_2.csv
CSVFILE_ZM0321_03=${MID_DIR_AC}/${JOBNAME}_AC_U_ZM0321_WK_3.csv
CSVFILE_ZM0321_04=${MID_DIR_AC}/${JOBNAME}_AC_U_ZM0321_WK_4.csv

#
#-------------------------------------------------------------
#--- 3.料金サービス管理
#-------------------------------------------------------------
SQLFILE_AC0181_02=${SQL_DIR}/AC_U_AC0181_02.sql

CSVFILE_AC0181_1=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0181_WK_1.csv
CSVFILE_AC0181_2=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0181_WK_2.csv
CSVFILE_AC0181_3=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0181_WK_3.csv

#
#-------------------------------------------------------------
#--- 4.マッチングdef
#-------------------------------------------------------------
AC_CM_0041_DEF=${G_TOOLSH}/util/def/AC_CM_0041.def
AC_CM_0041_DEF_WK_01=${G_TOOLSH}/util/def/AC_CM_0041_TEMP_01_${JOBNAME}.def

AC_CM_0044_DEF=${G_TOOLSH}/util/def/AC_CM_0044.def
AC_CM_0044_DEF_WK_01=${G_TOOLSH}/util/def/AC_CM_0044_TEMP_01_${JOBNAME}.def

AC_CM_0075_DEF=${G_TOOLSH}/util/def/AC_CM_0075.def
AC_CM_0075_DEF_WK_01=${G_TOOLSH}/util/def/AC_CM_0075_TEMP_01_${JOBNAME}.def

#
#-------------------------------------------------------------
#--- 0.1.請求年月取得処理
#-------------------------------------------------------------
cp ${SQLFILE_CH0501_03} ${FILE_WRK1}
SED "s/:EVENT_CD/'${EVENT_CD_RYOKIN_KEISAN_YMD}'/g" ${FILE_WRK1}
SED "s/:EVENT_YMD/'${RSLT_OPEDATE}'/g" ${FILE_WRK1}
UNLOAD ${FILE_WRK1} ${CSVFILE_CH0501}
SEIKY_YM=`cat ${CSVFILE_CH0501}`
echo ${SEIKY_YM}

#
#-------------------------------------------------------------
#--- 0.2.請求年月前月取得処理
#-------------------------------------------------------------

TOGETU_Y=`expr ${SEIKY_YM} / 100`
TOGETU_M=`expr ${SEIKY_YM} - ${TOGETU_Y} \* 100`
#--- 前月取得
if [ ${TOGETU_M} -eq 1 ];
then
  ZENGETU_Y=`expr ${TOGETU_Y} - 1`
  ZENGETU_M=12
else
  ZENGETU_Y=${TOGETU_Y}
  ZENGETU_M=`expr ${TOGETU_M} - 1`
fi
if [ ${ZENGETU_M} -lt 10 ];
then
  ZENGETU="${ZENGETU_Y}"0"${ZENGETU_M}"
else
  ZENGETU="${ZENGETU_Y}${ZENGETU_M}"
fi

#-------------------------------------------------------------
#--- 0.3.請求年月前月初日末日取得処理
#-------------------------------------------------------------

cp ${SQLFILE_CH0501_02} ${FILE_WRK1}
SED "s/:SEIKY_YM/'${ZENGETU}'/g" ${FILE_WRK1}
SED "s/:EVENT_CD1/'${EVENT_CD_USE_STAYMD}'/g" ${FILE_WRK1}
SED "s/:EVENT_CD2/'${EVENT_CD_USE_ENDYMD}'/g" ${FILE_WRK1}
UNLOAD ${FILE_WRK1} ${CSVFILE_CH0501}
GUN_STRDAY=`head -n1 ${CSVFILE_CH0501}`
GUN_ENDDAY=`tail -n1 ${CSVFILE_CH0501}`
echo ${GUN_STRDAY}
echo ${GUN_ENDDAY}

#-------------------------------------------------------------
#--- 0.4.請求年月初日取得処理
#-------------------------------------------------------------

cp ${SQLFILE_CH0501_02} ${FILE_WRK1}
SED "s/:SEIKY_YM/'${SEIKY_YM}'/g" ${FILE_WRK1}
SED "s/:EVENT_CD1/'${EVENT_CD_USE_STAYMD}'/g" ${FILE_WRK1}
SED "s/:EVENT_CD2/'${EVENT_CD_USE_ENDYMD}'/g" ${FILE_WRK1}
UNLOAD ${FILE_WRK1} ${CSVFILE_CH0501}
TOGETU_STRDAY=`head -n1 ${CSVFILE_CH0501}`
echo ${TOGETU_STRDAY}

#-------------------------------------------------------------
#--- 3.1.料金サービス管理取得処理
#-------------------------------------------------------------
(
UNLOAD ${SQLFILE_AC0181_02} ${CSVFILE_AC0181_1}

(bsortex \
	-sort key="0.2asc,1.3asc,2.12asc,3.17asc" \
    -input reclen=100 file=${CSVFILE_AC0181_1}\
	-record recform=txtcsv \
	-output include="0.2asc.eq.'${SYS_CD}'.and.4.8asc.le.'${GUN_ENDDAY}'.and.5.8asc.ge.'${GUN_ENDDAY}'" \
|bsortex \
    -merge key="0.2asc,1.3asc,2.12asc"  \
    -input reclen=100 \
	-record recform=txtcsv \
	-summary suppress last \
	-output file=${CSVFILE_AC0181_2})
rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort error(${SQLFILE_AC0181_02}:rc=$rc) "
      echo $JOBNAME " sort error(${SQLFILE_AC0181_02}:rc=$rc) "
      exit ${G_RTN_ERROR}
fi

bsortex \
  -sort key="2.12asc" \
  -record recform=txtcsv \
  -input reclen=100 \
   include="6.1asc.eq.'${PRC_SVC_SKBT_CD}'" \
   file=${CSVFILE_AC0181_2} \
  -summary suppress first \
  -output file=${CSVFILE_AC0181_3}

rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsort error(${CSVFILE_AC0181_2}:rc=$rc) "
      echo $JOBNAME " bsort error(${CSVFILE_AC0181_2}:rc=$rc) "
      exit ${G_RTN_ERROR}
fi
) &
pid_UNLOAD_AC0181=$!

#-------------------------------------------------------------
#--- 0.4.請求年月前月末日-1日を取得処理
#-------------------------------------------------------------

cp ${SQLFILE_CH0501_05} ${FILE_WRK1}
SED "s/:ADD_DAY/'${ADD_DAY}'/g" ${FILE_WRK1}
SED "s/:SEIKY_YM/'${ZENGETU}'/g" ${FILE_WRK1}
SED "s/:EVENT_CD/'${EVENT_CD_USE_ENDYMD}'/g" ${FILE_WRK1}
UNLOAD ${FILE_WRK1} ${CSVFILE_CH0501}
GUN_ENDDAY_ZEN=`cat ${CSVFILE_CH0501}`
echo ${GUN_ENDDAY_ZEN}

#-------------------------------------------------------------
#--- 2.1.業務パラメータ値取得処理
#-------------------------------------------------------------

cp ${SQLFILE_ZM0321_01} ${FILE_WRK1}
SED "s/:WORK_PARAM/'${WORK_PARAM}'/g" ${FILE_WRK1}
SED "s/:OPE_DATE/'${RSLT_OPEDATE}'/g" ${FILE_WRK1}
SED "s/:OPE_DATE/'${RSLT_OPEDATE}'/g" ${FILE_WRK1}
UNLOAD ${FILE_WRK1} ${CSVFILE_ZM0321_01}

# カンマ区切りの業務パラメータ設定値抽出
cp  -f ${CSVFILE_ZM0321_01} ${CSVFILE_ZM0321_02}
SED "s/,/\n/g"    ${CSVFILE_ZM0321_02}

# OM-2014-0002395 DEL START
#当月データで使用する業務パラメータIDを取得。
#cp ${SQLFILE_ZM0321_01} ${FILE_WRK2}
#SED "s/:WORK_PARAM/'${WORK_PARAM2}'/g" ${FILE_WRK2}
#SED "s/:OPE_DATE/'${RSLT_OPEDATE}'/g" ${FILE_WRK2}
#SED "s/:OPE_DATE/'${RSLT_OPEDATE}'/g" ${FILE_WRK2}
#UNLOAD ${FILE_WRK2} ${CSVFILE_ZM0321_03}

# カンマ区切りの業務パラメータ設定値抽出
#cp  -f ${CSVFILE_ZM0321_03} ${CSVFILE_ZM0321_04}
#SED "s/,/\n/g"    ${CSVFILE_ZM0321_04}
# OM-2014-0002395 DEL END

#
#-------------------------------------------------------------
#--- 1.1.サービス契約蓄積情報取得処理（前月）
#-------------------------------------------------------------
(
# 条件①
bsortex \
  -copy \
  -record recform=txtcsv \
  -input reclen=600 \
   include="21.8asc.ge.'${GUN_STRDAY}'.and.21.8asc.le.'${GUN_ENDDAY_ZEN}'" \
   file=${INFILE_AC0461_ZENGETU} \
  -output file=${CSVFILE_AC0461_2} \
   reconst="3.2,4.3,5.12,2.14,6.20,8.12,7.10,9.12,10.8,11.8,12.4,13.8,14.8,15.8,16.8,17.8,18.8,19.8,20.8,21.8,22.3,23.5,24.3,25.5,26.7,27.7,28.1,29.2,30.10,31.12,32.3,33.12"

rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsort error(${INFILE_AC0461_ZENGETU}:rc=$rc) "
      echo $JOBNAME " bsort error(${INFILE_AC0461_ZENGETU}:rc=$rc) "
      exit ${G_RTN_ERROR}
fi
) &
pid_UNLOAD_AC0461_01=$!

#
#-------------------------------------------------------------
#--- 1.2.サービス契約蓄積情報取得処理（当月）
#-------------------------------------------------------------
(
# 当月から無効データをオミット
bsortex \
  -copy \
  -record recform=txtcsv \
  -input reclen=600 \
   include="40.1asc.eq.'0'" \
   file=${INFILE_AC0461_TOGETU} \
  -output file=${CSVFILE_AC0461_3}  \
   reconst="3.2,4.3,5.12,2.14,6.20,8.12,7.10,9.12,10.8,11.8,12.4,13.8,14.8,15.8,16.8,17.8,18.8,19.8,20.8,21.8,22.3,23.5,24.3,25.5,26.7,27.7,28.1,29.2,30.10,31.12,32.3,33.12"

rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsort error(${INFILE_AC0461_TOGETU}:rc=$rc) "
      echo $JOBNAME " bsort error(${INFILE_AC0461_TOGETU}:rc=$rc) "
      exit ${G_RTN_ERROR}
fi

# OM-2014-0002395 DEL START
# 条件①
#bsortex \
#  -copy \
#  -record recform=txtcsv \
#  -input reclen=300 \
#   include="11.8asc.ge.'${TOGETU_STRDAY}'" \
#   file=${CSVFILE_AC0461_3} \
#  -output file=${CSVFILE_AC0461_4}

#rc=$?
#if [ $rc -ne 0 ]
#then
#      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsort error(${CSVFILE_AC0461_3}:rc=$rc) "
#      echo $JOBNAME " bsort error(${CSVFILE_AC0461_3}:rc=$rc) "
#      exit ${G_RTN_ERROR}
#fi


#回復実績を残さない解約理由が含まれるデータを取得
#１．業務パラメータID(CSVFILE_ZM0321_04)と当月データ(CSVFILE_AC0461_3)をマッチング

# １－１．defバインド置き換え
#cp -f ${AC_CM_0075_DEF} ${AC_CM_0075_DEF_WK_01}
#SED "s%:INF1%${CSVFILE_AC0461_3}%g"         ${AC_CM_0075_DEF_WK_01}
#SED "s%:INF2%${CSVFILE_ZM0321_04}%g"        ${AC_CM_0075_DEF_WK_01}

# １－２．matching
#(export ZTLOUTFILE=${CSVFILE_AC0461_5}
#${G_TOOLSH}/util/bin/ZTLMAT01 ${AC_CM_0075_DEF_WK_01})
#rc=$?
#if [ $rc -ne 0 ]
#then
#      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " matching error(matching:rc=$rc) "
#      echo $JOBNAME " matching error(matching:rc=$rc) "
#      exit ${G_RTN_ERROR}
#fi

#
# １－３．入力ファイルの改行コード変換(LF->CRLF)
#
#bsortex \
#  -copy \
#  -record recform=txtcsv \
#  -input  reclen=700 \
#          file=${CSVFILE_AC0461_5} \
#  -output file=${CSVFILE_AC0461_6} \
#          include="32.4asc.ge.'0'" \
#          reconst="0.2,1.3,2.12,3.14,4.20,5.12,6.10,7.12,8.8,9.8,10.4,11.8,12.8,13.8,14.8,15.8,16.8,17.8,18.8,19.8,20.3,21.5,22.3,23.5,24.7,25.7,26.1,27.2,28.10,29.12,30.3,31.12" \
#          linedlmt=crlf 


#２．回復日≧月初日のデータ(CSVFILE_AC0461_4)と、上記１．でできたファイル(CSVFILE_AC0461_6)をマージ
#bsortex \
#	-sort key="4.20asc,5.12asc,7.12asc,8.8asc,18.8asc" \
#    -input reclen=750 file=${CSVFILE_AC0461_4},${CSVFILE_AC0461_6}\
#	-record recform=txtcsv \
#	-summary suppress last \
#	-output file=${CSVFILE_AC0461_7}
# OM-2014-0002395 DEL END
) &
pid_UNLOAD_AC0461_02=$!

#--- 3.1.料金サービス管理取得処理をwait
wait ${pid_UNLOAD_AC0181}
rc_UNLOAD_AC0181=$?

#--- 1.1.サービス契約蓄積情報取得処理（前月）をwait
wait ${pid_UNLOAD_AC0461_01}
rc_UNLOAD_AC0461_01=$?

#--- 1.2.サービス契約蓄積情報取得処理（当月）をwait
wait ${pid_UNLOAD_AC0461_02}
rc_UNLOAD_AC0461_02=$?

#- エラー処理
if [ ${rc_UNLOAD_AC0181} -ne 0 ] || [ ${rc_UNLOAD_AC0461_01} -ne 0 ] || [ ${rc_UNLOAD_AC0461_02} -ne 0 ]
then
    #- エラーメッセージ出力
    if [ ${rc_UNLOAD_AC0181} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(UNLOAD_AC0181:rc=${rc_UNLOAD_AC0181}) "
        echo $JOBNAME "UNLOAD ERROR(UNLOAD_AC0181:rc=${rc_UNLOAD_AC0181}) "
    fi
    if [ ${rc_UNLOAD_AC0461_01} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(UNLOAD_AC0461_01:rc=${rc_UNLOAD_AC0461_01}) "
        echo $JOBNAME "UNLOAD ERROR(UNLOAD_AC0461_01:rc=${rc_UNLOAD_AC0461_01}) "
    fi
    if [ ${rc_UNLOAD_AC0461_02} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(UNLOAD_AC0461_02:rc=${rc_UNLOAD_AC0461_02}) "
        echo $JOBNAME "UNLOAD ERROR(UNLOAD_AC0461_02:rc=${rc_UNLOAD_AC0461_02}) "
    fi
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

# defバインド置き換え
# OM-2014-0002395 MOD START
#cp -f ${AC_CM_0041_DEF} ${AC_CM_0041_DEF_WK_01}
#SED "s%:INF1%${CSVFILE_AC0461_2}%g"         ${AC_CM_0041_DEF_WK_01}
#SED "s%:INF2%${CSVFILE_ZM0321_02}%g"        ${AC_CM_0041_DEF_WK_01}
#SED "s%:INF3%${CSVFILE_AC0181_3}%g"         ${AC_CM_0041_DEF_WK_01}
#SED "s%:INF4%${CSVFILE_AC0461_7}%g"         ${AC_CM_0041_DEF_WK_01}
cp -f ${AC_CM_0041_DEF} ${AC_CM_0041_DEF_WK_01}
SED "s%:INF1%${CSVFILE_AC0461_2}%g"         ${AC_CM_0041_DEF_WK_01}
SED "s%:INF2%${CSVFILE_ZM0321_02}%g"        ${AC_CM_0041_DEF_WK_01}
SED "s%:INF3%${CSVFILE_AC0181_3}%g"         ${AC_CM_0041_DEF_WK_01}
SED "s%:INF4%${CSVFILE_AC0461_3}%g"         ${AC_CM_0041_DEF_WK_01}
# OM-2014-0002395 MOD END

# matching
# 条件①情報
(export ZTLOUTFILE=${OUTFILE_WRK_01}
${G_TOOLSH}/util/bin/ZTLMAT01 ${AC_CM_0041_DEF_WK_01})
rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " matching error(matching:rc=$rc) "
      echo $JOBNAME " matching error(matching:rc=$rc) "
      exit ${G_RTN_ERROR}
fi

#
#---入力ファイルの改行コード変換(LF->CRLF)
#
bsortex \
  -copy \
  -record recform=txtcsv \
  -input  reclen=300 \
          file=${OUTFILE_WRK_01} \
  -output file=${OUTFILE} \
          include="32.10asc.lt.'0'" \
          reconst="0.2,1.3,2.12,3.14,4.20,5.12,6.10,7.12,8.8,9.8,10.4,11.8,12.8,13.8,14.8,15.8,16.8,17.8,18.8,19.8,20.3,21.5,22.3,23.5,24.7,25.7,26.1,27.2,28.10,29.12,30.3,31.12" \
          linedlmt=crlf 

#---再計算対象請求先番号抽出
bsortex \
  -sort key="6.10asc" \
  -record recform=txtcsv \
  -input  reclen=300 \
          file=${OUTFILE} \
  -output reconst="6.10" \
|bsortex \
  -merge key="0.10asc" \
  -record recform=txtcsv \
  -input  reclen=12 \
  -summary suppress last \
  -output file=${OUT_ACIFM050028} ;
#
#- 一時ファイル削除
#
if [ ${WK_RM} = "true" ] ;then 
    rm -f ${FILE_WRK1}
    rm -f ${FILE_WRK2}
    rm -f ${OUTFILE_WRK_01}
    rm -f ${OUTFILE_WRK_02}
    rm -f ${CSVFILE_CH0501}
    rm -f ${CSVFILE_AC0461_2}
    rm -f ${CSVFILE_AC0461_3}
    rm -f ${CSVFILE_AC0461_4}
    rm -f ${CSVFILE_AC0461_5}
    rm -f ${CSVFILE_AC0461_6}
    rm -f ${CSVFILE_AC0461_7}
    rm -f ${CSVFILE_ZM0321_01}
    rm -f ${CSVFILE_ZM0321_02}
    rm -f ${CSVFILE_ZM0321_03}
    rm -f ${CSVFILE_ZM0321_04}
    rm -f ${CSVFILE_AC0181_1}
    rm -f ${CSVFILE_AC0181_2}
    rm -f ${CSVFILE_AC0181_3}
    rm -f ${AC_CM_0041_DEF_WK_01}
    rm -f ${AC_CM_0044_DEF_WK_01}
fi ;


#
#--- ジョブの終了メッセージを出力する
#
sh ${G_TOOLSH}/EOK010210J0.sh CS00028I $JOBNAME
sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME

exit ${G_RTN_NORMAL}
