我试图更新SQL表中的日期.我正在使用Peoplesoft Oracle.当我运行此查询时:
Select ASOFDATE from PASOFDATE;
Run Code Online (Sandbox Code Playgroud)
我得到4/16/2012
我试过运行这个查询
UPDATE PASOFDATE SET ASOFDATE = '11/21/2012';
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
有谁知道如何将日期更改为所需的日期?
我正在调查通过Web服务将第三方Web应用程序与PeopleSoft集成.我对PeopleSoft并不熟悉.经过一些初步调查后,似乎为了将任何PeopleSoft功能公开为Web服务,您必须在PeopleTools模块的Integration Broker组件中进行一些相当大的配置.您似乎可以使用"服务操作"和相关的"处理程序"定义内部PeopleSoft服务,也可以为现有的"组件接口"创建PeopleSoft服务.然后,您必须将PeopleSoft服务公开为Web服务.
是否有适用于PeopleSoft系统的标准,默认,开箱即用的Web服务,或者您是否始终需要完成在Integration Broker中定义它们的步骤?
在查看具有标准Web服务API的Salesforce之类的系统之后,似乎PeopleSoft可能会有类似的东西,但我找不到它.我是否正确认为集成代理是唯一的方法,或者我只是不知道某些标准的Web服务API将基本的PeopleSoft功能公开为Web服务?
我的C#应用程序不会给我任何东西,但SOAP调用的结果为null.
我们已经使用SOAP Web服务公开了一些PeopleSoft ERP数据.
我从Visual Studio 2012 ASP.NET C#应用程序访问此SOAP服务.我有一个名为CampusDirectoryService的服务引用,它使用ERP生成的WSDL构建.
这是C#代码:
var service = new CampusDirectoryService.TEST_PortTypeClient();
var input = new CampusDirectoryService.InputParameters();
input.First_Name = FirstNameBox.Text;
input.Last_Name = LastNameBox.Text;
var returnData = service.TEST_OP(input);
Run Code Online (Sandbox Code Playgroud)
问题returnData是始终为空.通过Wireshark,我确认我实际上是通过数据获得有效的SOAP响应.returnData不应该为空.
我也通过soapUI确认了SOAP服务的正确有效结果.提交.NET发送的完全相同的SOAP请求(我将其从Wireshark中复制出来),我得到了预期的结果.
这是SOAP请求:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<InputParameters xmlns="http://xmlns.oracle.com/Enterprise/Tools/schemas">
<Last_Name xmlns="">cambre</Last_Name>
<First_Name xmlns="">aren</First_Name>
</InputParameters>
</s:Body>
</s:Envelope>
Run Code Online (Sandbox Code Playgroud)
这是SOAP响应,ReturnID元素内部的一些内部数据被混淆或删除:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<root xmlns="http://peoplesoft.com/rootResponse">
<ReturnID>
<PRF_Name>Cambre,Aren</PRF_Name>
<Camp_Email>valid@email.com</Camp_Email>
</ReturnID>
</root>
</soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)
方法的返回类型TEST_OP是CampusDirectoryService.rootReturnID[]. …
我正在尝试创建一个只从选定日期获取年份的查询.即select ASOFDATE from PSASOFDATE;回归11/15/2012,但我只想要2012.我怎么才能得到这一年?我知道YEAR可以使用该功能,但我不知道如何.
我们有一个PeopleSoft安装,我正在构建一个单独的Web应用程序,需要从PeopleSoft数据库中提取数据.Web应用程序将位于与PeopleSoft不同的服务器上,但是位于同一内部网络中.
我有什么选择?
所以我在查询一些非常大的表格.它们如此之大的原因是因为PeopleSoft每次对某些数据进行更改时都会插入新记录,而不是更新现有记录.实际上,它的事务表也是一个数据仓库.
这需要在其中嵌套选择的查询,以获取最新/当前行.它们都是有效的,并且在每个日期内(施放到一天)它们可以具有有效的序列.因此,为了获得当前记录user_id=123,我必须这样做:
select * from sometable st
where st.user_id = 123
and st.effective_date = (select max(sti.effective_date)
from sometable sti where sti.user_id = st.user_id)
and st.effective_sequence = (select max(sti.effective_sequence)
from sometable sti where sti.user_id = st.user_id
and sti.effective_date = st.effective_date)
Run Code Online (Sandbox Code Playgroud)
这些表上有非常多的索引,我找不到任何能加速查询的东西.
我的麻烦在于我经常想要从这些表中获取有关个人的数据,可能有50个user_ids,但是当我加入我的表中只有少数几个这样的PeopleSoft表的记录时,事情就变成了废话.
PeopleSoft表位于我通过数据库链接访问的远程数据库中.我的查询看起来像这样:
select st.* from local_table lt, sometable@remotedb st
where lt.user_id in ('123', '456', '789')
and lt.user_id = st.user_id
and st.effective_date = (select max(sti.effective_date)
from sometable@remotedb sti where sti.user_id = st.user_id)
and st.effective_sequence = (select max(sti.effective_sequence)
from sometable@remotedb …Run Code Online (Sandbox Code Playgroud) 我们希望从外部网络为用户提供peopleoft门户访问.但..访问需要只读,非常有限.
有没有人完成基于位置的角色启用是peopleoft ..即禁用所有角色并仅启用基于IP地址或Web服务器的特定角色?
所以这就是场景:我们有PeopleSoft,并希望从salesforce来回发送消息.不幸的是,PeopleSoft没有像wsimport这样的工具,它使用wsdl并为你生成类.有些东西会消耗wsdl,但它会生成存根消息对象.开发人员仍然必须编写代码来手动生成xml消息字符串.
我显然不想做所有这些.所以我知道java可以在PeopleSoft中调用.我也知道我可以使用生成的类发送消息,但我想使用PeopleSoft内置的消息监视功能.
所以我想到的一个可能的解决方案是:
我疯了还是可能的?
ps我是一个新手java开发人员
这是我的抓取xml的处理程序类,但需要一些方法来防止消息被发送出去.
public class LoggingHandler implements SOAPHandler<SOAPMessageContext> {
// change this to redirect output if desired
private static PrintStream out = System.out;
private String xmlOut = null;
public Set<QName> getHeaders() {
return null;
}
public boolean handleMessage(SOAPMessageContext smc) {
logToSystemOut(smc);
return true;
}
public boolean handleFault(SOAPMessageContext smc) {
logToSystemOut(smc);
return true;
}
// nothing to clean up
public void close(MessageContext messageContext) {
}
public String getXmlOut() {
return xmlOut;
} …Run Code Online (Sandbox Code Playgroud) 有没有一种方法可以使用PeopleCode的“转移”功能转移(并填写字段)到组件使用INSTALLATION作为搜索记录的页面?
我们在PT 8.53上使用FSCM 9.1。
我要转移到的页面是AP_VOUCHER_INQUIRY菜单路径是:应付帐款->查看应付帐款信息->凭单->凭单
我有需要传递给它的business_unit和voucher_id。在页面的“激活人员代码”内部,我看到以下内容:
/* If Business Unit and Voucher ID are being passed to this page, this code picks it out and populates the From/To fields and executes the search statement. This code allows another page to use the TRANSFER function passing "some_record.BUSINESS_UNIT" and "some_record.VOUCHER_ID" as keys while opening Voucher Inquiry in a new browser. */
&bu = Unencode(%Request.GetParameter("BUSINESS_UNIT"));
&vchr_id = Unencode(%Request.GetParameter("VOUCHER_ID"));
&vchr_style_inq = Unencode(%Request.GetParameter("VOUCHER_STYLE_INQ"));
&vndr_setid = Unencode(%Request.GetParameter("VENDOR_SETID"));
Run Code Online (Sandbox Code Playgroud) 我想更好地了解PeopleCode中使用的行和行集是什么?我通过PeopleBooks阅读,但仍然觉得我没有很好的理解.我希望更多地了解这些与Application Engine程序有关的内容.也许走一个例子可能有所帮助.以下是我的一些具体问题:
我知道Rowsets,Row,Record和Field用于访问组件缓冲区数据,但是通过Process Scheduler运行的独立Application Engine程序仍然如此吗?
会是什么需要或优势,使用这些,而不是使用SQL对象/功能(CreateSQL,SQLExec,等...)?我经常在AE程序中看到CreateRowset对象被实例化并使用.Fill带有SQL WHERE子句的方法,我不太明白为什么不使用SQL.
我在PeopleBooks中看到组件滚动中的Row对象是一行,组件滚动如何与行相关?我已经看到对具有不同滚动级别的行的引用,这只是一种分组和嵌套相关数据的方式吗?
在实例化CreateRowset对象之后,之后程序中它的典型用途是什么?您将如何对行集检索的数据执行逻辑(If,Then,Else等),还是使用它来更新数据?
我感谢您分享的任何见解.
我是PeopleCode的新手,当我正在学习函数时,我注意到在PeopleCode中,我们通常使用%PATIENT_ID传递值.有朋友告诉我你也可以通过PeopleCode中的引用传递但是怎么样?
peoplesoft ×11
oracle ×3
sql ×3
web-services ×3
peoplecode ×2
c# ×1
date ×1
java ×1
jax-ws ×1
soap ×1
toad ×1
xml ×1