Dynamic file name using reciver file adpater if no Mapping  involved

Hi XI/PI experts,
I am working on one scenerion where I have to poll the files from one server and send them to target FTP server with no content conversion( no Mapping involved).
for example:
if the source file is ABC_Invoice_item.csv
then the target file is expected as  invoice_YYYYMMDD.csv
Please advise how we can acchive this?
Many Thanks in advance for your valuable inputs.
Cheers,
Mohan

Hi,
      You can refer the following link for selecting additional files using a single comm channel :
http://help.sap.com/saphelp_nwpi71/helpdata/EN/44/692ab8a4b633eae10000000a1553f6/content.htm
You can also use a Java mapping instead of adapter module to store the filename dynamically in the message header. In this case, use a data type that has just one field under it. Use the same data type for both sender and receiver.
In your Java mapping, use the code for dynamic configuration to retrieve the sender filename, alter it and then store it in the message header again for use by the receiver adapter.
No changes will be required in the sender comm channel. There will not be any conversion to xml format and the data will pass through as is.
Regards

Similar Messages

  • Creation Dynamic session name using BDC session Method

    Hi All,
    I have one typical BDC problem. If the number of records in file are crossing 80,my bdc is giving problem .So I need to split total records into sets of 80 and submit them. So I need to create the session name dynamically, pass the data dynamically. IF you have example code  or know the procedure as how to proceed kindly inform me
    Regards
    Praveen

    Hi Rob,
    Please find my code below..
    Part of the variables are in Polish since the original developer is a polish guy..
    Praveen
    Code.
    *& Report  ZCO_I025_WSKAZNIKI_STAT_DEV                                 *
    *& Interfejs wczytywania wskaźników statystycznych                     *
    REPORT  zco_i025_wskazniki_stat_dev                                 .
    TYPES:
      BEGIN OF l_tab_dane,
        indic LIKE rk23f-stagr,
        quant LIKE rk23f-mbgbtr,
        mpk LIKE rk23f-ekostl,
        order LIKE rk23f-eaufnr,
        text LIKE rk23f-sgtxt,
      END OF l_tab_dane.
    DATA:
      it_excel TYPE TABLE OF alsmex_tabline,
      wa_excel TYPE alsmex_tabline,
      it_data TYPE TABLE OF l_tab_dane,
      wa_data TYPE l_tab_dane,
      error  TYPE C,
      msg TYPE string.
    DATA:
      iv_pole TYPE string,
      ddatum(10),
      kdatum(10),
    *Inserted By satyam Developer
       filelist    TYPE filetable,
            rc          TYPE i.
    DATA: BEGIN OF bdctab OCCURS 5.
            INCLUDE STRUCTURE bdcdata.
    DATA: END OF bdctab.
    SELECTION-SCREEN BEGIN OF BLOCK p1 WITH FRAME TITLE text-001.
    PARAMETERS:
      p_zakla LIKE tka01-kokrs DEFAULT '1000',
      p_ddate LIKE sy-datum DEFAULT sy-datum,
      p_kdate LIKE sy-datum DEFAULT sy-datum.
    SELECTION-SCREEN ULINE.
    PARAMETERS:
      p_fname LIKE rlgrap-filename.  " DEFAULT 'd:dane.xls'.
    SELECTION-SCREEN END OF BLOCK p1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        EXPORTING
          file_filter       = cl_gui_frontend_services=>filetype_excel
         multiselection    = 'X'
        CHANGING
          file_table        = filelist
          rc                = rc.
      IF LINES( filelist ) IS INITIAL.
        EXIT.
      ENDIF.
      READ TABLE filelist INDEX 1 INTO p_fname.
    START-OF-SELECTION.
    AUTHORITY-CHECK OBJECT 'TKA01'
      ID 'KOKRS' FIELD p_zakla.
    CONCATENATE p_ddate6(2) '.' p_ddate4(2) '.' p_ddate(4) INTO ddatum.
    CONCATENATE p_kdate6(2) '.' p_kdate4(2) '.' p_kdate(4) INTO kdatum.
    error = '0'.
    PERFORM wczytaj_dane.
    IF error = '0'.
      PERFORM utworz_sesje.
      PERFORM wprowadz_dane.
       PERFORM zamknij_sesje.   "comment by prav
    ENDIF.
      PERFORM zamknij_sesje.        "add by prav
    IF error = '1'.
      WRITE: msg, /.
    ENDIF.
    WRITE: 'Wykonano', /.
    *&      Form  wczytaj_dane
          text
    FORM wczytaj_dane.
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename                = p_fname
          i_begin_col             = 1
          i_begin_row             = 1
          i_end_col               = 8
          i_end_row               = 65000
        TABLES
          intern                  = it_excel
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          OTHERS                  = 3.
      IF sy-subrc <> 0.
        WRITE: / 'B&#322;ad importu pliku wejsciowego: ', p_fname, ' - ',
        sy-subrc.
      ELSE.
        SORT it_excel BY row col.
        LOOP AT it_excel INTO wa_excel.
          IF wa_excel-row = 1.
            CONTINUE.
          ENDIF.
          iv_pole = wa_excel-value.
          CASE wa_excel-col.
            WHEN 1. wa_data-indic = iv_pole.
            WHEN 2.
              REPLACE ',' WITH '.' INTO iv_pole.
              wa_data-quant = iv_pole.
            WHEN 3. wa_data-mpk = iv_pole.
            WHEN 4. wa_data-order = iv_pole.
            WHEN 5. wa_data-text = iv_pole.
          ENDCASE.
          AT END OF row.
            IF wa_data-mpk IS INITIAL AND wa_data-order IS INITIAL.
              error = '1'.
              WRITE:
    'Musi by&#263; podane Stanowisko kosztów lub Zlecenie wewn&#281;trzne. Rekord: ',
              wa_excel-row, /.
              EXIT.
            ENDIF.
            IF wa_data-mpk IS NOT INITIAL AND wa_data-order IS NOT INITIAL.
              error = '1'.
              WRITE:
    'Musi by&#263; podane Stanowisko kosztów lub Zlecenie wewn&#281;trzne. Rekord: ',
              wa_excel-row, /.
              EXIT.
            ENDIF.
            IF wa_data-indic IS INITIAL.
              error = '1'.
              WRITE: 'Brak identyfikatora wska&#378;nika. Rekord: ', wa_excel-row
              EXIT.
            ENDIF.
            IF wa_data-quant IS INITIAL.
              error = '1'.
              WRITE: 'Brak informacji o ilo&#347;ci. Rekord: ', wa_excel-row, /.
              EXIT.
            ENDIF.
            APPEND wa_data TO it_data.
            CLEAR wa_data.
          ENDAT.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    "wczytaj_dane
    *&      Form  wprowadz_dane
          text
    FORM wprowadz_dane.
      DATA:
        licznik TYPE i,
        l_txt TYPE string,
        pole(30) TYPE c,
        liczba(15) TYPE c.
      LOOP AT it_data into wa_data.
      PERFORM bdc_dynpro      USING 'SAPLSPO4' '0300'.
      PERFORM bdc_field       USING 'BDC_CURSOR' 'SVALD-VALUE(01)'.
      PERFORM bdc_field       USING 'BDC_OKCODE' '=FURT'.
      PERFORM bdc_field       USING 'SVALD-VALUE(01)' p_zakla.
      PERFORM bdc_dynpro      USING 'SAPLK23F1' '1200'.
      PERFORM bdc_field       USING 'BDC_OKCODE' '/00'.
      PERFORM bdc_field       USING 'COHEADER-SEND_REC_REL' '03SAP'.
      PERFORM bdc_field       USING 'RK23F-STATUS' 'L'.
      PERFORM bdc_field       USING 'COHEADER-BLDAT' ddatum.
      PERFORM bdc_field       USING 'COHEADER-BUDAT' kdatum.
      PERFORM bdc_field       USING 'BDC_CURSOR' 'EKOSTL(1)'.
      licznik = 0.
    LOOP AT it_data into wa_data.
        ADD 1 TO licznik.
        l_txt = licznik.
        CONCATENATE 'EL4(' l_txt ')' INTO pole.
        condense pole no-gaps.
        PERFORM bdc_field USING pole wa_data-indic.
        CONCATENATE 'ELR1(' l_txt ')' INTO pole.
           condense pole no-gaps.
          liczba = wa_data-quant.
          if liczba <  0.
              shift liczba circular  left up to '-'.
          endif.
            condense liczba no-gaps.
        PERFORM bdc_field USING pole liczba.
        IF NOT wa_data-mpk IS INITIAL.
          CONCATENATE 'EL2(' l_txt ')' INTO pole.
             condense pole no-gaps.
          PERFORM bdc_field USING pole wa_data-mpk.
        ENDIF.
        IF NOT wa_data-order IS INITIAL.
          CONCATENATE 'EL3(' l_txt ')' INTO pole.
             condense pole no-gaps.
          PERFORM bdc_field USING pole wa_data-order.
        ENDIF.
        CONCATENATE 'EL8(' l_txt ')' INTO pole.
           condense pole no-gaps.
        PERFORM bdc_field USING pole wa_data-text.
    call transaction 'KB31N' using bdctab mode 'A'.
    refresh:bdctab.
    clear bdctab.
      ENDLOOP.
    CALL FUNCTION 'BDC_INSERT'
       EXPORTING
         tcode            = 'KB31N'
       TABLES
         dynprotab        = bdctab
       EXCEPTIONS
         internal_error   = 1
         not_open         = 2
         queue_error      = 3
         tcode_invalid    = 4
         printing_invalid = 5
         posting_invalid  = 6
         OTHERS           = 7.
    IF sy-subrc <> 0.
       WRITE: / text-010 .
    ENDIF.
    call transaction 'KB31N' using bdctab mode 'A'.
    REFRESH bdctab.
    clear:bdctab.        "by praveen
    ENDFORM.                    "wprowadz_dane
    *&      Form  bdc_dynpro
          text
         -->PROGRAM    text
         -->DYNPRO     text
    FORM bdc_dynpro USING program dynpro.
      CLEAR bdctab.
      MOVE:
        program   TO bdctab-program,
        dynpro    TO bdctab-dynpro,
        'X'       TO bdctab-dynbegin.
      APPEND bdctab.
    ENDFORM.                    "bdc_dynpro
    *&      Form  bdc_field
          text
         -->POLE       text
         -->WARTOSC    text
    FORM bdc_field USING pole wartosc.
      CLEAR bdctab.
      MOVE:
        pole     TO bdctab-fnam,
        wartosc  TO bdctab-fval.
      APPEND bdctab.
    ENDFORM.                    "bdc_field
    *&      Form  utworz_sesje
          text
    FORM utworz_sesje.
      CALL FUNCTION 'BDC_OPEN_GROUP'
        EXPORTING
          client = sy-mandt
          group  = 'WSKASTAT'
          user   = sy-uname
          keep   = 'X'.
    **begin  of praveen
    *if sy-subrc ne 0.
    write 'hai'.
    endif.
    **end of praveen
    ENDFORM.                    "utworz_sesje
    *&      Form  zamknij_sesje
          text
    FORM zamknij_sesje.
      CALL FUNCTION 'BDC_CLOSE_GROUP'.
      IF sy-subrc NE 0.
        WRITE: /, 'B&#322;ad podczas zamykania sesji'.
        EXIT.
      ENDIF.
    ENDFORM.                    "zamknij_sesje

  • Dynamic Column Names using Refcursors

    Hi,
    I have a stored procedure which returns a refcursor. The refcursor contains a SQL query in which the column names and number of columns vary dynamically based on the date parameters passed.
    "My objective is to return certain XYZ details of employees for a certain month range."
    For ex: For the month of Aug-2011, the column names would be '1-AUG-11' to '31-AUG-11 and for Feb-2011 '1-FEB-11' to '28-FEB-11'
    My issue is, when I execute the refcursor query using "EXEC", my column names/headings are preserved.
    FIELD NAMES: EMPLOYEE_CODE XYZ_TYPE *1-AUG-11* *2-AUG-11* ... *31-AUG-11*
    DATA: EMPCODE_Z TYPE1 VALUE_1 VALUE_1 ... VALUE_31
    Whereas when I fetch the refcursor into a collection of nested table and display, my column names are lost.
    DATA: EMPCODE_Z TYPE1 VALUE_1 VALUE_1 ... VALUE_31
    Is there a way where I can preserve the column names from the refcursor after fetching into pl/sql collections?
    Any help would be highly appreciated.
    Thank you.
    Edited by: 867622 on Nov 11, 2011 4:38 PM

    867622 wrote:
    If not dynamic SQL, how can the number of columns be altered based on the input parameters?Cannot. A dynamic SQL projection means dynamic SQL (there's an exception to this, and despite interesting is not relevant to 99.99% of problems dealing with dynamic SQL projections).
    You can however still use a dynamic projection and wrap that into a user defined type interface.
    Here's the basic approach:
    // create a user define type that will provide the wrapper for the SQL projection
    create or replace type TString as table of varchar2(4000);
    // build dynamic SQL projections via this type, e.g.
    select
      TStrings( object_id, object_name, created )
    from user_objects
    select
      TStrings( emp_id, dept_id, salary, commission )
    from employeesDespite the SQL cursors being different and the columns and number of columns being selected different, the SQL projection of both are the same. The Count method tells you the number of columns in the projection. Referencing an applicable column is simply done by using the column's sequential number in the projection.
    You also do not have to use a collection or varchar2 as the wrapper type - you can create complex user objects and use the collection type for that, as the SQL projection.
    Another alternative is converting the ref cursor into a DBMS_SQL cursor and using the latter's describe interface to dynamically determine the structure of the SQL projection and fetching the column values from it. But 11gr1 or later is needed for doing this.

  • Mail Receiver adapter - dynamic file name without mail package

    I know that we can get the dynamic attachment name using mail package... As per the FAQ Mail adapter, the Mail package use is deprecated and hence we do not want to go that route.
    I have seen the following wiki entry for setting the file attachment name...
    http://wiki.sdn.sap.com/wiki/display/XI/Adapter%20Module%20PI%207.0%20Set%20Attachment%20Name?bc=true
    Is this the only approach to dynamic attachment name using Mail adapter (and without Mail package). Or a different approach without Adapter module is possible?

    There is a different approach without using mail package or adapter module.
    Have a look at this Wiki:
    http://wiki.sdn.sap.com/wiki/display/ESOAInfrastructure/Dynamic+Email+Attachment+name+for+Received+Mails+with+ASMA+and+without+using+mail+package

  • Call Type node not setting Call Type Dynamically By name.

    I'm attempting to use the Call Type node to set a Call Type dynamically by name using the following logic:
    concatenate("somestring_",userParseFromVXML("CT"),"_Q")
    The userParseFromVXML is a custom function that works correctly and pulls my data out of FromExtVXML correctly.  If I use a peripheral variable and use the same logic then set the Call Type node to set the call type dynamically by name using the peripheral variable it sets the call type correctly without any problems.  I'm using UCCE 9.0.3 and I'm wondering if anyone else has run across this issue.

    I wish I'd known about the table function before myself.
    This is what my experience is now after having tested these scenarios.
    Scenario
    Example
    PASS/FAIL
    String literal
    concatenate("somestring_", "test", "_Q")
    PASS
    Peripheral Variable
    concatenate("somestring_", Call.PeripheralVariable1, "_Q")
    PASS
    Custom Function
    concatenate("somestring_", userParseFromVXML("CT"), "_Q")
    Passing now (not sure what i must have been missing)
    The custom function I'm using returns a string and when I created a new custom function returning a String literal it worked just fine.  After doing my testing and swapping back to my original custom function I started seeing the call tagged with the correct Call Type, so I can only assume that I was missing something in the original concatenate string.  The custom function I am using is as follows:
    if((find(%1%,Call.user.microapp.FromExtVXML[0]))>0,before(";",after(concatenate(%1%,"="),Call.user.microapp.FromExtVXML[0])),if((find(%1%,Call.user.microapp.FromExtVXML[1]))>0,before(";",after(concatenate(%1%,"="),Call.user.microapp.FromExtVXML[1])),if((find(%1%,Call.user.microapp.FromExtVXML[2]))>0,before(";",after(concatenate(%1%,"="),Call.user.microapp.FromExtVXML[2])),if((find(%1%,Call.user.microapp.FromExtVXML[3]))>0,before(";",after(concatenate(%1%,"="),Call.user.microapp.FromExtVXML[3])),"Not Found"))))

  • Dynamic File Name on Receiver Side using XSLT mapping

    Hi,
      My scenario is a Proxy to File scenario.The File on the receiving side is a TEXT file generated due to XSLT mapping. The file name has to be dynamic like- TEST<DDMMYYHHMMSS>File.DAT.
    If somebody knows how to do the same please help.
    Regards
    Ritu

    Hi Ritu,
    I agree to Krishna.With your XSLT mapping create a XML output which can be converted to a text file with content conversion.
    And for the dynamic file name, i guess its the date that matters which needs to be in DDMMYYHHMMSS format. the same can be accomplished by a Java function and calling it in your XSLT .
    Do refer this weblog it will help you accomplish the same.
    >>> /people/pooja.pandey/blog/2005/06/27/xslt-mapping-with-java-enhancement-for-beginners
    Regards,
    Shabarish

  • Strange problem in Dynamic File Name . XI behaving strangely

    My o/p is coming like this
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:MT_PurchaseOrderChange xmlns:ns0="http://E2open.com/xi/IntercompanySCM_6.0/POChange">
    - <recordset>
    - <data>
      <PoHeaderDomainName>broker_domain</PoHeaderDomainName>
      <PoHeaderOrgName>broker_org</PoHeaderOrgName>
      <PoHeaderPoState>$null</PoHeaderPoState>
      <PoHeaderStateChangeDate>$null</PoHeaderStateChangeDate>
      <PoHeaderPoNumber>4500000026</PoHeaderPoNumber>
      <PoHeaderPoCreationDate>$null</PoHeaderPoCreationDate>
      <PoHeaderLastModifiedDate>$null</PoHeaderLastModifiedDate>
      <PoHeaderModelSubType>Discrete_Order</PoHeaderModelSubType>
      <PoHeaderSupplierName>0000352119</PoHeaderSupplierName>
      <PoHeaderSupplierDescription>$null</PoHeaderSupplierDescription>
      <PoHeaderCustomerName>SSP_CUSTOMER</PoHeaderCustomerName>
      <PoHeaderCustomerDescription>$null</PoHeaderCustomerDescription>
      <PoHeaderCustomerMessage>$null</PoHeaderCustomerMessage>
      <PoHeaderSupplierMessage>$null</PoHeaderSupplierMessage>
      <PoHeaderBillToName>$null</PoHeaderBillToName>
      <PoHeaderBillToAddressDescriptor>$null</PoHeaderBillToAddressDescriptor>
      <PoHeaderBillToAddressAddress1>$null</PoHeaderBillToAddressAddress1>
      <PoHeaderBillToAddressAddress2>$null</PoHeaderBillToAddressAddress2>
      <PoHeaderBillToAddressCity>$null</PoHeaderBillToAddressCity>
      <PoHeaderBillToAddressCountry>$null</PoHeaderBillToAddressCountry>
      <PoHeaderBillToAddressCounty>$null</PoHeaderBillToAddressCounty>
      <PoHeaderBillToAddressState>$null</PoHeaderBillToAddressState>
      <PoHeaderBillToAddressZip>$null</PoHeaderBillToAddressZip>
      <PoHeaderBuyerCode>$null</PoHeaderBuyerCode>
      <PoHeaderFreight>$null</PoHeaderFreight>
      <PoHeaderTerms>0001</PoHeaderTerms>
      <PoHeaderOrderPriority>$null</PoHeaderOrderPriority>
      <PoHeaderCommunicationMode>$null</PoHeaderCommunicationMode>
      <PoHeaderAgreementStartDate>$null</PoHeaderAgreementStartDate>
      <PoHeaderAgreementEndDate>$null</PoHeaderAgreementEndDate>
      <UDFPoHeaderRevisionNumber>$null</UDFPoHeaderRevisionNumber>
      <UDFPoHeaderERPPOCreationDate>01Sep2006000000</UDFPoHeaderERPPOCreationDate>
      <UDFPoHeaderheaderUDF1>$null</UDFPoHeaderheaderUDF1>
      <UDFPoHeaderheaderUDF2>$null</UDFPoHeaderheaderUDF2>
      <UDFPoHeaderheaderUDF3>$null</UDFPoHeaderheaderUDF3>
      <UDFPoHeaderheaderUDF4>$null</UDFPoHeaderheaderUDF4>
      <UDFPoHeaderheaderUDF5>$null</UDFPoHeaderheaderUDF5>
      <PoLineItemPoLineItemId>00020</PoLineItemPoLineItemId>
      <PoLineItemCustomerItemName>E107434516</PoLineItemCustomerItemName>
      <PoLineItemCustomerItemDesc>L1357 TOROID INDUCTOR</PoLineItemCustomerItemDesc>
      <PoLineItemCustomerDomainName>SSP_CUSTOMER_domain</PoLineItemCustomerDomainName>
      <PoLineItemSupplierItemName>E107434516</PoLineItemSupplierItemName>
      <PoLineItemSupplierItemDesc>L1357 TOROID INDUCTOR</PoLineItemSupplierItemDesc>
      <PoLineItemSupplierDomainName>0000352119_domain</PoLineItemSupplierDomainName>
      <PoLineItemUnitPrice>720</PoLineItemUnitPrice>
      <PoLineItemBasisOfUnitPrice>$null</PoLineItemBasisOfUnitPrice>
      <PoLineItemCurrency>EUR</PoLineItemCurrency>
      <PoLineItemUnitOfMeasure>TNE</PoLineItemUnitOfMeasure>
      <PoLineItemLineItemState>$null</PoLineItemLineItemState>
      <PoLineItemStateChangeDate>$null</PoLineItemStateChangeDate>
      <PoLineItemLastModifiedDate>$null</PoLineItemLastModifiedDate>
      <UDFPoLineSupplierItemName>E107434516</UDFPoLineSupplierItemName>
      <UDFPoLinelineUDF1>$null</UDFPoLinelineUDF1>
      <UDFPoLinelineUDF2>$null</UDFPoLinelineUDF2>
      <UDFPoLinelineUDF3>$null</UDFPoLinelineUDF3>
      <UDFPoLinelineUDF4>$null</UDFPoLinelineUDF4>
      <UDFPoLinelineUDF5>$null</UDFPoLinelineUDF5>
      <PoScheduleId>1</PoScheduleId>
      <PoScheduleLastAction>Insert_Or_Modify</PoScheduleLastAction>
      <PoScheduleScheduleState>$null</PoScheduleScheduleState>
      <PoScheduleStateChangeDate>$null</PoScheduleStateChangeDate>
      <PoScheduleRequestQuantity>9.000</PoScheduleRequestQuantity>
      <PoScheduleRequestDate>16Sep2006000000</PoScheduleRequestDate>
      <PoScheduleRequestShipmentDate>16Sep2006000000</PoScheduleRequestShipmentDate>
      <PoScheduleOriginalRequestQuantity>$null</PoScheduleOriginalRequestQuantity>
      <PoScheduleOriginalRequestDate>$null</PoScheduleOriginalRequestDate>
      <PoScheduleCarrier>$null</PoScheduleCarrier>
      <PoScheduleCarrierMode>$null</PoScheduleCarrierMode>
      <PoScheduleCarrierAccountNumber>$null</PoScheduleCarrierAccountNumber>
      <PoScheduleCustomerSiteName>5302</PoScheduleCustomerSiteName>
      <PoScheduleShipToAddressDescriptor>$null</PoScheduleShipToAddressDescriptor>
      <PoScheduleShipToAddressAddress1>$null</PoScheduleShipToAddressAddress1>
      <PoScheduleShipToAddressAddress2>$null</PoScheduleShipToAddressAddress2>
      <PoScheduleShipToAddressCity>$null</PoScheduleShipToAddressCity>
      <PoScheduleShipToAddressCountry>$null</PoScheduleShipToAddressCountry>
      <PoScheduleShipToAddressCounty>$null</PoScheduleShipToAddressCounty>
      <PoScheduleShipToAddressState>$null</PoScheduleShipToAddressState>
      <PoScheduleShipToAddressZip>$null</PoScheduleShipToAddressZip>
      <PoScheduleLastModifiedDate>$null</PoScheduleLastModifiedDate>
      <PoScheduleCustomerMessage>$null</PoScheduleCustomerMessage>
      <PoScheduleSupplierMessage>$null</PoScheduleSupplierMessage>
      <PoScheduleRefdPoCustomerName>$null</PoScheduleRefdPoCustomerName>
      <PoScheduleRefdPoS>$null</PoScheduleRefdPoS>
      <PoScheduleRefdPoModelSubType>$null</PoScheduleRefdPoModelSubType>
      <PoScheduleRefdPoNumber>$null</PoScheduleRefdPoNumber>
      <PoScheduleRefdPoLineItemId>$null</PoScheduleRefdPoLineItemId>
      <PoScheduleRefdPoScheduleId>$null</PoScheduleRefdPoScheduleId>
      <UDFPoSchedulescheduleUDF1>$null</UDFPoSchedulescheduleUDF1>
      <UDFPoSchedulescheduleUDF2>$null</UDFPoSchedulescheduleUDF2>
      <UDFPoSchedulescheduleUDF3>$null</UDFPoSchedulescheduleUDF3>
      <UDFPoSchedulescheduleUDF4>$null</UDFPoSchedulescheduleUDF4>
      <UDFPoSchedulescheduleUDF5>$null</UDFPoSchedulescheduleUDF5>
      <PoPromiseScheduleId>1</PoPromiseScheduleId>
      <PoPromiseScheduleAddressDescriptor>$null</PoPromiseScheduleAddressDescriptor>
      <PoPromiseScheduleAddress1>$null</PoPromiseScheduleAddress1>
      <PoPromiseScheduleAddress2>$null</PoPromiseScheduleAddress2>
      <PoPromiseScheduleAddressCity>$null</PoPromiseScheduleAddressCity>
      <PoPromiseScheduleAddressCountry>$null</PoPromiseScheduleAddressCountry>
      <PoPromiseScheduleAddressCounty>$null</PoPromiseScheduleAddressCounty>
      <PoPromiseScheduleAddressState>$null</PoPromiseScheduleAddressState>
      <PoPromiseScheduleAddressZip>$null</PoPromiseScheduleAddressZip>
      <PoPromiseScheduleQuantity>9.000</PoPromiseScheduleQuantity>
      <PoPromiseScheduleDate>16Sep2006000000</PoPromiseScheduleDate>
      <PoPromiseScheduleShipmentDate>$null</PoPromiseScheduleShipmentDate>
      <UDFPoPromiseScheduleUDF1>$null</UDFPoPromiseScheduleUDF1>
      <UDFPoPromiseScheduleUDF2>$null</UDFPoPromiseScheduleUDF2>
      <UDFPoPromiseScheduleUDF3>$null</UDFPoPromiseScheduleUDF3>
      <UDFPoPromiseScheduleUDF4>$null</UDFPoPromiseScheduleUDF4>
      <UDFPoPromiseScheduleUDF5>$null</UDFPoPromiseScheduleUDF5>
      </data>
    - <FileNameNode>
      <FileName>111111111_222222223_purchase-orders_20060901065147_</FileName>
      </FileNameNode>
      </recordset>
      </ns0:MT_PurchaseOrderChange>
    I have specifed
    Payload:MT_PurchaseOrderChange,1,FileNameNode,1,FileName,1
    in variable substitution
    I am on SP 14 and it the dynamic file is working for other scneario
    bt in this scneario i am getting the error
    Receiver Adapter v2405 for Party '', Service 'com_E2open_qas':
    Configured at 2006-09-01 18:42:32 GMT+05:30
    History:
    - 2006-09-01 19:11:48 GMT+05:30: Message processing failed: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: amit
    - 2006-09-01 19:11:48 GMT+05:30: Processing started
    - 2006-09-01 19:06:47 GMT+05:30: Message processing failed: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: amit
    - 2006-09-01 19:06:47 GMT+05:30: Processing started
    - 2006-09-01 19:01:47 GMT+05:30: Message processing failed: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: amit
    amit is the variable i have given for substitution.

    Hi,
    if you have SP14 stop using variable substitiuion:)
    you can do it much easier with dynamic configuraiton
    /people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
    so you can easily set it for file adapter to set the file name
    you can also have a look at my weblog:
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Dynamic file name from input payload (RFC 2 flat file)

    Hi,
    I have an RFC to flat file scenario. The output flat file has not an XML structure, it's just a plain text file generated with abap mapping.
    In my source interface (RFC), I have a field called <FILENAME>, I want to use the value of that field to create the target file using dynamic file name. But if  in variable substitution I use payload:ZRFC_NAME,1,FILENAME,1 It doesn't work because the dynamic variable substitution try to access to output payload, not the source one...
    What can I do?

    Hi Marshal,
           You can add a extra node to your target strucutre like
    FileName- Node
    --FileName - Element.
    do the mapping from the field filename of RFC to FileName field in u r target strucure. And use this  field path at Refrence in variable subtituion.
    In the Content converison add the Name & Values as below
    FileName.fileldNames -- FileName
    FileName.fieldFixedLengths -- 0
    FileName.fixedLengthTooShortHandling -- Cut
    So the extra field in u r target structure would not populate in u r target text file.
    Cheers
    Veera

  • Setting dynamic file name in Receiver file adapter - not from payload

    Guys I just remember reading a weblog but can't find it now that I need it, on how to set the file name in message mapping dynamically but not using any payload field.
    Please let me know if you remember this.
    Thanks a lot,
    Viktor Varga

    also u can check in
    <a href="/people/jayakrishnan.nair/blog/2005/06/28/dynamic-file-namexslt-mapping-with-java-enhancement-using-xi-30-sp12-part-ii file name(XSLT Mapping with Java Enhancement) using XI 3.0 SP12 Part -II</a>
    <a href="/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14: The same filename from a sender to a receiver file adapter - SP14</a>

  • Dynamic file name ?

    Hi,
    I am following this blog to name the target file/directory dynamically at the runtime :
    /people/sameer.shadab/blog/2005/09/23/an-interesting-usage-of-variable-substitution-in-xi
    But I am getting this error in the CC monitoring :
    Could not process due to error: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: Unknown message header category 'interface_name ' for variable 'var1'.

    Hi,
    Try following this weblog for dynamic file name.
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    Dynamic filename come under the Dynamic configuration in moni, for your messages.
    This is the code used inside.
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String ourSourceFileName = conf.get(key);
    return ourSourceFileName;
    That is why Dynamic configuration is coming in output.. It is a class to generate dynamic configuration file at runtime provided by SAP XI.
    Hope this will help you.
    regards
    Aashish Sinha
    PS : reward points if helpful

  • Dynamic file name in case of .txt output files

    Hi all,
    I have a query related to dynamic file name scenario.
    In case of IDOC-XI-FILE sceanrio,
    <b>Is it possible to generate .txt file name based on Plant number like</b>
    <b>%<Plantname>%_%<BusinessDay>_filename.txt</b>
    <b>Note:I have implemneted this for .xml output files but I am not able to implement it for .txt output files .</b>
    PLEASE HELP ME .
    Regards
    Prabhat

    Hi Prabhat,
    I think, the normal Dynamic File Name generation should work fine in your case also. Even if you perform Content Conversion, you can use Variable Name Substiution to create your Destination file name as, the name of the file is determined first and only then is the content converison perfromed.
    for info on content conversion, I would suggest that you go through this thread and check my reply,
    Re: Dynamic  File Name for Receiver File Adapter
    Regards,
    Bhavesh

  • Dynamic File name in File Adapter

    Hi,
    I have a requirement to pass dynamic file name in File Adapter.
    Is there any way to pass a variable for the file name attribut in file adapter.
    I am looking for some options apart from %yyMMddHHmmss%,%SEQ%...etc
    Please suggest if any of you have information on how to put values from a variable to file name attribute in file adapter
    regards
    Saiju

    Hi Saiju,
    Yes there is.
    Assign your file name to a variable, let's say 'fileName'.
    Now go to your invoke activity(for the specific fileadapter) -> Property tab-> find a property call jca.file.FileName -> in the value field assign 'fileName' variable.
    That's it... (assuming you are using 11g)
    Arik
    Edited by: Arik on Jun 27, 2012 3:12 PM

  • Dynamic File Name - UDF

    Hi Master,
    I written the UDF for Getting the Dynamic File name.
    DynamicConfiguration conf = (DynamicConfiguration) container.getParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    // Retrieve the filename
    String FileName = conf.get(key);
    This is working ok - but I want to return these values so I can be used in mapping.
    when I try to add the statement return FileName; , the compiler then complains with the following error:
    cannot return a value from method whose result type is void return FileName;
    Please help me,
    Thanks,
    Anu

    Thanks Nithiyanandam,
    I am using the Same code. But i am getting the Syntax error:
    Source code has syntax error:  E:/usr/sap/DX1/DVEBMGS01/j2ee/cluster/server0/./temp/classpath_resolver/Mapaf708c00d6bb11dd83ee00101816a382/source/com/sap/xi/tf/_MM_I_FF_O_RFC_.java:13: cannot resolve symbol symbol : class variable location: class com.sap.xi.tf._MM_I_FF_O_RFC_ variable a; ^ 1 error
    UDF Name: FileName
    while creating the UDF, I select the first radio button(Value). not  Context and Queue.
    I written the below code.
    DynamicConfiguration conf = (DynamicConfiguration) container
        .getTransformationParameters()
        .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create(
        "http://sap.com/xi/XI/System/File",
        "FileName");
    String FileName = conf.put(key, a);
    return FileName;
    Thanks,
    ANU

  • Dynamic File Name and File size

    Hi All
    I need some help in calling Dynamic File Name and Dynamic File size of a file in my adapter Module.
    Could you please provided some help on the same?
    I have tried the same through UDF it is working. Could anyone provide me the steps for the same
    Regards
    Abhishek Mahajan

    Hi,
    You can use the already available adapter module "DynamicConfigurationBean". Have this adapter module at the top of the module list in CC.
    Have the parameter value as insert http://sap.com/xi/XI/System/File FileName and http://sap.com/xi/XI/System/File SourceFileSize (corresponding to the key names)
    For more info:
    http://help.sap.com/saphelp_nw04/helpdata/en/45/da2239feb22e98e10000000a155369/frameset.htm
    There is also a SAP note available for the same....dont remember the note number:(.....
    Regards,
    Abhishek.

  • Xml file in dynamic file name in file receiver adapter

    Hi,
    I'm doing the dynamic file name in file receiver adapter. I have done as per instructed in /people/jayakrishnan.nair/blog/2005/06/20/dynamic-file-name-using-xi-30-sp12-part--i
    All turned out okay. I have got the file name I require. Except that the file format is XML and I need to suppress the filename node occupied by the dynamic file name.
    The content conversion mentioned in /people/sravya.talanki2/blog/2005/08/11/solution-to-the-problem-encountered-using-variable-substitution-with-xi-sp12, does not seem to solve my problem. As it is only for file format other than the XML one, because we only do the content conversion if we want to "convert" the format of the content from XML to the other format.
    Does anybody have the solution to my problem? thanks in advance

    Thank you Raj for the direction
    The way to do it is :
    1. In ID, advanced tab, put a check on the adapter-specific message attributes - file name.
    2. Put a "*" on the file name scheme
    3. In IR, create a UDF to set up target file name :
    DynamicConfiguration conf = (DynamicConfiguration) container
    .getTransformationParameters()
    .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    // set up file name for receiver adapter
    String SourceFileName = conf.get(key);
    conf.put(key, TargetFileName);
    return " ";
    4. Map the above UDF to the header level of the target structure.
    Regards,
    Idi

Maybe you are looking for

  • I need headphones for my Macbook.

    I have an old white Macbook ... 2008 I think ... for which I need some headphones. Can anyone tell me if Apple headphones are standard between all hardware? And if not what sort of headphones do I need for it please?

  • SOLMAN 7.0 (SR3) Installation Error

    Hi, Experts I am trying to install solman 7.0 in windows/db2. In one phase i am getting error, i am unable to solve this issue. Please help me to resolve the issue. WARNING 2009-01-02 10:25:57.906 Execution of the command "D:\usr\sap\ISM\DVEBMGS00\ex

  • Change journal template. 1000 separator

    Hi experts, I'm in version SAP BPC  5.1 MS and I need to change format cells of Journal template. I need to introduce 1000 separator on credit and debit cells. Does it possible? Than you very much in advance Gabriel Garcia

  • What is layer_quantity in cst_quantity_layers

    Hi, I need to know is layer_quantity in cst_quantity_layers represent the current OH or Qty get costed (exists in MTA) or something else? Regards Emad

  • Regarding xi certification

    hi    i am planning to write Xi certification,can i know the process ,requirements dates and fare for the certification. regards ramu