SAP ABAP 如何启用SSL HTTPS连接

SAP ABAP 如何启用SSL HTTPS连接,第1张

你的mara在哪儿定义的?没看到全部代码,还有读取MARA数据的代码也没看到,要是没定义的话读取的地方也要报错。另外CONCATENATE就不要用了,就一个字段 用=就好了。

不清楚你的情况,如果你不是开发人员的话,那么建议找个开发来改代码。

具体的可以在程序属性的程序类型选择列表里面看到,主要是下面这几类:
1、可执行程序 (stand-along program类型为 1) ,特点是可以直接执行,而无需事务码,这个也是一般报表开发最常用的程序类型。
2、为屏幕绘制器画出的屏幕所用的模块池 (module pool程序类型为 M) ,包含了来自业务的屏幕模块的处理步骤,它只能通过事务码或者菜单功能调用。
3、包含程序 (include program程序类型为 I) ,包含了不能独立运行的程序代码,也就是说,无论你是在 SE38 里用执行功能还是通过事务码或菜单调用,都无法打开一个包含程序。它们的作用主要是让程序变得清晰和可以被重用,在其他程序里,用 INCLUDE 语句可以把一个包含程序加到程序里。最终的效果相当于用被包含的程序里的全部内容替换调 INCLUDE 语句。
4、子程序 (subroutine pool程序类型为 S) ,这种类型的程序里只包含被外部 PERFORM 语句调用的程序块。也就是说,只包含形如 FORM ENDFORM 块的程序代码,从外部程序里,用 PERFORM IN PROGRAM [IF FOUND] 来调用。
5、函数组 (function group程序类型为 F) ,这类程序包含了函数模块。函数组和函数模块用函数制作器进行管理,事务码 SE37。在创建函数组和函数模块时,函数制作器把程序类型设置为 F。
6、接口池 (interface definitions程序类型为 J) 包含了接口。类和接口都在类制作器中管理,事务码 SE24。
7、类池 (class definitions程序类型为 K) ,包含了类。类和接口都在类制作器中管理,事务码 SE24。

如果需要ABAP程序与JAVA程序间调用, 可以采用SAP提供的SAP Java Connector 它支持ABAP,JAVA之间的双向调用, 譬如在webdynpro for java里调用BAPI时, 可以使用JCO来实现调用RFM, 在SAP WAS JAVA与WAS ABAP之间交互也是基于JCo实现的
JCo基于SAP RFC协议,当从JAVA端调用ABAP端提供的服务时, 需要提供一个可以远程调用的Function module即可 当从ABAP端调用JAVA提供的服务时, 需要JAVA先将服务注册到SAP Gateway, 然后建立一个类型为T的RFC Destination , 并且在ABAP服务器端需要实现一个输入输出参数跟JAVA提供服务相同的function module, 调用时跟调用一般的RFM没什么区别
另外,关于调试, 如果是在JAVA端调用ABAP的FM, 需要调试ABAP代码, 可以在FM里相应的代码行里建立extenal breakpoint 而如果在ABAP端调用JAVA程序, 需要调试JAVA代码,可以将JAVA程序运行在调试模式, 然后从ABAP端运行即可 注意,需要在开发PC上同时安装SAP GUI与Java IDE
JCo 下载: >对于FOR ALL ENTRIES IN it_vbrk1

内表 it_vbrk1如果只使用字段vbeln的话,完全可以定义一个RANGE表来替代该语句。
rt_awkey type range of bkpf-awkey
rw_awkey like line of rt_awkey

loop at it_vbrk1 into wa_vbrk1
rw_awkey -sign = 'I'
rw_awkey -option = 'EQ'
rw_awkey -low = wa_vbrk1-vbeln
append rw_awkey to rt_awkey
endloop

该SQL语句就可以这样写了:
SELECT
bkpf~awkey
bkpf~xblnr
INTO CORRESPONDING FIELDS OF TABLE it_bkpf
FROM bkpf
WHERE bkpf~awkey in rt_awkey
另:corredponding 最好不要使用,直接INTO TABLE it_bkpf(注意内表定义字段的顺序和个数,要和SELECT语句后面的想匹配)

Module: SE37,一般用call function '';
Form:如果是abap code,那么在SE38中,前面会有perform xxx, 然后就是form xxx,这个form xxx里面写的就是具体执行的代码,这个就是把代码放到一个个xxx 里面,看着舒服,而且可以重复利用;
Method:SE24,这个一般人用不到,也就是java里面的方法、类,call method xxx 实现;
Function:类似Module;
Define:是宏,也只能在SE38里面写,宏是写一段简单的代码,用宏实现;
总结,从ABAP角度来看,Call Function Module,Form这个是SAP的东西,Call function module需要用SE37写一个function module,然后在SE38里面调用,而Form就是在SE38里面直接写就OK了;
Define 一个macro,Call 一个method,这两个呢,不是很常用,Define 宏直接SE38写code,method应该是sap从别的地方,引入OO对象的时候产生的东东,需要在SE24里面创建一个class,然后才可以在SE38里面写code !
噢了~

在log in的时候,可以选择啊。在输入帐号密码的那个界面,最下面的就是输入log in语言种类的。EN英文,ZH中文。当然前提是你的IDES安装了语言包并进行了配置。如果没有安装和配置,请参照:
>

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13385186.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-26
下一篇 2023-07-26

发表评论

登录后才能评论

评论列表(0条)

保存