Checking on item code once created
hi all,
anyway to check the material master field once material code created ?
I check the SAP SPRO, there is no configuration and BADI and exit to
check/validate Material master fields.
For example, once create material code, the procurement key is "F",
some of the fields in the MRP 4 view must be maintain like REM profile
and MRP controller.
Rejoice !
hi,
If you are asking abt the field selections, then it is seen from :
SPRO --> logistics general --> MM --> Field selection --> here first see the field selection group for the field and then check the assignment...
If want to see the created material then you can check it in the table MARA in tcode SE16...
Regards
Priyanka.P
Similar Messages
-
Check all items during PO Create / Change
Dear Gurus,
During PO Create/ Change, I need to check all the items and display an error message if qty exceeds.So can anyone please let me know which user exit / badi /at which enhancement point i have write the code.
Kind Regards
SajidHello,
Use this BADI ME_PROCESS_REQ_CUST
in Method check u should write the code.
Some sample code
METHOD if_ex_me_process_req_cust~process_header .
CLEAR head.
CALL METHOD im_header->get_data
RECEIVING
re_data = head.
ENDMETHOD.
at implementation class go to attributes
ZCL_IM_ME_PROCESS_REQ_CUST
HEAD StaticPubl Type MEREQ_HEADER OO Purchase Requisit
METHOD if_ex_me_process_req_cust~check .
DATA : t_item TYPE mmpur_requisition_items,
w_item TYPE mmpur_requisition_item,
ref_account TYPE REF TO if_acct_container_mm,
t_acc_objs TYPE mmpur_accounting_list,
w_acc_obj TYPE mmpur_accounting_type,
ref_model TYPE REF TO if_accounting_model_mm,
w_exkn TYPE exkn,
t_exkn TYPE STANDARD TABLE OF exkn,
ref TYPE REF TO if_purchase_requisition_item,
i_act_items TYPE mereq_item,
t_itemdata TYPE STANDARD TABLE OF mereq_item,
w_itemdata TYPE mereq_item,
ref_acc TYPE REF TO if_accounting_model_mm.
TYPES : BEGIN OF ty_exkn,
bnfpo TYPE bnfpo,
zexkn TYPE dzekkn,
loekz TYPE kloek,
kostl TYPE kostl,
prctr TYPE prctr,
END OF ty_exkn.
DATA : t_exkn_ext TYPE STANDARD TABLE OF ty_exkn,
t_exkn_one TYPE STANDARD TABLE OF ty_exkn,
w_exkn_ext TYPE ty_exkn,
w_exkn_one TYPE ty_exkn.
TYPES : BEGIN OF ty_eban,
banfn TYPE banfn,
bnfpo TYPE bnfpo,
werks TYPE werks,
ekorg TYPE ekorg,
knttp TYPE knttp,
END OF ty_eban.
DATA : t_eban TYPE STANDARD TABLE OF ty_eban,
w_eban1 TYPE ty_eban.
TYPES : BEGIN OF ty_account,
banfn TYPE banfn,
bnfpo TYPE bnfpo,
zebkn TYPE dzebkn,
kostl TYPE kostl, "Cost Center
prctr TYPE prctr, "Profit Center
END OF ty_account.
DATA : t_account TYPE STANDARD TABLE OF ty_account,
t_account1 TYPE STANDARD TABLE OF ty_account,
wa_account TYPE ty_account.
TYPES: BEGIN OF obj_line,
clustername(30),
programname(10),
END OF obj_line.
DATA : obj_tab TYPE STANDARD TABLE OF obj_line,
obj_wa TYPE obj_line.
DATA : t_ebkn TYPE STANDARD TABLE OF ty_account,
w_ebkn1 TYPE ty_account,
w_ebkn_old TYPE ty_account,
v_item_no TYPE bnfpo,
v_werks TYPE eban-werks,
v_ekorg TYPE eban-ekorg,
v_knttp TYPE eban-knttp,
v_banfn TYPE eban-banfn.
CONSTANTS : c_k TYPE c VALUE 'K',
c_a TYPE c VALUE 'A',
c_y TYPE c VALUE 'Y'.
CLEAR : v_item_no,
w_ebkn1,
w_ebkn_old.
Message include
INCLUDE mm_messages_mac. "useful macros for message handling
*Retreving Item details
CALL METHOD im_header->get_items
RECEIVING
re_items = t_item.
LOOP AT t_item INTO w_item.
ref = w_item-item.
CALL METHOD ref->get_data
RECEIVING
re_data = i_act_items.
APPEND i_act_items TO t_itemdata.
Retreving Account details
ref_account = ref.
CALL METHOD ref_account->get_items
RECEIVING
re_items = t_acc_objs.
LOOP AT t_acc_objs INTO w_acc_obj.
ref_model = w_acc_obj-model.
CALL METHOD ref_model->get_exkn
RECEIVING
re_exkn = w_exkn.
APPEND w_exkn TO t_exkn.
MOVE-CORRESPONDING : w_exkn TO w_exkn_ext.
w_exkn_ext-bnfpo = i_act_items-bnfpo.
APPEND w_exkn_ext TO t_exkn_ext.
ENDLOOP.
ENDLOOP.
*Deleting the line items which are marked with deletion indicator
DELETE t_itemdata WHERE loekz NE space.
SORT t_itemdata BY bnfpo.
READ TABLE t_itemdata INTO w_itemdata INDEX 1.
*get first line item no.
v_item_no = w_itemdata-bnfpo.
IF w_itemdata-knttp = c_k OR
w_itemdata-knttp = c_a OR
w_itemdata-knttp = c_y.
*Logic to handel while purchase requisitions creation
LOOP AT t_itemdata INTO w_itemdata.
*Capturing the first Line item while creating Purchase requisition.
IF sy-tabix = 1.
v_item_no = w_itemdata-bnfpo.
*Plant
v_werks = w_itemdata-werks.
*Purchasing Organization
v_ekorg = w_itemdata-ekorg.
*Account Assaign Cat.
v_knttp = w_itemdata-knttp.
If other than first Line item
ELSE.
*Plant
IF w_itemdata-werks NE v_werks.
mmpur_message 'E' 'ZMMENHANCEMENT' '006' ' ' ' ' ' ' ' '.
ENDIF.
*Purchasing Organization
IF w_itemdata-ekorg NE v_ekorg.
mmpur_message 'E' 'ZMMENHANCEMENT' '007' ' ' ' ' ' ' ' '.
ENDIF.
*Account Assaignment Cat.
IF w_itemdata-knttp NE v_knttp.
mmpur_message 'E' 'ZMMENHANCEMENT' '008' ' ' ' ' ' ' ' '.
ENDIF.
ENDIF.
ENDLOOP.
*Account assaign. deatils
LOOP AT t_exkn_ext INTO w_exkn_ext.
IF w_exkn_ext-bnfpo = v_item_no AND w_exkn_ext-zexkn = '01'.
*APPEND w_exkn_ext TO t_exkn_one.
w_exkn_one = w_exkn_ext.
ELSE.
IF w_exkn_ext-kostl NE w_exkn_one-kostl.
mmpur_message 'E' 'ZMMENHANCEMENT' '009' w_exkn_ext-bnfpo ' ' ' ' ' '
ENDIF.
*Profit Center
IF w_exkn_ext-prctr NE w_exkn_one-prctr.
mmpur_message 'E' 'ZMMENHANCEMENT' '010' ' ' ' ' ' ' ' '.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF. "if w_itemdata-KNTTP = 'K' OR 'A' OR 'Y'.
ENDMETHOD. -
Different set up required once new company code is created
Hi Experts
Can you pls let me know different settings required once new company code is created in the system
thanksHi,
After company code, you need Create of MM organisation structure
Creation of Purchase organisation,Plant,Storage location, Purchasing Group & assignment of plant to company code and assignment of plant to purchase organisation)
Check the link for for details:
http://www.docstoc.com/docs/11125515/SAP-MM-Customization-Document
Also you need to setting in OMSY & other vital auto account determination(OMSK,OMWN,OMWD,OMWB,OMWM)
OMSY and OB52
Re: Account determination -MM
For more details check the link
basic mm settings
Regards,
Biju K -
How to create and transport my own globel check variant for Code Inspector
Hi,
I want to create my own global check variant with Code Inspector, so that I can transport the Variant in other systems, but I can not save my variant whitout registering a SSCR-Key.
Can anybody help me?
Best regards
MarcusI have solved it myself and will post the solution here soon.
-
Validation for creating check in T-code FCH5
Hi All,
I have created payment docuemnt t-code F-48.
Then for creating check in T-code FCH5, system allows me to assign different House Bank and Account ID.
How can this be controlled through validation, kindly guide on creating validation for the same.
ThanksHi,
In FS00 for bank gl accounts give house bank and account id. By giving this the problem will be solved.
and also check
In OBVCU for bank accounts check combination of house bank,payment method,currency,accoun id and bank subaccount.
Hope it solve your problem
Regards,
Sankar -
How to create Item Codes with multiple Item Description
Hi,
for one of my client, we need to create Item Codes with multiple Item Description.
e.g.,
Item Code - M00285
Item Description 1 - Blue Paint
Item Description 2 - Red Paint
Is that possible in SAP Business One? If "Yes" kindly provide a solution. Else recommend an alternative method.
Regards,
Ammheya U. NaaikAmmheya,
I just wanted to add that there is an Add-On that handles "Style, Color, Size" situations like yours.
It allows you to define a "master" item, (Paint, for example) and then setup the various styles, colors and sizes it comes in.
This creates sub-items for each with the master in the ItemCode (Paint-Blue, Paint-Red, etc)
It's called MatrixOne from Navigator. You could find it on the partner portal with other Add-Ons.
Hope thathelps,
Brad Windecker -
Item availability for selected items and directly create the delivery
Hi All,
For a very big sales order ..lets say having 700 line items ...is there any convenient way to create the delivery for selected items ..e.g. 30-40 line items rather going and selecting the line items then doing the item availability.
do you have any LSMW format by which we can do the item availability for selected items and directly create the delivery.
kindly Guide me..
With Regards
Azeez.MohdHi ,
There is no stand way of doing it . You need to take help of abaper to do this :
1. Create a t code where if you give sale order number , it displays a report with all the items with a check box near to it as we see in SE16 .
2. This report could be best in ALV form where users can do "ctr+f" and search only the required materials then select those lines and press a button on the top of report .
3. Once the button is pressed , program will run vL01n ( create delv in backgrnd) in a BDC form . At time of delev creating , the bdc program in backgrnd uses only those items which were selected by user and not the other items .
4. Program will create a delv using a BDC in background and return the delv number for user to view tht.
U can also try using FM : RV_DELIVERY_CREATE to create delv in backgrnd after user selection if BDC is getting tricky.
Hopefully ,this shuld work and will be a easy process for the customers.
Let us know the outcome .. .
B O L ..
Hope this Helps !!! -
How do I change multiple list items at once in a SharePoint list with ribbon button
Hi
I have a sharepoint list and a ribbon button that open a dialog box with buttons to set color on a row
The problem is that i can only selecet one item at once to set the color.
How can i do so it could set all or a couple items att once to the color i want
I want to do this with javascript
here is the code i use to get the item id and the color code is in a seperate js file
'use strict';
var clientContext, hostweburl, parentContext, parentWeb, selectedItem, itemId, listId;
clientContext = new SP.ClientContext.get_current();
hostweburl = decodeURIComponent(getQueryStringParameter("SPHostUrl"));
listId = decodeURIComponent(getQueryStringParameter("SPListId"));
itemId = decodeURIComponent(getQueryStringParameter("SPListItemId"));
parentContext = new SP.AppContextSite(clientContext, hostweburl);
parentWeb = parentContext.get_web();
selectedItem = parentWeb.get_lists().getById(listId).getItemById(itemId);
$(document).ready(function () {
clientContext.load(selectedItem);
clientContext.executeQueryAsync(OnSuccess, OnFail);
function OnSuccess() {
$("#Blue").click(function () {
selectedItem.set_item('Color', 'Blue');
selectedItem.update();
clientContext.load(selectedItem);
clientContext.executeQueryAsync(function () { window.parent.postMessage('CloseCustomActionDialogRefresh', '*'); }, function (sender, args) { alert('Error:' + args.get_message()); });
$("#Green").click(function () {
selectedItem.set_item('Color', 'Green');
selectedItem.update();
clientContext.load(selectedItem);
clientContext.executeQueryAsync(function () { window.parent.postMessage('CloseCustomActionDialogRefresh', '*'); }, function (sender, args) { alert('Error:' + args.get_message()); });
$("#Red").click(function () {
selectedItem.set_item('Color', 'Red');
selectedItem.update();
clientContext.load(selectedItem);
clientContext.executeQueryAsync(function () { window.parent.postMessage('CloseCustomActionDialogRefresh', '*'); }, function (sender, args) { alert('Error:' + args.get_message()); });
$("#Transparent").click(function () {
selectedItem.set_item('Color', 'No Color');
selectedItem.update();
clientContext.load(selectedItem);
clientContext.executeQueryAsync(function () { window.parent.postMessage('CloseCustomActionDialogRefresh', '*'); }, function (sender, args) { alert('Error:' + args.get_message()); });Check if below can help you
http://sp2010batchedit.codeplex.com/
http://sharepoint.stackexchange.com/questions/35935/use-view-ribbon-custom-action-on-multiple-list-items
http://webcache.googleusercontent.com/search?q=cache:XqMO-PRLHQIJ:dannyjessee.com/blog/index.php/2014/06/enabling-custom-ribbon-buttons-dynamically-based-on-multiple-selected-item-values-using-refreshcommandui-and-jsom/+&cd=1&hl=en&ct=clnk&gl=in
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction Id="DannyJessee.TestCustomAction"
Location="CommandUI.Ribbon"
RegistrationId="100"
RegistrationType="List">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition
Location="Ribbon.ListItem.Actions.Controls._children">
<Button Id="DannyJessee.MarkItemsFinishedButton"
Command="cmdMarkItemsFinished"
Image16by16="/_layouts/images/kpinormallarge-0.gif"
Image32by32="/_layouts/images/kpinormallarge-0.gif"
LabelText="Mark as Finished"
TemplateAlias="o2" />
</CommandUIDefinition>
</CommandUIDefinitions>
<CommandUIHandlers>
<CommandUIHandler Command="cmdMarkItemsFinished"
CommandAction="javascript:MarkItemsFinished();"
EnabledScript="javascript:EnableFinishedButton();">
</CommandUIHandler>
</CommandUIHandlers>
</CommandUIExtension>
</CustomAction>
<CustomAction Id="DannyJessee.TestScript"
Location="ScriptLink"
ScriptSrc="/_layouts/15/CustomRibbonButton/CustomAction.js" />
</Elements>
If this helped you resolve your issue, please mark it Answered -
How do we check the check box items based on the databse fields.
Hi All,
I have a requirement like as mentioned below#
1. I have a combox box whcih i will be populated from database.
2. I have created two check box as "Stategric " and "Non Stategric".
3. Now when i select the combox box condition i need to select the check box items.
4. But the problem is i wil be knowing weather it is a stategric or Non stategirc based on the database column.
5. How do i need to map the database point of view and correlacte with javascript pont of view.
6. Do we need to write any Application process to achieve this task and who we can do that.
Thanks,
Anoo..Hi VC,
As per my understanding the code should be placed between --.
Based on this i have placed the code
function setCheckbox(pThis, pItem){
alert('inside');
var l_code = '';
// Get checkbox name
rName = document.getElementsById('P1_ENG_BAU').firstChild.name;
alert("The value is"+rName);
// Fire AJAX
var get = new htmldb_Get(null,html_GetElement('pFlowId').value,'APPLICATION_PROCESS=CHECKBOX_LIST',0);
get.add('F120_COMPANY',pThis.value);
gReturn = get.get('XML');
if (gReturn) {
var values = gReturn.getElementsByTagName('value');
var messages = gReturn.getElementsByTagName('message');
// Build the checkbox
for (i=0; i<values.length; i++) {
var rValue = values.firstChild.nodeValue;
var rMessage = messages[i].firstChild.nodeValue;
l_code+='<input id='+P1_ENG_BAU+'_'+i+' type=checkbox value='+rValue+' name='+rName+'>';
l_code+='<label for='+P1_ENG_BAU+'_'+i+'>'+rMessage+'</label>
document.getElementsById('P1_ENG_BAU').innerHTML = l_code;
Correct me if iam understanding is wrong.
Thanks,
Anoo..
Edited by: Anoo on May 31, 2012 11:04 AM -
In Oracle Forms, to run all the When-Validate-Item of all the items at once
In Oracle Forms, is there any built-in / procedure / function which is used to run all the When-Validate-Item triggers of all the Items at once ?
I will put it in detail :
When a form is run and while entering the data..
when we enter some data and try to move out of that item then the When-Validate-Item trigger of that item is fired and the code in that trigger is executed..
Similarly there may be many items and many When-Validate-Item triggers correspondigly in a form..
My requirement is to run all the When-Validate-Item triggers of a form at once when we click a button which is created for that purpose only..
So is there any built-in / procedure / function (to run all the When-Validate-Item triggers of all the items), which can be called in the When-Button-Pressed trigger of that particular button..
If any one having any solution/suggestion, please let me know..
Thanks..
Edited by: user2938447 on Nov 8, 2010 9:03 PM
Edited by: user2938447 on Nov 8, 2010 9:12 PM
Edited by: user2938447 on Nov 8, 2010 10:19 PMHi Sandy,
Thanks for your suggestion..
The validations should be done at Item level (When-Validate-Item as usually) and seperately again when a button is pressed.
So to put all the code in another block-level When-Validate-Item trigger or in any When-Button-Pressed trigger will be duplication of the code.
Actually I have around 30 Fmbs to be modified and each Fmb is having around 20 Items and almost all Items are having When-Validate-Item trigger.
So,I wanted to know whether there is any Built-in / Procedure in Oracle Forms which runs all the When-Validate-Item triggers once it is called.
Thanks.. -
Button code to create new record
I know that there is a button on the default toolbar when your first run a form, but i do not want this toolbar on my form, however, i need a button that does the same function (to blank the input items in preparation for a new record).
How is this done?
Cheers.Try the folowing
1. Create an alert with the following properties,
Name : confirm
Title : Confirm
Message: Do you want to save changes ?
Alert Style: Caution
2. Create a button in the form and paste the following code in the when_button_pressed trigger.
DECLARE
-- Variable to store the which button is pressed by user for the alert
v_button number;
BEGIN
--Condition to check if new record is created and is ready to validate.
IF :system.record_status='NEW' THEN
--Show the alert to confirm changes
v_button := show_alert('Confirm');
--If user presses OK then save changes and exit form.
IF v_button=alert_button1 THEN
commit_form;
exit_form;
ELSE
--If user presses CANCEL the delete the blank record and exit form.
delete_record;
exit_form;
END IF;
END IF;
-- Exit the form for any other status
IF :system.record_status <> 'NEW' THEN
exit_form;
END IF;
END;
Try the above code and check if it works. -
Check menue item does not work
Hello,
I create a menu item MI_DEBUG of type Check in a submenu named EXTRAS_MENU.
In the menu item code I want to enable debug logging of the current user actions.
In the Menu Startup Code I set the status UNCHECKED.
When the user clicks the menu item I want the status to be changed to CHECKED and back on a second click
Menu Startup Code
DECLARE
mi_id MENUITEM;
BEGIN
mi_id := find_menu_item('EXTRAS_MENU.MI_DEBUG');
IF id_null(mi_id) THEN
my_debug.pl('EXTRAS_MENU.MI_DEBUG not found','zvc_menu.mmb Menu Startup Code');
ELSE
set_menu_item_property(mi_id,CHECKED,PROPERTY_FALSE);
END IF;
END;Menu Item Code
DECLARE
mi_id MENUITEM;
BEGIN
mi_id := find_menu_item('EXTRAS_MENU.MI_DEBUG');
IF id_null(mi_id) THEN
my_debug.pl('EXTRAS_MENU.MI_DEBUG not found','zvc_menu.mmb mi_debug');
ELSE
my_debug.pl('EXTRAS_MENU.MI_DEBUG found','zvc_menu.mmb mi_debug');
my_debug.pl('Status '||get_menu_item_property(mi_id,CHECKED),'zvc_menu.mmb mi_debug');
IF get_menu_item_property(mi_id,CHECKED) = 'TRUE' THEN
my_debug.pl('property(CHECKED) = TRUE','zvc_menu.mmb mi_debug');
set_menu_item_property(mi_id,CHECKED,PROPERTY_FALSE);
ELSE
my_debug.pl('property(CHECKED) = FALSE','zvc_menu.mmb mi_debug');
set_menu_item_property(mi_id,CHECKED,PROPERTY_TRUE);
END IF;
END IF;
END;But I never get the checked sign in the menu and every time my debug messages say, that the property CHECKED = 'TRUE'.
I even have tried it with PROPERTY_ON/OFF as some examples suggest, but it doesn't work.
Any ideas what is wrong with my code?
Forms [32 Bit] Version 11.1.1.4.0 (Production)
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
Regards
MarcusHm. In that case the only thing that comes to my mind is to apply the latest patchset for forms 11gR1 which is 11.1.1.6 if memory serves.Not possible, applying patches requires tons of tests for many applications.
Does it work in a previous version of forms?This is a new menu item and I have not other version available to test.
Another thing I found: When I open or close a form after clicking the menu item, then the check mark appears. Changing the label of an item works without opening a form.
Therefore I changed my Menu Item Code to
DECLARE
mi_id MENUITEM;
BEGIN
mi_id := find_menu_item('EXTRAS_MENU.MI_DEBUG');
IF id_null(mi_id) THEN
my_debug.pl('EXTRAS_MENU.MI_DEBUG not found','zvc_menu.mmb mi_debug');
ELSE
my_debug.pl('EXTRAS_MENU.MI_DEBUG found','zvc_menu.mmb mi_debug');
my_debug.pl('Status '||get_menu_item_property(mi_id,CHECKED),'zvc_menu.mmb mi_debug');
IF get_menu_item_property(mi_id,CHECKED) = 'TRUE' THEN
my_debug.pl('property(CHECKED) = TRUE','zvc_menu.mmb mi_debug');
set_menu_item_property(mi_id,CHECKED,PROPERTY_FALSE);
set_menu_item_property(mi_id,LABEL,'Debug on');
ELSE
my_debug.pl('property(CHECKED) = FALSE','zvc_menu.mmb mi_debug');
set_menu_item_property(mi_id,CHECKED,PROPERTY_TRUE);
set_menu_item_property(mi_id,LABEL,'Debug off');
END IF;
END IF;
END;Now when I click the menu item the first time, the label changes immediately, but not the check mark. When I click the menu item a second time without opening a form the label does not change, this means, that the property CHECKED is only changed, when a form is opend/closed.
Even better: The initial label id Debug, clicking the item should change it to+ Debug on+ and on subsequent clicks change between Debug on and Debug off
1. Click -> Label changes to "Debug on", check mark unchanged
2. open a form
3. Check mark is shown but label is the default Debug
4. close the form
5. Check mark is not shown, label is back to Debug on
6. Repeat step 2 - 5 with the same result
Different sequences of clicking and opening/closing forms give seemingly random combinations of check mark on/off and label texts.
Conclusion:
A menu check item is a very obstinate thing. I will not use it if I can avoid it.
Regards
Marcus -
BP Catalog numbers and Item Codes Display
Hello
Is there any way that BP catalog numbers and item codes can be display together.
Or is there any work around available.
I have a client who wishes to use i.e view both the item code and the BP Cat Number on their screen..,
we create a formatted search and this worked.
However the purchase orders which are automattically generated through another Add-on cant use a formatted search to work.
Thanks for your help in advance.
DDear Darpal,
Kindly check note 1059015 which describes the workaround to display both Item Number and the Business Partner.
Regards,
Varun
SAP Business One Forum Team -
The T-code of creating dunning procedure
Could anyone please tell me the T-code of creating the dunning procedure.Thanks in advance
CONFIGURATION PATH:
Financial Accounting -> Account Receivable and Accounts Payable -> Business Transactions -> Dunning -> Dunning Procedure -> Define Dunning Procedures OR Transaction Path:
Accounting/Financial Accounting/Accounts Payable/Periodic Processing/Dunning/Environment/Change
Configuration
TRANSACTION CODE: FBMP
Basically there are three steps in this transaction:
1) Maintain dunning procedure
2) Maintain dunning levels
3) Maintain dunning texts
transaction from SAP:
- Before defining several dunning procedures and forms, you should check whether you can fulfill
all your requirements using one dunning procedure and one form.
- You should select Always dunn. notice? for
the last dunning level so that items at this level are not skipped.
- You can store the header and footer texts separately
for your dunning notices. If your letter paper already contains these specifications, you can remove the windows for these
texts in the form you define using SAPscript.
Regards,
Satish Muvva. -
Help with SE37 code needed - create sales order
Hi Guurus,
Can you please help? I finally finished with function creation (I just adopted the function, which I found in the system and it works ok, YEAH!!!)
BUT!!! It is working just for the sales order creation with one item.
Is it a big deal if you adopt my code that the function will have possibility to add more then one item?
Thanks in advance
Sao
Here is the code:
*FUNCTION Z_RFC_SD_SIMO_SALES_ORDER2.
*""Local interface:
**" IMPORTING
**" VALUE(P_AUART) TYPE AUART DEFAULT 'zhp'
**" VALUE(P_VKORG) TYPE VKORG DEFAULT 0001
**" VALUE(P_VTWEG) TYPE VTWEG DEFAULT 07
**" VALUE(P_SPART) TYPE SPART DEFAULT 01
**" VALUE(P_AUGRU) TYPE AUGRU DEFAULT 001
**" VALUE(P_BSTKD) TYPE BSTKD DEFAULT 'test si order avtom'
**" VALUE(P_SOLD) TYPE KUNNR DEFAULT 21000069
**" VALUE(P_SHIP) TYPE KUNNR DEFAULT 21000069
**" VALUE(P_MATNR) TYPE MATNR DEFAULT 'SIOBRACUN'
**" VALUE(P_MENGE) TYPE KWMENG DEFAULT 1
**" VALUE(P_PLANT) TYPE WERKS_D DEFAULT 0001
**" VALUE(P_ITCAT) TYPE PSTYV DEFAULT 'ZG2W'
**" VALUE(P_LGORT) TYPE LGORT_D DEFAULT 0001
**" EXPORTING
**" VALUE(V_VBELN) TYPE VBELN
**" VALUE(RESULT) TYPE CHAR01
DATA DECLARATIONS.
**DATA: v_vbeln LIKE vbak-vbeln.
*DATA: header LIKE bapisdhead1.
*DATA: headerx LIKE bapisdhead1x.
*DATA: item LIKE bapisditem OCCURS 0 WITH HEADER LINE.
*DATA: itemx LIKE bapisditemx OCCURS 0 WITH HEADER LINE.
*DATA: partner LIKE bapipartnr OCCURS 0 WITH HEADER LINE.
*DATA: return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.
*DATA: lt_schedules_inx TYPE STANDARD TABLE OF bapischdlx
*WITH HEADER LINE.
*DATA: lt_schedules_in TYPE STANDARD TABLE OF bapischdl
*WITH HEADER LINE.
HEADER DATA
*header-doc_type = p_auart.
*headerx-doc_type = 'X'.
*header-sales_org = p_vkorg.
*headerx-sales_org = 'X'.
*header-distr_chan = p_vtweg.
*headerx-distr_chan = 'X'.
*header-division = p_spart.
*headerx-division = 'X'.
**order reason
*header-ord_reason = p_augru.
*headerx-ord_reason = 'X'.
**PO number from MAX
*header-PURCH_NO_C = p_BSTKD.
*headerx-PURCH_NO_C = 'X'.
*headerx-updateflag = 'I'.
PARTNER DATA
*partner-partn_role = 'AG'.
*partner-partn_numb = p_sold.
*APPEND partner.
*partner-partn_role = 'WE'.
*partner-partn_numb = p_ship.
*APPEND partner.
ITEM DATA
*itemx-updateflag = 'I'.
*item-itm_number = '000010'.
*itemx-itm_number = 'X'.
*item-material = p_matnr.
*itemx-material = 'X'.
*item-plant = p_plant.
*itemx-plant = 'X'.
*item-target_qty = p_menge.
*itemx-target_qty = 'X'.
*item-target_qu = ' '.
*itemx-target_qu = 'X'.
*item-item_categ = p_itcat.
*itemx-item_categ = 'X'.
**item-STORE_LOC = p_LGORT.
**itemx-STORE_LOC = 'X'.
*APPEND item.
*APPEND itemx.
Fill schedule lines
*lt_schedules_in-itm_number = '000010'.
*lt_schedules_in-sched_line = '0001'.
*lt_schedules_in-req_qty = p_menge.
*APPEND lt_schedules_in.
Fill schedule line flags
*lt_schedules_inx-itm_number = '000010'.
*lt_schedules_inx-sched_line = '0001'.
*lt_schedules_inx-updateflag = 'X'.
*lt_schedules_inx-req_qty = 'X'.
*APPEND lt_schedules_inx.
Call the BAPI
*CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
*EXPORTING
*sales_header_in = header
*sales_header_inx = headerx
*IMPORTING
*salesdocument_ex = v_vbeln
*TABLES
*return = return
*sales_items_in = item
*sales_items_inx = itemx
*sales_schedules_in = lt_schedules_in
*sales_schedules_inx = lt_schedules_inx
*sales_partners = partner.
Check the return table.
*LOOP AT return WHERE type = 'E' OR type = 'A'.
*EXIT.
*ENDLOOP.
*IF sy-subrc = 0.
*result = 'E'.
*ELSE.
*COMMIT WORK AND WAIT.
*result = 'S'.
*ENDIF.
*ENDFUNCTION.
Edited by: Saso Poljansek on Jan 22, 2008 10:23 AMHi,,
Include YCL_CREATE_SALES_DOCU *
Form salesdocu
This Subroutine is used to create Sales Order
-->P_HEADER Document Header Data
-->P_HEADERX Checkbox for Header Data
-->P_ITEM Item Data
-->P_ITEMX Item Data Checkboxes
-->P_LT_SCHEDULES_IN Schedule Line Data
-->P_LT_SCHEDULES_INX Checkbox Schedule Line Data
-->P_PARTNER text Document Partner
<--P_w_vbeln text Sales Document Number
DATA:
lfs_return like line of t_return.
FORM create_sales_document changing P_HEADER like fs_header
P_HEADERX like fs_headerx
Pt_ITEM like t_item[]
Pt_ITEMX like t_itemx[]
P_LT_SCHEDULES_IN like t_schedules_in[]
P_LT_SCHEDULES_INX like t_schedules_inx[]
Pt_PARTNER like t_partner[]
P_w_vbeln like w_vbeln.
This Perform is used to fill required data for Sales order creation
perform sales_fill_data changing p_header
p_headerx
pt_item
pt_itemx
p_lt_schedules_in
p_lt_schedules_inx
pt_partner.
Function Module to Create Sales and Distribution Document
perform sales_order_creation using p_header
p_headerx
pt_item
pt_itemx
p_lt_schedules_in
p_lt_schedules_inx
pt_partner.
perform return_check using p_w_vbeln .
ENDFORM. " salesdocu
Form commit_work
To execute external commit *
FORM commit_work .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = c_x
ENDFORM. " Commit_work
Include ycl_sales_order_header " To Fill Header data and Item data
Include ycl_sales_order_header.
Form return_check
To validate the sales order creation
FORM return_check using pr_vbeln type vbeln.
if pr_vbeln is initial.
LOOP AT t_return into lfs_return .
WRITE / lfs_return-message.
clear lfs_return.
ENDLOOP. " Loop at return
else.
perform commit_work. " External Commit
Refresh t_return.
fs_disp-text = text-003.
fs_disp-number = pr_vbeln.
append fs_disp to it_disp.
if p_del eq c_x or p_torder eq c_x or
p_pgi eq c_x or p_bill eq c_x.
perform delivery_creation. " Delivery order creation
endif. " If p_del eq 'X'......
endif. " If p_w_vbeln is initial
ENDFORM. " Return_check
*& Form sales_order_creation
text
-->P_P_HEADER text
-->P_P_HEADERX text
-->P_PT_ITEM text
-->P_PT_ITEMX text
-->P_P_LT_SCHEDULES_IN text
-->P_P_LT_SCHEDULES_INX text
-->P_PT_PARTNER text
FORM sales_order_creation USING P_P_HEADER like fs_header
P_P_HEADERX like fs_headerx
P_PT_ITEM like t_item[]
P_PT_ITEMX like t_itemx[]
P_P_LT_SCHEDULES_IN like t_schedules_in[]
P_P_LT_SCHEDULES_INX like t_schedules_inx[]
P_PT_PARTNER like t_partner[].
CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
EXPORTING
sales_header_in = p_p_header
sales_header_inx = p_p_headerx
IMPORTING
salesdocument_ex = w_vbeln
TABLES
return = t_return
sales_items_in = p_pt_item
sales_items_inx = p_pt_itemx
sales_schedules_in = p_p_lt_schedules_in
sales_schedules_inx = p_p_lt_schedules_inx
sales_partners = p_pt_partner.
ENDFORM. " sales_order_creation
this is code to create sales document
plzz reward if it is usefull...
plzz dont forget to reward......
Maybe you are looking for
-
How can I remove my iPad from iTunes using my iPad?
My laptop broke and it had my iTunes stuff on it. I can not afford to repair it o I'm selling it later to my cousin. He likes to mess around a lot and I need to know how to remove my device. Please no commenting on black up because I use iCloud. Than
-
Unable to call webportal through internet - but works in intranet
I am working on Collaborate planning in APO (SCM), I enabled all the required services using SICF and published services. Portal works correctly in Intranet (with in our network), But doesnot work in Internet, link/url doesn't not bring up log on scr
-
How long does the pre approval process take?
I found a local lender with no overlays for an fha loan! He sent everything to AU. How long should it take to hear back? He couldn't give me a loan amount off the bat and now I'm anxious lol
-
Mistake re. post below: Anyone know about Optiarc AD7633A (not 7630A)?
We have to replace, for the 2nd time, the Superdrive in my sister's 15" Macbook Pro 2008. Very unreliable Panasonic drives. I don't have a replacement Panasonic on hand (which may be a good thing!), but I do have a Sony Nec Optiarc slot-loading AD-76
-
Hi, I had a ECC system with users with relevant authorisations. Now how can i setup the User Management in Portal for the users Thaks