function newSndb01260Control(pageName, doctx="[data-doctx='sndb01260']") {
    let ctrl = new DatasetControl({
          doctx: doctx
        , prefix: "svbtc"
        , prefixName: "공시송달"
        , dataGetter: obj => obj["Info"]
        , keys: ["SVBTC_ID"]
        , urls: {
              create: "/create.do"
            , update: "/update.do"
        }
    });

    /**************************************************************************
     * DatasetControl Events
     **************************************************************************/
    // 현재 선택 자료 변경 이벤트
    ctrl.onCurrentChange = (item) => {
        if (!item) return;

        // 화면에 단속 Dataset 셋팅
        let formFields = new FimsFormFields(ctrl.selector("[name='frmEdit']"));
        formFields.set(ctrl, item);

        // 업무구분에 따른 URL 변경
        ctrl.urls.create = wctx.url(pageObject[pageName].prefixUrl + "/260/create.do");    // 등록
        ctrl.urls.update = wctx.url(pageObject[pageName].prefixUrl + "/260/update.do");    // 수정

        // 등록이라면..
        if (!item.data.SVBTC_ID) {
            let taskSeCd = item.data.TASK_SE_CD;
            let sndngSeCd = item.data.SNDNG_SE_CD;
            let ttlNm = "";

            // 공시송달일자
            $(ctrl.find("[name='svbtcYmd']")).datepicker("setDate", TODAY());
            $(ctrl.find("[name='svbtcEndYmd']")).datepicker("setDate", DateSupport.getAddDay(15));

            if (sndngSeCd) {
                ttlNm = pageObject[pageName].FIM047[sndngSeCd].value.replace("(개별)", "") + " 공시송달";
            } else {
                ttlNm = "공시송달";
            }
            $(ctrl.find("[name='ttlNm']")).val(ttlNm);
        }
    }

    // 저장 callback
    ctrl.onSave = (params, resp) => {
        let modalId = $(document.querySelector(doctx)).parents(".modal")[0].id;
        let dialogTitle = $("#" + modalId).find("h5.modal-title").html();
        let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);

        // 메시지 출력
        dialog.alert({
              content: showMessage
            , init: () => { AppSupport.setDialogZindex(); }
            , onOK: resp.saved ? undefined : () => { }
            , onClose: () => {
                if (resp.saved) { dialog.close(modalId); }
            }
        });
    }

    // 저장
    ctrl.save = (params) => {
        if (!params) return;

        let create = (!params.svbtcId);

        ajax.post({
              url: !create ? ctrl.urls.update : ctrl.urls.create
            , data: params || {}
            , success: (resp) => { ctrl.onSave(params, resp); }
        });
    }

    return ctrl;
}
