NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

※作成済みのSPのTEMP表をWITH句にし、WITH(NOLOCK) も付与する

CREATE FUNCTION UF_GU51Z_DATA
(
@KAISHA_CD VARCHAR(3)
,@SCENARIO VARCHAR(15)
,@PERIODO VARCHAR(MAX) -- 対象とするピリオド(*は全て)
,@ENTITY VARCHAR(MAX) -- 対象とするEntity(*は全て)
,@SEP VARCHAR(1) -- @ENTITY、@PERIODOのセパレータ
)
--------------------------------------------------------------------
--戻り値(テーブル型)
--------------------------------------------------------------------
RETURNS @QUERY TABLE
(
C_KAISHA_CD VARCHAR(3) -- 会社コード
,C_DATA_SB VARCHAR(1) -- データ種別
,COD_SCENARIO VARCHAR(15) -- シナリオ
,COD_PERIODO VARCHAR(2) -- ピリオド
,COD_CONTO VARCHAR(30) -- 勘定科目コード
,C_GAIBU_JIGYO_KAIKEI_SOSIKI_CD VARCHAR(10) -- 事業会計組織CD(外部売上)
,C_NAIBU_JIGYO_KAIKEI_SOSIKI_CD VARCHAR(10) -- 事業会計組織CD(社内売上)
,C_URIAGE_KB VARCHAR(2) -- 売上種別
,C_URI_KATASHIKI_CD13 VARCHAR(13) -- 売上型式
,C_SYUKA_KATASHIKI_CD13 VARCHAR(13) -- 出荷型式
,C_MASTER_SYUBETSU VARCHAR(1) -- マスタ種別
,COD_DEST3 VARCHAR(30) -- 顧客コード
,C_TANTO_CD VARCHAR(5) -- 担当者CD
,C_CYUMON_NO VARCHAR(6) -- 注文NO
,C_SEIBAN VARCHAR(7) -- 製番
,C_KEIJY_JIGYO_KAIKEI_SOSIKI_CD VARCHAR(10) -- 事業会計組織CD(計上)
,C_GAI_SYOJI_JIGYO_CD VARCHAR(2) -- 商事事業CD
,C_SEKI_JI_JUSHO VARCHAR(5) -- 責任事業部(現住所)
,C_KATASHIKI_SB VARCHAR(1) -- 型式種別
,C_YUSHUTSU_KB VARCHAR(1) -- 国内/輸出区分
,C_OEM_KB VARCHAR(1) -- OEM区分
,N_URI_SU NUMERIC(27,9) -- 売上数
,N_GAKU NUMERIC(27,9) -- 金額
,N_URIGENKA_KIN NUMERIC(27,9) -- 売上原価額
,N_SYANAI_TORI_KIN NUMERIC(27,9) -- 社内取引金額
,N_KOTEIHI_GEN1 NUMERIC(27,9) -- 固定費(原1)
,N_KOTEIHI_GEN2 NUMERIC(27,9) -- 固定費(原2)
,N_KOTEIHI_GEN5 NUMERIC(27,9) -- 固定費(原5)
,C_IN_COD_AZIENDA VARCHAR(30) -- 作成元組織コード
,C_BUNSEKI_ZOKUSEI VARCHAR(2) -- 分析用属性
,C_PROJECT VARCHAR(255) -- プロジェクト
,C_POS_MAKER VARCHAR(255) -- POSメーカー
,C_GASSAN_KANRI_KATASHIKI VARCHAR(13) -- 合算管理型式
,C_TOKUCHU_IRAI_NO VARCHAR(11) -- 特注検討依頼No.
-- ,C_IN_DATA_KB VARCHAR(1) -- 作成元データ区分
)
AS
--------------------------------------------------------------------------------
-- プログラムID:UF_GU51Z_DATA
-- 概要:月次契約売上明細データより外部売上実績明細(月次契約売分)データを作成し
--    結果をテーブル型で返す
-- 作成日:2021/03/29
-- 作成者:ISID 田中(英)
-- 更新日:
-- 更新者:ISID 
-- 更新内容:
--------------------------------------------------------------------------------
BEGIN

--------------------------------------------------------------------
--定数宣言
--------------------------------------------------------------------
DECLARE @NUM_0 INTEGER = 0;
DECLARE @NOCUST VARCHAR(30) = 'NOCUSTOMER';
--------------------------------------------------------------------
--変数宣言
--------------------------------------------------------------------
DECLARE @LV_KIJUN_YMD VARCHAR(8); -- 基準日

--------------------------------------------------------------------
--メイン処理
--------------------------------------------------------------------
SET @LV_KIJUN_YMD = DBO.UF_GET_KIJUN_YMD(@SCENARIO);----■UF_GET_KIJUN_YMD:シナリオから基準日(YYYYMMDD)を返す

--月次契約売上明細データ(EBZB009)は現行で最新月度分データのみ保持のため、
--パラメータのシナリオ・ピリオドは未使用条件とするか?(確認必要)

WITH EBZB009 AS (
SELECT
AW.C_KAISHA_CD -- 会社コード
,DBO.UF_GET_SYSCON('Z06',AW.C_KAISHA_CD,'G','' ,'' ,'' ,'','H1' ) AS C_DATA_SB -- データ種別
,DBO.UF_CNV_YM2PER(AW.C_KEIYAKU_JISSEKI_DT,'ACT') AS COD_SCENARIO -- シナリオ
,DBO.UF_CNV_YM2PER(AW.C_KEIYAKU_JISSEKI_DT,'') AS COD_PERIODO -- ピリオド
---事業会計科目
,DBO.UF_GET_NAIGAI_KAMOKU(AW.C_KAISHA_CD,KM.C_KATASHIKI_SB,KJ.C_SEKI_JI_JUSHO,KM.C_SYOHIN_KANRI_ST,C_JIGYO_KAIKEI_SOSIKI_CD,'',@LV_KIJUN_YMD,'1',1) AS COD_CONTO
---事業会計組織CD(外部売上)
,DBO.UF_GET_NAIGAI_KAMOKU(AW.C_KAISHA_CD,KM.C_KATASHIKI_SB,KJ.C_SEKI_JI_JUSHO,KM.C_SYOHIN_KANRI_ST,C_JIGYO_KAIKEI_SOSIKI_CD,'',@LV_KIJUN_YMD,'1',3) AS C_GAIBU_JIGYO_KAIKEI_SOSIKI_CD
,CASE AW.C_GIJYUTU_URI_BUMON_ST
WHEN '11' THEN DBO.UF_GET_SYSCON('Z03',AW.C_KAISHA_CD,'G1','' ,'' ,'' ,'','H1' )
WHEN '51' THEN DBO.UF_GET_SYSCON('Z03',AW.C_KAISHA_CD,'G2','' ,'' ,'' ,'','H1' )
ELSE NULL
END AS C_URIAGE_KB -- 売上種別
,AW.C_KATASHIKI_CD13 AS C_URI_KATASHIKI_CD13 -- 売上型式
,DBO.UF_GET_SYSCON('Z04',AW.C_KAISHA_CD,'02','' ,'' ,'' ,'','H1' ) AS C_MASTER_SYUBETSU -- マスタ種別
,AW.N_DAISU AS N_URI_SU -- 売上数
,AW.N_URIAGEGAKU AS N_GAKU -- 金額

FROM AW_001_000065_000001 AW WITH(NOLOCK) -- 月次契約売上(按分)
LEFT JOIN AW_001_000025_000001 KM WITH(NOLOCK) -- 型式マスタ
ON KM.C_KAISHA_CD = AW.C_KAISHA_CD
AND KM.C_KATASHIKI_CD13 = AW.C_KATASHIKI_CD13
AND KM.C_DEL_FLG = '0'
LEFT JOIN AW_001_000029_000001 KJ WITH(NOLOCK) -- 型式責任事業部マスタ
ON KJ.C_KAISHA_CD = AW.C_KAISHA_CD
AND KJ.C_KATASHIKI_CD13 = AW.C_KATASHIKI_CD13
AND KJ.C_TEKIYO_FROM_DT <= @LV_KIJUN_YMD
AND KJ.C_TEKIYO_TO_DT >= @LV_KIJUN_YMD
AND KJ.C_DEL_FLG = '0'
WHERE AW.C_KAISHA_CD = @KAISHA_CD
--AND AW.COD_SCENARIO = @SCENARIO
--AND (AW.C_JIGYO_KAIKEI_SOSIKI_CD IN (SELECT VALUE FROM DBO.UF_STRING_SPLIT(@ENTITY ,@SEP)) OR @ENTITY = '*')
AND AW.C_GIJYUTU_URI_BUMON_ST IN ('11','51') -- '11'(計算機保守)または'51'(販売機保守)
)
INSERT INTO @QUERY
SELECT
C_KAISHA_CD -- 会社コード
,C_DATA_SB -- データ種別
,COD_SCENARIO -- シナリオ
,COD_PERIODO -- ピリオド
,COD_CONTO -- 事業会計科目
,C_GAIBU_JIGYO_KAIKEI_SOSIKI_CD -- 事業会計組織CD(外部売上)
,REPLICATE('#',10) -- 事業会計組織CD(社内売上)
,C_URIAGE_KB -- 売上種別
,C_URI_KATASHIKI_CD13 -- 売上型式
,C_URI_KATASHIKI_CD13 -- 出荷型式
,C_MASTER_SYUBETSU -- マスタ種別
,@NOCUST -- 顧客コード
,REPLICATE('#',5) -- 担当者CD
,REPLICATE('#',7) -- 注文NO
,REPLICATE('#',7) -- 製番
,C_GAIBU_JIGYO_KAIKEI_SOSIKI_CD -- 事業会計組織CD(計上)
,NULL -- 商事事業CD
,NULL -- 責任事業部(現住所)
,NULL -- 型式種別
,NULL -- 国内/輸出区分
,NULL -- OEM区分
,SUM(N_URI_SU) -- 売上数
,SUM(N_GAKU) -- 金額
,@NUM_0 -- 売上原価額
,@NUM_0 -- 社内取引金額
,@NUM_0 -- 固定費(原1)
,@NUM_0 -- 固定費(原2)
,@NUM_0 -- 固定費(原5)
,C_GAIBU_JIGYO_KAIKEI_SOSIKI_CD -- 作成元組織コード
,NULL -- 分析用属性
,NULL -- プロジェクト
,NULL -- POSメーカー
,NULL -- 合算管理型式
,NULL -- 特注検討依頼No.

FROM EBZB009
GROUP BY
C_KAISHA_CD
,C_DATA_SB
,COD_SCENARIO
,COD_PERIODO
,COD_CONTO
,C_GAIBU_JIGYO_KAIKEI_SOSIKI_CD
,C_URI_KATASHIKI_CD13
,C_MASTER_SYUBETSU;

RETURN;
END

     
 
what is notes.io
 

Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 12 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.