掌桥专利:专业的专利平台
掌桥专利
首页

一种电文生成方法及装置

文献发布时间:2023-06-19 16:09:34



技术领域

本申请涉及数据处理领域,尤其涉及一种电文生成方法及装置。

背景技术

随着中国进出口贸易业务量的增长,进出口商之间有了更多样的诉求。为了兼容多样的条款内容,SWFT电文标准定义了信用证一次可发送1个MT700以及最少0个最多7个MT701电文。

目前,针对一个信用证需要发送多条电文才能将信用证条款全部发送给出口商银行的情况,录入大字段的部分内容后自动产生MT700电文,若MT700 超长则手动新增N条MT701电文,将超长的大字段内容录入到各条MT701 电文中。电文录入完成后依次进行电文保存,每条电文保存时都需要进行长度校验,如果电文超过一万字符则柜员需要对其进行重新修改,重新分配大字段在各个电文中的字符数和MT701电文出现的顺序,以确保电文的顺序不乱序且产生的电文不超长。

而采用手动新增N条MT701电文的方式,人工干预的环节较多,耗时长、效率低、易出错,并且存在信用证理解有误的风险。这种做法操作繁琐且风险较大,严重降低了信用证开立的效率和可靠性。同时由于是手工新增N条 MT701电文,柜员要将每个大字段依次合理地分配到各个电文中,对柜员的要求较高,大大降低了系统的可用性和便利性。

因此,如何将大字段自动映射到MT700电文和MT701电文中,并保证生成的电文个数尽可能少,电文内容有序不错乱,电文长度不超长且大字段行数满足要求是信用证交易中亟待解决的问题。

发明内容

有鉴于此,本申请的目的在于提供了一种电文生成方法及装置,以实现在生成电文时,减少人工干预环节,提高信用证处理的效率,增强信用证开立的可靠性,其具体技术方案如下:

第一方面,本申请提供了一种电文生成方法,所述方法包括:

获取用于生成预设MT700电文的第一字段集合,判断所述第一字段集合的字符数是否超过1万字符;

若所述第一字段集合超过1万字符,则判断所述第一字段集合可拆分成预设MT701电文的第一电文个数是否大于0;

若所述第一电文个数不大于0,则将所述第一字段集合中的字段按照字段长度大小进行排序;

从最小长度的字段开始每次从所述第一字段集合中提取出一个字段,直到所述第一字段集合不超过1万字符;

基于从所述第一字段集合中提取出字段后的剩余字段,生成第一MT700 电文;

基于从所述第一字段集合中提取出的字段,生成第一MT701电文;

判断所述第一MT701电文的字符数是否超过1万字符;

若所述第一MT701电文不超过1万字符,则判断所述第一MT701电文可拆分成预设MT701电文的第二电文个数是否大于0;

若所述第二电文个数不大于0,则输出所述第一MT700电文和所述第一 MT701电文。

在一种可能的实现方式中,所述第一字段集合包括服务货物条款45A、单据条款46A、其他条款47A、对受益人的特殊付款条件49G、对收报行的特殊付款条件49H五个大字段,所述方法还包括:

分别计算所述五个大字段各自的行数;

将所述五个大字段各自的行数分别除以100,得到所述五个大字段可单独拆分成预设MT701电文的电文个数;

汇总所述五个大字段可单独拆分成预设MT701电文的电文个数,得到所述第一电文个数。

在一种可能的实现方式中,所述方法还包括:

若所述第一电文个数大于0,则计算所述第一字段集合中各个大字段各自的行数分别除以100后的商Qi和余数Ri,i为正整数;

基于所述第一字段集合中各个大字段从Ri+1行开始每100行的字段,生成ΣQi个大字段;

基于所述ΣQi个大字段,生成ΣQi个MT701电文;

基于所述第一字段集合中各个大字段前Ri行的字段,生成第二字段集合;

判断所述第二字段集合的字符数是否超过1万字符;

若所述第二字段集合超过1万字符,则将所述第二字段集合中的字段按照字段长度大小进行排序;

从最小长度的字段开始每次从所述第二字段集合中提取出一个字段,直到所述第二字段集合不超过1万字符;

基于从所述第二字段集合中提取出字段后的剩余字段,生成第二MT700 电文;

基于从所述第二字段集合中提取出的字段,生成第二MT701电文;

判断所述第二MT701电文的字符数是否超过1万字符;

若所述第二MT701电文不超过1万字符,则判断所述第二MT701电文可拆分成预设MT701电文的第三电文个数是否大于0;

若所述第三电文个数不大于0,则输出所述第二MT700电文、所述ΣQi 个MT701电文和所述第二MT701电文。

在一种可能的实现方式中,所述方法还包括:

若所述第一字段集合不超过1万字符,则判断所述第一字段集合可拆分成预设MT701电文的第四电文个数是否大于0;

若所述第四电文个数不大于0,则基于所述第一字段集合中的字段,生成第三MT700电文;

输出所述第三MT700电文。

在一种可能的实现方式中,所述方法还包括:

若所述第四电文个数大于0,则计算所述第一字段集合中各个大字段各自的行数分别除以100后的商Qi和余数Ri,i为正整数;

基于所述第一字段集合中各个大字段从Ri+1行开始每100行的字段,生成ΣQi个大字段;

基于所述ΣQi个大字段,生成ΣQi个MT701电文;

基于所述第一字段集合中各个大字段前Ri行的字段,生成第四MT700 电文;

输出所述第四MT700电文和所述ΣQi个MT701电文。

第二方面,本申请还提供了一种电文生成装置,所述装置包括:

判断单元,用于获取用于生成预设MT700电文的第一字段集合,判断所述第一字段集合的字符数是否超过1万字符;

所述判断单元,还用于当所述第一字段集合超过1万字符时,判断所述第一字段集合可拆分成预设MT701电文的第一电文个数是否大于0;

排序单元,用于当所述第一电文个数不大于0时,将所述第一字段集合中的字段按照字段长度大小进行排序;

提取单元,用于从最小长度的字段开始每次从所述第一字段集合中提取出一个字段,直到所述第一字段集合不超过1万字符;

生成单元,用于基于从所述第一字段集合中提取出字段后的剩余字段,生成第一MT700电文;

所述生成单元,还用于基于从所述第一字段集合中提取出的字段,生成第一MT701电文;

所述判断单元,还用于判断所述第一MT701电文的字符数是否超过1万字符;

所述判断单元,还用于当所述第一MT701电文不超过1万字符时,判断所述第一MT701电文可拆分成预设MT701电文的第二电文个数是否大于0;

输出单元,用于当所述第二电文个数不大于0时,输出所述第一MT700 电文和所述第一MT701电文。

在一种可能的实现方式中,所述第一字段集合包括服务货物条款45A、单据条款46A、其他条款47A、对受益人的特殊付款条件49G、对收报行的特殊付款条件49H五个大字段,所述装置还包括:计算单元,所述计算单元用于:

分别计算所述五个大字段各自的行数;

将所述五个大字段各自的行数分别除以100,得到所述五个大字段可单独拆分成预设MT701电文的电文个数;

汇总所述五个大字段可单独拆分成预设MT701电文的电文个数,得到所述第一电文个数。

在一种可能的实现方式中,所述装置还包括:

所述计算单元,还用于当所述第一电文个数大于0时,计算所述第一字段集合中各个大字段各自的行数分别除以100后的商Qi和余数Ri,i为正整数;

所述生成单元,还用于基于所述第一字段集合中各个大字段从Ri+1行开始每100行的字段,生成ΣQi个大字段;

所述生成单元,还用于基于所述ΣQi个大字段,生成ΣQi个MT701电文;

所述生成单元,还用于基于所述第一字段集合中各个大字段前Ri行的字段,生成第二字段集合;

所述判断单元,还用于判断所述第二字段集合的字符数是否超过1万字符;

所述排序单元,还用于当所述第二字段集合超过1万字符时,将所述第二字段集合中的字段按照字段长度大小进行排序;

所述提取单元,还用于从最小长度的字段开始每次从所述第二字段集合中提取出一个字段,直到所述第二字段集合不超过1万字符;

所述生成单元,还用于基于从所述第二字段集合中提取出字段后的剩余字段,生成第二MT700电文;

所述生成单元,还用于基于从所述第二字段集合中提取出的字段,生成第二MT701电文;

所述判断单元,还用于判断所述第二MT701电文的字符数是否超过1万字符;

所述判断单元,还用于当所述第二MT701电文不超过1万字符时,判断所述第二MT701电文可拆分成预设MT701电文的第三电文个数是否大于0;

所述输出单元,还用于当所述第三电文个数不大于0时,输出所述第二 MT700电文、所述ΣQi个MT701电文和所述第二MT701电文。

在一种可能的实现方式中,所述装置还包括:

所述判断单元,还用于当所述第一字段集合不超过1万字符时,判断所述第一字段集合可拆分成预设MT701电文的第四电文个数是否大于0;

所述生成单元,还用于当所述第四电文个数不大于0时,基于所述第一字段集合中的字段,生成第三MT700电文;

所述输出单元,还用于输出所述第三MT700电文。

在一种可能的实现方式中,所述装置还包括:

所述计算单元,还用于当所述第四电文个数大于0时,计算所述第一字段集合中各个大字段各自的行数分别除以100后的商Qi和余数Ri,i为正整数;

所述生成单元,还用于基于所述第一字段集合中各个大字段从Ri+1行开始每100行的字段,生成ΣQi个大字段;

所述生成单元,还用于基于所述ΣQi个大字段,生成ΣQi个MT701电文;

所述生成单元,还用于基于所述第一字段集合中各个大字段前Ri行的字段,生成第四MT700电文;

所述输出单元,还用于输出所述第四MT700电文和所述ΣQi个MT701 电文。

本申请实施例提供的方法,获取用于生成预设MT700电文的第一字段集合,判断第一字段集合的字符数是否超过1万字符;若第一字段集合超过1 万字符,则判断第一字段集合可拆分成预设MT701电文的第一电文个数是否大于0;若第一电文个数不大于0,则将第一字段集合中的字段按照字段长度大小进行排序;从最小长度的字段开始每次从第一字段集合中提取出一个字段,直到第一字段集合不超过1万字符;基于从第一字段集合中提取出字段后的剩余字段,生成第一MT700电文;基于从第一字段集合中提取出的字段,生成第一MT701电文;判断第一MT701电文的字符数是否超过1万字符;若第一MT701电文不超过1万字符,则判断第一MT701电文可拆分成预设 MT701电文的第二电文个数是否大于0;若第二电文个数不大于0,则输出第一MT700电文和第一MT701电文。通过本申请实施例的技术方案,根据交易中涉及的字段需要单独拆分成MT701电文的个数,判断拆分出MT701电文后的字段是否可以纳入MT700电文中或者拆分成新的MT701。将电文内容自动分配到多条电文中,实现电文的正常生成和发送,能使得电文不超长,电文生成的顺序不错乱,生成的电文意思不易被误解。在生成电文时,减少人工干预的环节,柜员不需要按照电文的要求录入大字段,提高了信用证处理的效率,增强了信用证开立的可靠性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本申请提供的信用证业务流程图;

图2示出了本申请提供的电文传输流程图;

图3示出了本申请提供的一种电文生成方法的第一实施例的流程图;

图4示出了本申请提供的一种电文生成方法的第二实施例的流程图;

图5示出了本申请提供的一种电文生成方法的第三实施例的流程图;

图6示出了本申请提供的一种电文生成方法的应用场景例的流程图;

图7示出了本申请提供的一种电文生成装置的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

首先,对本申请实施例中可能出现的一些名词进行解释。

申请人:指申请开立信用证的当事人,一般为货物购买方或服务接受方。

受益人:指接受信用证并享有信用证权益的当事人,一般为货物销售方或服务提供方。

开证行:指应申请人申请开立信用证的银行。

通知行:指应开证行的要求向受益人通知信用证的银行。

议付行:指开证行指定的为受益人办理议付的银行,开证行应指定一家或任意银行作为议付信用证的议付行。

开证:指开证行根据信用证申请人与开证行签订的协议,向受益人作出的付款承诺。

通知:指银行作为通知行,收到开证行开来或他行转来的信用证后,审核信用证表面真实性,并将信用证通知给受益人的行为。

MT700:指开证行发送给通知行的电文,用于作为开证行的一个单据个人跟单信用证的条款和条件。

MT701:指开证行发送给通知行的电文,当MT700电文长度超过1万字符或者45A、46A、47A、49G、49H域超过100行时,将MT700电文中45A、 46A、47A、49G、49H域超长的内容放入MT701电文,MT701电文作为MT700 电文的一个附属电文,一次最多发送7个。

参见图1,示出了信用证业务流程图,国际结算项下一笔进出口贸易需经过签订合同、申请开证、来证通知、审单无误议付、寄单索汇、审单付款、交款赎单等流程完成整个贸易。

1)签订合同:进出口商订立买卖合同,明确规定进口商以信用证方式支付货款。

2)申请开证:申请人向开证行申请开证,根据外贸合同相关内容填写开证申请书,并缴纳押金或提供其他保证。

3)开出信用证:开证行审核开证申请人提交的申请书内容,若审核通过,向受益人开出信用证,并将信用证邮寄至受益人所在地通知行。

4)来证通知:通知行对信用证和受益人提交的印鉴进行核对,若核对无误,将信用证交给受益人。

5)接受信用证并发货:受益人接受信用证并发货。

6)备齐单据提示议付:受益人备齐单据提示通知行/议付行议付。

7)审单无误议付:议付行审单无误进行议付。

8)寄单索汇:议付行应客户申请,按照客户要求向开证行寄交单据,委托其代为向进口商收取款项。

9)审单付款:开证行在收到单据后,经验核认为符合信用证规定,向议付行偿付票款。

10)通知申请人备款赎单:开证行通知申请人备款赎单。

11)交款赎单:申请人向开证行交款赎单。

12)凭单据提货:进口商凭单据提货。

参见图2,示出了电文传输流程图,进口商银行通过MT700/MT701电文进行开证确认,通过swift系统进行传输,出口商银行收到MT700/MT701电文后,产生信用证的效力。

参见图3,示出了本申请实施例提供的一种电文生成方法的第一实施例的流程图,本申请实施例至少包括以下步骤:

301,获取用于生成预设MT700电文的第一字段集合,判断第一字段集合的字符数是否超过1万字符。

对于生成MT700电文的字段而言,只有服务货物条款(45A)、单据条款 (46A)、其他条款(47A)、对受益人的特殊付款条件(49G)、对收报行的特殊付款条件(49H)五个大字段的值会使得MT700电文超过1万字符。其中,MT700电文超过1万字符或者MT700电文中45A、46A、47A、49G、49H五个域任意一个域的行数超过100行,会导致电文格式异常。

在本申请实施例中,获取用于生成预设MT700电文的第一字段集合,并在获取第一字段集合后,判断第一字段集合的字符数是否超过一万字符,以此初步判断基于第一字段集合生成MT700电文,该MT700电文是否会出现格式异常。

302,若第一字段集合超过1万字符,则判断第一字段集合可拆分成预设 MT701电文的第一电文个数是否大于0。

在本申请实施例中,若第一字段集合超过1万字符,则需要判断第一字段集合可拆分成预设MT701电文的第一电文个数是否大于0。若第一电文个数大于0,说明第一字段集合的各个大字段中存在大字段的行数超过100行;若第一电文个数不大于0,说明第一字段集合中各个大字段的行数均不超过 100行。

第一字段集合包括45A、46A、47A、49G、49H这五个大字段,进一步地,本申请实施例提供的方法还包括以下步骤:

S1,分别计算五个大字段各自的行数。

在本申请实施例中,分别计算五个大字段各自的行数,即计算45A、46A、 47A、49G、49H大字段各自的行数。

S2,将五个大字段各自的行数分别除以100,得到五个大字段可单独拆分成预设MT701电文的电文个数。

在本申请实施例中,将五个大字段各自的行数分别除以100,得到五个大字段可单独拆分成预设MT701电文的电文个数。例如,若45A大字段有150 行,将150除以100,得到的商为1,余数为50,则45A大字段可单独拆分成预设MT701电文的电文个数为1。若45A大字段有64行,将64除以100,得到的商为0,余数为64,则45A大字段可单独拆分成预设MT701电文的电文个数为0。

S3,汇总五个大字段可单独拆分成预设MT701电文的电文个数,得到第一电文个数。

在本申请实施例中,汇总第一字段集合中五个大字段可单独拆分成预设 MT701电文的电文个数,即可得到第一字段集合可拆分成预设MT701电文的第一电文个数。

303,若第一电文个数不大于0,则将第一字段集合中的字段按照字段长度大小进行排序。

在本申请实施例中,若第一电文个数不大于0,说明45A、46A、47A、 49G、49H这五个大字段的行数均不超过100行。此时,需要将第一字段集合中的字段按照字段长度大小进行排序,以便从第一字段集合中取出最小长度的字段。

304,从最小长度的字段开始每次从第一字段集合中提取出一个字段,直到第一字段集合不超过1万字符。

305,基于从第一字段集合中提取出字段后的剩余字段,生成第一MT700 电文。

进一步地,生成第一MT700电文的其中一种实现方式是,按照45A、46A、 47A、49G、49H的顺序将从第一字段集合中提取出字段后的剩余字段分别赋值给第一MT700电文中的45A、46A、47A、49G、49H五个域。

306,基于从第一字段集合中提取出的字段,生成第一MT701电文。

307,判断第一MT701电文的字符数是否超过1万字符。

在本申请实施例中,在生成第一MT701电文之后,还需要判断第一MT701 电文的字符数是否超过1万字符,以防第一MT701电文超过1万字符。若第一MT701电文超过1万字符,可参照步骤302-306,从第一MT701电文中提取出字段生成新的MT701电文。

308,若第一MT701电文不超过1万字符,则判断第一MT701电文可拆分成预设MT701电文的第二电文个数是否大于0。

进一步地,若第一MT701电文超过1万字符,则将第一MT701电文中的字段按照字段长度大小进行排序,从最小长度的字段开始每次从第一MT701电文中提取出一个字段,直到第一MT701电文不超过1万字符。基于从第一MT701电文中提取出的字段,生成新的MT701电文。

309,若第二电文个数不大于0,则输出第一MT700电文和第一MT701 电文。

在本申请实施例中,按照本申请实施例生成的第一MT700电文和第一 MT701电文都不超过1万字符,并且第一MT700电文和第一MT701电文中 45A、46A、47A、49G、49H五个域的行数均不超过100行。

在本申请实施例中,获取用于生成预设MT700电文的第一字段集合,判断第一字段集合的字符数是否超过1万字符;若第一字段集合超过1万字符,则判断第一字段集合可拆分成预设MT701电文的第一电文个数是否大于0;若第一电文个数不大于0,则将第一字段集合中的字段按照字段长度大小进行排序;从最小长度的字段开始每次从第一字段集合中提取出一个字段,直到第一字段集合不超过1万字符;基于从第一字段集合中提取出字段后的剩余字段,生成第一MT700电文;基于从第一字段集合中提取出的字段,生成第一MT701电文;判断第一MT701电文的字符数是否超过1万字符;若第一 MT701电文不超过1万字符,则判断第一MT701电文可拆分成预设MT701 电文的第二电文个数是否大于0;若第二电文个数不大于0,则输出第一MT700 电文和第一MT701电文。通过本申请实施例的技术方案,根据交易中涉及的字段需要单独拆分成MT701电文的个数,判断拆分出MT701电文后的字段是否可以纳入MT700电文中或者拆分成新的MT701。将电文内容自动分配到多条电文中,实现电文的正常生成和发送,能使得电文不超长,电文生成的顺序不错乱,生成的电文意思不易被误解。在生成电文时,减少人工干预的环节,柜员不需要按照电文的要求录入大字段,提高了信用证处理的效率,增强了信用证开立的可靠性。

参见图4,示出了本申请实施例提供的一种电文生成方法的第二实施例的流程图,本申请实施例至少包括以下步骤:

401,获取用于生成MT700电文的第一字段集合,判断第一字段集合是否超过1万字符。

402,若第一字段集合超过1万字符,则判断第一字段集合可拆分成预设 MT701电文的第一电文个数是否大于0。

403,若第一电文个数大于0,则根据第一字段集合中各个大字段各自的行数分别除以100后的商Qi和余数Ri,i为正整数。

404,基于第一字段集合中各个大字段从Ri+1行开始每100行的字段,生成ΣQi个大字段;

405,基于ΣQi个大字段,生成ΣQi个MT701电文。

在本申请实施例中,若第一电文个数大于0,说明第一字段集合中的五个大字段至少存在一个大字段的行数超过100行。其中,R1表示45A的余数, R2表示46A的余数,R3表示47A的余数,R4表示49G的余数,R5表示49H 的余数。例如,45A大字段有245行,将245除以100,得到Q1为2,R1为 45,基于第46-145行的字段、第146-245行的字段,生成2个大字段,基于这2个大字段,生成2个MT701电文。

406,基于第一字段集合中各个大字段前Ri行的字段,生成第二字段集合。

在本申请实施例中,基于第一字段集合45A、46A、47A、49G、49H五个大字段中前Ri行的字段,生成第二字段集合。即基于45A中前R1行、46A 中前R2行、47A中前R3行、49G中前R4行、49H中前R5行的字段,生成第二字段集合。

407,判断第二字段集合的字符数是否超过1万字符。

408,若第二字段集合超过1万字符,则将第二字段集合中的字段按照字段长度大小进行排序。

在本申请实施例中,由于第二字段集合是由45A、46A、47A、49G、49H 五个大字段中的前Ri行的字段组成的,那么第二字段集合中每个大字段的行数均不超过100行,无需在对第二字段集合中的字段进行排序之前判断第二字段集合可拆分成预设MT701电文的电文个数是否大于0。

409,从最小长度的字段开始每次从第二字段集合中提取出一个字段,直到第二字段集合不超过1万字符。

410,基于从第二字段集合中提取出字段后的剩余字段,生成第二MT700 电文。

411,基于从第二字段集合中提取出的字段,生成第二MT701电文。

412,判断第二MT701电文的字符数是否超过1万字符。

413,若第二MT701电文不超过1万字符,则判断第二MT701电文可拆分成预设MT701电文的第三电文个数是否大于0。

414,若第三电文个数不大于0,则输出第二MT700电文、ΣQi个MT701 电文和第二MT701电文。

步骤409-414与步骤304-309相似,可参见步骤304-309,此处不做具体描述。

参见图5,示出了本申请实施例提供的一种电文生成方法的第三实施例的流程图,本申请实施例至少包括以下步骤:

501,获取用于生成MT700电文的第一字段集合,判断第一字段集合的字符数是否超过1万字符。

502,若第一字段集合不超过1万字符,则判断第一字段集合可拆分成预设MT701电文的第四电文个数是否大于0。

503,若第四电文个数不大于0,则基于第一字段集合中的字段,生成第三MT700电文。

504,输出第三MT700电文。

在本申请实施例中,对于第一字段集合不超过1万字符且每个大字段均不超过100行的情况,只生成一个MT700电文。

505,若第四电文个数大于0,则计算第一字段集合中各个大字段各自的行数分别除以100后的商Qi和余数Ri,i为正整数。

506,基于第一字段集合中各个大字段从Ri+1行开始每100行的字段,生成ΣQi个大字段;

507,基于ΣQi个大字段,生成ΣQi个MT701电文。

508,基于第一字段集合中各个大字段前Ri行的字段,生成第四MT700 电文。

509,输出第四MT700电文和ΣQi个MT701电文。

步骤505-508与步骤403-406相似,可参见步骤403-406,此处不做具体描述。不同的是,由于第一字段集合不超过1万字符,使得第四MT700电文也不超过1万字符,则无需判断第四MT700电文的字符数是否超过1万字符。

通过本申请实施例的技术方案,根据交易中涉及的字段需要单独拆分成 MT701电文的个数,判断拆分出MT701电文后的字段是否可以纳入MT700 电文中或者拆分成新的MT701。将电文内容自动分配到多条电文中,实现电文的正常生成和发送,能使得电文不超长,电文生成的顺序不错乱,生成的电文意思不易被误解。在生成电文时,减少人工干预的环节,柜员不需要按照电文的要求录入大字段,提高了信用证处理的效率,增强了信用证开立的可靠性。

请参见图6,示出了本申请实施例提供的一种电文生成方法的应用场景例的流程图,至少包括以下步骤:

1、计算用于生成MT700电文的所有字段的字符数;

2、判断步骤1计算的字符数是否超过1万字符;

3、分别计算单据条款、服务货物条款、其他条款、对受益人的特殊付款条件、对收报行的特殊付款条件五个大字段的行数,并用行数除以100得出每个大字段可单独拆分成MT701电文的个数,汇总五个大字段可单独拆分成 MT701的电文个数;

4、判断步骤3计算的可单独拆分成MT701的电文个数是否大于0;

5、可单独拆分成MT701的电文个数为0或者去除可单独拆分成MT701 电文的字段后五个大字段还有剩余的字段,则对这些大字段按照长度进行排序;

6-8、从最小长度的字段开始每次提取出一个字段,判断剩余字段组成的MT700是否超过1万,若提取到长度最大的字段,MT700仍超长,则提取出最长字段,再从剩余几个字段按照上述方法提取出字段,直至MT700不超长;

9、初始化可生成的MT701电文个数为0;

10、判断从超长的MT700电文中取出的大字段是否都已生成MT701电文;

11、当步骤10判断还有字段未生成MT701时,MT701电文个数加1;

12、计算未生成MT701的剩余字段生成新的MT701电文的字符数;

13、判断步骤12计算的字符数是否超过1万字符;

14-16、从最小长度的字段开始每次提取出一个字段,判断剩余字段组成的MT701是否超过1万,若提取到长度最大的字段MT701仍超长,则提取出最长字段,再从剩余几个字段按照上述方法提取出字段,直至MT701不超长;

17、可单独拆分的电文个数大于0,则分别计算每个大字段的行数除以 100行得出余数Ri(i取值为1、2、3、4、5);

18、取出每个大字段从段首开始到Ri行的字段组成新的大字段;并按照步骤6-17进行处理;

19、判断步骤3计算的可单独拆分成MT701电文的电文个数是否大于0 个;

20、判断步骤19的电文个数为0时,按照大字段拆分到的具体电文,将所有大字段分别赋给MT700和每个MT701报文资源中的45A、46A、47A、 49G、49H五个域对应字段;

21、判断步骤19的电文个数大于0时,分别从Ri+1行开始每100行拆分成一个大字段;

22、按照45A、46A、47A、49G、49H的顺序以及每个大字段所分配到的电文对所有大字段进行归类排序;

23、按照大字段拆分到的具体电文,将所有大字段分别赋给MT700和每个MT701报文资源中的45A、46A、47A、49G、49H五个域对应字段。

本应用场景例根据交易中涉及的字段需要单独拆分成MT701电文的个数,判断拆分出MT701电文后的字段是否可以纳入MT700电文中或者拆分成新的MT701。将电文内容自动分配到多条电文中,实现电文的正常生成和发送,能使得电文不超长,电文生成的顺序不错乱,生成的电文意思不易被误解。在生成电文时,而且减少人工干预的环节,柜员不需要按照电文的要求录入大字段,提高了信用证处理的效率,增强了信用证开立的可靠性。

接下来对本申请提供的一种装置进行介绍,下文介绍的一种装置与上文介绍的一种方法可相互对应参照。

请参见图7,示出了本申请提供的一种电文生成装置的结构示意图,所述装置包括:

判断单元701,用于获取用于生成预设MT700电文的第一字段集合,判断第一字段集合的字符数是否超过1万字符;

判断单元701,还用于当第一字段集合超过1万字符时,判断第一字段集合可拆分成预设MT701电文的第一电文个数是否大于0;

排序单元702,用于当第一电文个数不大于0时,将第一字段集合中的字段按照字段长度大小进行排序;

提取单元703,用于从最小长度的字段开始每次从第一字段集合中提取出一个字段,直到第一字段集合不超过1万字符;

生成单元704,用于基于从第一字段集合中提取出字段后的剩余字段,生成第一MT700电文;

生成单元704,还用于基于从第一字段集合中提取出的字段,生成第一 MT701电文;

判断单元701,还用于判断第一MT701电文的字符数是否超过1万字符;

判断单元701,还用于当第一MT701电文不超过1万字符时,判断第一 MT701电文可拆分成预设MT701电文的第二电文个数是否大于0;

输出单元705,用于当第二电文个数不大于0时,输出第一MT700电文和第一MT701电文。

在本申请实施例中,第一字段集合包括服务货物条款45A、单据条款46A、其他条款47A、对受益人的特殊付款条件49G、对收报行的特殊付款条件49H 五个大字段,电文生成装置还包括:计算单元,该计算单元用于:

分别计算五个大字段各自的行数;

将五个大字段各自的行数分别除以100,得到五个大字段可单独拆分成预设MT701电文的电文个数;

汇总五个大字段可单独拆分成预设MT701电文的电文个数,得到第一电文个数。

在本申请实施例中,电文生成装置还包括:

计算单元,还用于当第一电文个数大于0时,计算第一字段集合中各个大字段各自的行数分别除以100后的商Qi和余数Ri,i为正整数;

生成单元704,还用于基于第一字段集合中各个大字段从Ri+1行开始每 100行的字段,生成ΣQi个大字段;

生成单元704,还用于基于ΣQi个大字段,生成ΣQi个MT701电文;

生成单元704,还用于基于第一字段集合中各个大字段前Ri行的字段,生成第二字段集合;

判断单元701,还用于判断第二字段集合的字符数是否超过1万字符;

排序单元702,还用于当第二字段集合超过1万字符时,将第二字段集合中的字段按照字段长度大小进行排序;

提取单元703,还用于从最小长度的字段开始每次从第二字段集合中提取出一个字段,直到第二字段集合不超过1万字符;

生成单元704,还用于基于从第二字段集合中提取出字段后的剩余字段,生成第二MT700电文;

生成单元704,还用于基于从第二字段集合中提取出的字段,生成第二 MT701电文;

判断单元701,还用于判断第二MT701电文的字符数是否超过1万字符;

判断单元701,还用于当第二MT701电文不超过1万字符时,判断第二MT701电文可拆分成预设MT701电文的第三电文个数是否大于0;

输出单元705,还用于当第三电文个数不大于0时,输出第二MT700电文、ΣQi个MT701电文和第二MT701电文。

在本申请实施例中,电文生成装置还包括:

判断单元701,还用于当第一字段集合不超过1万字符时,判断第一字段集合可拆分成预设MT701电文的第四电文个数是否大于0;

生成单元704,还用于当第四电文个数不大于0时,基于第一字段集合中的字段,生成第三MT700电文;

输出单元705,还用于输出第三MT700电文。

在本申请实施例中,电文生成装置还包括:

计算单元,还用于当第四电文个数大于0时,计算第一字段集合中各个大字段各自的行数分别除以100后的商Qi和余数Ri,i为正整数;

生成单元704,还用于基于第一字段集合中各个大字段从Ri+1行开始每 100行的字段,生成ΣQi个大字段;

生成单元704,还用于基于ΣQi个大字段,生成ΣQi个MT701电文;

生成单元704,还用于基于第一字段集合中各个大字段前Ri行的字段,生成第四MT700电文;

输出单元705,还用于输出第四MT700电文和ΣQi个MT701电文。

在本申请实施例中,获取用于生成预设MT700电文的第一字段集合,判断第一字段集合的字符数是否超过1万字符;若第一字段集合超过1万字符,则判断第一字段集合可拆分成预设MT701电文的第一电文个数是否大于0;若第一电文个数不大于0,则将第一字段集合中的字段按照字段长度大小进行排序;从最小长度的字段开始每次从第一字段集合中提取出一个字段,直到第一字段集合不超过1万字符;基于从第一字段集合中提取出字段后的剩余字段,生成第一MT700电文;基于从第一字段集合中提取出的字段,生成第一MT701电文;判断第一MT701电文的字符数是否超过1万字符;若第一 MT701电文不超过1万字符,则判断第一MT701电文可拆分成预设MT701 电文的第二电文个数是否大于0;若第二电文个数不大于0,则输出第一MT700 电文和第一MT701电文。通过本申请实施例的技术方案,根据交易中涉及的字段需要单独拆分成MT701电文的个数,判断拆分出MT701电文后的字段是否可以纳入MT700电文中或者拆分成新的MT701。将电文内容自动分配到多条电文中,实现电文的正常生成和发送,能使得电文不超长,电文生成的顺序不错乱,生成的电文意思不易被误解。在生成电文时,减少人工干预的环节,柜员不需要按照电文的要求录入大字段,提高了信用证处理的效率,增强了信用证开立的可靠性。

需要说明的是,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例、系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

对于前述的各实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

相关技术
  • 一种电文生成方法及装置
  • 一种生成电文的方法、存储介质和装置
技术分类

06120114721162