添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Hi peers, ExecuteEdits() function is not getting executed in CI code. here is the code that i m using: local apiobject &oxyz,&oxyzcollection; … … &oxyzcollection=&oxyzCi.xyz; &oxyz=&oxyzcollection.item(&i); &oxyz.ExecuteEdits(%Edit_Required + %Edit_PromptTable + %Edit_TranslateTable + %Edit_YesNo); xyz table has prompts on some fields… I am able to load wrong values for those fields having prompts thru CI… Please suggest me if i am missing something. Inputs are highly appreciated. Thanks, Divya RK

Hi Sid,

this was a custom CI. Unfortunately i didn’t notice a delivered CI earlier. Now we are using delivered CI. Everything works fine.

Thanks a lot.

Divya,

Is this a delivered CI? Does it have ADDRESS_SBR record? If yes,
I don’t think any customization is required. Please look into
the structure of your CI before customizing anything. SG and me
have given you reference to same CI, look at that, look at the
way HRS_HIRE_REQUEST updates the data using this CI and you
should be good.

Yes you are correct…
Already I have customized the app package so that we can replicate the online transaction thru CI. but client doesn’t want any customization as part of this work.

Anyways thanks a lot for all your valuable inputs

Thanks a lot.

This doesn’t make sense.

There are several components where the same field or similar field
appears many times (in most cases from different records and in some
cases with different field names). If your CI is based on such a
component, you have to find the right field to set the value to, based
on what the component is exposing for the user data entry. The exposed
field doesn’t necessarily have to be the base table field.

A good example is the national Id field in the CI_PERSONAL_DATA CI. If
you want to set national ID using this CI, you must set the field
DERIVED_HR.NID_SPECIAL_CHAR to your national ID (which was exposed as
property PROP_NATIONAL_ID). If you follow your current approach and set
PERS_NID.NATIONAL_ID (because this is the base table filed) to the
necessary value then your CI will never get the right value on to the
database because the component is exposing the
DERIVED_HR.NID_SPECIAL_CHAR as the data entry field.

If I were you, I’d talk the client’s tech contact and explain this to
him/her.

I am on a project that also uses ‘domodal’ but not sure where to start(new
to psoft)
Curtis,

I need some help with the 'General Information" page of “Customers
Menu”.
I am very new to PTOOLS, and PSOFT(come from IBM Cobol world). Not sure
how to:

Add a subpage(0r secondary page?) to Customer_General1 main page, that
uses the delivered PS_Customer_Address subpage/subrecord. It should
show a prompt list(dropdowm) of zip codes when user enters State, and
City. This dropdown zip code list will contain a list of zip codes
available for the combination ‘city/state’ – from a view →
containing all the valid city, state, zipcodes from a post-office cd
that monthly updates the ZIP_CODE_TBL, from which the view is made.
For instance, when adding customer address the user enters
“Dedham”(city), “MA”(state) and a list of the valid postal zipcodes for
Dedham will appear, and user will select a zipcode from the list. The
selected zipcode will in turn update the “POSTAL” field of the
“ADDR_SBR” subrecord portion of PS_CUSTOMER_ADDRESS table(postal
field)modal??)

How do I get started? Any hepl will be appreciated.

Exactly…
we are converting contact addresses…
in this case CI is ignoring the domodal() function which is
called from some App Package code which has been activated from
field change of ‘edit address’ link. So I thought of
customizing app packages and use it. But our cilent’s tech
contact wanted me to assign address values directly to the base
table’s fields.

so we dont have a choice.

Divya,

The behavior you are seeing is exactly what you can expect from the CI.
If you try to set a field (with a prompt table) to an invalid value then
CI issues an error and retains the old value (if this happens to be a
new row then it will be spaces or zeroes). The CI will allow for the
save with the prior or space value. The only way you can address this is
to set the CI property to whatever value you are setting to and then
checking if the CI property value is same as what you set it to.
Example…
&oCollJob.PROP_ACTION = “XXX”;
If &oCollJob.PROP_ACTION <> “xxx” Then
*** Do your error process and set flags to determine if you even want
to attempt to save this transaction
End-if;
I believe that in order for this to work you need to have the CI
interactive mode turned on (or the error setting and defaulting to prior
value is deferred till CI Save at which point it is too late to decide
what you want to do about this).

However, I am surprised by you assertion that the CI does not generate
any error. In all my experience with CI, I have always seen an error in
this kind of scenario. The only irritant is that it saves the
transaction with an “invalid” or missig value. I would recommed that you
review your message processing code.

By any chance you are trying to load address data for some
company or person? If yes see if you are trying to assign values
directly to base table!! If yes change that code, as in case you
enter an address, the values must be assigned to derived records
and not to address_sbr directly.

Ok Divya,

Now I got your problem. Let me put it what I have understood.
You are trying to insert incorrect state which has prompt that is
state_table but instead of giving an error it is inserting some null or
blank value.
Can you try to test the CI and see how it behaves if you try to do the same
over there.
Have you put in any edits between the CI code for inserting the data?
Also I think there must be some peopleocde which is resetting the state if
incorrect?

Regards
Sourab Mahajan
(Oracle-PeopleSoft Practice Group)
Cognizant Technology Solutions India Pvt Ltd.
I shall refract myself, yes,
I shall no longer be known as the prism
ph-020-40051545
mob:9850810596

Saurab,

we r loading data thru CI, which has address as part of it.

if we try to load incorrect STATE values for a given COUNTRY, CI
is ignoring STATE values(i.e it is not loading STATE but it is
loading data for all other fields) straight away instead of
giving an error ‘Incorrect value’, which we generally get while
doing online processing.

is it clear now?

Divya,

I am still not clear what do you want to achieve.
Look if you don’t have state in the prompt table and you are trying to
insert the same using CI and it is missing these type of rows than I guess
that is what CI is supposed to do.
Can you give more details what exactly are your requirements and what are
you trying to achieve?

Regards
Sourab Mahajan
I shall refract myself, yes,
I shall no longer be known as the prism

prompts are with edits. I have tested in component tester mode.
There also same behaviour. If i enter wrong values either for
COUNTRY or STATE, it’s straight away ignoring. As country has a
default set somewhere in the code, it’s getting defaulted to
‘IND’ even if we enter wrong values. But for state, if we enter
wrong values it’s ignoring it without any warning or error.

Gud morning ppl…

Here is my actual scenario.

i have COUNTRY,STATE fields on my record. COUNTRY has prompt table COUNTRY_TBL and STATE has a prompt table STATE_TBL.

i m inputting COUNTRY=‘USA’ and STATE=‘ABC’.

When I check backend, COUNTRY has a value ‘USA’ and STATE has nothing. It means it’s ignoring STATE value. when loading bulk data we are missing out these type of rows.

~Divya

Thanks a lot for all your valuable suggestions.

I am going to create a standalone record object, validate the data and then load it thru CI.

~Divya

No No, the issue here is why CI peoplecode is allowing wrong
values when you have foreign key(prompts) declared clearly on
the component.
CI tester would help you whether this is an issue with the
component,recod defnition. may be she has this prompt defined as
‘prompt table with no edit’. That is why this test is needed to
be sure that CI is behaving the way its underlying component is
behaving.
The app engine would abend if it the code is written that way
else it will write the results for failed row in CI Log