50A INZ 入力文字列 D XOUTPUT S 50A INZ 出力文字列 D XPOS S 3S 0 INZ @の位置 C EVAL XPOS = 3 C %SUBST(XINPUT:WPOS:1) C IFEQ '@' C EVAL XOUTPUT = %SUBST(WINPUT:WPOS+1) C ENDIF txt SCAN使用版: C '@' SCAN XINPUT XPOS C XPOS IFEQ 3 C EVAL XOUTPUT = %SUBST(XINPUT:XPOS+1) C ENDIF txt サンプルコード(サンプルRPGソース_XXXMU900.txt)の168-172行目のパターンを参考にしています。 %SUBST(WINPUT:XPOS+1)で@の次の位置から文字列末尾まで抽出します。 Bobの回答 設計書・仕様書が無い(古い) このRPGをコーディングした人は もはや不在 消費税改定などでプログラム を変更したいが。
契約書番号 GNTSCD, -- 得意先CD GNCHCD, -- 注文主CD GNEUCD, -- エンドユーザーCD GNCHNO, -- 他社注文番号 GNMKCD, -- メーカーCD GNJYDT, -- 契約日 GNSVSD -- 保守開始日 FROM IGSTSTDBR.AAFKKKL01 -- 期間契約情報管理ファイル WHERE -- 日付区分による条件分岐 CASE WHEN '1' = '1' THEN GNJYDT -- 契約日 ELSE GNSVSD -- 保守開始日 END BETWEEN 20240101 AND 20241231 -- 得意先CD条件(入力値がある場合のみ) AND ('10994' = '' OR '10994' IS NULL OR GNTSCD = '10994') -- 注文主CD条件(入力値がある場合のみ) AND ('' = '' OR '' IS NULL OR GNCHCD = '') -- エンドユーザーCD条件(入力値がある場合のみ) AND ('10994A35' = '' OR '10994A35' IS NULL OR GNEUCD = '10994A35') -- メーカーCD条件(入力値がある場合のみ) AND ('A02003' = '' OR 'A02003' IS NULL OR GNMKCD = 'A02003') ORDER BY CASE WHEN '1' = '1' THEN GNJYDT -- 契約日でソート ELSE GNSVSD -- 保守開始日でソート END, GNKYNO -- 契約書番号でソート C #S920 BEGSR * C @S920 TAG C* C WIDKBN IFEQ '1' IF C READ AAFKKKL09 70 | C ELSE ELSE C READ AAFKKKL10 70 | C ENDIF ENDIF C* C *IN70 IFEQ *ON IF C MOVEL *HIVAL NKEY1 | C ELSE ELSE C WIDKBN IFEQ '1' |IF C Z-ADD GNJYDT WKDATE || C ELSE |ELSE C Z-ADD GNSVSD WKDATE || C ENDIF |ENDIF C*日付読み切り | C WKDATE IFGT WIDATET |IF C MOVEL *HIVAL NKEY1 || C ELSE |ELSE C*得意先CD読み飛ばし || C WITSCD IFNE *BLANK ||IF C GNTSCD ANDNE WITSCD ||AND C GOTO @S920 ||| C ENDIF ||ENDIF C*注文主CD読み飛ばし || C WICHCD IFNE *BLANK ||IF C GNCHCD ANDNE WICHCD ||AND C GOTO @S920 ||| C ENDIF ||ENDIF C*エンドユーザーCD読み飛ばし || C WIEUCD IFNE *BLANK ||IF C GNEUCD ANDNE WIEUCD ||AND C GOTO @S920 ||| C ENDIF ||ENDIF C*メーカーCD読み飛ばし || C WIMKCD IFNE *BLANK ||IF C GNMKCD ANDNE WIMKCD ||AND C GOTO @S920 ||| C ENDIF ||ENDIF C*キーセーブ || C MOVEL GNKYNO NKKYNO || C ENDIF |ENDIF C ENDIF ENDIF * C ENDSR #サブルーチンのロジックをSQLのSELECT文に変換して。 指令③:#S920のロジックをSQLのSELECT文に変換して。
IBM社内 20,000人以上で実証 38% 開発工数削減 イグアス先行検証(2026年1月) 対応言語: Java, Python, JavaScript, TypeScript, RPG, COBOL, PL/SQL 等 IBM Bob ご活用のポイント × XXXX様 事業方針合致点(サンプル) XXXX様の事業方針 × IBM Bob 合致点 受託SIの品質・生産性向上 ERP/CRM/SFA/BI開発をクラウドネイテ ィブ・メニュー選択型で高品質・高速に 提供 ▼ IBM Bob で実現 開発工数38〜45%削減を実証 仕様駆動開発で手戻りゼロを実現 業務改善・効率化支援 Microsoftテクノロジー・ワークフロー・ セキュリティ・業務改善効率化・運用保 守サービスを提供 ▼ IBM Bob で実現 Microsoft環境のアプリ開発・業務改善を 高速化 セキュリティ対応をコーディング段階で 自動検出 ERP・ローコード開発強化 IBM iやJava8等のレガシー資産 お客様のビジネス実行を支えるSI事業を 展開 ▼ IBM Bob で実現 開発工数38〜45%削減を実証 IBM i/レガシー解析・変換・近代化を自 動支援 IBM Bob 主要機能(エンタープライズ特化) 仕様駆動開発 (SDD) 仕様ファーストで 手戻りゼロを実現 開発中セキュリティ 自動検出 脆弱性をコーディング 段階でリアルタイム検知 AIエージェント 自律ワークフロー 設計→実装→レビュー を一貫してAIが支援 レガシー 近代化対応 RPG/COBOL/Java8 解析・変換・モダナイズ ご提案アクション ① ERP/CRM/SFA/BI等の受託開発プロジェクトへのIBM Bob PoC導入 ─ 開発工数削減を実証 ② IBM Bobを活用した受託開発・保守サービスの共同提案・アライアンス検討 ③ ローコード開発・業務改善効率化サービスへのIBM Bob組み込みによる付加価値向上の検討