Po creation with restricted PO value

Hi,
MAybe this is a stupid question but....
We would like to have that "secretary's" could create just po's under the 1000 EUR value. Is there any standard way without userexit conected with this?
If we created a new type of PO, can we restrict the max value for the order?
Thanks + BR
Saso

Hi,
No standard restiction is available while creating PO. I will suggest you to implement release strategy.

Similar Messages

  • Report Builder Wizard and Parameter Creation with values from other data source e.g. data set or views for non-IT users or Business Analysts

    Hi,
    "Report Builder is a report authoring environment for business users who prefer to work in the Microsoft Office environment.
    You work with one report at a time. You can modify a published report directly from a report server. You can quickly build a report by adding items from the Report Part Gallery provided by report designers from your organization." - As mentioned
    on TechNet. 
    I wonder how a non-technical business analyst can use Report Builder 3 to create ad-hoc reports/analysis with list of parameters based on other data sets.
    Do they need to learn TSQL or how to add and link parameter in Report Builder? then How they can add parameter into a report. Not sure what i am missing from whole idea behind Report builder then?
    I have SQL Server 2012 STD and Report Builder 3.0  and want to train non-technical users to create reports as per their need without asking to IT department.
    Everything seems simple and working except parameters with list of values e.g. Sales year List, Sales Month List, Gender etc. etc.
    So how they can configure parameters based on Other data sets?
    Workaround in my mind is to create a report with most of columns and add most frequent parameters based on other data sets and then non-technical user modify that report according to their needs but that way its still restricting users to
    a set of defined reports?
    I want functionality like "Excel Power view parameters" into report builder which is driven from source data and which is only available Excel 2013 onward which most of people don't have yet.
    So how to use Report Builder. Any other thoughts or workaround or guide me the purpose of Report Builder, please let me know. 
    Many thanks and Kind Regards,
    For quick review of new features, try virtual labs: http://msdn.microsoft.com/en-us/aa570323

    Hi Asam,
    If we want to create a parameter depend on another dataset, we can additional create or add the dataset, embedded or shared, that has a query that contains query variables. Then use the option that “Get values from a
    query” to get available values. For more details, please see:http://msdn.microsoft.com/en-us/library/dd283107.aspx
    http://msdn.microsoft.com/en-us/library/dd220464.aspx
    As to the Report Builder features, we can refer to the following articles:http://technet.microsoft.com/en-us/library/hh213578.aspx
    http://technet.microsoft.com/en-us/library/hh965699.aspx
    Hope this helps.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Hi all  F4 in alv grid with restricted value  -- no solution from forum

    hi all
    i have developed report using alv grid using FM (important).
    i have a field xyz which is input/output enabled in alv grid output. this field is attached with f4 help.
    my requirement is to get or read the row in alv grid when user press f4 on that field so that restricted value should come in f4 help i.e. i have to read current line when user presses f4 i.e. the single line data in alv grid.
    so how to get or read the current row when user press f4 i.e user will choose any row in alv grid and this output is on alv grid and there are multiple records.
    or in other word is it possible to read current row in alv grid when user presses F4, if yes how???.
    i hope u understood the query.

    Hai,
    Check the code it may help u.
    For F4 Values on Screen:
    PROCESS ON VALUE_REQUEST
    using module call starting with FIELD i.e FIELD field MODULE module
    There are number of function modules that can be used for the purpose, but these
    can fullfill the task easily or combination of them.
    DYNP_VALUE_READ
    F4IF_FIELD_VALUE_REQUEST
    F4IF_INT_TABLE_VALUE_REQUEST
    POPUP_WITH_TABLE_DISPLAY
    DYNP_VALUE_READ
    This function module is used to read values in the screen fields. Use of this
    FM causes forced transfer of data from screen fields to ABAP fields.
    There are 3 exporting parameters
    DYNAME = program name = SY-CPROG
    DYNUMB = Screen number = SY-DYNNR
    TRANSLATE_TO_UPPER = 'X'
    and one importing TABLE parameter
    DYNPFIELDS = Table of TYPE DYNPREAD
    The DYNPFIELDS parameter is used to pass internal table of type DYNPREAD
    to this FM and the values read from the screen will be stored in this table.This
    table consists of two fields:
    FIELDNAME : Used to pass the name of screen field for which the value is to
    be read.
    FIELDVALUE : Used to read the value of the field in the screen.
    e.g.
    DATA: SCREEN_VALUES TYPE TABLE OF DYNPREAD ,
    SCREEN_VALUE LIKE LINE OF SCREEN_VALUES.
    SCREEN_VALUE-FIELDNAME = 'KUNNR' . * Field to be read
    APPEND SCREEN_VALUE TO SCREEN_VALUES. * Fill the table
    CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
    DYNAME = SY-CPROG
    DYNUMB = SY-DYNNR
    TRANSLATE_TO_UPPER = 'X'
    TABLES
    DYNPFIELDS = SCREEN_VALUES.
    READ TABLE SCREEN_VALUES INDEX 1 INTO SCREEN_VALUE.Now the screen value for field KUNNR is in the SCREEN_VALUE-FIELDVALUE and can be used for further processing like using it to fill the internal table to be used as parameter in F4IF_INT_TABLE_VALUE_REQUEST ETC.
    F4IF_FIELD_VALUE_REQUEST
    This FM is used to display value help or input from ABAP dictionary.We have to pass the name of the structure or table(TABNAME) along with the field name(FIELDNAME) . The selection can be returned to the specified screen field if three
    parameters DYNPNR,DYNPPROG,DYNPROFIELD are also specified or to a table if RETRN_TAB is specified.
    CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
    TABNAME = table/structure
    FIELDNAME = 'field name'
    DYNPPROG = SY-CPROG
    DYNPNR = SY-DYNR
    DYNPROFIELD = 'screen field'
    IMPORTING
    RETURN_TAB = table of type DYNPREAD
    F4IF_INT_TABLE_VALUE_REQUEST
    This FM is used to dsiplay values stored in an internal table as input
    help.This FM is used to program our own custom help if no such input help
    exists in ABAP dictionary for a particular field. The parameter VALUE_TAB is used to pass the internal table containing input values.The parameter RETFIELD
    is used to specify the internal table field whose value will be returned to the screen field or RETURN_TAB.
    If DYNPNR,DYNPPROG and DYNPROFIELD are specified than the user selection is passed to the screen field specified in the DYNPROFIELD. If RETURN_TAB is specified the selectionis returned in a table.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
    RETFIELD = field from int table whose value will be returned
    DYNPPROG = SY-CPROG
    DYNPNR = SY-DYNNR
    DYNPROFIELD = 'screen field'
    VALUE_ORG = 'S'
    TABLES
    VALUE_TAB = internal table whose values will be shown.
    RETURN_TAB = internal table of type DDSHRETVAL
    EXCEPTIONS
    parameter_error = 1
    no_values_found = 2
    others = 3.
    POPUP_WITH_TABLE_DISPLAY
    This FM is used to display the contents of an internal table in a popup window.The user can select a row and the index of that is returned in the CHOISE
    parameter.The VALUETAB is used to pass the internal table.
    A suitable title can be set using TITLETEXT parameter. The starting and end position of the popup can be specified by the parameters STARTPOS_COL / ROW and ENDPOS_ROW / COL .
    CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'
    EXPORTING
    ENDPOS_COL =
    ENDPOS_ROW =
    STARTPOS_COL =
    STARTPOS_ROW =
    TITLETEXT = 'title text'
    IMPORTING
    CHOISE =
    TABLES
    VALUETAB =
    EXCEPTIONS
    BREAK_OFF = 1
    OTHERS = 2.
    e.g.
    DATA: w_choice TYPE SY-TABIX.
    DATA: BEGIN OF i_values OCCURS 0 WITH HEADER LINE,
    values TYPE I,
    END OF i_values.
    PARAMETRS : id TYPE I.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR id
    i_values-values = '0001'.
    APPEND i_values.
    i_values-values = '0002'.
    APPEND i_values.
    i_values-values = '0003'.
    APPEND i_values.
    i_values-values = '0004'.
    APPEND i_values.
    CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'
    EXPORTING
    ENDPOS_COL = 40
    ENDPOS_ROW = 12
    STARTPOS_COL = 20
    STARTPOS_ROW = 5
    TITLETEXT = 'Select an ID'
    IMPORTING
    CHOISE = w_choice
    TABLES
    VALUETAB = i_values
    EXCEPTIONS
    BREAK_OFF = 1
    OTHERS = 2.
    CHECK w_choice > 0.
    READ TABLE i_values INDEX w_choice....now we can process the selection as it is contained
    ...in the structure i_values.
    Other FM that may be used to provide input help is HELP_START .
    check this also.
    See the following ex:
    TYPES: BEGIN OF TY_MBLNR,
    MBLNR LIKE MKPF-MBLNR,
    END OF TY_MBLNR.
    DATA: IT_MBLNR TYPE STANDARD TABLE OF TY_MBLNR WITH HEADER LINE.
    data: it_ret like ddshretval occurs 0 with header line.
    At selection-screen on value-request for s_mat-low.
    Select MBLNR from mkpf into table it_mblnr.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
    DDIC_STRUCTURE = ' '
    RETFIELD = 'MBLNR'
    PVALKEY = ' '
    DYNPPROG = ' '
    DYNPNR = ' '
    DYNPROFIELD = ' '
    STEPL = 0
    WINDOW_TITLE =
    VALUE = ' '
    VALUE_ORG = 'S'
    MULTIPLE_CHOICE = ' '
    DISPLAY = ' '
    CALLBACK_PROGRAM = ' '
    CALLBACK_FORM = ' '
    MARK_TAB =
    IMPORTING
    USER_RESET =
    TABLES
    VALUE_TAB = IT_MBLNR
    FIELD_TAB =
    RETURN_TAB = IT_RET
    DYNPFLD_MAPPING =
    EXCEPTIONS
    PARAMETER_ERROR = 1
    NO_VALUES_FOUND = 2
    OTHERS = 3
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    IF SY-SUBRC = 0.
    read table it_ret index 1.
    move it_ret-fieldval to S_mat-low.
    ENDIF.
    Go through the test program.
    REPORT Ztest_HELP .
    TABLES : MARA.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    PARAMETERS : P_MATNR(10) TYPE C.
    SELECTION-SCREEN END OF BLOCK B1.
    DATA : BEGIN OF ITAB OCCURS 0,
    MATNR TYPE MATNR,
    END OF ITAB.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_MATNR.
    SELECT MATNR
    FROM MARA
    INTO TABLE ITAB
    UP TO 10 ROWS.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
    RETFIELD = 'MATERIAL NUMBER'
    DYNPPROG = SY-REPID
    DYNPNR = SY-DYNNR
    DYNPROFIELD = 'P_MATNR'
    VALUE_ORG = 'S'
    TABLES
    VALUE_TAB = ITAB
    EXCEPTIONS
    PARAMETER_ERROR = 1
    NO_VALUES_FOUND = 2
    OTHERS = 3. 
    regards.
    sowjanya.b.

  • Set JArray values with invalid key value: "LastUpdatedTime" on new alert rule creation

    Hey all!
    I'm trying to create a new alert rule using version 0.9.11 of the Monitoring Library and am getting this error on alertsClient.rules.CreateOrUpdate:
    "Set JArray values with invalid key value: "LastUpdatedTime". Array position index expected."
    That's interesting because LastUpdatedTime is a DateTime object, and whether I set it or I don't, if I set a breakpoint, it does set itself correctly, but the API appears to be expecting a JSON hash?
    I've tested alertsClient and I'm able to get existing alerts (also metrics with metrics client), so I don't believe it's an access issue.
    Any ideas?
    The full code I'm using for the test (borrowed virtually verbatim from the Cloud Cover video
    here): 
    Rule newRule = new Rule
        Name = "CPU Over 90%",
        Id = Guid.NewGuid().ToString(),
        Description = "CPU Has been over 90% for 5 minutes",
        IsEnabled = true,
        LastUpdatedTime = DateTime.Now,
        Condition = new ThresholdRuleCondition
            Operator = Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.ConditionOperator.GreaterThan,
            Threshold = 90,
            WindowSize = TimeSpan.FromMinutes(5),
            DataSource = new RuleMetricDataSource
                MetricName = "Percentage CPU",
                ResourceId = "",
                MetricNamespace = ResourceIdBuilder.BuildCloudServiceResourceId(<cloudservicename>, <deploymentname>)
    RuleAction action = new RuleEmailAction
        SendToServiceOwners = true,
    newRule.Actions.Add(action);
    OperationResponse alertResponse = alertsClient.Rules.CreateOrUpdate(new
    RuleCreateOrUpdateParameters { Rule = newRule });
    Console.WriteLine("Create alert rule response: " + alertResponse.StatusCode);

    Hi Greg,
    Thanks for your post!
    Error "JArray" has been fixed in the latest nugget package.
    Refer to:
    http://www.nuget.org/packages/Microsoft.WindowsAzure.Management.Monitoring/
    Hope this helps!
    Regards,
    Sadiqh

  • While Creation Of SaleOrder Char Values are not getting saved.(V C)

    Hi SAP gurus,
    One of my client can able to create a saleorder but when we go and see in VA03 Display mode,we found Charactrestic values getting miised out.What could be the probale reasons.
    Note: I Have stimulate the required combination as per my client requirement in CU50,here i can able to indentify the Green Sign,but While Creation Of SaleOrder Char Values are not getting saved.
    Awaiting for your valuable reply.
    Cheers,
    Kumar.S

    Kumar ,
    If you assign values in classification view or configuration profile  they will become default for the product, and it willnot be changed in sales order.
    another thing if the item category is incorrect you will not get the configuration pop up at all .
    problem what i understand from your thred is at the time of sales ordeer creation there is some inconsistances in the configuration , may be some condition is not fullfilling.
    If in CU50 the result shown are error free, same configuration should owrk properly in sales configuration process, please again try to create it in sales order with same value assignment also check all the messages.
    see the result of configuration before saving the sales order , i hoep it will work for you.
    I am assuming all the things from SD are properly configured ie item catageory, varient pricing etc.
    Check and revert back.
    Regards
    Ritesh

  • Error message display for PO creation with reference to internal orders

    Sir,
    While creating PO with Tcode ME21N (item category I) with reference to ' Internal Order with Funds provided (Tcode KO12), system displaying error message  when Budget is exceeded.
    But when Funds provision is not mentioned (Funds value is initial in KO12) , error message is not being given by the system during Po creation with ME21N.
    Where should I configure in img(Tcode SPRO) , so that system will throw error mesage while creating PO without Budget Provision (Funds not mentioned ) in Internal Orders.
    Regards,
    Srinivasa Murthy

    Hi Anupam,
    The error message display as follows. (when the PO Price exceeds the Planned Funds kept for internal order)
    This error comes during PO creation Process and PO can not be saved. This error message display is correct.
    Item 001 Order 600643 budget exceeded
    Message no. BP604
    Diagnosis
    In document item 001 Order 600643, budget  for fiscal year 2009 was exceeded by 99,960,000.00 INR.
    But  my question is 'when funds have not at all been mentioned for the internal order' then system has to throw the same error as mentioned above. But it is not happening. System is allowing the PO to save which is not correct.
    Regards,
    Srinivasa Murthy

  • How to restrict the values in seach helps

    Dear All,
                   I am new to the BSP concept.I have a requirement
    where in the BSP i need to restrict the values of the search help.i.e. 2 values are coming in the help i need to display only 1 value.
    can anybody please explain how to do it.
    Cheers,
    Deepthee Kasal
    Edited by: Craig Cmehil on Sep 2, 2008 8:21 AM

    Hi,
    I assume that you read values for the search help with function 'F4IF_FIELD_VALUE_REQUEST' and in a later step you display values with <htmlb:tableview>. If that is true and the function is delivering too many records as you mention, you could then restrict the output table of values like this:
    TABLES mara.
    DATA: mytable TYPE TABLE OF ddshretval WITH HEADER LINE.
    DATA l_repid TYPE syrepid.
    PARAMETERS p_mtart LIKE mara-mtart.
    AT SELECTION-SCREEN ON VALUE-REQUEST
    FOR p_mtart.
    l_repid = sy-repid.
    CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
    tabname = 'MARA'
    fieldname = 'MTART'
    dynpprog = l_repid
    callback_program = l_repid
    callback_form = 'F4CALLBACK'
    TABLES
    return_tab = mytable
    EXCEPTIONS
    field_not_found = 1
    no_help_for_field = 2
    inconsistent_help = 3
    no_values_found = 4
    OTHERS = 5.
    START-OF-SELECTION.
    blah, blah, blah
    * Form F4_form
    * Exclude all material types that start with F & H
    FORM f4callback
    TABLES record_tab STRUCTURE seahlpres
    CHANGING shlp TYPE shlp_descr
    callcontrol LIKE ddshf4ctrl.
    DATA: aux_struc TYPE ddshselopt.
    MOVE: 'H_T134' to aux_struc-shlpname,
    'MTART' TO aux_struc-shlpfield,
    'E' TO aux_struc-sign,
    'CP' TO aux_struc-option,
    'F*' TO aux_struc-low.
    append aux_struc to SHLP-SELOPT.
    MOVE: 'H_T134' to aux_struc-shlpname,
    'MTART' TO aux_struc-shlpfield,
    'E' TO aux_struc-sign,
    'CP' TO aux_struc-option,
    'H*' TO aux_struc-low.
    append aux_struc to SHLP-SELOPT.
    ENDFORM. "F4_form
    Mark points if helpful

  • Service PO creation with BAPI

    Hi All,
    I have to create a file upload program to create service PO's with BAPI_PO_CREATE1. Please if anyone can give me a example of it it would be great.
    Thanks.
    Malinda

    Hi ,
           Check out this program .
    use this program for creating service po's using bapi.
    *& Report ZMM_PO_CREATE1 *
    REPORT ZMM_PO_CREATE1 .
    data : POHEADER like BAPIMEPOHEADER occurs 0 with header line,
    POHEADERX like BAPIMEPOHEADERX occurs 0 with header line,
    POITEM like BAPIMEPOITEM occurs 0 with header line,
    POITEMX like BAPIMEPOITEMX occurs 0 with header line,
    POESLLC like BAPIESLLC occurs 0 with header line,
    POACCOUNT like BAPIMEPOACCOUNT occurs 0 with header line,
    POACCOUNTX like BAPIMEPOACCOUNTX occurs 0 with header line,
    POCONDHEADER like BAPIMEPOCONDHEADER occurs 0 with header line,
    POCONDHEADERX like BAPIMEPOCONDHEADERX occurs 0 with header line,
    POCOND like BAPIMEPOCOND occurs 0 with header line,
    RETURN like BAPIRET2 occurs 0 with header line.
    data : po_no(10).
    data : begin of it_head occurs 0,
    ref(10),
    bsart like ekko-bsart,
    lifnr like ekko-lifnr,
    ekorg like ekko-ekorg,
    ekgrp like ekko-ekgrp,
    bukrs like ekko-bukrs,
    verkf like ekko-verkf,
    telf1 like ekko-telf1,
    ihrez like ekko-ihrez,
    unsez like ekko-unsez,
    kdatb(10),
    kdate(10),
    end of it_head.
    data : begin of it_det occurs 0,
    ref(10),
    knttp like ekpo-knttp,
    pstyp like ekpo-pstyp,
    txz01 like ekpo-txz01,
    matkl like ekpo-matkl,
    werks like ekpo-werks,
    afnam like ekpo-afnam,
    ktext1 like esll-ktext1,
    srvpos like esll-srvpos,
    frmval1 like esll-frmval1,
    frmval2 like esll-frmval2,
    menge like esll-menge,
    kostl like eskn-kostl,
    sakto like eskn-sakto,
    zzcode like eskn-zzcode,
    kbetr like konv-kbetr,
    end of it_det.
    data : c_col1 TYPE i VALUE '0001',
    c_col2 TYPE i VALUE '0002',
    c_col3 TYPE i VALUE '0003',
    c_col4 TYPE i VALUE '0004',
    c_col5 TYPE i VALUE '0005',
    c_col6 TYPE i VALUE '0006',
    c_col7 TYPE i VALUE '0007',
    c_col8 TYPE i VALUE '0008',
    c_col9 TYPE i VALUE '0009',
    c_col10 TYPE i VALUE '0010',
    c_col11 TYPE i VALUE '0011',
    c_col12 TYPE i VALUE '0012',
    c_col13 TYPE i VALUE '0013',
    c_col14 TYPE i VALUE '0014',
    c_col15 TYPE i VALUE '0015',
    c_col16 TYPE i VALUE '0016'.
    data : v_currentrow type i,
    v_currentrow1 type i.
    data : itab_head like ALSMEX_TABLINE occurs 0 with header line,
    itab_det like ALSMEX_TABLINE occurs 0 with header line.
    data : file_head type RLGRAP-FILENAME,
    file_item type RLGRAP-FILENAME.
    file_head = 'C:Documents and SettingsDesktophead.xls'.
    file_item = 'C:Documents and SettingsDesktopitem.xls'.
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
    filename = file_head
    i_begin_col = 1
    i_begin_row = 1
    i_end_col = 12
    i_end_row = 50
    tables
    intern = itab_head
    EXCEPTIONS
    INCONSISTENT_PARAMETERS = 1
    UPLOAD_OLE = 2
    OTHERS = 3
    IF sy-subrc 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
    filename = file_item
    i_begin_col = 1
    i_begin_row = 1
    i_end_col = 16
    i_end_row = 50
    tables
    intern = itab_det
    EXCEPTIONS
    INCONSISTENT_PARAMETERS = 1
    UPLOAD_OLE = 2
    OTHERS = 3
    IF sy-subrc 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    IF itab_head[] IS INITIAL.
    WRITE:/ 'No Header Data Exists '.
    STOP.
    ELSE.
    sort itab_head by row col.
    read table itab_head index 1.
    v_currentrow = itab_head-row.
    loop at itab_head.
    if itab_head-row ne v_currentrow.
    APPEND it_head.
    v_currentrow = itab_head-row.
    ENDIF.
    CASE itab_head-col.
    WHEN c_col1.
    it_head-ref = itab_head-value.
    WHEN c_col2.
    it_head-bsart = itab_head-value.
    WHEN c_col3.
    it_head-lifnr = itab_head-value.
    WHEN c_col4.
    it_head-ekorg = itab_head-value.
    WHEN c_col5.
    it_head-ekgrp = itab_head-value.
    WHEN c_col6.
    it_head-bukrs = itab_head-value.
    WHEN c_col7.
    it_head-verkf = itab_head-value.
    WHEN c_col8.
    it_head-telf1 = itab_head-value.
    WHEN c_col9.
    it_head-ihrez = itab_head-value.
    WHEN c_col10.
    it_head-unsez = itab_head-value.
    WHEN c_col11.
    it_head-kdatb = itab_head-value.
    WHEN c_col12.
    it_head-kdate = itab_head-value.
    ENDCASE.
    ENDLOOP.
    APPEND it_head.
    CLEAR it_head.
    ENDIF.
    IF itab_det[] IS INITIAL.
    WRITE:/ 'No Item Data Exists '.
    STOP.
    ELSE.
    sort itab_det by row col.
    read table itab_det index 1.
    v_currentrow1 = itab_det-row.
    loop at itab_det.
    if itab_det-row ne v_currentrow1.
    APPEND it_det.
    v_currentrow1 = itab_det-row.
    ENDIF.
    CASE itab_det-col.
    WHEN c_col1.
    it_det-ref = itab_det-value.
    WHEN c_col2.
    it_det-knttp = itab_det-value.
    WHEN c_col3.
    it_det-pstyp = itab_det-value.
    WHEN c_col4.
    it_det-txz01 = itab_det-value.
    WHEN c_col5.
    it_det-matkl = itab_det-value.
    WHEN c_col6.
    it_det-werks = itab_det-value.
    WHEN c_col7.
    it_det-afnam = itab_det-value.
    WHEN c_col8.
    it_det-srvpos = itab_det-value.
    WHEN c_col9.
    it_det-ktext1 = itab_det-value.
    WHEN c_col10.
    it_det-frmval1 = itab_det-value.
    WHEN c_col11.
    it_det-frmval2 = itab_det-value.
    WHEN c_col12.
    it_det-menge = itab_det-value.
    WHEN c_col13.
    it_det-kostl = itab_det-value.
    WHEN c_col14.
    it_det-sakto = itab_det-value.
    WHEN c_col15.
    it_det-zzcode = itab_det-value.
    WHEN c_col16.
    it_det-kbetr = itab_det-value.
    ENDCASE.
    ENDLOOP.
    APPEND it_det.
    CLEAR it_det.
    ENDIF.
    loop at it_head.
    poheader-doc_type = it_head-bsart.
    poheader-vendor = it_head-lifnr.
    poheader-purch_org = it_head-ekorg.
    poheader-pur_group = it_head-ekgrp.
    poheader-comp_code = it_head-bukrs.
    poheader-sales_pers = it_head-verkf.
    poheader-telephone = it_head-telf1.
    poheader-REF_1 = it_head-ihrez.
    poheader-OUR_REF = it_head-unsez.
    poheader-VPER_START = it_head-kdatb.
    poheader-VPER_END = it_head-kdate.
    loop at it_det where ref = it_head-ref.
    poitem-acctasscat = it_det-knttp.
    poitem-item_cat = it_det-pstyp.
    poitem-short_text = it_det-txz01.
    poitem-matl_group = it_det-matkl.
    poitem-plant = it_det-werks.
    poitem-PREQ_NAME = it_det-afnam.
    POESLLC-SERVICE = it_det-srvpos.
    POESLLC-SHORT_TEXT = it_det-ktext1.
    POESLLC-FORM_VAL1 = it_det-frmval1.
    POESLLC-FORM_VAL2 = it_det-frmval2.
    POESLLC-QUANTITY = it_det-menge.
    POACCOUNT-COSTCENTER = it_det-kostl.
    POACCOUNT-GL_ACCOUNT = it_det-sakto.
    POCONDHEADER-COND_TYPE = 'R000'.
    POCONDHEADER-COND_VALUE = it_det-kbetr.
    endloop.
    endloop.
    poheaderx-doc_type = 'X'.
    poheaderx-vendor = 'X'.
    poheaderx-purch_org = 'X'.
    poheaderx-pur_group = 'X'.
    poheaderx-comp_code = 'X'.
    poheaderx-sales_pers = 'X'.
    poheaderx-telephone = 'X'.
    poheaderx-REF_1 = 'X'.
    poheaderx-OUR_REF = 'X'.
    poheaderx-VPER_START = 'X'.
    poheaderx-VPER_END = 'X'.
    poitemx-acctasscat = 'X'.
    poitemx-item_cat = 'X'.
    poitemx-short_text = 'X'.
    poitemx-matl_group = 'X'.
    poitemx-plant = 'X'.
    poitemx-PREQ_NAME = 'X'.
    *POESLLCx-SHORT_TEXT = 'X'.
    POACCOUNTx-COSTCENTER = 'X'.
    POACCOUNTx-GL_ACCOUNT = 'X'.
    POCONDHEADER-cond_type = 'X'.
    CALL FUNCTION 'BAPI_PO_CREATE1'
    EXPORTING
    poheader = poheader
    POHEADERX = poheaderx
    POADDRVENDOR =
    TESTRUN =
    MEMORY_UNCOMPLETE =
    MEMORY_COMPLETE =
    POEXPIMPHEADER =
    POEXPIMPHEADERX =
    VERSIONS =
    NO_MESSAGING =
    NO_MESSAGE_REQ =
    NO_AUTHORITY =
    NO_PRICE_FROM_PO =
    IMPORTING
    EXPPURCHASEORDER = po_no
    EXPHEADER =
    EXPPOEXPIMPHEADER =
    TABLES
    RETURN = return
    POITEM = poitem
    POITEMX = poitemx
    POADDRDELIVERY =
    POSCHEDULE =
    POSCHEDULEX =
    POACCOUNT = poaccount
    POACCOUNTPROFITSEGMENT =
    POACCOUNTX = poaccountx
    POCONDHEADER = pocondheader
    POCONDHEADERX = pocondheaderx
    POCOND =
    POCONDX =
    POLIMITS =
    POCONTRACTLIMITS =
    POSERVICES = poesllc
    POSRVACCESSVALUES =
    POSERVICESTEXT =
    EXTENSIONIN =
    EXTENSIONOUT =
    POEXPIMPITEM =
    POEXPIMPITEMX =
    POTEXTHEADER =
    POTEXTITEM =
    ALLVERSIONS =
    POPARTNER =
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
    WAIT =
    IMPORTING
    RETURN =
    if sy-subrc = 0.
    loop at return.
    write return-MESSAGE_V1.
    write po_no.
    endloop.
    endif.
    Also check this link
    [Service Order through BAPI|Service PO creation with BAPI;

  • Mapping requirement about grouping with restriction

    Hi,experts:
      There is a complex mapping requirement.
      There are 2 document types(A and B) in the source records.
      I need collect the amount with the document which is type A.
      The source records are as follows:
      Doc_No    Doc_Type   Doc_Itm_No    Amount
       0001        A          0010         3
       0001        A          0020         4
       0002        B          0010         5
       0002        B          0020         6
       0003        A          0010         11
       0003        A          0020         22
       The target records should be:
       Doc_No    Doc_Type   Amount
       0001        A          7
       0003        A          33
       The source and the target data type are the same as follows:
       Documents      1...unbound
       ---Doc_No      1...1
       ---Doc_Type    1...1
       ---Doc_Itm_No  1...1
       ---Amount      1...1
       Q1: How to create the target top node(Documents) with restriction(Doc_Type = 'A')?
           Without the restriction,i can handle it well as follows:
           removecontext(Doc_No)->sort->splitbyvalue(value changed)->collapsecontexts->Documents
       Q2:How to collect the amount?
    Regards
    Ming

    hi ming,
    do this mapping
    Q1: How to create the target top node(Documents) with restriction(Doc_Type = "A")?
    Doc_type-->(if equals "A")>(remove context)-->(createif)----->Documents
    q2. How to collect the amount?
    Doc_type(Documents context) + Amount(Document's context)--->UDF1>(SplitByValue)->Doc_type
    Doc_type(Documents context) + Amount(Document's context)--->UDF2>(SplitByValue)-->Amount
    //****************************UDF1***********************//
    public void get_batch_name(String[] Doc_type,String[] Amount,ResultList result,Container container){  
    //write your code here
         Hashmap myHashmap=new Hashmap();
         for(int i=0; Doc_type.length(), Amount.length())
              if(myHashmap.get(Doc_type<i>==null))
                   {myHashmap.add(Doc_type<i>, Amount<i>);}
              else
                   String amt= amt+myHashmap.get(Doc_type<i>);
                   myHashmap.put(Doc_type<i>,amt);
         Set s=myHashmap.keySet();
         Iterator i=s.iterator();
         while(i.hasNext())
              result.addValue(i.next());
    //********************UDF2***************************//
    public void get_batch_name(String[] Doc_type,String[] Amount,ResultList result,Container container){  
    //write your code here
         Hashmap myHashmap=new Hashmap();
         for(int i=0; Doc_type.length(), Amount.length())
              if(myHashmap.get(Doc_type<i>==null))
                   {myHashmap.add(Doc_type<i>, Amount<i>);}
              else
                   String amt= amt+myHashmap.get(Doc_type<i>);
                   myHashmap.put(Doc_type<i>,amt);
         Arraylist s=myHashmap.values();
         String array[]=s.toArray();     
         while(int i=0;i<array.length();i++)
              result.addValue(array<i>);
    Message was edited by: self
            sudeep dhar

  • Global Creation with Input args

    I create a Global Creation activity with a screenflow task. The screenflow has both a integer input argument (call it sfIntArg) and a output argument (of BPM object).
    When I right-click on the Global creation activity and go to argument mapping, I have trouble mapping the screenflow input argument. I am not sure what to specify in the "Value" field to map to sfIntArg.
    1. when I specify nothing to map to sfIntArg (sfIntArg = empty/null), then I get the message "express is expected".
    2. when I do not specify the argument mapping, I get "All arguments must be satisfied"
    3. when I choose a instance variable of the process, I get "xxx is not a static member of project.process.instance"
    I want to invoke the Global Creation with WAPI and pass the value for sfIntArg to the Global Creation.

    Hi,
    It's odd that you see no errors in your project.
    1. Make sure that you just have one project open in your Project Navigator tab.
    2. In the Project Navigator tab, double click the name of the process. Look at the "Outline" tab directly below the Project Navigator tab (click Window -> Reset Perspective if you don't see the Outline tab). Expand Methods and double click each of the methods to find the offending logic with the "var1" syntax that is causing your problem. Do this for each of your processes.
    Dan

  • Restrict variable values in the pop-up selection screen

    Hi,
    I have a variable based on a caracteristic that has 0COMP_CODE as attribute in a Web Report (BW 3.1B).
    This variable has to be accessible so that users can select a value.
    I need to restrict the values that users can see on the selection screen according to their 0COMP_CODE value, even in the pop-up.
    I have tryed authorization variable and user exit, but none worked.
    The best I could do was a "several single values" variable that was preselected with the caracteristics of their 0COMP_CODE, but it didn't worked in the pop-up.
    Does anybody knows how to handle this?

    As far as I could find out, it should be made through customer exit.
    The point is : I have to use a customer exit variable that has been check as "ready for input".
    I can't find a way to restrict the values displayed in the variable selection screen (in the help pop-up window for this variable).
    The exit can pre-fill the selection fields with values, but whenever the user opens the window, he sees all the values.
    I have tryed all the values for I_STEP (0,1,2 and 3) but none did it.
    Does anybody knows how to limit those values?

  • Virtual desktop template creation with UR1 - two issues

    There are two new issues affecting Virtual Desktop template creation with WMS 2012 with UR1.
    Issue #1: Some systems fail to create a new or customized virtual desktop template with UR1 applied. UR1 includes an updated MultiPoint Connector which is compatible with a UR1 host. The Connector gets included in the Virtual Desktop template
    so that the virtual desktops can be managed by MultiPoint Dashboard. On some systems installation of the UR1 Connector will require a reboot that takes too long to complete and template creation will timeout.
    If you try to create a template without doing the following update to the unattend-t.xml file, and if the Connector reboot takes too long, the template creation process will never complete, appearing stuck at 80% until the timeout. If you check the running
    Virtual Machine Connection, you will see an error message that Windows could not complete the installation.
    To correct this:
    From MultiPoint Manager or Hyper-V Manager, shutdown the running template VM.
    Delete the template .vhd stored in Public Documents\Hyper-V\Virtual hard disks
     3. a) Make a backup copy of
    C:\Program Files\Windows MultiPoint Server\Unattend-t.xml
               e.g. rename it .bak
    b) open
    C:\Program Files\Windows MultiPoint Server\Unattend-t.xml in your favorite text editor.
    b) find “connector” in the file
    c) replace this string (starts with <Path> and ends with </Path>)
    <Path>powershell -Command &quot;try { $process = Start-Process -FilePath &apos;%Windir%\Temp\Connector\WmsConnector.Exe&apos; -ArgumentList &apos;/Quiet&apos; -PassThru -Wait; } catch { throw &apos;WmsConnector
    Install Failed&apos;}; exit $process.ExitCode&quot;</Path>
    with this string
    <Path>powershell -Command &quot;try {
    $p = Start-Process -FilePath &apos;%Windir%\Temp\Connector\WmsConnector.Exe&apos; -ArgumentList &apos;/Quiet
    /NoRestart&apos; -PassThru -Wait; } catch { throw &apos;WmsConnector Install Failed&apos;}; exit $p.ExitCode&quot;</Path>
    then save the file again as Unattend-t.xml  
    d) Proceed with Create and Customize virtual desktop template, and Create virtual desktop station as described on our blog at
    Virtual Desktop Templates – Part
    1 & Part 2
    We continue to investigate why this issue occurs on some machines and not others
    Issue #2: UR1 was intended to fix an issue creating virtual desktop templates on true UEFI systems, i.e. systems that don’t fall back to legacy support for earlier BIOS services. UR1 did not solve the issue. For now we are recommending
    doing template creation on systems that do fall back to legacy BIOS services. To check: from Device Manager under Disk Drives select your system hard drive. Double click and go to the Volumes tab and click Populate. The Partition Style entry should
    be Master Boot Record (MBR).  If it is GPT you have a UEFI system.
    We continue to investigate fixing this for UEFI systems.

    Any word on a UEFI fix?  My instructions on the other thread seem to work for me.
    Also, I imagine this won't be an issue on the next version of MultiPoint Server since the next Hyper-V in Server 2012 R2 now has those native UEFI VM's.  Have you guys played around with that yet?  Also, FWIW, I'm not sure why the pre-release docs
    mention that UEFI is only supported on Windows 8 VM's.  Why not x64 Windows 7 and Vista SP1 VM's?  I thought those already support full UEFI boot.  Is it because Hyper-V has mandatory restrictions to have Secure Boot turned on for UEFI VM's?

  • Restricting the values based on keyfigures.

    Hi All,
    Good Morning..
    I have a query on Bex reporting.
    I want to calculate transit aging.Just i want to find the difference between the two dates.
    I have one more field called quantity.
    I want to calculate the difference of dates only whose quantity is "ZERO". I can restrict the keyfigures based on characteristics. But for my case i want to restrict the keyfigures based on Quantity keyfigures.
    Is it possible in Query designer.
    Thanks in advance.
    Thanks,
    Siva.

    Hi,
    p.o number ______p.odate_______consimentdate______qty__aging
    87000001______01.02.2009______02.02.2009________1___ nil
    87000002______05.02.2009______07.02.2009________0____( current date - consiment date)
    Craete Two formula Variables with replacement path in columns..
    1. One is for PO date and replace with Key.
    2. Other is forconsiment date and replace with Key.
    then just drag and drop in two columns in report and see the output. Then create one formula and do substraction. In another column you craete one more formula and use If condition
    Column A = p.odate (with Replacemet variable value)
    Column B = consimentdate (with Replacemet variable value)
    Column C = B-A
    Column D =  If QTY <> 0 then C
    Thanks
    Reddy

  • Event creation with status management

    Hello esteemed gurus ... it's your friendly workflow noob again
    It seems once people get a sniff that there is a someone who knows a bit about workflow in the company, everyone wants a piece of you!
    So... I have been asked to setup a workflow that will trigger when a user changes a user status on an SD contract. I've done some reading and I believe I'm nearly there but need a little help ...
    I have setup event creation with transaction BSVZ for object category VBK, specified my status profile, and business object BUS2034 and I'm using the event "CHANGED", within this I have set a status restriction to particular status of my user status profile.
    In my workflow definition I have specified the start event "CHANGED" for my business object BUS2034.
    The thing is, the workflow starts for every change to the contract, whereas I was expecting it to only start when the particular status I defined in my status management was set in the contract header.
    Are there any additional settings I need to make in order to restrict the starting conditions of the this workflow?
    Many thanks once again.
    Neil

    Hi Neil,
    There is two options to restrict the workflow.
    First one is start condition. You can check the workflow log. If your required field is populated in the Workflow container you can use start condition to restrict the workflow. In the Basic data of workflow template, Start condition is there. You can use the condition editor to set the condition.
    If your field is not populated by default, then you can use check function module for this. You need to create one FM, and in transaction swe2, the FM needs to be Configured. The concept is, based on the Sales document number you can get the required field and check the condition inside the FM. If the condition satisfied just leave it. The workflow will be triggered. If the condition is not satisfied raise a Exception. So that the Workflow will not be triggered.
    Thanks,
    Viji.

  • Problem with restricted key figures

    Hi all,
    I have four restricted key figures in my structure each one is restricted  Fiscal period with user entry variable but when i execute the report and check one of the restricted keyfigure is actually not restricting the values.
    suppose user entered 10.2006 in the selection for fiscal period then one of the column Goods receipts QTY which is restricted with Fiscal period display values other than that of 10.2006
    Did anyone faced such problem earlier?
    Please let me know if anyone had a clue.
    Thanks in advance
    Regards
    Ajay

    Hi gopi,
    Thanks for all of the restricted keyfigures it is "include value".
    Regards
    Ajay

Maybe you are looking for

  • Batch Split in Inbound Delivery document

    Hello Friends,   In decentralized WM managed scenario, inbound delivery is created automatically when the storage location is HU managed.   In the current design, we need to use MIGO/MB1B transaction for replicating stocks into warehouse location, an

  • Configuration of adobe designer on server.

    how can i configured adobe designer on server. there is problem in abobe form creation. please give me the configuretion steps . regard kamal

  • I need to know how to "join" my actions palette and my layers palette so they are side-by-side while I edit?

    I would like for my actions palette and my layers palette to be visible when editing. I had it like that before and my computer got a little screwy and now I can't get it to do it again. Please help!

  • Netui defautvalue

    Hi folks, I have a probelm in netui. I have one pageFlowController there I am populating a UserInfo object.That object will have userId and password.I getting the information in pageflowcontroller and setting it to session.Now if I want to get the va

  • Where is Mail signature button?

    Hello, Can anyone tell me where the Mail signature button is? I click "New Message" and it should be in the toolbar. I can customise the toolbar easily but have not seen the Mail signature button anywhere. Searches for a picture of it found nothing a