#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：請求収納
#
# シェル名      ：請求書発行判定
#
# 機能          ：請求書データ(通話明細発行情報付加)の請求書発行判断情報(契約状態、etc...)と請求書作成制御テーブルを用いて、
#請求書の発行有無を判定する。
#請求書発行有無結果を請求データに付加し、
#請求書データ(請求書発行有無付加)へ出力する。
#窓口払い０円明細一覧データへ出力する条件を満たす請求先については出力を行う。
#当月請求額がマイナスの請求先は、
#請求書データ作成結果(請求額マイナス)への出力を行う。
#抑止が適用された請求書データについては、
#抑止情報(請求書等発行／口座番号)を作成する。
#
#
# コマンド形式  ：EO60301G0J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
#	v3.00		：2012/06/10	FJ)本多		【ANK-0024-04-00対応】機能の説明を変更
#	v3.00		：2012/07/27	FJ)冨井		【ST2-2012-0001211】ヒープサイズ拡張
# 	v3.01       ：2012/11/02    FJ）加島    【ST4-2012-0000006】ヒープサイズ指定方法変更
# 	v4.00       ：2013/03/01    FJ）狭間    【ST4-2013-0000057】速度改善の為、Java内のDBアクセスをアンローダ化
#	v4.01       ：2013/03/18    FJ）広野     性能改善: アンロードの参照先スクリプト変更にともなう修正
#	v4.02       ：2013/04/06    FJ) 小柴    【IT1-2013-0000858】請求前月データと請求契約インターフェースを取得するように修正
#	v5.00       ：2013/06/27 	FJ）後藤    【ST4-2013-0000479】nkf除去対応
#	v5.01       ：2013/08/09	FJ) 吉田    【IT1-2013-0001571】ログ出力不具合対応
#	v5.02       ：2013/10/30	FJ) 伊藤    【OM-2013-0003944】入力ファイル変更に伴うソート再構成の修正
#	v5.03       ：2013/11/06	FJ) 伊藤    【OM-2013-0003870】JAVA入力への債権額、請求額への修正に伴う処理の追加。
#	v5.04       ：2013/11/20	FJ) 菅原    【OM-2013-0004389】前月請求内訳情報に前受金充当額および未収額を紐付ける
#	v34.00      ：2017/09/14	FJ) 清原    【ANK-3210-00-00】【eo電気】電気単独対応（STEP3）
#	v57.00      ：2022/02/24	FJ) 麻生    【ANK-3943-00-00】有効性NG時のインフォメーションコード追加
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
##############################################################
[ $# -eq 2 ] &&TAJUKIDO="_$2"

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

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

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

#
#--- ファイル定義
#
#--- 入力ファイル
INFILE_CHIFM071=${MID_DIR_CH}/CHIFM071002.csv
INFILE_CHIFM071_WRK=${MID_DIR_CH}/${JOBNAME}_CHIFM071_UNLOADER_WK_1$TAJUKIDO.csv
#v34.00 Add Start
INFILE_CHIFM286=${MID_DIR_CH}/CHIFM286001.csv
#v34.00 Add End
# v57.00 ANK-3943-00-00 ADD START
INFILE_CHIFM407=${MID_DIR_CH}/CHIFM407001.csv
# v57.00 ANK-3943-00-00 ADD END

#--- 出力ファイル
# v57.00 ANK-3943-00-00 MOD START
#OUTFILE=${MID_DIR_CH}/CHIFM171001.csv
#OUTFILE_WRK=${MID_DIR_CH}/${JOBNAME}_CHIFM171001_UNLOADER_WK_1$TAJUKIDO.csv
OUTFILE=${MID_DIR_CH}/CHIFM406001.csv
OUTFILE_WRK=${MID_DIR_CH}/${JOBNAME}_CHIFM406001_UNLOADER_WK_1$TAJUKIDO.csv
# v57.00 ANK-3943-00-00 MOD END

#--- 1.債権前月（CH_T_SAIKEN）
SQLFILE_CH0011_ZGT=${SQL_DIR}/CH_U_CH0011_05.sql
SQLFILE_CH0011_ZGT_WRK=${SQL_DIR}/${JOBNAME}_CH_U_CH0011_05_UNLOADER_WK_1$TAJUKIDO.sql

CSVFILE_CH0011_ZGT=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_05_UNLOADER_WK_1$TAJUKIDO.csv
CSVFILE_CH0011_ZGT_WRK=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_05_UNLOADER_WK_2$TAJUKIDO.csv

#--- 2.債権前々月（CH_T_SAIKEN）
SQLFILE_CH0011_ZZGT=${SQL_DIR}/CH_U_CH0011_06.sql
SQLFILE_CH0011_ZZGT_WRK=${SQL_DIR}/${JOBNAME}_CH_U_CH0011_06_UNLOADER_WK_1$TAJUKIDO.sql

CSVFILE_CH0011_ZZGT=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_06_UNLOADER_WK_1$TAJUKIDO.csv
CSVFILE_CH0011_ZZGT_WRK=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_06_UNLOADER_WK_2$TAJUKIDO.csv

#--- 3.請求（CH_T_SEIKY）
CSVFILE_CH0051=${MID_DIR_CH}/${JOBNAME}_CHIFM185001_WK_1$TAJUKIDO.csv
CSVFILE_CH0051_WRK=${MID_DIR_CH}/CHIFM185001.csv

#--- 4.請求内訳（CH_T_SEIKY_UCWK）
INFILE_CHIFM182_T=${MID_DIR_CH}/CHIFM182003.csv
INFILE_CHIFM182_Z=${MID_DIR_CH}/CHIFM182002.csv
CSVFILE_CH0101=${MID_DIR_CH}/${JOBNAME}_CHIFM182_WK_1$TAJUKIDO.csv
CSVFILE_CH0101_2=${MID_DIR_CH}/${JOBNAME}_CHIFM182_WK_3$TAJUKIDO.csv
CSVFILE_CH0101_3=${MID_DIR_CH}/${JOBNAME}_CHIFM182_WK_4$TAJUKIDO.csv
CSVFILE_CH0101_4=${MID_DIR_CH}/${JOBNAME}_CHIFM182_WK_5$TAJUKIDO.csv
CSVFILE_CH0101_WRK=${MID_DIR_CH}/${JOBNAME}_CHIFM182_WK_2$TAJUKIDO.csv
CSVFILE_CH0101_WRK2=${MID_DIR_CH}/${JOBNAME}_CHIFM182_WK_6$TAJUKIDO.csv
CSVFILE_CH0101_WRK3=${MID_DIR_CH}/${JOBNAME}_CHIFM182_WK_7$TAJUKIDO.csv

SQLFILE_CH0401=${SQL_DIR}/CH_U_CH0401_06.sql
SQLFILE_CH0401_WRK=${SQL_DIR}/${JOBNAME}_CH_U_CH0401_06_UNLOADER_WK_1$TAJUKIDO.sql
SQLFILE_CH0401_WRK2=${SQL_DIR}/${JOBNAME}_CH_U_CH0401_06_UNLOADER_WK_2$TAJUKIDO.sql
SQLFILE_CH0401_WRK3=${SQL_DIR}/${JOBNAME}_CH_U_CH0401_06_UNLOADER_WK_3$TAJUKIDO.sql
SQLFILE_CH0401_WRK4=${SQL_DIR}/${JOBNAME}_CH_U_CH0401_06_UNLOADER_WK_4$TAJUKIDO.sql
CSVFILE_CH0401=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0401_06_UNLOADER_WK_1$TAJUKIDO.csv
CSVFILE_CH0401_2=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0401_06_UNLOADER_WK_2$TAJUKIDO.csv
CSVFILE_CH0401_3=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0401_06_UNLOADER_WK_3$TAJUKIDO.csv
CSVFILE_CH0401_4=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0401_06_UNLOADER_WK_4$TAJUKIDO.csv

DEFFILE_CH0101=${G_TOOLSH}/util/def/CH_CM_0071.def
DEFFILE_CH0101_WRK=${G_TOOLSH}/util/def/${JOBNAME}_CH_CM_0071_MATCHIG_WK_1$TAJUKIDO.def
DEFFILE_CH0101_WRK2=${G_TOOLSH}/util/def/${JOBNAME}_CH_CM_0071_MATCHIG_WK_2$TAJUKIDO.def
DEFFILE_CH0101_WRK3=${G_TOOLSH}/util/def/${JOBNAME}_CH_CM_0071_MATCHIG_WK_3$TAJUKIDO.def
DEFFILE_CH0101_WRK4=${G_TOOLSH}/util/def/${JOBNAME}_CH_CM_0071_MATCHIG_WK_4$TAJUKIDO.def

#--- 5.請求抑止（KK_T_SEIKY_YOKSI）
SQLFILE_KK0541=${SQL_DIR}/CH_U_KK0541_02.sql
SQLFILE_KK0541_WRK=${SQL_DIR}/${JOBNAME}_CH_U_KK0541_02_UNLOADER_WK_1$TAJUKIDO.sql

CSVFILE_KK0541=${MID_DIR_CH}/${JOBNAME}_CH_U_KK0541_02_UNLOADER_WK_1$TAJUKIDO.csv
CSVFILE_KK0541_WRK=${MID_DIR_CH}/${JOBNAME}_CH_U_KK0541_02_UNLOADER_WK_2$TAJUKIDO.csv

#--- 6.請求前月(CH_T_SEIKY)
CSVFILE_CH0051_ZGT=${MID_DIR_CH}/${JOBNAME}_CHIFM184002$TAJUKIDO.csv
CSVFILE_CH0051_ZGT_WRK=${MID_DIR_CH}/CHIFM184002.csv
CSVFILE_CH0051_ZGT_WRK2=${MID_DIR_CH}/${JOBNAME}_CHIFM184002_WRK$TAJUKIDO.csv

#--- 7.請求インターフェース(CHIFI001)
CSVFILE_CHIFI001=${MID_DIR_CH}/${JOBNAME}_CHIFI001001$TAJUKIDO.csv
CSVFILE_CHIFI001_WRK=${SEND_DIR}/CHIFI001001.csv
CSVFILE_CHIFI001_WRK2=${MID_DIR_CH}/${JOBNAME}_CHIFI001001_WRK$TAJUKIDO.csv

#--- 8.請求(CH_T_SEIKY)
CSVFILE_CH0051_2=${MID_DIR_CH}/${JOBNAME}_CHIFM184001$TAJUKIDO.csv
CSVFILE_CH0051_2_WRK=${MID_DIR_CH}/CHIFM184001.csv
CSVFILE_CH0051_2_WRK2=${MID_DIR_CH}/${JOBNAME}_CHIFM184001_WRK$TAJUKIDO.csv

#--- 請求書発行判断入力データ
DEFFILE=${G_TOOLSH}/util/def/CH_CM_0024.def
DEFFILE_WRK=${G_TOOLSH}/util/def/${JOBNAME}_CH_CM_0024_MATCHIG_WK_1$TAJUKIDO.def

#- 請求年月取得
EVENT_CD="04"
. EO3SEIKYYM2.sh ${EVENT_CD} ${RSLT_OPEDATE} ${JOBNAME}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " EO3SEIKYYM2 Error($EO3SEIKYYM2:rc=$rc) " 
    echo $JOBNAME " EO3SEIKYYM2 Error($EO3SEIKYYM2:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
#--- 当月取得
TOGETU=${SEIKY_YM}
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
#--- 前々月取得
if [ $ZENGETU_M -eq 1 ];
then
  ZENZENGETU_Y=`expr $ZENGETU_Y - 1`
  ZENZENGETU_M=12
else
  ZENZENGETU_Y=$ZENGETU_Y
  ZENZENGETU_M=`expr $ZENGETU_M - 1`
fi
if [ $ZENZENGETU_M -lt 10 ];
then
  ZENZENGETU="$ZENZENGETU_Y"0"$ZENZENGETU_M"
else
  ZENZENGETU="$ZENZENGETU_Y$ZENZENGETU_M"
fi
#--- 機能識別コード
WORK_PARAM_ID="CH_WKS_SKS_DATA_MAKE"
WORK_PARAM_ID2="CH_WKS_SEIKY_AMNT"
WORK_PARAM_ID3="CH_WKS_MAEUK_JT_SIKY"
WORK_PARAM_ID4="CH_WKS_MI_GSAN_SIKY"
SYS_CD="CH"
CHSHT_CHG_CD="1"

##############################################################

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

P1="OPD=,"
P2="SVCCTL=JBSbatMultiServiceControl,"
P3="JOB=EO60301G0J0,"
# v57.00 ANK-3943-00-00 MOD START
#P4="IND1=CHIFM171.def,"
P4="IND1=CHIFM406.def,"
# v57.00 ANK-3943-00-00 MOD END
P5="INF1=${OUTFILE},"
P6="IND2=,"
P7="INF2=,"
P8="OTD1=CHIFM086.def,"
P9="OTF1=${MID_DIR_CH}/CHIFM086001.csv,"
P10="OTD2=,"
P11="OTF2=,"
P12="TABLENAME=,"
P13="SQLKEY=,"
P14="SQLPARAM=,"
P15="ERRFILE=,"
P16="RECOVERY=,"
P17="BREAKPTN=,"
#v34.00 Mod Start
#P18="FREE=${CSVFILE_KK0541};CHIFM172.def"
P18="FREE=${CSVFILE_KK0541};CHIFM172.def;${INFILE_CHIFM286};CHIFM286.def"
#v34.00 Mod End
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

#
#--- 各ファイルの存在チェックを行う
#
if [ ! -r $INFILE_CHIFM071 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INFILE_CHIFM071}) "
    echo $JOBNAME " File is nonexist(${INFILE_CHIFM071}) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r $SQLFILE_CH0011_ZGT ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_CH0011_ZGT}) "
    echo $JOBNAME " File is nonexist(${SQLFILE_CH0011_ZGT}) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r $SQLFILE_CH0011_ZZGT ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_CH0011_ZZGT}) "
    echo $JOBNAME " File is nonexist(${SQLFILE_CH0011_ZZGT}) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r $SQLFILE_CH0051 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_CH0051}) "
    echo $JOBNAME " File is nonexist(${SQLFILE_CH0051}) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r $INFILE_CHIFM182_T ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INFILE_CHIFM182_T}) "
    echo $JOBNAME " File is nonexist(${INFILE_CHIFM182_T}) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r $INFILE_CHIFM182_Z ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INFILE_CHIFM182_Z}) "
    echo $JOBNAME " File is nonexist(${INFILE_CHIFM182_Z}) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r $SQLFILE_KK0541 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_KK0541}) "
    echo $JOBNAME " File is nonexist(${SQLFILE_KK0541}) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r $DEFFILE ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${DEFFILE}) "
    echo $JOBNAME " File is nonexist(${DEFFILE}) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r $DEFFILE_CH0101 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${DEFFILE_CH0101}) "
    echo $JOBNAME " File is nonexist(${DEFFILE_CH0101}) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r $CSVFILE_CH0051_ZGT_WRK ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${CSVFILE_CH0051_ZGT_WRK}) "
    echo $JOBNAME " File is nonexist(${CSVFILE_CH0051_ZGT_WRK}) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r $CSVFILE_CHIFI001_WRK ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${CSVFILE_CHIFI001_WRK}) "
    echo $JOBNAME " File is nonexist(${CSVFILE_CHIFI001_WRK}) "
    exit ${G_RTN_ERROR}
fi
if [ ! -r $CSVFILE_CH0051_2_WRK ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${CSVFILE_CH0051_2_WRK}) "
    echo $JOBNAME " File is nonexist(${CSVFILE_CH0051_2_WRK}) "
    exit ${G_RTN_ERROR}
fi
#v34.00 Add Start
if [ ! -r $INFILE_CHIFM286 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INFILE_CHIFM286}) "
    echo $JOBNAME " File is nonexist(${INFILE_CHIFM286}) "
    exit ${G_RTN_ERROR}
fi
#v34.00 Add End
# v57.00 ANK-3943-00-00 ADD START
if [ ! -r $INFILE_CHIFM407 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INFILE_CHIFM407}) "
    echo $JOBNAME " File is nonexist(${INFILE_CHIFM407}) "
    exit ${G_RTN_ERROR}
fi
# v57.00 ANK-3943-00-00 ADD END

#--- SQLパラメータセット
#CH_U_CH0011_05.sql
cp -f ${SQLFILE_CH0011_ZGT} ${SQLFILE_CH0011_ZGT_WRK}
sed -i -e "s/\:ZENGETU/'${ZENGETU}'/"  ${SQLFILE_CH0011_ZGT_WRK} 

#CH_U_CH0011_06.sql
cp -f ${SQLFILE_CH0011_ZZGT} ${SQLFILE_CH0011_ZZGT_WRK}
sed -i -e "s/\:ZENZENGETU/'${ZENZENGETU}'/"  ${SQLFILE_CH0011_ZZGT_WRK} 

#CH_U_CH0401_06.sql
cp -f ${SQLFILE_CH0401} ${SQLFILE_CH0401_WRK}
sed -i -e "s/\:WORK_PARAM_ID/'${WORK_PARAM_ID}'/"  ${SQLFILE_CH0401_WRK} 
sed -i -e "s/\:OPEDATE/'${RSLT_OPEDATE}'/"         ${SQLFILE_CH0401_WRK} 
sed -i -e "s/\:SYS_CD/'${SYS_CD}'/"                ${SQLFILE_CH0401_WRK} 
sed -i -e "s/\:CHSHT_CHG_CD/'${CHSHT_CHG_CD}'/"    ${SQLFILE_CH0401_WRK} 

cp -f ${SQLFILE_CH0401} ${SQLFILE_CH0401_WRK2}
sed -i -e "s/\:WORK_PARAM_ID/'${WORK_PARAM_ID2}'/" ${SQLFILE_CH0401_WRK2} 
sed -i -e "s/\:OPEDATE/'${RSLT_OPEDATE}'/"         ${SQLFILE_CH0401_WRK2} 
sed -i -e "s/\:SYS_CD/'${SYS_CD}'/"                ${SQLFILE_CH0401_WRK2} 
sed -i -e "s/\:CHSHT_CHG_CD/'${CHSHT_CHG_CD}'/"    ${SQLFILE_CH0401_WRK2} 

cp -f ${SQLFILE_CH0401} ${SQLFILE_CH0401_WRK3}
sed -i -e "s/\:WORK_PARAM_ID/'${WORK_PARAM_ID3}'/" ${SQLFILE_CH0401_WRK3} 
sed -i -e "s/\:OPEDATE/'${RSLT_OPEDATE}'/"         ${SQLFILE_CH0401_WRK3} 
sed -i -e "s/\:SYS_CD/'${SYS_CD}'/"                ${SQLFILE_CH0401_WRK3} 
sed -i -e "s/\:CHSHT_CHG_CD/'${CHSHT_CHG_CD}'/"    ${SQLFILE_CH0401_WRK3} 

cp -f ${SQLFILE_CH0401} ${SQLFILE_CH0401_WRK4}
sed -i -e "s/\:WORK_PARAM_ID/'${WORK_PARAM_ID4}'/" ${SQLFILE_CH0401_WRK4} 
sed -i -e "s/\:OPEDATE/'${RSLT_OPEDATE}'/"         ${SQLFILE_CH0401_WRK4} 
sed -i -e "s/\:SYS_CD/'${SYS_CD}'/"                ${SQLFILE_CH0401_WRK4} 
sed -i -e "s/\:CHSHT_CHG_CD/'${CHSHT_CHG_CD}'/"    ${SQLFILE_CH0401_WRK4} 

#CH_CM_0071.def
cp -f ${DEFFILE_CH0101} ${DEFFILE_CH0101_WRK}
sed -i -e "s%\:CH0101%${CSVFILE_CH0101_WRK}%"      ${DEFFILE_CH0101_WRK} 
sed -i -e "s%\:CH0401%${CSVFILE_CH0401}%"          ${DEFFILE_CH0101_WRK} 

cp -f ${DEFFILE_CH0101} ${DEFFILE_CH0101_WRK2}
sed -i -e "s%\:CH0101%${CSVFILE_CH0101_WRK}%"      ${DEFFILE_CH0101_WRK2} 
sed -i -e "s%\:CH0401%${CSVFILE_CH0401_2}%"        ${DEFFILE_CH0101_WRK2} 

cp -f ${DEFFILE_CH0101} ${DEFFILE_CH0101_WRK3}
sed -i -e "s%\:CH0101%${CSVFILE_CH0101_WRK2}%"     ${DEFFILE_CH0101_WRK3} 
sed -i -e "s%\:CH0401%${CSVFILE_CH0401_3}%"        ${DEFFILE_CH0101_WRK3} 

cp -f ${DEFFILE_CH0101} ${DEFFILE_CH0101_WRK4}
sed -i -e "s%\:CH0101%${CSVFILE_CH0101_WRK2}%"     ${DEFFILE_CH0101_WRK4} 
sed -i -e "s%\:CH0401%${CSVFILE_CH0401_4}%"        ${DEFFILE_CH0101_WRK4} 

#CH_U_KK0541_02.sql
cp -f ${SQLFILE_KK0541} ${SQLFILE_KK0541_WRK}

#CH_CM_0024.def
cp -f ${DEFFILE} ${DEFFILE_WRK}
sed -i -e "s%\:INFILE_CHIFM071%${INFILE_CHIFM071_WRK}%"      ${DEFFILE_WRK} 
sed -i -e "s%\:CSVFILE_CH0011_ZGT%${CSVFILE_CH0011_ZGT}%"    ${DEFFILE_WRK} 
sed -i -e "s%\:CSVFILE_CH0011_ZZGT%${CSVFILE_CH0011_ZZGT}%"  ${DEFFILE_WRK} 
sed -i -e "s%\:CSVFILE_CH0051%${CSVFILE_CH0051}%"            ${DEFFILE_WRK} 
sed -i -e "s%\:CSVFILE_CH0101_4%${CSVFILE_CH0101_4}%"        ${DEFFILE_WRK} 
sed -i -e "s%\:CSVFILE_CH0101_3%${CSVFILE_CH0101_3}%"        ${DEFFILE_WRK} 
sed -i -e "s%\:CSVFILE_CH0101_2%${CSVFILE_CH0101_2}%"        ${DEFFILE_WRK} 
sed -i -e "s%\:CSVFILE_CH0101%${CSVFILE_CH0101}%"            ${DEFFILE_WRK} 
sed -i -e "s%\:CSV_CH0051_ZGT%${CSVFILE_CH0051_ZGT}%"        ${DEFFILE_WRK} 
sed -i -e "s%\:CSVFILE_CHIFI001%${CSVFILE_CHIFI001}%"        ${DEFFILE_WRK} 
sed -i -e "s%\:CSV_CH0051_2%${CSVFILE_CH0051_2}%"            ${DEFFILE_WRK} 
# v57.00 ANK-3943-00-00 ADD START
sed -i -e "s%\:INFILE_CHIFM407%${INFILE_CHIFM407}%"          ${DEFFILE_WRK} 
# v57.00 ANK-3943-00-00 ADD END

#CHIFM071002.csv
#--- 改行コードをunix(LF)に変換する
tr -d "\r" < ${INFILE_CHIFM071} > ${INFILE_CHIFM071_WRK}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " tr Error 01($SVC tr:rc=$rc) "
    echo $JOBNAME " tr Error 01($SVC tr:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#CHIFI001001.csv
#--- 改行コードをunix(LF)に変換する
tr -d "\r" < ${CSVFILE_CHIFI001_WRK} > ${CSVFILE_CHIFI001_WRK2}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " tr Error02($SVC tr:rc=$rc) "
    echo $JOBNAME " tr Error02($SVC tr:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

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

#
#--- サブルーチン（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
}

#
#--- UNLOAD処理
#
#--- 1.債権前月（CH_T_SAIKEN）
(
UNLOAD ${SQLFILE_CH0011_ZGT_WRK} ${CSVFILE_CH0011_ZGT_WRK}
#--- 集約・ソートを行う
bsortex \
  -sort key="0.10asc" \
  -record recform=txtcsv \
  -input reclen=20 \
  file=${CSVFILE_CH0011_ZGT_WRK} \
  -summary suppress first \
  -output file=${CSVFILE_CH0011_ZGT}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort Error 01($SVC sort:rc=$rc) "
    echo $JOBNAME " sort Error 01($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
) &

#--- 2.債権前々月（CH_T_SAIKEN）
(
UNLOAD ${SQLFILE_CH0011_ZZGT_WRK} ${CSVFILE_CH0011_ZZGT_WRK}
#--- 集約・ソートを行う
bsortex \
  -sort key="0.10asc" \
  -record recform=txtcsv \
  -input reclen=20 \
  file=${CSVFILE_CH0011_ZZGT_WRK} \
  -summary suppress first \
  -output file=${CSVFILE_CH0011_ZZGT}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort Error 02($SVC sort:rc=$rc) "
    echo $JOBNAME " sort Error 02($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
) &

#--- 3.請求（CH_T_SEIKY）
(
#--- 集約・ソートを行う
bsortex \
  -sort key="0.10asc" \
  -record recform=txtcsv \
  -input reclen=20 \
  file=${CSVFILE_CH0051_WRK} \
  -summary suppress first \
  -output file=${CSVFILE_CH0051}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort Error 03($SVC sort:rc=$rc) "
    echo $JOBNAME " sort Error 03($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
) &

#--- 4.請求内訳（CH_T_SEIKY_UCWK）
(
#- 請求内訳とJOINする抽出変換を取得する
UNLOAD ${SQLFILE_CH0401_WRK} ${CSVFILE_CH0401} &
UNLOAD ${SQLFILE_CH0401_WRK2} ${CSVFILE_CH0401_2} &
UNLOAD ${SQLFILE_CH0401_WRK3} ${CSVFILE_CH0401_3} &
UNLOAD ${SQLFILE_CH0401_WRK4} ${CSVFILE_CH0401_4} &

#- 請求内訳を必要な項目に絞る
(
bsortex \
  -copy \
  -record recform=txtcsv \
  -input reclen=200 \
  file=${INFILE_CHIFM182_T},${INFILE_CHIFM182_Z} \
  -output reconst=1.10,0.12,5.2,6.3,7.12,8.11,12.12 \
  file=${CSVFILE_CH0101_WRK}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort Error 04($SVC sort:rc=$rc) "
    echo $JOBNAME " sort Error 04($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
) 

(
bsortex \
  -copy \
  -record recform=txtcsv \
  -input reclen=200 \
  file=${INFILE_CHIFM182_Z} \
  -output reconst=1.10,0.12,5.2,6.3,7.12,8.11,12.12 \
  file=${CSVFILE_CH0101_WRK2}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort Error 05($SVC sort:rc=$rc) "
    echo $JOBNAME " sort Error 05($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
) 

wait

#MATCHING 
(
export ZTLQUOTES=''
export ZTLOUTFILE=${CSVFILE_CH0101}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEFFILE_CH0101_WRK}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " マッチング処理 Error 01($SVC ZTLOUTFILE:rc=$rc) "
    echo $JOBNAME " マッチング処理 Error 01($SVC ZTLOUTFILE:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
)

(
export ZTLQUOTES=''
export ZTLOUTFILE=${CSVFILE_CH0101_2}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEFFILE_CH0101_WRK2}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " マッチング処理 Error 02($SVC ZTLOUTFILE:rc=$rc) "
    echo $JOBNAME " マッチング処理 Error 02($SVC ZTLOUTFILE:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
)

(
export ZTLQUOTES=''
export ZTLOUTFILE=${CSVFILE_CH0101_3}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEFFILE_CH0101_WRK3}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " マッチング処理 Error 03($SVC ZTLOUTFILE:rc=$rc) "
    echo $JOBNAME " マッチング処理 Error 03($SVC ZTLOUTFILE:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
)

(
export ZTLQUOTES=''
export ZTLOUTFILE=${CSVFILE_CH0101_WRK3}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEFFILE_CH0101_WRK4}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " マッチング処理 Error 04($SVC ZTLOUTFILE:rc=$rc) "
    echo $JOBNAME " マッチング処理 Error 04($SVC ZTLOUTFILE:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
)

) &


#--- 5.請求抑止（KK_T_SEIKY_YOKSI）
(
UNLOAD ${SQLFILE_KK0541_WRK} ${CSVFILE_KK0541_WRK}
#--- ソートを行う
bsortex \
  -sort key="0.10asc,1.2asc" \
  -record recform=txtcsv \
  -input reclen=200 \
  file=${CSVFILE_KK0541_WRK} \
  -output file=${CSVFILE_KK0541}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort Error 05($SVC sort:rc=$rc) "
    echo $JOBNAME " sort Error 05($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
) &


#--- 6.請求前月(CH_T_SEIKY)
(
#--- 必要なデータのみ抽出を行う
bsortex \
  -copy \
  -record recform=txtcsv \
  -input reclen=1000 \
  file=${CSVFILE_CH0051_ZGT_WRK} \
  include="6.1asc.eq.'0'" \
  -output reconst=2.10,8.1,54.1 \
  file=${CSVFILE_CH0051_ZGT_WRK2}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort Error 06($SVC sort:rc=$rc) "
    echo $JOBNAME " sort Error 06($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#--- 集約・ソートを行う
bsortex \
  -sort key="0.10asc" \
  -record recform=txtcsv \
  -input reclen=30 \
  file=${CSVFILE_CH0051_ZGT_WRK2} \
  -summary suppress first \
  -output file=${CSVFILE_CH0051_ZGT}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort Error 07($SVC sort:rc=$rc) "
    echo $JOBNAME " sort Error 07($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
)&

#--- 7.請求インターフェース(CHIFI001)
(
#--- 必要なデータのみ抽出を行う
bsortex \
  -copy \
  -record recform=txtcsv \
  -input reclen=1000 \
  file=${CSVFILE_CHIFI001_WRK2} \
  -output reconst=0.10,33.3,52.8 \
  file=${CSVFILE_CHIFI001}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort Error 08($SVC sort:rc=$rc) "
    echo $JOBNAME " sort Error 08($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
)&

#--- 8.請求(CH_T_SEIKY)
(
#--- 必要なデータのみ抽出を行う
bsortex \
  -copy \
  -record recform=txtcsv \
  -input reclen=2700 \
  file=${CSVFILE_CH0051_2_WRK} \
  -output reconst=2.10,55.1 \
  file=${CSVFILE_CH0051_2_WRK2}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort Error 09($SVC sort:rc=$rc) "
    echo $JOBNAME " sort Error 09($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#--- 集約・ソートを行う
bsortex \
  -sort key="0.10asc" \
  -record recform=txtcsv \
  -input reclen=15 \
  file=${CSVFILE_CH0051_2_WRK2} \
  -summary suppress first \
  -output file=${CSVFILE_CH0051_2}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort Error 10($SVC sort:rc=$rc) "
    echo $JOBNAME " sort Error 10($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
)&

# すべての抽出が終了するのを待つ
wait

#--- 請求内訳（未収額）データを請求番号で集約
bsortex \
  -sort key="0.12asc" \
  -record recform=txtcsv \
  -input reclen=125 \
  file=${CSVFILE_CH0101_WRK3} \
  -summary suppress first \
  -output file=${CSVFILE_CH0101_4}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort Error 11($SVC sort:rc=$rc) "
    echo $JOBNAME " sort Error 11($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

# マッチング処理→入力ファイルへ
(export ZTLQUOTES=''
export ZTLOUTFILE=${OUTFILE_WRK}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEFFILE_WRK})
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " マッチング処理 Error 05($SVC ZTLOUTFILE:rc=$rc) "
    echo $JOBNAME " マッチング処理 Error 05($SVC ZTLOUTFILE:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#--- ソートを行う
# v57.00 ANK-3943-00-00 MOD START
#bsortex \
#  -sort key="16.10asc,17.12asc" \
#  -record recform=txtcsv \
#  -input reclen=600 \
#  file=${OUTFILE_WRK} \
#  -output file=${OUTFILE} linedlmt=crlf
bsortex \
  -sort key="16.10asc,17.12asc" \
  -record recform=txtcsv \
  -input reclen=602 \
  file=${OUTFILE_WRK} \
  -output file=${OUTFILE} linedlmt=crlf
# v57.00 ANK-3943-00-00 MOD END
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort Error 12($SVC sort:rc=$rc) "
    echo $JOBNAME " sort Error 12($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#
#---ＡＰＬ起動
#

#共通javaVMオプション指定(ヒープサイズ4096M)
java ${JAVA_OPTION_4096} -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

exit_rc=$rc

#ワーク削除
if [ $WK_RM = "true" ]
then
    rm -f ${INFILE_CHIFM071_WRK}
    rm -f ${INFILE_CHIFM071_WRK2}
    rm -f ${OUTFILE_WRK}
    rm -f ${DEFFILE_WRK}
    rm -f ${CSVFILE_CH0011_ZGT_WRK}
    rm -f ${CSVFILE_CH0011_ZZGT_WRK}
    rm -f ${CSVFILE_CH0101_WRK}
    rm -f ${CSVFILE_CH0101_WRK2}
    rm -f ${CSVFILE_CH0101_WRK3}
    rm -f ${CSVFILE_KK0541_WRK}
    rm -f ${CSVFILE_CH0011_ZGT}
    rm -f ${CSVFILE_CH0011_ZZGT}
    rm -f ${CSVFILE_CH0101}
    rm -f ${CSVFILE_CH0101_2}
    rm -f ${CSVFILE_CH0101_3}
    rm -f ${CSVFILE_CH0101_4}
    rm -f ${CSVFILE_CH0051}
    rm -f ${CSVFILE_CH0401}
    rm -f ${CSVFILE_CH0401_2}
    rm -f ${CSVFILE_CH0401_3}
    rm -f ${CSVFILE_CH0401_4}
    rm -f ${CSVFILE_KK0541}
    rm -f ${SQLFILE_CH0011_ZGT_WRK}
    rm -f ${SQLFILE_CH0011_ZZGT_WRK}
    rm -f ${SQLFILE_CH0051_WRK}
    rm -f ${SQLFILE_CH0401_WRK}
    rm -f ${SQLFILE_CH0401_WRK2}
    rm -f ${SQLFILE_CH0401_WRK3}
    rm -f ${SQLFILE_CH0401_WRK4}
    rm -f ${SQLFILE_KK0541_WRK}
    rm -f ${DEFFILE_CH0101_WRK}
    rm -f ${DEFFILE_CH0101_WRK2}
    rm -f ${DEFFILE_CH0101_WRK3}
    rm -f ${DEFFILE_CH0101_WRK4}
    rm -f ${CSVFILE_CH0051_ZGT}
    rm -f ${CSVFILE_CH0051_ZGT_WRK2}
    rm -f ${CSVFILE_CHIFI001}
    rm -f ${CSVFILE_CHIFI001_WRK2}
    rm -f ${CSVFILE_CH0051_2}
    rm -f ${CSVFILE_CH0051_2_WRK2}
fi

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

exit $exit_rc


