自転車:スタッガード & アヘッド:街乗り自転車:(1) 構想

ミニベロ:BD-1:最初期型カンチブレーキ仕様に乗っていました。

私の主な行動範囲は、新宿・渋谷・池袋・秋葉原となっていて、これらの移動を快適にするために、以下のように手を加えていました。

上記により、ほぼ満足していたのですが、不満点もありました。

  • 長時間乗っていると手首が痛くなるのでハンドルを進行方向と平行に握りたい
    • フラットバーハンドルを使っていましたが、これをブルーホーンハンドルにしたい。ドロップハンドルでも進行方向と平行に握ることは出来るのですが、ブラケットポジションがブレーキングの容易性をスポイルしてしまうと感じます。また下ハンドルポジションは使わないので不要と判断しました。
    • BD-1にブルーホーンハンドルをつけることは可能なのですがなんとなく先送りにしていました。
  • 小口径ホイールからくる無理している感
    • 乗り心地の悪い小口径ホイールをサスペンションで抑え込んでいるのですが、フレームが複雑な構造となってしまい、言語化するのが難しいのですが「無理しているなぁ~」と感じてしまう。
    • 特に小口径~については、ミニベロというフォーマットが原因なので、BD-1に乗っている限り不満点は解消しないと思います。


そのため5年以上前から、自身が考える理想的な街乗り自転車を構想していました。次第に自転車としてのフォーマットが明確になりました。

  • スカートでも乗れる容易性(私はスカートを履きませんが...)
    • スタッガードフレーム:乗り降りが楽なのはストレスを著しく軽減します。ミキストは選択肢が少なくチャラいイメージで重くなる傾向があると判断しました。
  • 操作性と疲労軽減を両立
    • ブルーホーンバー&STI:ハンドルに体重をかけても手首が痛くならない。ハンドルを握る位置を変えることなく緊急ブレーキが掛けられて、シフトチェンジも出来る。
  • モダンな構造からくる上質な乗り心地
    • アヘッドステム:フロント周りの剛性が飛躍的に良くなり、モダンな雰囲気となる。
  • 自転車本来の走り
    • 700cホイール(叶いませんでしたが):無理している感じがしない。各種選択肢が多い。
  • 駆動系メカトラブルの回避
    • フロントシングル:街乗りではリアをワイドレシオにすればチェーンリングは1枚で十分足ります。


ベース車両としては、「スタッガード & アヘッド」


こんなことをのんびり何年も考え続けていていました。


キーワード:
スタッガードフレーム
スタッガード
アヘッドステム
アヘッド
ブルーホーンハンドル
ブルーホーンバー
ブルーホーン
デュアルコントロールレバー
STI
ローノーマル
ラピッドライズ
フロントシングル
ワイドレシオ

自転車:BD-1:現 Birdy:センタースタンド

BD-1 - Wikipediaの初期の初期型(最初からキャリパーブレーキVブレーキの台座が無いタイプ)に乗り続けて約20年になります。呆れるほど物持ちが良いですね。長い年月の中で不満点を一つずつ手を加えて解消してきました。呆れるほど諦めが悪いですね。BD-1シリーズですが、決定的なスタンドが無くてだましだまし乗っていました。たびたび風で倒れてしまっていました。普段乗りとして失格ですね。
息子の乗っているFUJI ACE 20は注文前に、以前から気になっていたダブルレッグセンタースタンドを取り付けられないかどうか、自転車屋さんと相談していました。そして、非常に快適に機能しています。そして自身のBD-1にも付けることが出来ないか半年以上インターネットをウロウロしていました。やっぱり諦めが悪いですね。

今回、取り付けに成功したので話題にしたいと思います。このブログは、調べればわかることは極力話題にしないことにしています。手前味噌ですが、おそらく自転車屋さんでは到底思いつかない方法です。他のBD-1シリーズにも応用が利くのではと思います。ちなみに、折り畳みは考慮していません。自身のBD-1は巨大な後ろカゴが付いているので、折り畳みが出来ません。

考え方としては、ボトムブラケットシェルにパイプクランプをかまして、汎用のダブルレッグセンタースタンドを取り付けられるようにしました。

購入部品は以下の通りです。(一部写真の縦横に誤りがあるのをお許しください)

今回以下のパイプクランプがポイントです。
Amazon | 直径1.75インチ 44mm対応パイプステー ブラケット クランプマウント マウントバー クリップ バンパーに挟み込み 穴あけ不要 固定 アルミ合金 取付簡単 金具バイク ワークライト フォグランプ ライトバー 作業灯用 2個セットSamman… | 車&バイク | 車&バイク
f:id:dai_h_73:20200927131701j:plain

ダブルレッグスタンドです。小口径に対応していればなんでも良いと思います。
Amazon | AKI WORLD(アキワールド) OPEN DOUBLE STAND BLACK SD-MS-001 | アキワールド(AKI WORLD) | キックスタンド
f:id:dai_h_73:20200927131756j:plain

現物合わせが必要だったので東急ハンズにて。
ちょうどいい長さが付属していませんでした。
・3/8インチ×38mm六角ボルト(上記ダブルレッグスタンドはインチネジでした。盲点でした)
以下は無くても良いかもしれませんが、念のため強度を上げるために追加しました。
・ステンレスM6×20mmキャップスクリュー
・ステンレスM6ナイロンナット(乗り物に着けるので念のため緩み防止)
・ステンレスのステー(長さ70mm)
f:id:dai_h_73:20200927131610j:plain

ネジの固着防止のため、定番の「デュラグリス」
f:id:dai_h_73:20200927131934j:plain

途中を省略してすみません。見たまんまなのでまあ解ると思います。

前から、
ボトムブラケットシェルの両端にパイプクランプを取り付けています。BD-1ボトムブラケットシェルの直径は約44~45mmでした。1.75インチが適合するようです。
f:id:dai_h_73:20200927154427j:plain

後ろから、
パイプクランプから伸びた2本のアームを挟み込むようにダブルレッグスタンドを取り付けます。
f:id:dai_h_73:20200927154351j:plain

下から、
手作り感はありますがガタガタせず、センタースタンドをかけた状態でも、チェーンホイール、クランク、ペダル等に当たることも無く、とても満足です。メンテナンス性大幅アップです。
f:id:dai_h_73:20200927154511j:plain

全体感はこんな感じ、
写真には写っていませんが後ろカゴがあるので後輪が地面に着いています。フロントタイヤの浮きは50mm程度で特に調整していません。
f:id:dai_h_73:20200927154611j:plain

キーワード:
自転車
ミニベロ
r&m
Riese und Müller
BD-1
Pacific Cycles
Birdy
スタンド
センタースタンド
ダブルレッグセンタースタンド



話変わって、
最近、ナイル・ロジャース - Wikipediaがマイブームなんです。いい年してある意味ますます迷宮の奥深くに迷い込んでますね。数十年前にアマチュアバンド活動をしていたころは、インギーイングヴェイ・マルムスティーン - Wikipediaとか凄いなぁ~っ(笑)て思っていました。若かったのである意味正統派ですね。先日のブログの、ダイアナロス、マドンナを手掛けていることで既に凄すぎですが、オーストラリアのバンドINXS - Wikipediaの初期かな?Original Sinを手掛けていると知って、Nileてばオールマイティーに凄いって思いました。一般的な代表曲は多分Need you tonightなんでしょうけれど、個人的にはOriginal sinだと思います。MVは東京で行われたそうでまだ開発前の晴海ふ頭だそうです。デコトラと暴走族と縁日出店、暴走族のバイクだけが直4アメリカンで実際と少し異なりますが、外国人が見たら興味深いものばかりだと思いました。縁日出店って改めて考えると、どこからともなく突然現れて、翌日の朝には何事もなかったように消えてなくなっているまぼろし?かげろう?そんな感じですよね。
www.youtube.com

オーストラリアでのINXSのステージがこれ。ものすごい熱気ですね。あと演奏がまじめ(笑)。カッコイイって言ったほうが良いですね。イケメンだし。
www.youtube.com

Nileのステージがこれ。真面目なんだけれど真面目に見えない。本当は音楽理論やウンチクの塊なのにどこまでもファンキーファニー。そしてある意味貴重なNileのシンプルなギタープレイに思います。INXSに合わせたのかな。INXS:少年、Nile:成熟した大人って感じがします。
www.youtube.com
www.youtube.com

Nileのギタープレイって、さらっと聞くとよくできたポップで、チョー適当に聞こえますよね。でもこれを見ると奥が深い、深すぎる。Jazz harmony~最高です。ピアノで作った曲をギターでプレイするって、素人ながら深みがあって良いなぁ~って思っていたけれど、実際は左手がこんがらがって難易度が一気に上がるんですよね~。逆もしかりだそうですが。少し話がそれますが、ジェフ・ダウンズ - Wikipediaスティーヴ・ハウ (ギタリスト) - Wikipediaのタッグも好きなのですが、これは別の機会に。
www.youtube.com

いろいろ書きましたが、Nileのファッション、ルックス、白いストラトが好きですね。ユニークで一貫性があってコピーは出来ても同じサウンドは到底出せない。最高です。

ヘッドホン:互換イヤーパッド比較

ヘッドホン沼に入るとヘッドホンの数が一つまた一つと増えますね。同一曲で聴き比べたりして楽しいですね。

数年経つと初期に入手したヘッドホンのイヤーパッドがボロボロになったりしますね。音は心地良くても気分が良いものではないですね。

ヘッドホンの数が多いと次々にイヤーパッドが劣化しますね。イヤーパッドを交換するにも数が多いのでメーカー純正イヤーパッドだと高額になってしまい購入を躊躇しますね。

ネット通販を見ていると互換イヤーパッドが10-50%と大幅に安価に売られていますね。助かるけれど品質が心配ですね。

っということで互換イヤーパッドをいくつか買って見ました。
手元に以下ヘッドホンがあり同一のイヤーパッドを2個ずつ2種類必要になりました。互換イヤーパッドにもブランドのようなものがあり品質が良さそうな以下2ブランドを比較しました。

Geekria
比較的よく見かけます。雰囲気がAnkerっぽくて何となく良さそうな感じがします。納期が早かったです。
f:id:dai_h_73:20200805223618j:plain

Chic Tuant
こちらもまあまあ見かけます。材質に「プロテインレザー」との記述があり期待出来そうな感じです。中国郵便だったので納期に数週間必要でした。
f:id:dai_h_73:20200805203657j:plain


MDR-Z1000互換イヤーパッド
今回の2つのブランド以外にも多数ありましたが、Sony純正イヤーパッドと形状が似ているものということで以下2点を選びました。結論からするとZ1000-G、Z1000-C共に違いが分かりませんでした。付属品やパッケージに差異がありますが、おそらく同一のものと思います。どちらも良く出来ています。装着感、音質共にSony純正と区別付きません。他に比較的話題に挙がるイヤーパッドの純正流用として、オーディオテクニカATH-WS1100のイヤーパッドがあります。こちらも実は試しました。振動版~外耳~鼓膜に囲まれた容積が大きく異なってしまうのか、低音に違和感がありました。個人的には受け入れがたいと思いました。
Z1000-G
https://www.amazon.co.jp/dp/B07VNVXTV7/
f:id:dai_h_73:20200805215516j:plain

Z1000-C
https://www.amazon.co.jp/dp/B07YSQQTTW/
f:id:dai_h_73:20200805215724j:plain

MDR-Z900HD互換イヤーパッド
こちら、Z900-G、Z900-Cに加えて参考として値段のみで購入したZ900-Tの3種類を比較しました。意外にも、Z900-G、Z900-Tが区別がつかず、Z900-Cは表面の合皮のしわの寄り方が他の2つと異なっていました。3種類とも良く出来ていました。
Z900-G
https://www.amazon.co.jp/dp/B00SIK6NIM/
f:id:dai_h_73:20200805215312j:plain

Z900-C
https://www.amazon.co.jp/dp/B0822BTK5J/
f:id:dai_h_73:20200805215853j:plain

参考 : Tinksky
値段の安さで選びました。申し訳ないのですが多少投げやり感をもって購入しました。
Z900-T
https://www.amazon.co.jp/dp/B00ZFFT1Y6/
f:id:dai_h_73:20200805220039j:plain



所感
Geekria、Chic Tuant共に基本的に販社と思いました。バックに製造メーカーがあるんだと思います。中国製品によくみられる垂直分業方式をとっていると思います。ただし今回挙げた2社は仕入れてそのまま販売するのではなく、付属品を付けて、特にGeekriaに関しては、Anker風のクールなパッケージと、日本国内に流通拠点を設けて、ひと手間かけることで、ユーザにとっての安心感を確保しているように思います。



結論(アフェリエイトはしていません)
Geekriaがひと手間も二手間もかけているにもかかわらず他の互換品と大きな金額差は無く、また納期も早いので、お勧めと思いました。



番外
GeekriaのMDR-Z1000互換イヤーパッドを、MDR-CD900stに装着してみました。低音の量感もきちんと確保できて、アラウンドイヤーとして装着感が良いです。もしかしたらこちらに乗り換えるかもしれません。MDR-Z1000イヤーパッドMDR-CD900stにほんの少しブカブカ(実用上問題無し)な感じで使用可能ですが、逆のMDR-CD900stイヤーパッドはMDR-Z1000には窮屈すぎて使用不可です。

もはや、私的Youtubeの備忘になっていますが...
やっぱり最近のブームは、Nile Rodgersなんです。
youtu.be
クオリティー高すぎです。なんというか、個性濃すぎの胡散臭いおじさんがたくさん歩き回っていて絵的に最高です。そして、音だけ聞くとクールです。クールすぎます。
他のミュージシャンのでも演奏も見ました。当たり前ですが演奏うまいけれど、なんかつまらない。やはり、Nile Rodgersはたのしいなぁ~。

以上

キーワード
イヤーパッド
互換イヤーパッド
MDR-Z1000
MDR-Z600
MDR-Z900
MDR-Z900HD
Geekria
Chic Tuant
MDR-CD900st

ABAP New open SQL:ACDOCAの日次BS勘定の残高取得

久しぶりの技術系の投稿です。
実はプロジェクトが変わりました。そして、念願(!??)のABAP CDS viewの実装の担当になりました。なのになぜ?ABAP New open SQLなのか?いろいろ実装してみたところ、トライ&エラーを繰り返すのはNew open SQLのほうがやりやすかったからです。
今回紹介するSELECT文は、ABAP CDS viewに移植可能なものとなっています。パフォーマンスについては未知数ですが、期待した動作をしています。流用するときはご一報ください。知的財産云々もありますが、パフォーマンスデータを共有したいのです。

紹介するプログラムは、以下項目を一覧取得します。
使用したSELECT文の機能要素は以下の通りです。
・WITH句による段階的ロジック
・集合関数:SUM()およびGROUP BYによる集計
・不等号条件によるテーブル自己結合
・HAVING句によるレコードフィルタ
・ORDER BY句による結果セットの並び替え
こんなところでしょうか...

なお、当プログラムは、答え合わせのために、前半はBS勘定の日次の合計金額を単純に出力していて、後半でBS勘定残高を取得しています。そして、パフォーマンスデータも取得できるようにしています。

検索項目
・台帳(必須項目) : 0L :リーディング元帳固定
・会社コード
・会計年度
・勘定コード(BS勘定)

一覧項目
・台帳
・会社コード
・会計年度
・転記日付
・勘定コード(BS勘定)
・会社通貨
・会社通貨の残高(BS残高)

参考1:
ACDOCAのBS残高を取得するには?
ACDOCAのBS残高は、会計年度が切り替わるタイミングで、転記日付初期値の期首残高レコードを作成します。そのため、転記日付2020-07-31時点のBS残高を取得しようとすると、会計年度の期首残高レコードと会計年度期首から転記日付2020-07-31の全ての仕訳明細の合計値を計算します。
従来のITABおよびABAPロジックによるループを使用した実装では、素のACDOCAのレコードを取得して、ループ処理の中で1件ずつ加算していくと思います。おそらくですがオンラインプログラムではパフォーマンスの問題で使い物にならないかもしれません。また、上手に実装しないとソースコードメンテナンスに耐えがたいプログラムになる可能性があります。

参考2:
ABAP CDS Viewの移植に関して。(私的感想)
もしかしたら、ここが最も価値ある情報かもしれません。無いかな。(笑)
実感としては、SAP標準のABAP CDS viewを使わないで開発するのは、非効率的と思いました。一方でSAP標準のABAP CDS viewを考慮した基本設計が出来る人材は稀有です。私が当機能をABAP CDS viewに移植するのに、ABAP CDS viewは都合5個作成しました。作成手順は愚直に1文字ずつSELECT文のコーディング作業となります。従来のITABおよびABAPロジックによるループを使用した実装よりはましですが、正直骨が折れました。
では、自身の中で何がベストかというと...HANA infomation viewをABAP CDS viewでラッピングする方法かなぁ~。パフォーマンスに関してはぶっちぎりで良いと思います。クライアントおよび権限実装についてはABAP CDS viewのラッピング部分で実装すれば良いと思います。Fiori like applicationや、BWを介したAnalysisOfficeへの展開も可能です。機能的には問題ないと思います。そして、HANA infomation viewのドラッグ&ドロップによる実装が群を抜いて効率が良いと思います。PoweruserによるEUCを意識しているので当然と言えば当然ですね。

少しプログラムを改変しました。(20200908)

REPORT Y_SQL_CONSOLE.

*-----------------------------------------------------------------------
* GLOBAL VARIABLE
*-----------------------------------------------------------------------
DATA GDF_SUBRC TYPE SY-SUBRC.

*-----------------------------------------------------------------------
* CONDITION VIEW
*-----------------------------------------------------------------------
DATA GDF_RBUKRS TYPE ACDOCA-RBUKRS.
TYPES GTR_RBUKRS LIKE RANGE OF GDF_RBUKRS.
SELECT-OPTIONS S_RBUKRS FOR GDF_RBUKRS.           "会社コード

DATA GDF_RACCT TYPE ACDOCA-RACCT.
TYPES GTR_RACCT LIKE RANGE OF GDF_RACCT.
SELECT-OPTIONS S_RACCT FOR GDF_RACCT.             "勘定コード

*-----------------------------------------------------------------------
* START-OF-SELECTION
*-----------------------------------------------------------------------
START-OF-SELECTION.
  PERFORM START_OF_SELECTION
    USING
      S_RBUKRS[]
      S_RACCT[]
    CHANGING
      GDF_SUBRC.

*-----------------------------------------------------------------------
* SUBROUTINE
*-----------------------------------------------------------------------
FORM START_OF_SELECTION
    USING
      PIR_RBUKRS TYPE GTR_RBUKRS
      PIR_RACCT TYPE GTR_RACCT
    CHANGING
      POF_SUBRC TYPE SY-SUBRC.
*-----------------------------------------------------------------------
* Please write the SQL statement here ☆
* Set the internal table to be stored to LDT_DATA ☆
* Inline definition of LDT_DATA is fun ☆
  SELECT
    FROM ACDOCA
    INNER JOIN SKA1
       ON SKA1~KTOPL = ACDOCA~KTOPL
      AND SKA1~SAKNR = ACDOCA~RACCT
      AND SKA1~XBILK = @ABAP_TRUE
    LEFT OUTER JOIN SKAT
       ON SKAT~SPRAS = @SY-LANGU
      AND SKAT~KTOPL = SKA1~KTOPL
      AND SKAT~SAKNR = SKA1~SAKNR
    FIELDS COUNT( * )
    WHERE ACDOCA~RLDNR = '0L'
      AND ACDOCA~RBUKRS IN @PIR_RBUKRS
      AND ACDOCA~RACCT IN @PIR_RACCT
    INTO @DATA(LDF_INPUT_RECORDS).

  SELECT
    FROM ACDOCA
    INNER JOIN SKA1
       ON SKA1~KTOPL = ACDOCA~KTOPL
      AND SKA1~SAKNR = ACDOCA~RACCT
      AND SKA1~XBILK = @ABAP_TRUE
    LEFT OUTER JOIN SKAT
       ON SKAT~SPRAS = @SY-LANGU
      AND SKAT~KTOPL = SKA1~KTOPL
      AND SKAT~SAKNR = SKA1~SAKNR
    FIELDS
      ACDOCA~RLDNR,                               "総勘定元帳の元帳
      ACDOCA~RBUKRS,                              "会社コード
      ACDOCA~GJAHR,                               "会計年度
      ACDOCA~BUDAT,                               "伝票の転記日付
      ACDOCA~RACCT,                               "勘定コード
      SKA1~XBILK,                                 "フラグ: 貸借対照表勘定
      SKAT~TXT20,
      ACDOCA~RHCUR,                               "会社コード通貨
      SUM( ACDOCA~HSL ) AS HSL                    "会社コード通貨での金額
    WHERE ACDOCA~RLDNR = '0L'
      AND ACDOCA~RBUKRS IN @PIR_RBUKRS
      AND ACDOCA~RACCT IN @PIR_RACCT
    GROUP BY
      ACDOCA~RLDNR,                               "総勘定元帳の元帳
      ACDOCA~RBUKRS,                              "会社コード
      ACDOCA~GJAHR,                               "会計年度
      ACDOCA~BUDAT,                               "伝票の転記日付
      ACDOCA~RACCT,                               "勘定コード
      SKA1~XBILK,                                 "フラグ: 貸借対照表勘定
      SKAT~TXT20,
      ACDOCA~RHCUR                               "会社コード通貨
    ORDER BY
      ACDOCA~RBUKRS,                              "会社コード
      ACDOCA~RACCT,                               "勘定コード
      ACDOCA~GJAHR,                               "会計年度
      ACDOCA~BUDAT                                "伝票の転記日付
    APPENDING TABLE @DATA(LDT_DATA) UP TO 10000 ROWS.

  APPEND INITIAL LINE TO LDT_DATA.
  APPEND INITIAL LINE TO LDT_DATA.
  APPEND INITIAL LINE TO LDT_DATA.

  DATA LDF_TIMESTAMP_START TYPE TIMESTAMPL.       "タイムスタンプデータ取得開始
  GET TIME STAMP FIELD LDF_TIMESTAMP_START.       "タイムスタンプデータ取得開始

  WITH
  +ACDOCA AS (
  SELECT
    FROM ACDOCA
    INNER JOIN SKA1
       ON SKA1~KTOPL = ACDOCA~KTOPL
      AND SKA1~SAKNR = ACDOCA~RACCT
      AND SKA1~XBILK = @ABAP_TRUE
    LEFT OUTER JOIN SKAT
       ON SKAT~SPRAS = @SY-LANGU
      AND SKAT~KTOPL = SKA1~KTOPL
      AND SKAT~SAKNR = SKA1~SAKNR
    FIELDS
      ACDOCA~RLDNR,                               "総勘定元帳の元帳
      ACDOCA~RBUKRS,                              "会社コード
      ACDOCA~GJAHR,                               "会計年度
      ACDOCA~BUDAT,                               "伝票の転記日付
      ACDOCA~RACCT,                               "勘定コード
      SKA1~XBILK,                                 "フラグ: 貸借対照表勘定
      SKAT~TXT20,
      ACDOCA~RHCUR,                               "会社コード通貨
      SUM( ACDOCA~HSL ) AS HSL                    "会社コード通貨での金額
    WHERE ACDOCA~RLDNR = '0L'
      AND ACDOCA~RBUKRS IN @PIR_RBUKRS
      AND ACDOCA~RACCT IN @PIR_RACCT
    GROUP BY
      ACDOCA~RLDNR,                               "総勘定元帳の元帳
      ACDOCA~RBUKRS,                              "会社コード
      ACDOCA~GJAHR,                               "会計年度
      ACDOCA~BUDAT,                               "伝票の転記日付
      ACDOCA~RACCT,                               "勘定コード
      SKA1~XBILK,                                 "フラグ: 貸借対照表勘定
      SKAT~TXT20,
      ACDOCA~RHCUR )                              "会社コード通貨
  SELECT
    FROM +ACDOCA AS ACDOCA0
    INNER JOIN +ACDOCA AS ACDOCA1
       ON ACDOCA1~RLDNR = ACDOCA0~RLDNR           "総勘定元帳の元帳
      AND ACDOCA1~RBUKRS = ACDOCA0~RBUKRS         "会社コード
      AND ACDOCA1~GJAHR = ACDOCA0~GJAHR           "会計年度
      AND ACDOCA1~BUDAT <= ACDOCA0~BUDAT          "伝票の転記日付
      AND ACDOCA1~RACCT = ACDOCA0~RACCT           "勘定コード
      AND ACDOCA1~RHCUR = ACDOCA0~RHCUR           "会社コード通貨
    FIELDS
      ACDOCA0~RLDNR,                               "総勘定元帳の元帳
      ACDOCA0~RBUKRS,                              "会社コード
      ACDOCA0~GJAHR,                               "会計年度
      ACDOCA0~BUDAT,                               "伝票の転記日付
      ACDOCA0~RACCT,                               "勘定コード
      ACDOCA0~XBILK,                                 "フラグ: 貸借対照表勘定
      ACDOCA0~TXT20,
      ACDOCA0~RHCUR,                               "会社コード通貨
      SUM( ACDOCA1~HSL ) AS HSL_SUM                "会社コード通貨での金額
    GROUP BY
      ACDOCA0~RLDNR,                               "総勘定元帳の元帳
      ACDOCA0~RBUKRS,                              "会社コード
      ACDOCA0~GJAHR,                               "会計年度
      ACDOCA0~BUDAT,                               "伝票の転記日付
      ACDOCA0~RACCT,                               "勘定コード
      ACDOCA0~XBILK,                                 "フラグ: 貸借対照表勘定
      ACDOCA0~TXT20,
      ACDOCA0~RHCUR                                "会社コード通貨
    HAVING ACDOCA0~BUDAT IS NOT INITIAL            "伝票の転記日付
    ORDER BY
      ACDOCA0~RBUKRS,                              "会社コード
      ACDOCA0~RACCT,                               "勘定コード
      ACDOCA0~GJAHR,                               "会計年度
      ACDOCA0~BUDAT                                "伝票の転記日付
    APPENDING TABLE @LDT_DATA UP TO 10000 ROWS.

  DATA LDF_TIMESTAMP_END TYPE TIMESTAMPL.         "タイムスタンプデータ取得終了
  GET TIME STAMP FIELD LDF_TIMESTAMP_END.         "タイムスタンプデータ取得終了
*-----------------------------------------------------------------------
  TRY.
      CL_SALV_TABLE=>FACTORY(
        IMPORTING
          R_SALV_TABLE = DATA(LDO_ALV)
        CHANGING
          T_TABLE  = LDT_DATA ).
    CATCH CX_SALV_MSG INTO DATA(LDX_SALV_MSG).
      POF_SUBRC = 8.
      RETURN.
  ENDTRY.

  DATA(LDO_HEADER) = NEW CL_SALV_FORM_LAYOUT_GRID( ).

  DATA(LDO_H_LABEL) = LDO_HEADER->CREATE_LABEL( ROW = 1 COLUMN = 1 ).
  LDO_H_LABEL->SET_TEXT( 'Performance data' ).

  DATA(LDO_H_FLOW) = LDO_HEADER->CREATE_FLOW( ROW = 2  COLUMN = 1 ).
  LDO_H_FLOW->CREATE_TEXT( TEXT = 'Input records' ).
  LDO_H_FLOW = LDO_HEADER->CREATE_FLOW( ROW = 2  COLUMN = 2 ).
  LDO_H_FLOW->CREATE_TEXT( TEXT = LDF_INPUT_RECORDS ).

  LDO_H_FLOW = LDO_HEADER->CREATE_FLOW( ROW = 3  COLUMN = 1 ).
  LDO_H_FLOW->CREATE_TEXT( TEXT = 'Output records' ).
  LDO_H_FLOW = LDO_HEADER->CREATE_FLOW( ROW = 3  COLUMN = 2 ).
  LDO_H_FLOW->CREATE_TEXT( TEXT = LINES( LDT_DATA ) ).

  LDO_H_FLOW = LDO_HEADER->CREATE_FLOW( ROW = 4  COLUMN = 1 ).
  LDO_H_FLOW->CREATE_TEXT( TEXT = 'Timestamp of start' ).
  LDO_H_FLOW = LDO_HEADER->CREATE_FLOW( ROW = 4  COLUMN = 2 ).
  DATA LDF_UTC_START TYPE CHAR30.
  WRITE LDF_TIMESTAMP_START TIME ZONE 'UTC' TO LDF_UTC_START.
  LDO_H_FLOW->CREATE_TEXT( TEXT = LDF_UTC_START ).

  LDO_H_FLOW = LDO_HEADER->CREATE_FLOW( ROW = 5  COLUMN = 1 ).
  LDO_H_FLOW->CREATE_TEXT( TEXT = 'Timestamp of end' ).
  LDO_H_FLOW = LDO_HEADER->CREATE_FLOW( ROW = 5  COLUMN = 2 ).
  DATA LDF_UTC_END TYPE CHAR30.
  WRITE LDF_TIMESTAMP_END TIME ZONE 'UTC' TO LDF_UTC_END.
  LDO_H_FLOW->CREATE_TEXT( TEXT = LDF_UTC_END ).

  LDO_ALV->SET_TOP_OF_LIST( LDO_HEADER ).
  LDO_ALV->SET_TOP_OF_LIST_PRINT( LDO_HEADER ).

  LDO_ALV->GET_FUNCTIONS( )->SET_ALL( ).
  LDO_ALV->GET_COLUMNS( )->SET_OPTIMIZE( ).
  LDO_ALV->GET_SELECTIONS( )->SET_SELECTION_MODE( EXPORTING VALUE = IF_SALV_C_SELECTION_MODE=>CELL ).
  LDO_ALV->DISPLAY( ).

  POF_SUBRC = 0.
ENDFORM.

キーワード
検索キーワード
ABAP
ABAP 7.52
New Open SQL
ABAP SQL
SAP HANA
Code to Data
Code Pushdown
SAP S/4HANA
WITH句
集合関数
SUM()
GROUP BY句
JOIN
INNER JOIN
OUTER JOIN
LEFT OUTER JOIN
不等号結合
自己結合
HAVING句
ORDER BY句
CDS view
ABAP CDS view
HANA infomation view



さて本題です。(笑)
今更ですが、感激です。
Vocal : Stevie Wonder
映画 : 蒲田行進曲に出てくる、高見知佳お気に入り!!レジェンド : スティービー・ワンダーです!!
Guiter : Nile Rodgers
Diana Ross/i'm coming out, Diana Ross/Upside down, Madona/Like a Virgin, ...ですよ!!この人一体何枚レコードを売ったのでしょうか?なにより、ファッショナブルで胡散臭いのが好きです。ニューヨークジャズ仕込みのギターテクニックも地味に凄いです。
Drum : Omar Hakim
ウェザー・リポート, マドンナ, スティング, デヴィッド・ボウイ...エレキにも明るくて、ゲロテクです!なにより、プレイ中の表情が好きです。
Bass : Nathan East
Fourplayのベースが一番好きですが、今回は地味に屋台骨を支えています。歌ってないけれど...
このステージメンバーのグラミー受賞数合計は延べ50いくのではと思います。

ファレル ウィリアムス&ナイル ロジャース&スティービー ワンダー&ダフト パンク GET LUCKY グラミー賞 リハーサル



Nile Rodgersのこの動画最高です。Funny!!

Nile Rodgers on I'm Coming Out
ネタ元はおそらくこれですね。

Diana Ross - I'm Coming Out



Guiter : Nile Rodgers
Drum : Omar Hakim

Incredible drumsolo Omar Hakim with Nile Rodgers, Chic, Paradiso 2005 Amsterdam



Bass : Nathan East
Guiter : Chuck Loebのカッティングギターも最高なのですがこれの感想は次の機会に。病死されてしまったのが悲しい。

FourPlay Java Jazz festival 2011
もう一つ

Harvey Mason: 3RD DEGREE (FOURPLAY: Harvey Mason - Chuck Loeb - Bob James - Nathan East)



参考 : Vocal : Diana Ross
イヤー凄いです。マイケルと踊っています。My babyですよ。

"Upside Down" - Michael Jackson at Diana Ross Concert (1980)
JKと踊っています。リスペクトされているんでしょう。

Jamiroquai sings Upside Down with Diana Ross 1997



大人が本気を出すと凄いなぁ~って思います。

ヘッドホン:MDR-Z900HD:MDR-Z600 聴き比べました。

気の迷いから気まぐれで気がついたら落札してしまいました。
・MDR-Z600
MDR-Z900HD

っというのは、自身初のヘッドホン、MDR-CD900民生用から、以下の通り基本路線がブレないまま今まで来ているので、変化球が欲しくなりました。SONY製ヘッドホンの系譜の一つである以下をなぞってみたいというのもありました。この中で、MDR-CD999、MDR-Z900は手に入らなかったので、それ以外の4機種を聴き比べしてみました。あと、MDR-Z600もですね。だから5機種になります。
・MDR-CD900民生用
MDR-CD900stネオジウム
・MDR-Z1000
・MDR-Z600
MDR-Z900HD


・MDR-CD900民生用
いまだにバランスが絶妙です。これ以前に広帯域のヘッドホンはほとんど無かったので、奇跡のバランスなのではと思っています。低域の量感、中域の控え目感、高域の刺さらないギリギリな感じ、別途自身のブームの自動音場補正したスピーカの音と比較しても大きな違和感は無いです。

MDR-CD900stネオジウム
いわゆる国内標準機ですね。高域は若干刺さりますが私は気になりません。ハイハットシンバルの音が好きなのでむしろ良いかもと思います。中域の控え目感も丁度良い感じです。いろいろ話題になる低域ですが「正しい装着」をすると低域の量感は誤差の範囲内ですが僅かに多いか位で丁度良いと思います。この「正しい装着」が曲者でイヤーパッド内に外耳を押し込むのが正解だそうです。(多分)

・MDR-Z1000
10年近く前に初めて聞いたときは高域不足に感じましたが、今聞くと丁度良いと思います。あと高域がシルキータッチというかきめ細かく感じます。実はここ最近のヘビロテでして室内屋外問わず稼働率が高かったりします。

・MDR-Z600
他のヘッドホンと比較してクラスが下がるので仕方がないことなのですが、低域高域共にナローレンジに感じます。しかし大雑把に帯域バランスは取れていると思います。他の方のレビューにもいろいろ書かれていますが良い製品だと思います。

MDR-Z900HD
実はこの機種が今回のテーマです。少し調べると賛否ハッキリ分かれています。つまり確かな情報に乏しい。当初低音が出てない玉を引いたようで比較的大音量で24時間エージングしてみました。
スペックでは80kHzまで伸びているので、ハイレゾ対応のハシリだと思います。ハイレゾかどうかは不明ですが確かにサ行やハイハットの16-20kHzがきちんと聴こえます。しかしながら違和感有りなんです。
そこでDEQ2496のパラメトリックイコライザーで調べてみると2-8kHzが出すぎなんです。-6dBくらいするとバランスが良くなります。中高域の解像度感はこの辺の帯域なので、ネットの評判とも一致します。
全帯域よく出ていますが2-4kHzに大きなピークがあってバランスが崩れてしまっているというのが私の感想です。おそらくですが、初のHDドライバーということでまだノウハウに乏しく80kHzを達成するのが精一杯だったのではと思います。



小学3年生の息子が、ヘッドホンで音楽鑑賞する事を覚えて、寝る前に音楽聴きたいと、おねだりするようになりました。英才教育として(笑)、義務でMDR-CD900stネオジウムDonald Fagen /I.G.Y.を60秒聴かせてから、好きな曲を数曲聴かせてます。

https://m.youtube.com/watch?v=Ueivjr3f8xg

オーディオ:音場補正(2)

オーディオの音場補正ということで、自身にとっての長年のテーマである「グラフィックイコライザー」を弄っていました。自身はたまたまテレワーク継続中のサラリーマンだったので幸運なことに同居人不在の時にゆっくり試すことができました。
改めて、使用機材は以下の通りです。全体的に古い機材ばかりですが、同居人の厳しい締め付けの都合厳しい状況継続中です。ある意味減っていないので幸運なのかもしれません。
BEHRINGER ( ベリンガー ) DEQ2496 ULTRACURVE PRO マルチプロセッサ

ONKYO A-7VL(S) ステレオ・プリメインアンプ

・自作スピーカ 長岡鉄男氏設計 D-50
FOSTEX FE-206Σ
FOSTEX FT90H(メタライズドポリエステルフィルムコンデンサ直列)

自身の環境での、自動音場補正の結果は以下の通りとなりました。
DEQ2496セッティングメモ
・UTL1 : CHANNEL MODE : DUAL MODE
・I/O1 : SELECT INPUT : DIG. IN
・I/O2 : NOISE SHAPER : OFF
・I/O3 : SELECT RTA INPUT : RTA/MIC
リビングに設置しているので部屋を含めた左右のバランスは酷いのですが、スピーカ固有の特性も反映していて、予測していた以上に左右のズレは少なく感じました。
Left
f:id:dai_h_73:20200711102644j:plain
Right
f:id:dai_h_73:20200711102730j:plain

前回ブログに書きましたが、音質は、高音が刺さります。あと、ローエンドは40hz位まではフラットになりました。
音場補正後の状態で音楽鑑賞しながら考えを巡らせていたら思い出しました。音質に配慮した高価な機材を使用した屋外のイベント会場の音質に酷似していることに気づきました。例えば東京ディズニーランドのパレードBGMのような感じです。
定位が改善しました。これは説明がつくのですが、楽器の音程が上下することによる周波数の変化に対して、左右の信号強度が常に一定に揃っているので、倍音成分を含めて一定の場所をキープし続けるのだと思います。一方で視聴位置がセンターから外れると、左右の音量差が敏感に感じられました。つまり、自動音場補正で立てたマイクロホンの位置から少しでも外れると、ステレオイメージが大きく湾曲されてしまいました。補正無しだとゆるゆるな状態なのでアバウトにステレオイメージが広がっているのですが、音場補正すると、カメラでいうところの、ハイスピードレンズ開放が薄皮のようなピント範囲を形成するような感じでしょうか。決まれば最高なのですが、決まりにくいので扱いづらい感じになりました。同居人不在の時に条件を整えてこっそり至福の時を楽しむ感じになりました。



最近は、Jeff Loberが好きで、Jazz Fuk SoulのAdrenalineヘビロテです。
偶然知ったのですがこの曲所謂「やってみた動画」がかなりあるようです。学生の時にドラムを担当していたのですが、やってみた動画のようにプレイできたら楽しいだろうなと思います。また、この曲の難易度の高さに驚いています。
オリジナル

Jazz Funk Soul _ Adrenaline (feat. Jeff Lorber, Chuck Loeb & Everette Harp)

プロもコピーしています。何をしているのか良く分かります。これほどまで難易度が高いと思いませんでした。

Jazz Funk Soul - Adrenaline Drum Cover by Kevin Dwi

やってみた - 子供までが既にプロの域だと思います。凄いです。
何故、この曲をセレクトしたのか?経緯も気になります。

Jazz Funk Soul - Adrenaline Drum Cover

追記です。後でこの曲のドラムパートを調べたら、Gary Novakでした。道理で難易度高いはずと納得しました。それと、本家はさすがに凄まじいと感じます。https://m.youtube.com/watch?v=V72RC9_VU28

以上

オーディオ:音場補正

音場補正ネタですね。

一旦は、PCベースで自動音場補正を試みようと思ったのですが、誘惑に負けました。
BEHRINGER ( ベリンガー ) >DEQ2496 ULTRACURVE PRO マルチプロセッサー 送料無料 | サウンドハウス
買っちゃいました。っといっても、いつものオークションで中古を安価に。オークションを続けていると安価に入札する技術が身についてくるようで、同出品が4台あったのですが各々の終了時刻からアクセルを踏むタイミングを見計らって、他の出品を落札するよりも10%以上安価に落札できました。
いろいろ調べると、2496で入力すること等々書かれていましたが、ライトに動かそうということで、以下の通りとしました。音量調節を最終段で行っているので、16bitとはいえカジュアルに聴く分には深刻なビット落ちは無いと思います。あと、副産物としてイコライジングした結果ピークを越えてしまったときは、iPhoneの音量を下げれば解決します。あ~なんともイージーだ。

iPhoneのストリーミング(Spotify)→Bluetooth
https://www.amazon.co.jp/dp/B07R5Z822Q→SPDIF出力(44.1k16bit)
DEQ2496→SPDIF出力(44.1k16bit)
https://www.amazon.co.jp/dp/B004PIPKGC→音量調節をして
長岡鉄男 D-50バックロードホーン FOSTEX FE-206Σ FOSTEX FT-90A

f:id:dai_h_73:20200615124212j:plain

この機械、非常に多機能で最初は操作に戸惑いましたが、1時間位いじくっていると操作のルールが分かってきて、大体のことは出来るようになりました。あとは、サウンドハウスの製品ページにある使い方ビデオを見れば大丈夫でした。そして、動作確認目的で自動音場補正(Auto EQ)やってみました。35年前にADC SX-525XでAuto EQを動かしたことを思い出して、懐かしかったです。当時と違うのは、プリメインアンプまですべての過程がディジタル処理で行われること、ファンタム電源によるコンデンサーマイクロホンを使っていること、ローからハイまできちんと出力できるスピーカを使っていること、です。そのため、当時は動かすまでに大音量のピンクノイズがばらまかれて、生きた心地がしないまま失敗を重ねて、動かしきったときには油汗びっしょりでしたが、今回は35年ぶりとはいえ2回目だし、ピンクノイズは大音量を解き放つ必要があることを経験値として知っていたので、びっくりするほどスムーズにAuto EQ動かせました。当時の苦労はなんだったんだろう??!

補正結果は改めて載せようと思いますが、ライトにAuto EQを動かしたところ、高域はFOSTEX FT-90Aがきちんと効いていて、20kHzまで補正範囲内に収まっていました。低域はオペレーションミスでAuto EQが行われなかったのですが、300Hz以上は補正の範囲内に収まっていました。つまり300-20kまで大体フラットに出来ていたようです。そして、補正後の音を聞いてみると、300Hz以下がどうなっているのか不明ですが、ちょっと高域出すぎじゃないかなって思いました。もしかしたら、マイクロホンがIK Multimediadaだったからかもしれませんが、BEHRINGER ( ベリンガー ) >ECM8000 測定用コンデンサーマイク 送料無料 | サウンドハウスは特性にばらつきがあるという噂だし、本当のところは不明です。一方普段、MDR-Z1000、MDR-CD900st等々を聴いていてそんな風に感じるので、フラットって大変だなぁ~(謎)って思いました。

こんな感じに、目をサンカクにして聴こうと思えばコーディックやアップサンプリング等々あると思いますが、自宅スピーカでイージーにフラットレスポンスで音楽を楽しむ分には十分だと思います。

で、本題のヘッドホンの音場補正(こちらは手動です)ですが、自宅でピーピー正弦波を出力できるわけはなく、カラオケボックスの利用を考えていますが、なんかPCを持ち歩くよりもDEQ2496を持ち歩いたほうが楽な気がしてきました。この機械、2.1kgしかないんです。PC、Audio I/Fを持ち歩くことを考えると、セットアップの簡略さ加減も含めてDEQ2496が楽に感じました。そうするとテストトーンをどうするか?ファイルを作成してiPhoneで再生させるかなぁ~。

DEQ249の使いこなしについてですが、以下サイトが非常に参考になります。
index
...ですが、ここに書かれていることを全て実施しようと思うと、カジュアルではなくなっちう。同居人の許可が取れればやってみたいけれど、難しいかなぁ~。

こちらも参考になります。
DEQ2496 digital equalizer
高額な機器と組み合わせた時の挙動が書かれているので、なんとなく安心できます。アナログソースも一旦ディジタルに変換して出力するという話は30年前に聞いたことがあって、当時はなに馬鹿なこと言っているんだろうと思いましたが、このサイトのように積極的に加工するのであれば最もだと思います。そして、音楽ソースは音場補正した環境で聴くことでより良くなると力説されているので、(自身、高級な耳を持ってないので)安心できます。20年位前に金満になったらフルディジタルネットワークでJBL 4344のバイアンプ駆動とか妄想していたので、憧れます。

故障については、こちらが参考になります。
DEQ2496初期画面にならない不具合修理:低予算オーディオ記2:SSブログ
なにかあったら、電源周りのコンデンサを交換するんですね。とりあえずは熱い場所に置かないように気を付けて、起動できなくなったらコンデンサを交換してみようと思います。

以下駄文です。
最近というか20年前から思うのは、各種オーディオ雑誌に記事を書いている評論家たちは、実は文章のプロで機材についてはシロウト?って思わざるを得なくて軽い怒りを感じます。カメラ雑誌の記事についても同様の軽い怒りを感じます。ターニングポイントとしてPCが果たした影響が大きいと思います。USBケーブルで音が変わるとか阿保らしくて阿保らしくて、ビットパーフェクトなのに違いがあるの?スポンサーとの付き合いとかしがらみまみれなんだろうけれど、食べていくのに必死なんだろうけれど、ユーザを馬鹿にするのもいい加減にしてほしい。高音質NASとか馬鹿げていると思う。CDトランスポートもエラー補正が...とか語るけれど、\100のジャンクCD-ROMドライブで、WAVファイル取り込みを複数回実施してファイル比較すると、何回行っても結果は一緒。だから、ビット落ちしないようにディジタルで加工して、最終段のD/A変換以降を気を遣うことで、95点とれると思うのです。