#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：ＶＣＭＳ向け住所変更アンロード
#
# 機能          ： ＶＣＭＳ向け住所変更アンロード
#
# コマンド形式  ：EO2HV02B0J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：
#
# 特記事項      ：
#
# 変更履歴      ：変更日       変更者               障害／仕様変更No.
# v49.0.0       2020/05/27    GDC)j.hortilano    【ANK-3840-00-00】
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1


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

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

#
#-- エラー処理
#
PRC_ERR()
{
	ERR_CD=$1
	ERR_MSG=$2
	
	if [ $ERR_CD -ne 0 ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME ${ERR_MSG}
		echo $JOBNAME ${ERR_MSG}
		exit ${G_RTN_ERROR}
	fi
}

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

#
#--- アンロード関数
#       p1：テーブル名／クエリファイル名
#       p2：出力ファイル名
#
EXEC_UNLOAD()
{
	# 出力ファイルの初期化
	cat /dev/null > $2
	
	rc=$?
	PRC_ERR $rc " File cat error($2:rc=$rc) "
	
	sh ${G_TOOLSH}/EOKULD02.sh $1 $2
	
	rc=$?
	PRC_ERR $rc " unload error($2:rc=$rc) "
}

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

P1="OPD=,"
P2="SVCCTL=,"
P3="JOB=,"
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"


ULDSQL_KK2091_08=${SQL_DIR}/KK_U_KK2091_08.sql
KK2091_08=${LOC_DIR_KK}/${JOBNAME}.KK2091_08.csv

ULDSQL_KK2101_06=${SQL_DIR}/KK_U_KK2101_06.sql
KK2101_06=${LOC_DIR_KK}/${JOBNAME}.KK2101_06.csv

KKIFM909_BF_SPT=${MID_DIR_KK}/KKIFM909_BF.csv
KKIFM909_AF_SPT=${MID_DIR_KK}/KKIFM909_AF.csv

KKIFM909_BFAF_MRG=${MID_DIR_KK}/KKIFM909_BFAF_MRG.csv

KKIFM909_SRT=${MID_DIR_KK}/KKIFM909_SRT.csv

KKIFM909_001_SPT=${MID_DIR_KK}/KKIFM909_OO1.csv
KKIFM909_OTHER_SPT=${MID_DIR_KK}/KKIFM909_OTHER.csv
KKIFM909_001OTHER_SRT=${MID_DIR_KK}/KKIFM909_001OTHER_SRT.csv

KKIFM909_001OTHER_MRG=${MID_DIR_KK}/KKIFM909_001OTHER_MRG.csv

KKIFM909_SUP=${MID_DIR_KK}/KKIFM909001.csv



#1.アンロード
cat /dev/null > $KK2091_08
EXEC_UNLOAD ${ULDSQL_KK2091_08} ${KK2091_08}


#2.アンロード
cat /dev/null > ${KK2101_06}
EXEC_UNLOAD ${ULDSQL_KK2101_06} ${KK2101_06}


#3.マッチング
MATCHDEF_KK_CM_0715=${G_TOOLSH}/util/def/KK_CM_0715.def
TMPFILE_MATCHDEF_KK_CM_0715=${G_TOOLSH}/util/def/${JOBNAME}.KK_CM_0715_TMP.def
KKIFM909_MATCH=${MID_DIR_KK}/KKIFM909_MATCH.csv

cp -f $MATCHDEF_KK_CM_0715 $TMPFILE_MATCHDEF_KK_CM_0715

sed -i -e s@':KK_T_2091_CSV'@${KK2091_08}@g ${TMPFILE_MATCHDEF_KK_CM_0715}
sed -i -e s@':KK2101_06_CSV'@${KK2101_06}@g ${TMPFILE_MATCHDEF_KK_CM_0715}

export ZTLOUTFILE=$KKIFM909_MATCH
# ファイルマッチング
${G_TOOLSH}/util/bin/ZTLMAT01 $TMPFILE_MATCHDEF_KK_CM_0715

rc=$?
if [ $rc -ne 0 ]
then
    MATCHING_ERROR $rc $TMPFILE_MATCHDEF_KK_CM_0715
fi


#4.分割
cat /dev/null > ${KKIFM909_BF_SPT}
bsortex -copy -record recform=txtcsv -input reclen=80 file=${KKIFM909_MATCH} include="3.10asc.gt.' '" reconst="3.10,0.3,1.1,2.8,3.12,4.12" -output file=${KKIFM909_BF_SPT}

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

cat /dev/null > ${KKIFM909_AF_SPT}
bsortex -copy -record recform=txtcsv -input reclen=80 file=${KKIFM909_MATCH} include="4.10asc.gt.' '" reconst="4.10,0.3,1.1,2.8,3.12,4.12" -output file=${KKIFM909_AF_SPT}

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

#5.マージ
cat /dev/null > ${KKIFM909_BFAF_MRG}
cat ${KKIFM909_BF_SPT} >> ${KKIFM909_BFAF_MRG}
cat ${KKIFM909_AF_SPT} >> ${KKIFM909_BFAF_MRG}


#6.ソート
cat /dev/null > ${KKIFM909_SRT}
bsortex -sort key="0.10asc,3.8asc" -record recform=txtcsv -input reclen=80 file=${KKIFM909_BFAF_MRG} -output file=${KKIFM909_SRT}


#7.分割
cat /dev/null > ${KKIFM909_001_SPT}
bsortex -copy -record recform=txtcsv -input reclen=80 file=${KKIFM909_SRT} include="1.3asc.eq.'001'.and.2.1asc.eq.'0'" reconst="0.10,1.3,2.1,3.8,4.10,5.10,'2'.1ascA" -output file=${KKIFM909_001_SPT}

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

cat /dev/null > ${KKIFM909_OTHER_SPT}
bsortex -copy -record recform=txtcsv -input reclen=80 file=${KKIFM909_SRT} include="1.3asc.ne.'001'.or.2.1asc.ne.'0'" reconst="0.10,1.3,2.1,3.8,4.10,5.10,'1'.1ascA" -output file=${KKIFM909_OTHER_SPT}

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


#8.マージ
cat /dev/null > ${KKIFM909_001OTHER_MRG}
cat ${KKIFM909_OTHER_SPT} >> $KKIFM909_001OTHER_MRG
cat ${KKIFM909_001_SPT} >> $KKIFM909_001OTHER_MRG

cat /dev/null > ${KKIFM909_001OTHER_SRT}
bsortex -sort key="0.10asc,6.1asc,3.8asc" -record recform=txtcsv -input reclen=80 file=${KKIFM909_001OTHER_MRG} -output file=${KKIFM909_001OTHER_SRT}


#9.サプレス
cat /dev/null > ${KKIFM909_SUP}
bsortex -merge key=0.10asc -record recform=txtcsv -input reconst="0.10,1.3,2.1,3.8,4.10,5.10" file=${KKIFM909_001OTHER_SRT} reclen=80 -summary suppress last -output file=${KKIFM909_SUP}


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


rm -f ${TMPFILE_MATCHDEF_KK_CM_0715}
rm -f ${KK2091_08}
rm -f ${KK2101_06}
rm -f ${KKIFM909_BF_SPT}
rm -f ${KKIFM909_AF_SPT}
rm -f ${KKIFM909_BFAF_MRG}
rm -f ${KKIFM909_SRT}
rm -f ${KKIFM909_001_SPT}
rm -f ${KKIFM909_OTHER_SPT}
rm -f ${KKIFM909_001OTHER_SRT}
rm -f ${KKIFM909_001OTHER_MRG}
rm -f ${KKIFM909_MATCH}


sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME
exit ${G_RTN_NORMAL}
