One PR for Each Material
Dear friends
When i run Forecast based MRP in a Hotel, i am getting One P.R for every material, i having more than 2000 materials,. Can u pl guide me how can i combine the purchase requisition. what are the settings needed to avoide one P.R for each material.
Thanks
Shivani
Shivani,
MRP is a planning tool, which processes one part number at a time. It is not designed to manage your client's requirements to consolidate purchase requisitions across multiple part numbers.
If your client requires that purchase requisitions be consolidated, then that is a custom requirement and will require custom programming. Get the detailed specs from the client and submit them to an ABAP'er. It would be a simple matter for a custom program to select specified purchase reqs, and consolidate them into a smaller number of reqs, and then delete the original reqs that are no longer needed.
Rgds,
DB49
Similar Messages
-
Assign different ship to party for each material in a sales order in CRM?
Hi all,
I need to create a sales order in CRM, such that the sales order contains more than 100 materials at item level and each material should be shipped to a different ship to party.
That is for 100 materials in sales order I need to ship to 100 different customers.
The 100 ship to partyu2019s are maintained for the business partner in relation ships tab in /nBP.
The CRM configuration is done in such a way that when we enter a material while creating a sales order in CRM,u2026u2026.a window pops up asking us to select the ship to party for that material.
No I need to replicate this programmatically. I generated a sales order in CRM programmatically using BAPI_SLSTRANSACT_CREATEMULTI. u2026 Now I need to make changes such that I have a provision to assign ship to party for each materialu2026
How can I do this? Can any one tell me if there is a BAPI or Function Module available so that I can assign a different ship to party for each material in sales order?
Regards,
Jessica SamHere is sample code. In that highlighted portion is different. check this out
DATA: ls_partner TYPE crmt_partner_com,
ls_input_fields TYPE crmt_input_field,
lt_fieldname TYPE crmt_input_field_names_tab,
ls_fieldname LIKE LINE OF lt_fieldname.
ls_partner-ref_handle = p_iv_handle.
ls_partner-ref_partner_handle = 1.
ls_partner-ref_kind = 'A'.
ls_partner-display_type = 'BP'.
ls_partner-no_type = 'BP'.
ls_partner-kind_of_entry = 'C'.
licensee
ls_partner-partner_fct = '00000069'.
ls_partner-partner_no = w_but000-partner.
INSERT ls_partner INTO TABLE gt_partner.
Bill to party
IF NOT w_con_header-billtoparty IS INITIAL.
ls_partner-partner_fct = '00000003'.
ls_partner-partner_no = w_but001-partner.
INSERT ls_partner INTO TABLE gt_partner.
ENDIF.
IF w_con_header-billtoparty IS INITIAL.
ls_partner-partner_fct = '00000003'.
ls_partner-partner_no = w_but000-partner.
INSERT ls_partner INTO TABLE gt_partner.
ENDIF.
Employee
ls_partner-partner_fct = '00000014'.
ls_partner-partner_no = w_con_header-empresp.
INSERT ls_partner INTO TABLE gt_partner.
+*lsinput_fields-ref_handle = p_iv_handle.*+_
+*lsinput_fields-ref_kind = 'A'.*+_
ls_input_fields-logical_key = ls_partner-ref_partner_handle.
ls_input_fields-objectname = 'PARTNER'.
ls_fieldname-fieldname = 'DISPLAY_TYPE'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.
ls_fieldname-fieldname = 'KIND_OF_ENTRY'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.
ls_fieldname-fieldname = 'NO_TYPE'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.
ls_fieldname-fieldname = 'PARTNER_FCT'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.
ls_fieldname-fieldname = 'PARTNER_NO'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.
ls_input_fields-field_names = lt_fieldname.
INSERT ls_input_fields INTO TABLE gt_input_fields. -
Multi-column Index vs One index for each column
Hello everyone,
i have one table about 20 000 000 rows, some developers have to generate reports on it and i want to create indexes on this table.
The table has 34 columns, no primary key, no unique keys.
The "where..." clause of the reports usually use 8 columns but some reports uses 8 + some other columns.
can any one help me on what kind of indexes do i have to create?
1. one index for each column used in "where clause"
2. one index for 8 columns and some other indexes for other used columns
3. one index for all columns
or something else etc...
br flagi have one table about 20 000 000 rows, some developers have to generate reports on it and i want to create indexes on this table.
The table has 34 columns, no primary key, no unique keys.
The "where..." clause of the reports usually use 8 columns but some reports uses 8 + some other columns.
can any one help me on what kind of indexes do i have to create?
1. one index for each column used in "where clause"
2. one index for 8 columns and some other indexes for other used columns
3. one index for all columns
or something else etc...What's the version of your data base? what kind of database you have, DWH or OTLP? The answer might depend on the type of database as far as bitmap indexes might suit or might not depending if you are runing DWH or OLTP kind of database
Let me suppose that you are runing OLTP database and you have a where clause with 8 columns.
1) are all those where clause equalities (where col1 = and col2 =) or there are inequalities?
2) could you evaluate the most repetitive columns?
3) could you know the column that could have the best clustering factor (the column which most follow a certain order in the table)
Based on that I would suggest to create one b-tree index having 8 columns (even though that it seems for me to high) this index should follow the following points:
1) put the most repetitive column at the leading edge (and compress the index if necessary)
2) put the columns that are used in equalitity predicate first
3) put the column having the best clustering factor first
The most precise index you have the best access you could gain.
Of course that you have to know that an index access is not always good and a FULL table scan is not always bad.
Best regards
Mohamed Houri
www.hourim.wordpress.com -
Get only one row for each kind of a column
hi there!
i have a little problem.
I have a table with 10 columns. One of them has repeated values. My goal is to get all the rows with this column only one time for each values that it has.
Ex:
Col1 Col2 Col3
A A A
B B B
C A C
D C D
Column 2 has repeated values. My goal is to get:
A A A
B B B
D C D
Only one time each value of column 2.
Thanks guys! ;)SQL> CREATE TABLE Tbl (col1 VARCHAR2(1),col2 VARCHAR2(1),col3 VARCHAR2(1));
Table created.
SQL> INSERT INTO Tbl VALUES ('A','A','A');
1 row created.
SQL> INSERT INTO Tbl VALUES ('B','B','B');
1 row created.
SQL> INSERT INTO Tbl VALUES ('C','A','C');
1 row created.
SQL> INSERT INTO Tbl VALUES ('D','C','D');
1 row created.
SQL> commit;
Commit complete.
SQL> SELECT * FROM tbl t1
2 WHERE
3 rowid=(SELECT min(rowid)
4 FROM tbl t2
5 WHERE t1.col2=t2.col2);
C C C
A A A
B B B
D C D
SQL> SELECT * FROM tbl t1
2 WHERE
3 rowid=(SELECT max(rowid)
4 FROM tbl t2
5 WHERE t1.col2=t2.col2);
C C C
B B B
C A C
D C DEdited by: Saubhik on Aug 3, 2010 1:31 AM -
Ship to party for each material using BAPI_SLSTRANSACT_CREATEMULTI
i am able to generate sales order for in CRM. I am inputting the sold to party, ship to party, bill to party and payer at the header level...
CRM is currently configured in such a way that , there is a provision to assign ship to party at item level for each material.
How can i programatically replicate this? I need to assign a diiferent ship to party for each material in the sales order.*
how can i programatically replicate this?...
this is my code for cresating a sales order in CRM with sold to party, ship to party, bill to party and payer at the header level...
*************include constants
include crm_direct.
************// GUIDs
data: lv_guid_h type GUID_32, "HEADER GUIDE
lv_guid_i type GUID_32, "ITEM GUIDE
lv_guid_sl type GUID_32, "SCHEDULE LINE GUIDE
lv_guid_p type GUID_32. "PARTNER GUIDE
***********// Handles
data: lv_current_handle type crmt_handle, "CURRENT HANDLE
lv_handle_h type crmt_handle, "HEADER HANDLE
lv_handle_i type crmt_handle, "ITEM HANDLE
lv_handle_sl type crmt_handle, "SCHEDULE LINE HANDLE
lv_handle_p type crmt_handle. "PARTNER HANDLE
***********// Administration header + item + etc
data: lt_salesorder_header type table of bapibus20001_header_ins, "LT_SALESORDER_HEADER
ls_salesorder_header type bapibus20001_header_ins, "LS_SALESORDER_HEADER
lt_salesorder_item type table of bapibus20001_item, "LT_SALESORDER_ITEM
ls_salesorder_item type bapibus20001_item, "LS_SALESORDER_ITEM
lt_scheduleline type table of BAPIBUS20001_SCHEDLIN, "LT_SCHEDULELINE
ls_scheduleline type BAPIBUS20001_SCHEDLIN, "LS_SCHEDULELINE
lt_partner type table of BAPIBUS20001_PARTNER_INS, "LT_PARTNER
ls_partner type BAPIBUS20001_PARTNER_INS, "LS_PARTNER
ls_logical_key TYPE crmt_partner_logic_partner_key, "LS_LOGICAL_KEY
lt_organisation type table of BAPIBUS20001_ORGMAN_INS, "LT_ORGANISATION
ls_organisation type BAPIBUS20001_ORGMAN_INS. "LS_ORGANISATION
*********// Saved sales orders
data: lt_saved_process type table of bapibus20001_object_id, "LT_SAVED_PROCESS
data:
ls_saved_process type bapibus20001_object_id, "LS_SAVED_PROCESS
ls_salesorder type CRMT_RETURN_OBJECTS_STRUC. "LS_SALESORDER
data: lt_input_fields type table of bapibus20001_input_fields, "LT_INPUT_FIELDS
ls_input_fields type bapibus20001_input_fields, "LS_INPUT_FIELDS
ls_return type bapiret2. "LS_RETURN
data: lt_return type table of bapiret2. "LT_RETURN
***********// Macro definition to populate structure and input field This, called as
*_set_field ls_salesorder_header GUID lv_guid_h
*is exploded as
ls_salesorder_header-GUID = lv_guid_h.
ls_input_fields-fieldname = 'GUID'.
append ls_input_fields to lt_input_fields.
*Note 1: &2 (field name) MUST be uppercase
*Note 2: for the salesorder header, Macro has not been used to show how the code should look like.
*except for that the macro has been used everywhere else.
define setfield.
&1-&2 = &3.
ls_input_fields-fieldname = '&2'.
append ls_input_fields to lt_input_fields.
end-of-definition.
*****// end of macro definition
******// fill order administration header
perform get_guid changing lv_guid_h.
add 1 to lv_handle_h.
ls_salesorder_header-guid = lv_guid_h.
ls_salesorder_header-handle = lv_handle_h.
ls_salesorder_header-process_type = 'ZWEB'.
clear ls_input_fields.
ls_input_fields-ref_handle = lv_handle_h.
ls_input_fields-ref_guid = lv_guid_h.
*ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
ls_input_fields-objectname = gc_object_name-orderadm_h.
ls_input_fields-fieldname = 'GUID'.
append ls_input_fields to lt_input_fields.
ls_input_fields-fieldname = 'HANDLE'.
append ls_input_fields to lt_input_fields.
ls_input_fields-fieldname = 'PROCESS_TYPE'.
append ls_input_fields to lt_input_fields.
append ls_salesorder_header to lt_salesorder_header.
**********// fill organisation data (Interface needs this, some times may rely on sales org determination instead...
clear ls_input_fields.
ls_input_fields-ref_handle = lv_handle_h.
ls_input_fields-ref_guid = lv_guid_h.
ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
ls_input_fields-objectname = gc_object_name-orgman.
setfield ls_organisation REF_GUID lv_guid_h.
setfield ls_organisation REF_HANDLE lv_handle_h.
setfield ls_organisation REF_KIND gc_object_ref_kind-orderadm_h.
setfield ls_organisation SALES_ORG_RESP SO_RESP . "(input).
setfield ls_organisation SALES_ORG SALES_ORG. "(input).
setfield ls_organisation DIS_CHANNEL DIS_CHNL. "(input).
setfield ls_organisation DIVISION DIVISION. "(input).
append ls_organisation to lt_organisation.
**********// fill order administration item
perform get_guid changing lv_guid_i.
lv_handle_i = lv_handle_h.
add 1 to lv_handle_i.
clear ls_input_fields.
ls_input_fields-ref_guid = lv_guid_i.
ls_input_fields-ref_handle = lv_handle_i.
*ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_i.
ls_input_fields-objectname = gc_object_name-orderadm_i.
setfield ls_salesorder_item GUID lv_guid_i.
setfield ls_salesorder_item HEADER lv_guid_h.
setfield ls_salesorder_item HANDLE lv_handle_i.
setfield ls_salesorder_item HEADER_HANDLE lv_handle_h.
setfield ls_salesorder_item ORDERED_PROD PRODUCT . "(input).
setfield ls_salesorder_item ITM_TYPE 'ZTAN'.
setfield ls_salesorder_item MODE 'A'.
*adjustment taken from standard include LCMS_MAPPERF04
*(see where-used-list for BAPI_SLSTRANSACT_CREATEMULTI, program LCMS_MAPPERU11)
delete lt_input_fields where fieldname = 'HANDLE'
OR
fieldname = 'HEADER_HANDLE'.
append ls_salesorder_item to lt_salesorder_item.
********// fill schedule line for item
perform get_guid changing lv_guid_sl.
add 1 to lv_handle_sl.
clear ls_input_fields.
ls_input_fields-ref_guid = lv_guid_i.
ls_input_fields-ref_handle = lv_handle_i.
ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_i.
ls_input_fields-objectname = gc_object_name-schedlin.
setfield ls_scheduleline ITEM_GUID lv_guid_i.
setfield ls_scheduleline GUID lv_guid_sl.
setfield ls_scheduleline HANDLE lv_handle_sl.
setfield ls_scheduleline ITEM_HANDLE lv_handle_i.
setfield ls_scheduleline QUANTITY quantity. "(input).
append ls_scheduleline to lt_scheduleline.
********// fill partner line
*perform get_guid changing lv_guid_p.
*the partner use the logical key as well
ls_logical_key-ref_partner_handle = '0001'.
clear ls_input_fields.
ls_input_fields-ref_guid = lv_guid_h.
ls_input_fields-ref_handle = lv_handle_h.
ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
ls_input_fields-objectname = gc_object_name-partner.
ls_input_fields-logical_key = ls_logical_key.
setfield ls_partner REF_GUID lv_guid_h.
setfield ls_partner REF_HANDLE lv_handle_h.
setfield ls_partner REF_KIND gc_object_ref_kind-orderadm_h.
setfield ls_partner REF_PARTNER_HANDLE '0001'.
setfield ls_partner KIND_OF_ENTRY 'C'.
setfield ls_partner PARTNER_FCT '00000001'.
setfield ls_partner PARTNER_NO SOLD_TO. "(input).
setfield ls_partner NO_TYPE 'BP'.
setfield ls_partner DISPLAY_TYPE 'BP'.
move-corresponding ls_partner to ls_logical_key.
append ls_partner to lt_partner.
ls_logical_key-ref_partner_handle = '0002'.
clear ls_input_fields.
ls_input_fields-ref_guid = lv_guid_h.
ls_input_fields-ref_handle = lv_handle_h.
ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
ls_input_fields-objectname = gc_object_name-partner.
ls_input_fields-logical_key = ls_logical_key.
setfield ls_partner REF_GUID lv_guid_h.
setfield ls_partner REF_HANDLE lv_handle_h.
setfield ls_partner REF_KIND gc_object_ref_kind-orderadm_h.
setfield ls_partner REF_PARTNER_HANDLE '0002'.
setfield ls_partner KIND_OF_ENTRY 'C'.
setfield ls_partner PARTNER_FCT '00000002'.
setfield ls_partner PARTNER_NO SHIP_TO . "(input).
setfield ls_partner NO_TYPE 'BP'.
setfield ls_partner DISPLAY_TYPE 'BP'.
move-corresponding ls_partner to ls_logical_key.
append ls_partner to lt_partner.
ls_logical_key-ref_partner_handle = '0003'.
clear ls_input_fields.
ls_input_fields-ref_guid = lv_guid_h.
ls_input_fields-ref_handle = lv_handle_h.
ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
ls_input_fields-objectname = gc_object_name-partner.
ls_input_fields-logical_key = ls_logical_key.
setfield ls_partner REF_GUID lv_guid_h.
setfield ls_partner REF_HANDLE lv_handle_h.
setfield ls_partner REF_KIND gc_object_ref_kind-orderadm_h.
setfield ls_partner REF_PARTNER_HANDLE '0003'.
setfield ls_partner KIND_OF_ENTRY 'C'.
setfield ls_partner PARTNER_FCT '00000003'.
setfield ls_partner PARTNER_NO BILL_TO ."(input).
setfield ls_partner NO_TYPE 'BP'.
setfield ls_partner DISPLAY_TYPE 'BP'.
move-corresponding ls_partner to ls_logical_key.
append ls_partner to lt_partner.
ls_logical_key-ref_partner_handle = '0004'.
clear ls_input_fields.
ls_input_fields-ref_guid = lv_guid_h.
ls_input_fields-ref_handle = lv_handle_h.
ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
ls_input_fields-objectname = gc_object_name-partner.
ls_input_fields-logical_key = ls_logical_key.
setfield ls_partner REF_GUID lv_guid_h.
setfield ls_partner REF_HANDLE lv_handle_h.
setfield ls_partner REF_KIND gc_object_ref_kind-orderadm_h.
setfield ls_partner REF_PARTNER_HANDLE '0004'.
setfield ls_partner KIND_OF_ENTRY 'C'.
setfield ls_partner PARTNER_FCT '00000004'.
setfield ls_partner PARTNER_NO PAYER ."(input).
setfield ls_partner NO_TYPE 'BP'.
setfield ls_partner DISPLAY_TYPE 'BP'.
move-corresponding ls_partner to ls_logical_key.
append ls_partner to lt_partner.
*******// example of a second partner function (custom) with data override
*ls_logical_key-ref_partner_handle = '0002'.
*clear ls_input_fields.
*ls_input_fields-ref_guid = lv_guid_h.
*ls_input_fields-ref_handle = lv_handle_h.
*ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
*ls_input_fields-objectname = gc_object_name-partner.
*ls_input_fields-logical_key = ls_logical_key.
*_set_field ls_partner REF_GUID lv_guid_h.
*_set_field ls_partner REF_HANDLE lv_handle_h.
*_set_field ls_partner REF_KIND gc_object_ref_kind-orderadm_h.
*_set_field ls_partner REF_PARTNER_HANDLE '0002'.
*_set_field ls_partner KIND_OF_ENTRY 'B'. "manual entry...
*_set_field ls_partner PARTNER_FCT customFct(input).
*_set_field ls_partner PARTNER_NO bpNumber(input).
*_set_field ls_partner NO_TYPE 'BP'.
*_set_field ls_partner DISPLAY_TYPE 'BP'.
*_set_field ls_partner TITLE 'Mr.'.
*_set_field ls_partner FIRSTNAME 'John'.
*_set_field ls_partner LASTNAME 'Smith'.
*_set_field ls_partner STR_SUPPL1 'John Smith and Co'.
*_set_field ls_partner STREET 'Street1'.
*_set_field ls_partner STR_SUPPL3 'Street4'.
*_set_field ls_partner HOUSE_NO '42'.
*_set_field ls_partner CITY 'Townville'.
*_set_field ls_partner DISTRICT 'Districtshire'.
*_set_field ls_partner POSTL_COD1 'AA1 2BB'.
*note now ...
*adjustment taken from standard include LCMS_MAPPERF04
*(see where-used-list for BAPI_SLSTRANSACT_CREATEMULTI, program LCMS_MAPPERU11)
*I don't use macro because name of the field in input_table is different
*_set_field ls_partner COUNTRYISO 'GB'.
*instead
ls_partner-COUNTRYISO = 'GB'.
ls_input_fields-fieldname = 'COUNTRY'.
append ls_input_fields to lt_input_fields.
*_set_field ls_partner LANGU_ISO 'EN'.
ls_partner-LANGU_ISO = 'EN'.
ls_input_fields-fieldname = 'LANGU'.
append ls_input_fields to lt_input_fields.
move-corresponding ls_partner to ls_logical_key.
append ls_partner to lt_partner.
*Create sales orders *
call function 'BAPI_SLSTRANSACT_CREATEMULTI'
EXPORTING
testrun = false
TABLES
header = lt_salesorder_header[]
item = lt_salesorder_item[]
partner = lt_partner[]
organisation = lt_organisation[]
input_fields = lt_input_fields[]
scheduleline = lt_scheduleline[]
saved_process = lt_saved_process[]
return = lt_return[].
*************// get the GUID of the created object
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = lt_return1.
INCLUDE ZZGVBAPISALESORDER_GET_GUIDF01.
Edited by: jessica sam on Dec 22, 2008 4:25 PM
Edited by: jessica sam on Dec 22, 2008 4:27 PM
Edited by: jessica sam on Dec 22, 2008 7:05 PM
Edited by: jessica sam on Dec 23, 2008 5:18 AMI know how to trace the Ship to party at line item. When i create an order manually on CRM then the table CRMD_PARTNER has the required entries and the Ship to party at line item is getting populated correctly. Also if i open the order in CRMD_ORDER the ship pto party are being populated correctly at line item..
But if i am trying to replicate this programatcally using the BAPI, i see that the ship to at header is being copied to each line item and this is not what is expected.
If i go and check in the CRMD_PARTNER the data is not filled
correctly as I dont have any ship to party at line item
So finally I even tried to insert the data manually in the CRMD_PARTNER table using an
INSERT statement and even that doesnt work...
https://www.sdn.sap.com/irj/scn/forums
So i am unable to ficgure out what is going wrong
Any body if they have any idea on poulating ship to party programatically in
sales order for each line item please help
I am unable to figure out how to fill PArtner table of this BAPI to populate ship to at line item level
Kindly Help..
Regards,
Jessica Sam -
Hello,
I have managed to program a NI 6602 card in LabView to send pulses on three different output ports, one pulse on each output port (with individually chosen delays) for each input trigger pulse coming on a separate input port. It is the DAQmx Create Channel (CO-Pulse Generation-Time)-VI that I have used for this, see attached code. However, this VI controls both pulse delay and pulse width, and therefore uses two counters for each output port (although you only specify one counter in the VI input signals), as I understand.
In my application though, I only need to have the delay chosen, the pulse width can be arbitrarily short, and thus I should only need one counter for each output port. How do I accomplish to program this in LabView?
Best regards,
Claes
Attachments:
Configure Side Camera Flash 1 Triggering.vi 47 KBWell you're welcome to do that--it will work just fine as long as you are configuring a start trigger.
<rant>
However, personally I really don't like putting multiple counter outputs in the same task. I have seen so many people assume that the counter outputs would be synchronized due to having them in the same task when this is not the case (you need to configure a start trigger in order to synchronize the counter outputs even if they are in the same task). This is the only case I can think of where multiple channels in a DAQmx task are not automatically synchronized.
As an example:
Running this on my PCIe X Series gives a measured 2 edge separation of 1 ms + {7.78 us - 10.11 us}. This would likely be much worse on a bus with more latency (e.g. USB).
The resulting output is close enough to what you might expect that it might go unnoticed, but really these counter outputs are not synchronized and it would be easy to glance at the code and not even think twice about it. For the small amount of extra work on my end to create a separate task for each counter, it really clears up some ambiguity about what the counters are actually doing. For me it's worth it.
So again, for your case there really isn't a problem with having the counters in the same task since you are using an external start trigger anyway. I have just gotten in the habit of avoiding doing this.
</rant>
Best Regards,
John Passiak -
Print out of line item wise tax for each material code.
hello all,
Requirement is that my client want to print tax of all item in purchase order seperatelyi.e.line item wise tax for each material type.
is there any standard procedure available in sap?
Your valuable input will be apperciable.
Regards
sumit bislaTake the help from ABAPer and give your requirment to print the tax at item level.
-
How can I have one row for each object?
Post Author: farnaz
CA Forum: WebIntelligence Reporting
I have 3 objcts that one of them is ID and second one is internal code and the third one is quantity.There is more than one value for each ID (becouse of internal code).I want to create a report based on ID and quantity (not based on internal code).I make a break on ID but the result shows me more than one row for each ID.so how can i have just one row for each ID?
another question:
how can I post screen shot of the results to my messag in forum?Post Author: jsanzone
CA Forum: WebIntelligence Reporting
farnaz:
Have you tried to omit "internal code" from your grid? In normal circumstances, if you have "ID" and "Quantity" on the grid, then WebI will on its own summarize Quantity based on ID, however, this is provided that Quantity has been set up as a measure (or metric). The quickest way to tell if Quantity is a metric or not is to observe the color of its icon when you look at it in the data panel. If it is a purple (or sometimes appears as pink or fuscia) dot, then it's a measure, but if it is a blue box then it is a dimension. If you need Quantity as a measure then this will have to be modified at the universe (make it look like "sum(Quantity)" in the select phase of the object, and insure the object is defined as a number.... -
When we drilldown at document level it displays one record for each cube
Dear Experts .
The users want to see the report by status for the order detail report at document level it displays one record for each cube .
They want to see the single line for the order quantity , Amount, Billing quantity delivery and amount along with the Sales order number , billing document number billing date , delvert date ..et in signgle line. ( Sale order DeliveryBilling)
When we are doing on Multiprovider recording displaying from each cube.
We have tried with Constant selections and it is not giving the required results m since these want to see by status. Due to huge data performance reasons we re unable to use it .
Please provide your valuable inputs.
Thanks,
Mahesh.Mahesh,
If you want to get detail data with respect to Sales order - delivery - Billing, on top of Multiprovider you can come up with Constant selection.
But I am not clear that why constant selection is not working properly, can I have some light on that.
Probably, you are struggling with multiple records .
I suggest you to go with end routine and map all fields to one IC and do reporting on that single IC, then your requirement will fulfill.
But here we need to take care of performance issues and process chain scheduling wile loading deltas.
If Multiprovider is not working properly , then try with Infoset(If you have more than 2 ICs it not possible).
Regards,
rvc -
MS word It prints one file for each section of the document
With MS word (2004 and 2008)It prints one file for each section of the document.
somebody can help me with that????Please post Office related questions on Microsoft's own forums for their Mac products:
http://www.officeformac.com/productforums -
The quantity received/required for each material (only sum of Dep and Foreq
Hi all
I have a report and I need it to show the <b>quantity received/required</b> for each material (<b>only sum of Depreq and ForReq</b>) in a plant due to MRP execution.
Basically something like MD04 showing each MRP element entry (only sum of Depreq and ForReq)
Do anyone knows a function, bapi, or other that can helps calculate this?
Thanks in advanceHi srivalli,
U mean that for every material u need sum of recieved quntity and required qunatity? if this is your requirement.
Try the synax below.
Example.
itab - internal table of any sturcture. suppose itab consits of materil and quantity fiedls.
sort itab by matnr.
loop at itab.
At end of matnr.
Sum.
Write: itab-matnr, itab-menge.
ENDAT.
endloop.
This syntax will display the sum of quantity for each material.
<b>Reward if useful</b>
Any thing please reply back if you have any other doubt.
Regards,
sunil kairam. -
Selecting many records for each material...
Hi all,
I have an internal table that contains a list of materials. I want to loop over that list and retrieve a group of purchase reqs from EBAN for each material...appending each group of rews to my req table for each pass over the material list. Sample code;
LOOP AT GT_MATERIALS INTO WA_MATERIALS.
SELECT MENGE LFDAT
INTO CORRESPONDING FIELDS OF TABLE GT_EBAN_FIELDS
FROM EBAN
WHERE MATNR EQ WA_MATERIALS-MATNR.
???DO I DO AN APPEND OF SOME KIND HERE???
ENDLOOP.
Regards,
MatHi Mathew,
From performance point of view, the SELECT QUERY should not be under a loop. So you can do the following :
<b>SORT GT_MATERIALS.
IF not gt_materials is initial.</b>
SELECT MENGE LFDAT
INTO CORRESPONDING FIELDS OF TABLE GT_EBAN_FIELDS
FROM EBAN
<b>FOR ALL ENTRIES IN GT_MATERIALS</b>
WHERE MATNR EQ GT_MATERIALS-MATNR.
<b>ENDIF.</b>
Also if the structure of table GT_EBAN_FIELDS has only two fields MENGE, LFDAT then please remove INTO CORRESPONDING FIELDS, instead use INTO TABLE GT_EBAN_FIELDS. This is becz INTO CORRESPONDING FIELDS would affect the performance.
Best regards,
Prashant -
One connection for each request!trans
Hi there,
We migrated a big application from classic toplink to EJB 3, glassfish, EclipseLink. Some big module is still using classic toplink queries for a lot of things. As we didn't have the resource to change everything to pure ejb & jpa, we tried a couple of "tricks". They kind of work (in production), but I noticed that there is one connection for each db request.
It stills works fast enough, thanks to Glassfish connection pooling. But I guess this is horrible. Regarding transactions too...
Here is how I get a UnitOfWork:
JpaEntityManager jpaEntityManager = JpaHelper.getEntityManager(entityManager);
UnitOfWork unitOfWork = jpaEntityManager.getUnitOfWork();
Here is some eclipselink query which is causing thousand of db queries and acquiring about the same number of connections :
return ((Collection) unitOfWork.executeQuery(readAllQuery));
thx, YannickHello,
ReadAllQueries will always go to the database by default to ensure that all the results are returned. So unless you are using inmemory query options, you will always see the same number of queries as executeQuery calls when using ReadAllQuery objects.
As for connections, the default is for connections to be obtained as they are needed, and then released when no longer needed. By default, EclipseLink/TopLink will use a read connection pool and obtain and release for each read query that is done outside of a transaction. When in a transactional context (ie reads through a uow where a transaction was started and changes made), reads will go through the write connection - this is done to ensure that transactional changes are picked up -and these will not be put into the shared cache until the transaction completes. So all reads done in the same uow while in a transaction will use the same write connection, since the uow needs to hold onto while the transaction is active anyway.
How are your transactions demarcated and the EntityManager obtained?
Best Regards,
Chris -
Multiple parameters one row for each record
I have this query I want the user to be able to allow the user to enter multiple MATL_CODE_MOD as a parameters, the problem is that the GURMAIL table have multiple records one for each GURMAIL_MATL_CODE_MOD, so it will give me duplicates.. How I can code this, so I can allow the user to enter multiple MATL_CODE_MOD codes, and have only one row for each record...
and GURMAIL_MATL_CODE_MOD in ('8IBC','8IBD')
select
spriden_id,
spbpers_name_suffix name_suffix,
spbpers_name_prefix name_prefix,
spriden_last_name last_name,
spriden_first_name first_name,
spriden_mi mi,
srbrecr_term_code,
srbrecr_majr_code,
srbrecr_program_1,
saturn_midd.utlq.f_matl_code_type(srbrecr_pidm)
FROM
saturn.srbrecr,
saturn.spriden,
saturn.spbpers,
SATURN.SPRADDR,
general.gurmail
WHERE
spriden_pidm = srbrecr_pidm
and gurmail_pidm = spriden_pidm
AND spriden_pidm = spraddr_pidm
--and srbrecr_term_code = decode(p_term ,'%',SRBRECR_TERM_CODE,p_term)
and spbpers_pidm = spriden_pidm
and spriden_change_ind is null
--and gurmail_matl_code_mod
and SRBRECR_PROGRAM_1 = 'CMQ'
and GURMAIL_MATL_CODE_MOD in ('8IBC','8IBD')
--AND SPRADDR_ATYP_CODE = 'CM'
AND SPRADDR_STREET_LINE1 IS NOT NULL;Hi,
SELECT DISTINCT ...will keep duplicate rows out of the result set.
Depending on your data, another possibility might be to not join the table that contains GURMAIL_MATL_CODE_MOD. Do an EXISTS sub-query on that table instead.
If you need more help, post some sample data from all the tables, and the results you want from that data.
Simplify, if possible, You can probably post a problem with 2 or 3 tables, each with 2 or 3 columns, that will have the same answer.
Edited by: Frank Kulash on Apr 22, 2009 2:28 PM -
One controller for each usecase?
I'm using a mvc design pattern for my webapp.
In some of the books I've read it seems like they are suggesting to use one controller for each of the usecase. Is this the right way to do it?
For me it seems like you get so many classes. If you are dealing with a User, and has to modify info about a User, are you going to have a
- registerUserController
- updateUserController
- deleteUserController
Or should you have an UserController containing an if-else statement and have 3 functions, one for each of the usecases according to the User.
It seems like the advice is that when you have many if-else statements you should instead use interfaces. Is that correct?
ThanksThanks for a very good explanation!!
I'll explain my code a bit more detailed, so that I'm sure this is how you think I should do it.
- I'm using a frontcontroller and the Command/Action pattern.
- I'm not using a applicationcontroller.
- A controller is typically a servlet.
In my app I'm using an action class and an controller (servlet) class for each usecase. So this is the way to do it?
public class FrontControllerServlet extends HttpServlet {
private HashMap actions;
private ModelAndView mv;
public void init() throws ServletException {
// Action hashtable
actions = new HashMap();
// Makes action objects by putting controller objects into action objects
RegUserAction rua = new RegUserAction(new RegUserController());
UpdateUserAction uua = new UpdateUserAction(new UpdateUserController());
// Puts action objects into hash table
actions.put(rua.getName(), rua);
actions.put(rha.getName(), uua);
protected void processRequest(HttpServletRequest req, HttpServletResponse res){
op = request.getParameter("op");
Action action = (Action)actions.get(op);
ModelAndView mv = (ModelAndView) action.perform(request, response);
} //End FrontController
public class RegUserAction extends Action{
public RegUserAction (Controller c) {super(c); }
public String getName() { return "regUser"; }
public Object perform(HttpServletRequest request, HttpServletResponse response) {
return c.handleRequest(request, response);
} //End RegUserAction
public class RegUserController implements Controller {
public Object handleRequest(HttpServletRequest req, HttpServletResponse res){
String userName = request.getParameter("userName");
String userPwd = request.getParameter("userPwd");
... Registers user in database
....Returns a ModelAndView object confimrming that the user has successfully been registred in the database.
} //End RegUserController
public interface Controller {
public Object handleRequest(HttpServletRequest req, HttpServletResponse res);
Does it seem like I'm on the right track?
Maybe you are looking for
-
I have an alias of one of my external hard drives in my trash. When I tried to delete it, it showed that I was deleting 80,000 files and counting. I stopped the delete process and when I clicked on "show original" all my external H.D.'s and my Mac ha
-
I recently purchased a macbook pro 13 inch with retina display, am having a great time coming over from Windows! I went to try and sync my ipod today for the first time but unfortunately I cannot charge or sync my ipod when connected. I'm using the s
-
Photos Taken With Flash Are Not Good
I am an Iphone 5,64gb.The problem is when I am taking photos with the camera in flash mode the picture so taken is being covered with whte shading.Have tried many options but the problem remains.Contacted Apple people, they told me it may be a softw
-
Connect computer to phone as an audio gateway
Is it possible to have all audio from my E90-2, sent through bluetooth to my computer? Instead of connecting a bluetooth headset to my phone, I would like to be able to connect my computer to my phone. I am able to get the phone and computers to conn
-
Final Year Project! Please give me some idea!
I'm doing an individual final year project using IBM Aglet, JRun and J2ME. The topic is "Mobile agent shopping system", better with some theories. I have no idea about what types of application should be done. Initially, I intended to build a system