Fourth Shift四班FSTI模块的资料文档格式.docx

上传人:b****2 文档编号:1393961 上传时间:2023-04-30 格式:DOCX 页数:62 大小:256.23KB
下载 相关 举报
Fourth Shift四班FSTI模块的资料文档格式.docx_第1页
第1页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第2页
第2页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第3页
第3页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第4页
第4页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第5页
第5页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第6页
第6页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第7页
第7页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第8页
第8页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第9页
第9页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第10页
第10页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第11页
第11页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第12页
第12页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第13页
第13页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第14页
第14页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第15页
第15页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第16页
第16页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第17页
第17页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第18页
第18页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第19页
第19页 / 共62页
Fourth Shift四班FSTI模块的资料文档格式.docx_第20页
第20页 / 共62页
亲,该文档总共62页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Fourth Shift四班FSTI模块的资料文档格式.docx

《Fourth Shift四班FSTI模块的资料文档格式.docx》由会员分享,可在线阅读,更多相关《Fourth Shift四班FSTI模块的资料文档格式.docx(62页珍藏版)》请在冰点文库上搜索。

Fourth Shift四班FSTI模块的资料文档格式.docx

第二个类库FourthShift.TransactionClient用来处理事务。

FSTIClient是该类库的主要类,它有两个方法:

ProcessCDF和ProcessID,分别接收CDF事务字符串和事务对象。

FSTIClient使用.NetRemoting技术向服务器提交请求以获得高速处理。

处理结束后,服务器向客户端返回成功或失败的信息。

11.3手册结构

本手册旨在帮助程序员使用FourthShift.Transactions和FourthShift.TransactionClient中的类。

手册按以下结构编写:

FourthShift.Transactions编程指南

FourthShift.Transactions类库的编程指南。

使用示例程序演示使用库中的类。

FourthShift.TransactionClien编程指南

FourthShift.TransactionClient类库的编程指南。

使用示例程序演示FourthShift.TransactionClient库中的FSTIClient类和相关的FSTIError类的主要功能。

FourthShift.TransactionsAPI

FourthShift.Transactions库的参考手册。

包含了库中类的详尽的属性和方法。

FourthShift.TransactionClientAPI

FourthShift.TransactionClient库的参考手册。

包含了库中类的详尽的属性和方法。

FSTI系统管理

FSTISDK的管理信息。

本部分特别重要的是Impersonation配置信息。

12.FourthShift.Transactions编程指南

FourthShift.Transactions提供了一致的方便的接口,用于生成和操作四班RCVR和SOP导入所支持的事务。

库中的类基于四班的数据导入字典和SOP的导入字典。

在与FSTIClient对象联合使用进行实时处理时,库中的类尤其有用;

也可以单独使用生成逗号分隔格式(CDF)的事务字符串,这些字符串可写入文件后用于RCVR和四班SOP导入。

库中的类以相关的6个字符命名,例如,ITMB00类用来生成一个新物料,MOMT00用来生成新的生产订单页眉,COMTOO插入一个新的客户订单页眉,COMT05添加客户订单行,SOPO00生成一个新的SOP订单页眉。

类库包含有上百个功能类,每一个都在四班或SOP导入字段中定义。

类中的大多数属性,例如ITMB00类的ItemNumber和ItemDescription,都对应该类基于的逗号分隔格式的各字段。

事务类属性的命名是基于四班SQL函数处理视图名称,因为这些名称有自描述性并易于理解。

但FourthShift.Transactions也支持TITANIUM和SQL系统。

为了描述更具体一些,以下是ITMB00的所有属性:

Category,Description,IsInspectionRequired,IsLotTraced,IsSerialized,ItemDescription,ItemNumber,ItemRevision,ItemStatus,ItemType,ItemUM,MakeBuyCode,Name,OrderPolicy,RequiredAreSet

以下是MOMT00类的属性:

Category,DeliverTo,Description,MONumber,Name,Planner,RequiredAreSet,TextLine1,TextLine2,TextLine3,TextLine4,WorkCenter

也有一些属性是所有事务类共有的,如Category、Description和RequiredAreSet。

其余字段是各类型事务独有的,如ItemNumber、ItemUM是ITMB00的;

MONumber是MOMT00的。

应用程序生成类的实例,设置ItemNumber、ItemDescription、ItemUM等字段,然后就可以使用对象的GetString中获取正确的格式化字符串,或者将对象传递给FSTIClient处理。

12.1编程范例说明

本例将会通过一个名为ItmbObject的示例程序使用FSTransaction对ITMB00对象和MOMT03对象进行操作。

如果已经安装了FSTM模块,在四班安装目录下的\mfgsys\fstm\SDKSampleCode目录会有源代码。

实例程序是用C#和VB.NET编写的一个简单的控制台程序,而VB6则是用列表框来模拟控制台窗口。

12.2引用类库

为了能访问FourthShift.Transactions库,C#和VisualBasic.NET程序员需要在程序中添加如下引用:

ProgramFiles=>

FourthShift=>

Managed=>

FourthShift.Transactions.dll

该库文件仅在编程时起作用,工程的引用设置copylocal应设为false。

因为运行时的dll实际是在是在全局编译缓存(GAC)中,而GAC则是四班工作站安装的一部分。

VB6程序员需要添加如下应用:

FourthShiftTransactionLibrary

一旦引用已设置,C#和VB.NET程序员就需要添加使用或导入声明:

[C#]

usingSystem;

usingSystem.Collections;

usingSoftBrands.FourthShift.Transaction;

[VB.Net]

ImportsSystem

ImportsSystem.Collections

ImportsSoftBrands.FourthShift.Transaction

12.3变量声明

示例程序是一个控制台程序,代码结构是一个大的函数,大多数变量在顶部声明(VB6代码都包含在窗体加载事件中)。

以下是程序的第一部分--变量声明,这部分之前是用于描述变量用途的注释。

ITMB00myItem=newITMB00();

stringtransactionString;

ITransactionFieldcurrentField;

string[]itemRequiredFieldNames;

int[]itemRequiredFieldNumbers;

int[]itemEligibleFieldNumbers;

inti;

DimmyItemAsITMB00=NewITMB00

DimtransactionStringAsString

DimcurrentFieldAsITransactionField

DimitemRequiredFieldNamesAsString()

DimitemRequiredFieldNumbersAsInt32()

DimitemEligibleFieldNumbersAsInt32()

DimiAsInt32

[VB6]

DimmyItemAsITMB00

SetmyItem=NewITMB00

DimitemRequiredFieldNames()AsString

DimitemRequiredFieldNumbers()AsLong

DimitemEligibleFieldNumbers()AsLong

DimiAsLong

第一行生成一个ITMB00对象;

第二个变量transactionString用于最终保存ITMB00CDF格式的事务字符串。

下一个变量currentField是ItransactionField类型的。

TransactionField类型和它的接口ItransactionField是使用该类库的关键概念。

ITMB00的大所数属性都对应原来的CDF字符串的字段。

这些属性都来自于拥有ItransactionField接口的TransactionField类型的普通对象。

这意味着这些属性都共有一些如Value和Type这样的属性,这也使编程的通用性更好,如以下VB.Net语法所示:

currentField=myItem.ItemNumber

‘currentFieldreferencesItemNumber

currentField=myItem.ItemDescription

‘currentFieldnowreferencesItemDescription

同样,所有的事务类如ITMB00和MOMT00都派生自TransactionId,而TransactionId实现了Itransaction接口,这样就可以编写如下的通用代码:

DimcurrentTransactionasITransaction

currentTransaction=newITMB00

‘currentTransactionreferencesaITMB00transactionobject

currentTransaction=newMOMT00

‘currentTransactionnowreferencesaMOMT00transactionobject

后面的三个变量用来保存由TransactionId派生的所有类的方法的返回值。

itemRequiredNames可以接收一个字段名数组,字段名顺序必须按照RCVR或SOP导入的有效输入的事务设置。

itemRequiredFieldNumbers保存类似的信息,但它保存的是事务字符串的位置而非名称。

然而事务中字段并不都是有效的,许多符合格式的事务字段串很多位置都是空的。

itemEligibleFieldNumbers用于接收调用方标识可以填入的字段位置的方法的结果。

EligibleFieldsNumbers是RequiredFieldNumbers的超集。

12.4设置属性

以下的代码是设置myITMB00对象的属性。

记住,每个属性,如ItemNumber,都是一个对象的引用,该对象实现了ItransactionField接口,并且用.Value语法来保存和检索实际设置值。

myItem.ItemNumber.Value="

19-BLACK"

;

myItem.ItemDescription.Value="

19\"

FRAME,BLACK"

myItem.ItemUM.Value="

EA"

myItem.ItemRevision.Value="

01"

myItem.MakeBuyCode.Value="

M"

myItem.ItemType.Value="

N"

myItem.ItemStatus.Value="

A"

myItem.IsLotTraced.Value="

myItem.IsSerialized.Value="

myItem.OrderPolicy.Value="

3"

myItem.IsInspectionRequired.Value="

Y"

WithmyItem

.ItemNumber.Value="

.ItemDescription.Value="

19"

"

.ItemUM.Value="

.ItemRevision.Value="

.MakeBuyCode.Value="

.ItemType.Value="

.ItemStatus.Value="

.IsLotTraced.Value="

.IsSerialized.Value="

.OrderPolicy.Value="

.IsInspectionRequired.Value="

EndWith

 

12.5获取事务字符串

下一行代码演示了如何获取以逗号分隔的ITMB00事务的字符串。

用枚举值参数来指定所需的格式。

这段代码传递TransactionStringFormat.fsCDF值来获取CDF格式的字符串。

也可以TransactionStringFormat.fsXML参数取得XML字符串。

//RetrievethetransactionstringfromtheItmb00object

transactionString=myItem.GetString(TransactionStringFormat.fsCDF);

Console.WriteLine("

===TransactionString===\n"

);

Console.WriteLine(transactionString);

Console.WriteLine();

'

RetrievethetransactionstringfromtheItmb00object

transactionString=myItem.GetString(TransactionStringFormat.fsCDF)

===TransactionString==="

&

vbCrLf)

Console.WriteLine(transactionString)

Console.WriteLine()

transactionString=myItem.GetString(TransactionStringFormat_fsCDF)

listOutput.AddItem"

listOutput.AddItemtransactionString

这部分代码的执行结果是:

===TransactionString===

ITMB00"

"

11/05/2003"

018:

10:

25"

0"

GetString方法将会在事务字符串的第三和第四个位置填入当前日期和时间。

12.6取得必填字段名

所有的事务类都有一个GetRequiredFieldNames用于获得必填字段名。

这段代码演示了如何取得字段名。

有些事务类,其字段可能需要填写,这是由配置决定的,例如与批次相关的物料。

该函数不能返回可能要填字段,只能返回必须要填的字段。

//GettherequiredfieldnamesfromtheItmb00object

itemRequiredFieldNames=myItem.GetRequiredFieldNames();

===RequiredFieldsNames===\n"

for(i=0;

i<

itemRequiredFieldNames.Length;

i++)

{

FieldName:

{0}"

itemRequiredFieldNames[i]);

}

GettherequiredfieldnamesfromtheItmb00object

itemRequiredFieldNames=myItem.GetRequiredFieldNames()

===RequiredFieldsNames==="

Fori=0ToitemRequiredFieldNames.Length-1

Console.WriteLine("

{0}"

itemRequiredFieldNames(i))

Nexti

Fori=0ToUBound(itemRequiredFieldNames)

listOutput.AddItem"

"

itemRequiredFieldNames(i)

===RequiredFieldsNames===

ItemNumber

ITMB00中只有ItemNumber是必填的,其它都是由选项决定的。

12.7取得必填字段序号

与必填字段名不同的是,以下代码使用GetRequiredFieldNumbers方法取得逗号分隔字符串中必填字段的序号。

结果显示的是必填的ItemNumber字段位置7。

//Gettherequiredfieldnumbers(thepositionsinthetransactionstring

//thatarerequired)

itemRequiredFieldNumbers=myItem.GetRequiredFieldNumbers();

===RequiredFieldsNumbers===\n"

itemRequiredFieldNumbers.Length;

FieldNumber:

itemRequiredFieldNumbers[i]);

Gettherequiredfieldnumbers(thepositionsinthetransactionstring

thatarerequired)

itemRequiredFieldNumbers=myItem.GetRequiredFieldNumbers()

===RequiredFieldsNumbers==="

Fori=0ToitemRequiredFieldNumbers.Length-1

itemRequiredFieldNumbers(i))

Gettherequiredfieldnumbers(thepositionsinthetransactionstring

listO

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2