좀 긴 오라클 쿼리인데... 누락된 우괄호 자꾸떠서.. 혹시 한번만 봐주실수 있을까요?ㅠㅠ 0

by 윤제 [SQL Query] [2022.07.23 16:11:41]


SELECT    MATYRC
       ,  MALNID
       ,  MAKCO
       ,  MAICUT
       ,  MAICU
       ,  MADCT
       ,  MADOC
       ,  MADGJ
       ,  MAAN8
       ,  MAALPH
       ,  MACRCD
       ,  MACRR
       ,  MAPYID
       ,  MAACR
       ,  MAPFAP
       ,  MAAA
       ,  MABCRC
       ,  MAAG
       ,  MAPAAP
       ,  MAAN01
       ,  MAATXA
       ,  MASTAM
       ,  MAK5CALNO
       ,  MAACPC
       ,  MAAN02
       ,  MADDJ
       ,  MADMTJ
       ,  MAAN04
       ,  MARMK
       ,  MADOCO
       ,  MADCTO
       ,  MAPOHC01
       ,  MAK5EDKY
       ,  MAPOST
       ,  MAEV01
       ,  MAMGRID
       ,  MAALPH2
       ,  MAUKID
       ,  MATXCT
       ,  MAPAYLNCD
       ,  MAURCD
       ,  MATORG
       ,  MAAN81
       ,  MAALPH1
  FROM   (  SELECT   CASE WHEN I9.I9KCO > ' '
                            THEN '01'
                          WHEN I5.I5KCO > ' '
                            THEN '02'
                            ELSE '  '
                     END                                                                                                                                AS MATYRC     -- 01:물품대, 02:부대비용
                   , I9.I9LNID                                                                                                                          AS MALNID     --
                   , RP.RPKCO                                                                                                                           AS MAKCO      -- 회사번호
                   , RP.RPICUT                                                                                                                          AS MAICUT     -- 배치유형
                   , RP.RPICU                                                                                                                           AS MAICU      -- 배치번호
                   , I9.I9DCT                                                                                                                           AS MADCT      -- 문서유형
                   , I9.I9DOC                                                                                                                           AS MADOC      -- 문서번호
                   , RP.RPDGJ                                                                                                                           AS MADGJ      -- GL일자
                   , RP.RPAN8                                                                                                                           AS MAAN8      -- 공급자주소번호
                   , DESC_AN8(RP.RPAN8)                                                                                                                 AS MAALPH     -- 공급자명
                   , I9.I9CRCD                                                                                                                          AS MACRCD     -- 화폐
                   , I9.I9CRR                                                                                                                           AS MACRR      -- 환율
                   , RN.RNPYID                                                                                                                          AS MAPYID     -- 지급ID
                   , CASE WHEN  RP.RPCRRM = 'D'
                            THEN NULL
                            ELSE I9ACR
                     END                                                                                                                                AS MAACR      -- 외화매입금액             : 인보이스테이블 AP발생액
                   , CASE WHEN RP.RPCRRM = 'D'
                            THEN NULL
                            ELSE (NVL(SUM(RN.RNPFAP), 0) * -1)
                     END                                                                                                                                AS MAPFAP     -- 지급금액                : 인보이스테이블 지급액
                   , CASE WHEN  RP.RPCRRM = 'D'
                            THEN I9.I9AG
                            ELSE I9.I9ACR
                     END                                                                                                                                AS MAAA        -- 매입금액             : 인보이스테이블 AP발생액
                   , RP.RPBCRC                                                                                                                          AS MABCRC      -- 기준통화
                   , CASE WHEN RP.RPCRRM = 'D'
                            THEN I9.I9AG
                            ELSE (I9.I9ACR) * I9.I9CRR
                     END                                                                                                                                AS MAAG       -- 총액
                   , CASE WHEN RP.RPCRRM = 'D'
                            THEN (NVL(SUM(RN.RNPAAP), 0) * -1)
                            ELSE NULL
                     END                                                                                                                                AS MAPAAP      -- 지급금액
                   , CASE WHEN RP.RPCRRM = 'D'
                            THEN I9.I9AEXP
                            ELSE I9.I9AEXP
                     END                                                                                                                                AS MAAN01      -- 총액              : 인보이스금액(AMOUNT)
                   , CASE WHEN  RP.RPCRRM = 'D'
                            THEN I9ATXA
                            ELSE I9CTXA
                     END                                                                                                                                AS MAATXA      -- 과세대상금액          : 인보이스테이블 AP공급가
                   , CASE WHEN  RP.RPCRRM = 'D'
                            THEN I9STAM
                            ELSE I9CTAM
                     END                                                                                                                                AS MASTAM       -- 부가세
                   , I9.I9K5CALNO                                                                                                                       AS MAK5CALNO    -- 정산찻수
                   , I9.I9ACPC * GET_DECIMAL('ACPC')                                                                                                    AS MAACPC       -- 지급율
                   , CASE WHEN PD.PDAITM IN ('G004')

                            THEN CASE WHEN I9K5CALNO = '0'

                                         THEN CASE WHEN RP.RPCRRM = 'D'

                                                     THEN  CASE WHEN ABS(ROUND(SUM(RN.RNPAAP) OVER (ORDER BY I9.I9LNID),2))= 0
                                                                  THEN I9.I9ATXA * I9.I9ACPC * GET_DECIMAL('ACPC') / 100 + I9.I9STAM
                                                                  ELSE ( (I9.I9AEXP) + SUM(RN.RNPAAP) OVER (ORDER BY I9.I9K5CALNO) )
                                                                       * (I9.I9ACPC * GET_DECIMAL('ACPC')/100)
                                                           END

                                                     ELSE  CASE WHEN ABS(ROUND(SUM(RN.RNPFAP * GET_DECIMAL('PFAP')) OVER (ORDER BY I9.I9LNID),2))= 0
                                                                  THEN ( I9.I9CTXA ) * ( I9.I9ACPC * GET_DECIMAL('ACPC') / 100) + I9.I9STAM
                                                                  ELSE ( (I9.I9AEXP)
                                                                        + (SUM(RN.RNPFAP) OVER (ORDER BY I9.I9K5CALNO) )
                                                                        * (I9.I9ACPC * GET_DECIMAL('ACPC')/100))
                                                           END
                                              END
                                         ELSE CASE WHEN RP.RPCRRM = 'D'

                                                    THEN ( (I9.I9AEXP) + SUM(RN.RNPAAP) OVER (ORDER BY I9.I9LNID) )
                                                         * (I9.I9ACPC * GET_DECIMAL('ACPC')/100)

                                                    ELSE ( (I9.I9AEXP)
                                                         + (SUM(RN.RNPFAP) OVER (ORDER BY I9.I9LNID) )
                                                         * (I9.I9ACPC * GET_DECIMAL('ACPC')/100))

                                             END
                                 END

                            ELSE CASE WHEN I9K5CALNO = '0'
                                        THEN ROUND(CASE WHEN RP.RPCRRM = 'D'
                                                          THEN I9AG
                                                          ELSE I9ACR
                                                   END
                                                   * I9ACPC * GET_DECIMAL('ACPC') / 100, 2
                                                   )
                                      WHEN I9K5CALNO = '1'
                                        THEN CASE WHEN RP.RPCRRM = 'D'

                                                    THEN CASE WHEN ABS(ROUND(SUM(NVL(RN.RNPAAP, 0 )) OVER (ORDER BY I9.I9LNID),2)) = 0
                                                                THEN
                                                                    (I9.I9AEXP) * (I9.I9ACPC * GET_DECIMAL('ACPC') / 100)
                                                                ELSE
                                                                    (I9.I9AEXP) + SUM(RN.RNPAAP) OVER (ORDER BY I9.I9LNID)
                                                         END


                                                    ELSE CASE WHEN ABS(ROUND(SUM(NVL(RN.RNPFAP, 0)) OVER (ORDER BY I9.I9LNID),2)) = 0
                                                                THEN
                                                                    (I9.I9AEXP)
                                                                    * (I9.I9ACPC * GET_DECIMAL('ACPC') / 100)
                                                                ELSE
                                                                     ROUND((I9.I9AEXP),2)
                                                                     + ROUND((SUM(RN.RNPFAP) OVER (ORDER BY I9.I9LNID) ), 2)
                                                         END

                                            END
                                        ELSE CASE WHEN RP.RPCRRM = 'D'

                                                    THEN ( (I9.I9AEXP) + SUM(RN.RNPAAP) OVER (ORDER BY I9.I9LNID) )
                                                         * (I9.I9ACPC * GET_DECIMAL('ACPC')/100)

                                                    ELSE ( (I9.I9AEXP)
                                                         + (SUM(RN.RNPFAP) OVER (ORDER BY I9.I9LNID) )
                                                         * (I9.I9ACPC * GET_DECIMAL('ACPC')/100))
                                             END
                                 END

                     END                                                                                                                                AS MAAN02     -- 지급예정금액
                   , RP.RPDDJ                                                                                                                           AS MADDJ
                   , TO_GDATE(RM.RMDMTJ)                                                                                                                AS MADMTJ     -- 지급일
                   , CASE WHEN RP.RPCRRM = 'D'
                            THEN RP.RPAG + SUM(NVL(RN.RNPAAP,0)) OVER (PARTITION BY I9.I9K5CALNO ORDER BY I9.I9K5CALNO)
                            ELSE RP.RPACR + SUM(NVL(RN.RNPFAP,0)) OVER (PARTITION BY I9.I9K5CALNO ORDER BY I9.I9K5CALNO)
                     END                                                                                                                                AS MAAN04     -- 남은금액
                   , I9.I9EXA                                                                                                                           AS MARMK      -- 비고
                   , I9.I9DOCO                                                                                                                          AS MADOCO     -- 오더번호
                   , I9.I9DCTO                                                                                                                          AS MADCTO     -- 오더유형
                   , PH.PHPOHC01                                                                                                                        AS MAPOHC01   -- 카테고리1
                   , NVL(TRIM(APM.MPK5EDKY),'-')                                                                                                        AS MAK5EDKY   -- 증빙번호
                   , RP.RPPOST                                                                                                                          AS MAPOST     -- 전기상태
                   , NVL(APR.APEV03, 'N')                                                                                                               AS MAEV01     -- 원료팀 팀장 승인
                   , (SELECT AH.AHMGRID
                        FROM F58PL03B AH
                       WHERE (AH.AHUKID, AH.AHLNID) = (  SELECT AH.AHUKID, MAX(AH.AHLNID)
                                                           FROM F58PL03B AH
                                                          WHERE AH.AHUKID = APR.APUKID
                                                            AND AH.AHUSRTYP = '02'
                                                       GROUP BY AH.AHUKID
                                                      )
                      )                                                                                                                                 AS MAMGRID     -- 승인자ID
                   , (SELECT DESC_AN8(AH.AHMGRID)
                        FROM F58PL03B AH
                       WHERE (AH.AHUKID, AH.AHLNID) = (  SELECT AH.AHUKID, MAX(AH.AHLNID)
                                                           FROM F58PL03B AH
                                                          WHERE AH.AHUKID = APR.APUKID
                                                            AND AH.AHUSRTYP = '02'
                                                       GROUP BY AH.AHUKID
                                                      )
                      )                                                                                                                                 AS MAALPH2     -- 승인자명
                   , NVL(APM.MPUKID, 0)                                                                                                                 AS MAUKID      -- 승인KEY
                   , PH.PHTXCT                                                                                                                          AS MATXCT      -- 계약번호
                   , (SELECT TRIM(C1.C1URRF)
                        FROM F554331 C1
                       WHERE C1.C1K5CTNO = PH.PHTXCT)                                                                                                   AS MAPAYLNCD
                   , (SELECT IM.IMURCD
                        FROM F554505 IM
                       WHERE TRIM(IM.IMPAYLNCD) = (SELECT TRIM(C1.C1URRF)
                                                     FROM F554331 C1
                                                    WHERE C1.C1K5CTNO = PH.PHTXCT
                                                  )
                      )                                                                                                                                 AS MAURCD
                   ,  RP.RPTORG                                                                                                                         AS MATORG
                   ,  (SELECT UL.ULAN8
                         FROM F0092 UL
                        WHERE RP.RPTORG = UL.ULUSER
                      )                                                                                                                                 AS MAAN81
                   ,  DESC_USER(RP.RPTORG)                                                                                                              AS MAALPH1
              FROM   F4301 PH
         LEFT JOIN   F554349 I9 ON PH.PHDOCO = I9.I9DOCO
         LEFT JOIN   F554207 I5 ON I9.I9DOC = I5.I5DOC
                               AND I9.I9DCT = I5.I5DCT
         LEFT JOIN   F0414 RN ON I9.I9DOC = RN.RNDOC
                             AND   RN.RNDCTM = 'PN'
         LEFT JOIN   F0413 RM ON RN.RNPYID = RM.RMPYID
         INNER JOIN  F0411 RP ON RP.RPDCT = I9.I9DCT
                            AND RP.RPDOC = I9.I9DOC
         INNER JOIN  F0101 AB ON RP.RPAN8 = AB.ABAN8
         LEFT JOIN   F58PLAPM APM ON I9.I9DOC = APM.MPDOC
                                 AND RP.RPDCT = APM.MPDCT
         LEFT JOIN   F58PL03A APR ON RP.RPICUT = APR.APICUT
                                 AND RP.RPICU = APR.APICU
         LEFT JOIN   F4311 PD ON PH.PHDOCO = PD.PDDOCO
             WHERE   1 = 1
               AND   I9DOCO = PH.PHDOCO
         --      AND   PH.PHDOCO = 257496    -- O3 / 한화 : 0차수만 존재하고 매입전표금액보다 적게 지급한 케이스[오더 : 257496]
         --      AND   PH.PHDOCO = 243810    -- O2 / 외화 : 1차만 매입잡고 바로 파이널 시킨 케이스[오더 : 243810]
         --      AND   PH.PHDOCO = 239580    -- O2 / 외화 : 1차때 인보이스 금액이 모두 지급됨 → 2차때 인보이스금액 * 지급율로 지급예정금액 산출되는 케이스[오더 : 239580]???
         --      AND   PH.PHDOCO = 237529    -- O2 / 외화 : 정산 찻수 M과 F가 순서 바뀌어 매입전표금액과 원료정보의 매입금액 불일치 케이스
         --      AND   PH.PHDOCO = 256420    -- 데이터가 안나오는 케이스 → 0차수 다음 바로 파이널[오더 : 256420]
         --      AND   PH.PHDOCO = 250026    -- O3 / 한화 : 금계좌[오더 : 250026]
         --      AND   PH.PHDOCO = 245482
         --      AND   PH.PHDOCO = 249777
         --      AND   PH.PHDOCO = 250026
         --      AND   PH.PHDOCO = 234354
         --      and   ph.phdoco = 236461
         --      AND   PH.PHDOCO = 248780
         --      AND   PH.PHDOCO = 236482
         --      AND   PH.PHDOCO = 248780
          GROUP BY   I9DOCO, I9DCTO, I9K5CALNO, I9DOC, RP.RPICU, I9AEXP, I9CRCD, I9AG, I9ACR, RN.RNPFAP
                   , I9ATXA, I9CTXA, I9STAM, I9CTAM, I9ACPC, I9AREC, I9LNID, I9AOPN, PH.PHPOHC01
                   , I9DCT, RPICUT, RPPOST, RPDGJ, I9EXA, RPKCO, I9AN8, I9CRCD, I9CRR, AB.ABALPH, RPBCRC
                   , NVL(TRIM(APM.MPK5EDKY),'-'), PH.PHTXCT, NVL(APR.APEV03, 'N'), I9.I9KCO, I5.I5KCO, RN.RNPYID
                   , APR.APUKID, APM.MPUKID, PD.PDAITM, RP.RPCRRM, RM.RMDMTJ, RN.RNPAAP, RP.RPATXA, RP.RPSTAM
                   , RP.RPTORG, RP.RPACR, RP.RPDDJ, RP.RPAAP, RP.RPAN8, RP.RPAG, RP.RPDOC
--          ORDER BY   I9.I9LNID, RP.RPDGJ

UNION ALL

         SELECT   '02'                                                                                                                               AS MATYRC    -- 부대비용
                , FI5.I5LNID                                                                                                                         AS MALNID    -- 라인번호
                , F91.GLKCO                                                                                                                          AS MAKCO     -- 회사번호
                , F91.GLICUT                                                                                                                         AS MAICUT    -- 배치유형
                , F91.GLICU                                                                                                                          AS MAICU     -- 배치번호
                , F91.GLDCT                                                                                                                          AS MADCT     -- 문서유형
                , F91.GLDOC                                                                                                                          AS MADOC     -- 문서번호
                , F91.GLDGJ                                                                                                                          AS MADGJ     -- GL일자
                , F91.GLAN8                                                                                                                          AS MAAN8     -- 공급자주소번호
                , DESC_AN8(F91.GLAN8)                                                                                                                AS MAAALPH  -- 공급자명
                , F91.GLCRCD                                                                                                                         AS MACRCD    -- 화폐
                , F91.GLCRR                                                                                                                          AS MACRR     -- 환율
                , RN.RNPYID                                                                                                                          AS MAPYID    -- 지급ID
                , CASE WHEN  F91.GLCRCD = 'KRW'
                         THEN (SELECT SUM(RPAG)
                                 FROM F0411
                                WHERE RPKCO = F91.GLKCO
                                  AND RPDCT = F91.GLDCT
                                  AND RPDOC = F91.GLDOC
                                  AND RPVOD = ' '
                              )
                         ELSE (SELECT SUM(RPACR) FROM F0411
                                WHERE RPKCO = F91.GLKCO
                                  AND RPDCT = F91.GLDCT
                                  AND RPDOC = F91.GLDOC
                                  AND RPVOD = ' '
                              ) * GET_DECIMAL('ACR')
                  END                                                                                                                                AS MAACR
                , CASE WHEN  F91.GLCRCD = 'KRW'
                         THEN (     SELECT SUM(F44.RNPAAP)  -- PFAP
                                      FROM F0414 F44
                                INNER JOIN F0413 F43  ON F43.RMPYID = F44.RNPYID
                                     WHERE RNKCO  = F91.GLKCO
                                       AND RNDCT  = F91.GLDCT
                                       AND RNDOC  = F91.GLDOC
                                       AND RNDCTM = 'PN'
                              )
                        ELSE (    SELECT SUM(F44.RNPFAP)
                                    FROM F0414 F44
                              INNER JOIN F0413 F43  ON F43.RMPYID = F44.RNPYID
                                   WHERE RNKCO  = F91.GLKCO
                                     AND RNDCT  = F91.GLDCT
                                     AND RNDOC  = F91.GLDOC
                                     AND RNDCTM = 'PN'
                             ) * GET_DECIMAL('PFAP')
                         END                                                                                                                         AS MAPFAP
               , CASE WHEN  F91.GLCRCD = 'KRW'
                         THEN (SELECT SUM(RPAG)
                                 FROM F0411
                                WHERE RPKCO = F91.GLKCO
                                  AND RPDCT = F91.GLDCT
                                  AND RPDOC = F91.GLDOC
                                  AND RPVOD = ' '
                              )
                         ELSE (SELECT SUM(RPACR) FROM F0411
                                WHERE RPKCO = F91.GLKCO
                                  AND RPDCT = F91.GLDCT
                                  AND RPDOC = F91.GLDOC
                                  AND RPVOD = ' '
                              ) * GET_DECIMAL('ACR')
                 END                                                                                                                                 AS MAAA
               , F91.GLBCRC                                                                                                                          AS MABCRC    -- 기준통화
               , CASE WHEN F91.GLCRCD = 'KRW'
                        THEN (SELECT SUM(RPAG)
                                 FROM F0411
                                WHERE RPKCO = F91.GLKCO
                                  AND RPDCT = F91.GLDCT
                                  AND RPDOC = F91.GLDOC
                                  AND RPVOD = ' '
                              )
                        ELSE (SELECT SUM(RPACR) FROM F0411
                                WHERE RPKCO = F91.GLKCO
                                  AND RPDCT = F91.GLDCT
                                  AND RPDOC = F91.GLDOC
                                  AND RPVOD = ' '
                              ) * GET_DECIMAL('ACR') * F91.GLCRR
                 END                                                                                                                                 AS MAAG
               , (SELECT MAX(F43.RMPAAP)  -- PFAP
                       FROM      F0414 F44
                      INNER JOIN F0413 F43  ON F43.RMPYID = F44.RNPYID
                      WHERE RNKCO  = F91.GLKCO
                        AND RNDCT  = F91.GLDCT
                        AND RNDOC  = F91.GLDOC
                        AND RNDCTM = 'PN')                                                                                                           AS MAPAAP    -- 원화_지급금액
               , CAST(0 AS NUMBER)                                                                                                                   AS MAAN01
               , CASE WHEN  F91.GLCRCD = 'KRW'
                         THEN (SELECT SUM(CASE WHEN F41.RPEXR1 IN('V1', 'V2', 'V9', 'V0') -- 과세, 불공제, 과세-교부면제, 영세
                                                 THEN F41.RPATXA
                                               WHEN F41.RPEXR1 IN('E9')
                                                 THEN F41.RPATXN
                                                 ELSE F41.RPATXA+F41.RPATXN
                                          END
                                         )
                                 FROM F0411    F41
                                WHERE RPKCO = F91.GLKCO
                                  AND RPDCT = F91.GLDCT
                                  AND RPDOC = F91.GLDOC
                                  AND RPVOD = ' ')
                        ELSE (SELECT SUM(CASE WHEN F41.RPEXR1 IN('V1', 'V2', 'V9', 'V0') -- 과세, 불공제, 과세-교부면제, 영세
                                                THEN F41.RPCTXA
                                              WHEN F41.RPEXR1 IN('E9')
                                                THEN F41.RPCTXN
                                                ELSE F41.RPCTXA + F41.RPCTXN
                                         END
                                        )
                                FROM F0411    F41
                               WHERE RPKCO = F91.GLKCO
                                 AND RPDCT = F91.GLDCT
                                 AND RPDOC = F91.GLDOC
                                 AND RPVOD = ' '
                             ) * GET_DECIMAL('CTXA')
  
                  END                                                                                                                                AS MAATXA
                , CASE WHEN  F91.GLCRCD = 'KRW'
                         THEN (SELECT SUM(F41.RPSTAM)
                                 FROM F0411    F41
                                WHERE RPKCO = F91.GLKCO
                                  AND RPDCT = F91.GLDCT
                                  AND RPDOC = F91.GLDOC
                                   AND RPVOD = ' '
                              )
                         ELSE (SELECT SUM(F41.RPCTAM)
                                 FROM F0411    F41
                                WHERE RPKCO = F91.GLKCO
                                  AND RPDCT = F91.GLDCT
                                  AND RPDOC = F91.GLDOC
                                   AND RPVOD = ' '
                              ) * GET_DECIMAL('CTAM')
                  END                                                                                                                                AS MASTAM
               , CAST('' AS NCHAR(1))                                                                                                                AS MAK5CALNO -- 정산차수
               , CAST(100 AS NUMBER)                                                                                                                 AS MAACPC    -- 지급율
               , CAST(0 AS NUMBER)                                                                                                                   AS MAAN02    --
               , CAST(0 AS NUMBER)                                                                                                                   AS MADDJ
               , (    SELECT TO_GDATE(MIN(F43.RMDMTJ))
                        FROM F0414 F44
                  INNER JOIN F0413 F43  ON F43.RMPYID = F44.RNPYID
                       WHERE RNKCO  = F91.GLKCO
                         AND RNDCT  = F91.GLDCT
                         AND RNDOC  = F91.GLDOC
                         AND RNDCTM = 'PN'
                 )                                                                                                                                   AS MADMTJ    -- 지급일자
               , CAST(0 AS NUMBER)                                                                                                                   AS MAAN04    --
               , (SELECT MAX(RPRMK) FROM F0411
                   WHERE RPKCO = F91.GLKCO
                     AND RPDCT = F91.GLDCT
                     AND RPDOC = F91.GLDOC
                     AND RPVOD = ' '
                 )                                                                                                                                   AS MARMK     -- 비고
  
               , TO_NUMBER(TRIM(F91.GLPO))                                                                                                           AS MADOCO    -- 오더번호
               , F91.GLPDCT                                                                                                                          AS MADCTO    -- 오더유형
               , (SELECT PH.PHPOHC01
                    FROM F4301 PH
                   WHERE PH.PHKCOO = F91.GLKCO
                     AND PH.PHDOCO = TO_NUMBER(TRIM(F91.GLPO))
                     AND PH.PHDCTO = F91.GLPDCT
                 )                                                                                                                                   AS MAPOHC01  -- 카테고리01
               , (SELECT NVL(TRIM(APM.MPK5EDKY),'-')
                    FROM F58PLAPM APM
                   WHERE F91.GLICU = APM.MPICU
                     AND F91.GLICUT = APM.MPICUT
                     AND F91.GLDOC = APM.MPDOC
                     AND F91.GLDCT = APM.MPDCT
                 )                                                                                                                                   AS MAK5EDKY  -- 증빙번호
               , (SELECT RP.RPPOST
                    FROM F0411 RP
                   WHERE RP.RPDCT = F91.GLDCT
                     AND RP.RPDOC = F91.GLDOC
                 )                                                                                                                                   AS MAPOST    -- 전기상태
               , NVL(APR.APEV03, 'N')                                                                                                                AS MAEV01    -- 원료팀 팀장 승인
               , (SELECT AH.AHMGRID
                    FROM F58PL03B AH
                   WHERE AH.AHICU = F91.GLICU
                   AND AH.AHUSRTYP = '02'
                 )                                                                                                                                   AS MAMAGRID  -- 승인자ID
               , (SELECT DESC_AN8(AH.AHMGRID)
                    FROM F58PL03B AH
                   WHERE AH.AHICU = F91.GLICU
                     AND AH.AHUSRTYP = '02'
                 )                                                                                                                                   AS MAALPH2   -- 승인자명
               , NVL(APM.MPUKID, 0)                                                                                                                  AS MAUKID    -- 승인KEY
               , (SELECT PH.PHTXCT FROM F4301 PH
                   WHERE PH.PHKCOO = F91.GLKCO
                     AND PH.PHDOCO = TO_NUMBER(TRIM(F91.GLPO))
                     AND PH.PHDCTO = F91.GLPDCT
                 )                                                                                                                                   AS MATXCT   -- 계약번호
               , (SELECT TRIM(C1.C1URRF)
                    FROM F554331 C1
                   WHERE (C1.C1K5CTNO) = (SELECT PH.PHTXCT
                                            FROM F4301 PH
                                           WHERE PH.PHKCOO = F91.GLKCO
                                             AND PH.PHDOCO = TO_NUMBER(TRIM(F91.GLPO))
                                             AND PH.PHDCTO = F91.GLPDCT)
                 )                                                                                                                                   AS MAPAYLNCD -- 계약유형
               , (SELECT IM.IMURCD
                    FROM F554505 IM
                   WHERE TRIM(IM.IMPAYLNCD) = (SELECT TRIM(C1.C1URRF)
                                                 FROM F554331 C1
                                                WHERE (C1.C1K5CTNO) = (SELECT PH.PHTXCT FROM F4301 PH
                                                                        WHERE PH.PHKCOO = F91.GLKCO
                                                                          AND PH.PHDOCO = TO_NUMBER(TRIM(F91.GLPO))
                                                                          AND PH.PHDCTO = F91.GLPDCT
                                                                       )
                                              )
                 )                                                                                                                                   AS MAURCD    -- 리포트유형
               , (SELECT RPTORG
                    FROM F0411
                   WHERE RPKCO = F91.GLKCO
                     AND RPDCT = F91.GLDCT
                     AND RPDOC = F91.GLDOC
                     AND RPVOD = ' '
                 )                                                                                                                                   AS MATORG    -- 거래요청자
               , (SELECT UL.ULAN8
                    FROM F0092 UL
                   WHERE UL.ULUSER = (SELECT RPTORG
                                        FROM F0411
                                       WHERE RPKCO = F91.GLKCO
                                         AND RPDCT = F91.GLDCT
                                         AND RPDOC = F91.GLDOC
                                         AND RPVOD = ' '
                                      )
                 )                                                                                                                                   AS MAAN81
               , (SELECT DESC_USER(RPTORG)
                    FROM F0411
                   WHERE RPKCO = F91.GLKCO
                     AND RPDCT = F91.GLDCT
                     AND RPDOC = F91.GLDOC
                     AND RPVOD = ' '
                 )                                                                                                                                   AS MAALPH1    -- 거래요청자
          FROM   F0911 F91
     LEFT JOIN   F554207 FI5  ON FI5.I5KCO  = F91.GLKCO   -- Invoice 등록 부대비용 (수입/수출)
                             AND FI5.I5DCT  = F91.GLDCT
                             AND FI5.I5DOC  = F91.GLDOC
                             AND FI5.I5ICU  = F91.GLICU
                             AND FI5.I5ICUT = F91.GLICUT
     LEFT JOIN   F0414 RN ON FI5.I5DOC  = RN.RNDOC
     LEFT JOIN   F58PLAPM APM ON F91.GLICU = APM.MPICU
                             AND F91.GLICUT = APM.MPICUT
                             AND F91.GLDOC = APM.MPDOC
                             AND F91.GLDCT = APM.MPDCT
     LEFT JOIN   F58PL03A APR ON F91.GLICUT = APR.APICUT
                             AND F91.GLICU   = APR.APICU
         WHERE   1 = 1
           AND   F91.GLLT   = 'AA'
--         AND   F91.GLOBJ = '11560 ' AND F91.GLSUB = '30      '
           AND   F91.GLDCT IN ( 'PD', 'PH', 'RC', 'RI', 'RM', 'TR')
--         AND   F91.GLDCT IN ( 'PD', 'PV', 'PH', 'RC', 'RI', 'RM', 'TR')
           AND   F91.GLRE   = ' '
           AND   F91.GLDGJ >= 119001
--         AND   F91.GLPO = '00237529'
--         AND   F91.GLPO = '00248780'
--         AND   F91.GLPO = '00243810'
           AND   NOT FI5.I5LNID IS NULL
      GROUP BY   F91.GLKCO                           -- 회사
               , F91.GLDCT                           -- 문서유형
               , F91.GLDOC                           -- 문서번호
               , F91.GLICUT                          -- 배치유형
               , F91.GLICU                           -- 배치번호
               , F91.GLPO                            -- 오더번호
               , TO_NUMBER(TRIM(F91.GLPO))           -- 오더번호
               , F91.GLPDCT                          -- 오더유형
               , F91.GLDGJ                           -- GL일자
               , F91.GLAN8                           -- 공급자 주소번호
               , F91.GLCRCD                          -- 통화
               , F91.GLCRR                           -- 환율
               , F91.GLBCRC                          -- 기준통화
               , F91.GLTORG                          -- 등록자(배치등록자)
               , F91.GLOBJ
               , F91.GLSUB
               , RN.RNPYID
               , FI5.I5LNID
               , NVL(APR.APEV03, 'N')
               , NVL(APM.MPUKID, 0)
        ) XYZ
  WHERE   1 = 1
    AND   XYZ.MADOCO = '243810'
ORDER BY  XYZ.MALNID;

by 우리집아찌 [2022.07.25 09:25:58]

저라면 안부터 바깥쪽 SQL를 구분해서 조금씩 실행해보겠습니다.

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입