RFIDYYWT across company codes produces 1099 with multiple records per TIN

We have multiple company codes that post 1099-MISC relevant payments to a common set of vendors.  All payments are processed through our main (paying) company code.
All our company codes are one taxable entity to the federal government, with one TIN.  We are required to submit one file to the IRS.
Unfortunately, when we execute RFIDYYWT across company codes we get multiple records per vendor, one for each company code, despite that the vendor has only one TIN.
How may we customize the system so that a single execution of RFIDYYWT provides an IRS compliant file that aggregates common vendor records?
Thank you in advance for your assistance.
Regards,
Otto Baskin
P.S. Iu2019m happy to award points.

Hi
We have similar issue.. It's been long time.. but I thought of asking you.. Did you find solution? If so, can you please share.
Thanks
Srini

Similar Messages

  • Purchasing across company codes

    __Current System__
    We have 4 company codes with 4 purchasing org's; each for respective company codes.
    New Scenario
    Due to IT reorg, now we want to be able to purchase across company codes. Basically, single PO with multiple line items, coded to different cost center's, internal orders belonging to different company codes.
    What would be the best way to go about this?
    Points will be awarded.
    Thanks
    Amrish.

    Hi,
      Check whether the account assignment object (cost centre, wbs, etc) used belongs to the same company code in the purchase document
    Regards

  • Help - Error in PR BAPI :  Purchasing across company codes is not allowed..

    I have written a program to create Purchase Requisition.I am using two BAPIs.In the file i specify the old PR No, New Plant,Purch Group and Purch Org.It is actually a program to create a new PR in a new plant which is a copy of an Old PR in older plant.
    Program is below:
    I am getting the error Purchasing across company codes is not allowed..
    Please Help
    *& Report  ZMMB_BDC_ME51N_WO
    REPORT  ZMMB_BDC_ME51N_WO.
    INITIALIZATION.
    D A T A   D E C L A R A T I O N                                     *
      TYPES: BEGIN OF TY_TABDATA,
              BANFN TYPE EBAN-BANFN, " Purchase Requistion No
              WERKS TYPE MEREQ3211GRID-WERKS, "Plant
              EKGRP TYPE MEREQ3211GRID-EKGRP, "Purchasing Group
              EKORG TYPE MEREQ3211GRID-EKORG, "Purchasing Organization
             END OF TY_TABDATA.
      TYPES: BEGIN OF TY_CHECK,
                BANFN TYPE EBAN-BANFN, " Purchase Requistion No
                BNFPO TYPE EBAN-BNFPO, " Purchase Requistion Item No
                EBAKZ TYPE EBAN-EBAKZ, " PR Closed
             END OF TY_CHECK.
    Declaration of the Internal Table & Work Area.
      DATA:
             IT_TABDATA         TYPE  STANDARD  TABLE  OF   TY_TABDATA, " Internal Table for file
             WA_TABDATA         TYPE                       TY_TABDATA.
      DATA: IT_ITEM TYPE STANDARD TABLE OF BAPIEBAN ,
            WA_ITEM LIKE LINE OF IT_ITEM,
            IT_ITEM1 TYPE STANDARD TABLE OF BAPIEBANC,
            WA_ITEM1 LIKE LINE OF IT_ITEM1,
            IT_ACCOUNT TYPE STANDARD TABLE OF BAPIEBKN,
            WA_ACCOUNT LIKE LINE OF IT_ACCOUNT,
            IT_PRITEMTEXT TYPE STANDARD TABLE OF BAPIEBANTX,
            WA_PRITEMTEXT LIKE LINE OF IT_PRITEMTEXT,
            IT_SERVICES TYPE STANDARD TABLE OF BAPIESLL ,
            WA_SERVICES LIKE LINE OF IT_SERVICES,
            IT_SERVICES1 TYPE STANDARD TABLE OF BAPIESLLC ,
            WA_SERVICES1 LIKE LINE OF IT_SERVICES1,
            IT_SERVICETEXT TYPE STANDARD TABLE OF BAPIESLLTX,
            WA_SERVICETEXT LIKE LINE OF IT_SERVICETEXT,
            IT_CHECK TYPE STANDARD TABLE OF TY_CHECK,
            WA_CHECK LIKE LINE OF IT_CHECK.
       Global data Declaration
      DATA:   GV_YEAR(4)         TYPE C,
              GV_MNTH(2)         TYPE C,
              GV_DATE(2)         TYPE C,
              GV_DATUM(8)       TYPE C,
              GV_ANS TYPE C,
              W_FILENAME      TYPE  STRING.
    Declaration of the Internal Table with Header Line comprising of the uploaded data.
      DATA:  BEGIN  OF  IT_FILE_UPLOAD  OCCURS  0.
      INCLUDE  STRUCTURE  ALSMEX_TABLINE.  "  Rows for Table with Excel Data
      DATA:  END  OF  IT_FILE_UPLOAD.
    Batch Input Data for a single Transaction.
    Message of Call Transaction.
      DATA:  BDCDATA  LIKE  BDCDATA     OCCURS  0  WITH  HEADER  LINE,
             MSGTAB   LIKE  BDCMSGCOLL  OCCURS  0  WITH  HEADER  LINE.
    S E L E C T I O N - S C R E E N                                     *
      SELECTION-SCREEN:  BEGIN  OF  BLOCK  B1  WITH  FRAME TITLE TEXT-001,
                             BEGIN  OF  BLOCK  B2  WITH  FRAME TITLE TEXT-004.
      PARAMETERS: P_FNAME  LIKE  RLGRAP-FILENAME  OBLIGATORY.
      SELECTION-SCREEN:      END  OF  BLOCK  B2,
                         END  OF  BLOCK  B1.
    E V E N T : AT    S E L E C T I O N - S C R E E N                   *
    AT  SELECTION-SCREEN  ON  VALUE-REQUEST  FOR  P_FNAME.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          STATIC    = 'X'
        CHANGING
          FILE_NAME = P_FNAME.
    E V E N T : S T A R T - O F - S E L E C T I O N                     *
    START-OF-SELECTION.
    Upload Excel file into Internal Table.
      PERFORM  UPLOAD_EXCEL_FILE.
      IF  NOT  IT_FILE_UPLOAD  IS  INITIAL.
      Confirm whether you want to proceed with the Upload.
        PERFORM  CONFIRM_UPLOAD.
        IF  GV_ANS  EQ  '1'.
      Organize the uploaded data into another Internal Table.
          PERFORM  ORGANIZE_UPLOADED_DATA.
          PERFORM BAPI_CALL.
        ENDIF.
      ELSE.
        LEAVE PROGRAM.
      ENDIF.
    *&      Form  UPLOAD_EXCEL_FILE
          text
    -->  p1        text
    <--  p2        text
    FORM UPLOAD_EXCEL_FILE .
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          FILENAME                = P_FNAME
          I_BEGIN_COL             = 1
          I_BEGIN_ROW             = 4
          I_END_COL               = 4
          I_END_ROW               = 9999
        TABLES
          INTERN                  = IT_FILE_UPLOAD
        EXCEPTIONS
          INCONSISTENT_PARAMETERS = 1
          UPLOAD_OLE              = 2
          OTHERS                  = 3.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " UPLOAD_EXCEL_FILE
    *&      Form  CONFIRM_UPLOAD
          text
    -->  p1        text
    <--  p2        text
    FORM CONFIRM_UPLOAD .
      CALL FUNCTION 'POPUP_TO_CONFIRM'
        EXPORTING
          TITLEBAR       = TEXT-002
          TEXT_QUESTION  = TEXT-003
        IMPORTING
          ANSWER         = GV_ANS
        EXCEPTIONS
          TEXT_NOT_FOUND = 1
          OTHERS         = 2.
    ENDFORM.                    " CONFIRM_UPLOAD
    *&      Form  ORGANIZE_UPLOADED_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM ORGANIZE_UPLOADED_DATA .
      DATA : GV_TOTROW TYPE I, "No of records
              GV_ROW TYPE I,
              LC_CNT(3) TYPE N.
      GV_TOTROW = 1.
      SORT  IT_FILE_UPLOAD  BY  ROW
                              COL.
      LOOP AT IT_FILE_UPLOAD.
        GV_TOTROW = IT_FILE_UPLOAD-ROW.
      ENDLOOP.
      GV_ROW = 1.
      WHILE GV_ROW <= GV_TOTROW.
        LOOP  AT  IT_FILE_UPLOAD WHERE ROW = GV_ROW.
          CASE  IT_FILE_UPLOAD-COL.
            WHEN '0001'.
              WA_TABDATA-BANFN = IT_FILE_UPLOAD-VALUE.
            WHEN '0002'.
              WA_TABDATA-WERKS = IT_FILE_UPLOAD-VALUE.
            WHEN '0003'.
              WA_TABDATA-EKGRP = IT_FILE_UPLOAD-VALUE.
            WHEN '0004'.
              WA_TABDATA-EKORG = IT_FILE_UPLOAD-VALUE.
          ENDCASE.
        ENDLOOP.
        GV_ROW = GV_ROW + 1.
        APPEND WA_TABDATA TO   IT_TABDATA .
        CLEAR :WA_TABDATA.
      ENDWHILE.
    ENDFORM.                    " ORGANIZE_UPLOADED_DATA
    *&      Form  BAPI_CALL
          text
    -->  p1        text
    <--  p2        text
    FORM BAPI_CALL .
      DATA:ITM_NO(4) TYPE N,LV_PERCENTAGE(3) TYPE N,
           LV_MSG(60),
           IT_RETURN TYPE STANDARD TABLE OF BAPIRETURN,
           WA_RETURN LIKE LINE OF IT_RETURN.
      DATA: BEGIN OF WA_RETURN1,
            BANFN TYPE EBAN-BANFN.
      INCLUDE  TYPE BAPIRETURN.
      DATA END OF WA_RETURN1.
      DATA:IT_RETURN1 LIKE STANDARD TABLE OF WA_RETURN1.
      DESCRIBE TABLE IT_TABDATA LINES ITM_NO.
      LOOP AT IT_TABDATA INTO WA_TABDATA.
        CALL FUNCTION 'BAPI_REQUISITION_GETDETAIL'
          EXPORTING
            NUMBER                               = WA_TABDATA-BANFN
           ACCOUNT_ASSIGNMENT                   = 'X'
           ITEM_TEXTS                           = 'X'
           SERVICES                             = 'X'
           SERVICE_TEXTS                        = 'X'
          TABLES
            REQUISITION_ITEMS                    = IT_ITEM
           REQUISITION_ACCOUNT_ASSIGNMENT       = IT_ACCOUNT
           REQUISITION_TEXT                     = IT_PRITEMTEXT
      REQUISITION_LIMITS                   =
      REQUISITION_CONTRACT_LIMITS          =
       REQUISITION_SERVICES                 = IT_SERVICES
       REQUISITION_SERVICES_TEXTS           = IT_SERVICETEXT
      REQUISITION_SRV_ACCASS_VALUES        =
      RETURN                               =
        COMPUTE LV_PERCENTAGE = ( ITM_NO / SY-TABIX ) * 100.
        CONCATENATE 'PROCESSING PURCHASING REQUISITION FOR OLD PR NUMBER ' WA_TABDATA-BANFN INTO LV_MSG.
        CALL FUNCTION 'RM_SAPGUI_PROGRESS_INDICATOR'
          EXPORTING
            PERCENTAGE = LV_PERCENTAGE
            TEXT       = LV_MSG.
        CLEAR:LV_PERCENTAGE ,LV_MSG.
        IF IT_TABDATA[] IS NOT INITIAL.
          SELECT BANFN BNFPO EBAKZ FROM EBAN INTO TABLE IT_CHECK FOR ALL ENTRIES IN IT_TABDATA
              WHERE BANFN = IT_TABDATA-BANFN AND EBAKZ = 'X'.
        ENDIF.
        LOOP AT IT_CHECK INTO WA_CHECK.
          LOOP AT IT_ITEM INTO WA_ITEM WHERE PREQ_NO = WA_CHECK-BANFN AND PREQ_ITEM = WA_CHECK-BNFPO.
            DELETE IT_ITEM WHERE PREQ_NO = WA_CHECK-BANFN AND PREQ_ITEM = WA_CHECK-BNFPO.
          ENDLOOP.
          LOOP AT IT_ACCOUNT INTO WA_ACCOUNT WHERE PREQ_NO = WA_CHECK-BANFN AND PREQ_ITEM = WA_CHECK-BNFPO.
            DELETE IT_ACCOUNT WHERE PREQ_NO = WA_CHECK-BANFN AND PREQ_ITEM = WA_CHECK-BNFPO.
          ENDLOOP.
        ENDLOOP.
        LOOP AT IT_ITEM INTO WA_ITEM.
          WA_ITEM-PLANT = WA_TABDATA-WERKS.
          WA_ITEM-PUR_GROUP = WA_TABDATA-EKGRP.
          WA_ITEM-PURCH_ORG = WA_TABDATA-EKORG.
          MODIFY IT_ITEM FROM WA_ITEM TRANSPORTING PLANT PUR_GROUP PURCH_ORG.
          MOVE-CORRESPONDING WA_ITEM TO WA_ITEM1.
          WA_ITEM1-PREQ_NO = ''.
          WA_ITEM1-STORE_LOC = ''.
          APPEND WA_ITEM1 TO IT_ITEM1.
          CLEAR WA_ITEM1.
        ENDLOOP.
        LOOP AT IT_ACCOUNT INTO WA_ACCOUNT.
          WA_ACCOUNT-PREQ_NO = ''.
          MODIFY IT_ACCOUNT FROM WA_ACCOUNT TRANSPORTING PREQ_NO.
        ENDLOOP.
        LOOP AT IT_SERVICES INTO WA_SERVICES.
          MOVE-CORRESPONDING WA_SERVICES TO WA_SERVICES1.
          APPEND WA_SERVICES1 TO IT_SERVICES1.
          CLEAR WA_SERVICES1.
        ENDLOOP.
        CALL FUNCTION 'BAPI_REQUISITION_CREATE'
       EXPORTING
         SKIP_ITEMS_WITH_ERROR                =
         AUTOMATIC_SOURCE                     = 'X'
       IMPORTING
         NUMBER                               =
          TABLES
            REQUISITION_ITEMS                    = IT_ITEM1
           REQUISITION_ACCOUNT_ASSIGNMENT       = IT_ACCOUNT
           REQUISITION_ITEM_TEXT                = IT_PRITEMTEXT
         REQUISITION_LIMITS                   =
         REQUISITION_CONTRACT_LIMITS          =
          REQUISITION_SERVICES                 = IT_SERVICES1
         REQUISITION_SRV_ACCASS_VALUES        =
           RETURN                               = IT_RETURN
          REQUISITION_SERVICES_TEXT            = IT_SERVICETEXT
         REQUISITION_ADDRDELIVERY             =
         EXTENSIONIN                          =
        READ TABLE IT_RETURN INTO WA_RETURN INDEX 1.
        IF WA_RETURN-TYPE = 'E'.
          CLEAR WA_RETURN.
          LOOP AT IT_RETURN INTO WA_RETURN WHERE TYPE EQ 'E'.
            WA_RETURN1-BANFN = WA_TABDATA-BANFN.
            MOVE-CORRESPONDING WA_RETURN TO  WA_RETURN1.
            APPEND WA_RETURN1 TO IT_RETURN1.
            CLEAR WA_RETURN1.
          ENDLOOP.
        ELSE.
          WA_RETURN1-BANFN = WA_TABDATA-BANFN.
          MOVE-CORRESPONDING WA_RETURN TO  WA_RETURN1.
          APPEND WA_RETURN1 TO IT_RETURN1.
          CLEAR WA_RETURN1.
        ENDIF.
        IF SY-SUBRC <> 0.
        ENDIF.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
           EXPORTING
             WAIT          =
           IMPORTING
             RETURN        =
        REFRESH: IT_RETURN[],IT_ITEM[],IT_ACCOUNT[],IT_PRITEMTEXT[],IT_ITEM1[],IT_SERVICES[],IT_SERVICES1[],
                 IT_SERVICETEXT[].
      ENDLOOP.
      WRITE :10 'OLD PR NUMBER' COLOR COL_KEY, 25 'MESSAGE' COLOR COL_KEY.
      LOOP AT IT_RETURN1 INTO WA_RETURN1.
        WRITE:/10 WA_RETURN1-BANFN,25 WA_RETURN1-MESSAGE.
      ENDLOOP.
      CLEAR:IT_TABDATA[],WA_TABDATA.
    ENDFORM   .                 "BAPI_CALL

    Solved on Own

  • Control message "Purchase across Company codes is not allowed"

    Hello Gurus
    We are running SRM5.0 ECS using EP. If we attempt to create a SC that falls foul of the above validation, we get a message but only as a warning. Naturally if a warning, users will ignore and continue the purchasing process up to the point that the PO is created. However, when the PO is transferred to the ECC, we get the "Error in Process" status for the same message, but ECC validation routines have this set to an error and not a warning.  Evidently there is a discrepancy with severity between SRM and ECC. We want to ensure that SRM matches up to ECC so it is an error in SRM and not a warning.
    Searching the web, I see that the message id is KI-113. Can't be sure this is correct as the portal we use does not display the msg id. I've checked the message control config in SRM, and see nothing for the message. Further investigation reveals that in order to control messages through the config, you can only maintain those that are listed in BBPV_PDMSG. After searching for id or text, I still cannot see how I can escalate ths message to an error.
    Any ideas?
    Thanks
    Ian

    Hi peggy
    This message comes from your r/3 backend system. go to se91 KI - message no. 113 in sap r/3.
    it is not srm message.
    Error : Purchasing across company codes is not allowed
    BR
    Muthu
    Edited by: Muthuraman Govindasamy on Oct 13, 2008 10:17 AM

  • Double Invoice check across company code

    Hi All,
    I have been trying to use the double invoice check functionality across company codes. i.e. when an invoice is posted in Company code A with ref no: xxx, and when I try to post a new inovice with the same reference ie. xxx in company code B, system does not give error message.
    Please note: I have maintained message in application F5, no: 117 and 312.
    Also in customization for double invoice check, I have unchecked "Check Company code" and checked "check reference" and "check invoice date"
    I have also maintained the double invoice check flag in the vendor master.
    Please help at the earliest.
    Regards,
    Ankush

    Hi Ankush,
    Good Day,
    Duplicate invoice check across company code will not check for FI related invoice ( Like FB60)
    But you can able to achive this with BTE ( SAMPLE_PROCESS_00001110 for FI Duplicate invoice check)
    Steps for Implementing a BTE
    (1)Goto transction FIBF menu Environment->Info System (P/S )
    (2)Select the BTE you want to implement.
    (3)Press button Sample function module
    (4)This brings you to SE37 - Copy the sample function module to a Z-function module (First create a new function group for the function module) . Note: The name of the Z-functionmodule is not important
    (5)Edit the code in the new function module
    (6)Go back to transaction FIBF - Menu Settings->Products -> Of a customer and create a new product whicj identifies the new product . Remember to mark the Active field.
    (7)Go back to FIBF menu Settings->P/S function modules->of a customer - Create an entry that links the BTE and Product with the new function module
    Best Regards,
    KSK

  • Transporttaion Cross Docking between EWM and ECC across company codes

    Seceanrio is as follows:
    We have an EWM managed site in GB, and an IM managed site in IE.
    We would like to use the transportation cross docking solution from within Service Parts Management to transfer goods from GB to IE, (ECC > EWM > ECC) across company codes.
    Is this possible within the standard SAP solution?
    Thanks in advance,
    Craig Bramhald

    Hi Hari
    Inter Company Purchase scenario works when the same material exists in both the company codes... I dont know how SAP would manage this in the case of Assets, when the Same Asset No is not existent in the other Co Code...
    However, Refer 1523976  PurchaseOrderERPRequest_In_V1:Asset account assignment fails
    This applies to EhP4 / EhP5 - But I dont know if you are using the enterprise service PurchaseOrderERPRequest_In_V1 ....
    If not, better create an OSS message to SAP and check with them mentioning the notes that you have mentioned in your message
    BR,Ajay M

  • Allocations across company codes

    Hi Friends ,
                          We have multiple company codes  and if there are several cost centers within these company codes and If we  want to allocate ( assesment or distribute ) across company codes I guess we can as we still use 1 controlling area which the one level above company codes .  If I'm wrong can you please correct and how do I test this posting and what all settings I need to make for this to work .
    Thanks in advance ,

    Hi Andraju,
    Yes your are right we can do assessment/distribution among cost centers belonging to different Co. Codes, provided all these company codes belong to same Controlling Area which is true in your case.
    You have to decide whether you have to do Actual or Plan Assessment/distribution or both. Based on this you have to first create a Actual/Plan Assessment/Distribution Cycle & then execute the same.
    Another thing to remember is that, in case of Assessment, you have to create an Assessment Cost Element  at Controlling Area Level which would be valid for all Co. codes under Co Area level; but in case of Distribution the relevant Cost element you have chosen as sender in the distribution cycle should be extended as General Ledger in all the company code falling in a Controlling Area.
    Hope this information is of some use to you.
    Regards,
    Akhil

  • Vendor payment and customer recipts across company codes

    Hi all,
    We are having 4 company codes in US.The vendors and customers are spread across company codes.
    1st scenario:
    Vendor "abc" has a debit balance os 5000 in company code A. In company code B, the same vendor has credit balance of 10000.
    How can we net the balances in both compnay codes and pay the difference to the vendor. The client has separate house banks for each company code.
    2 nd scenario:
    A customer sends a check for 2500. which needs to be applied against company code A (500) and Company code B (2000)
    How does the payment and receipts needs to be applied across company codes. Kindly suggest.
    Regards,
    Amulya.
    Edited by: amulya chowdary on May 21, 2010 4:31 PM

    Hi,
    You need to configure cross company clearing thru OBYA.
    Your queries can be addressed either treating other company code as the vendor/customer or clearing to a inter company GL.
    Best Regards,
    Madhu

  • Company code wise material with quantity table

    Hi
    I need Table for company code wise material with quantity to check 2009 stock which is issued.
    thanks
    Edited by: pandu123 on Aug 17, 2011 1:21 AM

    Hi,
    There is no table which shows  direct relation between company code and plant, you will have to arrive at the assignment of the plants to the company code.
    But you can either write a query/ report to show this relation and a report with this relation and quanity will have performance issues if you are checking for huge data.
    You can refer to the query and check the quantity in the standard reports.

  • Removing number assignment across company code

    Hi all,
    I'm new to FI-AA and am wondering if it's possible to remove the number assignment across company codes in the section "Change View "FI-AA: "Assignmt. to company code providing number range" ?
    I've tried leaving the column "No.CoCd" blank as there isn't any delete icon available to remove the assignment but the system will then prompt me to fill in all required fields.
    thanks
    jazreel

    Hi Bernhard,
    thanks for the reply
    It just prompts me to fill in the required fields (message no. 00055), no other error messages.
    It's the same even after i try to save the changes.
    regards
    jazreeel
    Edited by: jazreeel on Jan 10, 2011 3:43 AM

  • Timewrite across company codes using SAP CATS.

    Hi Experts,
    Want to know please, Can we timewrite across company codes using SAP CATS.
    Thanks,
    Muhammad

    Hello,
    You surely can.
    When the employee enter his time there will be the respective field to identify the cost center or the one you want to assign.
    If you are using the Worklist, bear in mind to correctly have those codes assigned and I would mention to filter the worklist via CATS0001 user-exit to show only the correct ones (which are relevant for that employee).
    Regards,
    Bentow.

  • ABAP Mapping with multiple records

    Hi All,
    I am doing an ABAP mapping and I am new to this.
    I have a following record structure:
    <record>
       <field1>
       <field2>
       <fieldn>
    </record>
    I will receive the multiple records with the above structure in single file.
    I have following the Blog from SDN but it is saying only for single record.
    Can please someone post the code for handing multiple records (ie. loop structure).
    or else please mail me at [email protected]
    Regards,
    Shylesh

    Hi Thanks for the reply.
    But actually these threads do not sufficient for my requriement.
    I written the following code and it is working fine for one single record.  But I want to change this code to work for multiple records which I am not able to do as I am new to Object Oriented.
    method IF_MAPPING~EXECUTE.
    initialize iXML
      type-pools: ixml.
      class cl_ixml definition load.
    create main factory
      data: ixmlfactory type ref to if_ixml.
      ixmlfactory = cl_ixml=>create( ).
    create stream factory
      data: streamfactory type ref to if_ixml_stream_factory.
      streamfactory = ixmlfactory->create_stream_factory( ).
    create input stream
      data: istream type ref to if_ixml_istream.
      istream = streamfactory->create_istream_xstring( source ).
    parse input document =================================================
    initialize input document
      data: idocument type ref to if_ixml_document.
      idocument = ixmlfactory->create_document( ).
    parse input document
      data: iparser type ref to if_ixml_parser.
      iparser = ixmlfactory->create_parser( stream_factory = streamfactory
                                                     istream = istream
                                                    document = idocument ).
      iparser->parse( ).
    get message content of tag <empno>
      data: incode type ref to if_ixml_node_collection.
      data: incode1 type ref to if_ixml_node_collection.
      data: incode2 type ref to if_ixml_node_collection.
      data: incode3 type ref to if_ixml_node_collection.
      data: incode4 type ref to if_ixml_node_collection.
      data: incode5 type ref to if_ixml_node_collection.
      data: incode6 type ref to if_ixml_node_collection.
      data: incode7 type ref to if_ixml_node_collection.
      data: incode8 type ref to if_ixml_node_collection.
      data: incode9 type ref to if_ixml_node_collection.
      incode = idocument->get_elements_by_tag_name( 'empno' ).
      incode1 = idocument->get_elements_by_tag_name( 'empname' ).
      incode2 = idocument->get_elements_by_tag_name( 'address1' ).
      incode3 = idocument->get_elements_by_tag_name( 'address2' ).
      incode4 = idocument->get_elements_by_tag_name( 'address3' ).
      incode5 = idocument->get_elements_by_tag_name( 'zipcode' ).
      incode6 = idocument->get_elements_by_tag_name( 'mailid' ).
      incode7 = idocument->get_elements_by_tag_name( 'phoneno' ).
      incode8 = idocument->get_elements_by_tag_name( 'country' ).
      incode9 = idocument->get_elements_by_tag_name( 'city' ).
    get XI header data (here: "Sender Service")
      data: l_sender_service type string.
      l_sender_service = param->get( if_mapping_param=>sender_service ).
    add trace (appears in message monitoring)
      data: l_trace type string.
      concatenate 'Sender Service = ' l_sender_service into l_trace.
      trace->trace( level = '1'
      message = l_trace ).
    build up output document =============================================
    create output document
      data: odocument type ref to if_ixml_document.
      odocument = ixmlfactory->create_document( ).
    create element 'SenderService' and add it to the document
      data: msgtype type ref to if_ixml_element.
      msgtype = odocument->create_simple_element( name = 'record'
                                                parent = odocument ).
    create element 'SenderService' and add it to the output document
      data: elementsender type ref to if_ixml_element.
      elementsender = odocument->create_simple_element( name = 'SenderService'
                                                       value = l_sender_service
                                                      parent = msgtype ).
    add node to the output document
      data: outcode type ref to if_ixml_node.
      data: outcode1 type ref to if_ixml_node.
      data: outcode2 type ref to if_ixml_node.
      data: outcode3 type ref to if_ixml_node.
      data: outcode4 type ref to if_ixml_node.
      data: outcode5 type ref to if_ixml_node.
      data: outcode6 type ref to if_ixml_node.
      data: outcode7 type ref to if_ixml_node.
      data: outcode8 type ref to if_ixml_node.
      data: outcode9 type ref to if_ixml_node.
      outcode = incode->get_item( index = 0 ).
      outcode1 = incode1->get_item( index = 0 ).
      outcode2 = incode2->get_item( index = 0 ).
      outcode3 = incode3->get_item( index = 0 ).
      outcode4 = incode4->get_item( index = 0 ).
      outcode5 = incode5->get_item( index = 0 ).
      outcode6 = incode6->get_item( index = 0 ).
      outcode7 = incode7->get_item( index = 0 ).
      outcode8 = incode8->get_item( index = 0 ).
      outcode9 = incode9->get_item( index = 0 ).
      data irc type i.
      irc = msgtype->append_child( outcode ).
      irc = msgtype->append_child( outcode1 ).
      irc = msgtype->append_child( outcode2 ).
      irc = msgtype->append_child( outcode3 ).
      irc = msgtype->append_child( outcode4 ).
      irc = msgtype->append_child( outcode5 ).
      irc = msgtype->append_child( outcode6 ).
      irc = msgtype->append_child( outcode7 ).
      irc = msgtype->append_child( outcode8 ).
      irc = msgtype->append_child( outcode9 ).
    render document ======================================================
    create output stream
      data: ostream type ref to if_ixml_ostream.
      ostream = streamfactory->create_ostream_xstring( result ).
    create renderer
      data: renderer type ref to if_ixml_renderer.
      renderer = ixmlfactory->create_renderer( ostream = ostream
                                              document = odocument ).
      irc = renderer->render( ).
    endmethod.
    Can anybody help me making these changes.
    Thanks in advance.
    Shylesh

  • Flat File with multiple record types (OWB 10.2.0.2)

    Hi!
    I`m using OWB 10.2.0.2 and I`m trying to load a flat file with multiple record types, using SQL LOADER.
    In the flat file editor in the Record tab, I`ve set the type values and the corresponding record names like this:
    Type Value Record Name
    ======== ===========
    T TRAILER
    0 DETAILS
    1 DETAILS
    2 DETAILS
    When using this flat file in a mapping to load the data in a staging table, the generated code looks like this:
    INTO TABLE TRAILER
    TRUNCATE
    REENABLE DISABLED_CONSTRAINTS
    WHEN (1:1) = 'T'
    INTO TABLE DETAILS
    APPEND
    REENABLE DISABLED_CONSTRAINTS
    WHEN (1:1) = '0,1,2'
    The above clause (WHEN (1:1) = '0,1,2') is wrong as I expect one "INTO TABLE..." clause for each record type.
    Could this be a bug or am I doing something wrong?
    Thanks a lot for your help,
    Yorgos

    We`re using two target tables, one for the trailer record and the other for the details records.
    We are facing this problem from the moment we upgraded from OWB 10.1 to OWB 10.2.0.2, so we think it must be something with the way the sql loader code is generated in the new version.
    As our data sources are mainly flat files coming from mainframes, this is a huge problem for us. We even asked an expert in DW from Oracle to help us on this, but still haven`t found a solution.
    Is there any workaround for this or should we forget sql loader and go with an external tables + custom PL/SQL code solution?
    Your help is greatly appreciated Jean-Pierre.
    Regards,
    Yorgos

  • Handling Change of IT with multiple records in P&F

    Good Morning all,
    Has anyone done this yet? What is the approach to change an infotype with multiple records using P&F; For example IT0021, Subtype 2 (Child). I'm assuming that we will need to display all the records in a tbale first in the Form. Then, create a button or radio button for each row. On click, we can then make changes to the record. Any ideas? Thanks
    Regards

    Welcome to the forum. You can loop through the records like following.
    go_block('A');
    First_Record;
    Loop
    variable := :A.Item_Name;
    Exit when :System.Last_Record = 'TRUE';
    Next_Record;
    End Loop;But what happens when u run the above code, the variable will have the last record's item value.
    So how you are trying to get all the record's Item value into one item?
    Are you going to concatenate? What's the logic you are planning?
    Regards
    Sankar MN

  • How can I convert string to the record store with multiple records in it?

    Hi Everyone,
    How can I convert the string to the record store, with multiple records? I mean I have a string like as below:
    "SecA: [Y,Y,Y,N][good,good,bad,bad] SecB: [Y,Y,N][good,good,cant say] SecC: [Y,N][true,false]"
    now I want to create a record store with three records in it for each i.e. SecA, SecB, SecC. So that I can retrieve them easily using enumerateRecord.
    Please guide me and give me some links or suggestions to achieve the above thing.
    Best Regards

    Hi,
    I'd not use multiple records for this case. Managing more records needs more and redundant effort.
    Just use single record. Create ByteArrayOutputStream->DataOutputStream and put multiple strings via writeUTF() (plus any other data like number of records at the beginning...), then save the byte array to the record...
    It's easier, it's faster (runtime), it's better manageable...
    Rada

Maybe you are looking for