해당 질문 해결하였습니다
exe_query호출할때 EXE_QUERY1_1(v_gage_dd,c_row,C1.CUST_NM,CALC2); 로 하여 처리하였습니다
-------------------------------------------------
안녕하세요 신입 전산인입니다 고민을하다하다 안되서 질문을 드려봅니다..
for문에서 데이터가
-첫번째
c1거래처 ㈜대구상회 v_cust null
c1날짜 20151216 v_gage_dd null
-두번째
c1거래처 ㈜대구상회 v_cust ㈜대구상회
c1날짜 20151216 v_gage_dd 20151216
-세번째
c1거래처 ㈜대구상회 v_cust ㈜대구상회
c1날짜 20151216 v_gage_dd 20151216
-네번째
c1거래처 ㈜대구상회 v_cust ㈜대구상회
c1날짜 20151217 v_gage_dd 20151216
순으로 데이터가 셀렉이되는데요
아래쪽에 문제1이라고 적힌 부분에 t_date에 날짜가 20151216이들어가야하는데 if문때문에20151217이 들어가고있습니다
방법이있을까요.... 여러방법으로 해보고 있지만 잘안되네요....
IF NVL(V_GAGE_DD,'----') != C1.GAGE_DD OR NVL(V_CUST,'----') != C1.CUST_NM THEN
--1)일 계-------------------------------------------------------------------------------
--ALERT_MESSAGE(V_CUST||'-'||C1.CUST_NM);
IF V_GAGE_DD IS NOT NULL AND NVL(V_CUST,'----') = C1.CUST_NM THEN --일자틀릴경우에 일계하나더만들어주는 부분 일계중에 위부분임
SHEET0.SET_DATA(OBJ,01,C_ROW,'','일 계','');
SHEET0.SET_SELECT(OBJ,01,C_ROW,05,C_ROW);
SHEET0.SET_ALIGN(OBJ,7,0,2,0);
SHEET0.SET_SELECT(OBJ,01,C_ROW,12,C_ROW);
SHEET1.SET_BORDER(OBJ,1,-1,-1,-1,-1);
--alert_message(c_row);
CALC := 'SUM(F'||S_ROW||':F'||(C_ROW-1)||')';
SHEET0.SET_TOTAL(OBJ,6,C_ROW,10,C_ROW,CALC,'#,##0');
--EXE_QUERY1_1(C1.GAGE_DD2,c_row,C1.CUST_NM,CALC2); --17일짜 데이터가 들어감
EXE_QUERY1_1(T_DATE,c_row,C1.CUST_NM,CALC2); --문제1
-- SHEET0.SET_DATA(OBJ,11,C_ROW,CALC2,'',''); --감율
C_ROW := SHEET0.FADD_ROW(OBJ, C_ROW, 1);
--한페이지에 출력할 갯수를 초과한 경우 페이지 스킵처리함.
IF V_CNT != 0 AND (V_CNT MOD PAGE_COUNT) = 0 THEN
SHEET0.SET_PAGE(OBJ,C_ROW,'R'); --PAGE SKIP
END IF;
S_ROW := C_ROW; --일계 소계 시작행
END IF;
--2)일계,거래처 계-----------------------------------------------------------------------16일짜 데이터가 들어감
IF NVL(V_CUST,'----') != C1.CUST_NM THEN
IF V_CUST IS NOT NULL THEN
--1)일계
SHEET0.SET_DATA(OBJ,01,C_ROW,'','일 계1',''); ----------마지막 일계 만들어 주는 부분
SHEET0.SET_SELECT(OBJ,01,C_ROW,05,C_ROW);
SHEET0.SET_ALIGN(OBJ,7,0,2,0);
SHEET0.SET_SELECT(OBJ,01,C_ROW,12,C_ROW);
SHEET1.SET_BORDER(OBJ,1,-1,-1,-1,-1);
CALC := 'SUM(F'||S_ROW||':F'||(C_ROW-1)||')';
SHEET0.SET_TOTAL(OBJ,6,C_ROW,10,C_ROW,CALC,'#,##0');
--EXE_QUERY1_1_1(C1.GAGE_DD2,c_row,C1.CUST_NM,CALC2);
EXE_QUERY1_1_1(T_DATE,c_row,C1.CUST_NM,CALC2); --문제2
-- SHEET0.SET_DATA(OBJ,11,C_ROW,calc2,'',''); --총중량
--EXE_QUERY1_1(C1.GAGE_DD,C1.CUST_NM,C_ROW);
C_ROW := SHEET0.FADD_ROW(OBJ, C_ROW, 1);
--한페이지에 출력할 갯수를 초과한 경우 페이지 스킵처리함.
IF V_CNT != 0 AND (V_CNT MOD PAGE_COUNT) = 0 THEN
SHEET0.SET_PAGE(OBJ,C_ROW,'R'); --PAGE SKIP
END IF;
--PAGE SKIP
S_ROW := C_ROW; --일자계 시작행
S_ROW2 := C_ROW; --거래처계 시작행
V_CNT := C_ROW - S_ROW2; --거래처건수
END IF;
END IF;
SHEET0.SET_DATA(OBJ,01,C_ROW,'',C1.GAGE_DD,''); --계근일자
SHEET0.SET_DATA(OBJ,02,C_ROW,'',C1.CUST_NM,''); --거래처
END IF;
--EXE_QUERY1_1(C1.GAGE_DD2,c_row,C1.CUST_NM,CALC2);
W_SAVE := C1.SUB_RT;
SHEET0.SET_DATA(OBJ,03,C_ROW,'',C1.GAGE_SEQ,''); --번호
SHEET0.SET_DATA(OBJ,04,C_ROW,'',C1.CAR_NO,''); --차량번호
SHEET0.SET_DATA(OBJ,05,C_ROW,'',C1.ITEM_NM,''); --품명
SHEET0.SET_DATA(OBJ,06,C_ROW,C1.FULL_WGT,'',''); --총중량
SHEET0.SET_DATA(OBJ,07,C_ROW,C1.EMPTY_WGT,'',''); --공차중량
SHEET0.SET_DATA(OBJ,08,C_ROW,C1.REAL_WGT,'',''); --실중량
SHEET0.SET_DATA(OBJ,09,C_ROW,C1.SUB_QTY,'',''); --감량
SHEET0.SET_DATA(OBJ,10,C_ROW,C1.DEDUCT_WGT,'',''); --인수량
SHEET0.SET_DATA(OBJ,11,C_ROW,'',W_SAVE||'%',''); --감률
--SHEET0.SET_DATA(OBJ,09,C_ROW,C1.SUB_RT,'',''); --감률
--SHEET0.SET_DATA(OBJ,12,C_ROW,'',C1.IN_OUT_NM,''); --입출
V_CUST := C1.CUST_NM;
V_GAGE_DD := C1.GAGE_DD;
V_CNT := V_CNT + 1;
END LOOP;