自転車:スタッガード & アヘッド:街乗り自転車:(4) 確認

偶然にもタイミングよくOpera Luxury Artemisiaを入手することが出来たですが、非常にレアでありスペックにこだわるような自転車でもないので、とにかく情報が少ないです。
現物が届いて、インターネットでは分からなかったスペックを明らかにしていこうと思います。ベース車両のスペックを確認することで、手を加えるときに必要なパーツが明らかになるのです。なおカッコ内の表記は実際に現物をノギス等で測った内容です。
実は、これまた偶然にもOpera Luxuryの当時の豪華なパンフレット(冊子)も入手しました。内容は、ファッション>自転車といった内容で、自身はよくわかりませんがモード感満載で、イタリア~ンな匂いがプンプン漂っています。そうは言ってもアッパー路線の商品なのでスペックの記述もありました。割高なだけあってしっかりしています。実機確認した情報を付加しました。
カラーに拘りがあるようで、私が入手した茶色系は「Oro Veneziano」、日本語に訳すと「ベネチアンゴールド」だそうです。ここは東京ですが、こいつを走らせれば世界中どこへ行っても世界遺産ベネチアの風景が流れるかもしれません。草

Opera Luxury Artemisia
オペラ ラグジュアリー アルテミジア

  • Frame
    • ALLOY 7005 t6
    • 確かにアルミでした。それも7000系の軽量で強度が高いグレードのようです。
  • Fork
    • CARBON BLADES
    • インテグラルヘッド、オーバーサイズ31.8mm、カーボンでした。手で軽くたたくと金属とは異なるコツコツとした音がします。実は、自転車系のカーボンパーツは初めて使います。扱いとか耐久性は大丈夫かな?心配です。キャリパーブレーキに交換したいのですが大丈夫かな?ダメだったらONDAフォークつくかな(笑)
  • Brakes
    • V-BRAKES(Shimano NEXUS)
    • 車体が軽いのもあり、カンチブレーキからの乗り換えだったのでカックンブレーキのように感じました。一週間もすれば体が対応するでしょう。ただしフラットバーロードを目指しているのでファッション的にカンチブレーキにしたいなぁ。
  • Crankset
    • SINGLE ALLOY(PDC/BDC104mm)
    • アルミ製のクランクSR SUNTOURが付いていました。(ペダルは反射板があり、靴底への食いつきが良い感じなのでこのまま使おうと思います)
  • Gear
    • INTERNAL 3 SPEED
    • 高品質ママチャリによく付いているSHIMANO NEXUSの内装3速でした。(チェーンリングは鉄製薄刃44T)だったので、ママチャリと違って極端に高速寄りに振られています。個人的には◎
  • Wheels
    • ALLOY 26"
    • これだけではわからないでしょう。(26x1.25(32-559)フレンチバルブ、アルミリム)でした。車体の軽さと相まってペダリングは軽いです。
  • Saddle
    • LEATHER BROOKS
    • 雨さらしだったのでしょう。溶けていました。代わりのシートが付いていまして、とりあえずはこれをしばらく使おうと思います。
  • Sizes
    • 40 44
    • 今回は、40(400mm)を入手しました。明らかに小さいのですが、(27.2mmの割と長いシートポスト)が付いていたのでサドルの高さは調節出来ました。

カテゴリーとしてはクロスバイクなので全体的にMTBのパーツが付いていました。
最後に...


  • リアエンド幅
    • (120mm OLD)
    • 愕然としました。自転車屋さんにとっては、Shimano 内装3速→120mm OLDと常識だそうですが、私は素人なので知りませんでした。9速カセットスプロケ入らない。どうしよう...

120mm OLD、カセットスプロケ、インターネットを必死に検索しました。

キーワード:
Opera Luxury Artemisia
オペラ ラグジュアリー アルテミジア
PDC/BDC104mm
Shimano NEXUS 3
LEATHER BROOKS
26x1.25(32-559)フレンチバルブ
120mm OLD
カセットスプロケ

自転車:スタッガード & アヘッド:街乗り自転車:(3) 入手

BD-1が壊れました。

5-6年前から検討していた、「スタッガード & アヘッド」の自転車に買い換える計画が急浮上しました。但し時間が無い。オークションサイトで候補を検索しても見つからない。仕方が無いのでAmazon | ブリヂストン(BRIDGESTONE) シティサイクル アルミーユ AU63T P.Xオパールラベンダー 26インチ3段変速 点灯虫(オートライト)ランプ | ブリヂストン(BRIDGESTONE) | シティー・ファミリーサイクルまたは、これに準拠する自転車ならばたま数が多いので、これをつなぎのベース車両にしようと考えました。アルミで軽そうだし。

そんな理由でママーサイクル26インチで、オークションサイトをローラー作戦をしていたら、まだ見ぬ大本命を見つけました。

Opera Luxury Artemisia
アルテミジア
サイクルショップカンザキ 阪急千里山店 大特価商品 OPERA ラグジュアリーバイクス ARTEMISIA(アルテミジア) 街中をお洒落に自転車にのってみませんか?
知らなかったのですが、ピナレロの兄弟?ブランド(って言ったら怒られるかな?)だそうです。おおよそのスペックは以下の通り、これならば手をかける価値ありと思います。

  • 7000番台アルミフレーム
  • カーボンフォーク
  • ホイールサイズが26HE
  • ディレーラーハンガー無し
  • リアエンド幅が不明

特筆すべきは、たたずまいがとにかく素敵でした。一目ぼれです。
っで無事に落札出来ました。

落札までの間に、コルナゴ、フェリーチェ:�R���i�S �W���p�� / COLNAGO JAPANという自転車の存在も見つけました。こちらは、ブランドまんまなのですが、トップチューブが少し曲がってるんですよね。フェミニンすぎるので、触手が伸びませんでした。ただし、700cホイールにリアエンド幅130mmは魅力的ですが。

っで、アルテミジアなんです。取り急ぎ、錆びているブレーキワイヤーを交換して、乗りながらどのように手を加えるのか検討することとしました。

キーワード:
Opera Luxury Artemisia
オペラ ラグジュアリー アルテミジア
コルナゴ
COLNAGO
フェリーチェ
Felice

自転車:スタッガード & アヘッド:街乗り自転車:(2) 候補

前回の理想的な街乗り自転車の構想を受けて、候補は以下の通りでした。

当初700Cのカンチブレーキで探していました。

  • CTS-FL
    • ベース車両のスペックとしては文句なし
    • 重量も十分軽い
    • しかし既に廃盤になって10年以上:ネットで探すも幻の銘品
  • la437
    • とにかく重い
    • いわゆるルック車:お金をかける価値があるのか疑問
    • グレードが低過ぎて考えている間に廃盤

数年前から700C改造前提で、26インチを候補に変更しました。
26インチ&泥除けだったら、700C&カンチブレーキショートリーチで行けると思いました。

  • Trek fx Lowstep
    • 街で見かけてこれだと思いました。
    • ただし、デザインがクロスバイクに振りすぎなところが引っかかる。
  • 2015 Giant Bicycle [SUITTO W]
    • 最近気づいてインターネットをチェックしてたら、街でも見かけました。
    • さすが大手なんとなく割安
    • アルミフレームで、十分軽い
    • 女性向けブランドっていうところが引っかかる(私は男です)

キーワード:
スタッガードフレーム
スタッガード
アヘッドステム
アヘッド
Cycleworld
CTS-FL
a.n.design works
Laugh 437
ライトウェイ
riteway
パスチャー
pasture
トレック
Trek
Lowstep
ジャイアン
giant
リブ
Liv
SUITTO W

自転車:スタッガード & アヘッド:街乗り自転車:(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



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