随笔分类 -  ASP.NET

代码与页面分离式的网页制作...
摘要:上周TW总公司的IT按照董事长的指示,但凡杂项请购单里面内部订单号如果没有开立开发执行单的需做卡控,限制开单。于是TW IT就在系统画面ME51N里面做了用户出口开发,如果系统检测到内部订单没有开发执行单,则提示并不继续往下。因为TW那边的卡控文字说明是繁体的,所以OA调用了RFC申请开立请购单之后就会返回这个错误信息,而且是乱码,如下图: 看到这个乱码我还以为是出了什么异常,因为系统抛出异常类是:RfcCommunicationException,到处找原因,搞得满头包。后面只好到正式环境试着用OA的数据开立请购单试试,结果系统提示开发执行单不存在,这才知道原因所在,因此对这... 阅读全文
posted @ 2012-02-09 22:16 SAP梦心 阅读(3667) 评论(3) 推荐(1)
摘要:内文这个东西就像长篇大论的描述,跟在WORD里面一样可以输入无数个字。如果在sap中输入事务码进去可以维护多少个字都可以,但是如果是用.NET调用BAPI传进去内文的话,会将内文超过132个字符的内容全部截掉。要怎么样才能全部导入所有内文呢? 以下以导入请购单的程序来描述: //表头内文 转换多笔实现超长文本插入...... PRHEADERTEXT.Insert(); // 这个是BAPI里面导入内文的参数 if (txtQG07.Text.Trim().Length > 120) //txtQG07.Text的内容就是所有内文,这里用120个字符判... 阅读全文
posted @ 2011-11-12 01:12 SAP梦心 阅读(1724) 评论(0) 推荐(1)
摘要:为什么.net调用SAP的BAPI接口需要调用BAPI_TRANSACTION_COMMIT呢?首先得明白BAPI_TRANSACTION_COMMIT这个BAPI的作用。它功劳很大,在SAP里面很多的BAPI直接调用是不会有结果的,因为需要COMMIT一下才能生效,比如生成资产编号的BAPI:BAPI_FIXEDASSET_CREATE1,如果对他直接在SE37中调用运行或者使用SE38调用它,虽然可以得到一个资产编号,但是在AS03里面查询,系统会很白痴得提示你:该资产编号不存在于XX公司。更搞的是当你在AS01中新建资产编号时,新建的资产编号会跳过之前用BAPI生成“失败”的号码。 .. 阅读全文
posted @ 2011-11-01 23:46 SAP梦心 阅读(3025) 评论(2) 推荐(1)
摘要:既然BAPI是一些特殊的RFC,封装了业务逻辑,使得将业务都变成一个一个对象,使用者只需要传入传出参数就可以了。 NCO3连接BAPI之前先来看看BAPI的一些参数规则。我们以 BAPI_USER_CREATE 为例子。此BAPI调用了可以生成一个用户,它当然不是仅仅对USR02进行写入那么简单。生成之后该账户什么权限也没有。 输入T-CODE:BAPI,然后在第二个页签下找到该BAPI: 上图中的红色框框里就是我们要调用的BAPI的名称。双击它,进入到该BAPI的一些说明里: 看到了,在属性页里它勾选了Remote... 说明它是可以远程操控的! 上图里,注意到红色框框... 阅读全文
posted @ 2011-08-24 22:43 SAP梦心 阅读(3344) 评论(0) 推荐(2)
摘要:有的时候我们需要在RFC中抛出一些自定义的异常,比如输入一个不存在的品号,我们需要抛出一个异常,告知用户品号不存在。有一个笨笨的做法就是通过返回值来判断,但是这样不灵活,同时也会因为品号不存在而继续之行RFC。如果我们能自己抛出异常,程序自动停止执行RFC,那将是两全其美! 现在设定一个功能:输入两个数,第一个数除以第二个数。2个异常:被除数不能为0和除数不能为100。 首先,在SE37中建立一个RFC,就用上篇博文的RFC吧。 在IMPORT页设置如下: Export页面设置如下: Changing和Table页面放空 Exceptions页面设置如下: 然后就是源码咯:... 阅读全文
posted @ 2011-08-19 23:04 SAP梦心 阅读(3762) 评论(1) 推荐(1)
摘要:本文就说明在C#中如何编写代码来调用SAP中的RFC函数获取数据。(Winform32) 首先需要引用两个NCO3.0的DLL,下载地址在文后。 然后在程序代码页面引用: using SAP.Middleware.Connector; 然后所有的代码如下:namespace SAP_RFC{ public partial class Form1 : Form { string MATNR = string.Empty; public Form1() { InitializeComponent(); } public void nco() ... 阅读全文
posted @ 2011-08-11 22:36 SAP梦心 阅读(12842) 评论(95) 推荐(2)
摘要:何谓RFC,就是一个Function,可以被非SAP系统调用,比如VB,C#,Java等。如果我们在RFC中INCLUDE了相关的业务逻辑,那么我们就可以完全操控SAP中的业务数据了。就像在TTE里,有一只程序,前端是在OA开发,设计了相关的客户提领库存,然后还要到SAP系统中去执行程序扣减相应的库存,这样是挺费劲的,如果能够在OA中放一个按钮,点击这个按钮就自动执行了这个程序,方便省事。而这一切,可以利用C#调用RFC来实现。 要实现整个过程,则必须要现在SAP中建立好相应的RFC函数,然后用VS建立好相应的程序,写代码调用就可以了。两者关联就是使用NCO3.0这个东西了。 OK,本节主要. 阅读全文
posted @ 2011-08-10 23:06 SAP梦心 阅读(7297) 评论(1) 推荐(7)
摘要:本来今天是要写一篇关于NCO3.0的东西,就是关乎.NET调用SAP的RFC的,支持VS2010和.NET 4.0等。现在网上到处都是充斥着NCO1.X和NCO2.0,需要用VS2003来使用,都是一些没什么大用的东西,连.NET 2.0的不能支持,只能算是废材一个。而且相关的资料非常的少,转来转去全部都是那么一个例子,丝毫没有直观的DEMO,更搞笑的是SAP里面的RFC是怎么建立的都没有说明,只有该死的C#代码。同时还有微软发布的Data Provider for mySAP Business Suite这个,开始用的时候觉得还挺有趣,后来试了一下很失望,抓出来的字段居然是断码,不知道是.. 阅读全文
posted @ 2011-08-09 23:02 SAP梦心 阅读(6408) 评论(4) 推荐(2)
摘要:题记:妈的,研究了PetShop之后才知道什么叫设计...作为动态网页的开发人员,PetShop系统是必须要去研究的一个项目。这个是微软为了宣传.NET的优势而虚拟的一个项目,里面运用了非常多的新技术以及架构,是网页开发人员的圣经!!很早之前我就下载研究了,一直看不懂。云里雾里绕了一大圈,也实在搞不懂绕来绕去的有啥意思,直接对数据库进行存取就OK了嘛~但我这个想法是危险的。我开始体会到了分层以及良好设计的好处。由于要构建自己的网站,因此想尝试用一下这些架构。我发现做一个网站除了前期的需求分析之外,第二部的架构分析是我最头疼的,因为这个是拥有8年以上开发经验的系统架构师做的事情。摆在我面前的问题 阅读全文
posted @ 2009-12-10 22:06 SAP梦心 阅读(340) 评论(0) 推荐(0)
摘要:最近在做工作室的网站,留言模块采用纯HTML+JQuery+ASHX对数据库进行无刷新操作。虽然数据能够读出来,但是还是有一些小BUG出现:1、留言板的计数器第一次打开的时候已做更新,但是点击刷新按钮就无动于衷了。2、点击 回复 链接弹出输入管理员回复的框,在里面输入回复的留言之后点击提交之后页面上不会显示新添加的留言回复(实际上已经写入到数据库)。3、显示回复内容有点问题。留言表和回复留言的表是... 阅读全文
posted @ 2009-11-02 22:29 SAP梦心 阅读(705) 评论(0) 推荐(2)
摘要:Sqlite是最近比较流行的数据库了,拥有比Access高效快速,易操作易实施。完全不需要在客户端进行任何的配置,只需要在站点中引用入DLL文件即可使用了。实际运用中当我用SqliteAdmin以及SQLite Expert Professional 2软件新建Sqlite数据库的时候在ASP.NET中是无法运用的,老是报错:文件不是一个合法的数据库。后来采用一种方法,就是直接在ASP.NET里面... 阅读全文
posted @ 2009-11-01 22:04 SAP梦心 阅读(641) 评论(0) 推荐(0)
摘要:现在为一家工作室做网站,在登陆模块中涉及到前端页面通过AJAX传递中文的用户名和字母的密码到后台验证,然后再把验证后的信息返回到前端的过程。调试的时候发现老是提示用户名不存在。于是我在后台直接输出我传递进去的用户名,发现输出来的全部是乱码。看来是编码的问题,于是百度了一下,发现其实只需要一行语句就能轻松搞定了:在Web.config中的<system.web>节点里添加如下语句:<... 阅读全文
posted @ 2009-10-23 23:38 SAP梦心 阅读(1568) 评论(0) 推荐(0)
摘要:网页可见区域宽:document.body.clientWidth网页可见区域高:document.body.clientHeight网页可见区域宽:document.body.offsetWidth (包括边线的宽)网页可见区域高:document.body.offsetHeight (包括边线的宽)网页正文全文宽:document.body.scrollWidth网页正文全文高:documen... 阅读全文
posted @ 2009-10-20 15:00 SAP梦心 阅读(1101) 评论(1) 推荐(0)
摘要:在设计.net程序架构的时候,我更倾向于使用接口而不是实体类在作为函数的参数。我们来看看下面这个例子:第一个方法public IList<Article> Get(),他调用数据库,并得到一个包含了查询结果数据集合的SqlDataReader,然后调用第二个方法private IList<Article> FillArticles(SqlDataReader reader)... 阅读全文
posted @ 2009-10-13 22:33 SAP梦心 阅读(2231) 评论(0) 推荐(1)
摘要:现在博客系统的评论遇到一个问题,用户点击“最后一页”链接之后就自动调取最后一页的资料来显示。我是将当前页用一个全局变量存储。同时在“最后一页”链接里单击方法调用一个函数自动去修改页数为最后一页,然后再调用载入评论的方法。可是我发现点击“最后一页”第一次的时候系统没反应,再点击一次就抓去最后一页的资料了!要说全局变量没改,应该是... 阅读全文
posted @ 2009-10-01 23:51 SAP梦心 阅读(1570) 评论(0) 推荐(0)
摘要:对博客系统已经做到了博客评论模块部分了,对单篇博文进行静态化的同时对博文的评论部分采取AJAX的方式去读取。这就要利用到JQuery,ASHX以及Json来合作了。一篇文章有多个评论,每十个为一页。用户每点击下一页则自动抓去下一页,这个过程采用无刷新放心进行。Json格式其实和表格式有异曲同工之妙,在网络传输中,它比XML还省流量,而且与JS有更好的融合,更容易被解析。Json格式样例如下:{"P... 阅读全文
posted @ 2009-09-29 23:16 SAP梦心 阅读(1353) 评论(5) 推荐(2)
摘要:现在接到一个任务,要为一家公司做一个博客模块,要求全静态化。也就是不仅博客首页是静态页面,其他子页面也都要静态的,这样可以使得网站更安全,同时也能减轻服务器的负担,访问速度更快! 由于之前做过生成静态页面的网站,对生成静态的页面有一些思路。首先要做一些子页面的模版,当发表一篇博文的时候就通过这个页面的模版生成对应的HTML页面,里面固定住文章的内容,发表日期,分类等等信息,同时将这个页面的地址存到... 阅读全文
posted @ 2009-09-23 21:51 SAP梦心 阅读(608) 评论(3) 推荐(0)
摘要:最近看QQ空间里面的投票功能很使用。点击一个链接就弹出一个层,然后再加载一些投票信息,旁边的区域变成灰色不可用状态。其实这不算什么高深的技术,只要在ASP.NET中利用JQuery结合一般处理程序ASHX即可搞定了。首先我们新建一个网站,在网站里面新增一般处理程序,命名为ReadData.ashx。然后在里面输入如下代码:using System;using System.Collections.... 阅读全文
posted @ 2009-09-22 22:31 SAP梦心 阅读(1860) 评论(9) 推荐(1)
摘要:经常上CSDN社区论坛的朋友应该知道在CSDN里面结贴的时候会让你给各个回帖的人一定的分值作为报酬。此时我们不能固定TextBox框的个数,因为回帖的人数是不固定的。而且如果将TextBox控件和单一的回帖人关联则会导致后台代码冗余,也不利于维护和扩展吗,显得不灵活不显示。QQ空间的留言本里面也是类似的情况。当有人给我们留言的时候我们要回复这个留言就点击“回复”就会出现一个... 阅读全文
posted @ 2009-06-03 09:16 SAP梦心 阅读(1693) 评论(1) 推荐(0)
摘要:一个经常让开发人员疑惑的问题是母版页是如何处理相对路径的。如果你使用的是静态文字,这一问题不会困扰你。不过,如果你加入了<img>标签或者指向其他资源的HTML标签,问题就可能发生。当你把母版页和内容页放在不同的目录时,问题就发生了。把母版页和内容页分放到不同的目录,这是大型网站推荐使用的最佳实践。实际上,微软建议你在专门的文件夹里保存所有的母版页。不过,如果你不够小心,使用相对路径时... 阅读全文
posted @ 2009-05-12 12:39 SAP梦心 阅读(620) 评论(0) 推荐(0)

鄙视一切不懂技术又装懂的小人!