Creating custom variable I/O container
In reference to: http://zone.ni.com/reference/en-XX/help/371361J-01/lvioscanhelp/blockioaccess/
I am attempting to optimize performance when reading/writing I/O variables through the scan engine. Since I have many variables with different data types, I cannot access the variable container directly as in the example above. However, I have variables of identical data types which exist across several variable containers which I would like to access in this method.
My question: Is it possible to construct a variable container from muliple variable objects so that I can use the method above for optimization?
Hi psears,
If I understand correctly, you have I/O variables of varying data types that you would like to be able to read/write using the same code. To do that, you would need to programmatically determine the data type associated with each I/O variable and supply it before the container is accessed. This is unfortunately not a possibility, because the Scanned Variable Read function requires a data type input, as do all of the shared variable access methods in LabVIEW.
You could, however, programmatically list all I/O variables and "sort" the names of variables with like data types into arrays. This would require you still needing to know what the data type of each variable is, but if the number and arrangement of variables do not change this may only need to be constructed once. After you have arrays of like variable names, you could re-use the method you are looking into in an auto-indexed FOR loop to read all like variables. I agree that this is not the cleanest method that could be conceptualized, but I thought I would offer the idea to see if it could help with your thought process.
Additionally, the NI Distributed System Manager should be able to tell you what the data type for each I/O variable is a fair amount quicker than searching through the hardware in the Project Explorer window of your application. You may need to ensure that you have the NI System State Publisher installed on your hardware.
Let me know if that helps and whether you have any further questions!
| Zach J. | Applications Engineer | National Instruments |
Similar Messages
-
Create custom declarative component like container
Hi all,
I'm using Jdev 12c.
I wanna create a custom declarative component like this:
container.jsf :
<af:panelGroupLayout id="#{attrs.Name}_VIEWPORT" layout="scroll" binding="#{attrs.Binding}"
inlineStyle="position:absolute;width:#{attrs.ViewportWidth}px;height:#{attrs.ViewportHeight}px;top:#{attrs.ViewportY}px;left:#{attrs.ViewportX}px;border:1px solid;background:#c6c6ff;z-index:#{attrs.ZIndex};">
<af:panelGroupLayout id="#{attrs.Name}" layout="scroll"
inlineStyle="position:absolute;width:#{attrs.Width}px;height:#{attrs.Height}px;">
</af:panelGroupLayout>
</af:panelGroupLayout>
<af:xmlContent>
<afc:component>
<afc:description/>
</af:xmlContent>
I use this custom component to group some child components like this:
<abc:container ...>
<af:inputText ... />
<af:inputText ... />
</abc:container>
But the things is in Java code, I cannot get RichInputText components :
this is my function:
private void getFacetAndChild(UIComponent parent) {
Iterator childrens = parent.getFacetsAndChildren();
while (childrens.hasNext()) {
UIComponent child = (UIComponent)childrens.next();
System.out.println("Log child >> " + child);
getFacetAndChild(child);
this function only print the second RichPanelGroupLayout.
Any ideas to help me to get all RichInputText ?
Thanks and Best Regards!Hi All,
I found the solution. Just add one facet to Custom Container
<af:panelGroupLayout id="#{attrs.Name}_VIEWPORT" layout="scroll" binding="#{attrs.Binding}"
inlineStyle="position:absolute;width:#{attrs.ViewportWidth}px;height:#{attrs.ViewportHeight}px;top:#{attrs.ViewportY}px;left:#{attrs.ViewportX}px;border:1px solid;background:#c6c6ff;z-index:#{attrs.ZIndex};">
<af:panelGroupLayout id="#{attrs.Name}" layout="scroll"
inlineStyle="position:absolute;width:#{attrs.Width}px;height:#{attrs.Height}px;">
<af:facetRef facetName="child"/>
</af:panelGroupLayout>
</af:panelGroupLayout>
<af:xmlContent>
<afc:component>
<afc:description/>
</af:xmlContent>
And the used page:
<abc:container ...>
<f:facet name="child">
<af:inputText ... />
<af:inputText ... />
</f:facet>
</abc:container>
Maybe this solution will help others to create a custom container
Thanks and Best Regards! -
Include and use custom variables in alert container.
Hi,
I want to include payload specific information in my alert mails. I am looking forward to this approach, to help my customer, directly understand the alert mail by pin pointing a few payload specific primary fields.
I have gone through a few blogs, forum threads and SAP help documents and all say that this is not directly possible in ALRTCATDEF.
Please suggest how i can achieve this without using BPM.
Warm Regards,
AnshulDear Francis,
I have gone through this blog already.
To give you a jest of my scenario:
Itu2019s like ECC to PI to SQL synchronous communication. Now if there is a communication error between PI and SQL or there is an error on SQL then how can i use this UDF-RFC combination to raise alerts with payload specific information?
Would appreciate if you can give your inputs on this.
Warm Regards,
Anshul -
RSBBS - create a variable customer exit based on initial selection
Dear all,
I am using RSBBS (RRI) to jump from one query specific cell to another query. The destination query gets the parameters from the selected cell. In order to achieve this, the only thing we have done was to insert the relevant characteristics as Free Characteristics on the destination query (no variables were required).
Now, I need to add a new variable on my destination query. This variable should be a customer exist based on one of the paramenters that the destination query gets from the original query. How do I get this value to use it in the variable customer exit???
Thanks in advanceThanks for your reply,
I got it in a different but not tottally different way from wthat you suggested.
I have created a variable () (ready for imput) for my characteristic. However, on transaction RSBBS, when defining the target query, I went to "Assigment Details" option and for my characteristic, I have changed the type form "generically" to "variable" and choosed the field name of the variable ().
In this way the target report gets the original report definition for this characteristic as a variable that I can then use on my costumer exit.
I have tryed and worked...brilliant! -
Create Local Variable in Custom.pll
Hi,
I want to create and calling local variable in custom.pll. As i know, we can create local variable with personalization form. but i didn't find the way to create local variable in custom.pll.
Is there any way to create local variable in custom.pll and calling that variable ?
ThanksI think what you want is to create a GLOBAL variable, a LOCAL variable would be available to the Procedure/Function being executed. But to create the local variable, you add it between the Function/Procedure declaration and the begin
PROCEDURE abc(p_input VARCHAR2);
v_count NUMBER := 0;
BEGIN
END;
A GLOBAL reaches out past the execution of the proc defined in CUSTOM.pll. You can simply type GLOBAL.<var_name> := <value>.
BEGIN
GLOBAL.xx_count := 0;
END;
Though I like the ability Personalizations give you of using Init Value vs. Value, Init Value will assign a value if the variable does not exist ... and creates it. Value just assigns a value.
Some say you have do a COPY(value, NAME_IN('variable name')) instad of GLOBAL.<variable_name>, I have never had to use this. -
How to create customer exit variable
Hi guys,
please any one can help for how to create customer exit variabel.
Regards.Hi!
welcome to SDN.
its very simple.just go to Bex query designer. there u can use the following <a href="http://help.sap.com/saphelp_nw04s/helpdata/en/ac/789b3c4d4d8d15e10000000a114084/content.htm">Link</a> to create a variable.. but use the processing type user exit.
after that go to transaction SE37 in BW and opent he function module EXIT_SAPLRRS0_001
and in that there is a include ZXRSRU01.... just double click on it and edit that...
there u can write code for your variable ,...for example write code inside
case "ZMY_VARIABLE"
*code for ur variable
endcase
u can use the following
<a href="http://help.sap.com/saphelp_nw04s/helpdata/en/f1/0a56f5e09411d2acb90000e829fbfe/content.htm">link for help</a> -
How to create customer exit for characteristic variables and for text vars.
hi friends,
can anybody tell me how to create customer exit for characteristic variables and for text variables in bw ides system.
thanks,
sreeHi,
Please have a look at:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f1a7e790-0201-0010-0a8d-f08a4662562d
Krzys -
How to create a custom variable for a Label?
i need my label to store a string variable in it, do you know i can create a custom variable for it.
i mean for example if it's name is "StoredString" i can access it in my code by "label1.StoredString" just like "Label1.text" or something like that.Thanks for pvdg42's help.
Hi soorena12,
Based on your issue, I suggest you can try the pvdg42's suggestion check your issue in your side.
If it still could not help you solve this issue, I suggest you can tell me which kind of application you create the label in the VS IDE?
What language you use to create for your application?
If you have any update message about your issue, please tell us.
Best Regards,
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
How to create Customer data TAB in PO -ME23N
Can anyone tell me how to add 'Customer data' TAB in the PO heade TABSTRIP. I have to add it in the header besides 'Status' TAB.
I know an enhancement 'MM06E005' which is used for this purpose.
Thanks
SMSHi
see this sample doc and do it accordingly
by creating a project in CMOD and assigning the Enhancment MM06E005 and writing the code in the respective screen
How to implement screen exit for a SAP standard transaction
Introduction
SAP provides standard transactions to enter data into database. But a client may want to maintain some additional information in SAP other than what is provided.
To make provisions for this, additional screens have to be provided and additional fields must be added into appropriate database table.
To pave way for this, SAP has provided the option for screen exits. Usually, SAP provides the following:
An append structure in the database table with the new fields.
A subscreen area into the standard screen where the programmer can attach his subscreen of his own program with the new fields.
A function group under which the new subscreen has to be created with the new fields.
Function exits to synchronize the PBO and PAI of the standard SAP program with the PBO and PAI of the subscreen so that data can flow back and forth between the standard SAP program and the program written by the developer for the subscreen. These function modules also exist in the same function group under which the subscreen will have to be developed.
Finally, a linkage has to be done between the subscreen area of standard SAP screen with the custom subscreen constructed by the developer.
Typically, SAP provides an enhancement in which the developer can create an append structure, use the function exits to synchronize the PBO and PAI of the standard SAP program and the custom subscreen program, and make the necessary linking( as mentioned above in step 4. But, again, this is not a hard and fast rule. Linking in some case, is also done by configurations.) SAP also usually provides the name of the function group under which the subscreen has to be developed.
Necessary guidance about implementing a screen exit development is usually available in the Documentation section of the enhancement ( can be availed by transaction SMOD).
Pre-Requisites
The developer to work on screen exit should have essential knowledge on the following:
DDIC concepts, including the knowledge of append structure.
Concept of SAP Enhancements and implementing them using Projects.
Concept of function exits.
Knowledge on Module Pool including subscreens, Tabstrip controls etc.
Steps
Guidelines
So, a developer can follow the guidelines mentioned below to implement a screen exit to a standard SAP transaction, as and when required:
Find out the Required Enhancements
Go to SMOD. Press F4 in the Enhancement field. In the next popup window, click pushbutton SAP Applications. A list will appear that contains information on all the enhancements, categorized under functional areas. Developer must search for the enhancements relevant to his functional area of interest for e.g., Purchasing, Asset Accounting, etc.
Note down the enhancements. Then, come to the initial screen of SMOD and view the documentation of each enhancement to find out which one is required for your development.
Utilize the Enhancement in a Project
After you have found one, do as directed in the documentation. Generally, the steps are as follows:
Create a project using CMOD including your enhancement.
Create the append structure with new fields.
Go to the desired function group and create a subscreen with the new fields. Write PBO and PAI for the subscreen, if required.
Use the function exits in the enhancement to link the PBO and PAI of the subscreen with that of the main SAP program supporting the SAP transaction.
Maintain necessary linkage between the subscreen area of standard SAP program with the custom subscreen developed along with the custom program name. This can be done in the project (developed by CMOD including the enhancement) or outside as a part of configuration.
Activate the project.
Test to ensure that required functionality are met.
Case Study 1
Add three new custom fields for Asset master and maintain information for them
Requirement
Three fields in the legacy system have to be maintained in Asset master. These fields are:
Original Asset number 20 characters
Location 2 15 Characters.
Model no 20 characters
Location 2 should start with L.
Pre-Analysis
Finding out the Enhancement
As described above, the enhancement is determined. It was found, that enhancement AIST0002 will serve the purpose. It contains the following components (can be viewed by transaction SMOD):
Exit Type Description EXIT_SAPL1022_001 Function Exit Check of User-Defined Fields when Using Create and Change BAPI EXIT_SAPLAIST_002 Function Exit Transfer Data for User Subscreens in PBO. EXIT_SAPLAIST_003 Function Exit Transfer of User-Defined Fields to SAP Master Data Transactions CI_ANLU Customizing Include Include structure to add new fields
Studying the Function Exits
The function module level documentation for the function exits are then viewed from transaction SE37. The documentation clearly laid out for the purpose for their use:
EXIT_SAPLAIST_002
Function module Level Documentation
This function module is called by asset master data maintenance at the start of the dialog. (When changing, it is called after reading of the data from the database; when creating it is called after the transfer of the default values from the asset class and reference asset.) The purpose of the function module is to enable this function group to recognize the master data. For interpreting or controlling master data fields that are important for user fields, it is possible to transfer to global variables at this point, so that they can be recognized when the user subscreens are processed.
Import Parameters
Understanding
This function module is called at the PBO to pass the information retrieved from the database to pass them to the custom subscreen and its underlying program. Import parameter : I_ANLU will be populated with the values for user-defined fields which will be passed to the subscreen program. So, there must be some sort of variable assignment from I_ANLU.
EXIT_SAPLAIST_003
Function module Documentation: This function module is called by SAP asset master data maintenance after the screens are processed, but before saving. The purpose of the function module is to transfer fields entered on user sub-screens of SAP asset data maintenance to the database for updating. The export parameter for this function module is:
Understanding
This function module will be used to transfer the user entered data in the subscreen fields to the main SAP program, which will then be saved into the database.
Studying the Documentation of the Enhancement
The enhancement documentation (as is viewed from the initial screen of SMOD] also supports the idea. Moreover, it informs that we need to develop a subscreen under function group XAIS. This is the function group under which the two function exit modules also exist. So, if the custom subscreen refers to the global data of the function group XAIS, then those values will also be available to these function exits as well.
Going to SE80 and viewing the function group XAIS helps us to inform that there are three DDIC tables declared for it:
Deciding the Final course of Action
After making all the investigations, the final course of action was determined.
SrlNo Step Justification
A project has to be created using transaction CMOD where the enhancement AIST0002 will be included.
Customizing include CI_ANLU has to be created with the custom fields demanded When CI_ANLU will be developed, the custom fields will get appended to the database table ANLU. Also, these fields will be used to create screen fields in the new subscreen.
A custom subscreen, say, 9000 will be developed under function group XAIS. The screen group for the screen will be CUST (or any name). The three custom fields added to table ANLU (by creating CI_ANLU) will be used to create new fields in the screen.
In the PAI of the subscreen, validation for Location to start with L will be added. The subscreen with three new fields has to be developed so that it can be attached to a subscreen area of the asset master screens.
In the custom include of the function exit module EXIT_SAPLAIST_002, the following code will be written:-
ANLU = I_ANLU. I_ANLU is the import parameter of this FM. The value is assigned to the global variable ANLU, referring which the three new subscreen fields are developed. So, data retrieved from database table ANLU will be passed to this FM as I_ANLU by the standard SAP main program. The value will be taken and passed to the global variable of the function group XAIS, so that the three custom fields (referring to ANLU of XAIS) get populated.
In the custom include of the function exit module EXIT_SAPLAIST_003, the following code will be written:-
E_ANLU = ANLU. The changed values in the subscreen fields exist in global variable ANLU for the function group XAIS. This function exit module will pass the data back to the SAP main program as E_ANLU.
Proper linkage/configuration has to be done so that the new subscreens get linked to the appropriate subscreen area of the Asset master screen. This has to be done otherwise, the new custom subscreen will not be displayed in the Asset master screens.
Development
Creating a Project to include the enhancement
Go to transaction CMOD and create a project.
Enter a description for the project. Then, click on the pushbutton Enhancement Assignments in the Application Toolbar.
Enter the name of the enhancement and Save.
Go to Components.
Creating Custom Include for ANLU
The screen shown below will appear, showing all the enhancement components under the assignment AIST0002. Double-click on the name of the Include Structure to create it.
Create the include structure with three new fields, as required. Then, save and activate it.
Develop the subscreen and the program
Go to transaction SE80. For the function group XAIS, create a new subscreen 9000.
Create it as subscreen.
Then, go to the Layout of the screen and create three new fields from Database table ANLU.
Drag the fields in the screen body and place them.
Then, save and activate the screen and come back to screen flow editor.
Create the PAI module to add validation for field Location 2, as required .
Activate the whole function group and come out.
Write code in the Function Exits to synchronize the programs
Now, code has to be written in the function modules EXIT_SAPLAIST_002 and EXIT_SAPLAIST_003 so that data flows to and fro between the main SAP program and custom subscreen program. For that, go back to transaction CMOD and change the function exits.
Write code in the function module EXIT_SAPLAIST_002 called once at the beginning of the transaction:
Write code in EXIT_SAPLAIST_003 to pass the data from the subscreen to SAP main program.
Then, activate everything the whole project and come out.
Complete the configuration to link the subscreen
The development portion is complete. Now, linking of the subscreen has to be done with the subscreen area of the main program. In most of the cases, this linking can be done in the enhancement itself. But, here, requirement is a bit different. It is done by configuration using SPRO.
Assets are created under Asset class. And for each asset class, there is a layout assigned to it. For a layout, there are multiple tab pages assigned to it. And, for each tab page, there are multiple screen groups/field groups assigned.
Here, the requirement is to create these three custom fields in the tab page General of asset master screen ( AS01/AS02/AS03/AS91).
Determine the Layout
To achieve this, first of all, we need to find out which layout is assigned to asset class 1000.For that, go to transaction AOLK( information has to be obtained from functional consultant).Select the Asset Class 1000 and click on folder General Assignment of Layout.
Here, for Asset class 1000, for all the user groups, tab layout SAP is assigned. Since layout SAP cannot be changed, it has to be copied and manipulated to include our screen group. Later, the new layout has to be assigned over here.
Create new tab layout
Go to transaction AOLA. Copy the tab layout SAP to create another layout, say, YSUB.
System will copy all the settings and will inform you about that.
Select your newly created layout and double-click on the folder Tab page titles.
You want to put your custom fields in the tab page General. So, select this tab page entry and double-click on the folder "Position of Groups".
Here, all the field groups currently residing in the tab-page General are shown. Add an entry for your newly created fields.
Select the group box from the list. An entry will come with U padded with the custom subscreen prepared by you.
Then, save and come out.
Assign the new Layout to Asset Class
Now, go to tcode AOLK and assign tab layout YSUB for asset class 1000.
Save and come out.
Test the Exit
Everything is over. Now, go to transaction code AS01/02/03 or AS91 to deal with an asset of asset class 1000. You will see your new fields added to the screen. Add values to them save. Then, enter into the tcodes again to see whether the values entered by you are being displayed or not.
Original Source: ittoolbox.com
Regards
Anji -
hi all
I am XI consultant
i want to send IDOC to XI server using ALE..but the IDOC is not present ....the master data is stored in standard sap tables but for them idoc is not present ...so i want to create custom idoc and using change pointer i can send it across ...is this a write approach...? Also please give me the procedure for the above approach as i dont have idea about how to create custome idoc and send it using change pointer
thanks
SheetalHi
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
Reward points if useful
Regards
Anji -
Error while Creating Presentation variable
Hi,I am new to OBIEE
I am facing this error:
"A numeric value was expected (received "max("Sales Measures".Dollars)").
Error Details
Error Codes: EHWH2A7E"
1.I am using paint rpd.I want to use presentation variable.
2.So i took two column in criteria 1.Region 2. Dollars
3.In Dollars edit formula ,I created presentation variable i.e. @{Doller_presentation}{max("Sales Measures".Dollars)} in the column formula.
4.And In the same column i use filter
Add ->presentation variable->variable exp =Doller_presentation and default =max("Sales Measures".Dollars)
5.I have added this request on dashboard page,but error is coming.
6.Also i have created dashboard prompt,
Set presentation variable to "Doller_presentation"
and in column formula :@{Doller_presentation}{max("Sales Measures".Dollars)}
and took that prompt on the same dashboard page.
so promt with 2 values are coming.1.All choces 2.13087528..may be ths is max value of dollar but on click its showing error as
"Odbc driver returned an error (SQLExecDirectW).
Error Details
Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 42021] The query does not reference any tables. (HY000)
SQL Issued: SELECT 13087529 FROM Paint ORDER BY 1"
I am confuse abt use of presentation variable
Please Help,
Thanks
Kapil
[email protected]
Edited by: user13098263 on May 9, 2010 10:58 PM
Edited by: user13098263 on May 9, 2010 11:01 PM
Edited by: user13098263 on May 9, 2010 11:02 PM
Edited by: user13098263 on May 9, 2010 11:04 PMHi Rachit
You answered my doubt.This one really works . Thanks a lot !
But i have one more doubt i.e if have created the Presentation variable in the dashboard prompt and I want to use it in a report
i.e the scenario is If I have created a new column i.e " Revised Salary " in the Presentation Services and want the values to be entered there dynamically upon end users choice. For ex the end user selecrts value of 1 then the report would display an increament of 500 to all the employees in the " Revised Salary " column and if the end user select value of 2 .. the report would display a decrement of 500 in the " Revised salary column".
I am getting the following error :
========================================================================
Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 59001] Binary Logical operation is not permitted on VARBINARY, INTEGER operand(s). (HY000)
SQL Issued: SELECT "D0 Time"."T05 Per Name Year" saw_0, "D2 Market"."M04 Region" saw_1, "D4 Product"."P01 Product" saw_2, "D1 Customer"."C1 Cust Name" saw_3, "F1 Revenue"."1-01 Revenue (Sum All)" saw_4, CASE WHEN 0='1' then "F1 Revenue"."1-01 Revenue (Sum All)" +500 else "F1 Revenue"."1-01 Revenue (Sum All)" - 500 end saw_5 FROM "Sample Sales" ORDER BY saw_0, saw_1, saw_2, saw_3
========================================================================
Please NOTE : The column on which I want to do an increament is : "F1 Revenue"."1-01 Revenue (Sum All)"
Thanks -
How to create Text Variables in BEx Query Designer
How can i create Text Variables in Bex Q.D.
I am able to create characteristic variables
but i can't find option to create text variables.
What's the requirement to create Text variables in Bex Q.D.
When i try to create Text variable for 0calDay.. the variable type is characteristic by Default and disabled.
How can i create text variables related to 0CalDay with which i need to work in Customer Exit.Hi,
You have to create characteristic variable processing by Customer Exit by considering 0CalDay as a Reference Characteristic
After creation of the above variable, you restrict your KF with the above created variable.
Now you can create a Text variable for the description of your KF. This way it works...........
Regards,
Suman -
How to Created custom report for Ship not Billed (SD/FI)?
Hi all,
I am anticipating to write some abap reports..Here is one of them..
Anyone can help me with writing a Report , how to do 'Custom Report for shipped not Billed(SD/FI)' ..But since I am new to Abap , if you wish to reply, please use a little more detail and simple explanation, step by step so I can understand what is the idea, how it can be acheived...what kind of report should be used , techniques, tables etc...:)
Appreciate your help!
Regards,
BobyHi Boby,
You need to create custom transaction to achive these results.
you will have selection-screen ,it would be :
Date : Here date would be mandatory - Ranges Option
Customer - Optional field - Ranges
Order # Sales Order (Optional) Ranges
Invoice # - Invoice # (Optional) Ranges
You will get the data based on ur selection-screen criteria ...
First you will have customer order details from diffrent table
VBAK,
VBAP,
LIKP
LIPS
VBRK,
VBRP
KNA1,
VBFA Tables ( See the my sample program )
Output would be :
Customer # Custome Name Order # Delivery # Invoice # Netpr, Netquantity ,
Check the condition whether invoice table has VBRK-RFBSK = ''.
See the my sample program : This is sales report by monthly..
REPORT ZFDSALES_REPORT no standard page heading
message-id zwave.
Data Declaration Part
TYPE-POOLS
type-pools : slis.
Tables
tables : VBAK,
VBAP.
Internal table for VBAK Table
data : begin of i_vbak occurs 0,
vbeln like vbak-vbeln,
bstnk like vbak-bstnk,
vdatu like vbak-vdatu,
end of i_vbak.
Internal table for VBAP and MATNR
data : begin of i_vbap occurs 0,
vbeln like vbap-vbeln,
matnr like vbap-matnr,
kdmat like vbap-kdmat,
kwmeng like vbap-kwmeng,
netpr like vbap-netpr,
maktx like makt-maktx,
end of i_vbap.
Internal tables
data : begin of i_sales occurs 0,
vdatu like vbak-vdatu,
bstnk like vbak-bstnk,
matnr like vbap-matnr,
maktx like makt-maktx,
kdmat like vbap-kdmat,
kwmeng like vbap-kwmeng,
netpr like vbap-netpr,
end of i_sales.
Variable for ALV
data : v_repid like sy-repid,
gt_fieldcat type slis_t_fieldcat_alv.
Selection-screen
selection-screen : begin of block blk with frame title text-001.
select-options : s_vbeln for vbak-vbeln,
s_erdat for vbak-erdat,
s_ernam for vbak-ernam,
s_vdatu for vbak-vdatu obligatory,
s_BSTNK for vbak-BSTNK,
s_KUNNR for vbak-kunnr,
s_matnr for vbap-matnr,
s_KDMAT for vbap-KDMAT.
selection-screen : end of block blk.
Initilization
initialization.
v_repid = sy-repid.
S T A R T - O F - S E L E C T I O N ****************
start-of-selection.
Get the data from VBAK and VBAP Tables
perform get_vbak_vbap.
E N D - O F - S E L E C T I O N *****************
end-of-selection.
Display the data
perform dispolay_data.
*& Form get_vbak_vbap
Get the data from VBAK and VBAP Table
FORM get_vbak_vbap.
Get the data from VBAK Table
select vbeln bstnk vdatu from vbak into table i_vbak
where vbeln in s_vbeln
and bstnk in s_bstnk
and vdatu in s_vdatu
and kunnr in s_kunnr
and erdat in s_erdat
and ernam in s_ernam.
if sy-subrc ne 0.
message e000(zwave) with 'No data found for given selection'.
endif.
Get the data from VBAP Table
select avbeln amatnr akdmat akwmeng a~netpr
b~maktx into table i_vbap
from vbap as a inner join makt as b on bmatnr = amatnr
for all entries in i_vbak
where a~vbeln in s_vbeln
and a~kdmat in s_kdmat
and a~abgru = space
and a~matnr in s_matnr
and a~matnr ne '000000000000009999'
and a~matnr ne '000000000000004444'
and a~matnr ne '000000000000008888'
and a~matnr ne '000000000000001111'
and a~werks = '1000'
and b~spras = 'E'
and a~vbeln = i_vbak-vbeln.
if sy-subrc ne 0.
message e000(zwave) with 'No data found for given selection'.
endif.
sort i_vbak by vbeln.
sort i_vbap by vbeln matnr.
loop at i_vbap.
read table i_vbak with key vbeln = i_vbap-vbeln
binary search.
if sy-subrc eq 0.
i_sales-bstnk = i_vbak-bstnk.
i_sales-vdatu = i_vbak-vdatu.
i_sales-matnr = i_vbap-matnr.
i_sales-kdmat = i_vbap-kdmat.
i_sales-maktx = i_vbap-maktx.
i_sales-netpr = i_vbap-netpr.
i_sales-kwmeng = i_vbap-kwmeng.
append i_sales.
else.
continue.
endif.
clear : i_sales,
i_vbap,
i_vbak.
endloop.
sort i_sales by vdatu bstnk matnr.
refresh : i_vbap,
i_vbak.
ENDFORM. " get_vbak_vbap
*& Form dispolay_data
Display the data
FORM dispolay_data.
Fill the Fiedlcat
PERFORM fieldcat_init using gt_fieldcat[].
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = v_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
IT_FIELDCAT = gt_fieldcat[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_ADD_FIELDCAT =
IT_HYPERLINK =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IT_EXCEPT_QINFO =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = i_sales
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
ENDFORM. " dispolay_data
*& Form fieldcat_init
text
-->P_GT_FIELDCAT[] text
FORM fieldcat_init USING e01_lt_fieldcat type slis_t_fieldcat_alv.
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
Delivery Date
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'VDATU'.
LS_FIELDCAT-OUTPUTLEN = 12.
LS_FIELDCAT-TABNAME = 'I_SALES'.
ls_fieldcat-seltext_L = 'Delivery Date'.
APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
Purchase Order #Material Description
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'BSTNK'.
LS_FIELDCAT-OUTPUTLEN = 25.
LS_FIELDCAT-TABNAME = 'I_SALES'.
ls_fieldcat-seltext_L = 'Purchase Order #'.
APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
Material
CLEAR LS_FIELDCAT.
LS_FIELDCAT-REF_FIELDNAME = 'MATNR'.
LS_FIELDCAT-REF_TABNAME = 'MARA'.
LS_FIELDCAT-FIELDNAME = 'MATNR'.
LS_FIELDCAT-TABNAME = 'I_SALES'.
ls_fieldcat-seltext_L = 'Material #'.
ls_fieldcat-seltext_M = 'Material #'.
ls_fieldcat-seltext_S = 'Material #'.
APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
Material Description
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MAKTX'.
LS_FIELDCAT-OUTPUTLEN = 40.
LS_FIELDCAT-TABNAME = 'I_SALES'.
ls_fieldcat-seltext_L = 'Material Description'.
APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
Customer Material #
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'KDMAT'.
LS_FIELDCAT-OUTPUTLEN = 35.
LS_FIELDCAT-TABNAME = 'I_SALES'.
ls_fieldcat-seltext_L = 'Customer material no.'.
APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
Quantity
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'KWMENG'.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-TABNAME = 'I_SALES'.
ls_fieldcat-seltext_L = 'Quantity'.
APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
Net Price
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'NETPR'.
LS_FIELDCAT-OUTPUTLEN = 15.
LS_FIELDCAT-TABNAME = 'I_SALES'.
ls_fieldcat-seltext_L = 'Net Price'.
APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
ENDFORM. " fieldcat_init
Reward Points if it is helpful
Thanks
Seshu -
How to create a variable, and how to use the same across all the reports?
Hi,
Is there any possibility of creating a variable at once and making use of that across in all the Crystal Reports?
Thanks In advance for your time and solution.MohanMRK,
can you describe how you get the value for this variable?
is it calculated on one report and then you want to pass it to a 2nd report? if that's the case, what you can do is have the reports linked via an opendocument link and pass the value to the 2nd report as a parameter. the value / parameter is only shared when you press the opendocument hyperlink.
please see the sdk library [here |http://www.sdn.sap.com/irj/boc/sdklibrary]and scroll down to the opendocument section near the bottom.
if you are just trying to find a way to share a calculation across reports look into creating a Custom Function which can be added to your repository. please note that this will not pass a calculated value across 2 or more reports, but will just have a shared method of making the calculation.
as Abhilash mentioned before, there's no way to use an actual Variable across 2 separate reports without them being a main report and subreport(s). in that case you'll want to look into Shared Variables.
cheers,
jamie -
Is there a way to create custom instrument icons in GarageBand '09?
Hello everyone!
I am just curious if any of you might know a way to create custom instrument/track icons in GarageBand (I show an example of what I mean below)? For instance, Let's say one of the guitar tracks I've recorded was done with a Flying V and I'd like to reflect that in the instrument icon. Is that possible? If so, I'd love to know how I know it's nothing mega-important, and doesn't affect my recordings in any way, but is a great visual cue as to what that track might contain. Apple has given us some great default choices but it would be nice if we could use some of our own PNG files for this purpose too!
Thanks for any info you may have, and have a great weekend!Dude thank you SO much for this! I searched and search and found no help at all, so this is an awesome find. The funny thing is I posted this question and got so busy with life in general that I had forgotten about it until just now when I fired up GarageBand LOL. Then I remembered asking this question and checked in. So glad I did because you totally hooked me up!
THANKS AGAIN!!
Maybe you are looking for
-
Hi! For type CR - credit memo in VOFA Negative posting = B. So, when I create a credit invoice form (CR), FI document created with indicator "Negative posting". For reversal credit memo (CRS - reversal credit memo) in VOFA Negative posting = empty.
-
I am currently running CiscoWorks 2000 on Solaris 9 , but the administrator is going to upgrade that box to Solaris 10. Will CiscoWorks2000 run on Solaris 10? These are the packages I am currently running: - LMS Bundle = 2.6 - CiscoWo
-
If bought NI USB-6800 device, is Measurement Studio free for dev?
If bought a NI USB-6800 device, is Measurement Studio free for VC++ development? Do I need to buy the Measurement Studio license? Or is there another way to do the VC++ development? Such as via some free dll or ocx library. Plus I noticed that there
-
FI-AA: table(-s) for the asset value
Dear forum members, I need to find the table where I can get the asset value from!? The background is that I`m writing a report where I have to get the value of an asset. If it is higher then 0,00 then it has to do this and if it lower than 0,00 it h
-
Mac OS 10.10, CS4: Error 150: 30 "License has stopped working"
I recently did a hard drive restore from Time Machine. I'm running OS 10.10 (Yosemite) and have worked my way through the recommended solutions to Error 150:30, as per the Adobe support site. However, none of them specifically point to OS 10.10- mo