Clearing field data for new line item in me51n PR Creation

hello everyone!!
As you can see from the below picture, i have created some custom fields which are to be fillup during PR creation. now when user trying to create a second line item under a PR then those custom fields are holding previous value. But it should be blank.
please help.
best regards.

Please uncomment this:
ORDER_ITEM_INX-target_qty = 'X'.
You can check the 2nd example in this link for your reference.
http://sap4.com/wiki/index.php?title=BAPI_SALESORDER_CHANGE
Regards,
Naimesh Patel

Similar Messages

  • Different Pricing date for two line items

    Hi guru's
    How to give different pricing dates for two line items
    in a sales order
    To elaborate
    I have two line items one i need pricing date order date
    second one i need pricing date should be delivery date
    Thanks in advance
    Srinivas

    Dear Srinivas,
             While creating sales order select the item which you want to change the pricing date then go to menu>GOTO>Item -->Click on Sales A here you can able to change the pricing date as you like.
    You can change the pricing date of the item in the sales order through sales order change mode but that sales order should be open.
    I hope it will help you,
    Regards,
    Murali.

  • Vendor field empty for RE line items in FBL3N

    dear all-
    I'm experiencing a strange situation. Instead of using the MM-report, I want to do a GRIR analysis in FI. When I run FBL3N for the GRIR account I see that for the goods-receipt related documents (doc type WE) field like puchase order and vendor number are populated (and contain a value). However for the line items that come from the invoice the field purchase order is filled but the field vendor is blank.
    I did have a look at the BSEG table for the WE- and RE-related documents: for all line items of the WE document (goods receipt) the fields purchase order and vendor contained a value, for the RE document (invoice receipt) all line items have a value for purchase order but only the first line item (vendor line) has a value for the field vendor. On all the other line items the vendor field is blank.
    Looks pretty strange to me, who has a good solution?
    thx
    Ben

    hi Vishal-
    Thanks for the BSIK, BSIS tip!
    In the meantime I did find report RFWERE00. I was able to generate a list that indeed showed the vendor number on the GRIR account both from the GR- and RE-document. Didn't have time yet to go over the code to figure out where this report gets its data from.
    The report offers options to do actual clearing and do postings ... I'm not interested in that. Only in the list. I have a start now ...
    ... If you have another I idea that prevents me from creating a customer report ... I'm eager to hear it!
    rgds
    Ben

  • Pricing Date on New Line Item Added to Order

    We have a requirement, for example, if we create an order for 07/19/2010, the pricing date comes in as 07/19/2010 which is correct.  The customer calls back and wants to add a line item or 2, to the order on 07/22/2010.  The new line items are priced as of the original pricing date 07/19/2010.  How do we automatically update the new line items with today's pricing date instead of the old date.  Is there an automated way to do this thru configuration.  Or do we need to use user exits:
    MV45AFZZ - USEREXIT_PRICING_PREPARE_TKOMK
    MV45AFZZ - USEREXIT_PRICING_PREPARE_TKOMP
    Thanks,
    Mark

    Hi,
    There is no automatic way to populate the pricing date for item when item is added at later point of time. In this case, the pricing date at header is copied to the item.  This cannot be achived by configuration.
    As you have mentioned, you have to use the user exits relevant for pricing. The user exits you have mentioned are not correct for this purpose. The purpose of these user exits are different. You need to find the correct one with the help of an ABAPer.

  • User exit - VA01 - Adding new line items while Sales Order Creation

    Hi All ,
    I have a requirement where : in VA01 , i have to add new line items using USER EXIT or BADI.
    The scenario is : we maintain Characteristics for Material. When we select a particular characteristics, Factor and length will be displayed in a Popup. we can specify the Factor and lenght.
    Here , if i specify Factor as 10 and lenght as 1000. the Material has to be cut / split into 10 items of 1000 mts each. and the ITEMs table control should get 10 ITEMS .
    How to add new items using User exit or Badi in VA01 while creating a sales order.
    i have identified the user exit . What code should be used to add new line items.
    kindly help me in solvng this.
    Waiting for your replies.
    Thanks in advance.
    Suki.

    hi
    wich user exit do you take for that ???

  • Field Status for Vendor Line item or Customer line item

    Hi
    Can i need to check the Field status for Vendor or Customer Line item when i use the transaction codes F-43 or F-22. This is very urgent.
    Regards

    Hi Vinay,
    You cannot check the Field Status directly when posting a document. The Field Status is controlled by the Field Status group. This is controlled at 3 levels, the company code level, G/L Master level and at the Posting key level. Field status at the posting key level overwrites other groups. It is basically to control which fiedls need to be supressed, which are required and which are optional.
    In FS00 under the create/bank/interest tab you will find the field group. Check the Recon account assigned to your vendor/customer master and check the field status in FS00.
    Regards
    Sridhar

  • "BDC for multiple line items of PO"

    I am using this code to move data for multiple line items of a PO. But only one is getting transferred. I am using BDC for this.
    FORM transaction_bdc .
      DATA :
      v_cnt(2) TYPE n,
      v_bst(2) TYPE n,
      v_bn TYPE i,
      v_bstpo(25),
      v_ebtyp(25),
      v_menge(25),
      v_eeind(25),
      v_xblnr(25),
      v_xblnr1(25),
      v_ebelp(2) TYPE n,
      v_ebelpt(2),
      v_menge1(11),
      v_ebt TYPE i,
      v_vebtyp LIKE ekes-ebtyp,
      v_eb(2) TYPE n,
      v_tcselflag(40),
      v_tem(2) TYPE n,
      v_correct TYPE i,
      v_file TYPE string.
      DATA: ls_outtab TYPE tb_struc.
      DATA: l_valid TYPE c,
            l_locked TYPE c.
      CALL METHOD g_grid->check_changed_data
        IMPORTING
          e_valid = l_valid.
      IF l_valid EQ 'X'.
        LOOP AT tb_output WHERE check EQ 'X' .
          MOVE-CORRESPONDING tb_output TO itab_output.
          APPEND itab_output.
          CLEAR itab_output.
        ENDLOOP.
        IF tb_output-check <> 'X'.
          MESSAGE e003 WITH text-004.
        ENDIF.
      ENDIF.
      IF itab_output[] IS NOT INITIAL.
        PERFORM open_group.
    ***looping at purchase order level.
        LOOP AT itab_output where ebelp is not initial .
          CLEAR v_bn.
          CLEAR v_ebt.
          PERFORM bdc_dynpro USING 'SAPMM06E' '0105'.
          PERFORM bdc_field USING 'BDC_CURSOR'
          'RM06E-BSTNR'.
          PERFORM bdc_field USING 'BDC_OKCODE'
          '/00'.
          PERFORM bdc_field USING 'RM06E-BSTNR'
          itab_output-ebeln.
    ***Changing alphanumeric fields and quantity fields to character type**
    *v_ebelp = tB_OUTPUT-ebelp.
    *clear v_ebelpt.
    *v_menge1 = tB_OUTPUT-menge.
    *v_ebelpt = v_ebelp.
    ***End Of Changing**
    *Checking for the exact number of the item**
          LOOP AT tb_output where ebeln = itab_output-ebeln.
            READ TABLE itab_output INDEX 1.
            IF tb_output-ebelp = itab_output-ebelp.
              exit.
            ELSE.
              v_bn = v_bn + 1.
            ENDIF.
          ENDLOOP.
    v_bst = v_bn + 1.
    *End Of Checking**
    **Mapping items**
            v_tem = 1.
            CONCATENATE 'RM06E-BSTPO(' v_bst ')' INTO v_bstpo.
            CONCATENATE 'RM06E-TCSELFLAG(' v_tem ')' INTO v_tcselflag.
            PERFORM bdc_dynpro USING 'SAPMM06E' '0120'.
            PERFORM bdc_field USING 'BDC_CURSOR'
            v_bstpo.
            PERFORM bdc_field USING 'BDC_OKCODE'
            '=DETA'.
            PERFORM bdc_field USING 'RM06E-EBELP'
            v_ebelpt.
            PERFORM bdc_dynpro USING 'SAPMM06E' '0111'.
            PERFORM bdc_field USING 'BDC_CURSOR'
            'EKPO-BSTAE'.
            PERFORM bdc_field USING 'BDC_OKCODE'
            '/00'.
            PERFORM bdc_dynpro USING 'SAPMM06E' '0120'.
            PERFORM bdc_field USING 'BDC_CURSOR'
            v_bstpo.
            PERFORM bdc_field USING 'BDC_OKCODE'
            '=BSTA'.
            PERFORM bdc_field USING 'RM06E-EBELP'
            v_ebelpt.
            PERFORM bdc_field USING v_tcselflag
            'X'.
    **Checking weather Confirmation category already exists**
            SELECT ebtyp FROM ekes INTO v_vebtyp WHERE ebelp =
            itab_output-ebelp AND ebeln = itab_output-ebeln.
            ENDSELECT.
            IF sy-dbcnt > 0.
              v_ebt = sy-dbcnt.
            ENDIF.
            v_eb = v_ebt + 1.
    **End Of Checking**
    **For Line items**
            CONCATENATE 'EKES-EBTYP(' v_eb ')' INTO v_ebtyp.
            CONCATENATE 'EKES-MENGE(' v_eb ')' INTO v_menge.
            CONCATENATE 'RM06E-EEIND(' v_eb ')' INTO v_eeind.
            CONCATENATE 'EKES-XBLNR(' v_eb ')' INTO v_xblnr.
    **End**
            PERFORM bdc_dynpro USING 'SAPLEINB' '0200'.
            PERFORM bdc_field USING 'BDC_CURSOR'
            v_xblnr.
            PERFORM bdc_field USING 'BDC_OKCODE'
            '=BU'.
            PERFORM bdc_field USING v_ebtyp
            itab_output-ebtyp.
            PERFORM bdc_field USING v_eeind
            itab_output-eindt.
            PERFORM bdc_field USING v_menge
            v_menge1.
            PERFORM bdc_field USING v_xblnr
            itab_output-xblnr.
    **End Of Mappings**
    *loop at itab_output.
            MOVE-CORRESPONDING itab_output TO ekes.
            modify ekes.
           MOVE-CORRESPONDING itab_output TO eket.
           MODIFY eket.
           MOVE-CORRESPONDING tb_output TO ekpo.
           MODIFY ekpo.
         ENDLOOP.
          CALL TRANSACTION 'ME22N'
          USING itbdc
          MODE   'E'.
          commit work.
    perform bdc_transaction using 'ME22N'.
    **End Of Purchase Order Loop**
        PERFORM close_group.
        endloop.
         endif.

    Hi Asha,
    check the below code once...
    LOOP AT tb_output where ebeln = itab_output-ebeln.
    READ TABLE itab_output INDEX 1.
    IF tb_output-ebelp = itab_output-ebelp.
    exit.
    ELSE.
    v_bn = v_bn + 1.
    ENDIF.
    ENDLOOP.
    Here you are reading the table itab_output with index 1, it means you alway reading the first record of that internal table.
    Regards,
    Satya.

  • How to add new line item to SO using BAPI_SALESORDER_CREATEFROMDAT2

    Hi,
    I have sales order A with 1 line item, now i want to add new line item with material x and quantity y to the existing sales order A
    using BAPI_SALESORDER_CREATEFROMDAT2.
    Line item no for new line item should be generated by SAP internally.Please let me know the mandatory parameters to be passed to the BAPI to fulfill the requirement.
    DATA: order_header TYPE bapisdhd1,
               order_inx TYPE bapisdhd1x,
               partners TYPE TABLE OF bapiparnr,
               wa_partners TYPE bapiparnr.
    CLEAR: salesdocument,order_header_inx,wa_in, wa_inx.
    REFRESH: item_in, item_inx.
      salesdocument = wa_vbup-vbeln.
      order_header_inx-updateflag = 'X'.
      wa_in-itm_number = ' '.
      wa_in-material = p_nmatnr.
      wa_in-target_qty = gv_menge - gv_wemng.
      APPEND wa_in TO item_in.
      wa_inx-itm_number = ' '.
      wa_inx-updateflag = 'U'.
      wa_inx-target_qty = 'X'.
      APPEND wa_inx TO item_inx.
          CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
          EXPORTING
           salesdocumentin               = salesdocument
           order_header_in               = order_header
           order_header_inx              = order_inx
          IMPORTING
           salesdocument                 = salesdocument
          TABLES
           return                              = return
           order_items_in                = item_in
           order_items_inx               = item_inx
           order_partners                = partners.
    Thanks
    Bhuvana

    Hello,
    You can use FM: BAPI_SALESORDER_CHANGE with update indicator I (insert)
      call function 'BAPI_SALESORDER_CHANGE'
        exporting
          salesdocument    = l_vbeln
          order_header_inx = l_wa_order_header_inx
          simulation       = l_simulation
        tables
          return           = l_i_return
          order_item_in    = l_i_order_item
          order_item_inx   = l_i_order_item_inx
          partners         = l_i_partners
          schedule_lines   = l_i_schedule_lines
          schedule_linesx  = l_i_schedule_linesx
          extensionin      = l_i_extensionin.
    Thanks
    Subhankar

  • FSV for Customer Line Items.

    Hi All,
    We can set the Field Status for GL Accounts in OBC4.
    Now i want to set the Field Status for Customer Line Items.
    Can anybody suggest me where can we set the FSV for
    Customers & Vendors.
    With Warm Regards.
    Shekar.

    hi,
    you can actually set the field status at various levels
    !) like on Field staus groups which we assign to Recon Accounts of customer--OBC$
    2) on Posting keys---OB41
    3) you can set Feild status at cistomer Account grops level
    SPRO>> FA>> AP & AR>> Customer Accts >> Master Data >>Preparations for Creating Customer Master Data >> Define Acct Grps with Screen Layout(Customers)
    hope this helps you
    rgds
    Jay

  • ME21N - new field added and same value posted to it for all line items

    hi all
    i have added new field under item  level in me21n screen.
    data for new filed fetched from tables with values entered in header level material number.
    For one record, it is ok
    but for multiple records, same value is fetched for all line items
    i have written coding in screen exit for 0111
    and function exits EXIT_SAPMM06E_016 and EXIT_SAPMM06E_018
    how to solve
    pl help
    regards
    senthil

    MODULE STATUS_0111 OUTPUT.
    SET PF-STATUS 'xxxxxxxx'.
    SET TITLEBAR 'xxx'.
      if sy-tcode eq 'ME23N' or sy-tcode eq 'ME23'.
        LOOP at SCREEN.
          if screen-group1 ne 'PCS'.
            screen-input = 0.
            MODIFY SCREEN.
          endif.
        ENDLOOP.
      ENDIF.
      TYPES : BEGIN OF ty_cabn1,
             atnam TYPE cabn-atnam,
           end of ty_cabn1.
      DATA : itab_cabn1 TYPE STANDARD TABLE OF ty_cabn1 INITIAL SIZE 0,
             wa_cabn1 TYPE ty_cabn1.
      TYPES : BEGIN OF ty_cawn1,
        atinn TYPE cawn-atinn,
        atzhl TYPE cawn-atzhl,
        atwrt TYPE cawn-atwrt,
        end of ty_cawn1.
      DATA : itab_cawn1 TYPE STANDARD TABLE OF ty_cawn1 INITIAL SIZE 0,
             wa_cawn1 TYPE ty_cawn1.
      TYPES : BEGIN OF ty_cawnt1,
       pcs TYPE cawnt-atwtb,
        atinn TYPE cawnt-atinn,
        atzhl TYPE cawnt-atzhl,
        atwtb TYPE cawnt-atwtb,
          end of ty_cawnt1.
      DATA : itab_cawnt1 TYPE TABLE OF ty_cawnt1,
             wa_cawnt1 TYPE ty_cawnt1.
      TYPES : BEGIN OF ty_pcs1,
    pcs TYPE cawnt-atwtb,
      atwrt TYPE cawn-atwrt,
      atwtb TYPE cawnt-atwtb,
        end of ty_pcs1.
      DATA : itab_pcs3 TYPE TABLE OF ty_pcs1,
             itab_pcs4 TYPE TABLE OF ty_pcs1,
             wa_pcs1 TYPE ty_pcs1.
      TYPES : BEGIN OF ty_pcsn,
      matnr TYPE ausp-objek,
      ebelp TYPE dynpread-stepl,
      atwrt TYPE cawn-atwrt,
      atwtb TYPE cawnt-atwtb,
      END OF ty_pcsn.
      DATA : itab_pcsn TYPE TABLE OF ty_pcsn,
             wa_pcsn TYPE ty_pcsn.
      TYPES : BEGIN OF ty_ausp1,
         objek TYPE ausp-objek,
         atinn TYPE ausp-atinn,
         atwrt TYPE ausp-atwrt,
       END OF ty_ausp1.
      DATA : itab_ausp1 TYPE STANDARD TABLE OF ty_ausp1 INITIAL SIZE 0,
             wa_ausp1   TYPE ty_ausp1.
      DATA : param_name1(35) TYPE  c.
      DATA: progname1      TYPE sy-repid,
            dynnum1        TYPE sy-dynnr,
            dynpro_values1 TYPE TABLE OF dynpread,
            dynpro_values2 TYPE TABLE OF dynpread,
            field_value1   LIKE LINE OF dynpro_values1,
            ematn1         TYPE mara-matnr.
      if sy-tcode ne 'ME23N' and sy-tcode ne 'ME23'.  "psk
        clear : itab_cabn1,itab_cawn1,itab_cawnt1,itab_pcs3,itab_pcs4,itab_pcsn,itab_ausp1.
        clear : wa_cawn1,wa_cawnt1,wa_pcs1,wa_ausp1.
        if sy-uname eq 'IBM_ABAP'.
          param_name1 = '000000001'.
        else.
          param_name1 = '000000013'.
        endif.
        SELECT atnam
        FROM cabn
        INTO CORRESPONDING FIELDS OF TABLE itab_cabn1
        WHERE atinn  = param_name1.
        select *
        FROM cawn
        into CORRESPONDING FIELDS OF TABLE itab_cawn1
        WHERE atinn = param_name1.
        if itab_cawn1[] is NOT INITIAL.
          SELECT atinn atzhl atwtb
          FROM cawnt
          INTo CORRESPONDING FIELDS OF TABLE itab_cawnt1
          FOR ALL ENTRIES IN itab_cawn1
          WHERE atinn = itab_cawn1-atinn
          AND atzhl = itab_cawn1-atzhl.
        endif.
        if itab_cawnt1[] is NOT INITIAL.
          sort itab_cawnt1 by atinn atzhl.
          loop at itab_cawnt1 INTO wa_cawnt1.
            READ TABLE itab_cawn1 INTO wa_cawn1 with key atinn = wa_cawnt1-atinn
                                                         atzhl = wa_cawnt1-atzhl BINARY SEARCH.
            if sy-subrc eq 0.
           CONCATENATE wa_cawn-atwrt '->' wa_cawnt-atwtb INTO wa_cawnt-pcs.
           MODIFY itab_cawnt FROM wa_cawnt TRANSPORTING pcs.
           wa_pcs-pcs = wa_cawnt-pcs.
              wa_pcs1-atwrt = wa_cawn1-atwrt.
              wa_pcs1-atwtb = wa_cawnt1-atwtb.
              append wa_pcs1 to itab_pcs3.
            ENDIF.
            CLEAR : wa_cawnt1,wa_cawn1, wa_pcs1.
          ENDLOOP.
        ENDIF.
        CLEAR: dynpro_values1, field_value1.
    dynpro_values-FIELDNAME = 'MEPO1211-EMATN'.
    APPEND dynpro_values.
        field_value1-fieldname = 'MEPO1211-ematn'.
        APPEND field_value1 TO dynpro_values1.
        progname1 = 'SAPLMEGUI'.
        dynnum1 = '1211'.
        CALL FUNCTION 'DYNP_VALUES_READ'
          EXPORTING
            DYNAME                               = progname1
            DYNUMB                               = dynnum1
      TRANSLATE_TO_UPPER                   = ' '
         REQUEST                                = 'A'
      PERFORM_CONVERSION_EXITS             = ' '
      PERFORM_INPUT_CONVERSION             = ' '
      DETERMINE_LOOP_INDEX                 = ' '
      START_SEARCH_IN_CURRENT_SCREEN       = ' '
      START_SEARCH_IN_MAIN_SCREEN          = ' '
      START_SEARCH_IN_STACKED_SCREEN       = ' '
      START_SEARCH_ON_SCR_STACKPOS         = ' '
      SEARCH_OWN_SUBSCREENS_FIRST          = ' '
      SEARCHPATH_OF_SUBSCREEN_AREAS        = ' '
          TABLES
            DYNPFIELDS                           = dynpro_values1
       EXCEPTIONS
         INVALID_ABAPWORKAREA                 = 1
         INVALID_DYNPROFIELD                  = 2
         INVALID_DYNPRONAME                   = 3
         INVALID_DYNPRONUMMER                 = 4
         INVALID_REQUEST                      = 5
         NO_FIELDDESCRIPTION                  = 6
         INVALID_PARAMETER                    = 7
         UNDEFIND_ERROR                       = 8
         DOUBLE_CONVERSION                    = 9
         STEPL_NOT_FOUND                      = 10
         OTHERS                               = 11
        IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    READ TABLE dynpro_values1 INTO field_value1 with KEY fieldname = 'MEPO1211-EMATN'.
        LOOP at dynpro_values1 INTO field_value1 WHERE fieldname = 'MEPO1211-EMATN'.
          clear ematn1.
          if sy-subrc eq 0.
            ematn1 = field_value1-fieldvalue.
          endif.
          if ematn1 is not INITIAL.
            clear : wa_cawn1,wa_cawnt1,wa_pcs1,wa_ausp1.
            CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
              EXPORTING
                INPUT  = ematn1
              IMPORTING
                OUTPUT = ematn1.
            select *
            FROM ausp
            INTO CORRESPONDING FIELDS OF TABLE itab_ausp1
            WHERE objek = ematn1
            and atinn = param_name1.
            CLEAR itab_pcs4.
            if itab_ausp1[] is not INITIAL.
              sort itab_ausp1 by atinn atwrt.
              sort itab_cawn1 by atinn.
              READ TABLE itab_ausp1 INTO wa_ausp1 INDEX 1.
              loop at itab_cawn1 INTO wa_cawn1 WHERE atinn = wa_ausp1-atinn AND atwrt = wa_ausp1-atwrt.
                READ TABLE itab_cawnt1 INTO wa_cawnt1 WITH KEY atinn = wa_cawn1-atinn
                                                                atzhl = wa_cawn1-atzhl.
                if sy-subrc eq 0.
                  wa_pcs1-atwrt = wa_cawn1-atwrt.
                  wa_pcs1-atwtb = wa_cawnt1-atwtb.
                  append wa_pcs1 to itab_pcs4.
                  wa_pcsn-matnr = wa_ausp1-objek.
                  wa_pcsn-ebelp = field_value1-stepl.
                  wa_pcsn-atwrt = wa_cawn1-atwrt.
                  wa_pcsn-atwtb = wa_cawnt1-atwtb.
                  APPEND wa_pcsn to itab_pcsn.
                ENDIF.
                clear : wa_ausp1,wa_cawn1,wa_cawnt1.
              ENDLOOP.
            ENDIF.
           clear wa_pcs1.
           read TABLE itab_pcs4 into wa_pcs1 index 1.
           if sy-subrc eq 0.
             EKPO_CI-ZPCS = wa_pcs1-atwrt.
           endif.
          ENDIF.
        ENDLOOP.
        CLEAR: field_value1.
        LOOP at dynpro_values1 INTO field_value1 WHERE fieldname = 'MEPO1211-EMATN'.
          clear wa_pcsn.
          if field_value1-fieldvalue is not INITIAL.
            read TABLE itab_pcsn INTO wa_pcsn with key  matnr = field_value1-fieldvalue
                                                        ebelp = field_value1-stepl.
            if sy-subrc eq 0.
              clear  EKPO_CI-ZPCS.
    *EKPO_CI-ZPCS = wa_pcs1-atwrt.
              EKPO_CI-ZPCS = wa_pcsn-atwrt.
            endif.
          endif.
        ENDLOOP.
       CLEAR: field_value1, dynpro_values1.
       progname1 = 'SAPLXM06'.
       dynnum1   = '0111'.
       field_value1-fieldname = 'EKPO_CI-ZPCS'.
       APPEND field_value1 TO dynpro_values1.
       if ematn1 is not INITIAL.
         clear wa_pcs1.
         read TABLE itab_pcs4 into wa_pcs1 index 1.
         if sy-subrc eq 0.
           EKPO_CI-ZPCS = wa_pcs1-atwrt.
         endif.
       ENDIF.
      endif.
    ENDMODULE.                 " STATUS_0111  OUTPUT
    Function exits:
    ^^^^^^^^^^^^^^^^^
    EXIT_SAPMM06E_016
    ^^^^^^^^^^^^^^^^^
    INCLUDE ZXM06U41 .
    DATA XFISTL LIKE EKPO-FISTL.
    TABLES: ADRC, T001W.
    DATA: PLANT LIKE T001W-WERKS.
    SELECT SINGLE * FROM T001W WHERE WERKS = I_EKPO-WERKS.
    SELECT SINGLE * FROM ADRC WHERE ADDRNUMBER = T001W-ADRNR.
    XFISTL = ADRC-SORT2.
    SET PARAMETER ID 'FIS' FIELD XFISTL.
    * Added For PCS 12.11.2010
    DATA : fs_ekpo type EKPO_CI.
    if sy-tcode = 'ME22N' or sy-tcode = 'ME23N'.
    *  if tekpo-zpcs is INITIAL.
    *    message e000(zmm) with 'PCS Type should be chosen'.
    *  endif.
      loop at tekpo.
        if ( tekpo-ebeln eq i_ekpo-ebeln and tekpo-ebelp eq i_ekpo-ebelp ).
          ekpo_ci-zpcs = tekpo-zpcs.
        endif.
      ENDLOOP.
    endif.
    ^^^^^^^^^^^^^^^^^
    EXIT_SAPMM06E_018
    ^^^^^^^^^^^^^^^^^
    INCLUDE ZXM06U40 .
    E_CI_EKPO-ZPCS = EKPO_CI-ZPCS.
    E_CI_UPDATE = 'X'.

  • Which table for the field "Net due date" of customer line items?

    Hi All,
    In which table could I find the field "Net due date" of customer line items?
    Thanks
    Gandalf

    I don't think there is a field for that.  In various SAP screens where you see this field, I think it is a calculated value (baseline date ZFBDT + days ZBD*T).

  • How to find out Last Changed Fields for a line item of a PO

    Dear All,
    Pls let me know is there any FM or procedure to find the last changed fields for each line item of a PO. I should be able to get the details on the basis of Last changed Date. Can u pls guide me in this?

    Hello,
    Check the table CDHDR,CDPOS for PO items,
    Check this code:
    REPORT ZV_GET_LATEST_SO .
    DATA: BEGIN OF ITAB OCCURS 0,
            OBJECTCLAS TYPE CDHDR-OBJECTCLAS,
            OBJECTID TYPE CDHDR-OBJECTID,
            CHANGENR TYPE CDHDR-CHANGENR,
            USERNAME TYPE CDHDR-USERNAME,
            UDATE TYPE CDHDR-UDATE,
            UTIME TYPE CDHDR-UTIME,
            TCODE TYPE CDHDR-TCODE,
            TABNAME TYPE CDPOS-TABNAME,
            TABKEY TYPE CDPOS-TABKEY,
            FNAME TYPE CDPOS-FNAME,
            CHNGIND TYPE CDPOS-CHNGIND,
          END OF ITAB.
    TABLES: CDHDR,CDPOS.
    DATA: LT_CDHDR LIKE CDHDR OCCURS 0 WITH HEADER LINE,
    LT_CDPOS LIKE CDPOS OCCURS 0 WITH HEADER LINE.
    *REFRESH AUSG.
    CLEAR CDHDR.
    CLEAR CDPOS.
    CDHDR-OBJECTCLAS = 'EINKBELEG'.
    CDHDR-OBJECTID   = '0000001784'.  " Purchase order number
    **SELECT A~OBJECTCLASS A~OBJECTID A~CHANGENR A~USERNAME A~UDATE A~UNAME
    **B~TCODE
    **B~TABNAME B~TABKEY B~FNAME B~CHNGIND INTO TABLE ITAB FROM CDHDR AS A
    **INNER JOIN CDPOS AS B ON A~OBJECTCLASS = B~OBJECTCLASS
    **                         A~OBJECTID    = B~OBJECTID
    **                         A~CHANGENR    = B~CHANGENR
    **                    WHERE OBJECTCLAS = 'VERKBELEG'
    **                      AND OBJECTID = '0000001784'.
    *SELECT * FROM CDPOS INTO TABLE LT_CDPOS WHERE OBJECTCLAS = 'VERKBELEG'
    *                                    AND OBJECTID = '0000001784'.
    *IF NOT LT_CDPOS[] IS INITIAL.
    *  SELECT *
    *  INTO   TABLE LT_CDHDR
    *  FROM   CDHDR
    *  FOR    ALL ENTRIES IN LT_CDPOS
    *  WHERE  OBJECTCLAS = LT_CDPOS-OBJECTCLAS
    *  AND    OBJECTID = LT_CDPOS-OBJECTID
    *  AND    CHANGENR = LT_CDPOS-CHANGENR.
    *ENDIF.
    **  SORT ITAB BY OBJECTCLAS ODJECTID DESCENDING.
    *LOOP AT ITAB.
    *  WRITE: ITAB-UDATE."ITAB-UNAME.
    *ENDLOOP.
    *--- Interne Tabellen -------------------------------------------------
    DATA: BEGIN OF ICDSHW OCCURS 50.       "Ausgabeaufbereitung
            INCLUDE STRUCTURE CDSHW.       "Zwischendatei
    DATA: END OF ICDSHW.
    CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
         EXPORTING
              DATE_OF_CHANGE    = CDHDR-UDATE
              OBJECTCLASS       = CDHDR-OBJECTCLAS
              OBJECTID          = CDHDR-OBJECTID
              TIME_OF_CHANGE    = CDHDR-UTIME
              USERNAME          = CDHDR-USERNAME
         TABLES
              I_CDHDR           = LT_CDHDR
         EXCEPTIONS
              NO_POSITION_FOUND = 1
              OTHERS            = 2.
    LOOP AT LT_CDHDR.
      CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
        EXPORTING
    *   ARCHIVE_HANDLE                = 0
          CHANGENUMBER                  = LT_CDHDR-CHANGENR
    *   TABLEKEY                      = '00000000 '
    *   TABLENAME                     = ' '
    * IMPORTING
    *   HEADER                        =
       TABLES
         EDITPOS                       = ICDSHW
    *   EDITPOS_WITH_HEADER           =
    * EXCEPTIONS
    *   NO_POSITION_FOUND             = 1
    *   WRONG_ACCESS_TO_ARCHIVE       = 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.
      LOOP AT ICDSHW.
        IF ICDSHW-TABKEY+3(10) = '0000001784'
           AND ICDSHW-TABKEY+13(6) = '000001'.
        ENDIF.
      ENDLOOP.
    ENDLOOP.
    Vasanth

  • Adding a new schedule line for a line item using bapi_po_change

    hi experts,
    can i know how to add a new schedule line for a line item using<u> bapi_po_change</u>. what are the parameters that need to be filed. i filled poitem with total quantities and poschedule table with 2 different schedule lines and passing as the parameter.but then i get the error saying item 0000 doesnt exist

    Hi,
    Please check if you have properly populated the following fields in POSCHEDULE:
    PO_ITEM
    SCHED_LINE
    and the other fields required for your schedule line such as delivery date and quantity, etc.
    After that, make sure to properly populate fields in POSCHEDULEX:
    PO_ITEM -> same value as found in POSCHEDULE
    SCHED_LINE -> same value as found in POSCHEDULE
    All other values populated in POSCHEDULE should be ticked as 'X' in POSCHEDULEX.
    Kind Regards,
    Darwin
    Kind Regards,
    Darwin

  • Data upload:F-02: each documnet number to be generated for each line item

    Dear ABAP experts,
    I have a requirement.
    When we uplaod customer or vendor invoices ,a document number will be generated or posted.
    Similarly, my requirement is :When I do the same kind of uploads, for each line item in an excel file each document number has to be generated or posted .This upload is using Tcode: F-02.
    How do I generate each document number for each line item (for each vendor or customer).
    Please do the needful.Either send me a sample code or an idea how to proceed.
    Thanks,
    Hema.

    Hi,
    using below code you can generate document number  for each line Item.
      PERFORM bdc_dynpro      USING 'SAPMF05A' '0100'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        IF  wa_final-field1 NE c_space.
    convert date to user format
          MOVE wa_final-field1 TO v_date.
          CALL FUNCTION '/SAPDII/SPP05_CONVERT_DATE'
            EXPORTING
              if_date = v_date
            IMPORTING
              ef_date = v_date1.
          PERFORM bdc_field       USING 'BKPF-BLDAT'
                                        v_date1.          " Document Date
    Clear v_date  field
          CLEAR: v_date1 , v_date.
        ENDIF.
        PERFORM bdc_field       USING 'BKPF-BLART'
                                      wa_final-field4.          " Document Type
        PERFORM bdc_field       USING 'BKPF-BUKRS'
                                      wa_final-field2.          " Company Code
        IF  wa_final-field3 NE c_space.
    convert date to user format
          MOVE wa_final-field3 TO v_date.
          CALL FUNCTION '/SAPDII/SPP05_CONVERT_DATE'
            EXPORTING
              if_date = v_date
            IMPORTING
              ef_date = v_date1.
          PERFORM bdc_field       USING 'BKPF-BUDAT'
                                         v_date1.          " Posting Date
    Clear v_date  field
          CLEAR: v_date1 , v_date.
        ENDIF.
        PERFORM bdc_field       USING 'BKPF-WAERS'
                                      wa_final-field5.          " Currency
        PERFORM bdc_field       USING 'BKPF-KURSF'
                                      wa_final-field6.          " Rate
        PERFORM bdc_field       USING 'BKPF-XBLNR'
                                      wa_final-field7.          " Reference
        PERFORM bdc_field       USING 'BKPF-BKTXT'
                                      wa_final-field8.          " Document Header Text
        PERFORM bdc_field       USING 'RF05A-NEWBS'
                                      wa_final-field9.          " Cr.Posting Key
        PERFORM bdc_field       USING 'RF05A-NEWKO'
                                      wa_final-field10.         " Cr.Vendorcode or GL Account
        PERFORM bdc_dynpro      USING 'SAPMF05A' '0302'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'BSEG-HKONT'
                                      wa_final-field11.         " Dr.Alternative Recon A/c
        PERFORM bdc_field       USING 'BSEG-WRBTR'
                                      wa_final-field12.         " Dr.Amount in Document Currency
    Begin of changes by someshwar
       IF v_field5 NE 'jpy' OR v_field5 NE 'JPY'.
        TRANSLATE v_field5 TO UPPER CASE.
        IF v_field5 NE 'JPY'.
          PERFORM bdc_field       USING 'BSEG-DMBTR'
                                        wa_final-field13.         " Dr.Amount in Local Currency
        ENDIF.
    Changes end
        PERFORM bdc_field       USING 'BSEG-GSBER'
                                      wa_final-field14.         " Dr.Business Area
        PERFORM bdc_field       USING 'BSEG-ZTERM'
                                      wa_final-field15.         " Dr.Payment Terms
        IF  wa_final-field16 NE c_space.
    convert date to user format
          MOVE wa_final-field16 TO v_date.
          CALL FUNCTION '/SAPDII/SPP05_CONVERT_DATE'
            EXPORTING
              if_date = v_date
            IMPORTING
              ef_date = v_date1.
    *Begin of changes by someshwar
         IF  wa_final-field16 NE '00000000'.
          PERFORM bdc_field       USING 'BSEG-ZFBDT'
                                        v_date1.         " Dr.Baseline date
         ENDIF.
    *Changes end
    Clear v_date  field
          CLEAR: v_date1 , v_date.
        ENDIF.
    *Begin of changes by someshwar
       IF wa_final-field17 NE ''.
        PERFORM bdc_field       USING 'BSEG-ZLSCH'
                                      wa_final-field17.         " Dr.Payment Method
       ENDIF.
    *changes end
        PERFORM bdc_field       USING 'BSEG-ZUONR'
                                      wa_final-field18.         " Dr.Assignment
        PERFORM bdc_field       USING 'BSEG-SGTXT'
                                      wa_final-field19.         " Dr.Text
    *Perform Save posting
        PERFORM save_post.
      ELSE.
        PERFORM bdc_dynpro      USING 'SAPMF05A' '0302'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'BSEG-HKONT'
                                      wa_final-field11.         " Dr.Alternative Recon A/c
        PERFORM bdc_field       USING 'BSEG-WRBTR'
                                      wa_final-field12.         " Dr.Amount in Document Currency
    *Begin of changes by someshwar
       IF v_field5 NE 'jpy' AND v_field5 NE 'JPY'.
        TRANSLATE v_field5 TO UPPER CASE.
        IF v_field5 NE 'JPY'.
          PERFORM bdc_field       USING 'BSEG-DMBTR'
                                        wa_final-field13.         " Dr.Amount in Local Currency
        ENDIF.
    Changes end
        PERFORM bdc_field       USING 'BSEG-GSBER'
                                      wa_final-field14.         " Dr.Business Area
        PERFORM bdc_field       USING 'BSEG-ZTERM'
                                      wa_final-field15.         " Dr.Payment Terms
        IF  wa_final-field16 NE c_space.
    convert date to user format
          MOVE wa_final-field16 TO v_date.
          CALL FUNCTION '/SAPDII/SPP05_CONVERT_DATE'
            EXPORTING
              if_date = v_date
            IMPORTING
              ef_date = v_date1.
          PERFORM bdc_field       USING 'BSEG-ZFBDT'
                                        v_date1.         " Dr.Baseline date
         ENDIF.
    Clear v_date  field
          CLEAR: v_date1 , v_date.
        ENDIF.
        PERFORM bdc_field       USING 'BSEG-ZLSCH'
                                      wa_final-field17.         " Dr.Payment Method
      ENDIF.
        PERFORM bdc_field       USING 'BSEG-ZUONR'
                                      wa_final-field18.         " Dr.Assignment
        PERFORM bdc_field       USING 'BSEG-SGTXT'
                                      wa_final-field19.         " Dr.Text
    *Perform Save posting
          PERFORM bdc_field       USING 'RF05A-NEWBS'
                                        '40'.                     " Cr.Posting Key
          PERFORM bdc_field       USING 'RF05A-NEWKO'
                                        '999996'.                 " Cr.Vendorcode or GL Account
          PERFORM bdc_dynpro      USING 'SAPMF05A' '0300'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        'BU'.
    *&      Form  BDC_TRANSACTION
    FORM bdc_transaction  USING    p_tcode.
      DATA: l_v_string TYPE string.
      REFRESH i_messtab.
      CALL TRANSACTION p_tcode USING i_bdcdata
                       MODE   g_mode
                       UPDATE 'S'
                       MESSAGES INTO i_messtab.
      IF NOT i_messtab[] IS INITIAL.
        READ TABLE i_messtab WITH KEY msgtyp = 'E'.
        IF sy-subrc EQ 0.
          LOOP AT i_messtab.
            IF i_messtab-msgtyp = 'E'.
              PERFORM fill_error_table USING i_messtab-msgtyp
                                             i_messtab-msgid
                                             i_messtab-msgnr
                                             i_messtab-msgv1
                                             i_messtab-msgv2
                                             i_messtab-msgv3
                                             i_messtab-msgv4.
            ENDIF.
          ENDLOOP.
          v_error = v_error + v_count.
        ENDIF.
        READ TABLE i_messtab WITH KEY msgtyp = 'S' msgnr = 312.
        IF sy-subrc EQ 0.
          SELECT SINGLE * FROM t100 WHERE sprsl = sy-langu
                                    AND   arbgb = i_messtab-msgid
                                    AND   msgnr = i_messtab-msgnr.
          l_v_string = t100-text.
          REPLACE  '&' WITH i_messtab-msgv1 INTO l_v_string .
          PERFORM fill_error_table USING i_messtab-msgtyp
                                             'ZMSG_FI'
                                             '025'
                                             i_messtab-msgv1
                                             wa_final2-field2
          v_success = v_success + 1.
        ELSE.
          LOOP AT i_messtab.
            IF i_messtab-msgtyp = 'S'.
              PERFORM fill_error_table USING  'E'
                                                   i_messtab-msgid
                                                   i_messtab-msgnr
                                                   i_messtab-msgv1
                                                   i_messtab-msgv2
                                                   i_messtab-msgv3
                                                   i_messtab-msgv4.
            ENDIF.
          ENDLOOP.
        ENDIF.
      ENDIF.
      CLEAR :  t100 , l_v_string .
    ENDFORM.                    " BDC_TRANSACTION
    Regards,
    Siva.

  • Foreign trade data is incomplete for the line item eg 70!

    Dear Sapients,
    I have encountered an issue related to invoice while releasing it to accouting.
    The invoice is done for several line items but the problem is faced for one line item only, could any one suggest the possible solution please.
    Regards.
    Kodali

    hi
    Read the following SAP note. This can also be the case.
    Note 354222 - Foreign trade data incomplete for domestic business
    Symptom
    A billing document cannot be transferred into accounting because the foreign trade data is incomplete.
    However, the underlying business process is a domestic business!
    Additional key words
    VF01, VF02, EIPO, EIKP, foreign trade, incompleteness, domestic, delivery, billing document, EXNUM, EXPKZ,export indicator, export number
    Cause and prerequisites
    In the respective delivery or in the billing document, for domestic business you by mistake go to the foreign trade data into a field. Since the incompletion log requires at least one entry for foreign trade, you must fill one field in order to be able to leave the foreign trade data again without canceling document processing.
    Here, an export indicator and an export number is assigned which cause the incompleteness of the whole document due to missing export data.
    Solution
    A solution in the standard system is currently not planned since because of various customer requests the foreign trade data in the delivery should be accessed and maintained for domestic business too. An example is the inbound delivery in a bonded warehouse where the forwarding agent should get information already in advance.
    To avoid incorrect billing documents, proceed as follows:
    Copy data transport routine 001 to a routine 601 and enhance the new routine according to the attached correction instruction (RV60C601). Store this new data transport routine in Customizing for the copying control for billing documents for the processes you use, for example
    F2 - LF, item category TAN. (delivery-related)
    If you already use an own data transport routine, in this data transport routine include the attached source code.
    You must cancel existing billing documents and then create them again.
    If you do not want to cancel existing documents, implement the attached correction (program RV60AFZZ) and release the documents either individually (VF02, default transaction) or via the list of blocked billing documents (VFX3).
    After you completed the correction, you should cancel this solution (RV60AFZZ) again.
    Also refer to the attached Note 170183.
    Source code corrections
    Header Data
    Release Status: Released for Customer
    Released on: 16.02.2005 17:15:20
    Priority: Recommendations/additional info
    Category: Consulting
    Primary Component: SD-BIL-GF Basic Functions
    Secondary Components: SD-FT-PRO Basic Functions
    SD-BIL-CA Account Assignment

Maybe you are looking for