How to read status of a newly created notification
Hello All,
I have implemented a BTE for the event PM000010 - Update Notification.
Now my problem is that I wish to read the existing statuses on the notification.
This works fine if the notification already existed before.
However, if the notification is newly created, then Function Modules STATUS_CHECK and STATUS_READ do not work.
This is only if the notification is newly created.
I am particularly interested to know if the status Notification In Process and Notification Completed are present on the order.
How do I achieve this since STATUS_CHECK and STATUS_READ are not able to fetch the statuses when the notification is newly created?
Thanks,
Mithun
hi
check out the below details
Where to get the table which is having user status with Notiifcation number. (not the system status).
By : Selva
1. From table QMEL get OBJNR(object number) using the QMNUM( notification number).
2. Using this OBJNR get STSMA( Status Profile) from table JSTO.
3. Using the OBJNR get STAT(object status) from table JEST.
You may/ may not get multiple object status for an Object number.
System status number will start from E.
User status number will start from I.
4. To get the text of the status, use the status number (STAT) and STSMA to get the status text from table TJ30T.
We have done this and working fine.
Similar Messages
-
How to know which row is newly created in the table
Hi all
i have one classic table with a button to add new row.
when page renders initially it displays some record .Here user can either update the previously existing record or may create new ones .
after adding one more row when users submits it , in back-end i need to go thru all the rows in the view to do some validations .but i need to insert newly created row using API. how can i know which row haas been newly created,
pls helpyou can know which row is new using different techniques at different places, depending where you want to do it.
1. In AMImpl: if the PK column attribute of the row does not have a value, then you know this is a new row.
2. In EOImpl: insertRow will be executed only if it is a new row.
3. In Pl/SLQ package (if being called from EOImpl): You can check the creation_date or OVN for the row and determine if this is a new row.
4. You can use the method mentioned in this thread
Row Status Question
Thanks
Tapash -
How to login with ddic in newly created client
dear all,
I am using SAP NETWEAVER 7.0 EHP1. I have created a client 400 in production and i want to login with ddic but i dont understand what will be the password for that.As for sap* is pass and for ddic=? . I also use 19920706 for ddic but still it is not allowing to log on.please tell me is it possible to log on with ddic in newly created client. and sap* is working but not ddic.
thanksDear Abhishek,
Before you proceed to Create Jobs & Positions first you check whether the Personnel Actions (PA40) is configured or not. Then after uploading the employeee master data you can proceed to other process.
if PA40 is not configured then Configure in SPRO using PA/PM/Customizing procudures/ Infotype Menus etc. You can also maintain user profile using Tcode. SU3.
All the best.
Rgds,
Vikrant -
How to avoid QM status for a newly created ODS Request be a Warning
Hi Experts,
I AM using 3.5
When I Execute my infopackage lo load a complete load data for an ODS, the QM status of the Request is a warning.
The monitor says no problem or warn for the load.
I can manually turn it into green and activate the data but i can not put it all in a process chain c'ause the activation can not be done without the manual turning into green.
Is there any step in the chain that can turn ir into green or a way to set it created in green? In the IP i have the warnings threatment as judged to be succesful...
Thanks!!!Hi,
If you want to use an ODS object as a data source for another ODS object or InfoCube, you have to make sure that the data is of good quality, and that it is active in the system.
If you choose the main menu path Environment ® Automatic Request Processing, the system automatically sets the quality status to OK after the data has been loaded into the ODS object. This option must be switched on. There is also the option of activating and updating ODS data automatically. Here, data that has been given the quality status OK is transferred from the activation queue into the active data table, and the change log is updated. The data is then updated into the connected data targets.
http://help.sap.com/saphelp_nw04/helpdata/en/fb/0025391d4f000be10000000a114084/frameset.htm
Please do the above , for more clarity please go through the link give . it is nothing to do other than setting quality status ok
Thanks
BVR -
Hi,
Before upgrading to Maverick, I used to sync all my contacts via iTunes.
iTunes used to have an option to "Add contacts created outside of groups on this iPhone to: (drop-down)".
I had created a group called ' RECENTLY ADDED ', so that every time I saved a new number whilst meeting people / networking, etc, it would auto-save to that group. I would then sync via iTunes, and voila- all my new contacts would be in there.
As a marketer, I allocate my contacts into various complicated groups... so from there, I would proceed to move each contact into their relevant group, and then 'delete' from group (not delete completely). I would repeat this step until all contacts were moved out, leaving an empty 'recently added' group.
The next time i was out networking/saving new numbers, the process would repeat...
Now that I have upraded to Maverick and using iCloud syncing, I cannot find this feature.
The previous method I used worked brilliantly, and I do not always have time to add notes, etc (for a smart group) when saving new numbers.
I'm struggling to find a solution now that I'm using the iCloud syncing service...
Any suggestions to make it easy??If the information is in iTunes on the computer you have synced with in the past another sync, being sure you select the items you want on the iphone, should copy those things back to the iPhone.
-
How to get IHTMLDocument2 of each newly created tab?
Hi there,
I'm working on an C++ IE automation application that opens multiple URLs. Each URL is opened in a new tab of the same IE instance. My problem is: How do I get a IHTMLDocument2 of each tab that the application just created? When I use the same IWebBrowser2
interface to open the tabs in the same IE instance, I always get the IHTMLDocument2 of the first tab.
This is what I do:
1. Call the CoCreateInstance method for the "InternetExplorer.Application"
2. QueryInterface from "InternetExplorer.Application" to IDispatch
3. QueryInterface from IDispatch to IWebBrowser2. For each URL that should be opened, I call the navigate-method on the same "IWebBrowser2"-interface. The navigate-method has a FLAGS-parameter, which I set to "navOpenInNewTab" in order
to open new tabs each time I call the method.
This all works fine, except that I'm not able to get the IHTMLDocument2 of each tab I just created. As I just said, I'm performing multiple calls to the navigate-method on the same "IWebBrowser2"-interface in order to open the new tabs in the same
IE-instance. But when I call the get_Document-method on the "IWebBrowser2"-interface, I always receive the document of the first tab. How can I get the document of the second, third, etc. tab?
Any suggestions?problem is 1 there isn't an event for browser saying "NewTabCreated" and even if you wrote one, you would have a hard time sending anything to the outside of the sandbox without extra accommodation (e.g. create a named pipe then grant access to
low integrity level processes).
Why the methods mentioned above won't work reliably:
IShellWindow is broken since Vista (Only trusted sites running in normal
integrity level would be displayed)
As a Windows Message, WM_HTML_GETOBJECT would be subject to
User Interface Privilege Isolation which has the same blocking effect.
DWebBrowserEvents2::NewProcess is best as a tab creation is guaranteed at this time, but
a new process is not guaranteed when you create a new tab so you would miss some tab creations.
Visual C++ MVP -
The communities are new to me....
My hard drive crashed and I lost my iTunes library. I had my music backed up on an exernal drive. Now that I've started over on a new hard drive and installed iTunes again, it is a newer version and I can't seem to figure out how to import my old iTunes library from my external drive into my new library on my new hard drive. Does anybody have an easy answer?
Much appreciated.
DaveHow to correctly move your media:
iTunes: How to move the library to an EHD -
ASM newly created diskgroup is not being used by RAC10GR2 Database
Hi,
I created new ASM diskgroup by using one of the RAC node through Grid control , it created new disk group successfully , I can see all the diskgroups in Grid control including newly created, but some how data is not moving into newly created diskgroup, all the diskgroups are mounted. Am i missing any post step , please help.
Thanks
MA
Edited by: 901554 on Jan 26, 2012 9:39 AMHi,
Data is not balanced accross diskgroups. It's balanced accross disks within a diskgroup. What exactly are you trying to achieve here? -
Hi Experts,
Can any one explain me about IDOC, and how to read it once it is created.
Regards
VenuHi,
IDOCS:
IDocs are SAPs file format to exchange data with a foreign system.
IDocs are an ASCII file format to exchange data between computers; the format is chosen arbitrarily .
IDocs are similar to segmented files; they are not a description language like ANSI X.12, EDIFACT or XML.
The IDoc contents are processed by function modules, which can be assigned in customizing.
IDocs are structured ASCII files (or a virtual equivalent). They are the file format used by SAP R/3 to exchange data with foreign systems.
IDocs are simple ASCII data streams. When they are stored to a disk file, the IDocs
are simple flat files with lines of text, where the lines are structured into data fields.
The typical structured file has records, each record starting with a leading string that identifies the record type. Their specification is stored in the data dictionary.
IDocs is the acronym for Interchange Document. This indicates a set of (electronic)
information which builds a logical entity. An IDoc is e.g. all the data of a single
customer in your customer master data file, or the IDoc is all the data of a single
invoice.
IDoc data is usually exchanged between systems and partners that are completely
independent. Therefore, the data should be transmitted in a format that can easily be
corrected by the computer operators. It is therefore mandatory to post the data in a
human readable form.
Nowadays, this means that data is coded in ASCII format, including numbers which
are sent as a string of figures 0 to 9. Such data can easily be read with any text editor on any computer, be it a PC, Macintosh, UNIX System, S/390 or any internet
browser.
The information which is exchanged by IDocs is called a message and the IDoc is
the physical representation of such a message. The name messages for the
information sent via IDocs is used in the same ways as other EDI standards. .
Everybody who has ever dealt with interface programming, will find IDocs very
much like the hierarchical data files used in traditional data exchange.
International standards like the ODETTE or VDA formats are designed in the same
way as IDocs are.
Other EDI standards like XML, ANSI X.12 or EDIFACT/UN are based on a data
description language. They differ principally from the IDocs concept, because they
use a programming language syntax (e.g. like Postscript or HTML) to embed the DATA.
The IDoc process is a straight forward communication scenario. A communication is
requested, then data is retrieved, wrapped and sent to the destination in a predefined format and envelope.
An R/3 application creates data and updates the database appropriately. An
application can be a transaction, a stand-alone ABAP Report or any tool that can
update a database within R/3.
If the application thinks that data needs to be distributed to a foreign system, it
triggers the IDoc mechanism, usually by leaving a descriptive message record in the
message table NAST.
The application then either directly calls the IDoc engine or a collector job
eventually picks up all due IDoc messages and determines what to do with them.
If the engine believes that data is ready to be sent to a partner system, then it
determines the function module which can collect and wrap the required IDoc data
into an IDoc.
In IDoc customising, you specify the name of the function module to use. This can
either be one which is predefined by R/3 standard or a user-written one.
When the IDoc is created it is stored in an R/3 table and from there it is sent to the foreign system.
If the foreign system requires a special conversion, e.g. to XML, EDIFACT or X.12
then this job needs to be done by an external converter, like the Seeburger ELKE
system. These converters are not part of R/3.
If you have to decide on a converter solution, we strongly recommend using a plain
PC based solution. Conversion usually requires a lot of fine tuning which stands
and falls with the quality of the provided tools.
DIFFERENCE B/W IDOC AND BDC:
IDOC's are intermediary documents into which the data will be transferred and then this idoc's gets transferred to sap or non-sap system.
ALE is used to create link between 2 systems. So without the linking the data cannot be uploaded or downloaded.
BAPI, LSMW and BDC are used to transfer data b/w systems.
BDC is used to transfer data b/w only sap systems.
LSMW is used to transfer data b/w sap and non-sap systems.
ale Idoc: Idoc is a part of ALE. it is applicable only if the external system and the sending system have the same format. ALE uses Internationally Standardized formats. Also it is facilitating Asynchronous data communication and safest data communication. If you got errors also you can correct it and send it again.
lsmw: It the legacy data transfer. which is used for bulk data transfers. It uses BAPI, IDoc, BDc internally....
bapi: SAP Provided way of data transfer. if the BAPi suits for our business bettere to go for bapi. it too uses internationally standardized data format Business Objects concept.
idocs
1.We will see the status of the IDOC in We02 or We05.
2.In that There are three records.
a.Data record
b.status record.
c.Control record.
3.If u click on data record you can see the data ,which is transfering it.
Details about IDOC:
Data Creation in Idoc
IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an
asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.
While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.
IDoc is a intermediate document to exchange data between two SAP Systems.
*IDocs are structured ASCII files (or a virtual equivalent).
*Electronic Interchange Document
*They are the file format used by SAP R/3 to exchange data with foreign systems.
*Data Is transmitted in ASCII format, i.e. human readable form
*IDocs exchange messages
*IDocs are used like classical interface files
IDOC types are templates for specific message types depending on what is the business document, you want to exchange.
WE30 - you can create a IDOC type.
An IDOC with data, will have to be triggered by the application that is trying to send out the data.
FOr testing you can use WE19.
How to create idoc?
*WE30 - you can create a IDOC type
For more information in details on the same along with the examples can be viewed on:
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm#_Toc8400404
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6620507d11d18ee90000e8366fc2/frameset.htm
http://www.sappoint.com/presentation.html
http://www.allsaplinks.com/idoc_search.html
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://www.erpgenie.com/sapedi/idoc_abap.htm
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30 )
Create Message Type ( WE81 )
Assign Idoc Type to Message Type ( WE82 )
Creating a Segment
Go to transaction code WE31
Enter the name for your segment type and click on the Create icon
Type the short text
Enter the variable names and data elements
Save it and go back
Go to Edit -> Set Release
Follow steps to create more number of segments
Create IDOC Type
Go to transaction code WE30
Enter the Object Name, select Basic type and click Create icon
Select the create new option and enter a description for your basic IDOC type and press enter
Select the IDOC Name and click Create icon
The system prompts us to enter a segment type and its attributes
Choose the appropriate values and press Enter
The system transfers the name of the segment type to the IDOC editor.
Follow these steps to add more number of segments to Parent or as Parent-child relation
Save it and go back
Go to Edit -> Set release
Create Message Type
Go to transaction code WE81
Change the details from Display mode to Change mode
After selection, the system will give this message The table is cross-client (see Help for further info). Press Enter
Click New Entries to create new Message Type
Fill details
Save it and go back
Assign Message Type to IDoc Type
Go to transaction code WE82
Change the details from Display mode to Change mode
After selection, the system will give this message The table is cross-client (see Help for further info). Press Enter.
Click New Entries to create new Message Type.
Fill details
Save it and go back
Check these out..
Re: How to create IDOC
Check below link. It will give the step by step procedure for IDOC creation.
http://www.supinfo-projects.com/cn/2005/idocs_en/2/
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.docs
go trough these links.
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...
1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.
2.IDOCs are independent of the sending and receiving systems.
3.IDOCs are independent of the direction of data exchange.
The two available process for IDOCs are
Outbound Process
Inbound Process
AND There are basically two types of IDOCs.
Basic IDOCs
Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
Extended IDOCs
Extending the functionality by adding more segments to existing Basic IDOCs.
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30)
Create Message Type ( WE81)
Assign Idoc Type to Message Type ( WE82)
imp links
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapedi/idoc_abap.htm
www.sappoint.com
--here u can find the ppts and basic seetings for ALE
http://sappoint.com/presentation.html
www.sapgenie.com
http://www.sapgenie.com/ale/index.htm
WE30 - you can create a IDOC type.
An IDOC with data, will have to be triggered by the application that is trying to send out the data.
Try this..Hope this will help.
SAP ALE & IDOC<<<<
Steps to configuration(Basis) >>
1. Create Logical System (LS) for each applicable ALE-enabled client
2. Link client to Logical System on the respective servers
3. Create background user, to be used by ALE(with authorizaton for ALE postings)
4. Create RFC Destinations(SM59)
5. Ports in Idoc processing(WE21)
6. Generate partner profiles for sending system
The functional configuration(Tcode: SALE)
Create a Customer Distribution Model (CDM);
Add appropriate message types and filters to the CDM;
Generate outbound partner profiles;
Distribute the CDM to the receiving systems; and
Generate inbound partner profiles on each of the clients.
Steps to customize a new IDoc >>>
1. Define IDoc Segment (WE31)
2. Convert Segments into an IDoc type (WE30)
3. Create a Message Type (WE81)
4. Create valid Combination of Message & IDoc type(WE82)
5. Define Processing Code(WE41 for OUT / WE42 for IN)
6. Define Partner Profile(WE20)
Important Transaction Codes:
SALE - IMG ALE Configuration root
WE20 - Manually maintain partner profiles
BD64 - Maintain customer distribution model
BD71 - Distribute customer distribution model
SM59 - Create RFC Destinations
BDM5 - Consistency check (Transaction scenarios)
BD82 - Generate Partner Profiles
BD61 - Activate Change Pointers - Globally
BD50 - Activate Change Pointer for Msg Type
BD52 - Activate change pointer per change.doc object
BD59 - Allocation object type -> IDOC type
BD56 - Maintain IDOC Segment Filters
BD53 - Reduction of Message Types
BD21 - Select Change Pointer
BD87 - Status Monitor for ALE Messages
BDM5 - Consistency check (Transaction scenarios)
BD62 - Define rules
BD79 - Maintain rules
BD55 - Defining settings for IDoc conversion
WEDI - ALE IDoc Administration
WE21 - Ports in Idoc processing
WE60 - IDoc documentation
SARA - IDoc archiving (Object type IDOC)
WE47 - IDoc status maintenance
WE07 - IDoc statistics
BALE - ALE Distribution Administration
WE05 - IDoc overview
BD87 - Inbound IDoc reprocessing
BD88 - Outbound IDoc reprocessing
BDM2 - IDoc Trace
BDM7 - IDoc Audit Analysis
BD21 - Create IDocs from change pointers
SM58 - Schedule RFC Failures
Basic config for Distributed data:
BD64: Maintain a Distributed Model
BD82: Generate Partner Profile
BD64: Distribute the distribution Model
Programs
RBDMIDOC Creating IDoc Type from Change Pointers
RSEOUT00 Process all selected IDocs (EDI)
RBDAPP01 - Inbound Processing of IDocs Ready for Transfer
RSARFCEX - Execute Calls Not Yet Executed
RBDMOIND - Status Conversion with Successful tRFC Execution
RBDMANIN - Start error handling for non-posted IDocs
RBDSTATE - Send Audit Confirmations
FOr testing you can use WE19.
http://sap-img.com/abap/reads-an-existing-idoc-and-dispays-the-contents-in-a-spreadsheet-format.htm
ALE/ IDOC/ XML
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://www.thespot4sap.com/Articles/SAP_XML_Business_Integration.asp
http://help.sap.com/saphelp_srm30/helpdata/en/72/0fe1385bed2815e10000000a114084/content.htm
IDOC Convertion
/people/kevin.wilson2/blog/2005/12/07/changing-fields-in-an-idoc-segment
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
IDOC Creation....
http://www.erpgenie.com/sap/sapedi/idoc_abap.htm
You can view the definition of any IDoc data structure directly with transaction WE30.
u cn use function module 'FIELD_POSITION_IN_SEGMENT_GET' to extract data from idocs.
You can view the idoc through we02 or we05. In that there are three types
status records gives the status of that idoc in differenttimes
data records gives the data in that idoc
control records gives the date, time and creater of that idoc.
I think its helps you.
Thanks and Regards,
D.Revathi. -
How to read value from Key flexfield added on to the newly created SIT
Hi Experts,
I have a requirrment to display a new structure in the Special Information Types (SIT) screen in SSHR. The data entered into the segment needs to be validated using PL/SQL function.
I have performed below steps to display the structure/field on SIT Page
1. Created new flexfield structure as XX_LEAVE_ENCASHMENT under the "HUMAN RESOURCE" Application (Application id- 800) and flexfield TITLE "Personal Analysis Flexfield" (PEA).
2. Added a new segment "Encash Days" for the newly created flexfiled structure "XX_LEAVE_ENCASHMENT".
3. Added this new structure in the Special Information Types form in HRMS responsibility
4. The structure is enabled on the SIT screen.
Now I want to validate the data entered in Encash Days field in this page by calling a PL/SQL function. This can be done by extending the SIT page Controller.
But how should the ID of the newly enabled segment (in the new Flexfield strucuture) be retrieved in the controller inorder to read the user-entered value (to further call the validation program)? Or is there any other way of achieving this functionality in OAF?
Please help.
Thanks.Hi,
Yes, u can get the value from the SIT and perform the relevant validation too.
Refer http://apps2fusion.com/at/43-ss/453-oaf-extension-case-study
Regards,
Gyan -
How to assign project specific task with the newly created projects ?
Hi All,
I need help. I need to assign project specific tasks (which i will be taking from staging table) other than the default task which are assigned during project creation. How do I proceed with this within same package. I am attaching the code of my package below...
CREATE OR REPLACE PACKAGE body xxpa_proj_conv_pkg as
PROCEDURE xxpa_create_project_proc(O_ERRBUF OUT VARCHAR2,O_RETCODE OUT VARCHAR2)
is
variables need to derive global parameters
v_responsibility_id NUMBER; --- PA Supervisor responsibility id
v_user_id NUMBER;
deriving global parameters-
-- Variables needed for API standard parameters
v_api_version_number NUMBER := 1.0;
v_commit VARCHAR2(1) := 'F';
v_return_status VARCHAR2(1);
v_init_msg_list VARCHAR2(1) := 'F';
v_msg_count NUMBER;
v_msg_index_out NUMBER;
v_msg_data VARCHAR2(2000);
v_data VARCHAR2(2000);
v_workflow_started VARCHAR2(1) := 'Y';
v_pm_product_code VARCHAR2(10);
---variables for catching errors---
v_error_flag number:=0;
-- Predefined Composite data types
v_project_in PA_PROJECT_PUB.PROJECT_IN_REC_TYPE;
v_project_out PA_PROJECT_PUB.PROJECT_OUT_REC_TYPE;
v_key_members PA_PROJECT_PUB.PROJECT_ROLE_TBL_TYPE;
v_class_categories PA_PROJECT_PUB.CLASS_CATEGORY_TBL_TYPE;
v_tasks_in_rec PA_PROJECT_PUB.TASK_IN_REC_TYPE;
v_tasks_in PA_PROJECT_PUB.TASK_IN_TBL_TYPE;
v_tasks_out_rec PA_PROJECT_PUB.TASK_OUT_REC_TYPE;
v_tasks_out PA_PROJECT_PUB.TASK_OUT_TBL_TYPE;
v_CREATED_FROM_PROJECT_ID varchar2(20);
v_CARRYING_OUT_ORGANIZATION_ID varchar2(20);
v_person_id NUMBER;
v_project_role_type VARCHAR2(20);
API_ERROR EXCEPTION;
v_a NUMBER;
cursor for project in data
CURSOR cur_project_in_data IS SELECT * FROM XXPA_PROJECT_IN_STG;
cursor for task data
CURSOR cur_task_in_data IS SELECT * FROM XXPA_TASK_IN_STG;
------------------------Cursors used for validations----------------------------------
cursor for product code used for validation
cursor cprc is select distinct PROJECT_RELATIONSHIP_CODE from PA_PROJECT_CUSTOMERS;
cursor for distribution rule-
cursor cdr is select DISTRIBUTION_RULE from PA_DISTRIBUTION_RULES;
cursor for project status code
cursor cpsc is SELECT PROJECT_STATUS_CODE, PROJECT_STATUS_NAME FROM PA_PROJECT_STATUSES WHERE STATUS_TYPE = 'PROJECT';
cursor for template/created from project id
cursor ccpid is select project_id from pa_projects where template_flag='Y';
BEGIN
select user_id, responsibility_id into v_user_id, v_responsibility_id
from PA_USER_RESP_V
where user_name like 'amit_kumar%'
and responsibility_name like'PA SupervisorS';
-- --Fnd_global.apps_initialize(user_id,resp_id, resp_appl_id);
-- Fnd_global.apps_initialize(v_user_id,v_responsibility_id,275);
-- -------calling global parameters---
pa_interface_utils_pub.set_global_info
p_api_version_number =>v_api_version_number,
p_responsibility_id =>v_responsibility_id,
p_user_id =>v_user_id,
p_msg_count =>v_msg_count,
p_msg_data =>v_msg_data,
p_return_status =>v_return_status
dbms_output.put_line ('Set Global status ->' || v_return_status);
----Cursor for PRODUCT RELATED DATA-----------
FOR REC IN cur_project_in_data LOOP
-----PASSING VALUES TO THE COMPOSITE DATA TYPE(PROJECT_IN_REC_TYPE)-------
----retrieving product code-----
select lookup_code into v_pm_product_code
from pa_lookups
where lookup_type = 'PM_PRODUCT_CODE'
and meaning = 'Oracle Project Manufacturing';
-----retrieving and validating created from project id----
BEGIN
select project_id
into v_CREATED_FROM_PROJECT_ID
from pa_projects_all
where name=rec.created_from_project_name;
EXCEPTION
when others then
O_Retcode := '1';
O_Errbuf :='Incorrent CREATED_FROM_PROJECT_NAME';
Fnd_File.Put_Line (Fnd_File.LOG, O_Errbuf);
UPDATE XXPA.XXPA_PROJECT_IN_STG
SET ERROR_FLAG ='1' ,last_updation_date='sysdate' where created_from_project_name = rec.CREATED_FROM_PROJECT_NAME;
END;
-----retrieving & validating carrying out organization id-----
BEGIN
select distinct(CARRYING_OUT_ORGANIZATION_ID)
into v_CARRYING_OUT_ORGANIZATION_ID
from pa_projects_prm_v
where CARRYING_OUT_ORGANIZATION_NAME=rec.carrying_out_organization_name;
EXCEPTION
when others then
O_Retcode := '1';
O_Errbuf :='Incorrent Carrying Out Organization name';
Fnd_File.Put_Line (Fnd_File.LOG, O_Errbuf);
UPDATE XXPA.XXPA_PROJECT_IN_STG
SET ERROR_FLAG ='1' ,last_updation_date='sysdate' where carrying_out_organization_name = rec.carrying_out_organization_name;
END ;
v_project_in.pm_project_reference := rec.segment1;
v_project_in.project_name := rec.PROJECT_NAME;
v_project_in.created_from_project_id := v_CREATED_FROM_PROJECT_ID;
v_project_in.carrying_out_organization_id := v_CARRYING_OUT_ORGANIZATION_ID;
v_project_in.project_status_code := rec.PROJECT_STATUS_CODE;
v_project_in.description := rec.PROJECT_DESCRIPTION;
v_project_in.start_date := rec.PROJECT_START_DATE;
v_project_in.completion_date := rec.PROJECT_COMPLETION_DATE;
v_project_in.distribution_rule := rec.DISTRIBUTION_RULE;
v_project_in.project_relationship_code := rec.PROJECT_RELATIONSHIP_CODE;
-------------------------Validation of incoming project data--------------------------------
v_error_flag := 1;
project relationship code validation
BEGIN
for prc in cprc
loop
if (rec.PROJECT_RELATIONSHIP_CODE=prc.PROJECT_RELATIONSHIP_CODE) or (rec.PROJECT_RELATIONSHIP_CODE is null)--can be overridden from template
then
v_error_flag :=0;
else null;
end if;
end loop;
END;
project distribution rule validation
BEGIN
for dr in cdr
loop
if (rec.DISTRIBUTION_RULE=dr.DISTRIBUTION_RULE) or (rec.DISTRIBUTION_RULE is null) null since the value can be taken from template too
then
v_error_flag :=0;
else null;
end if;
end loop;
END;
project status code validation
BEGIN
for sc in cpsc
loop
if (rec.PROJECT_STATUS_CODE=sc.PROJECT_STATUS_CODE) or (rec.PROJECT_STATUS_CODE is null) null since the value can be taken from template too
then
v_error_flag :=0;
else null;
end if;
end loop;
END;
dbms_output.put_line ('Error at PROJECT_STATUS_CODE>' ||v_error_flag);
validation logic for project start date
BEGIN
if TRUNC(rec.PROJECT_START_DATE) >= TRUNC(rec.PROJECT_COMPLETION_DATE)
THEN
v_error_flag := 1;
O_Retcode := '1';
O_Errbuf :='Project start date cannnot be greater than completion date';
Fnd_File.Put_Line (Fnd_File.LOG, O_Errbuf);
END IF;
END;
validation logic for project completion date
BEGIN
if (TRUNC(rec.PROJECT_COMPLETION_DATE)<=TRUNC(rec.PROJECT_START_DATE))
then
if ( rec.PROJECT_STATUS_CODE='CLOSED' and rec.PROJECT_COMPLETION_DATE>sysdate)
THEN
v_error_flag := 1;
O_Retcode := '1';
O_Errbuf :='completion date cannot be greater than sysdate for closed projects';
Fnd_File.Put_Line (Fnd_File.LOG, O_Errbuf);
END IF;
v_error_flag := 1;
O_Retcode := '1';
O_Errbuf :='Project closed date cannot be less than start date';
end if;
END;
--------Update staging table for the error records--------
BEGIN
if v_error_flag =1
then
O_Retcode := '1';
O_Errbuf :='Incorrect project relationship code';
Fnd_File.Put_Line (Fnd_File.LOG, O_Errbuf);
UPDATE XXPA.XXPA_PROJECT_IN_STG
SET ERROR_FLAG ='1' ,last_updation_date='sysdate' where PROJECT_RELATIONSHIP_CODE = rec.PROJECT_RELATIONSHIP_CODE;
end if;
END;
-----------------------End of validation of incoming project data----------------------------------
---------------Project Task DATA-----------------
v_a:=0;
FOR tsk IN cur_task_in_data LOOP
v_tasks_in_rec.pm_task_reference :=tsk.task_reference ;
v_tasks_in_rec.task_name :=tsk.task_name;
v_tasks_in_rec.pm_parent_task_reference :=tsk.parent_task_reference ;
v_tasks_in_rec.task_start_date :=tsk.task_start_date ;
v_tasks_in_rec.task_completion_date :=tsk.task_completion_date ;
v_tasks_in(v_a) := v_tasks_in_rec;
v_a:=v_a+1;
end loop;
---------------end of task details------------------
--INIT_CREATE_PROJECT
pa_project_pub.init_project;
---------------------CREATE_PROJECT--------------------------
pa_project_pub.create_project(
p_api_version_number=> v_api_version_number,
p_commit => v_commit,
p_init_msg_list => v_init_msg_list,
p_msg_count => v_msg_count,
p_msg_data => v_msg_data,
p_return_status => v_return_status,
p_workflow_started => v_workflow_started,
p_pm_product_code => v_pm_product_code,
p_project_in => v_project_in,
p_project_out => v_project_out,
p_key_members => v_key_members,
p_class_categories => v_class_categories,
p_tasks_in => v_tasks_in,
p_tasks_out => v_tasks_out);
if v_return_status = 'S'
then
UPDATE XXPA.XXPA_PROJECT_IN_STG
SET INTERFACE_STATUS ='Success' where segment1 = v_project_out.pa_project_number; ---P->pending & S-> Success
dbms_output.put_line('New Project Id: ' || v_project_out.pa_project_id);
dbms_output.put_line('New Project Number: ' || v_project_out.pa_project_number);
else
UPDATE XXPA.XXPA_PROJECT_IN_STG
SET INTERFACE_STATUS ='Pending' where segment1 = v_project_out.pa_project_number;
raise API_ERROR;
end if;
END LOOP;
Commit;
------Handling Exception--------
EXCEPTION
WHEN api_error THEN
dbms_output.put_line('An error occured during project creation');
IF (v_msg_count > 0 ) THEN
FOR i IN 1..v_msg_count LOOP
apps.PA_INTERFACE_UTILS_PUB.get_messages(
p_msg_count => v_msg_count,
p_encoded => 'F',
p_msg_index => i,
p_msg_data => v_msg_data,
p_data => v_data,
p_msg_index_out => v_msg_index_out);
dbms_output.put_line('Error message v_data ->'||v_data);
dbms_output.put_line('Error message v_msg_data ->'||v_msg_data);
dbms_output.put_line('Error message v_msg_index_out ->'||v_msg_index_out);
dbms_output.put_line('Error message p_msg_index ->'||i);
APPS.fnd_file.put_line(APPS.FND_FILE.LOG,v_data);
END LOOP;
END IF;
WHEN OTHERS THEN
dbms_output.put_line('An error occured during conversion, SQLCODE ->'|| SQLERRM);
IF (v_msg_count >=1 ) THEN
FOR i IN 1..v_msg_count LOOP
PA_INTERFACE_UTILS_PUB.get_messages(
p_msg_count => v_msg_count,
p_msg_index => i,
p_encoded => 'F',
p_msg_data => v_msg_data,
p_data => v_data,
p_msg_index_out => v_msg_index_out);
dbms_output.put_line('Error message ->'||v_data);
APPS.fnd_file.put_line(APPS.FND_FILE.LOG,v_data);
END LOOP;
END IF;
end; --end procedure
END xxpa_proj_conv_pkg;
* Please tell me how to assign project specific task with the newly created projects??? *
Also please tell me how to assign multiple * Project_Relationship_Code * (ex: END CLIENT, GENERAL CONTRACTOR, PRIMARY) for a particular project during project creation?Are you not storing the project number in the staging table designed for storing the task data? You can use create_project API to create the project and tasks at the same time with one single call. You may want to try that option
-
How to view your newly created webservice in dynamo administrator??
hi everyone,
i newly created a webservice for getGiftlistId and i can successfully see that in my dynadmin webservice Registry . but when it comes to accessing that getGiftlistId.wsdl i could not able to find the URL fo the same. For example we have a webservice for getInventory , we can access the wsdl with a URL http://hostname:port/commerce/inventory/getInventory?WSDL.
getInventory is a pre-built ATG webservice. so we can access directly with the above given URL. how can i access my getGiftlistId ??
can anyone tell me the how that url's will be constructed???
Thanks&Regard,
Ravi.I don't know much about webservice.
But when I generate server side code(for testing purpose) from wsdl using generate java bean skeleton option, It generates InvokeMY_SERVICE_SEIPort.wsdl.
So to access the webservice I used following url:
http://domainname:port/Webservice_context_root/../InvokeMY_SERVICE_SEIPort - this is the wsdl file path.
In order to view the wsdl I used following url:
http://domainname:port/Webservice_context_root/../InvokeMY_SERVICE_SEIPort?wsdl
Thanks,
Nitin. -
How do I recover a password just newly created on a new i-pad?
How do I recover a password just newly created on a new i-pad? I took note of the password created but it won't recognize it.
I actually don't remember the initial process, since it happened like 15 days ago. All I kow is that I have followed the steps when i have turned it on for the first time, I remember creating an apple account, passoword, etc, but is the account password the same to unlock the i-pad? Does it come with a standard intial (default) code? Thanks!
-
Can someone please tell me how to view a newly created Genius playlist (not via Up Next, but as a stand-alone playlist)? Thank you!
>> then I get a completely blue screen.
That probably means that you're not looking at a bug in Photoshop, but a problem with a driver - and the most likely cause would be your video card driver.
And sure enough, your video card driver is almost 2 years out of date.
Please go to NVidia's website and get the latest driver - then follow their directions for installation (so you don't get bits of old driver left over). -
How do I transfer all my songs from an old AppleID to a newly created AppleID without deleting everything on the old ID?
You cannot transfer content form one id to another.
Maybe you are looking for
-
Cannot Connect Imac 24" via mini dvi to HDMi adapter cable to Sony Bravia 3
Hello Everyone, I'm having the worst time in trying to connect the following: 1. Imac 24" 3.06 dual with dvi connection 2. Mini dvi to HDMI adapter (this mac with this connection was produced only for a short while!). 3. 10' (foor) HDMI wire 3. Sony
-
BPM error after PI 7.31 SP12 upgrade
We have a bpm scenario where we send a request to a web server and it sends a response message if successful request is sucessfuly processed (synchronous) or else sends us a fault message saying the server is busy at that time. Now this scenario was
-
Ios 7.1.1 update!!
I updated my iPhone 4s to IOS 7.1.1 at work and now I cannot turn my phone on unless it is connected to iTunes....but I can't!! Is there any way I can get access to my phone please?? I always do the updates with everything automatically backed up to
-
Dear Experts, I have done Miro for excise duty (CIN) of Import Purchase order and then posted the material document in MIGO_GR referencing PO, i have entered the Excise invoice No (created in MIRO ) in the commercial excise invoice no t
-
Replacement FM for CONVERT_DATE_INPUT
Hi, I needed the replacement function module for "CONVERT_DATE_INPUT" .. Thanks Vasuki