Variable substitution in reciever file adapter

will any one please help me in sloving this problem ,
i have designed my reciever structure as shown in the below
<RECORDSET>
      <HEADER>
           <NAME1/>
         <ADDRESS1/>
         <ADDRESS2/>
         <ADDRESS3/>
         <ADDRESS4/>
      </HEADER>
         <LINE>
         <QTY/>
         <UOM/>
         <UNIT_AMT/>
         </LINE>
   </RECORDSET>
   <FILENAME/>
an i am using variable substitution
variable name as filename
reference         payload:MT_exxxxx_RECV,1,Filename,1
i am getting a error in my message monitoring
will anyone there to give me syntax for this

Hi !
I suggest to use Dynamic Configuration to assign the receiver filename using an UDF in graphical mapping. This little UDF can receive as input parameter the contents of the NAME field and write it to the specific tag in the header of the message, so the adapter will use that value as filename when writting the file on the receiver system, instead of variable sustitution.
/people/sravya.talanki2/blog/2006/12/27/aspirant-to-learn-sap-xiyou-won-the-jackpot-if-you-read-this-part-iii
/people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
Regards,
Matias
ps:please award points if helpful.

Similar Messages

  • Sender_interface_name in Variable Substitution in Receiver File Adapter CC

    Hi,
    as per this page : http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/frameset.htm
    it says:
    Variable Substitution (Target Directory/File Name Scheme)
    If you set the Enable indicator, you can enter variables for the Target Directory and File Name Scheme. Enter the names of the variables and references in the table.
    ●      Enter each variable that you reference in the Target Directory and File Name Scheme fields without the surrounding percentage sign under Name of Variables in the table.
    The variables can refer to attributes of the message header or elements of the message payload.
    ○       If the variables are to refer to an attribute of the message header, add the prefix message: to the name of the variable under Reference. You can specify the following attributes of the message header:
    sender_party, sender_service, receiver_party, receiver_service, interface_name, interface_namespace, message_id, message_id_hex
    Can we not access sender_interface_name and sender_interface_namespace are not mentioned in above list of variables.
    Is it not possible to access sender_interface_name or sender_interface_namespace as variable substitute parameters from within Receiver File Adapter Communication channel.
    thanks.

    >Shabarish Vijayakumar wrote:
    >>the sender interface details will always remain a constant
    >>so you can hard code the value, isnt it?
    Yes, i can hardcode, thats not a bad idea, i need to create then 3 different Reciever File Communication Channel objects, as I am dealing with 3 scenarios for which sender system and sender interface is different.
    >Shabarish Vijayakumar wrote:
    >>if you look at the mapping runtime constants, those are also for the receiver since the sender interface will always remain constant for any particular CC.
    >>http://help.sap.com/saphelp_nw04/helpdata/en/b3/9a2aeb24dc4ab6b1855c99157529e4/content.htm
    yes in this link you provided i can see..
    INTERFACE     Interface
    INTERFACE_NAMESPACE     InterfaceNamespace
    SENDER_SERVICE     SenderService
    RECEIVER_SERVICE ReceiverService
    RECEIVER_NAME     ReceiverName
    RECEIVER_NAMESPACE     ReceiverNamespace
    it seems both INTERFACE (,INTERFACE_NAMESPACE) and RECEIVER_NAME(,RECEIVER_NAMESPACE) are present, may be one is for sender, and another is for receiver.. may be if i use dynamic configuration, possibly my issue would be addressed.. correct me if i am wrong.
    thanks.

  • Reg:Variable Substitution in Receiver File Adapter

    Hi...
      In the Source File,
       I am gtting the Field "Product_Name". Based on the Product Name, i need to map the Target Field.
    In The Target, I am having Filed as Folder Path.
    This Folder_Path is mapped based on the condition like.
    if Product_Name = DD, and Server Name = DISB,then the Folder Path should be "/home/corpuser/Disbursement/DD" else /home/corpuser/Disbursement/CC
    So the ouput file should be placed in the corresponding Target Directory based on the Folder Path.
    For this i am using Variable Substitution.
    in Target Directory, i am giving the value as "/home/corpuser/Disbursement/%var1%"
    Variable Name -
    var1
    Variable Reference Name -
    payload:MTI_Payment_Disbursement,1,Folder_Path,1
    Structure for the Target Message is like...
    Messages
       Message1
         MTI_Payment_Disbursement --- 0 to unbounded
            Folder_Path
    Can you please tell where i ahve done wrong.
    Thanks & Regards,
    Leela Ratnam M

    Hi...
       I am to get the field value in the target structure.
    <?xml version="1.0" encoding="utf-8" ?>
    - <MTI_Payment_Disbursement>
    - <Disbursement>
      <Transactional_ref_num>123456</Transactional_ref_num>
      <CorporateID>SATCOMP</CorporateID>
      <UseridUploader />
      <UseridAuthorizer1 />
      <UseridAuthorizer2 />
      <UseridAuthorizer3 />
      <UseridAuthorizer4 />
      <UseridAuthorizer5 />
      <ProductID>D</ProductID>
      <BeneficiaryName>143</BeneficiaryName>
      <Amount>5000000</Amount>
      <BeneficiaryAdd1>Hyderabad</BeneficiaryAdd1>
      <BeneficiaryCity>Jubli Hills</BeneficiaryCity>
      <BeneficiaryState>Andhra Pradesh</BeneficiaryState>
      <BeneficiaryPinCode>533124</BeneficiaryPinCode>
      <CorporateAccoutNo>ICICI48500</CorporateAccoutNo>
      <PayableLocation />
      <PayeeDate>2009-03-09 00:00:00.0</PayeeDate>
      <CustRefNo>143</CustRefNo>
      <ChequeNo />
      <PaymentDetail1 />
      <PaymentDetail2 />
      <PaymentDetail3 />
      <PaymentDetail4 />
      <PaymentDetail5 />
      <PaymentDetail6 />
      </Disbursement>
      <Folder_Path>/home/corpuser/Disbursement/DD</Folder_Path>
      </MTI_Payment_Disbursement>

  • Error during variable substitution: idoc to file

    Hi Friends,
    I have a got a issue which is Idoc to file scenario.
    Iam getting the following error.
    Attempt to process file failed with com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: date_processing
    Could you please tell me waht could be the reason for the same?
    as per my analysis, I observed that the field date_processing has been declared

    Hi Sandeep ,
    If the variable ’date_processing’ refers to an element in XML schema, Please check  if you have added  the prefix payload: to the information under Reference.
    The reference then comprises a pseudo path description in the form of a comma-separated list with the schema namea,na,nameb,nb,....
                Where namea,nameb,... corresponds to the element name and na,nb,... corresponds to the occurrence of the element name at the respective level in the document.
    The description begins at the root of the document and ends at the respective element.
    Also please check
    Re: Variable substitution
    Regards,
    Jyoti

  • Need to variable substituion in receiver file adapter

    Hi All,
    I have one scenario in which i send data through proxy to xi to File .
    I am sending the records in 50K(2lacs) slots in appending them in one file for today's date.
    Now Next day  again i will send the data with old2lacs and 1 new lacs record total 3 lacs .
    the point here is i using append as file construction mode so the new 3 lacs records will get append in same file.
    if i will send the current date frm ECC side and pick this date frm payold and use variable substituion my other neew file genreate or not, or else new records will get append in same file.
    Regards

    Hi all,
    I am using the varable substituion and getting this error..
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: var: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: var.
    My payload is like this..........
    <?xml version="1.0" encoding="utf-8" ?>
    - <n0:UST04_MT xmlns:n0="ness.com:Eurekify:UST04" xmlns:prx="urn:sap.com:proxy:DV3:/1SAI/TAS9238077179A583C7CD28:701:2009/02/10">
    - <row>
      <Date>20100122</Date>
      <Identifier>UST04</Identifier>
      <Flag>1</Flag>
      <MANDT>100</MANDT>
      <BNAME>............</BNAME>
      <PROFILE>............</PROFILE>
      </row>
    - <row>
      <Date>20100122</Date>
      <Identifier>UST04</Identifier>
      <Flag>1</Flag>
      <MANDT>100</MANDT>
      <BNAME>AADLER</BNAME>
      <PROFILE>BASE_TRANS</PROFILE>
    and in variable substitution i am given the value like this
    var=payload:MT,1,Date,1

  • Dynamic File naming in reciever File Adapter

    Hi all,
    I am using a reciever File adapter and my requirement is to generate 3 different file names based on the value of an element from the Payload.For example..
    Say in Payload for the first Occurence of the Data segment which contains Field-1 and Field-1 Contains value X then filename should be  X.CSV,
    same as
    For the next occurence of the Data Segment if the Value of Field-1 is Y then File name should be Y.CSV.
    Similarly For Z as well.
    This is something like this...
    SOurce Structure
    ================
    IDOC
    DATA SEGMENT-1
    Field-1---> X
    Field-2
    Field 10
    DATA SEGMENT-2
    Field-1
    Field-2
    Field 10
    DATA SEGMENT-3
    Field-1
    Field-2
    Field 10
    then the output and filenames  should be...
    X.CSV
    Field-1
    Field-2
    Field-3
    Y.CSV
    Field-1
    Field-2
    Field-3
    Z.CSV
    Field-1
    Field-2
    Field-3
    Kindly help, is there any way i can do this using File Adapter Configurations .Please suggest.

    Hi,
    you can use a small business process.
    There you will receiver the message in one receive step.
    than you need a transformation Step with a mapping which split your message to several messages.
    At least you have now a Multi Row container with one message for each data segment.
    For sending each messages of this multirow container you need a block in BPM.. this you have to set to parallel processing.
    Inside this block you have a sending step which send the single message.
    and without BPM take a look at this Weblog(you need SP14):
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions me</a>
    Regards,
    Robin

  • Error in reciever file adapter , where i am getting file name dynamically

    hi all,
    error in reciever file adapter , where i am getting file name dynamically, please help me in this isssue , i am trying for a long time
    MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure 'ns0:MT_eINVOICE_RECV' found in document', probably configuration error in file adapter (XML parser error)': java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure 'ns0:MT_eINVOICE_RECV' found in document', probably configuration error in file adapter (XML parser error)'

    i am getting new error
    MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Channel has not been correctly initialized and cannot process messages
    this is my strcuture
    and i have changed my structure
    <HEADER>
    <ADDRESS1/>
    <ADDRESS2/>
    <ADDRESS3/>
    <ADDRESS4/>
    </HEADER>
    <HEADER_GST>
    <TAX1/>
    <TAX2/>
    <TAX3/>
    </HEADER_GST>
    <LINE>
    <QTY/>
    <UOM/>
    <UNIT_AMT/>
    <CHARGE_TO_DT/>
    </LINE>
    <FILENAME>
         <FILENAME/>
    </FILENAME>
    i have given the recordset structure as
    HEADER,HEADER_GST,LINE,FILE

  • Content conversion in Reciever File  Adapter

    Hi Frens,
    Iam doing A FCC in Reciever file adapter. My input structure is
    DT_structure
    ->Record
      ->Row
           Field1
           Field2
           Field3
    I have donr the configuration as
    Recordset Structure : Record,Row
    Row.fieldSeparator : ,
    Row.endSeparator : 'nl'
    Record.fieldSeparator : 'nl'.
    With this configuration  Iam able to display only one record but I need to display multiple records in the file. Please do suggest me wha need to be done to achieve this.
    Radhika.

    First check whether your datatype has the occurrence of records unbounded or not. Then goto content conversion. If both your Record and Row tags can occur multiple times, then use
    Recordset Structure : Record,*,Row,*
    Or if Record occurs only once and multiple Row nodes are required, then use
    Recordset Structure : Record,1,Row,*
    Regards,
    Prateek

  • Error in reciever file adapter

    Getting following error in a reciever file adapter (stack trace extracted from defaultTrace)
    #1#com.sap.engine.services.dbpool.exceptions.BaseSQLException: ResourceException in method ConnectionFactoryImpl.getConnection(): com.sap.engine.services.connector.exceptions.BaseResourceException: Cannot open resource(Managed Connection) with LocalTransaction support or add a second one in the same transaction, for component "ejbContexts/sap.com/com.sap.aii.af.app/CallSapAdapter" in application "sap.com/com.sap.aii.af.app".
         at com.sap.engine.services.dbpool.cci.ConnectionFactoryImpl.getConnection(ConnectionFactoryImpl.java:59)
         at com.sap.aii.af.ra.ms.runtime.Resources.getDBConnection(Resources.java:362)
         at com.sap.aii.af.ra.ms.impl.core.store.MessageStore.getMessageProfile(MessageStore.java:1228)
         at com.sap.aii.af.ra.ms.impl.ConnectionImpl.deliveryAck(ConnectionImpl.java:399)
         at com.sap.aii.adapter.file.SapAdapterServiceFrameImpl.sendAcks(SapAdapterServiceFrameImpl.java:350)
         at com.sap.aii.adapter.file.SapAdapterServiceFrameImpl.callSapAdapter(SapAdapterServiceFrameImpl.java:250)
         at com.sap.aii.af.modules.CallAdapterWithMessageBean.process_receiver(CallAdapterWithMessageBean.java:201)
         at com.sap.aii.af.modules.CallAdapterWithMessageBean.process(CallAdapterWithMessageBean.java:161)
         at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl1.process(ModuleLocalLocalObjectImpl1.java:103)
         at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:252)
         at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process(ModuleProcessorLocalLocalObjectImpl0.java:103)
         at com.sap.aii.af.listener.AFWListenerBean.onMessage(AFWListenerBean.java:243)
         at com.sap.aii.af.listener.AFWListenerLocalObjectImpl0.onMessage(AFWListenerLocalObjectImpl0.java:103)
         at com.sap.aii.af.ra.ms.impl.ServicesImpl.deliver(ServicesImpl.java:253)
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onDeliver(XIEventHandler.java:838)
         at com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer.invokeHandler(ReceiveConsumer.java:351)
         at com.sap.aii.af.ra.ms.impl.core.queue.ReceiveConsumer.onMessage(ReceiveConsumer.java:100)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:831)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: com.sap.engine.services.connector.exceptions.BaseResourceException: Cannot open resource(Managed Connection) with LocalTransaction support or add a second one in the same transaction, for component "ejbContexts/sap.com/com.sap.aii.af.app/CallSapAdapter" in application "sap.com/com.sap.aii.af.app".
         at com.sap.engine.services.connector.resource.impl.ResourceSetImpl.checkEnlist(ResourceSetImpl.java:308)
         at com.sap.engine.services.connector.jca.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:229)
         at com.sap.engine.services.dbpool.cci.ConnectionFactoryImpl.getConnection(ConnectionFactoryImpl.java:51)
         ... 21 more

    HI,
    Refer this link. It gives solution to the above problem.
    http://help.sap.com/saphelp_nw04s/helpdata/en/5c/2f2c4142aef623e10000000a155106/content.htm
    Regards,
    Sudheer.

  • Archiving in Reciever file adapter

    Hi .
    can any one plz help me in <b>archiving file's in reciever file adapter</b> .
    thanks
    shakif

    Hi Mohamed,
    Normally we acrchive the files only in the sender communicaton channel by selecting the processing mode as Archive and giving the path of the directory where the sucessfully processed files are to be placed int the archieve directory.
    There is no option to archieve the files in the receiver file adapter.
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/e3/94007075cae04f930cc4c034e411e1/content.htm">Configuring Sender File Adapter</a>
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm">Configuring Receiver File Adapter</a>
    Regards
    Santhosh
    Remember to set the thread to solved when you have received a solution
    [url=Use a Good Subject Line, One Question Per Posting - Award Points;  Use a Good Subject Line, One Question Per Posting - Award Points[/url]

  • Anonymous login in sender,reciever file adapter

    hi all xi's
    i dont know what is the need of anonymous login option in sender,reciever file adapter and the other thing is if i use check anonymous login there is no option for
    specifing username,pwd,ftp server ip.
    early anser will be appreciated.
    bye.
    regards.
    seeta ram.

    Hi,
    when you configure your FTP server you can opt for anonymous login.
    It means anyone can log on to this server just by using the IP address.
    No user creation.. so ..No need for user id or pwd. i mean no authentication.
    FTP connection parameters.. i.e. server n port will always be there if you are going for FTP.
    It wont ask for these if you select NFS.
    Being Anonymous only removes the user id n pswd option.
    Anonymous login is "Never suggested"..Pretty insecure..
    Dont forget to award SDN points Seeta.
    Regards
    Pushkar
    Message was edited by:
            pushkar anand

  • Reciever file adapter permissions

    Hi
    I am trying to writing a file on remote computer using nfs reciever file adapter
    I get the following error
    Message processing failed.Cause com:sap.aii.af.ra.ms.api.RecoverableException: Target directory '
    Hfavediqa2_0\ZIMEQCDATAIN' does not exist
    The XI Server users are not in the domain of the customer
    so we created a local user in the Hfavediqa2_0 with same password
    so if I login with the user and password of xidadm to this server I can connent to the share
    Hfavediqa2_0\ZIMEQCDATAIN and write files in this directory
    how to solve this issue ? seems very stange to me
    thx
    Shai

    Hi,
    Try and check if you can access the server mentioned here. ie. Hfavediqa2_0. NFS is used for files on shared directories in local network. Hence you should be able to ping this server. Simply type ping <server name/IP> and you should see the response. If you are not able to do that, then it won't be possible to reach the destination directory, hence the error. Using FTP could be alternate solution.
    Thanks,
    Bhavish
    Award points is comments helpful

  • Reciever File Adapter - Temp File Name Scheme using Variable Substitution

    How can I create a temporary file that uses variable substitution? 
    We are having a problem with files merging when we write files using the "Use Temporary File" setting on the FIle Adapter.  So two independent files are merging into a single file.  We are not using the "Append" setting.
    We would like to use a Temp File Name Scheme that would append the message id onto the temporary file name. 
    Using variable substitution we created a msgid variable.  When added to the temporary file name using %msgid% the temporary file name is created with %msgid% in the name instead of the actual message id.  We put the variable into the "File Name Scheme" as well and the end completed file used the message id in the name.
    Any Ideas?
    Thanks,
    Matt

    HI Matthew,
    Why are you adding the message id into the temporary file??
    I understand that you want the output of the filename to contain message id .. and hence you are using variable substitution for the same.
    Temporary file name will anyways get overwritten by the actual file name (here the actual filename will be using variable substituion).
    So i suggest to achieve your scenario you can add any name in the temporary file and maintain the desired filename you require as output in the variable subsititution.
    Temporary File Name option actually acts as a lock - unlock mechanism from PI side while the file is getting written to the file server so that while PI is writting the file no third party application batch program picks it up.
    I hope this helps.
    Cheers
    Dhwani

  • Variable Substitution in Receiver File Channel

    Hi All,
    Could you kindly help me with this?
    Mine is File to File Scenario. ECC drops a XML file in AL11 directory and i send that file using FTP to a third party system. There is no mapping involved and i use ICO. I need to get a value from the payload dynamically for using it in my file name.
    When i tried to use Variable Substitution Method i get this error : VariableDataSourceException: Caught SAXException while parsing XML payload: Content is not allowed in prolog.
    This is the reference i have given in my variable substitution : payload:customerelement,1,customer,1,sender,1,dealercode,1
    and my XML structure is as below and i am trying to access the dealercode field in the XML.
    <?xml version="1.0" encoding="UTF-8"?>
    -<ns0:CustomerElement xmlns:ns0="http://www.xxxxxx.com/customer">
    <recordCount>34</recordCount>
    <Customer>
    <Sender>
    <transmitDate>ddmmyy</transmitDate>
    <dealerCode>N050</dealerCode>
    <DMSSystem>ABC</DMSSystem>
    <DMSReleaseNumber>1.0</DMSReleaseNumber>
    </Sender>

    Hi Amit,
    Yeah that is correct. But in my case the XML structure was not properly formed and i hwas frequently getting this error " Content is not allowed in Prolog" for which i tried all the solutions in SDN and nothing worked out. So i had no other option and had to go for adapter module.
    Now the issue is solved and the interface is working as expected with the adapter module.
    Thanks for your valuable inputs.
    Regards,
    Prabhu V

  • Variable substitution for csv file

    Hi Guys,
    I am using Multimapping to generate 2 target messages and finally creating these 2 messges as csv files. But i need to use variable substitution (because dynamic configuration doesnt work in multimapping) to create the target files and i need to omit this node from content.  i know if it is fixed length file we can use variable substitution and finally we can cut the variable in content conversion by using below method
    fixedLengthToodShortHandling   cut
    Note:- I am using PI7.1
    thanks,
    madhu

    You must separate variable filename from the other fields in several nodes.
    Please, analyze if you can change your scenario, with next stucture:
    <ns0:MT_MadhuMulti xmlns:ns0="http://rr.unilever.com/bconepi13">
    <Strutcture>
    <Name>Syam</Name>
    <***>FEMALE</***>
    <ID>123</ID>
    </Strutcture>
    </Strutcture>
    <Strutcture>
    <Name>Syam1</Name>
    <***>Male</***>
    <ID>789</ID>
    </Strutcture>
    <nothing>
    <Filename>EmpDetails</EmpDetails>
    </nothing>
    </ns0:MT_MadhuMulti>
    And then in your CC:
    Recordset strucutre --> Structure,nothing
    Structure.fieldSeparator --> ;
    nothing.fieldFixedLengths --> 0
    nothing.fixedLengthTooShortHandling --> Cut
    nothing.endSeparator --> '0'
    Regards,
    Carme.

Maybe you are looking for

  • Jabber Softphone issue

    I'm hoping someone can help me here. I am deploying Jabber to our 1000+ user org and there are a handful of users that have the need for Jabber softphones. I am able to setup the CSF devices just fine and the users don't have any errors when they cho

  • How to get my mail through without opening the mail app...

    Hi I have a tendancy to when ive finished using with my apps on my Mac I always go to top left and press quit itunes or quit mail etc if i do that to mail, obviously when a email comes through i dont get it straight through unless the mail program is

  • Managing Two iTunes Libraries on Windows 7

    Both of my parents recently got iPods.  They want to maintain seperate libraries, but only have one computer (running Windows 7).  I've set up thier libraries for them, but was wondering if there was a way to always prompt the user to select a librar

  • How to use "left outer join" in SQVI

    Dear ALL , I want to match MARA materials with BOM material table (MAST,STPO)material or Routing material table (MAPL,PLPO) and I want the list of NONMATCHING material codes from SQVI. How to get these items which do not match in 2 tables........? I

  • What is the best OS to run on a PowerBook 12" 1GHz?

    My PB has slowed down these days at OS 10.4.7. I'm considering wiping the drive and reinstalling the OS from scratch, but I'm wondering what the optimal OS is for this machine. Where's the sweet spot of features, speed and reliabilty for a 1GHz 12" P