System identifica​tion for open loop unstable plant?

Hello,
I have been trying to use system identification on labview. My problem is that my plant is open loop unstable and none of the tutorials or examples I have found seem to cover this so I cannot get it to work. Does anyone have any suggestions as to how I should go about it? My plant has an RC servo so it needs a PWM signal to stimulate it.
Thanks
Adam

adamkse wrote:
I want to control my plant with lead/lag control but I do not know the plant model which makes this very difficult. I cannot theoretically calculate it because the information I need to obtain a numerical transfer function or state space model is unavailable.
I have it controlled with PID at the moment but this is not ideal.
I am trying to use the system identification toolkit to obtain a transfer function but I do not know what to do because the examples do not work for open loop unstable plants.
Adam
Ok Open loop unstable functions cannot be predictably controlled (hence the terms; open loop and unstable,)  Not being able to model the actions is a bit of a problem too.
Somehow, someway you need to get some kind of model or some kind of feedback to either provide stability in the plant or close the loop.
Adding hardware (sensors) is the most likely solution.
tell me more about the plant, I do this kind of thing for a living, so I could offer some ideas. 
Jeff

Similar Messages

  • System identifica​tion for power converter

    Dear All,
                i am working on system identification  for the buck converter . for this i generated variable duty cycle with 20KHz switching frequency on analog output AO1 of usb 6221, now i want to introduce perturbation PRBS in steady state. now my problem is to add perturbation on analog output. please suggest me how to do this on analog output.
    thanks
    with regards
    gurpreet singh

    Do you want to mix some signal to your PWM signals? You can use normal add function to add your AO PWM signals with the PBRS perturbation signal.

  • RLS for system identifica​tion: problem in creating a signal + noise input.

    i have successfully implemented the RLS algorithm in labview, but i am having alot of trouble generating an input. at first i used a ptbypt sine input and wired it to my FIR Filter (win coeff ptbypt) and to my data queue (ptbypt) to generate U(n). When i plot the adjusted weights they give a perfect Sinc Function. 
    So, after this i add in a gaussian White noise VI (ptbypt) and add it's output with the output of the sine wave VI (ptbypt) and like before wire the output of the summation to the FIR Filter and the data queue point by point. The problem that is occurring is that my tap weights after becoming constant do not change. they are the same for when i enter the sine wave alone and when i enter the sine wave with the gaussina white noise, tap weights are same. they only change when i change the low cutoff of the FIR FIlter.
    its would be very much appreciated if someone may help me solve this problem i am having. I made the RLS (for system identification) as Final Year Engineering Project.

    the input is a sine wave , the sine wave passes through a system which incorporates a noise in it (we say the noise incorporated by the system is the Gaussian white noise) the corrupted input enters the system , the filter weights are adjusted by the algo, and a sine waveform is extracted filtering the noise.
    what kind of LTI system. Can you please elaborate? and i cant switch to LMS my project is RLS.

  • System Identifica​tion Assistant Signal Generator

    Hello,
    I am using a GW Instek power source to heat a graphite rod within a vacuum chamber.  I am detecting the temperature with a K type thermocouple connected to a thermocouple input module.  I have written a labview program with a PID and have everything running, yet i force tuned the PID. I would like to use the signal identification tools labview provides to identify the transfer function and model the process.  I have used the system identification assitant in attempting to send a step signal and acquire a response, yet I have been running into difficulties.  The only way I can perform a step function is to manually generate an output of a specified power and then measure the response, as the signal generator within the system identification software is not identifying the GW Instek PSW 30-108 power source. With manual input and importing both input and output data i am able to get a parametric model, yet the transfer function provide me PID values which are 5 orders of magnitude greater then the ones i am currently using. Ideally i would like to use the software to generate the signal and measure the response continuously rather then using data i collect through my program.  If possible, I would also be interested in perhaps directly integrating VI's to perform signal analysis directly into my process program.
    Problems and what I have done:
    I have the drivers for the power source and my process program recognizes the device yet system ident assist cannot find the hardware. I have attempted to creat a task in NI-MAX yet the hardware is also non-identifiable. 
    Port module input works with VISA and this is how my VI is communicating with the power source.
    Goals:
    I would like to use the system ident assist to generate power ouput and collect temperature input, and generate a process model, so that I may tune my PID more accuratly.
    Also, I may be interested in integrating VI's directly into my process program, yet I am new to the LV language...
    I have attached  my Labview program below.  I would like to thank you in advance for your time and look forward to responses.
    Cheers
    Attachments:
    Test1_RT.vi ‏186 KB

    Double post, for further Information see http://forums.ni.com/t5/LabVIEW/System-Identificat​ion-Assistant-w-o-NI-Signal-Generator/m-p/3014731#​...

  • System identifica​tion error 41263

    hi...
    can somebody please explain why i am getting an error "41263-The System Identification Toolkit cannot retrieve the data in system model because the model type you wire in is incompatible with the system model requirements. " while using model simulation vi to simulate an arx model i created using estimate arx model vi?

    Hi ajaleelp,
    Sorry for the delayed response on this, but I have a few questions for you.  Are you just receiving this error at run-time? Meaning you have no broken wires or anything, but the VI stopsat the model simulation VI?
    Also, have you tried our example for model simulation? You can find it here:
    C\program files\national instruments\labview [version]\examples\System Identification\Getting
    Started\General.llb 
    This actually uses the estimate arx and model simulation VIs. So, you should be able to see if that works, and then compare it to your system.
    Hope this helps!
    Chris Van Horn
    Applications Engineer

  • System identifica​tion miso models

    Hi,
       I want to know is it possible to identify the MISO and MIMO models using system identification toolkit?
       I m using fieldpoint 2010. The program is running very slow inside the fieldpoint. so is it possible to divide the program in such a way that few compuations(which are less critical)  run inside the  computer and few inside the fieldpoint?
    Regards,
    Sai

    Hi Ruser,
     LabVIEW System Identification toolkit provides SI Convert to Models of CDT VI to convert a model you created in the LabVIEW System Identification Toolkit into a transfer function, zero-pole-gain, or state-space model that you can use with the LabVIEW Control Design and Simulation Module.

  • Nonlinear system identifica​tion using neural network (black box model)

     Hello, my thesis work is based on "suface EMG- angular acceleration modeling using different system identification techniques"......can anyone help me in doing nonlinear system identification using neural network...

    Well, look at that.  I actually had this problem before--and SOLVED it before!  [facepalm]  I'd forgotten all about it....
    https://bbs.archlinux.org/viewtopic.php?id=140151
    I just added "vmalloc=256" to my linux line, and X started right up!
    [edit] Well, mythtv had the solution, as well:  http://www.mythtv.org/wiki/Common_Probl … _too_small
    Last edited by wilberfan (2012-11-05 19:38:06)

  • Reg:T-CODE for open and close period for materials(new plant).

    hi sap guru's
    T-code for following process
        can anybody send me , how to create calendar to new plant . and what is the T-code to be use for open and close period of materials for new plant.
    thanks
    sakthi..

    Hi Sakthi,
    I am assuming that you are asking about the factory calendars which are assigned while difing the plant.
    Factory calendars are created through transaction "SCAL".
    Opening and closing of MM periods can be done through transaction MMPV.This is based on the company code.Before using MMPV ,you can look the last opened period in the transaction MMRV.
    Reward points if it helps.
    Regards
    Karan

  • New Report for Opens Sales order and P.O from Plant and S.Loc

    Dear Gurus
    We have repory requiement for Open sales order and P.O to deliver from particular plant and S.Loc.
    If you have already developed this kiond of report help me inthis case.
    Thanks
    ramki

    closed

  • Is the Hitachi AXM209UKR Slim Micro System with docking for iPod compatible with the iPhone 4 (Xmas present bought for me)? Need to know before I open box ����. Thanks all Merry Christmas!

    Is the Hitachi AXM209UKR Slim Micro System with docking for iPod compatible with the iPhone 4 (Xmas present bought for me)? Need to know before I open box   . Thanks all Merry Christmas!

    Not to worry took back to store and got one that works with ipad2 as well  

  • Plant a match code for opening a project

    Hi All,
    I am trying to develope a match code of Plant for opening a project. Such that a list of projects to come out after entering a plant then select a project and then open a project like PO by supplying plant. I have gone through SPRO that is OPT2 match codes for Project definitions. But not found ready made match code to be included.
    Is ther any easy way other ABAP use? or give logic how to deveope it.
    Thanks and regards

    Hi
    If you mean opening a project in standard reports like CN41, it would be easier to use "dynamic selection option" and hard code the plant, and then save the selection version.
    Everytime, you want to open projects in the respective plant, you can call the selection version in the initial screen of the report.
    Hope it helps.
    Regards
    Srikrishna

  • Difference between open loop and closed loop mode when finding the index on a stepper motor axis.

    I have a test system which uses a PXI-7352 motion controller with a MID-7602 stepper motor drive to position a 200 step/revolution stepper motor with an attached 1000 line encoder.  The MID-7602 is configured for 64 microsteps per step, giving 12,800 microsteps and 4000 encoder counts per revolution.  The system is controlled using LabView 7.1 and NI-Motion 6.13.  To home the motor, I've defined a sequence in MAX which first finds the reverse limit switch and then moves forward to the encoder index pulse.
    When finding its reference in open loop mode, the system its reference at the same microstep each time.  When findings its reference in closed loop mode, the system finds its reference somewhere within about a 20 microstep wide range.
    I hope somebody out there with more experience with this controller can describe the difference between finding the encoder index in open loop mode and finding the encoder index in closed loop mode. 
    Thanks,
    Mark Moss

    Hello Mark,
    I suspect that the behavior you are experiencing has today
    with the resolution difference between your encoder and your
    microstepping.  Let me illustrate with an
    example:
    Example Setup
    Stepper
    Motor
    NI
    Motion Controller
    10
    steps per encoder pulse (Every 10 steps the controller gets an encoder
    pulse, therefore positions 0-9 all appear to be 0 to the controller)
    The
    system has a maximum of 3 pull in moves set
    Open Loop Scenario
    The
    system is commanded to go to position 9.
    The
    controller sends out 9 pulses.
    The
    motor moves to position 9.
    Closed Loop Scenario
    The
    system is commanded to go to position 9.
    The
    controller sends out 9 pulses.
    The
    motor moves to position 9.
    The
    controller checks its position and sees that it is still at position 0
    because it has not received an encoder pulse.
    Because
    the controller thinks it is still at position 0, it sends another 9 pulses
    as its first pull in move.
    The
    motor moves to position 18.
    The
    controller checks its position and sees that it is at position 10 because
    it has only received one encoder pulse.
    Because
    the controller thinks it is still at position 10, it sends1 reverse pulse
    as its second pull in move.
    The
    motor moves to position 17.
    The
    controller checks its position and sees that it is at position 10 because
    it has only received one encoder pulse.
    Because
    the controller thinks it is still at position 10, it sends and additional
    single reverse pulse as its third pull in move.
    The
    motor moves to its final position of 16.
    I believe something similar is happening with your
    application as it looks for the index pulse. 
    Because the controller does not compensate for what it perceives as
    position error in open loop mode, the motor always goes to the same commanded
    position.  In closed loop mode, the motor
    is bouncing around inside the single index encoder pulse trying to find a
    certain position.
    There are several recommendations I can make towards
    correcting this behavior.  These
    recommendations are in order of effectiveness:
    Setup
    your system so that there are more encoder counts per revolution than
    steps per revolution.
    Turn
    off pull-in moves by setting them to 0 in MAX.
    Use an
    open loop configuration.
    Play
    around with the pull in window in MAX.
    Regards,
    Luke H

  • System can't find apple loops (accidentally pressed Re-index button)

    Hi, I installed some new loops lately but because the installation was not successful, when i tried to listen to one of the loops (which was not properly installed) an option came up asking me if i wanted to re-index my loops. I accidentally pressed it, but when system prompted me for my password to continue, i clicked cancelled.
    Now, when i next startup Logic Express a window pops up saying There are No Apple Loops installed on your system, please re-install the apple loop package.
    What should I do now?
    Please help. I am feeling so exasperated

    Hi Rob
    Thanks so much for your prompt response. This is really bizarre.. now when i open Logic Express, I see some loops in there and the msg that appeared earlier (that no loops are found) no longer shows.
    I havent done anything since my last post so i do not know why the situation changed on my lapto.
    However I do notice some loops are missing.. when i look into HardDisk -> Library --> Apple --> Apple Loops, i noticed my Jam Pack Rhythm Folder is no longer there.. yet, when i play projects which utilize loops from Jam Pack Rhythm, they play ok, which makes me wonder if the folder has simply gone somewhere, or i have to reinstall them.
    Help
    Thanks so much!!

  • Data Migration for Open Purchase Order

    Hi, All,
    Is there anyone know how to Count the volume for Open Purchase Order. What's the normal strategy for the Data Migration and Cut-over stage?
    My client want to know how many Open Purchase Order in the legacy system and then determine manual or automatic data migration. If manual, how to do? If automatic, how to do? Because all materials and vendors, plants are different number. How to track? How to find out to match between new and old?
    Thank you very much

    JC,
    Sounds a bit early to be making decisions about the realization phase.  It doesn't sound like you have finished the Blueprinting phase yet, much less the testing phase.
    Anyhow, in my experience I typically use LSMW (Legacy system migration workbench) to load MM master data (material masters), Inventory (WIP, RM, FG, etc) Purchasing Master data (Vendors, Purchase Info Records, Source Lists, Quota Arrangements), and Purchasing transactional documents (POs, PurReqs, Scheduling Agreements, etc).  Depending on the complexity and volume of data, it  may be necessary to write custom programs to load the data.  You will find this out during your requirements gathering.
    It is uncommon but possible to load all of these data manually.  I have never run across a client that wants to pay a consultant's hourly rate to sit at a terminal to peck away loading master data, so if the client intends to have his own users enter the data manually, the project manager should make provision that there will be qualified TRAINED client employees available for this data entry.  I did help with a portion of a conversion once manually; of Sales Credits, but there were only about 30 SD docs to load.   I did this the evening before go-live day, while I was waiting for some of my LSMW projects to complete in the background.
    A good opportunity to 'practice' your data loads is right after you have completed your development and customization, and you have gotten the approval from the client to proceed from the pilot build to the full test environment.  Once you have moved your workbench and customization into the client's test environment, but before integration testing, you can mass load all, or a substantial portion of your conversion data into the qual system.  You can treat it like a dry run for go-live, and fine tune your processes, as well as your LSMW projects.
    Yes, it is good practice to generate comparisons between legacy and SAP even if the client doesn't ask for it. For Purchase orders on the SAP side, you could use any of the standard SAP Purchasing reports, such as ME2W, ME2M, ME2C, ME2L, ME2N.  If these reports do not meet the requirements of the client, you could write a query to display the loaded data, or have an ABAPer write a custom report.
    You didn't ask, but you should also do comparisons of ALL loaded data - including master data.
    It sounds like you are implying that the client wants YOU to extract the legacy data.  For an SAP consultant, this is not very realistic (unless the legacy system is another SAP system).  Most of us do not understand the workings of the myriad legacy systems.  The client is usually expected to produce one or more legacy system technical experts for you to liase with.  You normally negotiate with the technical expert about every facet of of the data migration.  In addition, you will liase with business users, who will help you and the implementation team to logically validate that the final solution (turnkey SAP production system, fully loaded with data) will meet the client's business needs.
    Finally, you mentioned how do you track the mapping of master data between legacy and SAP.  There are many ways to do this.  I normally try to get the legacy person do the conversion on his end, eg, when he gives you the load file, you would like to have already translated the master data and inserted the SAP relevant values into the file.  If this is not possible, I usually use MS Access databases to maintain a master map, and I perform the mapping on a PC.  If your data package is small, you can probably get by using MS Excel or similar.
    Good Luck,
    DB49

  • Bapi for open PO

    Hi!
    Can anyone let me know where to find the bapi for open po and how to use it in my report program.
    Thanks in advance.
    Note: Mr Anji Reddy vangala has answered me for which iam very much thankful to him, but i need to know about the concerned bapi.
    Regards,
    Parwez.

    Hi,
    Refer the sample code below which creats PO using BAPI_PO_CREATE1.
    Hope this helps your querry.
    *& Report  YDM_PO_CREATE                                               *
    REPORT  ydm_po_create.
    *-- Input File Declaration
    TYPES: BEGIN OF ty_input_file,
           column1 TYPE char50,
           column2 TYPE char50,
           column3 TYPE char50,
           column4 TYPE char50,
           column5 TYPE char50,
           column6 TYPE char50,
           column7 TYPE char50,
           column8 TYPE char50,
           column9 TYPE char50,
           column10 TYPE char50,
           column11 TYPE char50,
           column12 TYPE char50,
           column13 TYPE char50,
           column14 TYPE char50,
           column15 TYPE char50,
           column16 TYPE char50,
           column17 TYPE char50,
           column18 TYPE char50,
    END OF ty_input_file.
    DATA: i_input_file  TYPE STANDARD TABLE OF ty_input_file,
          wa_input_file TYPE ty_input_file.
    CONSTANTS: c_path     TYPE char20 VALUE 'C:\',
               c_mask     TYPE char9  VALUE ',*.*,*.*.',
               c_mode     TYPE char1  VALUE 'O',
               c_filetype TYPE char10 VALUE 'ASC',
               c_x        TYPE char01 VALUE 'X'.
    PARAMETERS : p_fname   LIKE rlgrap-filename.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
    *-- Browse Presentation Server
      PERFORM f4_presentation_file.
    START-OF-SELECTION..
    *-- Read presentation server file
      PERFORM f1003_upload_file.
      IF NOT i_input_file[] IS INITIAL.
        PERFORM split_data.
      ENDIF.
    *&                  Form  f4_presentation_file
    *&                F4 Help for presentation server
    FORM f4_presentation_file .
      CALL FUNCTION 'WS_FILENAME_GET'
        EXPORTING
          def_path         = c_path
          mask             = c_mask
          mode             = c_mode
          title            = text-001
        IMPORTING
          filename         = p_fname
        EXCEPTIONS
          inv_winsys       = 1
          no_batch         = 2
          selection_cancel = 3
          selection_error  = 4
          OTHERS           = 5.
      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.                    " f4_presentation_file
    *&                      Form  f1003_upload_file
    *&                         Upload File
    FORM f1003_upload_file .
      DATA: lcl_filename TYPE string.
      lcl_filename = p_fname.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                = lcl_filename
          filetype                = c_filetype
          has_field_separator     = c_x
        TABLES
          data_tab                = i_input_file
        EXCEPTIONS
          file_open_error         = 1
          file_read_error         = 2
          no_batch                = 3
          gui_refuse_filetransfer = 4
          invalid_type            = 5
          no_authority            = 6
          unknown_error           = 7
          bad_data_format         = 8
          header_not_allowed      = 9
          separator_not_allowed   = 10
          header_too_long         = 11
          unknown_dp_error        = 12
          access_denied           = 13
          dp_out_of_memory        = 14
          disk_full               = 15
          dp_timeout              = 16
          OTHERS                  = 17.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        EXIT.
      ENDIF.
    ENDFORM.                    " f1003_upload_file
    *&      Form  split_data
          Collect data for creating Purchase Order
    FORM split_data .
      DATA: i_poitem        TYPE STANDARD TABLE OF bapimepoitem,
            i_poitemx       TYPE STANDARD TABLE OF bapimepoitemx,
            i_poitem_sch    TYPE STANDARD TABLE OF bapimeposchedule,
            i_poitem_schx   TYPE STANDARD TABLE OF bapimeposchedulx,
            i_acct_***      TYPE STANDARD TABLE OF bapimepoaccount,
            i_acct_assx     TYPE STANDARD TABLE OF bapimepoaccountx,
            i_services      TYPE STANDARD TABLE OF bapiesllc ,
            i_srvacc        TYPE STANDARD TABLE OF bapiesklc,
            i_return        TYPE STANDARD TABLE OF bapiret2,
            wa_header       TYPE bapimepoheader,
            wa_headerx      TYPE bapimepoheaderx,
            wa_poitem       TYPE bapimepoitem,
            wa_poitemx      TYPE bapimepoitemx,
            wa_poitem_sch   TYPE bapimeposchedule,
            wa_poitem_schx  TYPE bapimeposchedulx,
            wa_acct_***     TYPE bapimepoaccount,
            wa_acct_assx    TYPE bapimepoaccountx,
            wa_services     TYPE bapiesllc,
            wa_srvacc       TYPE bapiesklc,
            wa_return       TYPE bapiret2,
            ws_po           TYPE bapimepoheader-po_number.
      break gbpra8.
      wa_services-pckg_no = 10.
      wa_services-line_no = 1.
      wa_services-outl_no = '0'.
      wa_services-outl_ind = c_x.
      wa_services-subpckg_no = 20.
      APPEND wa_services TO i_services.
      wa_srvacc-pckg_no = 10.
      wa_srvacc-line_no = 1.
      wa_srvacc-serno_line = 01.
      wa_srvacc-serial_no = 01.
      wa_srvacc-percentage = 100.
      APPEND wa_srvacc TO i_srvacc.
      LOOP AT i_input_file INTO wa_input_file.
        IF wa_input_file-column2 EQ 'HD'.
          wa_header-doc_type = wa_input_file-column3.
          wa_header-creat_date = sy-datum.
          wa_header-created_by = sy-uname.
          wa_header-vendor = wa_input_file-column4.
          PERFORM conversion_output USING wa_header-vendor
                                    CHANGING wa_header-vendor.
          wa_header-comp_code = 'DE03'.
          wa_header-purch_org = 'DE03'.
          wa_header-pur_group = 'DE1'.
          wa_header-vper_start = wa_input_file-column9.
          wa_header-vper_end = wa_input_file-column10.
          wa_headerx-comp_code = c_x.
          wa_headerx-doc_type = c_x.
          wa_headerx-creat_date = c_x.
          wa_headerx-created_by = c_x.
          wa_headerx-vendor = c_x.
          wa_headerx-purch_org = c_x.
          wa_headerx-pur_group = c_x.
          wa_headerx-vper_start = c_x.
          wa_headerx-vper_end = c_x.
        ENDIF.
        IF wa_input_file-column2 EQ 'IT'.
          wa_poitem-po_item = wa_input_file-column3.
          wa_poitem-short_text = wa_input_file-column6.
          wa_poitem-plant = wa_input_file-column8.
          wa_poitem-quantity = '1'.
          wa_poitem-tax_code = 'V0'.
          wa_poitem-item_cat = 'D'.
          wa_poitem-acctasscat = 'K'.
          wa_poitem-matl_group = wa_input_file-column7.
          wa_poitem-pckg_no = '10'.
          APPEND wa_poitem TO i_poitem .
          wa_poitemx-po_item = wa_input_file-column3.
          wa_poitemx-po_itemx = c_x.
          wa_poitemx-short_text = c_x.
          wa_poitemx-plant = c_x.
          wa_poitemx-quantity = c_x.
          wa_poitemx-tax_code = c_x.
          wa_poitemx-item_cat = c_x.
          wa_poitemx-acctasscat = c_x.
          wa_poitemx-matl_group = c_x.
          wa_poitemx-pckg_no = c_x.
          APPEND wa_poitemx TO i_poitemx.
          wa_poitem_sch-po_item = wa_input_file-column3.
          wa_poitem_sch-delivery_date = sy-datum.
          APPEND wa_poitem_sch TO i_poitem_sch.
          wa_poitem_schx-po_item = wa_input_file-column3.
          wa_poitem_schx-po_itemx = c_x.
          wa_poitem_schx-delivery_date = c_x.
          APPEND wa_poitem_schx TO i_poitem_schx.
          wa_acct_***-po_item = 10.
          wa_acct_***-serial_no = 01.
          wa_acct_***-gl_account = '0006360100'.
          wa_acct_***-co_area  = '1000'.
          wa_acct_***-costcenter = 'KC010000'.
          APPEND wa_acct_*** TO i_acct_***.
          wa_acct_***-po_item = 10.
          wa_acct_***-serial_no = 02.
          wa_acct_***-gl_account = '0006360100'.
          wa_acct_***-co_area  = '1000'.
          wa_acct_***-costcenter = 'KC010000'.
          APPEND wa_acct_*** TO i_acct_***.
          wa_acct_assx-po_item = 10.
          wa_acct_assx-serial_no = 01.
          wa_acct_assx-po_itemx = c_x.
          wa_acct_assx-serial_nox = c_x.
          wa_acct_assx-gl_account = c_x.
          wa_acct_assx-co_area  = c_x.
          wa_acct_assx-costcenter = c_x.
          APPEND wa_acct_assx TO i_acct_assx.
          wa_acct_assx-po_item = 10.
          wa_acct_assx-serial_no = 02.
          wa_acct_assx-po_itemx = c_x.
          wa_acct_assx-serial_nox = c_x.
          wa_acct_assx-gl_account = c_x.
          wa_acct_assx-co_area  = c_x.
          wa_acct_assx-costcenter = c_x.
          APPEND wa_acct_assx TO i_acct_assx.
          wa_services-pckg_no = 20.
          wa_services-line_no = 2.
          wa_services-service = wa_input_file-column9.
          wa_services-quantity = '100'.
          wa_services-gr_price = '100'.
          wa_services-userf1_txt = wa_input_file-column13.
          APPEND wa_services TO i_services.
          wa_srvacc-pckg_no = 20.
          wa_srvacc-line_no = 1.
          wa_srvacc-serno_line = 02.
          wa_srvacc-serial_no = 02.
          wa_srvacc-percentage = 100.
          APPEND wa_srvacc TO i_srvacc.
        ENDIF.
      ENDLOOP.
      CALL FUNCTION 'BAPI_PO_CREATE1'
        EXPORTING
          poheader                     = wa_header
          poheaderx                    = wa_headerx
      POADDRVENDOR                 =
      TESTRUN                      =
      MEMORY_UNCOMPLETE            =
      MEMORY_COMPLETE              =
      POEXPIMPHEADER               =
      POEXPIMPHEADERX              =
      VERSIONS                     =
      NO_MESSAGING                 =
      NO_MESSAGE_REQ               =
      NO_AUTHORITY                 =
      NO_PRICE_FROM_PO             =
       IMPORTING
         exppurchaseorder             = ws_po
      EXPHEADER                    =
      EXPPOEXPIMPHEADER            =
       TABLES
         return                       = i_return
         poitem                       = i_poitem
         poitemx                      = i_poitemx
      POADDRDELIVERY               =
         poschedule                   = i_poitem_sch
         poschedulex                  = i_poitem_schx
         poaccount                    = i_acct_***
      POACCOUNTPROFITSEGMENT       =
         poaccountx                   = i_acct_assx
      POCONDHEADER                 =
      POCONDHEADERX                =
      POCOND                       =
      POCONDX                      =
      POLIMITS                     =
      POCONTRACTLIMITS             =
         poservices                   = i_services
         posrvaccessvalues            = i_srvacc
      POSERVICESTEXT               =
      EXTENSIONIN                  =
      EXTENSIONOUT                 =
      POEXPIMPITEM                 =
      POEXPIMPITEMX                =
      POTEXTHEADER                 =
      POTEXTITEM                   =
      ALLVERSIONS                  =
      POPARTNER                    =
      break gbpra8.
      LOOP AT i_return INTO wa_return.
      ENDLOOP.
    ENDFORM.                    " split_data
    *&      Form  conversion_output
          Conversion exit input
    FORM conversion_output  USING    p_ip
                            CHANGING p_op.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = p_ip
        IMPORTING
          output = p_op.
    ENDFORM.                    " conversion_output
    <b>Reward points if this helps.
    Manish</b>

Maybe you are looking for

  • In-apps purchase error

    Dear All, I purchased an in-apps from a company which have already charged my card but yet i have wait for a week but i still haven not getting the item in the games so i contact the company and they replied me request apple to refund due to their si

  • X6 software update 21.0.004

    Has anybody noticed loosing any existing features after updating to SW version 21.0.004  such as  sensors on turn,scilence and rotate. Solved! Go to Solution.

  • Adding multiple dissolves.

    I am running FCP 5. I have a time lapse sequence of 419 11 frame long stills. I want to dissolve between all of them. How do I quickly put in 419 dissolves without doing each one individually? I have done it before but cannot recall how.

  • Error message at Community Publishing sign-in

    I am getting error message There are no document templates for the email address (Adobe ID) you provided. Please contact [email protected] when running Adobe Community Publishing (Beta), I can not sign in.

  • How do i add a smaller video into the corner of a full-screened video?

    i had a video all ready and running and what-not and i wanted to add another video into the corner of it to show a different angle. how can i do this with premiere cs6?