#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：他事業者向けエリア情報ファイル作成
#
# 機能          ：提供可能エリア対象データを出力する。
#
# コマンド形式  ：EO2C60110J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：日中バッチ（取得日付：日中バッチ運用日）
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
#                2013/05/22   FJ)坂東     【TA1-2013-0000026】日中バッチ運用日付の対応
# v8.00.00       2014/07/02  FJ）星野      ST4-2014-0000032
# v36.00.00      2018/03/08  FJ) 舘山      ANK-3340-00-00 eonet.jpのSSL化対応
# v55.00.00       2021/11/01  FJ)星野      【ANK-4069-00-00】バッチ・DBサーバーリプレース対応
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

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

#
#---システム日付取得
#
. EOK010410J0.sh 2

#
#---業務で必要な変数定義
#
SYSDATE_HHMM=`echo ${RSLT_SYSDATE} | cut -c 9-12`

##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

#
#--- ファイル定義
#
OUTFILE=${GAIBU_SEND_DIR_KK}/KKIFE211/ar902042.${RSLT_OPEDATE}${SYSDATE_HHMM}
OUTFILE_TMP1=${MID_DIR_KK}/KKIFE211_TMP1.csv
OUTFILE_TMP2=${MID_DIR_KK}/KKIFE211_TMP2.csv


## ST4-2014-0000032対応 20140702 星野 MOD START
#SQLFILE=${SQL_DIR}/KK_U_ZM0081_02.sql
#MKSQLFILE=${MID_DIR_KK}/KK_U_ZM0081_02_WORK.sql
#
##
##--- 各ファイルの存在チェックを行う
##
#if [ ! -r $SQLFILE ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE) "
#    echo $JOBNAME " File is nonexist($SQLFILE) "
#    exit ${G_RTN_ERROR}
#fi
#
##
##--- アンロードファイルのクリアを行う
##
#cat /dev/null > $OUTFILE
#
#rc=$?
#if [ $rc -ne 0 ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($OUTFILE:rc=$rc) "
#    echo $JOBNAME " File cat error($OUTFILE:rc=$rc) "
#    exit ${G_RTN_ERROR}
#fi
#
##
##--- ワークファイル作成（パラメータセット）
##
#cat $SQLFILE | sed -e "s/???1???/'${RSLT_SYSDATE}'/" \
#    | sed -e "s/???2???/'${RSLT_OPEDATE}'/" \
#    | sed -e "s/???3???/'${SYSDATE_HHMM}'/" \
#    | sed -e "s/???4???/'${RSLT_OPEDATE}'/" \
#    | sed -e "s/???5???/'${RSLT_OPEDATE}'/" \
#    | sed -e "s/???6???/'${RSLT_OPEDATE}'/" \
#    | sed -e "s/???7???/'${RSLT_OPEDATE}'/" \
#    | sed -e "s/???8???/'${RSLT_OPEDATE}'/" \
#    | sed -e "s/???9???/'${RSLT_OPEDATE}'/" \
#    | sed -e "s/???10???/'${RSLT_OPEDATE}'/" \
#    | sed -e "s/???11???/'${RSLT_OPEDATE}'/" > $MKSQLFILE
#
##
##--- UNLOAD処理
##
#sh ${G_TOOLSH}/EOKULD02.sh $MKSQLFILE $OUTFILE_TMP1 $JOBNAME
#
#rc=$?
#if [ $rc -ne 0 ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error($SVC unload:rc=$rc) " 
#    echo $JOBNAME " UNLOAD Error($SVC unload:rc=$rc) "
#    exit ${G_RTN_ERROR}
#fi























#
#--- ファイル定義
#
ZM0081_ULD=${MID_DIR_KK}/EO2C60110J0_ZM0081_uld.csv
ZM0091_ULD=${MID_DIR_KK}/EO2C60110J0_ZM0091_uld.csv
KK0251_ULD=${MID_DIR_KK}/EO2C60110J0_KK0251_uld.csv
KK0241_ULD=${MID_DIR_KK}/EO2C60110J0_KK0241_uld.csv
KK0081_ULD=${MID_DIR_KK}/EO2C60110J0_KK0081_uld.csv

ZM0081_CUR=${MID_DIR_KK}/EO2C60110J0_ZM0081_cur.csv
ZM0091_CUR=${MID_DIR_KK}/EO2C60110J0_ZM0091_cur.csv
KK0251_CUR=${MID_DIR_KK}/EO2C60110J0_KK0251_cur.csv
KK0241_CUR=${MID_DIR_KK}/EO2C60110J0_KK0241_cur.csv
KK0081_CUR=${MID_DIR_KK}/EO2C60110J0_KK0081_cur.csv

ZM0081_TRGT=${MID_DIR_KK}/EO2C60110J0_ZM0081_trgt.csv

ZM0091_NOT=${MID_DIR_KK}/EO2C60110J0_ZM0091_not.csv
ZM0091_FLG=${MID_DIR_KK}/EO2C60110J0_ZM0091_flg.csv
ZM0091_TRGT=${MID_DIR_KK}/EO2C60110J0_ZM0091_trgt.csv
ZM0091_TRGT2=${MID_DIR_KK}/EO2C60110J0_ZM0091_trgt2.csv

KK0251_TRGT0=${MID_DIR_KK}/EO2C60110J0_KK0251_trgt0.csv
KK0251_TRGT=${MID_DIR_KK}/EO2C60110J0_KK0251_trgt.csv

KK0241_TRGT=${MID_DIR_KK}/EO2C60110J0_KK0241_trgt.csv

OUTFILE_AZCHONM=${MID_DIR_KK}/KKIFE211_azchonm.csv
OUTFILE_AZCHOTAIHI=${MID_DIR_KK}/KKIFE211_azchotaihi.csv

OUTFILE_HDR=${MID_DIR_KK}/KKIFE211_header.csv
OUTFILE_DAT=${MID_DIR_KK}/KKIFE211_data.csv
OUTFILE_FTR=${MID_DIR_KK}/KKIFE211_footer.csv

OUTFILE_TMP0=${MID_DIR_KK}/KKIFE211_TMP0.csv







#
#--- ファイル定義
#
SQLFILE=${SQL_DIR}/KK_U_ZM0081_03.sql
TMPSQLFILE=${ULD_WORK_DIR}/KK_U_ZM0081_03.${JOBNAME}.tmp.sql

#
#--- 各ファイルの存在チェックを行う
#
if [ ! -r $SQLFILE ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE) "
    echo $JOBNAME " File is nonexist($SQLFILE) "
    exit ${G_RTN_ERROR}
fi

#
#--- アンロードファイルのクリアを行う
#
cat /dev/null > $ZM0081_ULD

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

#
#--- バインド変数設定処理
#
cat ${SQLFILE} > ${TMPSQLFILE}

#
#--- UNLOAD処理
#
sh ${G_TOOLSH}/EOKULD02.sh ${TMPSQLFILE} ${ZM0081_ULD}

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

#
#--- SQLファイルのクリア
#
rm ${TMPSQLFILE}





#
#--- ファイル定義
#
SQLFILE2=${SQL_DIR}/KK_U_ZM0091_01.sql
TMPSQLFILE2=${ULD_WORK_DIR}/KK_U_ZM0091_01.${JOBNAME}.tmp.sql

#
#--- 各ファイルの存在チェックを行う
#
if [ ! -r $SQLFILE2 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE2) "
    echo $JOBNAME " File is nonexist($SQLFILE2) "
    exit ${G_RTN_ERROR}
fi

#
#--- アンロードファイルのクリアを行う
#
cat /dev/null > $ZM0091_ULD

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

#
#--- バインド変数設定処理
#
cat ${SQLFILE2} > ${TMPSQLFILE2}

#
#--- UNLOAD処理
#
sh ${G_TOOLSH}/EOKULD02.sh ${TMPSQLFILE2} ${ZM0091_ULD}

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

#
#--- SQLファイルのクリア
#
rm ${TMPSQLFILE2}





#
#--- ファイル定義
#
SQLFILE3=${SQL_DIR}/KK_U_KK0251_16.sql
TMPSQLFILE3=${ULD_WORK_DIR}/KK_U_KK0251_16.${JOBNAME}.tmp.sql

#
#--- 各ファイルの存在チェックを行う
#
if [ ! -r $SQLFILE3 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE3) "
    echo $JOBNAME " File is nonexist($SQLFILE3) "
    exit ${G_RTN_ERROR}
fi

#
#--- アンロードファイルのクリアを行う
#
cat /dev/null > $KK0251_ULD

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

#
#--- バインド変数設定処理
#
cat ${SQLFILE3} > ${TMPSQLFILE3}

#
#--- UNLOAD処理
#
sh ${G_TOOLSH}/EOKULD02.sh ${TMPSQLFILE3} ${KK0251_ULD}

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

#
#--- SQLファイルのクリア
#
rm ${TMPSQLFILE3}





#
#--- ファイル定義
#
SQLFILE4=${SQL_DIR}/KK_U_KK0241_24.sql
TMPSQLFILE4=${ULD_WORK_DIR}/KK_U_KK0241_24.${JOBNAME}.tmp.sql

#
#--- 各ファイルの存在チェックを行う
#
if [ ! -r $SQLFILE4 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE4) "
    echo $JOBNAME " File is nonexist($SQLFILE4) "
    exit ${G_RTN_ERROR}
fi

#
#--- アンロードファイルのクリアを行う
#
cat /dev/null > $KK0241_ULD

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

#
#--- バインド変数設定処理
#
cat ${SQLFILE4} > ${TMPSQLFILE4}

#
#--- UNLOAD処理
#
sh ${G_TOOLSH}/EOKULD02.sh ${TMPSQLFILE4} ${KK0241_ULD}

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

#
#--- SQLファイルのクリア
#
rm ${TMPSQLFILE4}





#
#--- ファイル定義
#
SQLFILE5=${SQL_DIR}/KK_U_KK0081_99.sql
TMPSQLFILE5=${ULD_WORK_DIR}/KK_U_KK0081_99.${JOBNAME}.tmp.sql

#
#--- 各ファイルの存在チェックを行う
#
if [ ! -r $SQLFILE5 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE5) "
    echo $JOBNAME " File is nonexist($SQLFILE5) "
    exit ${G_RTN_ERROR}
fi

#
#--- アンロードファイルのクリアを行う
#
cat /dev/null > $KK0081_ULD

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

#
#--- バインド変数設定処理
#
cat ${SQLFILE5} > ${TMPSQLFILE5}

#
#--- UNLOAD処理
#
sh ${G_TOOLSH}/EOKULD02.sh ${TMPSQLFILE5} ${KK0081_ULD}

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

#
#--- SQLファイルのクリア
#
rm ${TMPSQLFILE5}



# ANK-4069-00-00対応 20211101 星野 DEL START
## 現在設定されている文字コードを退避
#LC_CTYPE_LOCAL=$LC_CTYPE;
#LC_COLLATE_LOCAL=$LC_COLLATE;
#
## 文字コードを「SJIS」に切替
#export LC_CTYPE=ja_JP.SJIS
#export LC_COLLATE=ja_JP.SJIS
# ANK-4069-00-00対応 20211101 星野 DEL END

#############################################################################
# ■住所マスタの抽出
#
#  - 抽出条件（カレント取得）
#      0 ：郵便番号 の末尾4桁(固定長扱いで18バイト目から4バイト) ≠ '0000'
#
#  - SELECT(reconst)項目は以下
#      0 -  0.13  ：住所コード
#      1 -  1.9   ：郵便番号
#      2 -  2.10  ：都道府県名
#      3 -  3.62  ：市区町村名
#      4 -  4.62  ：大字通称名
#      5 -  5.62  ：字丁目名
#      6 -  6.62  ：字丁目退避
bsortex -sort key="0.13asc,7.10asc,8.19asc" -record recform=txtcsv -input file=${ZM0081_ULD} reclen=400 \
include="9.3asc.eq.'0',7.10asc.le.'${RSLT_OPEDATE}',10.10asc.le.'${RSLT_OPEDATE}',11.10asc.ge.'${RSLT_OPEDATE}',1.9asc.ge.'0'" \
 | bsortex -merge key="0.13asc" -record recform=txtcsv -input reclen=400 -summary suppress last \
 | bsortex -copy -record recform=txtfix -input reclen=400 include="18.4asc.ne.'0000'" \
 | bsortex -copy -record recform=txtcsv -input reclen=400 \
 -output file=${ZM0081_CUR} reconst="0.13,1.9,2.10,3.62,4.62,5.62,6.62"

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



#############################################################################
# ■住所対象番号区画マスタの抽出
#
#  - 抽出条件（カレント取得）
#      0 ：警察通報可否 ≠ '1' または 消防通報可否 ≠ '1'（別ファイルへ出力）
#
#  - SELECT(reconst)項目は以下
#      0 -  0.13  ：住所コード
#
bsortex -sort key="0.13asc,3.10asc,4.19asc" -record recform=txtcsv -input file=${ZM0091_ULD} reclen=200 \
include="5.3asc.eq.'0',3.10asc.le.'${RSLT_OPEDATE}',6.10asc.le.'${RSLT_OPEDATE}',7.10asc.ge.'${RSLT_OPEDATE}'" \
 | bsortex -merge key="0.13asc" -record recform=txtcsv -input reclen=200 -summary suppress last \
 | bsortex -copy -record recform=txtcsv -input reclen=200 \
 -output file=${ZM0091_CUR} reconst="0.13" \
 -output file=${ZM0091_NOT} include="1.3asc.ne.'1'.or.2.3asc.ne.'1'" reconst="0.13,'1'.1ascA"

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



#############################################################################
# ■サービス契約回線内訳の抽出
#
#  - 抽出条件（カレント取得）
#
#  - SELECT(reconst)項目は以下
#      0 -  0.14  ：サービス契約回線内訳番号
#      1 -  1.13  ：回線場所住所コード
bsortex -sort key="0.14asc,2.19asc" -record recform=txtcsv -input file=${KK0251_ULD} reclen=200 include="3.3asc.eq.'0'" \
 -output file=${KK0251_CUR} reconst="0.14,1.13"

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



#############################################################################
# ■回線対象サービス契約の抽出
#
#  - 抽出条件（カレント取得）
#
#  - SELECT(reconst)項目は以下
#      0 -  0.14  ：サービス契約回線内訳番号
#      1 -  1.12  ：サービス契約番号
bsortex -sort key="0.14asc,1.12asc,3.10asc" -record recform=txtcsv -input file=${KK0241_ULD} reclen=200 include="2.3asc.eq.'0',3.10asc.le.'${RSLT_OPEDATE}',4.10asc.ge.'${RSLT_OPEDATE}'" \
 -output file=${KK0241_CUR} reconst="0.14,1.12"

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



#############################################################################
# ■サービス契約の抽出
#
#  - 抽出条件（カレント取得）
#      0 ：サービス契約ステータス ＝ '100'
#      1 ：料金グループコード ＝ '02'or'04' または （料金グループコード ＝ '10' かつ 料金プランコード ＝ 'PA3101'or'PA3201'）
#
#  - SELECT(reconst)項目は以下
#      0 -  0.12  ：サービス契約番号
bsortex -sort key="0.12asc,4.10asc,5.19asc" -record recform=txtcsv -input file=${KK0081_ULD} reclen=200 include="6.3asc.eq.'0',4.10asc.le.'${RSLT_OPEDATE}',7.3asc.eq.'2'" \
 | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=200 -summary suppress last \
 | bsortex -sort key="0.12asc" -record recform=txtcsv -input reclen=200 include="1.5asc.eq.'100',(2.4asc.eq.'02'.or.2.4asc.eq.'04'.or.(2.4asc.eq.'10',(3.8asc.eq.'PA3101'.or.3.8asc.eq.'PA3201')))" \
 -output file=${KK0081_CUR} reconst="0.12"

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





#
#--- ファイル定義
#
DEFFILE=${G_TOOLSH}/util/def/KK_CM_0491.def
TMPDEFFILE=${ULD_WORK_DIR}/KK_CM_0491.tmp.${JOBNAME}.def

#
#--- 定義ファイル環境変数設定処理
#
cat ${DEFFILE} > ${TMPDEFFILE}
sed -i -e s@'${MID_DIR_KK}'@${MID_DIR_KK}@g ${TMPDEFFILE}

#
#--- ファイルマッチング処理（LEFT JOINでフラグ付レコードを元ファイルに書き戻す）
#
export ZTLOUTFILE=${ZM0091_FLG}
${G_TOOLSH}/util/bin/ZTLMAT01 ${TMPDEFFILE}

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING UTIL Error($SVC util:rc=$rc) " 
    echo $JOBNAME " MATCHING UTIL Error($SVC util:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#
#--- 抽出条件（フラグの立っていないアンマッチレコードだけを残す）
#
bsortex -copy -record recform=txtcsv -input file=${ZM0091_FLG} reclen=50 include="1.1asc.le.'0'" -output file=${ZM0091_TRGT} reconst="0.13"






#
#--- ファイル定義
#
DEFFILE2=${G_TOOLSH}/util/def/KK_CM_0492.def
TMPDEFFILE2=${ULD_WORK_DIR}/KK_CM_0492.tmp.${JOBNAME}.def

#
#--- 定義ファイル環境変数設定処理
#
cat ${DEFFILE2} > ${TMPDEFFILE2}
sed -i -e s@'${MID_DIR_KK}'@${MID_DIR_KK}@g ${TMPDEFFILE2}

#
#--- ファイルマッチング処理
#
export ZTLOUTFILE=${KK0241_TRGT}
${G_TOOLSH}/util/bin/ZTLMAT01 ${TMPDEFFILE2}

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING UTIL Error($SVC util:rc=$rc) " 
    echo $JOBNAME " MATCHING UTIL Error($SVC util:rc=$rc) "
    exit ${G_RTN_ERROR}
fi





#
#--- ファイル定義
#
DEFFILE3=${G_TOOLSH}/util/def/KK_CM_0493.def
TMPDEFFILE3=${ULD_WORK_DIR}/KK_CM_0493.tmp.${JOBNAME}.def

#
#--- 定義ファイル環境変数設定処理
#
cat ${DEFFILE3} > ${TMPDEFFILE3}
sed -i -e s@'${MID_DIR_KK}'@${MID_DIR_KK}@g ${TMPDEFFILE3}

#
#--- ファイルマッチング処理
#
export ZTLOUTFILE=${KK0251_TRGT0}
${G_TOOLSH}/util/bin/ZTLMAT01 ${TMPDEFFILE3}

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING UTIL Error($SVC util:rc=$rc) " 
    echo $JOBNAME " MATCHING UTIL Error($SVC util:rc=$rc) "
    exit ${G_RTN_ERROR}
fi





#
# 回線場所住所コード単位に絞る
#
bsortex -sort key="0.13asc" -record recform=txtcsv -input file=${KK0251_TRGT0} reclen=50 \
 | bsortex -merge key="0.13asc" -record recform=txtcsv -input reclen=50 -summary suppress last \
 -output file=${KK0251_TRGT}

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








#
#--- ファイル定義
#
DEFFILE4=${G_TOOLSH}/util/def/KK_CM_0494.def
TMPDEFFILE4=${ULD_WORK_DIR}/KK_CM_0494.tmp.${JOBNAME}.def

#
#--- 定義ファイル環境変数設定処理
#
cat ${DEFFILE4} > ${TMPDEFFILE4}
sed -i -e s@'${MID_DIR_KK}'@${MID_DIR_KK}@g ${TMPDEFFILE4}

#
#--- ファイルマッチング処理
#
export ZTLOUTFILE=${ZM0091_TRGT2}
${G_TOOLSH}/util/bin/ZTLMAT01 ${TMPDEFFILE4}

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING UTIL Error($SVC util:rc=$rc) " 
    echo $JOBNAME " MATCHING UTIL Error($SVC util:rc=$rc) "
    exit ${G_RTN_ERROR}
fi





#
#--- ファイル定義
#
DEFFILE5=${G_TOOLSH}/util/def/KK_CM_0495.def
TMPDEFFILE5=${ULD_WORK_DIR}/KK_CM_0495.tmp.${JOBNAME}.def

#
#--- 定義ファイル環境変数設定処理
#
cat ${DEFFILE5} > ${TMPDEFFILE5}
sed -i -e s@'${MID_DIR_KK}'@${MID_DIR_KK}@g ${TMPDEFFILE5}

#
#--- ファイルマッチング処理
#
export ZTLOUTFILE=${ZM0081_TRGT}
${G_TOOLSH}/util/bin/ZTLMAT01 ${TMPDEFFILE5}

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING UTIL Error($SVC util:rc=$rc) " 
    echo $JOBNAME " MATCHING UTIL Error($SVC util:rc=$rc) "
    exit ${G_RTN_ERROR}
fi





#
#--- 字丁目退避の設定有無に応じて出力を分ける
#
## ANK-3340-00-00 Modify Start
#bsortex -copy -record recform=txtcsv -input file=${ZM0081_TRGT} reclen=500 \
#-output file=${OUTFILE_AZCHONM} include="6.60asc.lt.'0'" \
# reconst="'D'.1ascA,'03902'.5ascA,'C1    '.6ascA,'ｅｏ光ホーム　　　　　　　　　　　　　　　　　　　　　　　　　　'.64ascA,1.7,0.11,2.16,3.120,4.120,5.120,'e2'.2ascA,'  '.2ascA,'      '.6ascA,'1'.1ascA,'一部提供不可地域あり。１００Ｍライトコースは適用外　　　　　　　'.64ascA,'1'.1ascA,'http://eonet.jp/                                                '.64ascA,'ｅｏ光（オプテージ）　　　　　　　　　　　　　　　　　　　　　　'.64ascA,'                                                                                                                '.112ascA" \
#-output file=${OUTFILE_AZCHOTAIHI} include="6.60asc.ge.'0'" \
# reconst="'D'.1ascA,'03902'.5ascA,'C1    '.6ascA,'ｅｏ光ホーム　　　　　　　　　　　　　　　　　　　　　　　　　　'.64ascA,1.7,0.11,2.16,3.120,4.120,6.120,'e2'.2ascA,'  '.2ascA,'      '.6ascA,'1'.1ascA,'一部提供不可地域あり。１００Ｍライトコースは適用外　　　　　　　'.64ascA,'1'.1ascA,'http://eonet.jp/                                                '.64ascA,'ｅｏ光（オプテージ）　　　　　　　　　　　　　　　　　　　　　　'.64ascA,'                                                                                                                '.112ascA"



# ANK-4069-00-00対応 20211101 星野 MOD START
#bsortex -copy -record recform=txtcsv -input file=${ZM0081_TRGT} reclen=500 \
#-output file=${OUTFILE_AZCHONM} include="6.60asc.lt.'0'" \
# reconst="'D'.1ascA,'03902'.5ascA,'C1    '.6ascA,'ｅｏ光ホーム　　　　　　　　　　　　　　　　　　　　　　　　　　'.64ascA,1.7,0.11,2.16,3.120,4.120,5.120,'e2'.2ascA,'  '.2ascA,'      '.6ascA,'1'.1ascA,'一部提供不可地域あり。１００Ｍライトコースは適用外　　　　　　　'.64ascA,'1'.1ascA,'https://eonet.jp/                                               '.64ascA,'ｅｏ光（オプテージ）　　　　　　　　　　　　　　　　　　　　　　'.64ascA,'                                                                                                                '.112ascA" \
#-output file=${OUTFILE_AZCHOTAIHI} include="6.60asc.ge.'0'" \
# reconst="'D'.1ascA,'03902'.5ascA,'C1    '.6ascA,'ｅｏ光ホーム　　　　　　　　　　　　　　　　　　　　　　　　　　'.64ascA,1.7,0.11,2.16,3.120,4.120,6.120,'e2'.2ascA,'  '.2ascA,'      '.6ascA,'1'.1ascA,'一部提供不可地域あり。１００Ｍライトコースは適用外　　　　　　　'.64ascA,'1'.1ascA,'https://eonet.jp/                                               '.64ascA,'ｅｏ光（オプテージ）　　　　　　　　　　　　　　　　　　　　　　'.64ascA,'                                                                                                                '.112ascA"

TMP_FILE1=${MID_DIR_KK}/${JOBNAME}.TMP_FILE1.csv

# reconstの固定文字列の都合上、入力を一旦UTF-8に変換する。 出力もUTF-8となる。
iconv -f CP932 -t UTF8 ${ZM0081_TRGT} -o ${TMP_FILE1}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " iconv Error($SVC iconv:rc=$rc) "
    echo $JOBNAME " gawk Error($SVC gawk:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

bsortex -copy -record recform=txtcsv -input file=${TMP_FILE1} reclen=500 -option icode=u8 \
   -output file=${OUTFILE_AZCHONM} include="6.60ut8.lt.'0'" \
    reconst="'D'.1ut8A,'03902'.5ut8A,'C1    '.6ut8A,'ｅｏ光ホーム　　　　　　　　　　　　　　　　　　　　　　　　　　'.96ut8A,1.7,0.11,2.16,3.120,4.120,5.120,'e2'.2ut8A,'  '.2ut8A,'      '.6ut8A,'1'.1ut8A,'一部提供不可地域あり。１００Ｍライトコースは適用外　　　　　　　'.96ut8A,'1'.1ut8A,'https://eonet.jp/                                               '.64ut8A,'ｅｏ光（オプテージ）　　　　　　　　　　　　　　　　　　　　　　'.96ut8A,'                                                                                                                '.112ut8A" \
   -output file=${OUTFILE_AZCHOTAIHI} include="6.60ut8.ge.'0'" \
    reconst="'D'.1ut8A,'03902'.5ut8A,'C1    '.6ut8A,'ｅｏ光ホーム　　　　　　　　　　　　　　　　　　　　　　　　　　'.96ut8A,1.7,0.11,2.16,3.120,4.120,6.120,'e2'.2ut8A,'  '.2ut8A,'      '.6ut8A,'1'.1ut8A,'一部提供不可地域あり。１００Ｍライトコースは適用外　　　　　　　'.96ut8A,'1'.1ut8A,'https://eonet.jp/                                               '.64ut8A,'ｅｏ光（オプテージ）　　　　　　　　　　　　　　　　　　　　　　'.96ut8A,'                                                                                                                '.112ut8A"
# ANK-4069-00-00対応 20211101 星野 MOD END

## ANK-3340-00-00 Modify End


#
#--- マージソート
#
# ANK-4069-00-00対応 20211101 星野 MOD START
#bsortex -sort key="5.13asc" -record recform=txtcsv -input file=${OUTFILE_AZCHONM},${OUTFILE_AZCHOTAIHI} reclen=1400 \
# -output file=${OUTFILE_DAT}

TMP_FILE2=${MID_DIR_KK}/${JOBNAME}.TMP_FILE2.csv

bsortex -sort key="5.13asc" -record recform=txtcsv -input file=${OUTFILE_AZCHONM},${OUTFILE_AZCHOTAIHI} reclen=1600 \
 -output file=${TMP_FILE2}

# ここでUTF-8からShitJis(CP932)に戻す
cat /dev/null > ${OUTFILE_DAT}
iconv -f UTF8 -t CP932 ${TMP_FILE2} -o ${OUTFILE_DAT}
# ANK-4069-00-00対応 20211101 星野 MOD END






#
#--- ファイル定義
#
SQLFILE6=${SQL_DIR}/KK_U_DUAL_01.sql
TMPSQLFILE6=${ULD_WORK_DIR}/KK_U_DUAL_01.${JOBNAME}.tmp.sql

#
#--- 各ファイルの存在チェックを行う
#
if [ ! -r $SQLFILE6 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE6) "
    echo $JOBNAME " File is nonexist($SQLFILE6) "
    exit ${G_RTN_ERROR}
fi

#
#--- アンロードファイルのクリアを行う
#
cat /dev/null > $OUTFILE_HDR

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

#
#--- バインド変数設定処理
#
cat $SQLFILE6 | sed -e "s/???1???/'${RSLT_SYSDATE}'/" \
    | sed -e "s/???2???/'${RSLT_OPEDATE}'/" \
    | sed -e "s/???3???/'${SYSDATE_HHMM}'/" > $TMPSQLFILE6

#
#--- UNLOAD処理
#
sh ${G_TOOLSH}/EOKULD02.sh ${TMPSQLFILE6} ${OUTFILE_HDR}

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

#
#--- SQLファイルのクリア
#
rm ${TMPSQLFILE6}





#
#--- ファイル定義
#
SQLFILE7=${SQL_DIR}/KK_U_DUAL_02.sql
TMPSQLFILE7=${ULD_WORK_DIR}/KK_U_DUAL_02.${JOBNAME}.tmp.sql

#
#--- 各ファイルの存在チェックを行う
#
if [ ! -r $SQLFILE7 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE7) "
    echo $JOBNAME " File is nonexist($SQLFILE7) "
    exit ${G_RTN_ERROR}
fi

#
#--- アンロードファイルのクリアを行う
#
cat /dev/null > $OUTFILE_FTR

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

#
#--- バインド変数設定処理
#
cat $SQLFILE7 | sed -e "s/???1???/'${RSLT_SYSDATE}'/" \
    | sed -e "s/???2???/'${RSLT_OPEDATE}'/" \
    | sed -e "s/???3???/'${SYSDATE_HHMM}'/" > $TMPSQLFILE7

#
#--- UNLOAD処理
#
sh ${G_TOOLSH}/EOKULD02.sh ${TMPSQLFILE7} ${OUTFILE_FTR}

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

#
#--- SQLファイルのクリア
#
rm ${TMPSQLFILE7}





#
#---ＣＡＴ
#
cat ${OUTFILE_HDR} ${OUTFILE_DAT} ${OUTFILE_FTR}   > ${OUTFILE_TMP0}

#
#--- カンマを外す
#
sed 's/,//g' $OUTFILE_TMP0 > $OUTFILE_TMP1

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " DEL_DQ Error($SVC del_dq:rc=$rc) " 
    echo $JOBNAME " DEL_DQ Error($SVC del_dq:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
## ST4-2014-0000032対応 20140702 星野 MOD END


#
#--- ダブルクォートの削除処理
#
sed 's/\"//g' $OUTFILE_TMP1 > $OUTFILE_TMP2

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

#
#--- フッタに、データ行数を追加する
#
# ANK-4069-00-00対応 20211101 星野 MOD START
#ROWNUM=`cat $OUTFILE_TMP2 | grep '^D' | wc -l`
ROWNUM=`cat $OUTFILE_TMP2 | grep '^D' -a | wc -l`
# ANK-4069-00-00対応 20211101 星野 MOD END
ROWNUM=`printf "%09d" $ROWNUM`

# ANK-4069-00-00対応 20211101 星野 MOD START
#cat $OUTFILE_TMP2 | grep -v '^T' > $OUTFILE
#printf "`cat $OUTFILE_TMP2 | grep '^T'`"$ROWNUM >> $OUTFILE
cat $OUTFILE_TMP2 | grep -v '^T' -a > $OUTFILE
printf "`cat $OUTFILE_TMP2 | grep '^T' -a`"$ROWNUM >> $OUTFILE
# ANK-4069-00-00対応 20211101 星野 MOD END
echo >> $OUTFILE

#
#--- 改行コードをCR+LFに変換する
#
nkf -s -Lw --overwrite $OUTFILE



## ST4-2014-0000032対応 20140702 星野 ADD START
# ANK-4069-00-00対応 20211101 星野 DEL START
## 文字コードを退避していた文字コードに戻す。
#export LC_CTYPE=$LC_CTYPE_LOCAL;
#export LC_COLLATE=$LC_COLLATE_LOCAL;
# ANK-4069-00-00対応 20211101 星野 DEL END

#ワークファイルの削除
rm -f ${ZM0081_ULD}
rm -f ${ZM0091_ULD}
rm -f ${KK0251_ULD}
rm -f ${KK0241_ULD}
rm -f ${KK0081_ULD}
rm -f ${ZM0081_CUR}
rm -f ${ZM0091_CUR}
rm -f ${KK0251_CUR}
rm -f ${KK0241_CUR}
rm -f ${KK0081_CUR}
rm -f ${ZM0081_TRGT}
rm -f ${ZM0091_NOT}
rm -f ${ZM0091_FLG}
rm -f ${ZM0091_TRGT}
rm -f ${ZM0091_TRGT2}
rm -f ${KK0251_TRGT0}
rm -f ${KK0251_TRGT}
rm -f ${KK0241_TRGT}
rm -f ${OUTFILE_AZCHONM}
rm -f ${OUTFILE_AZCHOTAIHI}
rm -f ${OUTFILE_HDR}
rm -f ${OUTFILE_DAT}
rm -f ${OUTFILE_FTR}
rm -f ${OUTFILE_TMP0}
## ST4-2014-0000032対応 20140702 星野 ADD END
# ANK-4069-00-00対応 20211101 星野 ADD START
rm -f ${TMP_FILE1}
rm -f ${TMP_FILE2}
# ANK-4069-00-00対応 20211101 星野 ADD END



# ▼▼▼▼▼ バッチ使用の場合のＰＧ START ▼▼▼▼▼
##
##---パラメタ定義
##
#
#P1="OPD=$OPD,"
#P2="SVCCTL=JBSbatMultiServiceControl,"
#P3="JOB=EO2C60110J0,"
#P4="IND1=,"
#P5="INF1=,"
#P6="IND2=,"
#P7="INF2=,"
#P8="OTD1=,"
#P9="OTF1=,"
#P10="OTD2=,"
#P11="OTF2=,"
#P12="TABLENAME=ZM_M_AD,"
#P13="SQLKEY=KK_SELECT_009,"
#P14="SQLPARAM=${RSLT_SYSDATE};SQLPARAM_KEY_OPD_YYYYMMDD;${SYSDATE_HHMM};SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD;SQLPARAM_KEY_OPD_YYYYMMDD,"
#P15="ERRFILE=,"
#P16="RECOVERY=,"
#P17="BREAKPTN=,"
#P18="FREE=${GAIBU_SEND_DIR_KK}/KKIFE211/ar902042.${RSLT_OPEDATE}${SYSDATE_HHMM}"
#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
#
##
##---ＡＰＬ起動
##
#
#java ${JAVA_OPTION} -jar ${JAR_DIR}/koptBatch.jar $PARA
#
#rc=$?
#ERR_FLG=0
#if [ $rc -ne 0 ]
#then
#   if [ $rc -ne 4 ]
#   then
#       if [ $rc -ne 8 ]
#       then
#           if [ $rc -ne 127 ]
#           then
#              sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " PROGRAM Error($SVC program:rc=$rc) "
#              echo $JOBNAME " PROGRAM Error($SVC program:rc=$rc) "
#              exit ${G_RTN_ERROR}
#           fi
#       fi
#    fi
#    ERR_FLG=1
#fi
# ▲▲▲▲▲ バッチ使用の場合のＰＧ E N D ▲▲▲▲▲

exit_rc=$rc

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

exit $exit_rc
