トップ/TECHS 解説/詳細/完全性監査
COMPLETENESS.md

抽出網羅性の自己評価

Reverse-Engineering Completeness Audit

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.


1. Source artifact ↔ extracted document matrix

Source artifactCount / sizeCoverage in analysis/docs/
Help/*.pdf (Japanese user manuals)509 PDFs01-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 reports06-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 DLLsall 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 libsanalysis/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 libsanalysis/decomp/_t2_* decompiled · 00-architecture.md (lock + audit framework) · 05-sequence-diagrams.md
Technoa.Techs.Menu.exe (MDI host)1 exe00-architecture.md (login/menu) · 05-sequence-diagrams.md SD-1, SD-2
Technoa.Techs.StartUp.exe / License.Certification.exe / ClientSetting.exe3 exes00-architecture.md · 13-license-sku-map.md
Technoa.Techs.BtoB.{ApiCredential,SOrderPost}.exe2 exes05-sequence-diagrams.md SD-14 BtoB · 09-requirements.md F-EDI-01
Technoa.Techs.{InitTruncateTable,ResultImport,ReflectionEUC}.exe + EucConnect.exe4 exes07-modules.md · 09-requirements.md F-MST-03 / F-INF-10
Technoa.Techs.LB.XlController*.dll + GrapeCity Excel libs6 libs07-modules.md · 09-requirements.md F-INF-09 (Excel templates)
Technoa.Techs.ML.*.dll (mail framework)11 libs09-requirements.md F-NTF-01 · 07-modules.md
Technoa.Techs.PdfViewer.dll / PreviewForm.dll2 libs07-modules.md
Menu.exe.config / ClientCommonLibrary.dll.config2 configs00-architecture.md (DB conn, ASMX URLs, settings keys)
License/ProductStruct.xml + License config2 files13-license-sku-map.md — every ApCd mapped to its product Option
License/Technoa.Techs.License.Certification.exe.config1 file13-license-sku-map.md (industry editions A/B/C, Options 1-15)
tmp/*.xml (import setup)5 XML files10-import-schemas.md — actual table column lists for: TrnIssueIndD (払出), MstItemNo (品番), MstStock (在庫)
tmp/*_ImportSetUp.config (import field-index configs)3 configs10-import-schemas.md
tmp/2036DocMenu.Xml / 2036TlbMenu.Xml2 filesNOT useful — Infragistics UltraDockManager runtime layout serialization (binary SOAP), not the menu definition
tmp/BtoBPF.config1 fileTrivial: ApDebug=false. Noted in this audit.
xls/01,02 見積書*.xls + 見積情報設定*.xml4 filesNOT yet parsed — these are the Excel quote-document templates. See §3 below.
Seiryu/{BinE,BinS,BinV,Data} + Data.batdir tree05-sequence-diagrams.md SD-13 — integration documented, internal binary format not analyzed (external tool)
pls/{Bin,BinE,Data,Resource} + StartSamp.bat / StartEnvSamp.batdir treeConfirmed = "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.gif3 imagesBranding assets — not specs.
ColorChart.xml StdColorChart.Config2 filesUI theming — UTF-16 encoded, not parsed (low priority)
Techs.ini1 fileVersion 0605.0002.0001.0000 → TECHS-S 6.05 — recorded in README.md
EUCConnection.ini1 fileEUCTOOL DB pointer — covered in 00-architecture.md
licenses.licx1 fileInfragistics design-time license file — not relevant
TechsApplications.Config1 fileProvides 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 filesThese are Infragistics/GrapeCity Japanese resource bundles — third-party, not TECHS specs.

2. SC-code domain catalogue (from TechsApplications.Config)

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.

SC0xxx — Direct entity codes

SCEntityOwning master
SC0004PersonCdMstPerson
SC0005SecCdMstSec
SC0006DeptCdMstDept
SC0007BaseCdMstBase
SC0008ItemNoMstItemNo
SC0009OrderClassCdMstOrderClass
SC0010AddItemCd(additional item categorization)
SC0011SeibanClassCdMstSeibanClass
SC0012UserGroupCdMstUserGroup
SC0013CostItemCdMstCostItem
SC0014UnitGroupCdMstUnitGroup
SC0015ProcessGroupCdMstProcessGroup
SC0016SeibanScheduleCdMstSeibanSchedule
SC0017HouseCdMstHouse
SC0018ProdClassCdMstProdClass
SC0019PartsClassCdMstPartsClass
SC0020DealCdMstDeal
SC0021ClaimCdMstClaim
SC0022PayCdMstPay
SC0023CustomerCdMstCustomer
SC0024SupplierCdMstSupplier
SC0025DeliCdMstDeli (delivery)
SC0026TransportCdMstTransport
SC0027MakerCdMstMaker
SC0028QualityCdMstQuality
SC0029ItemNoGroupCdMstItemNoGroup
SC0030ProcessCdMstProcess
SC0031MachineGroupCdMstMachineGroup
SC0032MachineCdMstMachine
SC0033FailReasonCdMstFailReason
SC0034OpeCdMstOpe
SC0035ExpenseCdMstExpense
SC0036ArngCdMstArng
SC0037FailReasonClassCdMstFailReasonClass
SC0038SubjectCdMstSubject (account)
SC0039CustomerGroupCdMstCustomerGroup
SC0040CustomerUpGroupCdMstCustomerUpGroup
SC0041SupplierGroupCdMstSupplierGroup
SC0042SupplierUpGroupCdMstSupplierUpGroup
SC0043DeliPlaceCdMstDeliPlace
SC0044ProcessPtrnCdMstProcessPtrn
SC0045StockItemNo(subset of MstItemNo with stock-control)
SC0046PictureNo / PictureNoRevMstPictureNo (drawing + revision)
SC0047SubSubjectCdMstSubSubject (sub-account)
SC0048-52BuyArng / StockArng / InopeArng / OutopeArng / ExpenseArngArrangement variants
SC0053ReceiptDenomCdMstReceiptDenom (receipt method)
SC0054PayDenomCdMstPayDenom (payment method)
SC0055TargetArngCdMstTargetArng
SC0056-57BuyDeliPlace / StockDeliPlaceDelivery-place variants
SC0058SeibanSdlPtrnCdMstSeibanSdlPtrn (schedule pattern)
SC0059StdPartsOrderClassCdMstStdPartsOrderClass
SC0060StdStockArngOrderClassCdMstStdStockArngOrderClass

SC1xxx — "ALL" filter variants

Same entities as SC0xxx but in "any-of" filter mode (search forms with optional all-selection).

SC3xxx — Master-conversion variants

| SC3001-3007 | Conv{Person,Claim,Pay,ReceiptDenom,PayDenom,Process,Ope}Cd — for legacy code conversion during master refresh |

SC7xxx — Cross-entity info

| SC7001 | CustomerItemNoUpInfo (customer-specific part-number price) |

SC8xxx — Info DTOs (composite)

| 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.


3. Remaining artifact gaps (knowingly NOT extracted)

These are minor but listed for transparency:

GapWhat's missingMitigation
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.XmlInfragistics 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 dataInternal 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/* ASMXThe 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 languagesNone 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 proceduresOnly SIPls_UpdSchedule and PrcAddApStartRecord are mentioned in decomp.The architecture is service-oriented (BE → DA), not SP-heavy. Procs are minor.
Cryptography internalsLogin 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 divesWe 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.

4. Final document inventory (22 specs, 19,219 lines)

#FileLinesSource(s)What you get
README.md82(synthesis)Project overview & re-impl roadmap
VISUAL.md292(synthesis)ASCII-art summary diagrams
COMPLETENESS.md (this)(synthesis)Coverage audit & gap statement
0000-architecture.md831decomp + configs3-tier arch, login, lock model, integrations
0101-features-catalog.md769help-PDF indexAll 509 screens grouped by module
0202-user-stories.md355help PDFs200+ user stories across 22 domains
0303-use-cases.md610help PDFs20 end-to-end UCs (Order-to-Cash etc.)
0404-erd.md1,506RDLC + decomp110+ entities, 95 FKs, 4 Mermaid ER diagrams
0505-sequence-diagrams.md1,372decomp + PDFs14 Mermaid sequence diagrams of business flows
0606-reports-catalog.md278RDLC indexAll 225 SSRS reports
0707-modules.md71DLL inventoryDLL/UI taxonomy
0808-glossary.md137(synthesis)Japanese ⇄ English (90 terms + suffix conv.)
0909-requirements.md334(synthesis)80+ functional + 12 NFR requirements
1010-import-schemas.md201tmp/*.xmlCSV→DB column maps for 5 import flows
1111-soap-operations.md450UI strings379 screens × 193 SOAP methods (frequency-ranked)
1313-license-sku-map.md581ProductStruct.xmlIndustry editions + 8 product Options × 397 ApCds
1414-enums-and-status-codes.md927decomp Info.cs303 enums + S-code (S0/S1/S2…) DB encoding
1515-screen-summaries.md515help-PDF 概要509 screen overviews (one row each)
1616-screen-labels.md1,708UI decomp1,669 distinct Japanese labels per-screen
1717-form-controls.md4,705UI decomp20,812 form controls (txt/cmb/chk/grd/btn) per screen
1818-soap-services.md1,896UI WebRef378 SOAP service classes × 256 distinct operations
1919-column-dictionary.md1,865column constants1,557 columns bucketed by entity

Total: 22 documents, ~19,200 lines of synthesized specs from ~200 MB of binary input.


5. How to use these docs to build your PMS

  1. Read in order: README.md09-requirements.md04-erd.md00-architecture.md.
  2. For any specific screen (say "受注入力"):
    • Find the screen ID in 01-features-catalog.md0201001
    • Read the overview in 15-screen-summaries.md row 0201001
    • Read the use case it appears in via 03-use-cases.md (search "0201001")
    • For deep behavior, read the raw PDF at analysis/help_txt/0201001.txt
    • For the form layout, see 17-form-controls.md — find DLL TIBS0XX1100 (matching ID prefix)
    • For Japanese labels, see 16-screen-labels.md
    • For SOAP operations called by this screen, see 11-soap-operations.md and 18-soap-services.md
    • For data fields/columns, see 04-erd.md and 19-column-dictionary.md
    • For licensing tier, see 13-license-sku-map.md (which Option contains it)
  3. For the data model: 04-erd.md (Mermaid) + 19-column-dictionary.md (columns) + 14-enums-and-status-codes.md (Kbn values).
  4. For business workflows: 05-sequence-diagrams.md (technical) + 03-use-cases.md (user-facing).
  5. Glossary: 08-glossary.md for Japanese terms.
  6. For specific SQL/views: analysis/rdlc_meta/all_sql.txt (20,731 lines).
  7. For SOAP contract details: analysis/decomp_ui/Technoa.Techs.UI.<screen-id>/Technoa.Techs.<sid>.WebRef/SI*.cs.

6. Confidence levels per area

AreaConfidenceReason
Feature inventory (what screens exist)Very High1:1 from help PDFs
User stories / business intentHighDirect from manuals (Japanese authoritative source)
Form layout / UI fieldsHigh20,812 control names extracted
Data model entities & relationshipsHighRDLC + column constants cross-confirmed
Exact column types, lengths, nullabilityMediumInferred from RDLC field types and naming conv.; not from DB schema
SOAP service contractsHigh378 services × 256 ops decompiled
Server-side business logicMediumInferred from method names + help PDFs; bulk of BE/DA not in dump
Period close / 締次 / 月次 algorithmsMediumInferred — exact ordering and edge cases need PDF deep-read
Costing formulasLow–MediumReports show fields; algorithms not visible
Tax / Japanese accounting rulesLowDomain-specific knowledge not in code; consult Japanese-domain expert
Lock frameworkHighDecomp shows exact SQL strings
Audit trail (SysUpdRec)HighConfirmed in code
License/SKU modelVery HighProductStruct.xml is explicit
Integration with Seiryu / Plasurm / BtoBMediumBoundary documented; internal protocols not

7. Verdict

You have enough to start building.

The main "you must look at this yourself" categories during implementation are:

Everything else — architecture, data model, workflows, screen catalogue, UI labels, locking, error codes, status enums, license tiers — is in this docs/ folder.

← 前へ
ビジュアル資料