抽出網羅性の自己評価
This document accounts for every artifact in the TECHS-S binary distribution and states which extracted document(s) cover it. Read this first before starting your re-implementation, so you know exactly what you have and what is still ambiguous.
| Source artifact | Count / size | Coverage in analysis/docs/ |
|---|---|---|
Help/*.pdf (Japanese user manuals) | 509 PDFs | 01-features-catalog.md (every screen indexed) · 02-user-stories.md (200+ stories) · 03-use-cases.md (20 end-to-end UCs) · 15-screen-summaries.md (概要 sections from every PDF) · raw text in analysis/help_txt/*.txt for ad-hoc deep dives |
Reports/*.rdlc (SSRS report defs) | 225 reports | 06-reports-catalog.md · 04-erd.md (fields/datasets) · raw JSON in analysis/rdlc_meta/all_rdlc.json and SQL in all_sql.txt |
Assembly/Technoa.Techs.UI.T*.dll (per-screen UI) | 545 DLLs | all 545 decompiled into analysis/decomp_ui/ · 11-soap-operations.md (SOAP calls) · 16-screen-labels.md (Japanese UI text) · 17-form-controls.md (20,812 control names) · 18-soap-services.md (per-screen SI service contracts, 256 ops) |
Technoa.Techs.<Domain>CommonLibrary.dll (client common libs) | 23 libs | analysis/decomp/_t1_* decompiled · referenced in 00-architecture.md (login/lock model) · 14-enums-and-status-codes.md (303 enums) · 19-column-dictionary.md (1,557 columns) |
Technoa.Techs.{CM,BE,DA,SI}.T*S<id>_S.dll (server-side fragments) | 14 libs | analysis/decomp/_t2_* decompiled · 00-architecture.md (lock + audit framework) · 05-sequence-diagrams.md |
Technoa.Techs.Menu.exe (MDI host) | 1 exe | 00-architecture.md (login/menu) · 05-sequence-diagrams.md SD-1, SD-2 |
Technoa.Techs.StartUp.exe / License.Certification.exe / ClientSetting.exe | 3 exes | 00-architecture.md · 13-license-sku-map.md |
Technoa.Techs.BtoB.{ApiCredential,SOrderPost}.exe | 2 exes | 05-sequence-diagrams.md SD-14 BtoB · 09-requirements.md F-EDI-01 |
Technoa.Techs.{InitTruncateTable,ResultImport,ReflectionEUC}.exe + EucConnect.exe | 4 exes | 07-modules.md · 09-requirements.md F-MST-03 / F-INF-10 |
Technoa.Techs.LB.XlController*.dll + GrapeCity Excel libs | 6 libs | 07-modules.md · 09-requirements.md F-INF-09 (Excel templates) |
Technoa.Techs.ML.*.dll (mail framework) | 11 libs | 09-requirements.md F-NTF-01 · 07-modules.md |
Technoa.Techs.PdfViewer.dll / PreviewForm.dll | 2 libs | 07-modules.md |
Menu.exe.config / ClientCommonLibrary.dll.config | 2 configs | 00-architecture.md (DB conn, ASMX URLs, settings keys) |
License/ProductStruct.xml + License config | 2 files | 13-license-sku-map.md — every ApCd mapped to its product Option |
License/Technoa.Techs.License.Certification.exe.config | 1 file | 13-license-sku-map.md (industry editions A/B/C, Options 1-15) |
tmp/*.xml (import setup) | 5 XML files | 10-import-schemas.md — actual table column lists for: TrnIssueIndD (払出), MstItemNo (品番), MstStock (在庫) |
tmp/*_ImportSetUp.config (import field-index configs) | 3 configs | 10-import-schemas.md |
tmp/2036DocMenu.Xml / 2036TlbMenu.Xml | 2 files | NOT useful — Infragistics UltraDockManager runtime layout serialization (binary SOAP), not the menu definition |
tmp/BtoBPF.config | 1 file | Trivial: ApDebug=false. Noted in this audit. |
xls/01,02 見積書*.xls + 見積情報設定*.xml | 4 files | NOT yet parsed — these are the Excel quote-document templates. See §3 below. |
Seiryu/{BinE,BinS,BinV,Data} + Data.bat | dir tree | 05-sequence-diagrams.md SD-13 — integration documented, internal binary format not analyzed (external tool) |
pls/{Bin,BinE,Data,Resource} + StartSamp.bat / StartEnvSamp.bat | dir tree | Confirmed = "Plasurm" Gantt-chart tool, OEM-licensed as TECHS-S:00. The PS prefix in screen IDs (PS30001 製番日程計画) is Plasurm. Internal binary format (Pls.exe + .DAT files) not analyzed. |
img/LoginImage.gif NewMail.gif SplashImage.gif | 3 images | Branding assets — not specs. |
ColorChart.xml StdColorChart.Config | 2 files | UI theming — UTF-16 encoded, not parsed (low priority) |
Techs.ini | 1 file | Version 0605.0002.0001.0000 → TECHS-S 6.05 — recorded in README.md |
EUCConnection.ini | 1 file | EUCTOOL DB pointer — covered in 00-architecture.md |
licenses.licx | 1 file | Infragistics design-time license file — not relevant |
TechsApplications.Config | 1 file | Provides the canonical entity-Cd → SC-code mapping (SC0xxx), the "ALL" filter variants (SC1xxx), and the Conv (master conversion) variants (SC3xxx). Captured in 08-glossary.md and the entity list in 04-erd.md. The full SC table is below in §2.* |
Resource DLLs (ja/*) | 13 files | These are Infragistics/GrapeCity Japanese resource bundles — third-party, not TECHS specs. |
The TECHS application uses SC-codes as canonical identifiers for every business-entity type. This table is the master registry — every entity in the system has one of these codes.
| SC | Entity | Owning master |
|---|---|---|
| SC0004 | PersonCd | MstPerson |
| SC0005 | SecCd | MstSec |
| SC0006 | DeptCd | MstDept |
| SC0007 | BaseCd | MstBase |
| SC0008 | ItemNo | MstItemNo |
| SC0009 | OrderClassCd | MstOrderClass |
| SC0010 | AddItemCd | (additional item categorization) |
| SC0011 | SeibanClassCd | MstSeibanClass |
| SC0012 | UserGroupCd | MstUserGroup |
| SC0013 | CostItemCd | MstCostItem |
| SC0014 | UnitGroupCd | MstUnitGroup |
| SC0015 | ProcessGroupCd | MstProcessGroup |
| SC0016 | SeibanScheduleCd | MstSeibanSchedule |
| SC0017 | HouseCd | MstHouse |
| SC0018 | ProdClassCd | MstProdClass |
| SC0019 | PartsClassCd | MstPartsClass |
| SC0020 | DealCd | MstDeal |
| SC0021 | ClaimCd | MstClaim |
| SC0022 | PayCd | MstPay |
| SC0023 | CustomerCd | MstCustomer |
| SC0024 | SupplierCd | MstSupplier |
| SC0025 | DeliCd | MstDeli (delivery) |
| SC0026 | TransportCd | MstTransport |
| SC0027 | MakerCd | MstMaker |
| SC0028 | QualityCd | MstQuality |
| SC0029 | ItemNoGroupCd | MstItemNoGroup |
| SC0030 | ProcessCd | MstProcess |
| SC0031 | MachineGroupCd | MstMachineGroup |
| SC0032 | MachineCd | MstMachine |
| SC0033 | FailReasonCd | MstFailReason |
| SC0034 | OpeCd | MstOpe |
| SC0035 | ExpenseCd | MstExpense |
| SC0036 | ArngCd | MstArng |
| SC0037 | FailReasonClassCd | MstFailReasonClass |
| SC0038 | SubjectCd | MstSubject (account) |
| SC0039 | CustomerGroupCd | MstCustomerGroup |
| SC0040 | CustomerUpGroupCd | MstCustomerUpGroup |
| SC0041 | SupplierGroupCd | MstSupplierGroup |
| SC0042 | SupplierUpGroupCd | MstSupplierUpGroup |
| SC0043 | DeliPlaceCd | MstDeliPlace |
| SC0044 | ProcessPtrnCd | MstProcessPtrn |
| SC0045 | StockItemNo | (subset of MstItemNo with stock-control) |
| SC0046 | PictureNo / PictureNoRev | MstPictureNo (drawing + revision) |
| SC0047 | SubSubjectCd | MstSubSubject (sub-account) |
| SC0048-52 | BuyArng / StockArng / InopeArng / OutopeArng / ExpenseArng | Arrangement variants |
| SC0053 | ReceiptDenomCd | MstReceiptDenom (receipt method) |
| SC0054 | PayDenomCd | MstPayDenom (payment method) |
| SC0055 | TargetArngCd | MstTargetArng |
| SC0056-57 | BuyDeliPlace / StockDeliPlace | Delivery-place variants |
| SC0058 | SeibanSdlPtrnCd | MstSeibanSdlPtrn (schedule pattern) |
| SC0059 | StdPartsOrderClassCd | MstStdPartsOrderClass |
| SC0060 | StdStockArngOrderClassCd | MstStdStockArngOrderClass |
Same entities as SC0xxx but in "any-of" filter mode (search forms with optional all-selection).
| SC3001-3007 | Conv{Person,Claim,Pay,ReceiptDenom,PayDenom,Process,Ope}Cd — for legacy code conversion during master refresh |
| SC7001 | CustomerItemNoUpInfo (customer-specific part-number price) |
| SC8001 UnitInfo | SC8002 OrderTypeInfo | SC8003 OrderAddInfo | | SC8004 PayDenomInfo | SC8005 ReceiptDenomInfo | SC8006 DenomInfo | | SC8007 CostPersonInfo | SC8008 CostExpenseItemInfo | SC8009 WorkTimeInfo | | SC8010 WorkSystemInfo | SC8011 ArngComposeInfo | SC8012 HouseItemNoStockInfo | | SC8013 WorkResultTimeInfo | SC8014 BaseItemNoStockInfo | SC8015 ArngTreatInfo | | SC8016 ItemSearchInfo | SC8017 ChangeFieldInfo | SC8018 UpdPtrnInfo | | SC8101 ProdInfo | SC8102 AssyUnitInfo | SC8103 AssyUnitCostInfo |
60 distinct domain entities + 21 composite info DTOs = 81 first-class concepts.
These are minor but listed for transparency:
| Gap | What's missing | Mitigation |
|---|---|---|
xls/見積書*.xls (binary Excel) | The actual quote-document layout (cell coordinates of fields). The companion 見積情報設定*.xml files describe the field-coordinate map but are also UTF-16 encoded XML; they were not parsed in this round. | If you need pixel-perfect quote documents, parse with openpyxl/xlrd. The fields involved are listed in 01-features-catalog.md under module 15. |
tmp/2036Doc/TlbMenu.Xml | Infragistics binary serialization — runtime user layout, not menu spec. The actual MENU is built dynamically from MstApCtrl + per-user MstUserGroup permissions. | The menu graph is described in 00-architecture.md SD-1 and SD-2. |
Seiryu/ and pls/ binary data | Internal data formats of the external Seiryu and Plasurm Gantt tools (*.DAT, Pls.exe). | Out of scope — these are licensed third-party tools. Use the integration boundary: write the same CSV format described in the help PDF 0301011 (Seiryu連携処理). |
Server-side TechsService6/* ASMX | The bulk of business logic (Order/Seiban/Allocate BE+DA assemblies for screen IDs 0201001 etc.) is not in the client install. | Inferred via: SOAP method names in 11-soap-operations.md + 18-soap-services.md (256 ops, 378 services), help PDFs (which describe the user-visible behavior), and column constants in 19-column-dictionary.md. |
| Resource bundles for non-Japanese languages | None ship — TECHS is Japanese-only. | Re-implement with i18n from day 1 (already in 09-requirements.md NF-LOC-01). |
| Database-level constraints (unique keys, FKs) | Not extracted — would need a live DB or schema dump. | Inferred from: PK suffixes (*Cd/*No), FK references in RDLC SQL, and ER diagrams in 04-erd.md. |
| Stored procedures | Only SIPls_UpdSchedule and PrcAddApStartRecord are mentioned in decomp. | The architecture is service-oriented (BE → DA), not SP-heavy. Procs are minor. |
| Cryptography internals | Login uses Cryptogram.EncryptString(personCd+password, SerialKey, personCd) with hard salt "Technoa.Techs". Algorithm is standard .NET (likely DES/Rijndael). | Don't replicate — implement modern bcrypt/Argon2. |
| Per-screen Help-PDF deep dives | We extracted overview only, not the field-by-field tables that occupy the bulk of each PDF. | The raw text is in analysis/help_txt/<screen-id>.txt. Use grep or read individual files when implementing a specific screen. |
| # | File | Lines | Source(s) | What you get |
|---|---|---|---|---|
| — | README.md | 82 | (synthesis) | Project overview & re-impl roadmap |
| — | VISUAL.md | 292 | (synthesis) | ASCII-art summary diagrams |
| — | COMPLETENESS.md (this) | — | (synthesis) | Coverage audit & gap statement |
| 00 | 00-architecture.md | 831 | decomp + configs | 3-tier arch, login, lock model, integrations |
| 01 | 01-features-catalog.md | 769 | help-PDF index | All 509 screens grouped by module |
| 02 | 02-user-stories.md | 355 | help PDFs | 200+ user stories across 22 domains |
| 03 | 03-use-cases.md | 610 | help PDFs | 20 end-to-end UCs (Order-to-Cash etc.) |
| 04 | 04-erd.md | 1,506 | RDLC + decomp | 110+ entities, 95 FKs, 4 Mermaid ER diagrams |
| 05 | 05-sequence-diagrams.md | 1,372 | decomp + PDFs | 14 Mermaid sequence diagrams of business flows |
| 06 | 06-reports-catalog.md | 278 | RDLC index | All 225 SSRS reports |
| 07 | 07-modules.md | 71 | DLL inventory | DLL/UI taxonomy |
| 08 | 08-glossary.md | 137 | (synthesis) | Japanese ⇄ English (90 terms + suffix conv.) |
| 09 | 09-requirements.md | 334 | (synthesis) | 80+ functional + 12 NFR requirements |
| 10 | 10-import-schemas.md | 201 | tmp/*.xml | CSV→DB column maps for 5 import flows |
| 11 | 11-soap-operations.md | 450 | UI strings | 379 screens × 193 SOAP methods (frequency-ranked) |
| 13 | 13-license-sku-map.md | 581 | ProductStruct.xml | Industry editions + 8 product Options × 397 ApCds |
| 14 | 14-enums-and-status-codes.md | 927 | decomp Info.cs | 303 enums + S-code (S0/S1/S2…) DB encoding |
| 15 | 15-screen-summaries.md | 515 | help-PDF 概要 | 509 screen overviews (one row each) |
| 16 | 16-screen-labels.md | 1,708 | UI decomp | 1,669 distinct Japanese labels per-screen |
| 17 | 17-form-controls.md | 4,705 | UI decomp | 20,812 form controls (txt/cmb/chk/grd/btn) per screen |
| 18 | 18-soap-services.md | 1,896 | UI WebRef | 378 SOAP service classes × 256 distinct operations |
| 19 | 19-column-dictionary.md | 1,865 | column constants | 1,557 columns bucketed by entity |
Total: 22 documents, ~19,200 lines of synthesized specs from ~200 MB of binary input.
README.md → 09-requirements.md → 04-erd.md → 00-architecture.md.01-features-catalog.md → 020100115-screen-summaries.md row 020100103-use-cases.md (search "0201001")analysis/help_txt/0201001.txt17-form-controls.md — find DLL TIBS0XX1100 (matching ID prefix)16-screen-labels.md11-soap-operations.md and 18-soap-services.md04-erd.md and 19-column-dictionary.md13-license-sku-map.md (which Option contains it)04-erd.md (Mermaid) + 19-column-dictionary.md (columns) + 14-enums-and-status-codes.md (Kbn values).05-sequence-diagrams.md (technical) + 03-use-cases.md (user-facing).08-glossary.md for Japanese terms.analysis/rdlc_meta/all_sql.txt (20,731 lines).analysis/decomp_ui/Technoa.Techs.UI.<screen-id>/Technoa.Techs.<sid>.WebRef/SI*.cs.| Area | Confidence | Reason |
|---|---|---|
| Feature inventory (what screens exist) | Very High | 1:1 from help PDFs |
| User stories / business intent | High | Direct from manuals (Japanese authoritative source) |
| Form layout / UI fields | High | 20,812 control names extracted |
| Data model entities & relationships | High | RDLC + column constants cross-confirmed |
| Exact column types, lengths, nullability | Medium | Inferred from RDLC field types and naming conv.; not from DB schema |
| SOAP service contracts | High | 378 services × 256 ops decompiled |
| Server-side business logic | Medium | Inferred from method names + help PDFs; bulk of BE/DA not in dump |
| Period close / 締次 / 月次 algorithms | Medium | Inferred — exact ordering and edge cases need PDF deep-read |
| Costing formulas | Low–Medium | Reports show fields; algorithms not visible |
| Tax / Japanese accounting rules | Low | Domain-specific knowledge not in code; consult Japanese-domain expert |
| Lock framework | High | Decomp shows exact SQL strings |
| Audit trail (SysUpdRec) | High | Confirmed in code |
| License/SKU model | Very High | ProductStruct.xml is explicit |
| Integration with Seiryu / Plasurm / BtoB | Medium | Boundary documented; internal protocols not |
You have enough to start building.
The main "you must look at this yourself" categories during implementation are:
.txt when you implement a specific screen.Everything else — architecture, data model, workflows, screen catalogue, UI labels, locking, error codes, status enums, license tiers — is in this docs/ folder.