Adding new currency to SAP R/3

Hi,
All Experts.
I am adding to new currency RON to SAP R/3 all the DO's & DONT's  given in system. I am stuck up at one point that is Define translation ratios for currency translation. The process in SAP Note is given like this....
Under the customizing point "Define translation ratios for currency translation" (Transaction OBBS), choose the menu point Selection criteria -- > By Contents.
In the pop-up, choose the fields "From currency" and "To currency". In the next pop-up, enter the field contents ROL for both the "From currency" and the "To currency" as well as the Oper. "OR". Press the button "Choose".
You should now have selected all ratios where either the "from" or the "to" currency is ROL. Now select all found entries using the menu point Edit -- > Selections -- > Select All.
Copy the currency pairs to new keys replacing ROL with RON. In most cases, you will also want to set the ratios to 1 to 1.
SAP Note way out is quite tedious and I am not getting it....
OR I want to try the same as NEW ENTRIES option. which one to opt. Can I go to simply for New Entries ? Will it hamper system ?
Expert guidance will be helpful on this.
Regards,
Sharvari Joshi.

Hi,
Murali.
Thanks again for help & guidance !
One more question.
SAP Note it is saying that :-
The New Romanian Leu will have two decimal places. NO entry should be made under the customizing point "Set decimal places for currencies". (Transaction OY04). So, this is by default, do not make the entry by copying the old currency.
Means that I need to skip the step Set decimal places for currencies completely ! Further more if I mention the amount in RON system will consider the TWO decimal places automatically. Right ?
E.g. :- RON 100.00 Is it like this ?
Regards,
Sharvari Joshi.

Similar Messages

  • Adding new item in SAP logon

    Hi,
    when adding a new item in SAP GUI, we get an option for the connection type------
    Custom application server
    Group/Server selection
    On selection the Group/Server selection
    we need to add the System ID, Message server, SAP Router and Group/Server.
    Here on adding the first two and then when i go on adding the Group/Server, I get the Error message as
    Hostname <message server name> not found.
    Is there anything i need to do in the HOST file or the Service file present at the Drivers folder of my local PC.

    Hi Subhram
    Firstly you need to check if connections to the specified servers are allowed through your network. Check if access is permitted on those group servers from your network.Check your VPN settings.
    Secondly check the Saplogon.ini file in the C:\WINDOWS folder. Check if the entries are correctly maintained in there as well.
    I hope this helps
    Regards
    Chen

  • Adding new fields in SAP ECC 6.0

    Hi All,
    I have a requirement to add a couple of fields at the item level of ERP Quotation. I would like to know if SAP ECC 6.0 have some tools like EEWB/AET in SAP CRM.
    Please suggest a solution..
    Any Help/Hint highly appreciated,
    Thanks, Sudeep..

    Can you please check closely, I actually see 7 more fields in ESSL table in ECC6.0 (108 fields) than in ECC5.0 (101 fields).
    Can you list down which fields you are looking for that you think are missing?
    I have checked ESLL_PLUS, it seems to be the same in ECC 5.0 and ECC 6.0..
    There are two new structures in ECC6.0 ESLL_PEROP_STY and OILESLLDATA which doesnt exist in ECC5.0
    Also if you just upgraded recently to ECC 6.0 check SPDD logs.
    Also check out SWITCH framework, ESLL_PLUS (ESLL_BOS) may be linked to some new frame work that you did not SWITCH ON... Just a thought.
    -- SMA
    Edited by: S M A on Oct 19, 2010 10:21 PM

  • SAP Query - Adding new fields to SAP query

    Hi experts,
    I got an issue to work on SAP query.
    I have Transaction code and need to know the infoset to add additional two fields to the existing output.
    Please let me know how to find infoset/ Query for the specfic transaction and how to add fields.
    Regards,
    Venkata

    first check the transaction code given to you.. if it is report transaction (check using SE93), then get the report name for example AQFKTES_SGS_IV==MMIV0003======, then after aQFK,TES_SGS_IV woulbe be your user group and MMIV0003 would be your query. Now go to SQ03 with the user group (you need to check the query areas also which would be Environment---> query areas) because some can be client depended some can be just cross client. and then go to sq01 from user group. It will direct you to the queries of the user group you mentioned in SQ03. Now you should be able to find the query you are looking for. The infoset will also be displayed linked to the query. The infoset can be displayed via SQ02 transaction.
    If it is parameter transaction code, you need to check the parameter values to find the query details. Rest of the approach is same as mentioned above.

  • Enquiry about adding new field in SAP transaction vl10c

    Hi,
    requirement:
    I want to add additonal field after executing  SAP transaction vl10c.
    help me
    pooja

    Hi,
    You acn add extra fields with the help of a screen exit.
    Try the following Exits:
    V50R_USEREXITS
    V50R_USEREXIT_PREPARE
    V50R_USEREXIT_TRANSF
    Related to the program RVV50R10C.
    Regards,
    Anji

  • New currency

    Dear all,
    How to add a new currency in SAP.
    Should I just add it to OY03?
    Any bad consequences?
    Best regards,
    Michaël
    Moderator: Please, search SDN

    You might have to an have an extra cell that gives the unit of measure, in your case the various currency types.
    Here are the ones on my system:
    Regards,

  • How do i add new font to sap(smartform)

    hi, all!
    now, i have one thing to be solved!
    i'm using smartforms for developing form program.
    i can't find what i want to use new font in sap.
    so i added new font to sap using se73 t-code. but some are missing, for example i can't use bold...
    so, if anybody have these experience... tell me how to...
    best regards,
    gy cho.

    hi,
    For SE73, on screen
    There is a button 'True Type-Font Importian'.
    On pressing this button you will go to next screen.
    Give unique name of font and .ttf file of your computer.
    If you select Bold or Italic, select different font file respectivly.
    and Execute.
    Fonts are centralized for SAP.
    if you are not authorized to do cross-client activity, it will not allow you.
    Usually Basis Team does this for developers.

  • Having problems when adding new Curency value field + currency field.

    I need to add a new Currency field (CURR, length 15, 2 decimal places) plus the Currency field itself to a view. 
    I'm really struggerling. I have looked at the existing SAP fields in the Component workbench and I have to admit I can not see how a field is linked/related to the currency itself. Is this link established purlely at the disctionary level?.
    Has anyone added their own Z field value  and Z currency field before. I can create both fields and display them, but what I can not work out is how I related them within the component workbench, or is this done from the dictionary?.
    Any help would be greatly appreciated.
    I should have been able to look at an existing SAP example and work out how it's done, but so far I can not see/determine how this is achieved, even though someone has mentioned that it's controlled via the GET_I_field method. Looking at this method I was expecting to see some mention of both the Currency value field and the Currency field. But as I don't see these confusion reigns.
    Jason

    That's correct, but am I right in thinking that you can't actually create the currency key field itself?.
    I am aware that currency value fields can be created which reference a currency key field, but can see nothing that allows me to create a currency key field to be referenced.
    I hope that makes sense.
    Also, I have amended the structure, changing my value fields from Decimal 15,2 to Currency 15,2  and have created a new currency key field in the structure and referenced this from the Currency value field.
    Witin the Component/view/context node I can see this new currency key field, but it appears as STRUCT.fieldlabel whereas my currency value field appears in the context node as EXT.fieldlabel, because it was created in the AET.
    My problem is that when attempting to add the currency key field onto the screen I don't have it to select from within the list of structures/attributes. All the others attributes in the context node seem to be there, except the new currency key field/attribute.
    The attribute has a SET_fieldlabel, GET_fieldlabel, GET_M_Fieldlabel and a GET_I_Fieldlabel, which I believe is all that should be required.
    Does anyone know what my problem could be?.
    Jason

  • Adding Symbol for New Currency

    Hello All-
    I have a multi currency Planning application. I want to add a new currency to the system. When i was adding the currency in it i found that the symbol for the currency is not present in the predefined list that exist in Hypeiron. Is there a
    way to add a new symbol to it? If yes what should i be doing to make tha change ?
    Thanks!

    Hi Mike,
    As per note 892949, in order to import or update the price list price for items, we need to fill the LineNum field. In addition, the LineNum does not correspond to the position of the price list in the drop list of the Item Master Data window. The LineNum is the line number shown in the Price Lists window minus 1 (which means 0 for the price list 1, 1 for the price list 2 and so on).                                    
    hope it helps,
    Regards,
    Ladislav
    SAP Business One Forum Team

  • GuiXT:  Recently we have added new SAP system EIQ

    Hi,
    Our client is using GuiXT since long time. Recently my firm started
    taking care of GuiXT operations. Recently we have added new SAP system EIQ. GuiXT is not working on the new system. It is working fine with other existing SAP system EIT and EIK. Please let me know what all GuiXT related settings need to be done on the new server.
    Thanks in Advance
    Regards
    Gaurav Raghuvanshi
    Message was edited by: Matthew Billingham - Please read the Terms and Conditions re: "urgent"

    Hi Gaurav,
    You need an additional key for the new system, which Synactive will provide as part of your client contract. Once you have the new key configured in the guixt ini file, everything should work as desired.
    Good luck.
    Best,
    Vishal

  • Adding new fields from CI Include to Standard SAP Screen

    Hi All,
    I am enhancing Infotype 0487. I have added new fields to the CI include and created the screen fields in subscreen 0200 with reference to the data dictionary fields. When I test the subscreen alone, the new fields are displaying correctly and F4 help is active. But when I view the whole screen(2000) in PA30, the new field is inactive and I am not able to enter data. Also F4 help option is present for the field but when it is selected, a message 'No Values Found'  is displayed. Please suggest some solution.
    Thanks in advance
    Regards,
    Sivasankari
    Edited by: Julynila on Oct 7, 2010 10:41 AM

    Hi,
    This might be the standard transaction, so there is a possibility of adding the fields using the Screen variants using SPRO, get in touch with your functional consultant. there you can copy an existing screen and add the required fields and rename the screen to different number, and in the config this new screen can be added.
    Thanks,
    Srini.

  • Adding new segment in IDOC

    Hi,
           i have a requirement where based on a condition i need to add a new segment dynamically in Inbound IDOC.
    I have written the code in the user exit of the inbound FM. Its adding new segments and process it perfectly.
    But when i see the IDOC in we02 or we19, i am not able to see the newly added segment.
    Will the newly added segment in FM appear in the We02?
    PS: i have changed the idoc_control-maxsegnum.
    Regards,
    Niyaz

    Hi Niyaz,
    Check out the below program ....Similar to your requirement
    IDoc creation from inbound file
    REPORT ZS7BM000006 message-id ZS7.
    */ Program Name: Creation of DESADV & INVOIC IDocs from file E021
    */ Description : This program reads in external file E021 containing
    *                shipping and invoice data from internal vendors and
    *                creates one DESADV and one INVOIC IDoc per invoice.
    */ Transaction : n/a - run from job Z_ccc_S7B_Annnnn, where
    *                'ccc' = 3-digit client and 'nnnnn' = zero-filled
    *                sequence number matching the scheduled job for E020.
    tables:  lfa1,
             lfm1,
             ekpo,
             eine,
             e1edk01,
             e1edk02,
             e1edk07,
             e1edk08,
             e1edk06,
             e1edk03,
             e1edka1,
             e1edka2,
             e1edp07,
             e1edp09,
             e1edp19,
             e1edp01,
             e1edp02,
             e1edp26,
             e1edp04,
             e1eds01,
             e1eds02,
             zst7f_ty_vendors.
    parameters:  p_path like PATH-PATHEXTERN
                       default '/ftp/atac/in/'.
    data:  INFILE LIKE PATH-PATHEXTERN,
           back_path(7) type c value 'backup/',
           offset like sy-fdpos,
           p07_ctr like sy-index,
           invoice_total type p decimals 3,
           d_seg_num like sy-index,
           i_seg_num like sy-index.
    data:  OUTFILE LIKE PATH-PATHEXTERN,
           today(8)     type c.
    data:  begin of uty_vendors occurs 10,
              lifnr like lfa1-lifnr,
              waers like lfm1-waers,
              name_abbr like zst7f_ty_vendors-name_abbr,
              ship_days like zst7f_ty_vendors-ship_days,
           end of uty_vendors.
    data:  iZSS7B21 like ZSS7B21.
    data:  desadvdata like edi_dd occurs 5 with header line.
    data:  invoicdata like edi_dd occurs 5 with header line.
    data:  dedidc like edi_dc occurs 1 with header line.
    data:  iedidc like edi_dc occurs 1 with header line.
    data:  begin of ie021 occurs 10,
            lifnr            like lfa1-lifnr,
            ship_days        like zst7f_ty_vendors-ship_days,
            invoice_no       like e1edk08-vbeln,
            stat             like e1edk01-action,
            po_number(10)    type n,
            po_lineno(5)     type n,
            slip_number      like e1edp09-vbeln,
            shipto_id        like e1edka1-partn,
            vendor_id        like e1edka1-partn,
            endcust_name     like e1edka1-name1,
            cust_partno      like e1edp09-kdmat,  "char 35
            vendor_partno    like e1edp09-matnr,  "char 35
            invoice_qty      like e1edp09-lfimg,
            qty_uom          like e1edp01-menee,
            unit_price       like e1edp01-vprei,
            price_uom        like e1edp01-pmene,
            price_qty        like e1edp01-peinh,
            line_amount      like e1edp26-betrg,
            currency         like e1edk01-curcy,
            etd              like e1edk06-datum, "ship date
            eta              like e1edk06-datum, "delivery date
            ship_id          like e1edk08-traid,
            ship_method      like e1edk08-traty,
            create_date      like e1edk03-datum,
            plant            like ekpo-werks,
           end of ie021.
    data: save_po like ie021-po_number,
          save_line like ie021-po_lineno,
          save_stat like ie021-stat,
          save_invoice like ie021-invoice_no.
    constants: hun_thou type p decimals 5 value '100000',
               thou type p decimals 3 value '1000'.
    *&      DEFINITION:  append_idoc_rec
    *       add a data record to the IDoc internal table
    define append_idoc_rec.
    &1-tabnam = &1-segnam.
    &2_seg_num = &2_seg_num + 1.
    &1-segnum = &2_seg_num.
    shift &1-segnum left deleting leading space.
    append &1.
    clear &1.
    end-of-definition.       " append_idoc_rec
    * MAIN PROCESSING LOOP
    START-OF-SELECTION.
    today = sy-datum.
    * find all internal vendors
    select a~lifnr
           b~waers
           c~name_abbr  c~ship_days
       into corresponding fields of table uty_vendors
         from lfa1 as a
              inner join lfm1 as b
                 on a~lifnr = b~lifnr
              inner join zst7f_ty_vendors as c
                 on a~lifnr = c~lifnr
         where a~ktokk = 'ZZTY' and
               b~ekorg = '7100' and
               c~ship_code = ' '.
    perform init_desadv.
    perform init_invoic.
    concatenate 'SAP' sy-sysid(3) into: iedidc-sndpor, dedidc-sndpor.
    loop at uty_vendors.
      clear ie021. refresh ie021.
      if not uty_vendors-name_abbr is initial.
    * datafiles are received with naming convention:
    * E020_<customer name abbreviation>_UTY
        concatenate p_path 'E021_' uty_vendors-name_abbr '_UTY'
            into infile.
        if not sy-subrc is initial.  "pathname too long
    * Filename too long: &
          message i016 with infile.
          continue.
        endif.
        condense infile.
        OPEN DATASET INFILE FOR INPUT IN TEXT MODE.
        if not sy-subrc is initial.
    *'Cannot open dataset & on &'
          message i013 with infile sy-datum.
          continue.
        else.
          concatenate p_path back_path 'E021_'
              uty_vendors-name_abbr '_UTY' today
                    into outfile.
          if not sy-subrc is initial.  "pathname too long
    * Filename too long: &
            message i016 with outfile.
            continue.
          endif.
          condense outfile.
          OPEN DATASET OUTFILE FOR OUTPUT IN TEXT MODE.
    * if the datestamped file cannot be created, do not process the
    * input file, because the input file is deleted after processing,
    * and there would be no record of the data.
          if not sy-subrc is initial.
    *'ERROR opening file & for output'
            close dataset infile.
            message i033 with outfile.
            continue.  "process next vendor's file
          endif.
          do.
            read dataset infile into izss7b21.
            case sy-subrc.
              when 0.
                transfer izss7b21 to outfile.
                if izss7b21-datacode = 'T'. "trailer rec
                  perform process_one_vendor using infile.
                  exit.  "process next vendor's file
                endif.
                check: izss7b21-datacode = 'A'. "data rec
                case izss7b21-status.
                  when ' '.  "new
                    ie021-stat = '000'.
                  when 'M'.  "modification
                    ie021-stat = '002'.
                  when 'D'.  "deletion
                    ie021-stat = '003'.
                endcase.
                move-corresponding uty_vendors to ie021.
                move-corresponding izss7b21 to ie021.
                perform convert_po_no using izss7b21-pono_poline
                                   changing ie021-po_number
                                            ie021-po_lineno.
                perform convert_dates using ie021-lifnr
                                            izss7b21-etd
                                            izss7b21-eta
                                            izss7b21-ship_method
                                            izss7b21-create_date
                                   changing ie021-eta
                                            ie021-ship_days.
                perform quantity_conversion
                                    using izss7b21-qty_uom
                                          izss7b21-invoice_qty
                                          izss7b21-unit_price
                                    changing ie021-qty_uom
                                             ie021-invoice_qty
                                          izss7b21-line_amount.
                perform money_conversion
                                    using izss7b21-currency
                                          izss7b21-unit_price
                                          izss7b21-price_uom
                                          izss7b21-line_amount
                                    changing ie021-currency
                                             ie021-price_uom
                                             ie021-price_qty
                                             ie021-unit_price
                                             ie021-line_amount.
                perform SAP_vendor_partno
                                    changing ie021-cust_partno.
                append ie021.
              when 4.  "EOF
                perform process_one_vendor using infile.
                exit.  "process next vendor's file
              when others.
    *ERROR reading dataset & - &
                message i015 with infile sy-datum.
                exit.
            endcase.
          enddo.
          close dataset: infile, outfile.
          delete dataset infile.
        endif.
      endif.
    endloop. "UTY_VENDORS
    *&      Form  process_one_vendor
    *       Pre-processed records from one vendor file are now in the
    *       internal table ie021 - ready to create IDocs
    FORM process_one_vendor using value(infile).
      sort ie021 by invoice_no stat po_number po_lineno.
      loop at ie021.
        if ( ie021-invoice_no <> save_invoice or
             ie021-stat <> save_stat ).
          if sy-tabix > 1.
            perform post_idocs using ie021-stat.
          endif.
          perform idoc_header_segs using ie021-stat.
        endif.
        if ( ie021-stat <> save_stat or
             ie021-po_number <> save_po or
             ie021-po_lineno <> save_line or
             ie021-invoice_no <> save_invoice ).
          if ( sy-tabix > 1 and
               ie021-stat = '000' ).
            perform idoc_poheader_segs.
          endif.
        endif.
        perform idoc_item_segs using ie021-stat.
        save_po = ie021-po_number.
        save_line = ie021-po_lineno.
        save_invoice = ie021-invoice_no.
        save_stat = ie021-stat.
      endloop.
      perform post_idocs using ie021-stat.
    * File successfully processed: &
      message s035 with infile.
    ENDFORM.                    " process_one_vendor
    *&      Form  convert_po_no
    *       Break the PO number & line field into separate fields
    FORM convert_po_no using value(infield)
                       changing po_number like ie021-po_number
                                po_line like ie021-po_lineno.
    data:  cpos like sy-fdpos,
           lpos like sy-fdpos,
           cline(6) type c.
    * if the infield contains a hyphen, assume that the preceding characters
    * represent the po number, if they are numeric. The po line number is
    * assumed to be all numeric characters after the hyphen.
      if infield ca '-'.
        if infield(sy-fdpos) co ' 0123456789'.  "numeric
          po_number = infield(sy-fdpos).
          cpos = sy-fdpos + 1.
        endif.
      else.  "no hyphen - PTY
        if infield(2) = '71'.  "SAP number range
          cpos = 10.
        else.                  "SyteLine number
          cpos = 6.
        endif.
        if infield(cpos) co ' 0123456789'.  "numeric
          po_number = infield(cpos).
        endif.
      endif.
      if not po_number is initial.
        while infield+cpos(1) co '0123456789'.
          cline+lpos(1) = infield+cpos(1).
          lpos = lpos + 1.
          cpos = cpos + 1.
        endwhile.
        shift cline left deleting leading '0'.
        if not cline is initial.
          po_line = cline.
        endif.
      endif.
    * Put out a warning in the job log, but create the IDoc to save the data
      if ( po_number is initial or
           po_line is initial ).
    * PO number - line item conversion failed: &
        message i034 with infield.
      endif.
    ENDFORM.                    " convert_po_no
    *&      Form  convert_dates
    *       Convert ship date to delivery date, if necessary
    FORM convert_dates using value(vendor_no)
                             value(i_ship_date)
                             value(i_delivery_date)
                             value(i_ship_code)
                             value(i_create_date)
                    changing o_delivery_date
                             ship_days.
    data:  ship_date type d.
    * if delivery date not sent, calculate it from ship date plus
    * ship days.
    * Note that this logic could leave delivery date blank,
    * if ship date is not numeric.
      if ( i_delivery_date is initial or
           i_delivery_date co ' 0' ).  "no delivery date sent
        if ( i_ship_date co ' 0123456789' and
             i_ship_date cn ' 0' ).    "ship date sent
    * move the ship date into a date field to add days
          ship_date = i_ship_date.
        elseif ( i_create_date co ' 0123456789' and
                 i_create_date cn ' 0' ).
          ship_date = i_create_date.
        endif.
        if not i_ship_code is initial.
          select single ship_days from zst7f_ty_vendors
                   into ship_days
                  where lifnr = vendor_no
                    and ship_code = i_ship_code.
        endif.
        if not ship_date is initial.
          if ship_days > 0.
            ship_date = ship_date + ship_days.
            o_delivery_date = ship_date.
            shift o_delivery_date left deleting leading ' '.
          endif.
        endif.
      else.  "delivery date sent
        o_delivery_date = i_delivery_date.
      endif.
    ENDFORM.                    " convert_dates
    *&      Form  quantity_conversion
    *       The quantities in the input file are implied 3-decimal,
    *       so need to be converted into a "real" number.
    *       Also, the unit of measure may be 'KP' indicating that the qty
    *       is given in thousands.
    FORM quantity_conversion USING    value(i_UOM)
                                      value(i_invoice_qty)
                                      value(i_unit_price)
                        CHANGING o_uom like iE021-qty_UOM
                                 o_invoice_qty like IE021-INVOICE_QTY
                                 c_LINE_AMOUNT like izss7b21-line_amount.
    data:  f_invoice_qty type f.
    data:  n_invoice_qty like lips-kcmeng.
    data:  f_unit_price type f.
    data:  f_line_amt type f.
    data:  n_line_amt0 type p decimals 0.
      if ( i_invoice_qty co ' 0123456789' and
           i_invoice_qty cn ' 0' ).
        f_invoice_qty = i_invoice_qty.
    * if no extended price is sent, calculate it
        if c_line_amount is initial.
    * the qty is implied 3-dec, the price is still implied
    * 5-dec, and line amount should be implied 3-dec.
          f_unit_price = i_unit_price.
          f_line_amt = ( f_invoice_qty * f_unit_price ) / 100000.
          n_line_amt0 = f_line_amt.
          c_line_amount = n_line_amt0.
          shift c_line_amount left deleting leading space.
        endif.
    * if the invoice qty is per 1000, the implied 3-dec times 1000 equals
    * the unconverted value. Otherwise, divide by 1000 to get the PCE qty
        if i_uom = 'KP'.
          n_invoice_qty = f_invoice_qty.
        else.
          n_invoice_qty = f_invoice_qty / thou.
        endif.
      endif.
      o_uom = 'PCE'.
      if not n_invoice_qty is initial.
        o_invoice_qty = n_invoice_qty.
        shift o_invoice_qty left deleting leading space.
      else.
        clear o_invoice_qty.
      endif.
    ENDFORM.                    " quantity_conversion
    *&      Form  money_conversion
    *       Add the implied decimals and store price-per qty, if
    *       price per 1,000 is sent.
    FORM money_conversion USING    value(I_CURR)
                                   value(i_UNIT_PRICE)
                                   value(i_UOM)
                                   value(i_LINE_AMOUNT)
                          CHANGING o_CURRENCY like ie021-currency
                                   o_PRICE_UOM like ie021-price_uom
                                   o_PRICE_QTY like ie021-price_qty
                                   o_UNIT_PRICE like ie021-unit_price
                                   o_LINE_AMOUNT like ie021-line_amount.
    data:  n_unit_price type p decimals 5,
           n_line_amount type p decimals 3.
    * not all of the vendors send the currency code, so use the vendor
    * master default
      case i_curr(2).
        when 'US'.
          o_currency = 'USD'.
        when 'JP'.
          o_currency = 'JPY'.
        when others.
          o_currency = uty_vendors-waers.
      endcase.
    * unit price is implied 5-dec
      if ( i_unit_price cn ' 0' and
           i_unit_price co ' 0123456789' ).
        n_unit_price = i_unit_price.
        n_unit_price = n_unit_price / hun_thou.
      endif.
    * line price is implied 3-dec
      if ( i_line_amount co ' 0123456789' and
           i_line_amount cn ' 0' ).
        n_line_amount = i_line_amount.
        n_line_amount = n_line_amount / thou.
      endif.
    * 'KP' = price per thousand
      if i_uom = 'KP'.
        o_price_qty = '1000'.
      else.
        o_price_qty = '1'.
      endif.
      o_price_uom = 'PCE'.
      if not n_unit_price is initial.
        o_unit_price = n_unit_price.
        shift o_unit_price left deleting leading space.
      else.
        clear o_unit_price.
      endif.
      if not n_line_amount is initial.
        o_line_amount = n_line_amount.
        shift o_line_amount left deleting leading space.
      else.
        clear o_line_amount.
      endif.
    ENDFORM.                    " money_conversion
    *&      Form  SAP_vendor_partno
    *       replace UTY part number sent by vendor with SAP material no.
    *       from PO line item.
    FORM SAP_vendor_partno changing cust_partno like ie021-cust_partno.
    tables: makt.
    data: partno_sent like makt-maktx.
      partno_sent = cust_partno.
      clear: makt, cust_partno.
      select single matnr from ekpo into cust_partno
             where ebeln = ie021-po_number and
                   ebelp = ie021-po_lineno.
      if sy-subrc is initial.
    *compare material description to part number sent by vendor
        select single maktx from makt into makt-maktx
            where matnr = cust_partno.
        if partno_sent <> makt-maktx.
    * 'Part No. Mismatch: PO & - &, Part sent &, SAP mat.no. &'
          message i031 with ie021-po_number ie021-po_lineno
                            partno_sent makt-maktx.
        endif.
      else.  "PO line not found
    *try to find SAP material number using 20-char catalog no. sent
        select single matnr from makt into cust_partno
            where maktx = partno_sent.
        if not sy-subrc is initial.
    * 'SAP material no. not found for & - PO & - &'
          message i032 with partno_sent ie021-po_number ie021-po_lineno.
        endif.
      endif.
    *if not found, IDoc will go to workflow for missing material no.
    ENDFORM.                    " SAP_vendor_partno
    *&      Form  idoc_header_segs
    *       create internal table entries for header segments.
    *  DESADV:
    *          E1EDK07
    *          E1EDKA1
    *          E1EDK03
    *          E1EDK08
    *          E1EDKA2
    *          E1EDK06
    *  INVOIC:
    *          E1EDK01
    *          E1EDKA1(s)
    *          E1EDK02
    *          E1EDK03(s)
    FORM idoc_header_segs using value(desadv_ok).
    * INVOIC
      clear i_seg_num.
      invoicdata-segnam = 'E1EDK01'.
      e1edk01-action = ie021-stat.
      if ie021-currency(2) = 'US'.
        e1edk01-curcy = 'USD'.
      else.
        e1edk01-curcy = 'JPY'.
      endif.
      invoicdata-sdata = e1edk01.
      append_idoc_rec invoicdata i.
      clear e1edka1.
      invoicdata-segnam = 'E1EDKA1'.
      e1edka1-parvw = 'RE'.
      e1edka1-partn = ie021-shipto_id.
      invoicdata-sdata = e1edka1.
      append_idoc_rec invoicdata i.
      clear e1edka1.
      invoicdata-segnam = 'E1EDKA1'.
      e1edka1-parvw = 'LF'.
      e1edka1-partn = ie021-lifnr.
      e1edka1-lifnr = ie021-shipto_id.
      invoicdata-sdata = e1edka1.
      append_idoc_rec invoicdata i.
      if not ie021-endcust_name is initial.
        clear e1edka1.
        invoicdata-segnam = 'E1EDKA1'.
        e1edka1-parvw = 'WE'.
        e1edka1-name1 = ie021-endcust_name.
        invoicdata-sdata = e1edka1.
        append_idoc_rec invoicdata i.
      endif.
      clear e1edk02.
      invoicdata-segnam = 'E1EDK02'.
      e1edk02-qualf = '009'.
      e1edk02-belnr = ie021-invoice_no.
      invoicdata-sdata = e1edk02.
      append_idoc_rec invoicdata i.
      clear e1edk03.
      invoicdata-segnam = 'E1EDK03'.
      e1edk03-iddat = '012'.
      e1edk03-datum = ie021-create_date.
      invoicdata-sdata = e1edk03.
      append_idoc_rec invoicdata i.
      invoicdata-segnam = 'E1EDK03'.
      e1edk03-iddat = '024'.
      invoicdata-sdata = e1edk03.
      append_idoc_rec invoicdata i.
      check desadv_ok = '000'.
    * DESADV
      clear d_seg_num.
      desadvdata-segnam = 'E1EDK07'.
      e1edk07-action = ie021-stat.
      e1edk07-bolnr = ie021-invoice_no.
      desadvdata-sdata = e1edk07.
      append_idoc_rec desadvdata d.
      clear e1edka1.
      desadvdata-segnam = 'E1EDKA1'.
      desadvdata-sdata = e1edka1.
      append_idoc_rec desadvdata d.
      clear e1edk03.
      desadvdata-segnam = 'E1EDK03'.
      desadvdata-sdata = e1edk03.
      append_idoc_rec desadvdata d.
      clear e1edk08.
      desadvdata-segnam = 'E1EDK08'.
      e1edk08-vbeln = ie021-invoice_no.
      e1edk08-traid = ie021-ship_id.
      e1edk08-traty = ie021-ship_method.
      desadvdata-sdata = e1edk08.
      append_idoc_rec desadvdata d.
      clear e1edka2.
      desadvdata-segnam = 'E1EDKA2'.
      desadvdata-sdata = e1edka2.
      append_idoc_rec desadvdata d.
      clear e1edk06.
      desadvdata-segnam = 'E1EDK06'.
      e1edk06-iddat = '025'.  "document date
      e1edk06-datum = ie021-create_date.
      desadvdata-sdata = e1edk06.
      append_idoc_rec desadvdata d.
      if not ie021-eta is initial.
        clear e1edk06.
        desadvdata-segnam = 'E1EDK06'.
        e1edk06-iddat = '001'.  "delivery date
        e1edk06-datum = ie021-eta.
        desadvdata-sdata = e1edk06.
        append_idoc_rec desadvdata d.
      endif.
      if not ie021-etd is initial.
        clear e1edk06.
        desadvdata-segnam = 'E1EDK06'.
        e1edk06-iddat = '010'.  "ship date
        e1edk06-datum = ie021-etd.
        desadvdata-sdata = e1edk06.
        append_idoc_rec desadvdata d.
      endif.
    ENDFORM.                    " idoc_header_segs
    *&      Form  idoc_poheader_segs
    *       create internal table entries for DESADV PO/item segments
    *          E1EDP07
    FORM idoc_poheader_segs.
    *DESADV
      clear e1edp07.
      desadvdata-segnam = 'E1EDP07'.
      e1edp07-bstnk = ie021-po_number.
      e1edp07-posex = ie021-po_lineno.
      desadvdata-sdata = e1edp07.
      append_idoc_rec desadvdata d.
      p07_ctr = p07_ctr + 1.
    ENDFORM.                    " idoc_poheader_segs
    *&      Form  idoc_item_segs
    *       create internal table entries for PO item segments:
    *          DESADV:   E1EDP09
    *          INVOIC:   E1EDP01        Qtys
    *                    E1EDP02        ref nos. (PO number / line)
    *                    E1EDP19        part numbers
    *                    E1EDP26        amounts
    *                    E1EDP04        taxes
    FORM idoc_item_segs using value(desadv_ok).
    data:  n_line_amt  type p decimals 3.
    *INVOIC
      clear e1edp01.
      invoicdata-segnam = 'E1EDP01'.
      e1edp01-menee = ie021-qty_uom.
      e1edp01-menge = ie021-invoice_qty.
      e1edp01-vprei = ie021-unit_price.
      e1edp01-pmene = ie021-price_uom.
      e1edp01-peinh = ie021-price_qty.
      e1edp01-netwr = ie021-line_amount.
      invoicdata-sdata = e1edp01.
      append_idoc_rec invoicdata i.
      clear e1edp02.
      invoicdata-segnam = 'E1EDP02'.
      e1edp02-qualf = '001'.
      e1edp02-belnr = ie021-po_number.
      e1edp02-zeile = ie021-po_lineno.
      invoicdata-sdata = e1edp02.
      append_idoc_rec invoicdata i.
      clear e1edp19.
      invoicdata-segnam = 'E1EDP19'.
      e1edp19-qualf = '001'.
      e1edp19-idtnr = ie021-cust_partno.
      invoicdata-sdata = e1edp19.
      append_idoc_rec invoicdata i.
      clear e1edp19.
      invoicdata-segnam = 'E1EDP19'.
      e1edp19-qualf = '002'.
      e1edp19-idtnr = ie021-vendor_partno.
      invoicdata-sdata = e1edp19.
      append_idoc_rec invoicdata i.
      clear e1edp26.
      invoicdata-segnam = 'E1EDP26'.
      e1edp26-qualf = '003'.
      e1edp26-betrg = ie021-line_amount.
      invoicdata-sdata = e1edp26.
      append_idoc_rec invoicdata i.
    * dummy tax seg
      clear e1edp04.
      invoicdata-segnam = 'E1EDP04'.
      e1edp04-msatz = '0.00'.
      invoicdata-sdata = e1edp04.
      append_idoc_rec invoicdata i.
      n_line_amt = ie021-line_amount.
      invoice_total = invoice_total + n_line_amt.
      check desadv_ok = '000'.
    *DESADV
      clear e1edp09.
      desadvdata-segnam = 'E1EDP09'.
      e1edp09-vbeln = ie021-slip_number.
      e1edp09-matnr = ie021-vendor_partno.
      e1edp09-vrkme = ie021-qty_uom.
      e1edp09-lfimg = ie021-invoice_qty.
      desadvdata-sdata = e1edp09.
      append_idoc_rec desadvdata d.
    ENDFORM.                    " idoc_item_segs
    *&    Form  post_idocs
    *     create database IDocs from the idocdata tables and clear tables.
    FORM post_idocs using value(desadv_ok).
    *INVOIC
      clear e1eds01.
      invoicdata-segnam = 'E1EDS01'.
      e1eds01-sumid = '010'.
      e1eds01-summe = invoice_total.
      e1eds01-waerq = ie021-currency.
      shift e1eds01-summe left deleting leading space.
      invoicdata-sdata = e1eds01.
      append_idoc_rec invoicdata i.
      CALL FUNCTION 'INBOUND_IDOC_PROCESS'
        TABLES
          IDOC_CONTROL       =  iedidc
          IDOC_DATA          =  invoicdata.
      commit work.
    *DESADV
      if desadv_ok = '000'.
        clear e1eds02.
        desadvdata-segnam = 'E1EDS02'.
        e1eds02-sumid = '001'.
        e1eds02-summe = p07_ctr.
        shift e1eds02-summe left deleting leading space.
        desadvdata-sdata = e1eds02.
        append_idoc_rec desadvdata d.
        CALL FUNCTION 'INBOUND_IDOC_PROCESS'
          TABLES
            IDOC_CONTROL       =  dedidc
            IDOC_DATA          =  desadvdata.
        commit work.
      endif.
      refresh: desadvdata,
               invoicdata.
      clear:
        desadvdata,
        invoicdata,
        p07_ctr,
        invoice_total,
        save_stat,
        save_po,
        save_line,
        save_invoice.
    ENDFORM.                    " post_idocs
    *&      Form  init_desadv
    *       add a DESDAV control record and initialize fields
    FORM init_desadv.
    clear dedidc. refresh dedidc.
    * initialize control record:
    move:  '2'        to  dedidc-direct,
          'DESADV01'  to  dedidc-doctyp,
          'DESADV'    to  dedidc-mestyp,
          'F'         to  dedidc-std,
          'E021'      to  dedidc-stdmes,
          'LS'        to  dedidc-sndprt,
          'TY_VENDORS' to dedidc-sndprn,
          sy-datlo    to  dedidc-credat,
          sy-timlo    to  dedidc-cretim.
    append dedidc.
    ENDFORM.              " init_desadv
    *&      Form  init_invoic
    *       add a INVOIC control record and initialize fields
    FORM init_invoic.
    clear iedidc. refresh iedidc.
    * initialize control record:
    move:  '2'        to  iedidc-direct,
          'INVOIC01'  to  iedidc-doctyp,
          'INVOIC'    to  iedidc-mestyp,
          'MM'        to  iedidc-mescod,
          'F'         to  iedidc-std,
          'E021'      to  iedidc-stdmes,
          'LS'        to  iedidc-sndprt,
          'TY_VENDORS' to iedidc-sndprn,
          sy-datlo    to  iedidc-credat,
          sy-timlo    to  iedidc-cretim.
    append iedidc.
    ENDFORM.              " init_invoic
    REWARD POINTS IF HELPFUL
    Lakshmiraj.A

  • Adding new date field to already loaded data target.

    Hi,
        we have a cube containing date feild such as 0CALMONTH. the data is being loaded to the cube. now they have added new date feild (0FISCYEAR). how to get data to this feild. there is no data coming from source system for this feild. please can any one tell me how to include this feild and load data into it.
    with regards,
    sreekanth.

    Sreekanth,
       If Record creation date is the right field for deriving fiscal year, Why cant you derive the year from the date...by using automatioc time conversion...?? In update rules...??
      For exising data, you can do loop back to populate the data. see the below doc, for more info:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f421c86c-0801-0010-e88c-a07ccdc69601
    Hope it Helps
    Srini
    Message was edited by: Srini

  • Issues while creating new user in SAP HANA

    Hello Team
                       When i am trying to create a new user in SAP HANA studio i can see that there has been a new field added of DATA validity where there are two options  a) Valid From and b)Valid Unitl . No matter whatever dates i give in this i got this error which creating the user . Status :- inactive
    Reason :- outside validity period . PFA screen shot attached below . Please suggest what dates should be given in  this field with some sample example .
    Regards

    Prag,
    Try this. Execute the following in a SQL window started by a userid that has been granted the USER ADMIN system privilege:
    ALTER USER BODS1 VALID FROM NOW    UNTIL FOREVER;
    You can use a date instead of FOREVER --- '2016-12-31 23:59'.
    Good luck,
    Robert

  • Batch Input for VA31 and adding new partner

    Dear All,
    I have a already well running program, which is creating new scheduling agreement via transaction VA31 in batch input mode.
    Now, there is a new requirement to add one partner in the header. I made a recording and saw that there is a subcreen SAPLV09C. I extended the program, but doesn't matter I'm doing I always get the message:
    No batch input data for screen SAPMV45A 4002
    Does anyone has experience with adding new partners in the header and can explain me how to make the right development.
    Thanks in advance.
    Klaus

    Hi Klaus,
    If you get the error No Batch input data for screen proceed as follows:
    1. In the Installation Assistant mark the foreground checkbox (in the column FG of the Installation Assistant project view) of this specific eCATT.
    2. Activate the project again.
    3. Run the eCATT in foreground
    seee this links
    ftp://ftp.software.ibm.com/software/websphere/integration/wbiadapters/library/doc/pdf/mysap4/mysap4_60.pdf
    www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm - 9k -
    thanks
    karthik
    reward me if usefull

Maybe you are looking for

  • SOA_INFRA application not getting initialized when I start the soa_server

    Hi, I have created a Weblogic Domain, with SOA server and BAM server. After starting the Admin Server, when I start the Managed Server (soa_server). I get the following exception in the console: <Jan 21, 2011 8:38:09 PM IST> <Error> <Deployer> <BEA-1

  • HP Photosmart D110. Windows Vista 32-bit. Error: Not on line. Installing new printer.

    On line using Belkin Wireless network stick & Linsky 2 wireless; no router. How do I set up printer for USB on line connection?

  • 0ORGUNIT short text displayed in variable selection screen

    Hello experts, I use the 0ORGUNIT as variable in the selection screen, when i use the selection button, the 0ORGUNIT is displayed as a hierarchy but the text are in short text. In the query, the text are well displayed in Medium-Lenght text. Where ca

  • Photos going black in iMovie 11, help!

    Hi guys, first post so please be gentle. I have a MBA with iPhoto 11 and iMovie 11 runnion Lion,  I made a movie with video clips and some photos and all was working fine,  photos imported from their event folder in iPhoto.  Now today i decide to add

  • Interface Controller Issue

    Hi, Hope you can help me on this one. We're trying to use an interface controller to use an external Web Dynpro app in our current Web Dynpro project. Whenever we try to do some context mapping in our Wed Dynpro project, it seems that our Web Dynpro