我建立了到 SAP 服务器的连接,我想在我的 Java 程序中打印 BAPI 列表。我正在使用 sapjco3.jar。
有什么办法吗?
我正在使用 SAPUI5 构建类似 Fiori 的应用程序。我已经成功构建了母版页面,在单击项目时,我传递了上下文并导航到详细信息页面。
母版页的上下文路径类似于/SUPPLIER("NAME"). in的函数App.controoler.js如下:
handleListItemPress: function(evt) {
var context = evt.getSource().getBindingContext();
this.myNavContainer.to("Detail", context);
// ...
},
Run Code Online (Sandbox Code Playgroud)
但我想知道如何context在“详细信息”页面中访问它。我需要这个,因为我需要使用它$expand来构建 URL 并将项目绑定到表。
如果我this.getView()在视图的控制器内部使用,我可以毫无问题地检索它。
如果我在控制器之外(例如在另一个视图的控制器中),如何检索视图?
我尝试sap.ui.core.Core().byId("<name of view>")但它返回undefined。
假设我有以下XML视图:
<mvc:View xmlns:mvc="sap.ui.core.mvc" ...>
<Page>
<content>
<l:VerticalLayout>
<l:content>
<core:Fragment fragmentName="my.static.Fragment" type="XML" />
</l:content>
</l:VerticalLayout>
</content>
</Page>
</mvc:View>
Run Code Online (Sandbox Code Playgroud)
片段my.Fragment是静态加载的.但是,我现在想要动态更改要加载的片段(理想情况下使用绑定fragmentName属性的数据,但任何其他方法也应该没问题),即.这样的事情:
<mvc:View xmlns:core="sap.ui.core.mvc" ...>
<Page>
<content>
<l:VerticalLayout>
<l:content>
<core:Fragment fragmentName="{/myDynamicFragment}" type="XML" />
</l:content>
</l:VerticalLayout>
</content>
</Page>
</mvc:View>
Run Code Online (Sandbox Code Playgroud)
但是,后者不起作用,Fragment定义不允许数据绑定......我可能错过了一些东西,但是如何基于参数/模型属性/ etc动态更改XML视图中的Fragment?
现在,我已经使用自定义控件而不是直接在我的视图中使用片段,并让该控件执行调度到相应的片段,但我觉得应该有一个更容易,开箱即用的方式. ..
我正在开发一个SplitApp.它说,从列表中选择一个项目
未捕获的TypeError:无法读取未定义的属性'getPath'
onSelect: function(oEvent) {
this.showDetail(oEvent.getParameter("listItem") || oEvent.getSource());
},
showDetail: function(oItem) {
var bReplace = jQuery.device.is.phone ? false : true;
this.getRouter().navTo("detail", {
from: "master",
entity: oItem.getBindingContext().getPath().substr(1),
tab: this.sTab
}, bReplace);
}
Run Code Online (Sandbox Code Playgroud)
oItem.getBindingContext()回报undefined.所以我认为问题在于绑定上下文.
<List id="list"
select="onSelect"
mode="SingleSelect"
noDataText="{i18n>masterListNoDataText}"
growing="true"
growingScrollToLoad="true"
items="{data>/results}"
>
<items id="masterList">
<ObjectListItem id="listItem"
press="onSelect"
type="{device>/listItemType}"
counter="0"
title="{data>PROJECTNAME}"
number="{data>REVENUE}"
numberUnit="{data>CURRENCY}"
markFavorite="false"
markFlagged="false"
showMarkers="true"
/>
</items>
</List>
Run Code Online (Sandbox Code Playgroud)
var oModel= new sap.ui.model.json.JSONModel();
oModel.loadData("Data.json");
this.setModel(oModel,"data");
Run Code Online (Sandbox Code Playgroud)
将显示该列表,但是当我选择该项时,将引发错误.
我想处理Text控件(sap.m)中值的颜色.如果值为"TRUE",则颜色为绿色.否则,如果值为红色,则为红色"FALSE".
<Text
class="{= ${HintTable>IS_ENABLED} === 'TRUE' ? 'greenTextColor' : redTextColor'}"
text="{HintTable>IS_ENABLED}"
/>
Run Code Online (Sandbox Code Playgroud)
但它似乎没有奏效.我的意思是,class不能接受"greenTextColor"也不"redTextColor".
我做错了什么?
All other routings are fine, but for some reason the main controller is being called twice. Why would this happen?
onInit: function() {
var oRouter = this.getOwnerComponent().getRouter();
oRouter.getRoute("main").attachMatched(this._onRouteMatched, this);
this.getView().setModel(new JSONModel({
Jobs: []
}), "job");
},
Run Code Online (Sandbox Code Playgroud)
Is this down to the routing config?
"rootView": {
"viewName": "CompleteSurvey.view.Main",
"type": "XML"
},
"routing": {
"routes": [{
"name": "main",
"pattern": "",
"target": ["main"]
}],
"config": {
"routerClass": "sap.m.routing.Router",
"viewType": "XML",
"viewPath": "CompleteSurvey.view",
"controlId": "app",
"controlAggregation": "pages"
},
"targets": {
"main": {
"viewName": "Main" …Run Code Online (Sandbox Code Playgroud) 是否有任何特定方法可以找出服务器的 Hybris 版本。
我知道 hybris 版本在服务器启动期间出现在日志中,但我想知道它是否可以在 hac 或后台的某个地方找到。这样我就可以查找部署在特定测试机器上的版本。
我还知道 hac 脚注,它打开提到操作系统、CPU 数量和版本的弹出窗口。但是对于较旧版本的 Hybris,该版本不包括在内。
我通常在 下的清单中声明应用程序依赖的所有标准库sap.ui5/dependencies/libs。
现在我应该在 bootstrap 参数中放入什么data-sap-ui-libs,相同的库?如果我少放/多放会有什么影响data-sap-ui-libs?它们有何不同?
附言。我在 SAP 的文档中找不到这一点,但请证明我错了。:-)