UDF for Line item number

Hi All,
Currently i'm working on a EDI2JDBC scenario. we have a field called LINE_ITEM_NUMBER at the target side. The incoming EDI signal doesn't contain the line item number and at the target side for every line item we need a create line item number. Lets suppose the incoming signals contains 3 line item number then at target side the value for LINE_ITEM_NUMBER should be 1,2 and 3. Can i achieve this functionality with any standard function or do i need to write an UDF? Can anyone provide the code for UDF?
Your hekp is highly appreciated.
Regards
Faisal.

Hi Faisal,
The Below mapping will work for your requirement..
Source(LineItemNumber)--->Index(Initial Value = 1, Increment = 1 )------\
                                                                         then
Source(LineItemNumber)  ---->  Exisists      ----->  If                     ------>Target(LineItemNumber)
                                                                         else
                                                  Constant[0] ------------/
If Input is
<Source>
   <Line>aaaa</Line>
   <Line>bbbb</Line>
   <Line>cccc</Line>
</Source>
Your Target will be Like This
<Target>
   <Line>1</Line>
   <Line>2</Line>
   <Line>3</Line>
</Target>
I have Tested That Mapping.. Working as shown below.
Let me know For any clarifications..
Regards
Jyothi A.

Similar Messages

  • PO Number and Line Item Number for Invoice Plan Number

    Hi Experts,
    Can somebody please guide me how to fetch the PO Number and respective PO Line Item Number for an Invoice Plan (FPLNR).
    In FPLA Table, PO number is available but line item number is not available.  If a PO is having multiple line items, different line items will have different Invoice Plan numbers.
    Thanks in Advance.
    Radha Krishna Madineedi

    Hi Ramesh,
    I have got the answer after posting this thread.  We can get the PO Number and the Line Item from EKPO Table itself by passing the FPLNR.
    Anyway,  thanks for your reply.
    Regards
    Radha Krishna.

  • User Exit for ME52N with Purchase Requisition number & line item number

    Does anyone know which user exit I could use to get at the purchase requisition number and line item number when I am trying to change a PR.  I see various exits with im_req_item but when I code a popup in the include it is not appearing.  I am just not finding the right exit.

    You can use enhancement MEREQ001, function exit EXIT_SAPLMEREQ_005. This enhancement description gives impression that it can only be used if you have custom fields but it can be used even when you don't have custom fields.

  • Adding Values of same line item number

    Hi Experts... please help me on my issue below...
    I have this strucutre of my target message.
    Line_item (1..n)
    ...Line_itemno (1..1)
    ...Material_no (1..1)
    ...Qty (1..1)
    The line item no can be as follows...
    10
    20
    30
    31
    40
    50
    My problem is... i need to combine values for 30 and 31, at the same time i need to add the qty of the both... so for the sequence above, my target message should only contain 5 line items, with line item 30 as the combination of line items 30 and 31. Can I achieve this using standard functions?
    Please help.

    Follow this mapping.
    For Line Item parent node use this.
    http://www.flickr.com/photos/28929439@N06/4405415707/sizes/o/
    For Qty element mapping use this
    http://www.flickr.com/photos/28929439@N06/4405415711/sizes/o/
    make both the Line_itemno & qty element in the source to the highest context level.
    Use this UDF to sum-up the quantity of line items. UDF type shoudl be context.
    int sum=0;
    for(int i=0;i<var1.length;i++)
    sum = sum+ Integer.parseInt(var1<i>);
    result.addValue(sum);
    ~SaNv...

  • No control line for line item - error while posting bd to accounting

    Hi all,
    Billing document showing err "no control line for line item" while posting to accounting doc.Sales document is complete no in completion logs.
    Previous errr: g/l missing for line item" in order incompletion after maintaining company code for customer, then refresh the g/l missing for line item is no more logs and showing the error "no control line for line item" while posting bd to accts.
    Please help
    Regards
    anush

    Hello Anush,
    if the company data of the payer was not created when the sales order has been created, then the system could not create the correct records in table VBREVK. Once the company data has been maintained the VBREVK records could be corrected by re-saving the sales, but only if no billing document exists.
    In your case you already created the billing document.
    Please try these step:
    1. reverse billing document
    2. run VA02 add a blank char to PO number, save
    3. create new billing document
    Best regards,
    Ivano.

  • Problem in bdc for table control for line items

    Hi experts,
    I am runnig a bdc for ME52.
    i am just entering PR number, in the second screen i have got all the line items. I need to select these line item 10 and double click or hit enter, it takes me to screen 3, there im just checking a checkbox and saving.
    Again i need to select the line item 20 and double click or hit enter. again the same process.
    Again repeat for all the line items.
    But my problem is it is updating everytime for only line item  10. for line item 20 and others it say "no chnge in the data".
    I am pasting my code here. please check and revert me back .plz.
    DATA: w_output LIKE LINE OF i_output.
      REFRESH I_ITAB[].
      SELECT * FROM EBAN
               INTO TABLE i_itab
               WHERE banfn in s_banfn AND
                     bsart in s_bsart AND
                     bstyp in s_bstyp AND
                     matnr in s_matnr AND
                     werks in s_werks AND
                     lfdat in s_lfdat AND
                     pstyp in s_pstyp AND
                     knttp in s_knttp AND
                     estkz in s_estkz AND
                     loekz eq ' '.
      IF sy-subrc = 0.
        CLEAR: w_itab,
                 i_poitab[].
        SORT i_itab by banfn.
        LOOP AT i_itab INTO w_itab where menge GT eban-bsmng.
          IF p_close = 'X' AND p_rep = 'X'.
            IF w_itab-ebakz = 'X'.
              w_itab-ebakz = ' '.
              APPEND w_itab to i_poitab.
            ENDIF.
          ELSEIF p_open = 'X' AND p_rep = 'X'.
            IF w_itab-ebakz = ' '.
              w_itab-ebakz = 'X'.
              APPEND w_itab to i_poitab.
            ENDIF.
          ELSEIF p_close = 'X' AND p_repw = 'X'.
            IF w_itab-ebakz = ' '.
              APPEND w_itab to i_poitab.
            ENDIF.
          ELSEIF p_open = 'X' AND p_repw = 'X'.
            IF w_itab-ebakz = 'X'.
              APPEND w_itab to i_poitab.
            ENDIF.
          ENDIF.
        ENDLOOP.
      ENDIF.
      LOOP AT i_poitab into w_output.
        APPEND w_output to i_output.
       PERFORM CALL_BDC.
      endloop.
    IF p_rep = 'X'.
    PERFORM CALL_BDC.
    ENDIF.
    ENDFORM.                    " GET_DATA
    *&      Form  CALL_BDC
          text
    -->  p1        text
    <--  p2        text
    FORM CALL_BDC.
    DATA: seltab(5) TYPE N,
          seltab1(2) TYPE N,
          tempvar(30) TYPE N,
          cnt TYPE N.
    LOOP AT i_output.
    clear: seltab,
           seltab1.
    seltab = i_output-bnfpo.
    seltab1 = seltab+2(2).
    perform bdc_dynpro      using 'SAPMM06B' '0105'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'EBAN-BANFN'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'EBAN-BANFN'
                                  i_output-banfn.
    perform bdc_dynpro      using 'SAPMM06B' '0106'.
    clear tempvar.
    *cnt = 1.
    concatenate 'EBAN-BNFPO(' seltab1 ')' into tempvar.
    perform bdc_field       using 'BDC_CURSOR'
                                 'EBAN-BNFPO(seltab1)'.
                                    tempvar.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=DETA'.
    perform bdc_field       using 'RM06B-BNFPO'
                                  i_output-bnfpo.
    perform bdc_field       using 'RM06B-TCSELFLAG(seltab1)'
                                 'X'.
    perform bdc_dynpro      using 'SAPMM06B' '0102'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'EBAN-EBAKZ'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=BU'.
    perform bdc_field       using 'EBAN-EBAKZ'
                                  i_output-ebakz.
    CALL TRANSACTION 'ME52' USING bdc_data MODE 'A'
                                   MESSAGES INTO i_bdcmsg.
        COMMIT WORK AND WAIT.
    ENDLOOP.
    ENDFORM.                    " CALL_BDC
    *&      Form  bdc_dynpro
          text
         -->P_0686   text
         -->P_0687   text
    FORM bdc_dynpro USING    program dynpro.
    CLEAR bdc_data.
      bdc_data-program  = program.
      bdc_data-dynpro   = dynpro.
      bdc_data-dynbegin = 'X'.
      APPEND bdc_data.
      CLEAR bdc_data.
    ENDFORM.   
    thanks,
    N

    Looks like table control logic is wrong -- do compare with below program...
    only table contril area
    REPORT ZPadmam
    NO STANDARD PAGE HEADING LINE-SIZE 255.
    DATA : BEGIN OF itab OCCURS 0,
    i1 TYPE i,
    lifnr LIKE rf02k-lifnr,
    bukrs LIKE rf02k-bukrs,
    ekorg LIKE rf02k-ekorg,
    ktokk LIKE rf02k-ktokk,
    anred LIKE lfa1-anred,
    name1 LIKE lfa1-name1,
    sortl LIKE lfa1-sortl,
    land1 LIKE lfa1-land1,
    akont LIKE lfb1-akont,
    fdgrv LIKE lfb1-fdgrv,
    waers LIKE lfm1-waers,
    END OF itab.
    DATA : BEGIN OF jtab OCCURS 0,
    j1 TYPE i,
    banks LIKE lfbk-banks,
    bankl LIKE lfbk-bankl,
    bankn LIKE lfbk-bankn,
    END OF jtab.
    DATA : cnt(4) TYPE n.
    DATA : fdt(20) TYPE c.
    DATA : c TYPE i.
    INCLUDE bdcrecx1.
    START-OF-SELECTION.
    CALL FUNCTION 'WS_UPLOAD'
    EXPORTING
    filename = 'C:\first1.txt'
    filetype = 'DAT'
    TABLES
    data_tab = itab.
    CALL FUNCTION 'WS_UPLOAD'
    EXPORTING
    filename = 'C:\second.txt'
    filetype = 'DAT'
    TABLES
    data_tab = jtab.
    LOOP AT itab.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0100'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'RF02K-KTOKK'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_field USING 'RF02K-LIFNR'
    itab-lifnr.
    PERFORM bdc_field USING 'RF02K-BUKRS'
    itab-bukrs.
    PERFORM bdc_field USING 'RF02K-EKORG'
    itab-ekorg.
    PERFORM bdc_field USING 'RF02K-KTOKK'
    itab-ktokk.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0110'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFA1-LAND1'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_field USING 'LFA1-ANRED'
    itab-anred.
    PERFORM bdc_field USING 'LFA1-NAME1'
    itab-name1.
    PERFORM bdc_field USING 'LFA1-SORTL'
    itab-sortl.
    PERFORM bdc_field USING 'LFA1-LAND1'
    itab-land1.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0120'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFA1-KUNNR'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFBK-BANKN(01)'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=ENTR'.
    cnt = 0.
    LOOP AT jtab WHERE j1 = itab-i1.
    cnt = cnt + 1.
    CONCATENATE 'LFBK-BANKS(' cnt ')' INTO fdt.
    PERFORM bdc_field USING fdt jtab-banks.
    CONCATENATE 'LFBK-BANKL(' cnt ')' INTO fdt.
    PERFORM bdc_field USING fdt jtab-bankl.
    CONCATENATE 'LFBK-BANKN(' cnt ')' INTO fdt.
    PERFORM bdc_field USING fdt jtab-bankn.
    IF cnt = 5.
    cnt = 0.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFBK-BANKS(01)'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=P+'.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFBK-BANKN(02)'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=ENTR'.
    ENDIF.
    ENDLOOP.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFBK-BANKS(01)'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=ENTR'.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0210'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFB1-FDGRV'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_field USING 'LFB1-AKONT'
    itab-akont.
    PERFORM bdc_field USING 'LFB1-FDGRV'
    itab-fdgrv.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0215'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFB1-ZTERM'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0220'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFB5-MAHNA'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0310'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LFM1-WAERS'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_field USING 'LFM1-WAERS'
    itab-waers.
    PERFORM bdc_dynpro USING 'SAPMF02K' '0320'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'RF02K-LIFNR'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=ENTR'.
    PERFORM bdc_dynpro USING 'SAPLSPO1' '0300'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=YES'.
    PERFORM bdc_transaction USING 'XK01'.
    ENDLOOP.
    PERFORM close_group.
    Thanks
    Seshu

  • Create delivery  document for line item 5 only manually

    Hi Sap Experts,
    We have scenario, we have created sales order with 10 line items while creating delivery we don’t want to show all the 10 line item to delivery creator (creating delivery manually).
    We will send him mail saying that create delivery  document for line item 5 and we will provide him material number and delivery date and shipping point with sales order number.
    We don’t want to use partial delivery option that split the delivery and we don’t want to use VL10C tcode also.
    What are options we have and how to customize this scenario?
    Kindly suggest.
    Regards,
    Kotli

    Can you be clear in your requirement?
    One requirement is user should not select line items other than the one instructed to them
    The other requirement is delivery split should happen based on item category
    If your requirement is first one, you need to go with user exit USEREXIT_MOVE_FIELD_TO_LIPS in include MV50AFZ1 but I am not sure, on what logic, coding to be included in this exit.  If your requirement is second one, then just try in your system and share the outcome how system is functioning.  You will come to know how standard SAP works.
    G. Lakshmipathi

  • BAPI_SALESORDER_CREATEFROMDAT2 Purchase order line item number

    Hi Freinds,
    I have small issue using the function module "BAPI_SALESORDER_CREATEFROMDAT2" , it is creating incomplete sales orders when the Saleorder line item number and POline item number are different.
    Example:
    If i assign the same value like "000010" for ptb_items-itm_number,ptb_items-po_itm_no it works fine and sales order doesn't have any incomplete log.
    but when i have different values like "000010" for   ptb_items-itm_number and "000123" for ptb_items-po_itm_no. both the cases all other information is same.
    Could anybody helps me to fix this problem so that i can avoid creating incomplete sales orders.
    Thanks for the quick reply and help.
    Regards,
    Praveen

    Hello Praveen
    The items structure BAPISDITM has a field <b>PO_ITM_NO</b> (Item Number of the Underlying Purchase Order) which most likely links the two numbers together.
    Regards
       Uwe

  • Purchase requistion number and line item number linkage with work order opr

    Hello,
    I want to know what is the link between Purchase requisition number along with its line item number with work order operation number.
    For the non stock component assign to Work order operation ( say operation 10) the PR get generated for that component which assign to that operation .
    in which table we can find that PR as input and output as Work order number along with its operation .
    In AFVC table if we put PR as input then it does not show any entry for that PR number?
    Regards
    Vaibhav

    HI Vaibhav,
    If you have the Work Order Number AUFNR, then you can get AUFPL from AFKO.
    Then Pass AUFPL to AFVC table to get BANFN(Purchase requisition number) and BNFPO(Item number of the purchase requisition in the order).
    Regards,
    Ravi

  • Additional fields for line item display for Vendor Accounts

    Hi,
    The additional fields for line item display have been defined for the vendor accounts. I am able to see the additional fields in SAP 4.7 system but not in ECC 6.0.
    Could you help me to know how the same will be displayed in ECC 6.0 system.
    Thanks

    In SPRO, Vendor Accounts -> Line Items -> Display Line Items -> Define Additional fields for Line item display, the fields for Check number from (PAYR-CHECF) and Tax Jurisdiction (BSEG-TXJCD) have been defined.
    When I am executing Vendor Line Item display (FBL1N), I am not able to select these fields for defining a layout. Could you please let me know, how I will get these fields in FBL1N.
    Thanks

  • Line item number and ledger item number posted differently

    Hi Friends ,
      I have a BAPI for posting the documents in SAP from another system.This BAPI is using the standard BAPI -  'BAPI_ACC_DOCUMENT_POST' to post the documents.But when I post the document using this BAPI the line item number and ledger item number in the document are posted differently. ie . for line item no 1 ledger item is 24 .But when I am posting it directly it is same ie for line item no 1 ledger item no is also 1.Lot of other programs in our R/3 system is dependent in this logic.What could be the parameters in BAPI that could affect line item and ledager item ? Can anybody help me in finding out the reason for this ?
    Thanks in advance ,
    Joby

    Hi ,
    Anybody can help me on this issue ?
    Thanks in advance ,
    Joby

  • GR Doc# and GR Line Item Number

    Hi All,
    We have custom defined infocube actually WM-stocks.Now our requirement is to add GR Number and GR line Item Number. can be these be added to Infocube or should we go for ODS? any help from experts?
    Data has been loaded from generic datasource which is based on LQUA table.
    regards

    Hi,
    We implemented just the opposite:
    A cube for line items, an ODS for header data which didn't went to the cube (I mean those data that cannot be calculated by summing up item data).
    If we need summary data from ODS, we use RRI.
    Everything depends on a level of details you need. In our case we needed analysis on item data.
    Best regards,
    Eugene
    Message was edited by: Eugene Khusainov

  • Hi,How to trace  line item number in SHC

    Hi friends,
    I would like to know from where this line item number in SHC comes?
    Wether we need to do any settings or it is system generated?
    In my case this is jumping like if one item in SHC is having line item number 1 then next one is coming like 20 ?....so its a strange......
    Regards,
    Navneet

    Hi
    <u>SPRO Path</u>
    Supplier Relationship Management -> SRM Server -> Cross-Application Basic Settings -> Number ranges -> Define number ranges for shopping cart and follow-on documents
    <u>In SPRO Setting, you define number range settings for shopping cart, etc.. using SNUM / BBNU transactions.</u>
    Technically speaking, there is a field NUMBER_INT inside the BADI Standard SRM Structure, which is called at run-time to create a number (Satrting with 10, then 20, then 30, and similarly onwards... ). [Similar to the line item numbers, what are created in R/3 system Purchase order number, Sales order number transactions]. Incase you implement BBP_DOC_CHANGE_BADI, you can find the detailed numbers in every line item..
    Hope this will help.
    Do let me know.
    Regards
    - Atul

  • CDPOS - Line Item Number

    Hi
    Table CDPOS gives the changes made onto a SO Line Item. But it has no infomormation on which Line Item Number.
    Still, the program RVSCD100 gives the Line Item Number for that change.
    I could not find out from where it picks the Line Item number!
    Could anybody help me how to find the Line Item Number for the records in CDPOS?
    Please help..
    Richard

    the field table key in CDPOS has  the concatenated key field value.
    If you are refering for vbap table:
    for example
    MANDANT    100
    OBJECTCLAS VERKBELEG
    OBJECTID   0000000001
    CHANGENR   0000028225
    TABNAME    VBAP
    TABKEY     1000000000001000010
    FNAME      NETPR
    Here table key
    client + sales order no + item no
    derive the item no from there

  • How can i decide candidates for line item dimension?

    1Q): we have many infocubes out of all these infocubes, i have to decide which infocubes are the candidates for lineitem dimension? How to do it? Please tell me the technical specs how to do the analysis to find out the candidates for line item dimension?
    2Q): if i have the small dimension can i combine all these dimension in to one dimension? what is the benefit of doing this? how to find out which dimensions are small?
    <u>Pizzaman i like to hear from you on this topic</u>. Thanks to SDN Community. i appreciate your help. Again Thank you.

    The process of figuring out what you might want to create as a line item dimension can vary a bit, it can depend a lot on your exisitng level of domain expertise (how well do you know the data in question). If you are familiar with the data, I would recommend you just take an initial guess at what you believe could be line item dimensions.  If you are not familiar witht the data, you might want to examine the source more to understand the cardinality of different characteristics and identify any relationships between characteristics. 
    I really encourage people to just go ahead and model it and load some data and review, rather than agonizing over developing the theoretically perfect model on paper before they start. You learn a lot more that way.
    Any of the SAP rules of thumb, are just that, general rules, not a pronouncement from God.  There are always extenuating or unique circumstances that might warrant disregarding the rule, e.g. if the InfoCube will never become very large, maybe some of the concerns just are not worth your effort.
    With every release of the Oracle (and the other DBs too)Oracle keeps getting better at data warehousing and star schemas. Oracle 10i is supposed to have made handling bitmap indices much more efficient, which is on of the  factors influencing the decision to create a line item dimension.      
    There are other threads on SDN on line item dims that provide more technical detail and can help answer you first question
    As far as 2Q - generally, it's better to have several small dimensions than one larger dimension. But having said that, combining a few <b>very small dimensions</b> into another  slightly larger (<i>but still small</i>) dimension is a good idea. It keeps the number of table joins down which will improve query performance. You would do this with characterisitcs that have very few values, e.g. yes/no indicators.
    e.g.
    You have 8 characteristics that all of which have only two values. You put them in one dimension, and the max size of the dimension table is still only 2x2x2x2x2x2x2x2 or 256 rows.  If you had these characteristics in other much larger dimensions, it's not hard to see it causing those dimensions to double, perhaps creating hundreds of thousands of dimension table rows to be created.
    For more - read   <a href="http://www.kimballgroup.com/html/designtipsPDF/DesignTips2003/KimballDT48DeClutter.pdf">Ralph Kimball Design Tip 48 - Junk Dimensions</a>

Maybe you are looking for