How to determine the process alias using condition technique in Transportation & Shipment Scheudling?

Dear All,
I am trying to use the functionality Transportation and Shipment Scheduling in GATP.
I would like to know that how the sytem determines the process alias using condition technique in Transportation & Shipment Scheudling?
As the Transportation & Shipment Scheduling functionality can be extended further by using the configurable process to overcome the complex scenario. But it needs that process alias should not be determined by using the condition technique.
Moreover, is it possible to use both functionality simultaneously in the system. i.e. Transportation and Shipment Scheduling using condition technique and Transportation and Shipment Scheduling using configurable process?
Thanks & Regards
Piyush Ranpura

Hi Piyush,
I have added a small overview in the SCN WIKI which shows you the two ways for the process alias determination and also here as attachment:
http://wiki.sdn.sap.com/wiki/display/SCM/Time+and+Scheduling+Functions
Yes, depending on your customizing you can use both scheduling methods in parallel. e.g. you activate CPS just for a specific ITEM category or product and/or customer and/or....what ever you want.
best regards,
Michael

Similar Messages

  • How to determine the purchasing group using BADI BBP_PGRP_FIND

    Hello Friends
    We use SRM Server 5.5 (Classic scenario).
    As you know that, purchasing group has the responsible product categories in PPOMA_BBP, when user creates the shopping cart to determine the purchasing group. 
    In our case, we should determine the purchasing group using other criteria.
    MM side is OK to determine the purchasing group using specific criteria.
    Because Material Master has the purch. Group information. 
    In case of SRM, we should develop the logic using BBP_PGRP_FIND BADI.
    But I’m not sure how to use this badi.
    We want to determine the purchasing group based on the following logic.
    If described shopping cart without product ID
    Do Standard purchasing group determination logic.
    Else
    Assign the purch group from MARC- EKGRP (Purchasing Group)
    Is it possible to determine above the logic?
    If yes, Could you give me some information?
    Thank you,
    Best regards,
    SH
    Message was edited by:
            So Hee Lee

    Thank you for your answer.
    I found the way to develop the our logic using BADI: bbp_pgrp_find.
    But I’m not sure the following logic is correct.
    To differentiate described req. or product id req, We check the E_ITEM – PRODUCT using BBP_PD_SC_GETDETAIL.
    IF E_ITEM – PRODUCT is blank, Read the category ID to find the purchasing group.
    To find the purch. Group, we can use FM:  BBP_OM_DETERMINE_RESP_PGRP.
    Import parameter: IS_RESP_ITEM_DATA – Category _ID
    Export parameter: ES_PURCH_DATA
    ELSE
    CALL the customer function to read the R/3 purchasing group from MARC- EKGRP
    Search the HRT5500-TABNR using purchasing group from R/3.
    Search the HRP5500 – OBJID using HRT5500-TABNR
    Call the FM:  BBP_OM_DETERMINE_RESP_PGRP
    Import parameter: IS_RESP_ITEM_DATA – PROC_GROUP – OBJID
    Export parameter: ES_PURCH_DATA
    Thank you
    Best Regards
    SH

  • How to determine the IPS throughput using Cisco ASA 5500 IPS Solution?

    Hello there!
    I´ve been desinging a solution to protect de Server Farm and I intend to use the ASA 5500 series with AIP-SSM module. There´s any tool to determine the real throughput that I need? I mean, how to determine the performance (Firewall + IPS  throughput), what main points I should consinder?

    If the server farm is running production levels of traffic today you can get statistics off a variety of networking devices passing the existing traffic. Switches, routers and firewalls all count every byte of traffic they pass. There are plenty of tools that can gather this traffic into tables via SNMP too, such as MRTG.
    Do not average your traffic over too great a time peroid, you will miss busy hour peaks. At most, use 5 min averages.
    - Bob

  • How to determine the patch number used (installed using runInstaller)

    Whilst it easy to find the patch number installed using opatch by using the lsinventory argument.
    Is there a way to find patch number for a patch applied via runInstalled?
    META-INF/MANIFEST.MF from platform/iam-platform-kernel.jar,gives the following:
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.7.0
    Created-By: 19.1-b02 (Sun Microsystems Inc.)
    Product-Version: 11.1.1.3.0
    Build-Number: 11.1.1.3.0.0.0
    Built-By: aime1
    Build-Tag: Build_11.1_1_3.0_0_0
    Built-at: 05/02/2011 06:46
    Version: 11.1.1.3.0
    Build-Label: IAM_11.1.1.5.0_GENERIC_110502.0500
    Build-Transaction: NONE
    But I need the exact patch number, eg, p1234567.
    Anyone know where to find this information?
    The system has been patched from 11.1.1.3 to 11.1.1.5
    I am looking for the patches used for WLS, SOA and OIM.
    Regards
    Hanif

    Another way to get it is:
    SELECT XSD_CODE,XSD_VALUE FROM dev_oim.XSD WHERE xsd_code='XL_ADE_LABEL';
    Check Note: 1247564.1 for 11.1.1.3 and 1360009.1 for 11.1.1.5 for builds to patch mapping. Check Note:1299977.1 for how to determine build numbers.
    For WLS you can use: http://docs.oracle.com/cd/E13222_01/wls/docs81/admin_ref/clic.html
    For OIM as mentioned above
    For SOA: $mw_home\Oracle_SOA\bin\soaversion.cmd (or soaversion.sh) to know the SOA version or
    SELECT version, status, owner FROM schema_version_registry where owner = 'DEV_SOAINFRA';-Bikash

  • How to determine which processes are using a module?

    I want to find out which processes are using a kernel module.
    However this info is shown neither with ``lsmod'' nor in
    /sys/modules/<mod_name>/.
    It's needed to reload certain modules which are acting buggy,
    in a bash script. Right now I just keep a list of processes which
    use the module and try to kill'em all, not exactly a beautiful
    solution.
    To work around it I compiled a kernel with
    ``CONFIG_MODULE_FORCE_UNLOAD=y'', however actually
    trying to unload anything with this results in an unstable system.
    Suggestions?

    After successfully syncing the configuration database I ran the configuration compliance job once more, however with the same (misleading) results. Cross-checking the configuration reveals that none of the devices marked as compliant are actually having the "ip helper-address" configured.
    Maybe it is something wrong with the input data I specified for the compliance template (ref step 1-6 in my first post)?
    Or maybe the Compliance Jobs arent the best ways to determine whether or not my devices are having the "ip helper-address" configuration defined?

  • How to execute the process chain using function module

    Hi,
    How can we execute the process chain when there is any process failed. For ex. when we are running many processes. when loading fails in local process chain, after fixing this error, how can we execute the rest of processes. Can we execute the rest of processes using any function module. Kindly guide me.

    Hi,
    Chk the weblog.
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/3149. [original link is broken] [original link is broken] [original link is broken]
    Regards,
    Balaji

  • How to determine the core currently used?

    Hi,
    does anybody knows a Java SE6 method that gets the current processor number?
    It should run at least on WindowsXP with a dual core.
    I'm aware of the fact that the core currently used is a very ephemeral information. Nevertheless I want to verify whether assumptions about the scheduling are correct.
    All solutions without using JNI are welcome.
    Thanks in advance
    -- Thomas

    I doubt it is possible. I am not even sure how you would do that with the windows API. Not sure it is even logical. Since a thread switch can occur at any time that means that an atomic operation would be needed to recover it and that going up/down the call stack to that point would all be places where it would become invalid.

  • How to determine the protocol to use in Sender mail Adapter ?

    Hi All
    Can i use my Microsoft Exhange Server address while configuring Sender Mail Adapter .? If yes , then which protocol i can use out of IMAP and POP ?..
    How do i determine which protocol i should use to connect to my exchange server ?
    Thanks
    rohan

    Hi Rohan,
    //Can i use my Microsoft Exhange Server address while configuring Sender Mail Adapter .?
    Yes, you can.
    //If yes , then which protocol i can use out of IMAP and POP ?..
    You can use either of them. To know more on IMAP and POP, i would suggest you go through these links,
    http://www.trincoll.edu/depts/cc/documentation/email/IMAP_vs_POP/default.htm
    http://www.imap.org/papers/imap.vs.pop.brief.html
    If your are using IMAP, you will have to specify, which folder from which you wnaty the emmail to be retrived, this is not needed for POP.
    Hope this helps,
    Regards,
    bhavesh

  • How to Trigger the process chain using Excel Files?

    Hi All,
    We have 9 excel files(4 master data attributes and text files and 1 transaction file).
    Everyday new records will be added into the excel sheets and we need to trigger all these files into the bw server through process chain automatically . As we have all these Excel files in the desktop.
    Please suggest how to achieve this task?
    Thanks
    Gowtham

    Hi,
    You cannot load flat files to BW automatically using process chains.
    You have to upload them to Apllication server and point your Infopackage to the directory path of the flat file in application server. then process chains can load it.
    How to guide for loading flat file to application server.
    Program to load CSV file from local desktop to Application server(For flat file Data extraction)
    -Sriram

  • How to determine the organizational unit using activity category  ????????

    Hello All
    We are working on CRM 7.0 , we need to have the organizational determination based on the activity category , I have put the activity category in the attribute list then I created a determination rule type responsibility and it is working fine in the simulation but after I assigned the determination rule to the transaction type the organizational unity could not be determined. I tried the BADI CRM_ORGMAN_BADI but it was not help.
    Any clues regarding this issue ?
    Regards
    Jacopo

    No answers

  • Functions which uses condition technique in SD

    Hai Guys,
       Do help me out in getting informations about the
       following.
    pls tell the functions which uses condition technique in SD
    detailed answers or links for this pls...
      Thanku
      Regards
      Jino

    Hi Jino,
    ntroduction to the Condition Technique Locate the document in its
    Use
    This section describes the elements within the condition technique. It is organized to reflect the likely sequence of events that you go through when you implement pricing in Customizing. The standard R/3 System includes predefined elements for routine pricing activities. For example, the standard system includes condition types for basic pricing elements, such as material prices, customer and material discounts, and surcharges such as freight and sales taxes. In the case of each element, you can use the standard version, modify the standard version, or create entirely new definitions to suit your own business needs. The sequence of activities is generally as follows:
       1. Define condition types for each of the price elements (prices, discounts, and surcharges) that occur in your daily business transactions.
       2. Define the condition tables that enable you to store and retrieve condition records for each of the different condition types.
       3. Define the access sequences that enable the system to find valid condition records.
       4. Group condition types and establish their sequence in pricing procedures.
    For more information about implementing and customizing pricing in sales order processing, see Customizing for Sales and Distribution.
    For a more technical description of how the condition technique works, see the Business Workflow documentation for Message Control.
    Elements Used in the Condition Technique
    Condition Types
    Condition Tables
    Access Sequences
    Pricing procedures
    Condition Types Locate the document in its SAP Library structure
    Use
    A condition type is a representation in the system of some aspect of your daily pricing activities. For example, you can define a different condition type for each kind of price, discount or surcharge that occurs in your business transactions.
    Example
    Example of a Condition Type
    You define the condition type for a special material discount. You specify that the system calculates the discount as an amount (for example, a discount of USD 1 per sales unit). Alternatively, you can specify that the system calculates the discount as a percentage (for example: a 2% discount for orders over 1,000 units). If you want to use both possibilities, you must define two separate condition types. The following figure illustrates how condition types can be used during pricing in a sales document.
    This graphic is explained in the accompanying text
    In the example in the preceding figure, two discounts apply to the item in the sales order. The first discount is a percentage discount based on the quantity ordered. The second discount is a fixed discount based on the total weight of the item.
    Note
    You determine the calculation type for a condition type in Customizing. This determines how the system calculates prices, discounts and surcharges for a condition. When setting up condition records, you can enter a different calculation type than the one in Customizing. At present all available calculation types are permitted. The field ‘Calculation type’ can however not be accessed if this field is left empty. After the data release has been printed, if the field has not been completed manually, the proposal is automatically taken from Customizing. After this it is no longer possible to make manual changes.
    If you use different calculation types for what are otherwise the same conditions (for example, percentage, as a fixed amount or quantity-dependent), you do not have to define different condition types in Customizing. You can set a different calculation type when maintaining the individual condition records.
    Condition Types in the Standard R/3 System
    The standard system includes, among many others, the following predefined condition types:
    Condition type
    Description
    PR00
    Price
    K004
    Material discount
    K005
    Customer-specific material discount
    K007
    Customer discount
    K020
    Price group discount
    KF00
    Freight surcharge (by item)
    UTX1
    State tax
    UTX2
    County tax
    UTX3
    City tax
    Creating and Maintaining Condition Types
    You can change and maintain condition types provided in the standard version of the SAP R/3 System or you can create new condition types to suit the needs of your own organization. You create and maintain condition types in Customizing.
    To reach the condition type screen from the initial Customizing screen for Sales and Distribution:
       1. Basic Functions
          ® Pricing ® Pricing Control ® Define condition types.
          A dialog-box appears, listing the transaction options. Select the corresponding transaction for defining the condition types.
       2. In the Conditions: Condition Types view, you can change existing condition types or create new ones.
    Leaving content frame
    Condition Tables Locate the document in its SAP Library structure
    Use
    A condition table defines the combination of fields (the key) that identifies an individual condition record. A condition record is how the system stores the specific condition data that you enter in the system as condition records. For example, when you enter the price for a product or a special discount for a good customer, you create individual condition records.
    Example
    Example of a Condition Table
    A sales department creates condition records for customer-specific material prices. The standard R/3 System includes condition table 005 for this purpose. The key of table 005 includes the following fields:
    Sales organization
    Distribution channel
    Customer
    Material
    The first two fields identify important organizational data and the last two fields express the relationship between customers and specific materials. When the sales department creates a condition record for a material price or discount that is specific to one customer, the system automatically uses condition table 005 to define the key and store the record.
    The following figure illustrates the connection between the condition table and the subsequent condition records.
    This graphic is explained in the accompanying text
    Condition Tables in the Standard Version
    The standard system includes predefined condition tables and specifies them for each access in each predefined access sequence.
    Creating or Maintaining Condition Tables
    You can change and maintain the condition tables in the standard system. You can also create new condition tables to meet the needs of your own organization. You create and maintain condition tables in Customizing.
    From the initial screen of Customizing for Sales and Distribution, you reach the condition table screens by choosing Basic functions ® Pricing ® Pricing Control ® Define condition tables. Then select the mode you want to work with (create, change, display).
    Information About Fields
    The fields that you choose to make up the key are called the selected fields. The fields from which you can make your selection are called the allowed fields.
    Selected Fields
    The preceding figure shows the fields that make up the key for condition table 005 (the table for customer/material condition records in Sales). The selected fields show organizational data, such as Sales organization.The fields Customer and Material define the relationship between a particular customer and material.
    Field Catalog (Allowed Fields)
    When you select fields for the key, you must choose the fields from the list of allowed fields.
    Making Changes to Condition Tables
    You can make limited changes to existing condition tables. For example, you can change the name of the table or the format of the fast entry screens for the condition records. (Fast entry screens are screens where you can quickly, on a single screen, create and maintain the condition records that refer to the condition table).
    Format of a Fast-Entry Screen
    The screen consists of header and item lines. Each item line represents a separate condition record. The header lines include the fields that are general to all item lines. When deciding on the format of the fast-entry screen, you can determine whether each field in the key appears as a line in the header or as an item line.
    Changing the Format of a Fast-Entry Screen
    To change the format of the Fast-Entry screen, choose F6 (Technical View) on the screen where you create or maintain a condition table.
    When you determine the format, you have the following possibilities:
    If you want the...
    Do the following...
    Field to appear as a header line
    Leave the line field blank
    Field to appear as an item
    Mark the line field
    Text for an item line to appear
    Mark the text field
    After you make changes to a condition table, choose F16 Generate) to regenerate the table.
    Creating a New Condition Table
    You can create new condition tables to meet the pricing needs of your organization. When you create a new condition table, you select a combination of fields from the list of allowed fields. The selected fields define the key for the subsequent condition records.
    Before you select the fields for the key, there are two things to consider:
    The sequence (or hierarchy) of the fields
    Which fields you want to appear in the header and item areas of the corresponding fast-entry screens
    Important Fields
    In sales, the fields you should take into consideration are Sales organization and Distribution channel. The sales organization is nearly always used as a criteria in pricing, because different sales organizations often want to use their own prices, discounts, and surcharges. If you use the sales organization as a criterion in pricing, you should also use the distribution channel. If you do not want to establish different prices, discounts, and surcharges for each distribution channel, use the field anyway. In Customizing for Sales, you can use one distribution channel as a reference for all others (thereby sharing the same pricing data).
    Deciding the Sequence of Fields
    The order of the fields in a condition table affects the performance of the system during pricing. Two general guidelines will help you create an efficient condition table:
       1. If you select fields that are connected to the structure of your organization (for example, sales organization and distribution channel), assign the fields according to the level of general applicability: Put the most general field, for example, the sales organization in the highest position and the most specific field in the lowest.
       2. After organizational fields, place fields from the document header before those that come from the item level. (For example, Customer comes before Material)
    After you have selected the fields for the key on the screen where you maintain and define condition tables, choose F16 Generate to generate the table in the system. Generation prepares the condition table for storing condition data.
    Access Sequences Locate the document in its SAP Library structure
    Use
    An access sequence is a search strategy that the system uses to find valid data for a particular condition type. It determines the sequence in which the system searches for data. The access sequence consists of one or more accesses. The sequence of the accesses establishes which condition records have priority over others. The accesses tell the system where to look first, second, and so on, until it finds a valid condition record. You specify an access sequence for each condition type for which you create condition records.
    Note
    There are some condition types for which you do not create condition records (header discounts that you can only enter manually, for example). These condition types do not require an access sequence.
    ExampleA sales department may offer customers different kinds of prices. The department may create, for example, the following condition records in the system:
    A basic price for a material
    A special customer-specific price for the same material
    A price list for major customers
    During sales order processing, a customer may, in theory, qualify for all three prices. The access sequence enables the system to access the data records in a particular sequence until it finds a valid price. In this example, the sales department may want to use the most favourable price for a certain customer. For this reason, it ensures that the system searches for a customer-specific price. The following figure shows how the system searches for the relevant record.
    This graphic is explained in the accompanying text
    Access Sequences in the Standard R/3 System
    The standard R/3 System contains access sequences that are predefined for each of the standard condition types. The names of the access sequences often correspond to the condition types for which they were designed. For example, the access sequence for a material discount (condition type K004) is also called K004.
    Creating and Maintaining Access Sequences
    You create and maintain access sequences in Customizing. For more information, see the online Implementation Guide for Sales and Distribution.
    To reach the access sequence screen, go to the initial screen for Sales and Distribution Customizing and choose:
       1. Basic Functions
          ® Pricing ® Pricing Control ® Define access sequences
    Select the transaction that you want to execute (Maintain access).
    Leaving content frame
    Pricing Procedures Locate the document in its SAP Library structure
    Use
    The primary job of a pricing procedure is to define a group of condition types in a particular sequence. The pricing procedure also determines:
    Which sub-totals appear during pricing
    To what extent pricing can be processed manually
    Which method the system uses to calculate percentage discounts and surcharges
    Which requirements for a particular condition type must be fulfilled before the system takes the condition into account
    Example
    Example of a Pricing Procedure
    If a sales department processes sales orders for a variety of foreign customers, the department can group the customers by country or region. A pricing procedure can then be defined for each group of customers. Each procedure can include condition types that determine, for example, country-specific taxes. In sales order processing, you can specify pricing procedures for specific customers and for sales document types. The system automatically determines which procedure to use.
    Pricing Procedures in the R/3 System
    The standard system contains pre-defined pricing procedures, which contain frequently used condition types along with their corresponding access sequences. You can, of course, modify these procedures or create your own from scratch.
    Creating and Maintaining Pricing Procedures
    You create or maintain pricing procedures in Customizing for Sales. For more information on creating pricing procedures, see the online Implementation Guide for Sales and Distribution.
    To reach the pricing procedure screen from SD Customizing:
       1. Choose Basic Functions
       2. ® Pricing ® Pricing control ® Define and assign pricing procedures.Select the transaction that you want to execute.
    Thanks&Regards,
    Phani,
    Points If helpful.

  • How to determine the size of the JVM process?

    Hi,
    How to determine the total process size of the JVM process (that includes Heap, Non Heap and Native memory)?
    Is there any command to obtain this value on Solaris (for Sun JVM)?
    I refer the process size to http://middlewaremagic.com/weblogic/wp-content/uploads/2010/11/Java_Heap_Diagram_12.jpg) here.
    Many thanks for your help in advance!

    Hi,
    Make sure that Total Heap + Native memory will be consider as total Memory.
    That means in 32 bit you will have only at most 4 GB for process + additional 2 GB for OS.
    So let assume if you have 4GM RAM then out of the 4GB you can allocate 2GB as Heap and 512m as Perm in case of Hot spot and remaining will be consider as Native memory.
    But in case of 64 bit will change you will have good amount of the memory so you can use plenty of Heap and Perm size.
    Still if you have query let me know.
    Regards,
    Kal

  • HT201250 I use Time Machine to back up my entire computer with my external hard drive. I am getting a brand new iMac this month and was wondering what is the process of using this back up to restore my new computer exactly how my old computer was?

    I use Time Machine to back up my entire computer with my external hard drive. I am getting a brand new iMac this month and was wondering what is the process of using this back up to restore my new computer exactly how my old computer was? I want to make sure I will still have various important files on my new computer, like my songs in iTunes, my photos in iPhoto, etc, etc. Thanks so much in advance!

    Welcome to the Apple Support Communities
    When you turn on the new iMac for the first time, Setup Assistant will ask you to restore a backup, so connect the external disk and follow steps to restore all your files to your new iMac. Your new Mac will have the same settings and programs as your old computer.
    In other cases, I would recommend to restore the whole backup without using Migration Assistant or Setup Assistant, but a Late 2012 iMac uses a special OS X build, so the OS X version that you're using on your old Mac won't work on the new one. For more information, see > http://pondini.org/OSX/Home.html

  • How to determine the ROWNUM in a Master Detail Form

    Hello,
    I am working in a Master Detail Form with Orders and Order Items Information; and I created a process that allows the users to select a Product ID on a tabular form, and the next column is populated automatically with the Product Description.
    To achieve that, I followed some instructions by Denes Kubicek (http://apex.oracle.com/pls/otn/f?p=31517:241), but my case is slightly different:
    <ul>I am using a wizard-created tabular form, instead of a manual tabular form; and </ul>
    <ul>Instead of using another page as a Popup to pass the parameter of the ROWNUM, I am using a plug-in called “Tabular Form Super LOV” which is a modified version of the SkillBuilders’ Super LOV that works on Tabular Forms. </ul>
    The Product ID is returned in the correct row by the plug-in; but in the case of the Product Description, it is always returned into the first row; and my problem is that I don't know how to determine the row where the user clicked to call the plug-in.
    I set up an example in apex.oracle.com in case someone would like to look at it:
    Workspace: ediazjorge
    Username: test
    Password: test
    App Name: Sample App
    App Number: 1550
    BTW, I am using Apex 4.1.1.00.23 and Oracle DB 10.3.2.
    Thanks in advance,
    Erick

    Hello VC,
    Thank you for your time and help.
    Unfortunately, it is still not working properly:
    1. When the Popup LOV opens, the first row of the tabular form is 0, the second row is 1, and so on. How can I assign the values starting with 1 and in the format *0001* ? (I am still a novice on Apex and new to JavaScript :-), sorry about that).
    --2. Also, when I close the Popup LOV, the value of P1_ROWNUM is ‘undefined’ again so I'm not sure if the Product Name column will be populated.--
    3. And finally, you are using the jQuery Selector uPopupLOVIcon, which is an attribute of the Cloudy Theme. In my real application (Apex 4.1.1.00.26), my element looks like: *<img src="/i/lov_16x16.gif" width="16" height="16" alt="Popup Lov" alt="List" style="vertical-align:middle;" align="middle" />*. What do you recommend me to use as a jQuery Selector?
    Again, I really appreciate your help and time. I think you solved the most difficult part.
    Thank you so much,
    Erick
    Update: I just found out that the problem with my comment 2 is because I didn’t delete the previous dynamic action that set the value to P1_ROWNUM.
    Edited by: ediazjorge on Sep 18, 2012 11:20 AM

  • How to create the sales order using BAPI's ....?

    Hi Guru's,
    could you please provide how to create the sales order using BAPI's .....i need step by step process and please provide the details from scratch....basically  i don't have basic knowledge on this....please provide required inputs ....:)
    thanks in advance
    Srinivas......

    Hi Guru's thanks for your inouts and your valuble time...
    please find the program logic below...
    *& Report  ZAREPAS30
    REPORT  zarepas30.
    DATA : gs_vbeln                   TYPE  vbak-vbeln,
           gs_order_header_in         TYPE  bapisdhd1,
           gs_order_header_inx        TYPE  bapisdhd1x,
           gt_order_items_in          TYPE  STANDARD TABLE OF bapisditm,
           gwa_itab1                  TYPE  bapisditm,
           gt_order_items_inx         TYPE  STANDARD TABLE OF bapisditmx,
           gwa_itab2                  TYPE  bapisditmx,
           gt_order_partners          TYPE  STANDARD TABLE OF bapiparnr,
           gwa_itab3                  TYPE  bapiparnr,
           gt_return                  TYPE  STANDARD TABLE OF bapiret2,
           gwa_itab4                  TYPE  bapiret2.
    Sales document type
      PARAMETERS: p_auart TYPE auart OBLIGATORY.
    Sales organization
      PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.
    Distribution channel
      PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.
    Division.
      PARAMETERS: p_spart TYPE spart OBLIGATORY.
    Requested Delivery Date
      PARAMETERS: p_edatu  TYPE edatu OBLIGATORY.
    Sold-to
      PARAMETERS: p_sold  TYPE kunnr OBLIGATORY.
    Ship-to
      PARAMETERS: p_ship  TYPE kunnr OBLIGATORY.
    Material
      PARAMETERS: p_matnr TYPE matnr   OBLIGATORY.
    Quantity.
      PARAMETERS: p_menge TYPE kwmeng  OBLIGATORY.
    Plant
      PARAMETERS: p_plant TYPE werks_d OBLIGATORY.
    Start-of-selection.
      START-OF-SELECTION.
    Header data
    Sales document type
      gs_order_header_in-doc_type = p_auart.
      gs_order_header_inx-doc_type = 'X'.
    Sales organization
      gs_order_header_in-sales_org = p_vkorg.
      gs_order_header_inx-sales_org = 'X'.
    Distribution channel
      gs_order_header_in-distr_chan  = p_vtweg.
      gs_order_header_inx-distr_chan = 'X'.
    Division
      gs_order_header_in-division = p_spart.
      gs_order_header_inx-division = 'X'.
    Reguested Delivery Date
      gs_order_header_in-req_date_h = p_edatu.
      gs_order_header_inx-req_date_h = 'X'.
      gs_order_header_inx-updateflag = 'I'.
    Partner data
    Sold to
      gwa_itab3-partn_role = 'AG'.
      gwa_itab3-partn_numb = p_sold.
      APPEND gwa_itab3 TO  gt_order_partners .
    ship to
      gwa_itab3-partn_role = 'WE'.
      gwa_itab3-partn_numb = p_ship.
      APPEND gwa_itab3 TO  gt_order_partners .
    ITEM DATA
      gwa_itab2-updateflag = 'I'.
    Line item number.
      gwa_itab1-itm_number = '000010'.
      gwa_itab2-itm_number = 'X'.
    Material
      gwa_itab1-material = p_matnr.
      gwa_itab2-material = 'X'.
    Plant
      gwa_itab1-plant    = p_plant.
      gwa_itab2-plant   = 'X'.
    Quantity
      gwa_itab1-target_qty = p_menge.
      gwa_itab2-target_qty = 'X'.
      APPEND gwa_itab1 TO gt_order_items_in.
      APPEND gwa_itab2 TO gt_order_items_inx.
    Line item number.
      gwa_itab1-itm_number = '000020'.
      gwa_itab2-itm_number = 'X'.
    Material
      gwa_itab1-material = p_matnr.
      gwa_itab2-material = 'X'.
    Plant
      gwa_itab1-plant    = p_plant.
      gwa_itab2-plant   = 'X'.
    Quantity
      gwa_itab1-target_qty = p_menge.
      gwa_itab2-target_qty = 'X'.
      APPEND gwa_itab1 TO gt_order_items_in.
      APPEND gwa_itab2 TO gt_order_items_inx.
    CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
      EXPORTING
        order_header_in               = gs_order_header_in
        ORDER_HEADER_INX              = gs_order_header_inx
      IMPORTING
        SALESDOCUMENT                 = gs_vbeln
      tables
        RETURN                        = gt_return
        ORDER_ITEMS_IN                = gt_order_items_in
        ORDER_ITEMS_INX               = gt_order_items_inx
        order_partners                = gt_order_partners.
    Check the return table.
      LOOP AT gt_return into gwa_itab4 WHERE type = 'E' OR type = 'A'.
        EXIT.
      ENDLOOP.
      IF sy-subrc = 0.
        WRITE: / 'Error occured while creating sales order '.
      ELSE.
    Commit the work.
      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
        WRITE: / 'Document ', gs_vbeln, ' created'.
      ENDIF.

Maybe you are looking for